From 87f333641a24975e4c4ef01ec0f0b89dfd184c51 Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Sat, 3 Jan 2009 01:53:24 +0000 Subject: [PATCH] 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 --- lib/Analysis/ScalarEvolution.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index 375ad5ed707..b73eeab958a 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(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(Stride)->getValue()->getValue().isNegative()) return UnknownValue; // We know the LHS is of the form {n,+,s} and the RHS is some loop-invariant