diff options
Diffstat (limited to 'llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h')
-rw-r--r-- | llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h | 5 |
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); |