1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 05:52:53 +02:00
llvm-mirror/lib/Transforms/Scalar
Wei Mi 7ba0bf14e8 [IndVars] Change the order to compute WidenAddRec in widenIVUse.
When both WidenIV::getWideRecurrence and WidenIV::getExtendedOperandRecurrence
return non-null but different WideAddRec, if getWideRecurrence is called
before getExtendedOperandRecurrence, we won't bother to call
getExtendedOperandRecurrence again. But As we know it is possible that after
SCEV folding, we cannot prove the legality using the SCEVAddRecExpr returned
by getWideRecurrence. Meanwhile if getExtendedOperandRecurrence returns non-null
WideAddRec, we know for sure that it is legal to do widening for current instruction.
So it is better to put getExtendedOperandRecurrence before getWideRecurrence, which
will increase the chance of successful widening.

Differential Revision: https://reviews.llvm.org/D26059

llvm-svn: 286987
2016-11-15 17:34:52 +00:00
..
ADCE.cpp Merge branch 'ADCE5' 2016-09-19 23:17:58 +00:00
AlignmentFromAssumptions.cpp Scalar: Ignore ConstantData in processAssumption 2016-09-24 20:00:38 +00:00
BDCE.cpp
CMakeLists.txt Add Loop Sink pass to reverse the LICM based of basic block frequency. 2016-10-27 16:30:08 +00:00
ConstantHoisting.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
ConstantProp.cpp
CorrelatedValuePropagation.cpp [CVP] Convert an AShr to a LShr if 1st operand is known to be nonnegative. 2016-10-12 13:41:38 +00:00
DCE.cpp
DeadStoreElimination.cpp
EarlyCSE.cpp [EarlyCSE] Make MemorySSA memory dependency check more aggressive. 2016-10-25 16:18:47 +00:00
FlattenCFGPass.cpp
Float2Int.cpp
GuardWidening.cpp Analysis: Move llvm::getConstantRangeFromMetadata to IR library. 2016-10-21 19:59:26 +00:00
GVN.cpp Revert "[GVN/PRE] Hoist global values outside of loops." 2016-10-21 01:37:02 +00:00
GVNHoist.cpp [MemorySSA] Tighten up types to make our API prettier. NFC. 2016-11-01 21:17:46 +00:00
InductiveRangeCheckElimination.cpp
IndVarSimplify.cpp [IndVars] Change the order to compute WidenAddRec in widenIVUse. 2016-11-15 17:34:52 +00:00
JumpThreading.cpp Revert "[JumpThreading] Unfold selects that depend on the same condition" 2016-11-15 15:42:23 +00:00
LICM.cpp Add Loop Sink pass to reverse the LICM based of basic block frequency. 2016-10-27 16:30:08 +00:00
LLVMBuild.txt
LoadCombine.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
LoopDataPrefetch.cpp [LoopDataPrefetch] Port to new streaming API for opt remarks 2016-09-30 00:42:43 +00:00
LoopDeletion.cpp
LoopDistribute.cpp [LoopDistribute] Preserve GlobalsAA also in the new Pass Manager. 2016-11-08 19:52:32 +00:00
LoopIdiomRecognize.cpp [LoopIdiomRecognize] Merge two if conditions into one. NFCI. 2016-10-07 18:39:43 +00:00
LoopInstSimplify.cpp
LoopInterchange.cpp Fix a bug found by inspection by PVS-Studio. 2016-11-03 16:39:25 +00:00
LoopLoadElimination.cpp LoopLoadElimination should preserve GlobalsAA. 2016-09-16 17:58:07 +00:00
LoopRerollPass.cpp
LoopRotation.cpp Preserve assumption cache in loop-rotate. 2016-11-09 23:05:01 +00:00
LoopSimplifyCFG.cpp
LoopSink.cpp Enable Loop Sink pass for functions that has profile. 2016-11-09 00:58:19 +00:00
LoopStrengthReduce.cpp [ARM] Loop Strength Reduction crashes when targeting ARM or Thumb. 2016-11-09 08:53:07 +00:00
LoopUnrollPass.cpp Minor unroll pass refacoring. 2016-11-09 19:56:39 +00:00
LoopUnswitch.cpp
LoopVersioningLICM.cpp [NFC] Loop Versioning for LICM code clean up 2016-10-14 23:00:36 +00:00
LowerAtomic.cpp
LowerExpectIntrinsic.cpp
LowerGuardIntrinsic.cpp
MemCpyOptimizer.cpp [MemCpyOpt] Don't emit IR in an unspecified order 2016-11-07 17:47:28 +00:00
MergedLoadStoreMotion.cpp
NaryReassociate.cpp Analysis: Simplify the ScalarEvolution::getGEPExpr() interface. NFCI. 2016-11-13 06:59:50 +00:00
PartiallyInlineLibCalls.cpp
PlaceSafepoints.cpp
Reassociate.cpp Remove redundant condition (PR28352) NFCI. 2016-11-14 12:00:46 +00:00
Reg2Mem.cpp
RewriteStatepointsForGC.cpp [RS4GC] Fix comment to show TODO. NFC 2016-10-06 13:24:20 +00:00
Scalar.cpp Add Loop Sink pass to reverse the LICM based of basic block frequency. 2016-10-27 16:30:08 +00:00
Scalarizer.cpp
SCCP.cpp
SeparateConstOffsetFromGEP.cpp
SimplifyCFGPass.cpp
Sink.cpp
SpeculativeExecution.cpp SpeculativeExecution: Allow speculating more inst types 2016-10-28 20:00:33 +00:00
SROA.cpp Remove TimeValue usage from Scalar/SROA.cpp. NFC. 2016-11-09 12:07:12 +00:00
StraightLineStrengthReduce.cpp Analysis: Simplify the ScalarEvolution::getGEPExpr() interface. NFCI. 2016-11-13 06:59:50 +00:00
StructurizeCFG.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
TailRecursionElimination.cpp [TRE] Remove dead code 2016-11-07 22:17:37 +00:00