aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUtils.cpp
diff options
context:
space:
mode:
authorRoman Lebedev <lebedev.ri@gmail.com>2020-02-25 21:50:55 +0300
committerRoman Lebedev <lebedev.ri@gmail.com>2020-02-25 23:05:56 +0300
commit0789f280483e315d8bcb5e7005e04e7118983b21 (patch)
tree41bdfcc9cef824878041033cf25a1b862876ea23 /llvm/lib/Transforms/Utils/LoopUtils.cpp
parente11f9fb4508534d31b09d2ba6cd22428ccc75f65 (diff)
downloadllvm-0789f280483e315d8bcb5e7005e04e7118983b21.zip
llvm-0789f280483e315d8bcb5e7005e04e7118983b21.tar.gz
llvm-0789f280483e315d8bcb5e7005e04e7118983b21.tar.bz2
[NFC][SCEV] Piping to pass TTI into SCEVExpander::isHighCostExpansionHelper()
Summary: Future patches will make use of TTI to perform cost-model-driven `SCEVExpander::isHighCostExpansionHelper()` This is a fully NFC patch to make things reviewable. Reviewers: reames, mkazantsev, wmi, sanjoy Reviewed By: mkazantsev Subscribers: hiraditya, zzheng, javed.absar, dmgreen, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73704
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/LoopUtils.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/Utils/LoopUtils.cpp b/llvm/lib/Transforms/Utils/LoopUtils.cpp
index 938852d..0e8f591 100644
--- a/llvm/lib/Transforms/Utils/LoopUtils.cpp
+++ b/llvm/lib/Transforms/Utils/LoopUtils.cpp
@@ -1267,10 +1267,12 @@ static bool canLoopBeDeleted(Loop *L, SmallVector<RewritePhi, 8> &RewritePhiSet)
return true;
}
-int llvm::rewriteLoopExitValues(Loop *L, LoopInfo *LI,
- TargetLibraryInfo *TLI, ScalarEvolution *SE, SCEVExpander &Rewriter,
- DominatorTree *DT, ReplaceExitVal ReplaceExitValue,
- SmallVector<WeakTrackingVH, 16> &DeadInsts) {
+int llvm::rewriteLoopExitValues(Loop *L, LoopInfo *LI, TargetLibraryInfo *TLI,
+ ScalarEvolution *SE,
+ const TargetTransformInfo *TTI,
+ SCEVExpander &Rewriter, DominatorTree *DT,
+ ReplaceExitVal ReplaceExitValue,
+ SmallVector<WeakTrackingVH, 16> &DeadInsts) {
// Check a pre-condition.
assert(L->isRecursivelyLCSSAForm(*DT, *LI) &&
"Indvars did not preserve LCSSA!");
@@ -1359,7 +1361,7 @@ int llvm::rewriteLoopExitValues(Loop *L, LoopInfo *LI,
hasHardUserWithinLoop(L, Inst))
continue;
- bool HighCost = Rewriter.isHighCostExpansion(ExitValue, L, Inst);
+ bool HighCost = Rewriter.isHighCostExpansion(ExitValue, L, TTI, Inst);
Value *ExitVal = Rewriter.expandCodeFor(ExitValue, PN->getType(), Inst);
LLVM_DEBUG(dbgs() << "rewriteLoopExitValues: AfterLoopVal = "