llvm-project/llvm/test/Transforms
David Majnemer 522a91181a Don't remove side effecting instructions due to ConstantFoldInstruction
Just because we can constant fold the result of an instruction does not
imply that we can delete the instruction.  It may have side effects.

This fixes PR28655.

llvm-svn: 276389
2016-07-22 04:54:44 +00:00
..
ADCE [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
AddDiscriminators [PM] Port Add discriminator pass to new PM 2016-06-15 21:51:30 +00:00
AlignmentFromAssumptions [PM] Port AlignmentFromAssumptions to the new PM. 2016-06-15 06:18:01 +00:00
ArgumentPromotion Remove the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
AtomicExpand Support expanding partial-word cmpxchg to full-word cmpxchg in AtomicExpandPass. 2016-06-17 18:11:48 +00:00
BBVectorize Revert "[ValueTracking] Teach computeKnownBits for PHI nodes to compute sign bit for a recurrence with a NSW addition." 2016-06-29 04:57:00 +00:00
BDCE [PM] Port BDCE to the new pass manager. 2016-05-25 01:57:04 +00:00
BranchFolding
CodeExtractor
CodeGenPrepare [CodeGenPrepare] Don't sink a cast past its user 2016-04-27 19:36:38 +00:00
ConstProp Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
ConstantHoisting This implements a more optimal algorithm for selecting a base constant in 2016-07-14 07:44:20 +00:00
ConstantMerge [PM] Port ConstantMerge to the new pass manager. 2016-05-05 00:51:09 +00:00
CorrelatedValuePropagation This converts a signed remainder instruction to unsigned remainder, which 2016-07-14 12:23:48 +00:00
CrossDSOCFI [PM] Port CrossDSOCFI to the new pass manager. 2016-07-09 03:25:35 +00:00
DCE Mark guards on true as "trivially dead" 2016-04-29 22:23:16 +00:00
DeadArgElim [PM] Port DeadArgumentElimination to the new PM 2016-06-12 09:16:39 +00:00
DeadStoreElimination Revert "r275571 [DSE]Enhance shorthening MemIntrinsic based on OverlapIntervals" 2016-07-18 15:51:31 +00:00
EarlyCSE [EarlyCSE] Fold invariant loads 2016-06-16 20:47:57 +00:00
EliminateAvailableExternally [PM] Port EliminateAvailableExternally pass to the new pass manager. 2016-05-05 02:37:32 +00:00
Float2Int [PM] Port float2int to the new pass manager 2016-06-24 23:32:02 +00:00
ForcedFunctionAttrs [attrs] Split off the forced attributes utility into its own pass that 2015-12-27 08:13:45 +00:00
FunctionAttrs Forgot to add a test for r276008. 2016-07-20 04:13:05 +00:00
FunctionImport [PM] Port FunctionImport Pass to new PM 2016-07-18 21:22:24 +00:00
GCOVProfiling [PM] Port GCOVProfiler pass to the new pass manager 2016-06-05 05:12:23 +00:00
GVN GVH-hoist: only clone GEPs (PR28606) 2016-07-21 23:22:10 +00:00
GlobalDCE [GlobalDCE, Misc] Don't remove functions referenced by ifuncs 2016-05-04 00:20:48 +00:00
GlobalMerge CodeGen: Make the global-merge pass independently testable, and add a test. 2016-05-19 04:38:56 +00:00
GlobalOpt Revert "Invariant start/end intrinsics overloaded for address space" 2016-07-21 19:06:28 +00:00
GuardWidening [GuardWidening] Fix incorrect use of remove_if 2016-05-21 02:24:44 +00:00
IPConstantProp [PM] Port Interprocedural SCCP to the new pass manager. 2016-05-05 21:05:36 +00:00
IRCE [IRCE] Don't misuse CHECK-LABEL; NFC 2016-07-22 00:41:02 +00:00
IndVarSimplify Upgrade other old memset/memcpy signatures in tests causing buildbot failures with rL273568. 2016-06-23 16:34:52 +00:00
InferFunctionAttrs Reverting r275284 due to platform-specific test failures 2016-07-13 19:09:16 +00:00
Inline Implement callsite-hotness based inline cost for Sample-based PGO 2016-07-11 16:48:54 +00:00
InstCombine Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
InstMerge [PM] Port MergedLoadStoreMotion to the new pass manager, take two. 2016-06-17 19:10:09 +00:00
InstSimplify [InstSimplify] don't crash handling a pointer or aggregate type 2016-07-21 21:56:00 +00:00
Internalize [Internalize] Test that __stack_chk_{guard, fail} are not internalized. 2016-06-05 19:08:54 +00:00
JumpThreading [JumpThreading] PRE unordered loads 2016-07-14 19:21:15 +00:00
LCSSA Revert "Revert r275883 and r275891. They seem to cause PR28608." 2016-07-20 01:55:27 +00:00
LICM New pass manager for LICM. 2016-07-12 22:37:48 +00:00
LoadCombine [LoadCombine] Combine Loads formed from GEPS with negative indexes 2016-06-19 06:14:56 +00:00
LoadStoreVectorizer [LSV] Don't move stores across may-load instrs, and loosen restrictions on moving loads. 2016-07-20 20:07:37 +00:00
LoopDataPrefetch [Kryo] Enable loop prefetcher. 2016-06-21 22:47:56 +00:00
LoopDeletion [PM] Port Dead Loop Deletion Pass to the new PM 2016-07-14 18:28:29 +00:00
LoopDistribute [OptDiag,LDist] Convert remaining opt remarks to use the new API 2016-07-21 21:21:34 +00:00
LoopIdiom [PM] Port LoopIdiomRecognize Pass to new PM 2016-07-12 18:45:51 +00:00
LoopInterchange
LoopLoadElim [LLE] Don't hoist conditionally executed loads 2016-06-28 04:02:47 +00:00
LoopReroll [LoopReroll] Reroll loops with unordered atomic memory accesses 2016-07-19 00:23:54 +00:00
LoopRotate LPM: Drop require<loops> from these tests, it's redundant. NFC 2016-05-10 18:28:10 +00:00
LoopSimplify Revert "Revert r275883 and r275891. They seem to cause PR28608." 2016-07-20 01:55:27 +00:00
LoopSimplifyCFG LPM: Drop require<loops> from these tests, it's redundant. NFC 2016-05-10 18:28:10 +00:00
LoopStrengthReduce [PM] Convert Loop Strength Reduce pass to new PM 2016-07-18 21:41:50 +00:00
LoopUnroll [PM] Port LoopUnroll. 2016-07-19 23:54:23 +00:00
LoopUnswitch [LoopUnswitch] Unswitch on conditions feeding into guards 2016-06-26 05:10:45 +00:00
LoopVectorize [LV] Move vector int induction update to end of latch 2016-07-21 21:20:15 +00:00
LoopVersioning [LoopVer] Update all existing PHIs in the exit block 2016-06-14 09:38:54 +00:00
LoopVersioningLICM [LoopVersioningLICM] Add test coverage for llvm.loop.licm_versioning.disable 2016-04-22 18:34:50 +00:00
LowerAtomic [PM] Port LowerAtomic to the new pass manager. 2016-05-13 22:52:35 +00:00
LowerExpectIntrinsic [LowerExpectIntrinsic] make default likely/unlikely ratio bigger 2016-04-26 22:23:38 +00:00
LowerGuardIntrinsic [Guards] Add branch metadata when lowering 2016-05-17 17:51:19 +00:00
LowerInvoke
LowerSwitch
LowerTypeTests [PM/IPO] Port LowerTypeTests to the new PassManager. 2016-07-11 18:10:06 +00:00
Mem2Reg [PM] Port Mem2Reg to the new pass manager. 2016-06-14 03:22:22 +00:00
MemCpyOpt [PM] Port MemCpyOpt to the new PM. 2016-06-14 02:44:55 +00:00
MergeFunc Fix a crash in MergeFunctions related to ordering of weak/strong functions 2016-05-31 17:20:23 +00:00
MetaRenamer
NameAnonFunctions Add a pass to name anonymous/nameless function 2016-04-12 21:35:28 +00:00
NaryReassociate [PM] Port NaryReassociate to the new PM 2016-07-21 22:28:52 +00:00
ObjCARC Form objc_storeStrong in the presence of bitcasts. 2016-05-27 02:13:53 +00:00
PGOProfile [ThinLTO] Perform profile-guided indirect call promotion 2016-07-17 14:47:01 +00:00
PartiallyInlineLibCalls [PM] Port PartiallyInlineLibCalls to the new pass manager. 2016-05-25 23:38:53 +00:00
PhaseOrdering Mark that SpeculativeExecution preserves Globals Alias Analysis. 2016-05-03 08:33:26 +00:00
PlaceSafepoints [PlaceSafepoints] Don't call undef in test case; NFC 2016-06-25 01:40:54 +00:00
PreISelIntrinsicLowering [PM] Port PreISelIntrinsicLowering to the new PM 2016-06-24 20:13:42 +00:00
PruneEH [PruneEH] Don't try to insert a terminator after another terminator 2016-01-23 06:00:44 +00:00
Reassociate PM: Port Reassociate to the new pass manager 2016-04-26 23:39:29 +00:00
Reg2Mem
RewriteStatepointsForGC [RewriteStatepointsForGC] All constant should have null base pointer 2016-05-27 13:13:59 +00:00
SCCP [SCCP] Zap multiple return values. 2016-07-20 20:17:13 +00:00
SLPVectorizer [X86][SSE] Add cost model values for CTPOP of vectors 2016-07-20 10:41:28 +00:00
SROA [SROA] Function canConvertValue needs to check whether both NewTy and OldTy pointers are 2016-05-03 19:30:48 +00:00
SafeStack StackColoring for SafeStack. 2016-06-29 20:37:43 +00:00
SampleProfile Tune the weight propagation algorithm for sample profile. 2016-07-11 16:40:17 +00:00
Scalarizer [Scalarizer] PR28108: Skip over nullptr rather than crashing on it. 2016-07-14 01:31:25 +00:00
SeparateConstOffsetFromGEP [NVPTX] Enable the load-store vectorizer on nvptx. 2016-07-20 22:11:36 +00:00
SimplifyCFG Revert "[SimplifyCFG] Stop inserting calls to llvm.trap for UB" 2016-06-25 08:19:55 +00:00
Sink Add a testcase for r275581 2016-07-19 17:52:41 +00:00
SpeculativeExecution Move divergent-target test into CodeGen/NVPTX because it requires an NVPTX target. 2016-04-15 01:20:52 +00:00
StraightLineStrengthReduce [SLSR] Call getPointerSizeInBits with the correct address space. 2016-07-11 18:13:28 +00:00
StripDeadPrototypes
StripSymbols Fix strip-dead-debug-info test if path contains "bar". 2016-06-16 19:39:55 +00:00
StructurizeCFG StructurizeCFG: Fix inverting constantexpr conditions 2016-07-15 22:13:16 +00:00
TailCallElim [PM] Port TailCallElim 2016-07-06 23:48:41 +00:00
Util [MemorySSA] Update to the new shiny walker. 2016-07-19 01:29:15 +00:00
WholeProgramDevirt Print remarks from WholeProgramDevirt pass for each call site. 2016-07-12 02:38:37 +00:00