Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Preserving Analysis in ALL Passes"
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 Nov 20
0
[LLVMdev] PassManager again...
Hi.
On 11/17/2009 08:16 PM, Andreas Neustifter wrote:
> 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
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 Nov 20
2
[LLVMdev] PassManager again...
On 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
2009 Nov 17
2
[LLVMdev] PassManager again...
Hi,
I have trouble making my ProfileInfo-Analysis available in the backend, I have changed llc so it loads the ProfileInfo if requested, the PassManger gives this output:
> Target Data Layout
> Create Garbage Collector Module Metadata
> Basic Alias Analysis (default AA impl)
> DWARF Information Writer
> No Profile Information
> Module Information
> ModulePass
2009 Nov 17
0
[LLVMdev] PassManager again...
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
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 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.
>
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,
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
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 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 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 Dec 07
1
[LLVMdev] Preserving ProfileInfo in several Passes
Hi!
On 12/03/2009 07:50 PM, Dan Gohman wrote:
> 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()).
Yes, it would, how do I do this? :-)
>> +
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
2009 Dec 03
0
[LLVMdev] PassManager again...
Hi all!
On 11/20/2009 06:29 PM, Devang Patel wrote:
>
> 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
>>
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
2009 Sep 08
2
[LLVMdev] [PATCH] & Question: Preserving ProfileInfo for backend.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
the second part of my work is to preserve the profiling information
through all the transformation passes and make it available to the
backend machinery.
Attached is an example patch on how I plan to preserve the information
for a given transformation pass.
And now comes the question into place: whats the best way to attach the
profile info
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 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.
> [...]