llvm-6502/test/Transforms
Andrew Trick cd8e3c4dcf Prevent loop-unroll from making assumptions about undefined behavior.
Fixes rdar:14036816, PR16130.

There is an opportunity to compute precise trip counts for 'or'
expressions and multi-exit loops.
rdar:14038809: Optimize trip count computation for multi-exit loops.

To do this we need to record the fact that ExitLimit assumes NSW. When
it does not we can safely assume that the loop trip count is the
minimum ExitLimt across all subexpressions and loop exits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183060 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-31 23:34:46 +00:00
..
ADCE
ArgumentPromotion
BBVectorize
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim
DeadStoreElimination
EarlyCSE
FunctionAttrs
GCOVProfiling
GlobalDCE
GlobalOpt Respect the 'nobuiltin' attribute when determining if a call is to a memory builtin. 2013-05-16 04:12:04 +00:00
GVN
IndVarSimplify
Inline
InstCombine Simplify multiplications by vectors whose elements are powers of 2. 2013-05-31 14:27:15 +00:00
InstSimplify
Internalize
IPConstantProp
JumpThreading
LCSSA
LICM
LoopDeletion
LoopIdiom
LoopRotate
LoopSimplify
LoopStrengthReduce Modify how the formulae are rated in Loop Strength Reduce. 2013-05-31 17:20:29 +00:00
LoopUnroll Prevent loop-unroll from making assumptions about undefined behavior. 2013-05-31 23:34:46 +00:00
LoopUnswitch
LoopVectorize LoopVectorize: PHIs with only outside users should prevent vectorization 2013-05-31 19:53:50 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
MetaRenamer
ObjCARC [objc-arc] KnownSafe does not imply that it is safe to perform code motion across CFG edges since even if it is safe to remove RR pairs, we may still be able to move a retain/release into a loop. 2013-05-24 20:44:05 +00:00
PhaseOrdering
PruneEH
Reassociate
Reg2Mem
ScalarRepl
SCCP
SimplifyCFG
Sink
SLPVectorizer SLPVectorizer: Change the order in which new instructions are added to the function. 2013-05-22 19:47:32 +00:00
SROA
StripSymbols
TailCallElim
TailDup