llvm-6502/test/Transforms
Nick Lewycky 444f297a78 Bail on unswitching a switch statement for a case with a critical edge. We name
which edge to split by pred/succ pair, which means that we can end up splitting
the wrong edge (by case value) in the switch statement entirely. Fixes PR10031!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132535 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-03 06:27:15 +00:00
..
ADCE
ArgumentPromotion fix PR8932, a case where arg promotion could infinitely promote. 2011-01-16 08:09:24 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare Roll r127459 back in: 2011-03-11 21:52:04 +00:00
ConstantMerge Don't merge two constants if we care about the address of both. 2011-01-16 17:05:09 +00:00
ConstProp implement PR9315, constant folding exp2 in terms of pow (since hosts without 2011-05-22 22:22:35 +00:00
CorrelatedValuePropagation Test for lazy value info's ability to prove the absense of NULLs in pointers. 2011-01-16 21:57:20 +00:00
DeadArgElim Fix grammar in test. 2011-05-22 01:16:00 +00:00
DeadStoreElimination fix a really nasty basicaa mod/ref calculation bug that was causing miscompilation of 2011-05-23 05:15:43 +00:00
EarlyCSE Duncan deftly points out that readnone functions aren't 2011-01-03 23:38:13 +00:00
FunctionAttrs Make ModRefBehavior a lattice. Use this to clean up AliasAnalysis 2010-11-10 01:02:18 +00:00
GlobalDCE
GlobalOpt Add testcase for r132290, to check for the crasher caught by the buildbots 2011-05-29 19:41:14 +00:00
GVN When marking a block as being unanalyzable, use "Clobber" on the terminator instead of the first instruction in the block. This is a bit of a hack; "Clobber" isn't really the right marking in the first place. memdep doesn't really have any way of properly expressing "unanalyzable" at the moment. Using it on the terminator is much less ambiguous than using it on an arbitrary instruction, though. 2011-06-02 00:08:52 +00:00
IndVarSimplify Test case pasto (failed when run with IR verifier). 2011-06-02 23:57:27 +00:00
Inline First, do no harm -- even if we can't find a selector for an enclosing 2011-06-01 02:17:11 +00:00
InstCombine Reapply 132348 with fixes. rdar://problem/6501862 2011-06-01 16:42:47 +00:00
InstSimplify The comparision "max(x,y)==x" is equivalent to "x>=y". Since the max is 2011-05-07 16:56:49 +00:00
Internalize Add test for r127138. 2011-03-07 21:28:14 +00:00
IPConstantProp more test cleanup 2010-09-02 22:38:56 +00:00
JumpThreading Fix an infinite alternation in JumpThreading where two transforms would repeatedly undo each other. The solution is to perform more aggressive constant folding to make one of the edges just folded away rather than trying to thread it. 2011-04-14 21:35:50 +00:00
LCSSA Do not add PHIs with no users when creating LCSSA form. Patch by Andrew Clinton. 2011-03-15 07:41:25 +00:00
LICM PR9604; try to deal with RAUW updates correctly in the AST. I'm not convinced 2011-04-09 06:55:46 +00:00
LoopDeletion Make LoopDeletion work on loops with multiple edges, as long as the incoming 2011-02-22 22:25:39 +00:00
LoopIdiom Fix PR9815: I was trying to get out of "generating code and then 2011-05-22 17:39:56 +00:00
LoopRotate fix PR9523, a crash in looprotate on a non-canonical loop made out of indirectbr. 2011-04-09 07:25:58 +00:00
LoopSimplify Avoid creating canonical induction variables for non-native types. 2011-03-18 16:50:32 +00:00
LoopStrengthReduce When forming an ICmpZero LSRUse, normalize the non-IV operand 2011-05-18 21:02:18 +00:00
LoopUnroll add a testcase for r125827 2011-02-18 05:05:01 +00:00
LoopUnswitch Bail on unswitching a switch statement for a case with a critical edge. We name 2011-06-03 06:27:15 +00:00
LowerAtomic Add an atomic lowering pass 2010-08-03 16:19:16 +00:00
LowerInvoke
LowerSetJmp
LowerSwitch
Mem2Reg Copy location info for current function argument from dbg.declare if respective store instruction does not have any location info. 2010-06-04 22:27:30 +00:00
MemCpyOpt PR10067: Add missing safety check to call return transformation in MemCpyOpt::processStore. If something accesses the dest of the "copy" between the call and the copy, the performCallSlotOptzn transformation is not valid. 2011-06-02 21:24:42 +00:00
MergeFunc When removing a function from the function set and adding it to deferred, we 2011-02-09 06:32:02 +00:00
PhaseOrdering final step needed to resolve PR6627, which allows us to flatten the code down to 2011-04-28 18:15:47 +00:00
PruneEH fix some failures my callgraph dump format change broke. 2010-04-23 18:38:40 +00:00
Reassociate Fix reassociate to use a worklist instead of recursing when new 2011-04-12 00:11:56 +00:00
ScalarRepl Fix "make check" in Release by removing debug-only options from an 'opt' invocation. 2011-05-24 18:26:09 +00:00
SCCP Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
SimplifyCFG Add a parameter to ConstantFoldTerminator() that callers can use to ask it to also clean up the condition of any conditional terminator it folds to be unconditional, if that turns the condition into dead code. This just means it calls RecursivelyDeleteTriviallyDeadInstructions() in strategic spots. It defaults to the old behavior. 2011-05-22 16:24:18 +00:00
SimplifyLibCalls Preserve line number information while simplifying libcalls. 2011-03-09 21:27:52 +00:00
Sink Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
StripSymbols DIGlobalVariable can be used to encode debug info for globals that are directly folded into a constant by FE. 2010-08-25 18:52:02 +00:00
TailCallElim Don't do tail calls in a function that call setjmp. The stack might be 2011-05-16 03:05:33 +00:00
TailDup Move few target-dependant tests to appropriate directories. 2011-05-06 18:24:46 +00:00