similar to: [LLVMdev] FunctionPass Analysis is not saved after ModulePasses run?

Displaying 20 results from an estimated 800 matches similar to: "[LLVMdev] FunctionPass Analysis is not saved after ModulePasses run?"

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
2013 Sep 13
2
[LLVMdev] Removing legacy profiling code from LLVM
Alright, I'm ready to nuke it. Last chance to say stop. For context of others, this has come up repeatedly: no one we know of is using EdgeProfiling.cpp, PathProfiling.cpp, and the lib/Analysis/Profile*Pass.cpp collection of tools. They haven't been updated since 2012 when Alastair Murray looked into this stuff, and both current efforts towards PGO are essentially *totally* different
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
2013 Sep 13
0
[LLVMdev] Removing legacy profiling code from LLVM
BTW, this will also remove the entire 'runtime' directory in the LLVM repository. Runtime libraries are now being developed in compiler-rt. That is where the GCDA profiling runtime already lives and any new instrumentation based profiling runtime would also likely live there. If the code in the existing runtime tree is needed to start building those, they can always be found in the VCS
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 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. >
2011 May 30
1
[LLVMdev] about writing a functionpass requiring a modulepass
---------- Forwarded message ---------- From: Qingan Li <ww345ww at gmail.com> Date: 2011/5/30 Subject: To: llvmdev at cs.uiuc.edu Hi, I wrote an analysis pass, myPass, inherited from both ModulePass and ProfileInfo, and this pass requires the CallGraph, i.e., * class myPass : public ModulePass, public ProfileInfo { ...};* * void myPass::getAnalysisUsage(AnalysisUsage &AU) const
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 >>
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. > [...]
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 Aug 24
3
[LLVMdev] Request Permission for approve-after-commit for Profiling Infrastructure.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, since I'm planing on a whole bunch of changes in the area of the Profiling Infrastructure I would like to ask humbly if it is possible 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
2012 Jul 16
2
[LLVMdev] RFC: Profiling Enhancements (GSoC)
Hi all, In light of the expected removal of ProfileInfo this is a request for comments on the next few items that I now plan to work on for GSoC. Planned tasks: #0 Add support for determining branch weight metadata by profiling At the absolute minimum this will require writing a new profile loader which will set branch weight metadata based on profiling data. #1 Optionally use profiling
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
2012 Jul 17
0
[LLVMdev] RFC: Profiling Enhancements (GSoC)
Hi Alastair, In addition to your planned tasks, you might want to put in some work to ensure branch probabilities are not lost during optimization. One known issue is LLVM optimizer can turn branchy code into switch statements and it would completely discard probability. Here is a simple example: static void func2(int N, const int *a, const int *b, int *c) __attribute__((always_inline)); void
2012 Dec 12
1
[LLVMdev] ProfileEstimator inconsistency
Hello all, I was trying to use the profile estimator and ran into the following issue. An initial weight is assigned to a function entry in lib/Analysis/ProfileEstimator.cpp on line 340. In the code this weight is pow(2.0, 32.0) whereas the comment three lines up explains that this should be 1.0 Can someone fix this in trunk? (replacing 'pow(2.0, 32.0)' with '1.0' worked for
2009 Sep 09
2
[LLVMdev] [PATCH] & Question: Preserving ProfileInfo for backend.
Hi, Does the current LLVM backend support reading in profile information (without preserving across transformations)? An earlier poster http://groups.google.com/group/llvm-dev/browse_thread/thread/4bd65dbe84394bb7 noted that accessing execution counts in a MachineFunction pass (using the BasicBlock* corresponding to the respective MachineBasicBlock) returned 0 for all blocks. Running llc with
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 09
0
[LLVMdev] [PATCH] & Question: Preserving ProfileInfo for backend.
Hi, Shuguang Feng wrote: > Does the current LLVM backend support reading in profile information > (without preserving across transformations)? An earlier poster Yes, it does. > http://groups.google.com/group/llvm-dev/browse_thread/thread/4bd65dbe84394bb7 > > noted that accessing execution counts in a MachineFunction pass (using > the BasicBlock* corresponding to the respective
2012 Jul 15
0
[LLVMdev] FYI: Planning to remove ProfileInfo and related passes from LLVM
Hi Chandler, I'm a GSoC student working on profiling support (mentor CC'ed). I'm no stranger to the issues with the current system: my original proposal was written without knowledge of the limitations. This is why this list hasn't heard much from me yet. I would like to continue working on profiling support but I'm not attached to ProfileInfo and wouldn't be
2009 May 13
0
[LLVMdev] ModulePass using BreakCriticalEdges [Followup]
Hi, Andreas Neustifter wrote: > I'm writing a ModulePass that needs critical edges split up. I have the > statement > > AU.addRequiredID(BreakCriticalEdgesID); > > in my getAnalysisUsage() but the pass never gets executed. > > I guess I have to request pass execution for each function, but I can't > get behind how to do that, since there is no analysis group