search for: edgecount

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

Did you mean: 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*,...
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&...
2018 Aug 15
2
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
...ation available. The code snippet in my pass looks something like this. BasicBlock *header = loop->getHeader(); ProfileInfo &pi = getAnalysis< ProfileInfo >(); for(pred_iterator i=pred_begin(header), e=pred_end(header); i!=e; ++i) { BasicBlock *pred = *i; const double edgeCount = *pi.getEdgeWeight*( ProfileInfo::Edge(pred,header) ); */* Some code */* } Now, since ProfileInfo has been deprecated and we have PGOInstrumentation passes along with BranchProbability and BlockFrequency, I wish to update the above snippet, in particular, obtaining the edge weights (highlig...
2018 Aug 15
3
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
.... >> >> BasicBlock *header = loop->getHeader(); >> ProfileInfo &pi = getAnalysis< ProfileInfo >(); >> for(pred_iterator i=pred_begin(header), e=pred_end(header); i!=e; ++i) >> { >> BasicBlock *pred = *i; >> >> const double edgeCount = *pi.getEdgeWeight*( ProfileInfo::Edge(pred,header) ); >> */* Some code */* >> } >> >> Now, since ProfileInfo has been deprecated and we have PGOInstrumentation >> passes along with BranchProbability and BlockFrequency, I wish to update >> the above snippe...
2018 Aug 15
2
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
...>getHeader(); >>>> ProfileInfo &pi = getAnalysis< ProfileInfo >(); >>>> for(pred_iterator i=pred_begin(header), e=pred_end(header); i!=e; ++i) >>>> { >>>> BasicBlock *pred = *i; >>>> >>>> const double edgeCount = *pi.getEdgeWeight*( ProfileInfo::Edge(pred,header) ); >>>> */* Some code */* >>>> } >>>> >>>> Now, since ProfileInfo has been deprecated and we have >>>> PGOInstrumentation passes along with BranchProbability and BlockFrequency, &g...
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->e...