llvm-6502/test/Transforms
Manman Ren ee28e0fdd1 SimplifyCFG: fold unconditional branch to its predecessor if profitable.
This patch extends FoldBranchToCommonDest to fold unconditional branches.
For unconditional branches, we fold them if it is easy to update the phi nodes 
in the common successors.

rdar://10554090


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158392 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13 05:43:29 +00:00
..
ADCE
ArgumentPromotion
BBVectorize Don't vectorize target-specific types (ppc_fp128, x86_fp80, etc.). 2012-04-27 19:34:00 +00:00
BlockPlacement
BoundsChecking BoundsChecking: fix a bug when the handling of recursive PHIs failed and could leave dangling references in the cache 2012-06-01 17:43:31 +00:00
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge
ConstProp
CorrelatedValuePropagation allow LazyValueInfo::getEdgeValue() to reason about multiple edges from the same switch instruction by doing union of ranges (which may still be conservative, but it's more aggressive than before) 2012-05-18 21:02:10 +00:00
DeadArgElim
DeadStoreElimination Teach DeadStoreElimination to eliminate exit-block stores with phi addresses. 2012-05-10 18:57:38 +00:00
EarlyCSE
FunctionAttrs
GlobalDCE
GlobalOpt Teach Function::hasAddressTaken that BlockAddress doesn't really take 2012-05-12 08:30:16 +00:00
GVN When gvn decides to replace an instruction with another, we have to patch the 2012-06-04 22:44:21 +00:00
IndVarSimplify Teach SCEV's icmp simplification logic that a-b == 0 is equivalent to a == b. 2012-05-30 18:32:23 +00:00
Inline Fix the inliner so that the optsize function attribute don't alter the 2012-05-23 13:42:57 +00:00
InstCombine InstCombine: Turn (zext A) == (B & (1<<X)-1) into A == (trunc B), narrowing the compare. 2012-06-10 20:35:00 +00:00
InstSimplify
Internalize
IPConstantProp
JumpThreading formatting change: strip debug info from test 2012-05-10 16:55:31 +00:00
LCSSA
LICM An instruction in a loop is not guaranteed to be executed just because the loop 2012-05-01 04:03:01 +00:00
LoopDeletion
LoopIdiom
LoopRotate
LoopSimplify
LoopStrengthReduce LSR fix: add a missing phi check during IV hoisting. 2012-05-22 17:39:59 +00:00
LoopUnroll
LoopUnswitch Do not pass an invalid domtree to SimplifyInstruction from 2012-05-20 01:32:09 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch PR1255 related changes (case ranges): 2012-05-24 09:33:20 +00:00
Mem2Reg
MemCpyOpt Move the capture analysis from MemoryDependencyAnalysis to a more general place 2012-05-14 20:35:04 +00:00
MergeFunc
ObjCARC Fix replacing all the users of objc weak runtime routines 2012-05-18 22:17:29 +00:00
PhaseOrdering Reapply r155136 after fixing PR12599. 2012-04-23 17:39:52 +00:00
PruneEH
Reassociate Use std::map rather than SmallMap because SmallMap assumes that the value has 2012-06-12 20:16:51 +00:00
ScalarRepl Do not eliminate allocas whose alignment exceeds that of the 2012-05-19 22:52:10 +00:00
SCCP Reapply r155682, making constant folding more consistent, with a fix to work 2012-04-27 17:50:22 +00:00
SimplifyCFG SimplifyCFG: fold unconditional branch to its predecessor if profitable. 2012-06-13 05:43:29 +00:00
SimplifyLibCalls revert my previous patches that introduced an additional parameter to the objectsize intrinsic. 2012-05-22 15:25:31 +00:00
Sink Enhance the sinking code to handle diamond patterns. Patch by 2012-05-31 08:09:49 +00:00
StripSymbols
TailCallElim
TailDup