llvm-project/llvm/test/Transforms
Craig Topper 3ad8fbd205 [Reassociate] Teach ConvertShiftToMul to preserve nsw flag if the shift amount is not bitwidth - 1.
Multiply and shl have different signed overflow behavior in
some cases. But it looks like we should be ok as long as the
shift amount is less than bitwidth - 1.

Alive2: http://volta.cs.utah.edu:8080/z/MM4WZP

Differential Revision: https://reviews.llvm.org/D81189
2020-06-04 14:51:34 -07:00
..
ADCE [ADCE] Fix incorrect reporting of CFG changes 2020-04-14 20:26:13 +07:00
AddDiscriminators
AggressiveInstCombine [AggressiveInstCombine] Add test with baseline CHECKs for aggressive inst combine for ICmp instruction. 2020-02-12 15:09:38 +02:00
AlignmentFromAssumptions [AlignmentFromAssumptions] Fix a SCEV assertion resulting from address space differences. 2020-03-29 01:26:31 -05:00
ArgumentPromotion AllocaInst should store Align instead of MaybeAlign. 2020-05-16 14:53:16 -07:00
AtomicExpand Handle part-word LL/SC in atomic expansion pass 2020-04-28 10:07:39 -05:00
Attributor Reland [X86] Codegen for preallocated 2020-05-20 11:25:44 -07:00
BDCE
BlockExtractor Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""" 2020-02-13 10:16:06 -08:00
BranchFolding
CallSiteSplitting [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
CalledValuePropagation
CanonicalizeAliases
CanonicalizeFreezeInLoops [TargetPassConfig] Add CanonicalizeFreezeInLoops before LSR 2020-05-28 05:21:12 +09:00
CodeExtractor [CodeExtractor] Fix extraction of a value used only by intrinsics outside of region 2020-04-25 11:44:47 +03:00
CodeGenPrepare [x86][CGP] try to hoist funnel shift above select-of-splats 2020-05-16 10:44:47 -04:00
ConstProp [ConstProp] Add test for bitcast to gep fold; NFC 2020-03-04 18:27:20 +01:00
ConstantHoisting
ConstantMerge
Coroutines CoroSplit: Fix coroutine splitting for retcon and retcon.once 2020-06-03 12:10:58 -07:00
CorrelatedValuePropagation StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
CrossDSOCFI
DCE Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
DeadArgElim Preserve DbgLoc when DeadArgumentElimination rewrites a 'ret'. 2020-05-29 10:00:33 -07:00
DeadStoreElimination [DSE] Remove noop stores in MSSA. 2020-05-30 09:57:30 -07:00
DivRemPairs [ValueTracking] Fix crash in isGuaranteedNotToBeUndefOrPoison when V is in an unreachable block 2020-05-13 10:16:47 +09:00
EarlyCSE [EarlyCSE] Common gc.relocate calls. 2020-06-02 12:25:43 +03:00
EliminateAvailableExternally
EntryExitInstrumenter [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
ExpandMemCmp [ExpandMemCmp] Allow overlaping loads in the zero-relational case. 2020-04-02 11:20:47 +02:00
FixIrreducible FixIrreducible: don't crash when moving a child loop 2020-04-22 07:47:30 +05:30
Float2Int
ForcedFunctionAttrs
FunctionAttrs Reland [X86] Codegen for preallocated 2020-05-20 11:25:44 -07:00
FunctionImport Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""" 2020-02-13 10:16:06 -08:00
GCOVProfiling [gcov] Delete XFAIL: host-byteorder-big-endian 2020-06-03 19:58:28 -07:00
GVN Make Value::getPointerAlignment() return an Align, not a MaybeAlign. 2020-05-20 16:37:20 -07:00
GVNHoist
GVNSink Fix another instance where a variable was renamed in the generated LLVM IR. [NFC] 2020-03-23 22:53:29 -07:00
GlobalDCE
GlobalMerge
GlobalOpt Reland [X86] Codegen for preallocated 2020-05-20 11:25:44 -07:00
GlobalSplit
GuardWidening [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
HardwareLoops [HardwareLoops] llvm.loop.decrement.reg definition 2020-05-21 10:48:16 +01:00
HotColdSplit [HotColdSplit] Mark entire function cold when entry block is cold 2020-02-17 15:57:50 -08:00
IPConstantProp [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
IRCE Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
IndVarSimplify [IndVarSimplify][LoopUtils] Avoid TOCTOU/ordering issues (PR45835) 2020-05-21 13:05:55 +03:00
IndirectBrExpand
InferAddressSpaces AMDGPU: Handle rewriting ptrmask for more address spaces 2020-05-28 14:35:15 -04:00
InferFunctionAttrs [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
Inline Extend InvokeInst !prof branch_weights metadata to unwind branches 2020-06-04 15:37:15 +07:00
InstCombine [InstCombine] avoid crashing on select-shuffle detection 2020-06-04 17:27:14 -04:00
InstMerge
InstNamer [InstNamer] use 'i' for Instructions, not 'tmp' 2020-06-01 11:11:14 -04:00
InstSimplify [InstSimplify] fix bug in matching or-with-not op (PR46083) 2020-06-03 13:44:29 -04:00
InterleavedAccess [Alignment] Fix misaligned interleaved loads 2020-05-27 12:12:22 +00:00
Internalize
JumpThreading Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
LCSSA
LICM [FPEnv] Intrinsic llvm.roundeven 2020-05-26 19:24:58 +07:00
LoadStoreVectorizer LoadStoreVectorizer: Match nested adds to prove vectorization is safe 2020-05-18 12:13:01 -07:00
LoopDataPrefetch
LoopDeletion
LoopDistribute
LoopFusion Revert "[llvm][test] Add COM: directives before colon-less non-CHECKs in comments. NFC" 2020-05-22 05:36:15 -06:00
LoopIdiom StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
LoopInstSimplify
LoopInterchange [llvm] Fix yet more missing FileCheck colons 2020-04-13 10:49:19 -06:00
LoopLoadElim [LoopLoadElim] Fix crash by always checking simplify form 2020-04-10 09:23:28 +07:00
LoopPredication
LoopReroll [LoopReroll] Fix rerolling loop with use outside the loop 2020-05-13 13:03:03 +09:00
LoopRotate [LoopRotate] Cleanup test checks to fix issue reported on D77354 2020-04-03 17:21:37 +01:00
LoopSimplify [LoopSimplify] don't separate nested loops with convergent calls 2020-05-19 09:22:39 +05:30
LoopSimplifyCFG
LoopStrengthReduce [NFC] Move test vscale-factor-out-constant.ll to AArch64 sub-directory. 2020-06-04 12:55:28 -07:00
LoopTransformWarning
LoopUnroll [LoopUnroll] Add a test case for rG7873376bb36b. 2020-05-30 20:34:27 +00:00
LoopUnrollAndJam [UnJ] Update LI for inner nested loops 2020-05-27 14:36:38 +01:00
LoopUnswitch
LoopVectorize [LV] Make sure the MaxVF is a power-of-2 by rounding down. 2020-06-02 10:40:49 +01:00
LoopVersioning [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
LoopVersioningLICM
LowerAtomic
LowerConstantIntrinsics
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics [llvm] [MatrixIntrinsics] Add row-major support for llvm.matrix.transpose 2020-05-28 12:13:32 -07:00
LowerSwitch
LowerTypeTests
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg
MemCpyOpt Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
MergeFunc Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
MergeICmps
MetaRenamer
NameAnonGlobals
NaryReassociate
NewGVN [NewGVN] Add test to ensure metadata is preserved for ssa_copy (NFC) 2020-06-03 19:30:03 +01:00
ObjCARC [ObjC][ARC] Don't remove autoreleaseRV/retainRV pairs if the call isn't 2020-03-13 13:52:14 -07:00
OpenMP [OpenMP] Replace Clang's OpenMP RTL Definitions with OMPKinds.def 2020-06-01 16:23:10 -04:00
PGOProfile [PGO] Guard the memcmp/bcmp size value profiling instrumentation behind flag. 2020-05-28 10:07:04 -07:00
PartiallyInlineLibCalls
PhaseOrdering [PhaseOrdering] add more tests for vector reductions; NFC 2020-06-04 08:19:40 -04:00
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH
Reassociate [Reassociate] Teach ConvertShiftToMul to preserve nsw flag if the shift amount is not bitwidth - 1. 2020-06-04 14:51:34 -07:00
Reg2Mem
RewriteStatepointsForGC [Tests] Switch a few statepoint tests to using operand bundles 2020-05-28 14:36:05 -07:00
SCCP [SCCP] Switch to widen at PHIs, stores and call edges. 2020-05-29 11:59:17 +01:00
SLPVectorizer [SLP] Apply external to vectorizable tree users cost adjustment for 2020-05-29 15:37:41 -07:00
SROA Temporarily removed unstable test. NFC. 2020-06-01 10:18:54 -07:00
SafeStack [Instruction] Set metadata uses to undef on deletion 2020-05-21 15:58:12 -07:00
SampleProfile [gcov] Delete XFAIL: host-byteorder-big-endian 2020-06-03 19:58:28 -07:00
ScalarizeMaskedMemIntrin/X86
Scalarizer [Scalarizer] Fix a non-deterministic scatter order problem 2020-04-20 16:05:33 +02:00
SeparateConstOffsetFromGEP Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
SimpleLoopUnswitch [SimpleLoopUnswitch] Drop uses of instructions before block deletion 2020-05-27 18:25:18 +07:00
SimplifyCFG [InstCombine] Sink pure instructions down to return and unreachable blocks 2020-05-22 14:33:42 +07:00
Sink
SpeculateAroundPHIs [NFC] Update tests 2020-05-05 15:28:40 +01:00
SpeculativeExecution
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG [StructurizeCFG] Fix region nodes ordering 2020-06-01 12:50:35 +03:00
SyntheticCountsPropagation
TailCallElim [TRE] Allow accumulator elimination when base case returns non-constant 2020-06-04 10:34:42 -07:00
ThinLTOBitcodeWriter ThinLTOBitcodeWriter: drop dso_local when a GlobalVariable is converted to a declaration 2020-03-05 18:09:33 -08:00
TypePromotion/ARM
UnifyLoopExits Introduce unify-loop-exits pass. 2020-03-30 13:23:56 -04:00
UniqueInternalLinkageNames New pass to make internal linkage symbol names unique. 2020-04-20 15:05:22 -07:00
Util [Tests] Switch a few statepoint tests to using operand bundles 2020-05-28 14:36:05 -07:00
VectorCombine/X86 [VectorCombine] Add multi-use shl test for D80885 2020-06-03 19:42:15 +01:00
WholeProgramDevirt [WPD] Avoid noalias assumptions in unique return value optimization 2020-04-16 14:49:51 -07:00