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...