diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2015-02-01 12:01:35 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2015-02-01 12:01:35 +0000 |
commit | fdb9c573f754364bddee53e75049e9ddd6cc457a (patch) | |
tree | 9fec4c626857f9b2189bb31068d52ad9b2c5b879 /llvm/lib/Transforms/Scalar/LoopRotation.cpp | |
parent | bd57186c763f9c47a6da570f56aceabd830e32a0 (diff) | |
download | llvm-fdb9c573f754364bddee53e75049e9ddd6cc457a.zip llvm-fdb9c573f754364bddee53e75049e9ddd6cc457a.tar.gz llvm-fdb9c573f754364bddee53e75049e9ddd6cc457a.tar.bz2 |
[multiversion] Thread a function argument through all the callers of the
getTTI method used to get an actual TTI object.
No functionality changed. This just threads the argument and ensures
code like the inliner can correctly look up the callee's TTI rather than
using a fixed one.
The next change will use this to implement per-function subtarget usage
by TTI. The changes after that should eliminate the need for FTTI as that
will have become the default.
llvm-svn: 227730
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopRotation.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/LoopRotation.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopRotation.cpp b/llvm/lib/Transforms/Scalar/LoopRotation.cpp index 541afa5..2606805 100644 --- a/llvm/lib/Transforms/Scalar/LoopRotation.cpp +++ b/llvm/lib/Transforms/Scalar/LoopRotation.cpp @@ -101,10 +101,11 @@ bool LoopRotate::runOnLoop(Loop *L, LPPassManager &LPM) { // Save the loop metadata. MDNode *LoopMD = L->getLoopID(); + Function &F = *L->getHeader()->getParent(); + LI = &getAnalysis<LoopInfoWrapperPass>().getLoopInfo(); - TTI = &getAnalysis<TargetTransformInfoWrapperPass>().getTTI(); - AC = &getAnalysis<AssumptionCacheTracker>().getAssumptionCache( - *L->getHeader()->getParent()); + TTI = &getAnalysis<TargetTransformInfoWrapperPass>().getTTI(F); + AC = &getAnalysis<AssumptionCacheTracker>().getAssumptionCache(F); auto *DTWP = getAnalysisIfAvailable<DominatorTreeWrapperPass>(); DT = DTWP ? &DTWP->getDomTree() : nullptr; |