similar to: [LLVMdev] Using basicaa alias analysis pass

Displaying 20 results from an estimated 60000 matches similar to: "[LLVMdev] Using basicaa alias analysis pass"

2012 Jan 03
0
[LLVMdev] Comparison of Alias Analysis in LLVM
On Jan 3, 2012, at 1:53 PM, Jianzhou Zhao wrote: > I see. I asked the question because LLVM provides several alias > analysis, and I was wondering how to decide which one should be used > for compiling most programs. > > I think the basicaa is the default one, but by looking into its code, > it is not inter-procedural or context-sensitive (I am not 100% sure), > so does not
2012 Jan 03
2
[LLVMdev] Comparison of Alias Analysis in LLVM
On Tue, Jan 3, 2012 at 3:54 PM, Chris Lattner <clattner at apple.com> wrote: > > On Jan 2, 2012, at 9:42 PM, Jianzhou Zhao wrote: > >> Hi, >> >> Chapter 4 in http://llvm.org/pubs/2005-05-04-LattnerPHDThesis.html >> compares the precision of alias analysis in LLVM at that time. Does >> the latest LLVM still follow the similar results? I was also
2008 Apr 04
0
[LLVMdev] alias information in codegen
On Apr 3, 2008, at 1:00 PM, Dan Gohman wrote: > * BasicAliasAnalysis, the default AliasAnalysis implementation, > doesn't > understand lowered GEPs, integer arithmetic, or PHIs, and the > regular codegen process involves passes that lower GEPs. Sure. > One way to solve this is to use a different AliasAnalysis > implementation. > I haven't looked at it in
2007 Sep 14
2
[LLVMdev] RegisterAnalysisGroup
Can someone explain how RegisterPass and RegisterAnalysisGroup conspire to pick the right member of an analysis group when command-line options dictate non-default implementations? For example, when I pass -anders-aa to opt, where in the code is that option parsed and setNormalCtor called on the analysis group to change from the default basicaa?
2015 Apr 29
2
[LLVMdev] AliasAnalysis calling failed in Pass interaction
Dear LLVM developers, I am Shen, a PhD student at Lehigh Univ. PA. Now I am implementing a Program Dependence Graph(PDG) on LLVM. I have 4 passes here: 1. ProgramDependenceGraph (a *ModulePass *on the highest level) 2. DataDependenceGraph (a Intermediate *FunctionPass*). 3. FlowDependenceAnalysis Pass (a intermediate *FunctionPass*) which uses llvm built-in AliasAnalysis (-basicaa) 4.
2007 Sep 14
2
[LLVMdev] RegisterAnalysisGroup
On Friday 14 September 2007 15:51, Chris Lattner wrote: > When basicaa registers itself as part of the analysis group, it uses: > > RegisterPass<BasicAliasAnalysis> > X("basicaa", "Basic Alias Analysis (default AA impl)"); > > // Declare that we implement the AliasAnalysis interface > RegisterAnalysisGroup<AliasAnalysis, true> Y(X);
2015 Feb 16
2
[LLVMdev] alias result
Hi all, I am implementing a pass which needs aliasanalysis in llvm. My pass firstly records all store or load instructions as follows: loc[cnt++] = AA.getLocation(si/li); Then, get each pairwise alias result. AliasAnalysis::AliasResult ar = AA.alias(loc[i], loc[j]); switch(ar){ case 0,1,2,3;} And the command is: opt -load mypass.so -mypass -basicaa test.bc The store/load in test.bc: (1):
2007 Sep 14
0
[LLVMdev] RegisterAnalysisGroup
On Sep 14, 2007, at 1:43 PM, David Greene wrote: > Can someone explain how RegisterPass and RegisterAnalysisGroup > conspire to pick the right member of an analysis group when command- > line > options dictate non-default implementations? > > For example, when I pass -anders-aa to opt, where in the code is > that option > parsed and setNormalCtor called on the analysis
2015 Feb 16
2
[LLVMdev] alias result
t and t2 are two pointers defined in .c file. The definitions in .bc are: %thd = alloc i64, align 8 %t = alloca i64*, align 8 %t2 = alloca i64*, align 8 .c file likes this: int thd; int *t = &thd; int *t2 = t; On 2/16/15 12:28 PM, Hal Finkel wrote: > ----- Original Message ----- >> From: "Haopeng Liu" <hyliuhp at gmail.com> >> To: llvmdev at cs.uiuc.edu
2008 Apr 03
7
[LLVMdev] alias information in codegen
There have been a few queries about this recently, and I've done some work in this area recently, so I'm posting a summary of what the major outstanding issues are. * BasicAliasAnalysis, the default AliasAnalysis implementation, doesn't understand lowered GEPs, integer arithmetic, or PHIs, and the regular codegen process involves passes that lower GEPs. One way to solve this is
2007 Sep 14
0
[LLVMdev] RegisterAnalysisGroup
On Friday 14 September 2007 16:04, David Greene wrote: > On Friday 14 September 2007 15:51, Chris Lattner wrote: > > When basicaa registers itself as part of the analysis group, it uses: > > > > RegisterPass<BasicAliasAnalysis> > > X("basicaa", "Basic Alias Analysis (default AA impl)"); > > > > // Declare that we implement
2015 Feb 16
2
[LLVMdev] alias result
Yes, in my example, %1 and %2 point to t. %3 points to t2. But t and t2 point to the same var, is it? That's where I'm confused. On 2/16/15 12:37 PM, Hal Finkel wrote: > ----- Original Message ----- >> From: "Haopeng Liu" <hyliuhp at gmail.com> >> To: "Hal Finkel" <hfinkel at anl.gov> >> Cc: llvmdev at cs.uiuc.edu >> Sent:
2012 Jan 04
2
[LLVMdev] Comparison of Alias Analysis in LLVM
On Wed, Jan 4, 2012 at 12:10 PM, David Gardner <daveg at xmos.com> wrote: > Jianzhou Zhao <jianzhou <at> seas.upenn.edu> writes: >> The documents say that all the aa analysis are chained, and give an >> example like opt -basicaa -ds-aa -licm. In this case, does ds-aa >> automatically call basicaa for the case when ds-aa can only return >> MayAlias? This
2012 Jan 04
2
[LLVMdev] Comparison of Alias Analysis in LLVM
On Tue, Jan 3, 2012 at 4:55 PM, Chris Lattner <clattner at apple.com> wrote: > On Jan 3, 2012, at 1:53 PM, Jianzhou Zhao wrote: >> I see. I asked the question because LLVM provides several alias >> analysis, and I was wondering how to decide which one should be used >> for compiling most programs. >> >> I think the basicaa is the default one, but by looking
2015 Feb 16
2
[LLVMdev] alias result
Oh, got it. Thanks for your explain. I misunderstand what getLocation does. If I would like to get the result of alias analysis referring to the stored value, what should I do in llvm? On 2/16/15 1:42 PM, Hal Finkel wrote: > ----- Original Message ----- >> From: "Haopeng Liu" <hyliuhp at gmail.com> >> To: "Hal Finkel" <hfinkel at anl.gov> >>
2012 Jan 05
0
[LLVMdev] Comparison of Alias Analysis in LLVM
Jianzhou Zhao <jianzhou <at> seas.upenn.edu> writes: > At this level, I can understand how it works. I was confused because I > have been looking at the source code for implementing them. All the > globalmodref, scev-aa, steenaa and ds-aa are only subclasses of the > AliasAnalysis class, so I cannot see how ds-aa can automatically call > basicaa. There's some magic
2019 Jan 02
2
AA pass dependencies
On Wed, Jan 2, 2019 at 1:34 AM Markus Lavin <markus.lavin at ericsson.com> wrote: > To be more specific I am trying to use LVI from inside BasicAA to improve > some cases that turned out to be relevant for our downstream target. > > > > The code is in https://reviews.llvm.org/D55107 and I have problems with a > failing assert in the LazyValueInfoWrapperPass destructor
2015 May 11
2
[LLVMdev] about MemoryDependenceAnalysis usage
add -basicaa to your command line :) On Mon, May 11, 2015 at 7:15 AM, Willy WOLFF <willy.mh.wolff at gmail.com> wrote: > I play a bit more with MemoryDependenceAnalysis by wrapping my pass, and > call explicitely BasicAliasAnalysis. Its still using No Alias Analysis. > > How can I let MemoryDependenceAnalysis use BasicAliasAnalysis? > > Please, find attached my pass. >
2015 Feb 20
3
[LLVMdev] basicaa result
Hi, I'm trying to explore basicaa alias analysis. test.c: int main() { int a; int *p, *q; p = &a; q = p; ... } Commands: clang -emit-llvm -c -g -O0 test.c -o test.bc opt -basicaa -print-must-aliases test.bc However, the result shows that p and q are no alias. Could anyone explain it? Your help is much appreciated! -Haopeng
2012 Apr 06
5
[LLVMdev] Incorrect result in LLVM Alias Analysis
I want to check if the values a and b in the program alias. int main() { int *a,*b; a=(int *)malloc(sizeof(int)); b=(int *)malloc(sizeof(int)); *a=10; *b=8; return 0; } I use the below code for this (getAnalysisUsage method has been defined) AliasAnalysis::Location loc1=AliasAnalysis::Location(k1); //a AliasAnalysis::Location loc2=AliasAnalysis::Location(k2); //b AliasAnalysis::AliasResult