search for: profileinfo

Displaying 20 results from an estimated 101 matches for "profileinfo".

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 Basic Alias Analysis (default AA impl...
2009 Sep 10
1
[LLVMdev] Loading ProfileInfo in Backend. (Was: [PATCH] & Question: Preserving ProfileInfo for backend.)
...tion at each MachineBasicBlock with the following code, where > "bb" is a reference to the current MachineBasicBlock: > > PI->getExecutionCount(bb.getBasicBlock()) What does "llc -debug-pass=Structure" say? Is the ProfileLoaderPass really the last pass to touch the ProfileInfo before you are using it? Also, does bb.getBasicBlock() for sure always returns a valid block refrerence? You are getting the PI by getAnalysis<ProfileInfo>() I presume? Is this really the instance created by ProfileLoaderPass? (I guess for the last two questions its best to use gdb, are yo...
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 i=pred...
2009 Sep 10
2
[LLVMdev] Loading ProfileInfo in Backend. (Was: [PATCH] & Question: Preserving ProfileInfo for backend.)
Shuguang Feng wrote: >> 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? Yes. > Target Data Layout > Create Garbage Collector Module Metadata &...
2009 Dec 03
2
[LLVMdev] Preserving ProfileInfo in several Passes
Hi all, this (altough a big patch) is actually pretty straight forward: It (tries) to preserve ProfileInfo in all -std-compile-opts passes and all X86-Backend passes. There is still some passes that have corner cases where the ProfileInfo is not correct after the pass. Some passes are still missing... How shall I proceed with this? Andi -------------- next part -------------- A non-text attachment...
2009 Sep 10
0
[LLVMdev] Loading ProfileInfo in Backend. (Was: [PATCH] & Question: Preserving ProfileInfo for backend.)
...BasicBlockPlacement (a FunctionPass) also accesses the profile information and I assumed it worked (but haven't independently verified this). > Can you try to manually override the PI value in the > MyCodeGenPass::runOnMachineFunction() to the value seen in llc and then > access the ProfileInfo? Good suggestion. Unfortunately the end result is that for some blocks instead of seeing the sentinel value of "-1" I see other bogus execution counts instead. For example, llvm-prof prints out the following as the most frequently executed basic block: ## %% Frequency 1. 4.80...
2009 Dec 03
0
[LLVMdev] Preserving ProfileInfo in several Passes
Hello, Here are a few misc. comments on this patch. Would it make sense to mark the ProfileInfo passes as "CFGOnly?" If so, that would let them be automatically preserved by passes which don't modify the CFG (and that call AU.setPreservesCFG()). > + if (ProfileInfo* PI = getAnalysisIfAvailable<ProfileInfo>()) { > + PI->splitEdge(OrigPreHeader, NewHeader, New...
2005 Mar 17
2
[LLVMdev] Loading ProfileInfo
...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 counts. In llvm/Analysis/ProfileInfo.h, I noticed a prototype: Pass *createProfileLoaderPass(const std::string &Filename); The ProfileInfoLoaderPass does not appear in the list of analyses, presumably because it is regi...
2018 Aug 15
3
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
...<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. 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< Pr...
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 for execution counts in case >> + // no value is available. >> + static const int MissingValue = -1; > > This should be a double?...
2005 Mar 17
0
[LLVMdev] Loading ProfileInfo
...ramework. 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 counts. > > In llvm/Analysis/ProfileInfo.h, I noticed a prototype: > Pass *createProfileLoaderPass(const std::string &Filename); > > The ProfileInfoLoaderPass does not appear in the list of analyses, >...
2010 Feb 25
3
[LLVMdev] Using Profile Information
...r PassMgr = PassManager(); cl::opt<std::string> ProfileDataFile(cl::Positional, cl::desc("<llvmprof.out file>"), cl::Optional, cl::init("llvmprof.out")); PassMgr.add(createProfileLoaderPass(ProfileDataFile)); PassMgr.run(M); ProfileInfo *PI; PI = &getAnalysis<ProfileInfo>(); But this dosent seem to work. I want to perform profile guided analysis and thus want to use profile info. regards, Ambika
2009 Jul 01
12
[LLVMdev] Profiling in LLVM Patch
...k. 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. > [...] > > 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 > providers, just like we have with the current alias analysis interface....
2018 Aug 15
2
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
...gt;> 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. 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(); >>>>...
2009 Nov 17
4
[LLVMdev] PassManager again...
Hi, Devang Patel wrote: > On Tue, Nov 17, 2009 at 9:03 AM, Andreas Neustifter > <astifter-llvm at gmx.at> wrote: > >> Okay, so the ProfileInfoLoader is working, but when I examine the executions more closely I see that the ProfileInfo generated by the ProfileInfoLoader is immediately discarded, when the SelectionDAGISel kicks in the "No Profile Info"-Implementation is used: >> >> > 0x1c1a740 Executing Pass '...
2009 Sep 16
1
[LLVMdev] FunctionPass Analysis is not saved after ModulePasses run?
Hi, I have a problem with the following scenario: I use the ProfileEstimatorPass to get ProfileInfo and verifiy this info with the ProfileVerifierPass. (Please bear with me, its not about the profiling but about the Pass interaction.) Then the LowerSetJumpPass is executed and I want to verify that the esimtated ProfileInfo survives this pass by calling again the ProfileVerifierPass. This is what...
2009 Sep 09
2
[LLVMdev] [PATCH] & Question: Preserving ProfileInfo for backend.
...ts of -1 when I print them out in my MachineFunction pass. I access the profiling information at each MachineBasicBlock with the following code, where "bb" is a reference to the current MachineBasicBlock: PI->getExecutionCount(bb.getBasicBlock()) I believe I've integrated all the ProfileInfo* files from ToT with my LLVM-2.5 installation properly. The profiling code (and llvm-prof) seems to be working since llvm-prof is generating/printing the appropriate execution frequencies. Is there an obvious mistake that I could be making? Since I've had to customize my current installation...
2009 Jun 04
1
[LLVMdev] Get Analysis from PassManager
...ESSAGE----- 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 = LoaderPass->getAnalysis<ProfileInfo>(); ... but this does not seem to return the correct profiling information. Thanks, Andi -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - htt...
2009 Dec 02
0
[LLVMdev] Preserving ProfileInfo in Backend
Hi all, after some work I finally am able to preserve the ProfileInfo in quite some passes. My first question is how to deal with this patch. I have touched quite some code, everywhere are scattered bits of "preserving code" and a quite some additions to the ProfileInfo-API. I guess checking in the ProfileInfo part is not a problem, but how shall I pro...
2010 Jan 21
0
[LLVMdev] ProfileInfo Questions -- How to proceed?
...for profiling related posts, I hope that's enough to keep everyone happy. (I usually do not respond to build problems related to the runtime library libprofile since I really can not help in that cases, I hope this is okay too.) Chris and me talked a while ago that he would like to see the ProfileInfo implementation changed from an template-based one to a (void*)-based one (for a lack of better terms). I haven't wrapped my head around this, how important is this? Would it be a showstopper for 2.7 if this stuff is still template-based? And the (almost) last question: How shall I proceed wi...