summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/BranchProbabilityInfo.cpp
diff options
context:
space:
mode:
authorXinliang David Li <davidxl@google.com>2016-05-05 02:59:57 +0000
committerXinliang David Li <davidxl@google.com>2016-05-05 02:59:57 +0000
commit6e5dd414817ce0ed4daad5ec61bfd0830126f78c (patch)
tree04c1d667f22280219b248dc0d97c6de5fe7e91f7 /llvm/lib/Analysis/BranchProbabilityInfo.cpp
parentc1e50d5090a23e8c4ad89fe0da443b6708f2d406 (diff)
downloadbcm5719-llvm-6e5dd414817ce0ed4daad5ec61bfd0830126f78c.tar.gz
bcm5719-llvm-6e5dd414817ce0ed4daad5ec61bfd0830126f78c.zip
[PM] Port Branch Probability Analysis pass to the new pass manager.
Differential Revision: http://reviews.llvm.org/D19839 llvm-svn: 268601
Diffstat (limited to 'llvm/lib/Analysis/BranchProbabilityInfo.cpp')
-rw-r--r--llvm/lib/Analysis/BranchProbabilityInfo.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/BranchProbabilityInfo.cpp b/llvm/lib/Analysis/BranchProbabilityInfo.cpp
index b431e621622..33036b72615 100644
--- a/llvm/lib/Analysis/BranchProbabilityInfo.cpp
+++ b/llvm/lib/Analysis/BranchProbabilityInfo.cpp
@@ -689,3 +689,20 @@ void BranchProbabilityInfoWrapperPass::print(raw_ostream &OS,
const Module *) const {
BPI.print(OS);
}
+
+char BranchProbabilityAnalysis::PassID;
+BranchProbabilityInfo
+BranchProbabilityAnalysis::run(Function &F, AnalysisManager<Function> &AM) {
+ BranchProbabilityInfo BPI;
+ BPI.calculate(F, AM.getResult<LoopAnalysis>(F));
+ return BPI;
+}
+
+PreservedAnalyses
+BranchProbabilityPrinterPass::run(Function &F, AnalysisManager<Function> &AM) {
+ OS << "Printing analysis results of BPI for function "
+ << "'" << F.getName() << "':"
+ << "\n";
+ AM.getResult<BranchProbabilityAnalysis>(F).print(OS);
+ return PreservedAnalyses::all();
+}
OpenPOWER on IntegriCloud