llvm-6502/test/Transforms
Sanjoy Das 574e01c32e Teach ScalarEvolution to exploit min and max expressions when proving
isKnownPredicate.

The motivation for this change is to optimize away checks in loops
like this:

    limit = min(t, len)
    for (i = 0 to limit)
      if (i >= len || i < 0) throw_array_of_of_bounds();
      a[i] = ...

Differential Revision: http://reviews.llvm.org/D6635



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224285 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-15 22:50:15 +00:00
..
ADCE
AddDiscriminators IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
AlignmentFromAssumptions
ArgumentPromotion IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
AtomicExpand/ARM
BBVectorize IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantHoisting
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
DeadStoreElimination IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
EarlyCSE
FunctionAttrs
GCOVProfiling IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
GlobalDCE
GlobalOpt IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
GVN IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
IndVarSimplify Teach ScalarEvolution to exploit min and max expressions when proving 2014-12-15 22:50:15 +00:00
Inline IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
InstCombine IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
InstMerge Added a test related to 224247 revision 2014-12-15 14:14:10 +00:00
InstSimplify InstSimplify: Remove usesless %a parameter from tests 2014-12-11 12:56:17 +00:00
Internalize
IPConstantProp
JumpThreading IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LCSSA
LICM IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LoadCombine
LoopDeletion
LoopIdiom IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LoopReroll
LoopRotate IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LoopSimplify
LoopStrengthReduce IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LoopUnroll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LoopUnswitch
LoopVectorize IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LowerAtomic
LowerExpectIntrinsic IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LowerInvoke
LowerSwitch
Mem2Reg IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
MemCpyOpt
MergeFunc IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
MetaRenamer
ObjCARC IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
PartiallyInlineLibCalls
PhaseOrdering
PruneEH
Reassociate
Reg2Mem
SampleProfile IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
Scalarizer IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
ScalarRepl IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
SCCP
SeparateConstOffsetFromGEP/NVPTX
SimplifyCFG IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
Sink
SLPVectorizer IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
SROA
StripSymbols IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
StructurizeCFG
TailCallElim
TailDup
Util