diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2020-02-25 21:50:55 +0300 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2020-02-25 23:05:56 +0300 |
commit | 0789f280483e315d8bcb5e7005e04e7118983b21 (patch) | |
tree | 41bdfcc9cef824878041033cf25a1b862876ea23 /llvm/lib/Transforms/Utils/LoopUtils.cpp | |
parent | e11f9fb4508534d31b09d2ba6cd22428ccc75f65 (diff) | |
download | llvm-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.cpp | 12 |
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 = " |