llvm/test/Transforms
Dan Gohman de0e587e63 Canonicalize indices in a constantexpr GEP. If Indices exceed the
static extents of the static array type, it causes GlobalOpt and
other passes to be more conservative. This canonicalization also
allows the constant folder to add "inbounds" to GEPs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79440 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 18:18:36 +00:00
..
ADCE Allow readonly functions to unwind exceptions. Teach 2009-05-06 06:49:50 +00:00
ArgumentPromotion Fix typo. 2009-04-23 04:24:19 +00:00
BlockPlacement Rationalize the names of passes that print information: 2008-09-23 12:47:39 +00:00
BranchFolding Don't branch fold inline asm statements. 2007-10-19 21:09:55 +00:00
CodeExtractor sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
CodeGenPrepare reenable test 2008-11-24 21:27:20 +00:00
CondProp Optimize conditional branch on i1 phis with non-constant inputs. 2009-04-14 23:40:03 +00:00
ConstantMerge sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
ConstProp Remove the vicmp and vfcmp instructions. Because we never had a release with 2009-07-08 03:04:38 +00:00
DeadArgElim aha, DAE does have to think about PHI nodes. Many thanks to "Dr Evil" (aka Duncan) 2009-03-18 16:48:45 +00:00
DeadStoreElimination Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
FunctionAttrs Revert r70876 and add a testcase (@c7) showing the problem: 2009-05-07 18:08:34 +00:00
GlobalDCE Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
GlobalOpt Fix a bug that caused globalopt to miscompile tramp3d: don't miss 2009-08-18 14:58:19 +00:00
GVN Move the re-sort of invalidated NonLocalPointerDeps cache earlier 2009-07-13 17:14:23 +00:00
GVNPRE Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
IndMemRem Actually run the test in this directory. 2009-01-25 08:05:07 +00:00
IndVarSimplify Generalize ScalarEvolution to be able to analyze GEPs when 2009-08-18 16:46:41 +00:00
Inline PR4123: don't crash when inlining a call which uses its own result. 2009-05-08 00:22:04 +00:00
InstCombine Canonicalize indices in a constantexpr GEP. If Indices exceed the 2009-08-19 18:18:36 +00:00
Internalize Teach the internalize pass to also internalize 2009-01-05 21:24:45 +00:00
IPConstantProp Modify some ipconstprop tests to also test with invokes. 2008-06-19 09:27:44 +00:00
JumpThreading make jump threading handle lexically identical compare instructions 2009-06-19 16:27:56 +00:00
LCSSA Fix LCSSA to avoid emitting a PHI node for the unwind destination of 2009-06-26 00:31:13 +00:00
LICM Before deleting a basic block, give other loop passes a chance cleanup analysis values, related to the instructions in the basic block. 2009-03-25 23:57:48 +00:00
LoopDeletion don't spew tons of stuff to the output. This testcase is *not* for 2008-12-03 06:41:50 +00:00
LoopIndexSplit Don't try to split a loop when the controlling icmp instruction 2009-06-27 22:58:27 +00:00
LoopRotate Testcase for PR2639. 2009-04-23 04:30:52 +00:00
LoopSimplify Teach LoopSimplify how to merge multiple loop exits into a single exit, 2009-06-27 21:30:38 +00:00
LoopStrengthReduce Tweak this test to be a little less unusual. 2009-06-20 00:40:56 +00:00
LoopUnroll remove a test that depends on -debug. 2009-03-13 20:31:48 +00:00
LoopUnswitch Actually test something. Use PR3170 test case. 2008-12-08 23:44:46 +00:00
LowerInvoke sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LowerSetJmp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LowerSwitch sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
Mem2Reg Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
MemCpyOpt Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
MergeFunc Given two identical weak functions, produce one internal function and two weak 2009-06-12 15:56:56 +00:00
PredicateSimplifier sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
PruneEH Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
RaiseAllocations sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
Reassociate Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
ScalarRepl Don't crash trying to promote VLAs. 2009-08-17 05:37:31 +00:00
SCCP Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
SimplifyCFG Fix for PR3016: detect the tricky case, where there are 2009-08-16 04:23:49 +00:00
SimplifyLibCalls Fix SimplifyLibcalls and ValueTracking to check mayBeOverridden 2009-08-19 00:11:12 +00:00
SRETPromotion Add a basic test for the SRETPromotion pass. 2008-08-07 15:55:18 +00:00
SSI Fix up PHI nodes correctly in the presence of unreachable BBs, part two. Also 2009-08-19 07:16:57 +00:00
StripSymbols sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
TailCallElim Improve tail call elim to move loads above readonly calls 2009-06-19 04:22:16 +00:00
TailDup PR4662: Fix a crash introduced by the recent LLVMContext changes. 2009-07-31 19:36:47 +00:00