similar to: [LLVMdev] addRequired vs addRequiredTransitive

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] addRequired vs addRequiredTransitive"

2010 Apr 01
2
[LLVMdev] AnalysisUsage: addRequired vs. addRequiredTransitive
On Mar 31, 2010, at 3:13 PM, Owen Anderson wrote: > Some analyses, like Andersen's AA, do all their computation in their > runOnFunction(). Therefore, anything they depended on can be > destroyed after the runOnFunction() returns. What about AA itself? Would addRequired<AliasAnalysis> keep AliasAnalysis alive (but allow AliasAnalysis's dependencies to die)? >
2010 Apr 01
0
[LLVMdev] AnalysisUsage: addRequired vs. addRequiredTransitive
On Fri Apr 02 00:37:03 +0200 2010, Trevor Harmon wrote: > On Mar 31, 2010, at 3:13 PM, Owen Anderson wrote: > > Others, like MemoryDependenceAnalysis, are "lazy." MDA > > specifically does NOT compute results in its runOnFunction(), > > instead computing results on-demand when a user queries it. Because > > MDA depends on AA, we must ensure that, as long as
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
2010 Mar 31
0
[LLVMdev] AnalysisUsage: addRequired vs. addRequiredTransitive
On Mar 31, 2010, at 2:53 PM, Trevor Harmon wrote: > 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
2014 Apr 18
3
[LLVMdev] PassManager Woes
Ok, I've been struggling with this for two days and hopefully someone can help me out. I have a set of passes, analysis passes A, B, C, D and transformation passes E and F. Pass C depends on pass A and pass D depends on pass B. Pass E depends on C and D and does not preserve any analysis pass. Pass F depeds on pass A and pass C. Pass F runs after pass E. Graphically the dependency graph
2018 Jan 29
0
Polly Dependency Analysis in MyPass
How do you compile the code? Within the Polly subdirectory using CMake? How do you run your pass. Using "opt -mypass inputfile.ll"? Michael 2018-01-28 9:30 GMT-06:00 hameeza ahmed via llvm-dev <llvm-dev at lists.llvm.org>: > Hello, > > I need to analyze dependencies in my llvm ir by using polly. i created a new > pass called mypass there i added polly dependency
2018 Jan 28
4
Polly Dependency Analysis in MyPass
Hello, I need to analyze dependencies in my llvm ir by using polly. i created a new pass called mypass there i added polly dependency analysis pass but when i execute this pass in gdb i get no data. Why is that so? My code is follows; namespace { struct mypass : public FunctionPass { static char ID; mypass() : FunctionPass(ID) { } virtual bool runOnFunction(Function &F) {
2017 Feb 14
2
addRequired() + getAnalysis() for new / non-legacy pass manager
Hi! I am trying to extend the native AliasAnalysis of LLVM to use an external analysis pass. Doing this with the legacy pass manager works fine through calling addRequired() in the getAnalysisUsage and getAnalysis() in function runOnFunction(). In the new pass manager, I haven't found a similar way of doing this. When running opt with -O3, I encounter the following error: >Assertion
2018 Jan 29
1
Polly Dependency Analysis in MyPass
Thank You. Actually i pass polly canonaclize IR to my new created polly pass called "mypass". Mypass should first detect scops then find depedndencies as the mechanism conventional approach. Now i know how to write llvm pass here i am writing pass as loadable module first afterwards i will integrate it with opt in the end. I tried writing following code. Could you please help me on
2012 Feb 15
1
[LLVMdev] addRequired vs addPreserved
what are the differences between the addRequired and addPreserved in LLVM Pass Managers. Thanks
2009 Jun 06
3
[LLVMdev] addRequired(), Loop Unrolling
Hi, I am trying to set loop unrolling as a required pass. AU.addRequired<LoopUnroll>(); should I include any header file? How can I be possessive that "LoopUnroll" is the name I need ? Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090606/aaab7bd1/attachment.html>
2011 Oct 14
2
[LLVMdev] pass utilizing MemoryDependenceAnalysis?
#include "llvm/Module.h" #include "llvm/Analysis/MemoryDependenceAnalysis.h" #include "llvm/Support/raw_ostream.h" using namespace llvm; struct Hello: public ModulePass { public: static char ID; MemoryDependenceAnalysis *MD; Hello(): ModulePass(ID) { ;; } virtual void getAnalysisUsage(AnalysisUsage &AU) const {
2007 Dec 18
0
[LLVMdev] Another Pass Manager Assertion
On Dec 18, 2007, at 10:55 AM, John Criswell wrote: > Dear All, > > The attached code (which is a contrived test case) hits the following > assertion: > > test: > /home/vadve/criswell/src/llvm22/include/llvm/PassAnalysisSupport.h: > 226: > AnalysisType& llvm::Pass::getAnalysisID(const llvm::PassInfo*, > llvm::Function&) [with AnalysisType = Pass1]: Assertion
2011 Oct 15
1
[LLVMdev] pass utilizing MemoryDependenceAnalysis?
This gives me: Assertion failed: (0 && "Unable to find on the fly pass"), function getOnTheFlyPass, file PassManager.cpp #include "llvm/Module.h" #include "llvm/Analysis/MemoryDependenceAnalysis.h" #include "llvm/Support/raw_ostream.h" using namespace llvm; struct Hello: public FunctionPass { public: static char ID; Hello(): FunctionPass(ID) {
2011 Oct 14
0
[LLVMdev] pass utilizing MemoryDependenceAnalysis?
In runOnFunction(), you should check to see if the function F is a declaration before calling getAnalysis(F). Calling getAnalysis<FunctionPass>() on a function that is a declaration will trigger an assertion if the function is just a declaration. To see if a function is a declaration, call its isDeclaration() method (i.e. if (F->isDeclaration()) ... ) -- John T. On 10/13/11 8:09
2011 Oct 13
2
[LLVMdev] pass utilizing MemoryDependenceAnalysis?
I wrote a pass(that is to be loaded by opt) that I would like to use in conjunction with MemoryDependenceAnalysis. I have tried using by including its header and adding this to my pass:        virtual void getAnalysisUsage(AnalysisUsage &AU) const {         errs() << "addRequired called\n";         AU.addRequired<MemoryDependenceAnalysis>();        } And in my
2012 Mar 21
0
[LLVMdev] llvm seg fault when specifying addRequiredTransitive in module pass
Hi all, I am using llvm to perform some static analysis with a module pass. In getAnalysisUsage(), I specified some required passes by: addRequiredTransitive<LoopInfo>(); When I run my pass using opt, it crashes with segmentation fault with callstack: #0 0x0877aebd in llvm::PMTopLevelManager::findAnalysisUsage (this=0x8c10934, P=0xb15b988) at PassManager.cpp:573 #1 0x0877aa9b in
2011 Oct 13
0
[LLVMdev] pass utilizing MemoryDependenceAnalysis?
My pass(that I want to use MemoryDependenceAnalysis) is a ModulePass. When I changed my assignment to: MD = &getAnalysis<MemoryDependenceAnalysis>(F); It fixed my initial problem but left me with: Assertion failed: (ResultPass && "Unable to find requested analysis info"), function getAnalysisID On Thu, Oct 13, 2011 at 1:43 PM, ret val <retval386 at
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
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
I still have the addRequired: virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<DominatorTree>(); } The other line DominatorTree *dt = &getAnalysis<DominatorTree>(); Is for later use when I try to use PromoteMemToReg On Tue, Nov 8, 2011 at 4:22 PM, Michael Ilseman <michael at lunarg.com> wrote: > Something's