search for: branchprobabilityinfowrapperpass

Displaying 5 results from an estimated 5 matches for "branchprobabilityinfowrapperpass".

2018 Aug 15
2
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
...generating edge count profile by the PGOInstrumentationGen pass and then interpreting the edge count profile with PGOInstrumentationUse. In the original code, where I had au.addRequired< ProfileInfo >(), I now have *au.addRequired< BlockFrequencyInfoWrapperPass >();au.addRequired< BranchProbabilityInfoWrapperPass >();* Now, I have the following queries. - How do I use the edge count and branch weights data obtained using PGOInstrumentationUse in my pass and replace the *getEdgeWeight()* from ProfileInfo? - If I call *getBlockProfileCount() *from the BlockFrequency pass, will that give me...
2018 Jan 26
1
PM: loop pass depending on the "outer" BPI analysis
...of "opt -irce test.ll" invocation, which does not work with a direct translation to "opt -passes=irce test.ll". It only works with explicit   opt -passes='require<branch-prob>,irce' test.ll Legacy pass manager version of IRCE does have an explicit dependency on BranchProbabilityInfoWrapperPass and that automatically installs that analysis into the pipeline before irce. How do I express that kind of dependency with new pass manager? If I did not miss something obvious that already handles these kinds of dependencies then what should be the best way to go? - Add BPI to LoopStandardAnal...
2018 Aug 15
3
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
...hen interpreting the edge count profile >> with PGOInstrumentationUse. >> >> In the original code, where I had >> au.addRequired< ProfileInfo >(), I now have >> >> >> *au.addRequired< BlockFrequencyInfoWrapperPass >();au.addRequired< >> BranchProbabilityInfoWrapperPass >();* >> Now, I have the following queries. >> >> - How do I use the edge count and branch weights data obtained using >> PGOInstrumentationUse in my pass and replace the *getEdgeWeight()* >> from ProfileInfo? >> >> > You can do > BPI.get...
2018 Aug 15
2
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
...OInstrumentationUse. >>>> >>>> In the original code, where I had >>>> au.addRequired< ProfileInfo >(), I now have >>>> >>>> >>>> *au.addRequired< BlockFrequencyInfoWrapperPass >();au.addRequired< >>>> BranchProbabilityInfoWrapperPass >();* >>>> Now, I have the following queries. >>>> >>>> - How do I use the edge count and branch weights data obtained >>>> using PGOInstrumentationUse in my pass and replace the >>>> *getEdgeWeight()* from ProfileInfo? >&gt...
2017 Jun 15
7
[RFC] Profile guided section layout
...()); + } + + StringRef getPassName() const override { return "CFGProfilePass"; } + +private: + bool runOnModule(Module &M) override; + + void getAnalysisUsage(AnalysisUsage &AU) const override { + AU.addRequired<BlockFrequencyInfoWrapperPass>(); + AU.addRequired<BranchProbabilityInfoWrapperPass>(); + } +}; + +bool CFGProfilePass::runOnModule(Module &M) { + if (skipModule(M)) + return false; + + llvm::DenseMap<std::pair<StringRef, StringRef>, uint64_t> Counts; + + for (auto &F : M) { + if (F.isDeclaration()) + continue; + getAnalysis<BranchProbab...