summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h')
-rw-r--r--llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h b/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
index ee305c895e43..4d15ac573546 100644
--- a/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
+++ b/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
@@ -698,8 +698,11 @@ public:
case scUMinExpr:
case scSequentialUMinExpr:
case scAddRecExpr:
- for (const auto *Op : cast<SCEVNAryExpr>(S)->operands())
+ for (const auto *Op : cast<SCEVNAryExpr>(S)->operands()) {
push(Op);
+ if (Visitor.isDone())
+ break;
+ }
continue;
case scUDivExpr: {
const SCEVUDivExpr *UDiv = cast<SCEVUDivExpr>(S);