1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/test/Transforms
Sanjoy Das 224555f18c Re-apply r251050 with a for PR25421
The bug: I missed adding break statements in the switch / case.

Original commit message:

[SCEV] Teach SCEV some axioms about non-wrapping arithmetic

Summary:
 - A s<  (A + C)<nsw> if C >  0
 - A s<= (A + C)<nsw> if C >= 0
 - (A + C)<nsw> s<  A if C <  0
 - (A + C)<nsw> s<= A if C <= 0

Right now `C` needs to be a constant, but we can later generalize it to
be a non-constant if needed.

Reviewers: atrick, hfinkel, reames, nlewycky

Subscribers: sanjoy, llvm-commits

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

llvm-svn: 252236
2015-11-05 23:45:38 +00:00
..
ADCE [PM] Port ADCE to the new pass manager 2015-10-30 23:13:18 +00:00
AddDiscriminators DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
AlignmentFromAssumptions
ArgumentPromotion DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
AtomicExpand [ARM] Emit clrex in the expanded cmpxchg fail block. 2015-09-22 17:22:58 +00:00
BBVectorize [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
BDCE
BranchFolding Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
CodeExtractor
CodeGenPrepare [CodegenPrepare] Do not rematerialize gc.relocates across different basic blocks 2015-11-03 18:37:40 +00:00
ConstantHoisting
ConstantMerge [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
ConstProp
CorrelatedValuePropagation [CVP] Fold return values if possible 2015-11-04 01:43:54 +00:00
DeadArgElim DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
DeadStoreElimination DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
EarlyCSE [EarlyCSE] Fix handling of target memory intrinsics for CSE'ing loads. 2015-10-07 07:41:29 +00:00
EliminateAvailableExternally
Float2Int
FunctionAttrs
GCOVProfiling DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
GlobalDCE [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
GlobalOpt GlobalOpt does not treat externally_initialized globals correctly 2015-10-12 13:20:52 +00:00
GVN DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
IndVarSimplify Re-apply r251050 with a for PR25421 2015-11-05 23:45:38 +00:00
Inline DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
InstCombine DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
InstMerge
InstSimplify [InstSimplify] sgt on i1s also encodes implication 2015-10-29 03:19:10 +00:00
Internalize [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
IPConstantProp
IRCE
JumpThreading [JumpThreading] Use dominating conditions to prove implications 2015-10-28 21:27:08 +00:00
LCSSA
LICM Revert "r251451 - [AliasSetTracker] Use mod/ref information for UnknownInstr" 2015-10-28 22:13:41 +00:00
LoadCombine
LoopDeletion
LoopDistribute
LoopIdiom DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
LoopInterchange
LoopLoadElim LLE 6/6: Add LoopLoadElimination pass 2015-11-03 23:50:08 +00:00
LoopReroll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
LoopRotate DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
LoopSimplify DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
LoopStrengthReduce [ScalarEvolutionExpander] PHI on a catchpad can be used on both edges 2015-10-27 19:48:28 +00:00
LoopUnroll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
LoopUnswitch Teach LoopUnswitch not to perform non-trivial unswitching on loops containing convergent operations. 2015-10-09 18:40:20 +00:00
LoopVectorize DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
LowerAtomic
LowerBitSets [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
LowerExpectIntrinsic [PM] Port StripDeadPrototypes to the new pass manager 2015-10-30 23:28:12 +00:00
LowerInvoke
LowerSwitch
Mem2Reg DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
MemCpyOpt [MemCpyOpt] Fix wrong merging adjacent nontemporal stores into memset calls. 2015-10-09 10:53:41 +00:00
MergeFunc MergeFunctions: Clear GlobalNumbers ValueMap 2015-10-05 17:26:36 +00:00
MetaRenamer [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
NaryReassociate [NaryReassociate] SeenExprs records WeakVH 2015-10-01 03:51:44 +00:00
ObjCARC DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
PartiallyInlineLibCalls
PhaseOrdering
PlaceSafepoints [PlaceSafepoints] Make the width of a counted loop settable. 2015-09-15 01:42:48 +00:00
PruneEH
Reassociate
Reg2Mem
RewriteStatepointsForGC [RS4GC] Strip noalias attribute after statepoint rewrite 2015-10-26 19:06:01 +00:00
SafeStack DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
SampleProfile DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
Scalarizer DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
ScalarRepl DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
SCCP [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
SeparateConstOffsetFromGEP
SimplifyCFG DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
Sink
SLPVectorizer DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
SpeculativeExecution
SROA [PM] Port SROA to the new pass manager. 2015-09-12 09:09:14 +00:00
StraightLineStrengthReduce
StripDeadPrototypes [PM] Port StripDeadPrototypes to the new pass manager 2015-10-30 23:28:12 +00:00
StripSymbols DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
StructurizeCFG
TailCallElim
TailDup
Util