llvm-project/llvm/lib/Transforms/Scalar
Wei Mi 575435012c Fix the runtime error caused by "Use ValueOffsetPair to enhance value reuse during SCEV expansion".
The patch is to fix the bug in PR28705. It was caused by setting wrong return
value for SCEVExpander::findExistingExpansion. The return values of findExistingExpansion
have different meanings when the function is used in different ways so it is easy to make
mistake. The fix creates two new interfaces to replace SCEVExpander::findExistingExpansion,
and specifies where each interface is expected to be used.

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

llvm-svn: 278161
2016-08-09 20:40:03 +00:00
..
ADCE.cpp [ADCE] Refactoring for new functionality (NFC) 2016-08-05 19:38:11 +00:00
AlignmentFromAssumptions.cpp Add some comments linking back to PR28400. 2016-08-08 07:03:49 +00:00
BDCE.cpp [PM] Normalize FIXMEs for missing PreserveCFG to have the same wording. 2016-06-28 00:54:12 +00:00
CMakeLists.txt code hoisting pass based on GVN 2016-07-15 13:45:20 +00:00
ConstantHoisting.cpp This implements a more optimal algorithm for selecting a base constant in 2016-07-14 07:44:20 +00:00
ConstantProp.cpp Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
CorrelatedValuePropagation.cpp Revert "Teach CorrelatedValuePropagation to mark adds as no wrap" 2016-08-03 16:20:48 +00:00
DCE.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
DeadStoreElimination.cpp [DSE] Fix bug in updating MadeChange flag 2016-07-27 17:25:20 +00:00
EarlyCSE.cpp [EarlyCSE] Teach about CSE'ing over invariant.start intrinsics 2016-08-09 20:00:47 +00:00
FlattenCFGPass.cpp Scalar: Remove some implicit ilist iterator conversions, NFC 2015-10-13 18:26:00 +00:00
Float2Int.cpp [PM] Normalize FIXMEs for missing PreserveCFG to have the same wording. 2016-06-28 00:54:12 +00:00
GVN.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
GVNHoist.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
GuardWidening.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
IndVarSimplify.cpp Fix the runtime error caused by "Use ValueOffsetPair to enhance value reuse during SCEV expansion". 2016-08-09 20:40:03 +00:00
InductiveRangeCheckElimination.cpp [IRCE] Remove unused headers; NFC 2016-08-06 00:02:01 +00:00
JumpThreading.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
LICM.cpp Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LLVMBuild.txt Update libdeps in LLVMipo and LLVMScalarOpts, corresponding to r245940. 2015-08-25 17:11:17 +00:00
LoadCombine.cpp [LoadCombine] Simplify code with a brace init. NFC. 2016-08-06 12:11:11 +00:00
LoopDataPrefetch.cpp [LoopDataPrefetch] Fix unused variable in release build 2016-07-22 23:08:10 +00:00
LoopDeletion.cpp Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopDistribute.cpp [OptDiag,LDist] Convert remaining opt remarks to use the new API 2016-07-21 21:21:34 +00:00
LoopIdiomRecognize.cpp Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopInstSimplify.cpp Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopInterchange.cpp [Loop Vectorizer] Handling loops FP induction variables. 2016-07-24 07:24:54 +00:00
LoopLoadElimination.cpp Rename LoopAccessAnalysis to LoopAccessLegacyAnalysis /NFC 2016-07-08 20:55:26 +00:00
LoopRerollPass.cpp [LoopReroll] Reroll loops with unordered atomic memory accesses 2016-07-19 00:23:54 +00:00
LoopRotation.cpp Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopSimplifyCFG.cpp Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopStrengthReduce.cpp Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopUnrollPass.cpp Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopUnswitch.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
LoopVersioningLICM.cpp Rename LoopAccessAnalysis to LoopAccessLegacyAnalysis /NFC 2016-07-08 20:55:26 +00:00
LowerAtomic.cpp [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
LowerExpectIntrinsic.cpp [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
LowerGuardIntrinsic.cpp [PM] Port LowerGuardIntrinsic to the new PM. 2016-07-28 22:08:41 +00:00
MemCpyOptimizer.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
MergedLoadStoreMotion.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
NaryReassociate.cpp Add some comments linking back to PR28400. 2016-08-08 07:03:49 +00:00
PartiallyInlineLibCalls.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
PlaceSafepoints.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
Reassociate.cpp [PM] Normalize FIXMEs for missing PreserveCFG to have the same wording. 2016-06-28 00:54:12 +00:00
Reg2Mem.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
RewriteStatepointsForGC.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
SCCP.cpp Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
SROA.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
Scalar.cpp [PM] Port SpeculativeExecution to the new PM 2016-08-01 21:48:33 +00:00
Scalarizer.cpp Scalarizer: Support scalarizing intrinsics 2016-07-25 20:02:54 +00:00
SeparateConstOffsetFromGEP.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
SimplifyCFGPass.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
Sink.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
SpeculativeExecution.cpp [PM] Port SpeculativeExecution to the new PM 2016-08-01 21:48:33 +00:00
StraightLineStrengthReduce.cpp [SLSR] Call getPointerSizeInBits with the correct address space. 2016-07-11 18:13:28 +00:00
StructurizeCFG.cpp StructurizeCFG: Fix inverting constantexpr conditions 2016-07-15 22:13:16 +00:00
TailRecursionElimination.cpp [PM] Port TailCallElim 2016-07-06 23:48:41 +00:00