llvm-6502/test/Transforms
Benjamin Kramer b2b2273ef4 Fix SCEV cache invalidation in LCSSA and LoopSimplify.
The LoopSimplify bug is pretty harmless because the loop goes from unanalyzable
to analyzable but the LCSSA bug is very nasty. It only comes into play with a
specific order of the LoopPassManager worklist and can cause actual
miscompilations, when a SCEV refers to a value that has been replaced with PHI
node. SCEVExpander may then insert code into the wrong place, either violating
domination or randomly miscompiling stuff.

Comes with an extensive test case reduced from the test-suite with
bugpoint+SCEVValidator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166787 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-26 17:31:43 +00:00
..
ADCE Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
ArgumentPromotion Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
BBVectorize Disable generation of pointer vectors by BBVectorize. 2012-10-26 00:05:26 +00:00
BlockPlacement Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
BranchFolding
CodeExtractor Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
CodeGenPrepare Move load_to_switch.ll to test/CodeGen/SPARC/ 2012-09-19 09:25:03 +00:00
ConstantMerge Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
ConstProp Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
CorrelatedValuePropagation CorrelatedPropagation: BasicBlock::removePredecessor can simplify PHI nodes. If the it's the condition of a SwitchInst, reload it. 2012-09-28 10:42:50 +00:00
DeadArgElim Fix PR14016. 2012-10-09 08:13:15 +00:00
DeadStoreElimination Make this test check the transforms it's actually doing. Also add a test that it 2012-09-25 18:17:38 +00:00
EarlyCSE New EarlyCSE tests for CSE-ing across commutativity. 2012-10-09 16:58:13 +00:00
FunctionAttrs Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
GlobalDCE Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
GlobalOpt GlobalOpt: non-constexpr bitcasts or GEPs can occur even if the global value is only stored once. 2012-09-28 10:01:27 +00:00
GVN Update GVN to support vectors of pointers. 2012-10-24 21:22:30 +00:00
IndVarSimplify Fix SCEV cache invalidation in LCSSA and LoopSimplify. 2012-10-26 17:31:43 +00:00
Inline rename test 2012-09-19 09:22:17 +00:00
InstCombine Fix a crash in SimpliftDemandedBits of vectors of pointers. 2012-10-26 17:17:05 +00:00
InstSimplify Revert r153521 as it's causing large regressions on the nightly testers. 2012-03-28 18:42:50 +00:00
Internalize Port testcase to FileCheck. 2012-10-26 00:14:11 +00:00
IPConstantProp Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
JumpThreading JumpThreading: when default destination is the destination of some cases in a 2012-09-05 23:45:58 +00:00
LCSSA Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
LICM LICM may hoist an instruction with undefined behavior above a trap. 2012-09-04 10:25:04 +00:00
LoopDeletion Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
LoopIdiom Revert r166390 "LoopIdiom: Replace custom dependence analysis with LoopDependenceAnalysis." 2012-10-21 19:31:16 +00:00
LoopRotate LoopRotation: Make the brute force DomTree update more brute force. 2012-09-02 11:57:22 +00:00
LoopSimplify Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
LoopStrengthReduce LSR critical edge splitting fix for PR13756. 2012-09-18 17:51:33 +00:00
LoopUnroll getSmallConstantTripMultiple should never return zero. 2012-10-24 19:46:44 +00:00
LoopUnswitch Fix tests that didn't test anything. 2012-09-26 09:51:39 +00:00
LoopVectorize Fix the cost-model test. 2012-10-25 21:42:50 +00:00
LowerAtomic Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
LowerExpectIntrinsic Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
LowerInvoke Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
LowerSwitch PR1255 related changes (case ranges): 2012-05-24 09:33:20 +00:00
Mem2Reg Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
MemCpyOpt In my recent change to avoid use of underaligned memory I didn't notice that 2012-10-04 13:53:21 +00:00
MergeFunc Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
MetaRenamer Review feedback from Duncan Sands. Alphabetize includes and simplify 2012-09-14 19:19:57 +00:00
ObjCARC Detect overflow in the path count computation. rdar://12277446. 2012-09-12 20:45:17 +00:00
PhaseOrdering Add test case for r164850. 2012-09-29 00:12:08 +00:00
PruneEH The normal edge of an invoke is not allowed to branch to a block with a 2012-08-10 20:55:20 +00:00
Reassociate Stop reassociate from looking through expressions of arbitrary complexity. This 2012-07-26 09:26:40 +00:00
ScalarRepl Port the global copy optimization from the SROA pass to InstCombine. 2012-08-21 08:39:44 +00:00
SCCP Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
SimplifyCFG Also optimize large switch statements. 2012-10-25 18:51:15 +00:00
SimplifyLibCalls SimplifyLibcalls: The return value of ffsll is always i32, even when the input is zero. 2012-10-19 20:43:44 +00:00
Sink Enhance the sinking code to handle diamond patterns. Patch by 2012-05-31 08:09:49 +00:00
SROA Teach SROA how to split whole-alloca integer loads and stores into 2012-10-25 04:37:07 +00:00
StripSymbols Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
TailCallElim Revert r166407 because it caused analyzer tests to crash and broke self-host bots. 2012-10-22 18:16:14 +00:00
TailDup Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00