diff options
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp index 7867d9fad34..ad2f52d8ec7 100644 --- a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp +++ b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp @@ -2061,7 +2061,8 @@ void LSRInstance::CollectInterestingTypesAndFactors() {      do {        const SCEV *S = Worklist.pop_back_val();        if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { -        Strides.insert(AR->getStepRecurrence(SE)); +        if (EnableNested || AR->getLoop() == L) +          Strides.insert(AR->getStepRecurrence(SE));          Worklist.push_back(AR->getStart());        } else if (const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(S)) {          Worklist.append(Add->op_begin(), Add->op_end());  | 

