diff options
author | Jakub Kuderski <kubakuderski@gmail.com> | 2018-05-23 17:29:21 +0000 |
---|---|---|
committer | Jakub Kuderski <kubakuderski@gmail.com> | 2018-05-23 17:29:21 +0000 |
commit | ef33edd9b5e321a7248f30b7c9d1794039013b8b (patch) | |
tree | ead96ae540e48a0b65c865df4a17d346cd88fde8 /llvm/lib | |
parent | 3b768e8602cd1d739aaa7d0709aead5a38b47a23 (diff) | |
download | bcm5719-llvm-ef33edd9b5e321a7248f30b7c9d1794039013b8b.tar.gz bcm5719-llvm-ef33edd9b5e321a7248f30b7c9d1794039013b8b.zip |
[Dominators] Add PDT constructor from Function
Summary: This patch adds a PDT constructor from Function and lets codes previously using a local class to do this use PostDominatorTree class directly.
Reviewers: davide, kuhar, grosser, dberlin
Reviewed By: kuhar
Author: NutshellySima
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D46709
llvm-svn: 333102
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Analysis/PostDominators.cpp | 3 | ||||
-rw-r--r-- | llvm/lib/Transforms/IPO/SampleProfile.cpp | 6 |
2 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Analysis/PostDominators.cpp b/llvm/lib/Analysis/PostDominators.cpp index 8ccba689ec5..e6b660fe26d 100644 --- a/llvm/lib/Analysis/PostDominators.cpp +++ b/llvm/lib/Analysis/PostDominators.cpp @@ -69,8 +69,7 @@ AnalysisKey PostDominatorTreeAnalysis::Key; PostDominatorTree PostDominatorTreeAnalysis::run(Function &F, FunctionAnalysisManager &) { - PostDominatorTree PDT; - PDT.recalculate(F); + PostDominatorTree PDT(F); return PDT; } diff --git a/llvm/lib/Transforms/IPO/SampleProfile.cpp b/llvm/lib/Transforms/IPO/SampleProfile.cpp index 945c660aa78..1c53a82cf8a 100644 --- a/llvm/lib/Transforms/IPO/SampleProfile.cpp +++ b/llvm/lib/Transforms/IPO/SampleProfile.cpp @@ -37,6 +37,7 @@ #include "llvm/Analysis/InlineCost.h" #include "llvm/Analysis/LoopInfo.h" #include "llvm/Analysis/OptimizationRemarkEmitter.h" +#include "llvm/Analysis/PostDominators.h" #include "llvm/Analysis/ProfileSummaryInfo.h" #include "llvm/Analysis/TargetTransformInfo.h" #include "llvm/IR/BasicBlock.h" @@ -253,7 +254,7 @@ protected: /// Dominance, post-dominance and loop information. std::unique_ptr<DominatorTree> DT; - std::unique_ptr<PostDomTreeBase<BasicBlock>> PDT; + std::unique_ptr<PostDominatorTree> PDT; std::unique_ptr<LoopInfo> LI; std::function<AssumptionCache &(Function &)> GetAC; @@ -1365,8 +1366,7 @@ void SampleProfileLoader::computeDominanceAndLoopInfo(Function &F) { DT.reset(new DominatorTree); DT->recalculate(F); - PDT.reset(new PostDomTreeBase<BasicBlock>()); - PDT->recalculate(F); + PDT.reset(new PostDominatorTree(F)); LI.reset(new LoopInfo); LI->analyze(*DT); |