Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] LoopPass Question"
2008 Aug 19
0
[LLVMdev] LoopPass Question
On Aug 19, 2008, at 12:32 PM, David Greene wrote:
> Are LoopPasses allowed to maintain state between runOnLoop
> invocations?
What kind of information are you looking to maintain between runOnLoop
invocations ?
>
> The documentation is not clear on this point.
doInitialization() and doFinalization() will be run for each pass
before and after runOnLoop().
For each pass
2008 Aug 19
1
[LLVMdev] LoopPass Question
On Tuesday 19 August 2008 15:15, Devang Patel wrote:
> On Aug 19, 2008, at 12:32 PM, David Greene wrote:
> > Are LoopPasses allowed to maintain state between runOnLoop
> > invocations?
>
> What kind of information are you looking to maintain between runOnLoop
> invocations ?
Cached analysis answers.
> > The documentation is not clear on this point.
>
>
2012 Dec 17
3
[LLVMdev] LoopPass doFinalization() called multiple times per program?
On Sun, Dec 16, 2012 at 7:23 AM, Duncan Sands <baldrick at free.fr> wrote:
> Hi Stephen,
>
>
> On 13/12/12 18:58, Stephen McGruer wrote:
>
>> I'm wondering if the documentation for LoopPass
>> (http://llvm.org/docs/**WritingAnLLVMPass.html#**LoopPass<http://llvm.org/docs/WritingAnLLVMPass.html#LoopPass>)
>> is misleading or
>> incorrect (or
2012 Dec 13
2
[LLVMdev] LoopPass doFinalization() called multiple times per program?
I'm wondering if the documentation for LoopPass (
http://llvm.org/docs/WritingAnLLVMPass.html#LoopPass) is misleading or
incorrect (or if I'm just missing something.) The documentation states:
"The doFinalization method ... is called when the pass framework has
finished calling
runOnLoop<http://llvm.org/docs/WritingAnLLVMPass.html#runOnLoop> for
every loop in the program being
2012 Dec 16
0
[LLVMdev] LoopPass doFinalization() called multiple times per program?
Hi Stephen,
On 13/12/12 18:58, Stephen McGruer wrote:
> I'm wondering if the documentation for LoopPass
> (http://llvm.org/docs/WritingAnLLVMPass.html#LoopPass) is misleading or
> incorrect (or if I'm just missing something.) The documentation states:
>
> "The doFinalization method ... is called when the pass framework has finished
> calling runOnLoop
2012 Dec 17
0
[LLVMdev] LoopPass doFinalization() called multiple times per program?
Hi Chandler,
On 17/12/12 13:47, Chandler Carruth wrote:
> On Sun, Dec 16, 2012 at 7:23 AM, Duncan Sands <baldrick at free.fr
> <mailto:baldrick at free.fr>> wrote:
>
> Hi Stephen,
>
>
> On 13/12/12 18:58, Stephen McGruer wrote:
>
> I'm wondering if the documentation for LoopPass
>
2011 Sep 12
1
[LLVMdev] IVUsers (LoopPass) analysis in a ModulePass?
Hi Tim,
> From: Tim Creech <tcreech at umd.edu>
> Subject: [LLVMdev] IVUsers (LoopPass) analysis in a ModulePass?
> Date: September 1, 2011 11:46:28 AM PDT
> To: llvmdev at cs.uiuc.edu
>
> Hi all,
> I have a loadable ModulePass which does transformations, and I would like to
> use IVUsers analysis within it. I noticed when I try to do this (via
> the usual
2011 Feb 28
1
[LLVMdev] LoopInfo of a basic block
On Mon, Feb 28, 2011 at 6:04 PM, Naznin Fauzia <laboni14 at gmail.com> wrote:
> Thanks Devang and John. My pass is actually a loop pass, not a function
> pass. So, I couldnt override the getAnalysisUsage.
>
A LoopPass is no different from a FunctionPass here. You can use
getAnalysisUsage and getAnalysis in a LoopPass.
> I am in a loop pass, I know the outermost loop. Now How
2011 Feb 28
2
[LLVMdev] LoopInfo of a basic block
On 2/28/11 4:43 PM, Devang Patel wrote:
>
> On Feb 28, 2011, at 2:35 PM, Naznin Fauzia wrote:
>
>> Hi all,
>>
>> How Can I get the Loops around an Instruction?
>>
>> I know I can get the basic block of an instruction using
>> inst.getParent() which returns a BasicBlock*. Now I want to use the
>> getLoopFor(BasicBlock) method of the class
2011 Jan 06
2
[LLVMdev] Identify Loops from within FunctionPass, or possible to intermix different types of Passes?
LLVMers,
I have a traversal plan which needs to visit certain types of Functions.
For each instruction in such functions, I will need to know:
1. is it located inside a loop
2. if yes, what level of loop nest it is currently in.
So on the highest level, it should be a FunctionPass. However, in order
to identify loops and loop-nest levels, it should also be a LoopPass.
Is there a reasonably
2012 Jul 23
1
[LLVMdev] llvm::LoopPass
Hi Edvard, _ZTIN4llvm8LoopPassE is "typeinfo for llvm::LoopPass". LLVM is
built without typeinfo, so you will need to build your pass with -fno-rtti.
Ciao, Duncan.
> I'm trying to implement LoopPass.
> Here is simple code :
>
> class LoopParser: public llvm::LoopPass
> {
> public:
> static char ID;
>
> public:
> virtual
2011 Feb 28
0
[LLVMdev] LoopInfo of a basic block
Thanks Devang and John. My pass is actually a loop pass, not a function
pass. So, I couldnt override the getAnalysisUsage.
I am in a loop pass, I know the outermost loop. Now How can I get the
loopInfo from here? I couldn't find helpful methods in the LoopInfo class
documents.
On Mon, Feb 28, 2011 at 5:52 PM, John Criswell <criswell at illinois.edu>wrote:
> On 2/28/11 4:43 PM,
2012 Jul 23
0
[LLVMdev] llvm::LoopPass
Hello .
I'm trying to implement LoopPass.
Here is simple code :
class LoopParser: public llvm::LoopPass
{
public:
static char ID;
public:
virtual void getAnalysisUsage(llvm::AnalysisUsage &AU) const
{
AU.addRequiredID(llvm::LoopSimplifyID);
AU.addPreservedID(llvm::LoopSimplifyID);
AU.addRequired<llvm::LoopInfo>();
}
2011 Jan 06
0
[LLVMdev] Identify Loops from within FunctionPass, or possible to intermix different types of Passes?
On Jan 6, 2011, at 9:21 AM, Chuck Zhao wrote:
> LLVMers,
>
> I have a traversal plan which needs to visit certain types of Functions. For each instruction in such functions, I will need to know:
> 1. is it located inside a loop
> 2. if yes, what level of loop nest it is currently in.
>
> So on the highest level, it should be a FunctionPass. However, in order to identify
2010 Aug 11
4
[LLVMdev] Optimization pass questions
I have a whole slew of questions about optimization passes. Answers to any or all would be extremely helpful:
How important are doInitialization/doFinalization? I can't detect any difference if I use them or not. Why does the function pass manager have doInitialization/doFinalization, but the global pass manager doesn't? If I am applying the function passes to many functions, do I
2011 Feb 28
0
[LLVMdev] LoopInfo of a basic block
On Feb 28, 2011, at 2:35 PM, Naznin Fauzia wrote:
> Hi all,
>
> How Can I get the Loops around an Instruction?
>
> I know I can get the basic block of an instruction using inst.getParent() which returns a BasicBlock*. Now I want to use the getLoopFor(BasicBlock) method of the class LoopInfo.
> But I dont know how to get the LoopInfo.
>
> BasicBlock* bb =
2010 Aug 12
0
[LLVMdev] Optimization pass questions
Larry,
On Wed, Aug 11, 2010 at 4:55 PM, Larry Gritz <lg at larrygritz.com> wrote:
> I have a whole slew of questions about optimization passes. Answers to any
> or all would be extremely helpful:
>
> How important are doInitialization/doFinalization?
Most of the passes do not use them.
> I can't detect any difference if I use them or not.
Say, if you are writing
2012 Nov 16
1
[LLVMdev] AddressSanitizer depends on order of doFinalization
Hello All,
There is an issue in AddressSanitizer today because it depends on it's doFinalization method be called before the Printer method to output the final code (that is the printer runOnModule call). This assumption seems invalid as the doFinalization method should AFAIK only be used for clean up tasks independent of activities of other passes.
When I try to call doFinalization inside
2009 Dec 17
2
[LLVMdev] Automatic Vectorization
Hi all,
I've sent it as a reply to another thread, but it was ill placed.
Anyway, sorry about the duplication, but here it goes.
I've been looking into the loop passes and noticed
we do alias analysis and scalar evolution only, trying to clean up the
loop as far as possible.
I suppose that, if we were to define SCCs, split them into groups and
re-arranging into multiple loops, we would
2014 Jan 22
2
[LLVMdev] Why should we have the LoopPass and LoopPassManager? Can we get rid of this complexity?
As came up recently in other threads, loop passes really get in the way.
Here are some of the ways:
- There is only one Loop analysis pass - IVUsers. It seems unlikely that
the loop nest walk is critical to computing this or preserving it.
- Almost all of the things we think of as "required" and dependencies are
actually *transforms* that canonicalize the form of a loop into particular