Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] AnalysisUsage: addRequired vs. addRequiredTransitive"
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
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
2006 Oct 21
1
[LLVMdev] addRequired vs addRequiredTransitive
I am having a hard time figuring out the difference between addRequired
and addRequiredTransitive. Could someone please clarify the difference?
Let's say I have a function pass P1 that relies on a function pass P2.
P1 computes some sort of analysis on a function F and P2 uses that
analysis when it processes F. Does that mean that I should use
addRequiredTransitive?
Thanks,
Ryan
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
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)
{
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
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
2019 Mar 24
3
call an existing IPO pass
Hi,
I found an existing pass "CalledValuePropagation" that can solve the
problem I raised a few days ago regarding the "callees" metadata (
https://groups.google.com/forum/#!topic/llvm-dev/yjtZVMH_aC4). Now I have
difficulty in calling this pass in my own pass.
In my own pass, I called
"getAnalysis<CalledValuePropagationPass>()"
and in the
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
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
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
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 {
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) {
2009 Mar 20
2
[LLVMdev] Problem with MemoryDependenceAnalysis
Dear all,
I am having a problem adding a MemoryDependenceAnalysis pass to a Module
Pass i created, it gives me the following error when i add
(Info.addRequired<MemoryDependenceAnalysis>();) it in the
getAnalysisUsage(AnalysisUsage &Info) function.
adding callgraph pass ... done
opt: /net/home/yehia/llvm/llvm-2.4/include/llvm/Target/TargetData.h:114:
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
2009 Mar 20
0
[LLVMdev] Problem with MemoryDependenceAnalysis
On Mar 20, 2009, at 8:13 AM, Amr Yehia wrote:
> Dear all,
>
> I am having a problem adding a MemoryDependenceAnalysis pass to a
> Module
> Pass i created, it gives me the following error when i add
> (Info.addRequired<MemoryDependenceAnalysis>();) it in the
> getAnalysisUsage(AnalysisUsage &Info) function.
>
If MemoryDependenceAnalysis requires any module
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
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