search for: profileinfoloaderpass

Displaying 20 results from an estimated 29 matches for "profileinfoloaderpass".

2005 Mar 17
2
[LLVMdev] Loading ProfileInfo
...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 registered as an "Opt". Do I need to explicitly request a LoaderPass in addition to ProfileInfo? What is the right way to do this? Thanks.
2009 Nov 20
2
[LLVMdev] PassManager again...
...Fri, Nov 20, 2009 at 6:54 AM, Andreas Neustifter <astifter-llvm at gmx.at> wrote: > > If I use  AU.addRequired<ProfileInfo>() in SelectionDAGISel.cpp the > wrong ProfileInfo is used. It uses the "No ProfileInfo" implementation > if ProfileInfo but not the one from ProfileInfoLoaderPass. (Which is > immediately discarded after creation.) > You need to debug pass manager yourself in a debugger to understand why pass manager is discarding ProfileInfoLoaderPass. Usually it is because 1) The pass manager does not know of any user of your pass - If that's not the case then...
2005 Mar 17
0
[LLVMdev] Loading ProfileInfo
...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 registered as an "Opt". Do I need to > explicitly request a LoaderPass in addition to ProfileInfo? What is > the right way to do this? Run opt with something like this: opt -profile-loader -profile-info-f...
2009 Nov 20
0
[LLVMdev] PassManager again...
...o > AU.setPreserved<ProfileInfo>(). So I have tried this for some days now, I don't get it: If I use AU.addRequired<ProfileInfo>() in SelectionDAGISel.cpp the wrong ProfileInfo is used. It uses the "No ProfileInfo" implementation if ProfileInfo but not the one from ProfileInfoLoaderPass. (Which is immediately discarded after creation.) When I use AU.addRequiredID(ProfileLoaderPassID) I get assertions that a normal constructor is not available. Interesting enough its not the ProfileInfoLoader constructor thats misssing but the one from MachineFunctionAnalysis, which indeed ha...
2005 Mar 18
2
[LLVMdev] Loading ProfileInfo
...ne > >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 registered as an "Opt". Do I need to > >explicitly request a LoaderPass in addition to ProfileInfo? What is > >the right way to do this? > > > Run opt with something like this: > >...
2009 Aug 24
3
[LLVMdev] Request Permission for approve-after-commit for Profiling Infrastructure.
...to have approve-after-commit permission for the following files: include/llvm/Analysis/ProfileInfo.h include/llvm/Analysis/ProfileInfoLoader.h include/llvm/Analysis/ProfileInfoTypes.h lib/Analysis/ProfileEstimatorPass.cpp lib/Analysis/ProfileInfo.cpp lib/Analysis/ProfileInfoLoader.cpp lib/Analysis/ProfileInfoLoaderPass.cpp lib/Transforms/Instrumentation/* runtime/libprofile/* Also I would have to add some modules (new files) in Analysis, Transforms/Instrumentation and libprofile. This would allow me to make the changes very incrementally and that in turn makes it easier to review the changes. Thanks, Andi - -...
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
2009 Jul 03
0
[LLVMdev] Profiling in LLVM Patch Followup 2
Hi, this is the second in a series of patches to cleanup and improve the LLVM Profiling Infrastructure. It depends on the previous patch from http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-July/023569.html The ProfileInfoLoaderPass was only dealing with edge profiling information, this patch adds support for block and function profiling information. Grettings, Andi
2009 Dec 03
0
[LLVMdev] PassManager again...
...: > > On Fri, Nov 20, 2009 at 6:54 AM, Andreas Neustifter wrote: >> >> If I use AU.addRequired<ProfileInfo>() in SelectionDAGISel.cpp the >> wrong ProfileInfo is used. It uses the "No ProfileInfo" implementation >> if ProfileInfo but not the one from ProfileInfoLoaderPass. (Which is >> immediately discarded after creation.) >> > > You need to debug pass manager yourself in a debugger to understand > why pass manager is discarding ProfileInfoLoaderPass. Usually it is > because > > 1) The pass manager does not know of any user of your pas...
2013 Sep 13
2
[LLVMdev] Removing legacy profiling code from LLVM
...eleted: lib/Analysis/ProfileDataLoader.cpp # deleted: lib/Analysis/ProfileDataLoaderPass.cpp # deleted: lib/Analysis/ProfileEstimatorPass.cpp # deleted: lib/Analysis/ProfileInfo.cpp # deleted: lib/Analysis/ProfileInfoLoader.cpp # deleted: lib/Analysis/ProfileInfoLoaderPass.cpp # deleted: lib/Analysis/ProfileVerifierPass.cpp # deleted: lib/Transforms/Instrumentation/EdgeProfiling.cpp # deleted: lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp # deleted: lib/Transforms/Instrumentation/PathProfiling.cpp Please let me know if y...
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) DWARF Information Writer No Profile Information Module Information ModulePass Manager Profiling information loader FunctionPass Manager Preliminary module verifi...
2009 Sep 10
2
[LLVMdev] Loading ProfileInfo in Backend. (Was: [PATCH] & Question: Preserving ProfileInfo for backend.)
..."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 > Basic Alias Analysis (default AA impl) > DWARF Information Writer > No Profile Information > Module Information > ModulePass Manager > FunctionPass Manager > Prelimi...
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 Jul 01
12
[LLVMdev] Profiling in LLVM Patch
.../Passes.h 2009-06-29 13:49:13.000000000 +0200 >> +++ llvm-c7/include/llvm/Analysis/Passes.h 2009-06-26 16:48:02.000000000 +0200 >> // createProfileLoaderPass - This pass loads information from a profile dump >> - // file. >> + // file. Since its possible to use the ProfileInfoLoaderPass not only from >> + // opt but also e.g. from llvm-prof and with different profile info filenames >> + // a creator is provided where the toolname and profile info filename can be >> + // provided. (The toolname is used to create proper error messages.) >> // >>...
2009 Jul 02
1
[LLVMdev] Profiling in LLVM Patch Followup 1
...sis anyways, the ProfileInfoLoader was demoted to be really only the interface to the profile information file. Since the llvm-prof was the only client of the synthesis portion of the ProfileInfoLoader it had to be changed to fetch this kind of information from the ProfileInfo with the help of the ProfileInfoLoaderPass. The next step are to *) add proper handling of an edge (0,entry) for each function to the Profiling Infrastructure *) provide a dedicated return value if the profiling information for a certain element is not available *) change the profiling values itself to double as preparation for future pass...
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 and analyze now. > Also, rather than requesting the pass interactively, can I somehow use > the constructo...
2013 Sep 13
0
[LLVMdev] Removing legacy profiling code from LLVM
...rofileDataLoader.cpp > # deleted: lib/Analysis/ProfileDataLoaderPass.cpp > # deleted: lib/Analysis/ProfileEstimatorPass.cpp > # deleted: lib/Analysis/ProfileInfo.cpp > # deleted: lib/Analysis/ProfileInfoLoader.cpp > # deleted: lib/Analysis/ProfileInfoLoaderPass.cpp > # deleted: lib/Analysis/ProfileVerifierPass.cpp > # deleted: lib/Transforms/Instrumentation/EdgeProfiling.cpp > # deleted: lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp > # deleted: lib/Transforms/Instrumentation/PathProfiling.cpp >...
2009 Jun 29
7
[LLVMdev] Profiling in LLVM Patch
...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 was duplicated in ProfileInfo or ProfileInfoLoaderPass; ProfileInfoLoader now really only performs the loading but not the post-processing) *) a new instrumentation pass that performs the optimal edge profiling instrumentation *) a helper module MaximumSpanningTree that selects the edges with have to be instrumented for optimal edge profili...
2009 Sep 10
0
[LLVMdev] Loading ProfileInfo in Backend. (Was: [PATCH] & Question: Preserving ProfileInfo for backend.)
> It *is* allowed to access ModulePass analysis information from an > FunctionPass? 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
2009 May 11
1
[LLVMdev] Introduction to the Profiling Infrastructure
Dear LLVM Developers: I am an undergraduate summer research student supervised by José Nelson Amaral at the University of Alberta. My work will primarily involve value profiling and path profiling. Andreas Neustifter is planning some changes to the profiling related code in LLVM (http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-February/020396.html). Are any of these changes in yet? Which