diff options
Diffstat (limited to 'llvm/lib/Analysis/ScalarEvolution.cpp')
-rw-r--r-- | llvm/lib/Analysis/ScalarEvolution.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp index 5f8db62390d..d5e97a3cd09 100644 --- a/llvm/lib/Analysis/ScalarEvolution.cpp +++ b/llvm/lib/Analysis/ScalarEvolution.cpp @@ -4577,15 +4577,15 @@ ConstantRange ScalarEvolution::getRangeViaFactoring(const SCEV *Start, // from deep in the call stack, and calling getSCEV (on a sext instruction, // say) can end up caching a suboptimal value. - APInt TrueStart = *StartPattern.TrueValue + Offset; - APInt TrueStep = *StepPattern.TrueValue; - APInt FalseStart = *StartPattern.FalseValue + Offset; - APInt FalseStep = *StepPattern.FalseValue; - - ConstantRange TrueRange = getRangeForAffineAR( - getConstant(TrueStart), getConstant(TrueStep), MaxBECount, BitWidth); - ConstantRange FalseRange = getRangeForAffineAR( - getConstant(FalseStart), getConstant(FalseStep), MaxBECount, BitWidth); + const SCEV *TrueStart = this->getConstant(*StartPattern.TrueValue + Offset); + const SCEV *TrueStep = this->getConstant(*StepPattern.TrueValue); + const SCEV *FalseStart = this->getConstant(*StartPattern.FalseValue + Offset); + const SCEV *FalseStep = this->getConstant(*StepPattern.FalseValue); + + ConstantRange TrueRange = + getRangeForAffineAR(TrueStart, TrueStep, MaxBECount, BitWidth); + ConstantRange FalseRange = + getRangeForAffineAR(FalseStart, FalseStep, MaxBECount, BitWidth); return TrueRange.unionWith(FalseRange); } |