Commit Graph

443458 Commits

Author SHA1 Message Date
Arthur Eubanks f976a2d244 [NFC][opt] Move some cl::opts into the only file they're used in 2022-11-28 10:57:57 -08:00
Luke Nihlen afd800fc56 [clang] Require parameter pack to be last argument in concepts.
Fixes GH48182.
2022-11-28 18:40:19 +00:00
Erich Keane 9061928ebb Stop accepting 'bool' in a concept declaration as an extension.
We no longer support the concepts-ts flag for this release, so stop
supporting this concepts-ts compat extension as well.
2022-11-28 10:22:54 -08:00
Aaron Ballman c9d38bd713 Remove this type from Parser.h; NFC
TypeVector is only used once and isn't used in any interfaces, so this
removes the typedef.
2022-11-28 13:12:34 -05:00
Philip Reames 5583972fe1 [RISCV] Simplify eliminateFrameIndex in advance of reuse [nfc-ish]
The prior code intermixed several concerns - the actual materialization of the offset, the choice of destination register, and whether to prune the ADDI. This version factors the first part out, and then reasons only about the later two. My intention is to merge the adjustReg routine with the one from frame lowering, and then explore using the merged result to simplify frame setup and tear down.

This change is conceptually NFC, but since it results in slightly different vreg usage, the end result can change register allocation in minor ways.

Differential Revision: https://reviews.llvm.org/D138502
2022-11-28 10:09:37 -08:00
Simon Pilgrim f51170bffd [X86] Fix SLM ldmxcsr/stmxcsr schedule classes
Fix a long standing FIXME comment using a mixture of llvm-exegesis and Agner numbers
2022-11-28 17:43:17 +00:00
Arthur Eubanks d620bae999 [opt][NFC] Simplify GetCodeGenOptLevel()
Removed code is unreachable after D137663.
2022-11-28 09:30:54 -08:00
Ayke van Laethem 5527b21516
[AVR] Do not use R0/R1 on avrtiny
This patch makes sure the compiler uses R16/R17 on avrtiny (attiny10
etc) instead of R0/R1.

Some notes:

  * For the NEGW and ROLB instructions, it adds an explicit zero
    register. This is necessary because the zero register is different
    on avrtiny (and InstrInfo Uses lines need a fixed register).
  * Not entirely sure about putting all tests in features/avr-tiny.ll,
    but it doesn't seem like the "target-cpu"="attiny10" attribute
    works.

Updates: https://github.com/llvm/llvm-project/issues/53459

Differential Revision: https://reviews.llvm.org/D138582
2022-11-28 18:05:55 +01:00
Philip Reames db07d79ab0 [RISCV] Add cost model for integer and float vector arithmetic instructions.
This patch implements getArithmeticInstrCost for RISCV, supports cost
model for integer and float vector arithmetic instructions.

Differential Revision: https://reviews.llvm.org/D133552 (Original patch by jacquesguan.  Subset by me with todos added.)
2022-11-28 09:04:38 -08:00
Florian Hahn 6a834d2f2b
[ConstraintElim] Use collectOffset instead of custom GEP idx iteration.
Use collectOffset to collect scaled indices and constant offset for GEP
instead of custom code. This simplifies the logic in decomposeGEP and
allows to handle all cases supported by the generic helper.
2022-11-28 16:54:58 +00:00
Matt Arsenault 8e0fadda10 AMDGPU: Bulk update all GlobalISel tests to use opaque pointers 2022-11-28 11:51:36 -05:00
Nicola Lancellotti 7bbfc6cd8c [AArch64] Add patterns for SVE predicated add/sub and mov combine
Differential Revision: https://reviews.llvm.org/D138570
2022-11-28 16:37:30 +00:00
Nicola Lancellotti 1884ada741 [AArch64] Pre-commit test for "Add patterns for SVE predicated add/sub and mov combine" 2022-11-28 16:37:30 +00:00
Nicola Lancellotti 49cd18c55e Revert "[AArch64] Canonicalize ZERO_EXTEND to VSELECT"
This reverts commit 43fe14c056.
2022-11-28 16:37:30 +00:00
Valentin Clement 1ea66eefec
[flang] Adapt target rewrite for fir.dispatch operation
Handle rewriting dispatch operation with complex arguments or
return.

sret will be done in a separate patch.

Reviewed By: jeanPerier, PeteSteinfeld

Differential Revision: https://reviews.llvm.org/D138820
2022-11-28 17:36:03 +01:00
Simon Pilgrim c65d5d4aec [X86] Remove unnecessary (V)?PBLENDW(Y)?rm overrides
The znver1/znver2 overrides shouldn't need 2uops for the xmm case (but znver1 should double-pump for the ymm case).

Found with the help of D138359
2022-11-28 16:32:55 +00:00
Florian Hahn 0fa666eced
[VPlan] Add VPDerivedIVRecipe, use for VPScalarIVStepsRecipe.
This patch splits off the logic to transform the canonical IV to a
a value for an induction with a different start and step. This
transformation only needs to be done once (independent of VF/UF) and
enables sinking of VPScalarIVStepsRecipe as follow-up.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D133758
2022-11-28 16:32:31 +00:00
Matt Arsenault da0293e3cc AMDGPU: Bulk update some r600 tests to opaque pointers
r600.amdgpu-alias-analysis.ll has something strange going on where
AliasAnalyisEvaluator's printing is reproducing the typed pointer
syntax.
2022-11-28 11:25:44 -05:00
Joseph Huber 37edd91047 [OpenMP] Do not add wrapper headers if using '-nogpuinc'
The OpenMP offloading toolchain uses wrapper headers to implement some
standard features on the GPU. Currently there is no way to turn these
off without also disabling all the standard includes altogether. This
patch makes `-nogpuinc` apply to these wrapper headers so we can use a
sterile toolchain. This was causing problems when attempting to compile
a `libc` for the GPU using OpenMP.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D138598
2022-11-28 10:20:31 -06:00
Louis Dionne 609b95cea1 [libc++] Remove CMake workaround for the discontinued Projects build
Differential Revision: https://reviews.llvm.org/D138801
2022-11-28 11:10:52 -05:00
Louis Dionne b95379d20e [libc++][NFC] Add assertions before calling memmove
Since we're checking preconditions for calling memmove, we might
as well do that properly.

Differential Revision: https://reviews.llvm.org/D138798
2022-11-28 11:10:04 -05:00
OCHyams 9517806064 Revert "[Assignment Tracking][13/*] Account for assignment tracking in SROA"
This reverts commit e16d59973f.

Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/236/builds/1205
2022-11-28 16:07:34 +00:00
OCHyams 5e0b29bf23 Revert "[Assignment Tracking][SROA] Follow-up for failing test"
This reverts commit 285d46ef4b.

Failing buildbot:
https://lab.llvm.org/buildbot/#/builders/236/builds/1205
2022-11-28 16:07:34 +00:00
bixia1 aedf5d5831 [mlir][sparse] Improve concatenate operator rewriting for dense tensor results.
Reviewed By: Peiming

Differential Revision: https://reviews.llvm.org/D138465
2022-11-28 07:56:01 -08:00
Valentin Clement afb34cf307
[flang] Hanlde disptach op in abstract result pass
Update the call conversion pattern to support fir.dispatch
operation as well. The first operand of fir.dispatch op is always the
polymoprhic object. The pass_arg_pos attribute needs to be shifted when
the result is added as argument.

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D138799
2022-11-28 16:49:51 +01:00
Matt Arsenault 50caf6936b AMDGPU: Convert promote alloca tests to opaque pointers 2022-11-28 10:36:38 -05:00
Matt Arsenault b3df889b71 AMDGPU: Convert test to generated checks
These checks were too thin to begin with, and required slightly
trickier updates for opaque pointers.
2022-11-28 10:35:29 -05:00
Matt Arsenault 8f071fecfe AMDGPU: Use named values in a test
As always, these were an obstacle to test updates.
2022-11-28 10:35:29 -05:00
bipmis ee53abb070 Add more tests for Reverse Load and AA testing 2022-11-28 15:34:26 +00:00
Nicolas Vasilache 0650e1bcc0 [mlir][vector] Fix folding of vector.extract from vector.broadcast
This revision fixes a bug in the vector.extract folding that was missing
handling the "dim-1" broadcasting case in vector.broadcast.

Differential Revision: https://reviews.llvm.org/D138804
2022-11-28 07:17:31 -08:00
Thomas Köppe 846b676766 SmallVector: Declare explicit instantiations.
This was an ODR violation
2022-11-28 16:10:35 +01:00
Matt Arsenault c1710e7779 AMDGPU: Use modern address spaces in some tests
This was way out of date, still using 4 for generic and 0 for private.
2022-11-28 10:05:06 -05:00
Qiongsi Wu f946c70130 [SLPVectorizer] Do Not Move Loads/Stores Beyond Stacksave/Stackrestore Boundaries
If left unchecked, the SLPVecrtorizer can move loads/stores below a stackrestore. The move can cause issues if the loads/stores have pointer operands from `alloca`s that are reset by the stackrestores. This patch adds the dependency check.

The check is conservative, in that it does not check if the pointer operands of the loads/stores are actually from `alloca`s that may be reset. We did not observe any SPECCPU2017 performance degradation so this simple fix seems sufficient.

The test could have been added to `llvm/test/Transforms/SLPVectorizer/X86/stacksave-dependence.ll`, but that test has not been updated to use opaque pointers. I am not inclined to add tests that still use typed pointers, or to refactor `llvm/test/Transforms/SLPVectorizer/X86/stacksave-dependence.ll` to use opaque pointers in this patch. If desired, I will open a different patch to refactor and consolidate the tests.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D138585
2022-11-28 10:00:29 -05:00
chenglin.bi 617be4f37b [InstSimplify] Add precommit tests for select+or patterns; NFC 2022-11-28 22:58:39 +08:00
Corentin Jabot 9fec67483d Encode columnWidthUTF8 tests as UTF-8 sequences.
Some platforms do not encode string literals as UTF-8
when building llvm
2022-11-28 15:56:12 +01:00
Matt Arsenault ff37529298 GCOVProfiling: Convert tests to opaque pointers
function-numbering.ll was a special case where the checks are for a
new function which does have unnecessary GEPs with 0 indices.
2022-11-28 09:50:37 -05:00
Matt Arsenault 1f45517f37 InstMerge: Convert tests to opaque pointers 2022-11-28 09:49:08 -05:00
Matt Arsenault 7dc1009d13 llvm-split: Convert tests to opaque pointers
global.ll and scc-const-alias.ll needed some manual fixups; the script
seems to not correctly deal with constantexpr bitcasts.
2022-11-28 09:48:21 -05:00
Matt Arsenault 92adfdba4e NameAnonGlobals: Convert tests to opaque pointers 2022-11-28 09:35:58 -05:00
Matt Arsenault ebdf5aefcb FunctionSpecialization: Convert tests to opaque pointers 2022-11-28 09:35:48 -05:00
Matt Arsenault 60ea938ec0 IndirectBrExpand: Convert test to opaque pointers 2022-11-28 09:35:37 -05:00
Matt Arsenault 4b53f86670 GuardWidening: Convert tests to opaque pointers 2022-11-28 09:35:27 -05:00
Matt Arsenault 631432a3f5 IRCE: Convert tests to opaque pointers 2022-11-28 09:35:16 -05:00
Matt Arsenault 5c6453eb18 PlaceSafepoints: Convert tests to opaque pointers 2022-11-28 09:35:04 -05:00
Matt Arsenault c59229bbad RelLookupTableConverter: Convert tests to opaque pointers 2022-11-28 09:34:56 -05:00
Matt Arsenault afeaf279d3 StripSymbols: Convert tests to opaque pointers 2022-11-28 09:34:38 -05:00
Matt Arsenault ceed9db4cf SyntheticCountsPropagation: Convert tests to opaque pointers 2022-11-28 09:34:34 -05:00
Matt Arsenault 8dc14a3bc0 TailCallElim: Convert tests to opaque pointers
This was painless and all converted by the script fine.
2022-11-28 09:34:26 -05:00
Matt Arsenault e87afb9730 BoundsChecking: Convert tests to opaque pointers 2022-11-28 09:32:23 -05:00
Matt Arsenault 40a45bfe32 PoisonChecking: Convert tests to opaque pointers 2022-11-28 09:32:15 -05:00