Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Adding required function passes to CallGraphSCCPass"
2010 Jul 23
0
[LLVMdev] Controlling the order of a FunctionPass
Trevor Harmon wrote:
> On Jul 22, 2010, at 2:05 PM, John Criswell wrote:
>
>
>> If you write your pass as a ModulePass, then you can iterate over the
>> functions in any order that you want.
>>
>
> I had considered that, but my FunctionPass depends on other passes
> processing the functions first:
>
Two things to consider:
1) The PassManager
2010 Jul 24
2
[LLVMdev] Controlling the order of a FunctionPass
John Criswell wrote:
> Trevor Harmon wrote:
>> On Jul 22, 2010, at 2:05 PM, John Criswell wrote:
>>
>>
>>> If you write your pass as a ModulePass, then you can iterate over the
>>> functions in any order that you want.
>>>
>>
>> I had considered that, but my FunctionPass depends on other passes
>> processing the functions first:
2010 Jul 22
3
[LLVMdev] Controlling the order of a FunctionPass
On Jul 22, 2010, at 2:05 PM, John Criswell wrote:
> If you write your pass as a ModulePass, then you can iterate over the
> functions in any order that you want.
I had considered that, but my FunctionPass depends on other passes
processing the functions first:
void MyPass::getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<UnifyFunctionExitNodes>();
2010 Jul 22
0
[LLVMdev] Controlling the order of a FunctionPass
Trevor Harmon wrote:
> Hi,
>
> I would like my FunctionPasses to be invoked in reverse call graph
> order (callees before callers). However, "Writing an LLVM Pass" notes
> that "FunctionPass's do not require that they are executed in a
> particular order." Is there any way at all to specify an ordering?
>
> If this is not possible, I'm
2010 Jul 12
3
[LLVMdev] CallGraphSCCPass: symbol not found
Hi,
I've written a CallGraphSCCPass that compiles successfully, but when I
try to run it with opt, it fails:
Symbol not found: __ZTIN4llvm16CallGraphSCCPassE
If I simply change the pass to be a FunctionPass or a ModulePass, opt
can run it just fine.
I'm on Mac OS X, so I thought perhaps I was running into bug #2771
[1], but I'm getting the same error on Ubuntu Linux:
2011 Oct 25
1
[LLVMdev] Using a FunctionPass inside a CallGraphSCCPass
Hi,
I am writing a CallGraphSCCPass that uses LoopInfo which is a FunctionPass.
However, doing so results in the following error.
****
Unable to schedule 'Natural Loop Information' required by '......'
****
Google led me to this page, where Devang Patel suggests implementing the
addLowerLevelRequiredPasses in CGPassManager in a manner similar to
MPPassManager.
2010 Jul 22
2
[LLVMdev] Controlling the order of a FunctionPass
Hi,
I would like my FunctionPasses to be invoked in reverse call graph
order (callees before callers). However, "Writing an LLVM Pass" notes
that "FunctionPass's do not require that they are executed in a
particular order." Is there any way at all to specify an ordering?
If this is not possible, I'm thinking of a workaround in which my
runOnFunction method
2006 May 03
1
[LLVMdev] Patch for transform dependencies
Hi,
A number of transforms are actually independent, so here's a partial fix. I
updated the
dependencies in a cluster of transforms: LowerSwitch, Mem2Reg, LowerSelect,
LowerAllocations, UnifyFunctionExitNodes.
The patch has been tested, but not extensively. PassManager doesn't
complain, and
the result of a test pass that requires all these (except for
LowerAllocations) together
works
2010 Jul 01
0
[LLVMdev] Warnings when using opt for read-only (preserving) passes
Trevor Harmon wrote:
> Hi,
>
> I've written a FunctionPass that happens to be read-only (preserving):
> It doesn't modify the code in any way; it just does some analysis and
> dumps out the results for each function by overriding
> FunctionPass::print. I now need to make some changes to the pass, and
> these changes will mean that the results cannot be known until all
2010 Jun 30
2
[LLVMdev] Warnings when using opt for read-only (preserving) passes
Hi,
I've written a FunctionPass that happens to be read-only (preserving):
It doesn't modify the code in any way; it just does some analysis and
dumps out the results for each function by overriding
FunctionPass::print. I now need to make some changes to the pass, and
these changes will mean that the results cannot be known until all
functions have been visited. So there's
2012 Oct 03
0
[LLVMdev] LoopInfo analysis in CallGraphSCCPass
On Wed, Oct 3, 2012 at 2:33 AM, vinay m <mvinay05041990 at gmail.com> wrote:
> Hi,
> Is it possible to recreate the LoopInfo analysis in my pass?
>
No. You need your pass to be a FunctionPass in order to use the LoopInfo
(and associated) analyses.
>
> Thanks ,
> Vinay
>
> On Wed, Oct 3, 2012 at 2:34 PM, Chandler Carruth <chandlerc at google.com>wrote:
2010 Nov 22
0
[LLVMdev] pass visibility question
Hi developers,
I have some problems using a non-default alias analysis. I wrote a
modulepass which needs a functionpass. The functionpass needs a type
bases alias analysis instead of the basicaa. I added the command line
parameter for this analysis to the opt invocation as follows:
opt -tbaa -global-live-values test.bc
The 'global-live-values' pass preserves all and requires a
2010 Jul 14
0
[LLVMdev] CallGraphSCCPass: symbol not found
-----Original Message-----
From: Trevor Harmon <Trevor.W.Harmon at nasa.gov>
Sent: Tuesday, July 13, 2010 4:46 PM
To: Duncan Sands <baldrick at free.fr>
Cc: llvmdev at cs.uiuc.edu <llvmdev at cs.uiuc.edu>
Subject: Re: [LLVMdev] CallGraphSCCPass: symbol not found
> On Jul 12, 2010, at 11:37 PM, Duncan Sands wrote:
>
> > $ c++filt _ZTIN4llvm16CallGraphSCCPassE
>
2020 Nov 09
0
Inliner in legacy pass manager
In the old pass manager a coarser-grain pass cannot depend on a
fine-grain pass (or analysis). In this case, the coarser-grain is the
Inliner (CallGraphSCCPass) and the finer a FunctionPass. The reason is
that the finer-grain pass has its own "pass manager", i.e. it runs all
the passes and analysis (in that pass manager) on one function, frees
them, and continues with the next function
2010 Mar 31
2
[LLVMdev] AnalysisUsage: addRequired vs. addRequiredTransitive
Hi,
I'm a bit confused about the distinction between addRequired and
addRequiredTransitive in AnalysisUsage. From PassAnalysisSupport.h:
"REQUIRES (must be available when the pass runs), REQUIRES TRANSITIVE
(must be available throughout the lifetime of the pass)."
The part that's confusing me is "must be available when the pass
runs". I don't see how
2020 Nov 10
1
Inliner in legacy pass manager
Hi,
So, does this mean that in legacy pass manager, when I run:
PM.add( someFunctionPass() ) // PM is modulePassManager
it creates FunctionPassManager, runs the function pass,destroys the
functionPassManager and returns control to modulePassManager?
Also, you have said that this wasn't the primary reason for the
introduction of the new pass manager. But then is this one of the reasons?
2011 Oct 10
0
[LLVMdev] Using analysis results from a CallGraphSCCPass in a ModulePass
Hi,
I'm trying to use analysis results from a CallGraphSCCPass in a ModulePass.
Here is the relevant code:
struct MyCallGraphSCCPass : CallGraphSCCPass
{
...
bool runOnSCC(CallGraphSCC& scc){...}
};
char MyCallGraphSCCPass::ID = 0;
static RegisterPass<MyCallGraphSCCPass> X("cgscc", "Dummy CG SCC pass");
struct MyModulePass : public ModulePass
{
2013 Jun 24
2
[LLVMdev] About writing a modulePass in addPreEmitPass() for NVPTX
Sorry for the delay. Yeah, that error message is a bit confusing. What's
happening is that your pass sequence is invalid. Once the IR has been
lowered to machine code, its too late to run LLVM IR passes (ModulePass,
FunctionPass, CallGraphSCCPass, etc.). At that point, you need to run a
Machine*Pass, e.g. MachineFunctionPass. If you need to run an IR level
pass, you need to use
2012 Oct 03
2
[LLVMdev] LoopInfo analysis in CallGraphSCCPass
Hi,
Is it possible to recreate the LoopInfo analysis in my pass?
Thanks ,
Vinay
On Wed, Oct 3, 2012 at 2:34 PM, Chandler Carruth <chandlerc at google.com>wrote:
> This is not currently supported by the LLVM pass manager system. It is a
> serious deficiency that I (and others) would like to address, but it
> requires significant changes to the pass manager and analysis
2006 Jan 10
0
[LLVMdev] passmanager, significant rework idea...
On Mon, 9 Jan 2006, Saem Ghani wrote:
> The patch below basically hammers out some ideas as to where I'd like
> to take the passmanager in LLVM. I've tried thinking things through,
> but I'm still a n00b, so some criticism would be more than welcome. =)
>
> Starting from line 191 down. If you're wondering why I created a
> patch, well that's because I found