similar to: [LLVMdev] Timing information out of the profiler

Displaying 20 results from an estimated 100000 matches similar to: "[LLVMdev] Timing information out of the profiler"

2009 Aug 18
3
[LLVMdev] Profiling in LLVM Patch Followup 1
Hi! Daniel Dunbar wrote: > Applied as r78477. > > I do have a few comments on the patch, below, but I'll wait to see > where things are going before acting on them. :) > > -- > >> Index: include/llvm/Analysis/ProfileInfo.h >> =================================================================== > >> + // MissingValue - The value that is returned
2009 Jul 14
0
[LLVMdev] Profiling in LLVM Patch Followup 1
Hi Andreas, Thanks for breaking things up. I applied two pieces of this patch in separate no-functionality-change commits, here: http://llvm.org/viewvc/llvm-project?view=rev&revision=75623 and here: http://llvm.org/viewvc/llvm-project?view=rev&revision=75625 I merged in my changes to your patch, which results in the attached patch. There may be some missed merge errors. The main
2009 Aug 08
0
[LLVMdev] Profiling in LLVM Patch Followup 1
Applied as r78477. I do have a few comments on the patch, below, but I'll wait to see where things are going before acting on them. :) -- > Index: include/llvm/Analysis/ProfileInfo.h > =================================================================== > + // MissingValue - The value that is returned for execution counts in case > + // no value is available. > +
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 02
0
[LLVMdev] Profiling in LLVM Patch
On Wed, Jul 1, 2009 at 2:36 AM, Andreas Neustifter<e0325716 at student.tuwien.ac.at> wrote: >> [...] >> >> 1. The intent of ProfileInfo is that it is the public interface used by the rest >> of LLVM for all "profiling" related analyses. As such, we want it to have a >> thin, well-defined interface which can be implemented by multiple analysis >>
2012 Sep 19
0
[LLVMdev] counting branch frequencies
Another issue is with ProfileInfo::getExecutionCount(Function* F). Looking at the source code and results, I am seeing that it always returns the execution count of the entry basic block of the function. If the entry basic block is part of a loop, its execution count does not match the function invocation count. Is my assumption wrong, that ProfileInfo::getExecutionCount(Function* F) is
2009 Jul 01
12
[LLVMdev] Profiling in LLVM Patch
Hi Daniel, Daniel Dunbar wrote: > Hi Andreas, > > First, thanks again for undertaking this work and submitting it back. There is a > lot of good stuff here and it would be great to see it get back into the tree. Thanks for taking the time to review this, I know its a huge patch. I still have a few questions on how you would like this patch to be re-factored and split up. > [...]
2012 Sep 19
1
[LLVMdev] counting branch frequencies
Can we not run the -insert-edge-profiling and -profile-loader passes at the beginning of the opt? Orthogonal point is, is it worth doing any optimizations when -insert-edge-profiling is specified on command line? -Prashantha -----Original Message----- From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Alastair Murray Sent: Wednesday, September 19, 2012
2008 Nov 02
0
[LLVMdev] Strange behaviour with profile data loading
Hello: I am following the example code in BasicBlockPlacement.cpp. That transformation relies on basic block execution frequencies that have been read from a profile file. This is how it loads the profile data: 1. In getAnalysisUsage, it calls addRequired<ProfileInfo>(), and 2. In the runOnFunction, it calls getAnalysis<ProfileInfo>() which returns a ProfileInfo object pointer.
2005 Mar 17
2
[LLVMdev] Loading ProfileInfo
Hi LLVMers, I am fairly new to the LLVM pass framework. My goal is to extend the CFGPrinter analysis pass to label the edges of the graph with their edge-counts from profile data. I can generate the CFGs using 'analyze', but I am having trouble loading the profile data. I added the line AU.addRequired<ProfileInfo>(); to the getAnalysisUsage. It is returning zero for all the edge
2009 Jul 01
0
[LLVMdev] Profiling in LLVM Patch
Hi Andreas, First, thanks again for undertaking this work and submitting it back. There is a lot of good stuff here and it would be great to see it get back into the tree. I have a few major high-level comments on the patch. First off, the patch is quite large and should be broken down into separate incremental changes which are easier to review and apply. I think the patches should more or less
2005 Mar 17
0
[LLVMdev] Loading ProfileInfo
On Wed, 16 Mar 2005, Eric Zimmerman wrote: > Hi LLVMers, > > I am fairly new to the LLVM pass framework. My goal is to extend the > CFGPrinter analysis pass to label the edges of the graph with their > edge-counts from profile data. > > I can generate the CFGs using 'analyze', but I am having trouble > loading the profile data. I added the line >
2005 Mar 18
2
[LLVMdev] Loading ProfileInfo
On Wed, Mar 16, 2005 at 09:16:20PM -0600, Chris Lattner wrote: > >I am fairly new to the LLVM pass framework. My goal is to extend the > >CFGPrinter analysis pass to label the edges of the graph with their > >edge-counts from profile data. > > > >I can generate the CFGs using 'analyze', but I am having trouble > >loading the profile data. I added the
2012 Sep 19
3
[LLVMdev] counting branch frequencies
Thanks everyone for the replies. After some experimentation, I found that the order in which the passes are specified matters: opt -O3 -profile-loader matmult.bc -o matmult.opt.bc (works) opt -profile-loader -O3 matmult.bc -o matmult.opt.bc (does not work) Also, I am able to avoid the inconsistency warning only for optimization levels -O3 and -O2. I get that warning when using -O1 and
2009 Jul 22
4
[LLVMdev] Profiling in LLVM Patch Followup 1
Hi Daniel! Daniel Dunbar wrote: > I merged in my changes to your patch, which results in the attached > patch. There may be some missed merge errors. The main problem I have > with the rest of this patch is that it causes a regression in > llvm-prof's behavior. I tried running edge profiling on the > MultiSource/Applications/aha benchmark in the llvm test-suite, and >
2012 Sep 19
0
[LLVMdev] counting branch frequencies
Hi Apala, Dibyendu is correct that this is likely due to pass order, but things get a bit complicated with -O[1-9] or -std-compile-opts as they insert early passes *before* the profiling code. I recommend that you use identical optimizations to insert instrumentation and to load the profiling data. E.g.: opt -insert-edge-profiling -O3 foo.bc -o foo.2.bc opt -profile-loader -O3 foo.bc
2012 Sep 26
0
[LLVMdev] Error while loading profile information
Hi all, I am trying to load a profile information (llvmprof.out) which has been separately created, to get the execution count of each basic block and use it to estimate the execution count of machine basic blocks for getting how many times any instruction gets executed, for ARM specifically. The error on running the code comes as: clang: PassManager.cpp:601: void
2012 Aug 09
0
[LLVMdev] Profile Based Branch Weight Metadata
Hi Alastair, Your patch looks great. I am new on this part of llvm. Why do we want to get rid of ProfileInfo? Is there any email thread related to this? I understand that we want to setBranchWeightMetadata from the profiling data generated by -insert-edge-profiling. I thought the existing loader can parse the profiling data and map the data to the IR, and only the setting of metadata is missing.
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
2010 Feb 26
1
[LLVMdev] Using Profile Information
I have not made a separate pass. I have done it in single pass ie added ProfileLoaderPass , got information in PI and now I am planning to perform the analysis here itself. I was trying to print information using ProfileInfoPrinter pass but was unable to do it. namespace { class MyAna : public ModulePass { ProfileInfo *PI; public: static char ID; // Class identification, replacement