llvm-project/llvm/test/Transforms
Bill Wendling 4f163dfed1 If the block that we're threading through is jumped to by an indirect branch,
then we don't want to set the destination in the indirect branch to the
destination. This is because the indirect branch needs its destinations to have
had their block addresses taken. This isn't so of the new critical edge that's
split during this process. If it turns out that the destination block has only
one predecessor, and that being a BB with an indirect branch, then it won't be
marked as 'used' and may be removed.
PR10072

llvm-svn: 132638
2011-06-04 09:42:04 +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
ConstProp implement PR9315, constant folding exp2 in terms of pow (since hosts without 2011-05-22 22:22:35 +00:00
ConstantMerge Don't merge two constants if we care about the address of both. 2011-01-16 17:05:09 +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
GVN Add a testcase to demonstrate the problem where phi translation is 2011-06-04 07:05:05 +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
IPConstantProp more test cleanup 2010-09-02 22:38:56 +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
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
SCCP Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +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
SimplifyCFG If the block that we're threading through is jumped to by an indirect branch, 2011-06-04 09:42:04 +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