diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-03-09 22:50:27 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-03-09 22:50:27 +0000 |
commit | 31bbf64f3a4974a2d6c8b3b27ad2f519caf74057 (patch) | |
tree | 0d37937ef37e76e4d410039516390662899f7caa /lib/Analysis/ScalarEvolution.cpp | |
parent | 365919ebc13fcd6ddae24bfcc7c4720dc682c78b (diff) | |
download | src-31bbf64f3a4974a2d6c8b3b27ad2f519caf74057.tar.gz src-31bbf64f3a4974a2d6c8b3b27ad2f519caf74057.zip |
Vendor import of llvm 4.0.0 release r297347:vendor/llvm/llvm-release_400-r297347
Notes
Notes:
svn path=/vendor/llvm/dist/; revision=314975
svn path=/vendor/llvm/llvm-release_400-r297347/; revision=314976; tag=vendor/llvm/llvm-release_400-r297347
Diffstat (limited to 'lib/Analysis/ScalarEvolution.cpp')
-rw-r--r-- | lib/Analysis/ScalarEvolution.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index b3905cc01e84..ed328f12c463 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -127,10 +127,15 @@ static cl::opt<unsigned> MulOpsInlineThreshold( cl::desc("Threshold for inlining multiplication operands into a SCEV"), cl::init(1000)); -static cl::opt<unsigned> - MaxCompareDepth("scalar-evolution-max-compare-depth", cl::Hidden, - cl::desc("Maximum depth of recursive compare complexity"), - cl::init(32)); +static cl::opt<unsigned> MaxSCEVCompareDepth( + "scalar-evolution-max-scev-compare-depth", cl::Hidden, + cl::desc("Maximum depth of recursive SCEV complexity comparisons"), + cl::init(32)); + +static cl::opt<unsigned> MaxValueCompareDepth( + "scalar-evolution-max-value-compare-depth", cl::Hidden, + cl::desc("Maximum depth of recursive value complexity comparisons"), + cl::init(2)); //===----------------------------------------------------------------------===// // SCEV class definitions @@ -481,7 +486,7 @@ static int CompareValueComplexity(SmallSet<std::pair<Value *, Value *>, 8> &EqCache, const LoopInfo *const LI, Value *LV, Value *RV, unsigned Depth) { - if (Depth > MaxCompareDepth || EqCache.count({LV, RV})) + if (Depth > MaxValueCompareDepth || EqCache.count({LV, RV})) return 0; // Order pointer values after integer values. This helps SCEVExpander form @@ -568,7 +573,7 @@ static int CompareSCEVComplexity( if (LType != RType) return (int)LType - (int)RType; - if (Depth > MaxCompareDepth || EqCacheSCEV.count({LHS, RHS})) + if (Depth > MaxSCEVCompareDepth || EqCacheSCEV.count({LHS, RHS})) return 0; // Aside from the getSCEVType() ordering, the particular ordering // isn't very important except that it's beneficial to be consistent, |