[llvm] c0081c1 - [NFC][SCEV] `getRelevantLoop()`: deduplicate handling
Roman Lebedev via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 22 06:49:13 PST 2023
Author: Roman Lebedev
Date: 2023-01-22T17:40:52+03:00
New Revision: c0081c13a0e4b6b12dcbfed8e3f24cb38f62f538
URL: https://github.com/llvm/llvm-project/commit/c0081c13a0e4b6b12dcbfed8e3f24cb38f62f538
DIFF: https://github.com/llvm/llvm-project/commit/c0081c13a0e4b6b12dcbfed8e3f24cb38f62f538.diff
LOG: [NFC][SCEV] `getRelevantLoop()`: deduplicate handling
Added:
Modified:
llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp b/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
index abb1496c72066..5a0292a9c87e8 100644
--- a/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
+++ b/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
@@ -684,32 +684,22 @@ const Loop *SCEVExpander::getRelevantLoop(const SCEV *S) {
case scTruncate:
case scZeroExtend:
case scSignExtend:
- case scPtrToInt: {
- const SCEVCastExpr *C = cast<SCEVCastExpr>(S);
- const Loop *Result = getRelevantLoop(C->getOperand());
- return RelevantLoops[C] = Result;
- }
- case scUDivExpr: {
- const SCEVUDivExpr *D = cast<SCEVUDivExpr>(S);
- const Loop *Result = PickMostRelevantLoop(
- getRelevantLoop(D->getLHS()), getRelevantLoop(D->getRHS()), SE.DT);
- return RelevantLoops[D] = Result;
- }
+ case scPtrToInt:
case scAddExpr:
case scMulExpr:
+ case scUDivExpr:
case scAddRecExpr:
case scUMaxExpr:
case scSMaxExpr:
case scUMinExpr:
case scSMinExpr:
case scSequentialUMinExpr: {
- const SCEVNAryExpr *N = cast<SCEVNAryExpr>(S);
const Loop *L = nullptr;
if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S))
L = AR->getLoop();
- for (const SCEV *Op : N->operands())
+ for (const SCEV *Op : S->operands())
L = PickMostRelevantLoop(L, getRelevantLoop(Op), SE.DT);
- return RelevantLoops[N] = L;
+ return RelevantLoops[S] = L;
}
case scUnknown: {
const SCEVUnknown *U = cast<SCEVUnknown>(S);
More information about the llvm-commits
mailing list