llvm-6502/test/Transforms
Chris Lattner 145c532e68 Enhance SRoA to be more aggressive about scalarization of aggregate allocas
that have PHI or select uses of their element pointers.  This can often happen
when instcombine sinks two loads into a successor, inserting a phi or select.

With this patch, we can scalarize the alloca, but the pinned elements are not
yet promoted.  This is still a win for large aggregates where only one element
is used.  This fixes rdar://8904039 and part of rdar://7339113 (poor codegen
on stringswitch).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124070 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-23 08:27:54 +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 temporarily revert r123526. While working on a follow-on patch I 2011-01-15 07:51:19 +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 Add a constant folding of casts from zero to zero. Fixes PR9011! 2011-01-21 01:12: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 Teach DAE to look for functions whose arguments are unused, and change all callers to pass in an undefvalue instead. 2011-01-16 21:25:33 +00:00
DeadStoreElimination Fix PR8728, a miscompilation I recently introduced. When optimizing 2010-12-06 01:48:06 +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 unnamed_addr when we can show that address of a global is not used. 2011-01-19 16:32:21 +00:00
GVN Give GVN back the ability to perform simple conditional propagation on conditional branch values. 2010-12-21 23:54:34 +00:00
IndVarSimplify Remove LoopIndexSplit pass. It is neither maintained nor used by anyone. 2010-10-07 23:29:37 +00:00
Inline relax testcase a bit. 2011-01-14 07:46:33 +00:00
InstCombine Just because we have determined that an (fcmp | fcmp) is true for A < B, 2011-01-21 19:39:42 +00:00
InstSimplify At -O123 the early-cse pass is run before instcombine has run. According to my 2011-01-20 13:21:55 +00:00
Internalize
IPConstantProp more test cleanup 2010-09-02 22:38:56 +00:00
JumpThreading Teach jump threading to "look through" a select when the branch direction of a terminator depends on it. 2010-12-15 09:51:20 +00:00
LCSSA Avoid depending on LCSSA implicitly pulling in LoopSimplify. 2010-07-26 18:00:43 +00:00
LICM Enhance LICM to promote alias sets whose pointers themselves are stored, 2010-12-19 05:57:25 +00:00
LoopDeletion Make LoopSimplify change conditional branches in loop exiting blocks 2010-02-25 06:57:05 +00:00
LoopIdiom Teach loop-idiom to turn a loop containing a memset into a larger memset 2011-01-04 07:46:33 +00:00
LoopRotate merge tests into one crash.ll test. 2011-01-11 07:50:07 +00:00
LoopSimplify Fix PR8702 by not having LoopSimplify claim to preserve LCSSA form. As described 2011-01-02 13:38:21 +00:00
LoopStrengthReduce Correct bogus module triple specifications. 2010-08-30 10:48:29 +00:00
LoopUnroll Revert r113439, which relaxed the requirement that loops containing calls cannot be unrolled. After some discussion, 2010-09-09 20:02:23 +00:00
LoopUnswitch Factor code for testing whether replacing one value with another 2010-11-18 19:59:41 +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 Actually check memcpy lengths, instead of just commenting about 2011-01-21 22:07:57 +00:00
MergeFunc Arrays and vectors with different numbers of elements are not equivalent. 2010-07-16 06:31:12 +00:00
PruneEH fix some failures my callgraph dump format change broke. 2010-04-23 18:38:40 +00:00
Reassociate fix a nice subtle reassociate bug which would only occur 2010-03-05 07:18:54 +00:00
ScalarRepl Enhance SRoA to be more aggressive about scalarization of aggregate allocas 2011-01-23 08:27:54 +00:00
SCCP fix PR7876: If ipsccp decides that a function's address is taken 2010-08-12 22:25:23 +00:00
SimplifyCFG SimplifyCFG: Ranges can be larger than 64 bits. Fixes Release-selfhost build. 2010-12-17 10:48:14 +00:00
SimplifyLibCalls Revert r64460. strtol and friends cannot be marked readonly, even with 2010-12-17 01:09:43 +00:00
Sink Make BasicAliasAnalysis a normal AliasAnalysis implementation which 2010-10-18 18:04:47 +00:00
SRETPromotion
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 merge two tests. 2010-08-31 18:44:03 +00:00
TailDup The output of opt -stats must be sent to stderr. Patch by NAKAMURA Takumi! 2010-09-01 18:32:56 +00:00