diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2009-01-03 01:53:24 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2009-01-03 01:53:24 +0000 |
commit | 87f333641a24975e4c4ef01ec0f0b89dfd184c51 (patch) | |
tree | 8b451283aacbf5843991b882f6d83853ab83fa05 /lib/Analysis | |
parent | 93d9ad567d575ff3fcebf3feea9dae123cd1f10d (diff) | |
download | llvm-87f333641a24975e4c4ef01ec0f0b89dfd184c51.tar.gz llvm-87f333641a24975e4c4ef01ec0f0b89dfd184c51.tar.bz2 llvm-87f333641a24975e4c4ef01ec0f0b89dfd184c51.tar.xz |
We know it's always a SCEVConstant if it gets here, so just cast it and
inline the only use of isNegative. Fixes warning reported by Mike Stump.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61600 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis')
-rw-r--r-- | lib/Analysis/ScalarEvolution.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index 375ad5ed70..b73eeab958 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -2905,11 +2905,6 @@ bool ScalarEvolutionsImpl::executesAtLeastOnce(const Loop *L, bool isSigned, return false; } -static bool isNegative(SCEVHandle X) { - if (SCEVConstant *C = dyn_cast<SCEVConstant>(X)) - return C->getValue()->getValue().isNegative(); -} - /// potentialInfiniteLoop - Test whether the loop might jump over the exit value /// due to wrapping around 2^n. bool ScalarEvolutionsImpl::potentialInfiniteLoop(SCEV *Stride, SCEV *RHS, @@ -2967,7 +2962,8 @@ HowManyLessThans(SCEV *LHS, SCEV *RHS, const Loop *L, // the stride is negative, we're not counting how many times 'less-than' is // true as we approach it, we're counting how far away we are from wrapping // around the backside. - if (isSigned && isNegative(Stride)) + if (isSigned && + cast<SCEVConstant>(Stride)->getValue()->getValue().isNegative()) return UnknownValue; // We know the LHS is of the form {n,+,s} and the RHS is some loop-invariant |