Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Using Profile Information"
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
2010 Feb 25
0
[LLVMdev] Using Profile Information
Ah BTW...
On 25.02.2010, at 17:33, ambika wrote:
> ProfileInfo *PI;
> PI = &getAnalysis<ProfileInfo>();
If this _in_ your pass, then you have to register the usage of this in
the getAnalysisUsage() method:
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<ProfileInfo>();
}
Also you have to ensure that the pass you are using is executed right
2009 Jun 04
1
[LLVMdev] Get Analysis from PassManager
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I try to write a tool that uses the PassManager to load profiling
information for a module like this:
...
ModulePass *LoaderPass = createProfileLoaderPass();
PassMgr.add(LoaderPass);
PassMgr.run(*M);
...
I can verify that the pass was run, but how to I get to the ProfileInfo
implemented by that pass?
I tried
...
ProfileInfo PI =
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
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
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 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
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
0
[LLVMdev] Loading ProfileInfo
On Thu, 17 Mar 2005, Eric Zimmerman wrote:
> Chris,
>
> Thanks, that worked. For my own understanding, I wondered if using
> the opt command-line is the only way to request a
> ProfileInfoLoaderPass? What if I want to use this information in the
> 'analyze' utility instead of 'opt'?
Ah, very reasonable :). If you update CVS, it should be available in both
opt
2010 Feb 23
2
[LLVMdev] Regarding a pass in LLVM
Thanks that helped me out.
But now I am facing one more problem. It says :
‘llvm::ModulePass* llvm::createMyAnaPass()’ should have been declared
inside ‘llvm’
but I can find no place to declare it.
Where should I do it.
John Criswell wrote:
> ambika at cse.iitb.ac.in wrote:
>> Hi,
>>
>> I am trying to add a pass inn LLVM, and I actually want to add it in
>> source
2010 Feb 22
2
[LLVMdev] Regarding a pass in LLVM
Hi,
I am trying to add a pass inn LLVM, and I actually want to add it in
source code, not just directly into object code.
For that I included the lines in my file MyAna.cpp
(llvm-2.6/lib/ana/MyAna.cpp)
char MyAna::ID = 0;
static RegisterPass<MyAna> X("my-aa","My Analysis");
static RegisterAnalysisGroup<AliasAnalysis> Y(X);
ModulePass *llvm::createMyAnaPass() {
2010 Feb 23
1
[LLVMdev] Regarding a pass in LLVM
I have done that. I have defined createMyAnaPass() in Passes.h and it is
defined in MyAna.cpp and used in LinkAllPasses.h
But still the error :
/home/ambika/llvm/llvm-obj/tools/opt/Release/opt.o: In function `global
constructors keyed to opt.cpp':
opt.cpp:(.text+0x1e89): undefined reference to `llvm::createMyAnaPass()'
I dont understand whats the problem.
Jianzhou Zhao wrote:
>
2010 Feb 23
0
[LLVMdev] Regarding a pass in LLVM
On Tue, Feb 23, 2010 at 7:17 AM, ambika <ambika at cse.iitb.ac.in> wrote:
> Thanks that helped me out.
> But now I am facing one more problem. It says :
>
> ‘llvm::ModulePass* llvm::createMyAnaPass()’ should have been declared
> inside ‘llvm’
>
> but I can find no place to declare it.
> Where should I do it.
We can do what scalar optimizations do.
All scalar passes
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
2010 Feb 22
0
[LLVMdev] Regarding a pass in LLVM
ambika at cse.iitb.ac.in wrote:
> Hi,
>
> I am trying to add a pass inn LLVM, and I actually want to add it in
> source code, not just directly into object code.
>
> For that I included the lines in my file MyAna.cpp
> (llvm-2.6/lib/ana/MyAna.cpp)
>
>
> char MyAna::ID = 0;
> static RegisterPass<MyAna> X("my-aa","My Analysis");
> static
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.
> [...]
2010 Mar 19
1
[LLVMdev] Debugging my pass with llvm
Hi,
I have a pass named MyAna in directory /llvm-obj/lib/myana
When i do make it compiles succesfully but when I try to load it I get a
segmentation fault, ie when I run
opt -load ../llvm-obj/Release/lib/MyAna.so -my-ana t.bc
I get segmentation fault.
I used bugpoint as :
bugpoint opt -load ../llvm-obj/Release/lib/MyAna.so -my-ana t.bc
I found out that some condition is failing in a file.
2009 Sep 10
1
[LLVMdev] Loading ProfileInfo in Backend. (Was: [PATCH] & Question: Preserving ProfileInfo for backend.)
Hi,
Shuguang Feng wrote:
> Thanks for such a rapid response!
>
>> Don't know about Passes in the backend, but this could be a problem of
>> an FunctionPassManager trying to use a ModulePass.
>
> I manually applied the patch you provided for llc (I'm using the 2.5
> release of LLVM not ToT) and it fixed my compilation error. When your
> patch replaced the
2009 Sep 10
0
[LLVMdev] Loading ProfileInfo in Backend. (Was: [PATCH] & Question: Preserving ProfileInfo for backend.)
> What does "llc -debug-pass=Structure" say? Is the ProfileLoaderPass
> really the last pass to touch the ProfileInfo before you are using it?
Below is the sequence of passes that I see. Although the
NoProfileInfo pass is being run, it should be subsequently overridden
by ProfileInfoLoaderPass (LoaderPass) correct?
Target Data Layout
Create Garbage Collector Module Metadata
2009 Sep 09
2
[LLVMdev] [PATCH] & Question: Preserving ProfileInfo for backend.
Thanks for such a rapid response!
> Don't know about Passes in the backend, but this could be a problem of
> an FunctionPassManager trying to use a ModulePass.
I manually applied the patch you provided for llc (I'm using the 2.5
release of LLVM not ToT) and it fixed my compilation error. When your
patch replaced the FunctionPassManager used by llc with a PassManager
the error went