diff --git a/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h b/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h index a9a46cc2968816..80443510d449c6 100644 --- a/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h +++ b/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h @@ -677,28 +677,21 @@ template class SCEVTraversal { case scTruncate: case scZeroExtend: case scSignExtend: - push(cast(S)->getOperand()); - continue; case scAddExpr: case scMulExpr: + case scUDivExpr: case scSMaxExpr: case scUMaxExpr: case scSMinExpr: case scUMinExpr: case scSequentialUMinExpr: case scAddRecExpr: - for (const auto *Op : cast(S)->operands()) { + for (const auto *Op : S->operands()) { push(Op); if (Visitor.isDone()) break; } continue; - case scUDivExpr: { - const SCEVUDivExpr *UDiv = cast(S); - push(UDiv->getLHS()); - push(UDiv->getRHS()); - continue; - } case scCouldNotCompute: llvm_unreachable("Attempt to use a SCEVCouldNotCompute object!"); }