llvm-6502/test/Transforms
Sanjoy Das de87c9165a Teach ScalarEvolution to sharpen range information.
If x is known to have the range [a, b), in a loop predicated by (icmp
ne x, a) its range can be sharpened to [a + 1, b).  Get
ScalarEvolution and hence IndVars to exploit this fact.

This change triggers an optimization to widen-loop-comp.ll, so it had
to be edited to get it to pass.

This change was originally landed in r219834 but had a bug and broke
ASan. It was reverted in r219878, and is now being re-landed after
fixing the original bug.

phabricator: http://reviews.llvm.org/D5639
reviewed by: atrick



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221839 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-13 00:00:58 +00:00
..
ADCE
AddDiscriminators
AlignmentFromAssumptions
ArgumentPromotion
AtomicExpand/ARM
BBVectorize
BranchFolding
CodeExtractor
CodeGenPrepare [CodeGenPrepare][AArch64] Fix a TLI legality check on iPTR to use a lowered instead. 2014-11-12 22:16:55 +00:00
ConstantHoisting
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim
DeadStoreElimination
DebugIR
EarlyCSE EarlyCSE should ignore calls to @llvm.assume 2014-11-03 20:21:32 +00:00
FunctionAttrs Normally an 'optnone' function goes through fast-isel, which does not 2014-11-03 18:19:26 +00:00
GCOVProfiling GCOV: Make sure that function idents in the .gcda and .gcno match 2014-11-06 06:55:02 +00:00
GlobalDCE
GlobalOpt
GVN
IndVarSimplify Teach ScalarEvolution to sharpen range information. 2014-11-13 00:00:58 +00:00
Inline Revert "Transforms: reapply SVN r219899" 2014-11-04 02:02:14 +00:00
InstCombine CGSCC should not treat intrinsic calls like function calls (PR21403) 2014-11-12 18:25:47 +00:00
InstMerge Use Alias Analysis to hoist 2 loads from diamond to the common predecessor basic block. 2014-11-02 08:03:05 +00:00
InstSimplify InstSimplify: Exact shifts of X by Y are X if X has the lsb set 2014-11-05 00:59:59 +00:00
Internalize
IPConstantProp
JumpThreading
LCSSA
LICM Analysis: Make isSafeToSpeculativelyExecute fire less for divides 2014-11-04 23:49:08 +00:00
LoadCombine Use AA in LoadCombine 2014-11-03 23:19:16 +00:00
LoopDeletion
LoopIdiom
LoopReroll
LoopRotate llvm/test/Transforms/LoopRotate/nosimplifylatch.ll: Fix possibly mis-repeatedly-pasted test. 2014-10-29 23:05:12 +00:00
LoopSimplify
LoopStrengthReduce
LoopUnroll [SCEV] Improve Scalar Evolution's use of no {un,}signed wrap flags 2014-10-31 11:40:32 +00:00
LoopUnswitch
LoopVectorize Addition to r216371 (SLP and Loop Vectorization) and r218607 where 2014-11-11 07:39:27 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
MetaRenamer
ObjCARC
PartiallyInlineLibCalls
PhaseOrdering
PruneEH
Reassociate [Reassociate] Canonicalize negative constants out of expressions. 2014-11-11 23:36:42 +00:00
Reg2Mem
SampleProfile llvm/test/Transforms/SampleProfile/syntax.ll: Relax MISSING-FILE not to 2014-10-30 22:28:46 +00:00
Scalarizer
ScalarRepl
SCCP SCCP: overdefined calls cannot become constant 2014-11-07 08:54:19 +00:00
SeparateConstOffsetFromGEP/NVPTX [SeparateConstOffsetFromGEP] Fixed a bug related to unsigned modulo 2014-10-25 18:34:03 +00:00
SimplifyCFG Add minnum / maxnum intrinsics 2014-10-21 23:00:20 +00:00
Sink
SLPVectorizer
SROA
StripSymbols
StructurizeCFG
TailCallElim Revert "Transforms: reapply SVN r219899" 2014-11-04 02:02:14 +00:00
TailDup
Util [SwitchLowering] Fix the "fixPhis" function. 2014-11-10 21:05:27 +00:00