search for: edgecounts

Displaying 9 results from an estimated 9 matches for "edgecounts".

2009 Jul 01
0
[LLVMdev] Profiling in LLVM Patch
...h 2009-05-12 10:37:52.000000000 +0200 > +++ llvm-c7/include/llvm/Analysis/ProfileInfo.h 2009-06-26 16:47:01.000000000 +0200 Keep in mind that most comments here are assuming this functionality is moved to a subclass specific to optimal edge profiling. > protected: > - // EdgeCounts - Count the number of times a transition between two blocks is > - // executed. As a special case, we also hold an edge from the null > - // BasicBlock to the entry block to indicate how many times the function was > - // entered. > - std::map<std::pair<BasicBlock*, B...
2009 Jun 29
7
[LLVMdev] Profiling in LLVM Patch
Hi all, as proposed in http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-February/020396.html I implemented the algorithm presented in [Ball94]. It only instruments the minimal number of edges necessary for edge profiling. The main changes introduced by this patch are: *) a interface compatible rewrite of ProfileInfo *) a cleanup of ProfileInfoLoader (some functionality in ProfileInfoLoader
2009 Jul 01
12
[LLVMdev] Profiling in LLVM Patch
...0000 +0200 >> +++ llvm-c7/include/llvm/Analysis/ProfileInfo.h 2009-06-26 16:47:01.000000000 +0200 > > Keep in mind that most comments here are assuming this functionality is moved to > a subclass specific to optimal edge profiling. > >> protected: >> - // EdgeCounts - Count the number of times a transition between two blocks is >> - // executed. As a special case, we also hold an edge from the null >> - // BasicBlock to the entry block to indicate how many times the function was >> - // entered. >> - std::map<std::pair&l...
2018 Aug 15
2
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
Hey all, I have a piece of code (written in LLVM 2.8) which uses profiling results produced by ProfileInfo. It essentially computes the number of iterations performed by a loop from the profiling information available. The code snippet in my pass looks something like this. BasicBlock *header = loop->getHeader(); ProfileInfo &pi = getAnalysis< ProfileInfo >(); for(pred_iterator
2018 Aug 15
3
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
Thank you so much for your response. On Wed, Aug 15, 2018 at 3:08 PM, Xinliang David Li <xinliangli at gmail.com> wrote: > > > On Wed, Aug 15, 2018 at 7:36 AM Malhar Thakkar via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hey all, >> >> I have a piece of code (written in LLVM 2.8) which uses profiling results >> produced by ProfileInfo.
2018 Aug 15
2
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
On Wed, Aug 15, 2018 at 1:28 PM Xinliang David Li <xinliangli at gmail.com> wrote: > > > On Wed, Aug 15, 2018 at 12:46 PM Malhar Thakkar <cs13b1031 at iith.ac.in> > wrote: > >> Thank you so much for your response. >> >> On Wed, Aug 15, 2018 at 3:08 PM, Xinliang David Li <xinliangli at gmail.com> >> wrote: >> >>> >>>
2009 Jul 14
0
[LLVMdev] Profiling in LLVM Patch Followup 1
...vision 74697) > +++ include/llvm/Analysis/Passes.h (working copy) ... > + ModulePass *createProfileLoaderPass(ProfileInfoLoader *PIL); I avoided the need for this by just loading the profile info twice, as a sort of intermediate step. > + std::vector<unsigned> ECs = PIL->getRawEdgeCounts(); This copies the vector, it should be a (const) refererence. > + // Instrument all of the edges... > + unsigned i = 0; > + for (Module::iterator F = M.begin(), E = M.end(); F != E; ++F) > + for (Function::iterator BB = F->begin(), E = F->end(); BB != E; ++BB) { > +...
2009 Jul 02
1
[LLVMdev] Profiling in LLVM Patch Followup 1
Hi, this is the first in a series of patches to cleanup and improve the LLVM Profiling Infrastructure. First and foremost this patch removes duplicate functionality from ProfileInfoLoader and ProfileInfo: The ProfileInfoLoader performed not only the loading of the profile information but also some synthesis of block and function execution counts from edge profiling information. Since the
2009 Jul 22
4
[LLVMdev] Profiling in LLVM Patch Followup 1
...vm/Analysis/Passes.h (working copy) > ... >> + ModulePass *createProfileLoaderPass(ProfileInfoLoader *PIL); > > I avoided the need for this by just loading the profile info twice, as > a sort of intermediate step. > >> + std::vector<unsigned> ECs = PIL->getRawEdgeCounts(); > > This copies the vector, it should be a (const) refererence. > >> + // Instrument all of the edges... >> + unsigned i = 0; >> + for (Module::iterator F = M.begin(), E = M.end(); F != E; ++F) >> + for (Function::iterator BB = F->begin(), E = F->en...