Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] modulepass requiring a functionpass"
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
2006 Sep 29
2
[LLVMdev] FunctionPass requiring SCCs
I have a FunctionPass F that needs a list of all the SCCs for use in its
doFinalization() method. Let's say I write a CallGraphSCCPass C that
creates an array of all SCCs. Let C be required by F, and let F call
getAnalysis<C>() from its doFinalization() method. Am I guaranteed that
C's runOnSCC() method will have executed on all SCCs before F's
doFinalization() method?
2007 Feb 22
1
[LLVMdev] opt -verify
I think I misread the doxygen. verifyFunction & verifyModule return
false if no errors are detected. However, my question now becomes why
does the code produced by my transform pass verification, but it causes
an assertion failure in the byte reader when it (the code produced by my
transform) is passed to another invocation of opt?
Ryan M. Lefever wrote:
> I also tried iterating
2007 Feb 22
3
[LLVMdev] opt -verify
I followed what you said and called verifyModule() with the
AbortProcessAction option. verifyModule() returns false, but does not
abort and does not print out any information about what caused the
verification to fail.
Chris Lattner wrote:
> On Wed, 21 Feb 2007, Ryan M. Lefever wrote:
>> I am writing an interprocedural compiler pass. Because the passneeds
>> information from a
2015 May 06
3
[LLVMdev] (Possibly buggy?) doFinalization method behavior of FunctionPass
Hello again,
First of all, thanks for all the answers =) they really helped a lot =D
*Have you verified that some other pass is not adding the function
declarations back in after your pass is executed (e.g., by using the
-debug-pass=Executions argument to see what passes run after your pass)?*
I considered that for a moment, but I realized that wouldn't be possible
for two reasons: I
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
2007 Feb 22
0
[LLVMdev] opt -verify
I also tried iterating through the functions of the module and calling
verifyFunction(), which also returns false, but does not cause an abort
or report anything to stderr about what caused the verification to fail.
From the doxygen for verifyFunction() and verifyModule(), it seems
like they both should print information to stderr if the verification
fails and should abort opt if
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 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:
2007 Feb 22
0
[LLVMdev] opt -verify
On Wed, 21 Feb 2007, Ryan M. Lefever wrote:
> I am writing an interprocedural compiler pass. Because the passneeds
> information from a FunctionPass, e.g., the post-dominance frontier
> (PDF), and because a ModulePass is not permitted to require a
> FunctionPass, I am forced to make my pass a FunctionPass and do majority
> of its work in the doFinalization() method.
ok
> When
2007 Feb 22
2
[LLVMdev] opt -verify
I am writing an interprocedural compiler pass. Because the passneeds
information from a FunctionPass, e.g., the post-dominance frontier
(PDF), and because a ModulePass is not permitted to require a
FunctionPass, I am forced to make my pass a FunctionPass and do majority
of its work in the doFinalization() method.
When I run "opt -mypass -verify -o code2.bc code1.bc" I get no
2006 May 01
3
[LLVMdev] ModulePasses requiring FunctionPasses
I am trying to write a ModulePass which requires PostDominator sets for
every function in the module. Now finding post dominators is a function
pass. The link on the llvm.org website says that :
"Currently it is illegal for a
ModulePass<http://llvm.org/docs/WritingAnLLVMPass.html#ModulePass>to
require a
FunctionPass <http://llvm.org/docs/WritingAnLLVMPass.html#FunctionPass>.
2015 May 06
2
[LLVMdev] (Possibly buggy?) doFinalization method behavior of FunctionPass
On 5/6/15 11:15 AM, Kuperstein, Michael M wrote:
>
> I’ve always thought that the only guarantee is that
> doFinalization(Module &M) runs after runOnFunction() was executed for
> all functions in M, and there’s no guarantee it runs *immediately* after.
>
> That is, a PM may run a bunch of function passes over each function,
> and only then call doFinazliation() for each
2015 May 06
5
[LLVMdev] (Possibly buggy?) doFinalization method behavior of FunctionPass
On 5/6/15 10:19 AM, Kuperstein, Michael M wrote:
>
> Hello Cristiano,
>
> I don’t think doFinalization() is really meant to be used this way.
>
My understanding is that doInitialization() and doFinalization() are
designed specifically for modifying the LLVM IR (otherwise, why would a
mutable reference to the Function be provided)?
If that is not the case, then there is either a
2008 Oct 28
1
[LLVMdev] Requiring a ModulePass to be run from a FunctionPass
Hi,
I have a FunctionPass that requires a ModulePass using addRequiredById().
When I start opt it infloops somewhere in PMDataManager::findAnalysisPass.
Should I open a bug, or is this a known issue (i.e. I am doing something
wrong)? Is there a workaround?
My modulepass just assigns unique numbers to basicblocks (like
StableBasicBlockNumbering, but unique per Module)
I could do that with a
2006 Sep 29
0
[LLVMdev] FunctionPass requiring SCCs
Hi Ryan,
On 9/29/06, Ryan M. Lefever <lefever at crhc.uiuc.edu> wrote:
> I have a FunctionPass F that needs a list of all the SCCs for use in its
> doFinalization() method. Let's say I write a CallGraphSCCPass C that
> creates an array of all SCCs. Let C be required by F, and let F call
> getAnalysis<C>() from its doFinalization() method. Am I guaranteed that
>
2009 Aug 10
0
[LLVMdev] How to use a FunctionPass in a ModulePass?
On Mon, Aug 10, 2009 at 3:35 AM, gauss<gausszhch at gmail.com> wrote:
> Hi, all:
>
> I wanted to use a FunctionPass (e.g. MemoryDependenceAnalysis) in a
> ModulePass, and then I used the method
> "getAnalysis<MemoryDependenceAnalysis>(llvm::Function *)" described at
> http://llvm.org/docs/WritingAnLLVMPass.html#ModulePass to get the
> FunctionPass. But ,
2009 Aug 11
1
[LLVMdev] How to use a FunctionPass in a ModulePass?
Hi, Devang. Thank you for your reply.
But in my case, my ModulePass requires another FunctionPass (e.g.
MemoryDependenceAnalysis) rather than the opposite direction. Is it also
limited?
-
gauss
Devang Patel-2 wrote:
>
> On Mon, Aug 10, 2009 at 3:35 AM, gauss<gausszhch at gmail.com> wrote:
>> Hi, all:
>>
>> I wanted to use a FunctionPass (e.g.
2009 Aug 10
2
[LLVMdev] How to use a FunctionPass in a ModulePass?
Hi, all:
I wanted to use a FunctionPass (e.g. *MemoryDependenceAnalysis*) in a
ModulePass, and then I used the method "getAnalysis<*
MemoryDependenceAnalysis*>(llvm::Function *)" described at
http://llvm.org/docs/WritingAnLLVMPass.html#ModulePass to get the
FunctionPass. But , it still crashed when I invoked this pass in tool 'opt'.
However, if I change my pass to
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