From 6e5dd414817ce0ed4daad5ec61bfd0830126f78c Mon Sep 17 00:00:00 2001 From: Xinliang David Li Date: Thu, 5 May 2016 02:59:57 +0000 Subject: [PM] Port Branch Probability Analysis pass to the new pass manager. Differential Revision: http://reviews.llvm.org/D19839 llvm-svn: 268601 --- llvm/lib/Analysis/BranchProbabilityInfo.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'llvm/lib/Analysis/BranchProbabilityInfo.cpp') 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 &AM) { + BranchProbabilityInfo BPI; + BPI.calculate(F, AM.getResult(F)); + return BPI; +} + +PreservedAnalyses +BranchProbabilityPrinterPass::run(Function &F, AnalysisManager &AM) { + OS << "Printing analysis results of BPI for function " + << "'" << F.getName() << "':" + << "\n"; + AM.getResult(F).print(OS); + return PreservedAnalyses::all(); +} -- cgit v1.2.3