similar to: [LLVMdev] Question regarding the alias analysis chaining behaviour

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Question regarding the alias analysis chaining behaviour"

2010 Nov 24
0
[LLVMdev] Question regarding the alias analysis chaining behaviour
dirac wrote: > Hi, > I am using LLVM 2.4 on a Linux RHEL5 machine. I was trying to figure > out how the chaining of the alias analysis passes works in LLVM. Here > are the command I used to test the chaining part. > 1. ./opt hello_world_1_nest_func.bc -o hello_world_1_nest_func_AA.bc > -no-aa -anders-aa -licm > Result: Anderson's AA and No Alias Analysis both are
2010 Nov 25
0
[LLVMdev] Question regarding the alias analysis chaining behaviour
[+llvmdev] Rajeshwar Vanka wrote: > -----Original Message----- > From: Nick Lewycky [mailto:nicholas at mxc.ca] > Sent: Wednesday, November 24, 2010 3:51 PM > To: dirac > Cc: llvmdev at cs.uiuc.edu > Subject: Re: [LLVMdev] Question regarding the alias analysis chaining > behaviour > > dirac wrote: >> Hi, >> I am using LLVM 2.4 on a Linux RHEL5 machine.
2007 Aug 09
0
[LLVMdev] Choosing Alias Analysis
On Aug 9, 2007, at 1:52 PM, David Greene wrote: > So how do I get opt to use Andersens instead of basicaa, for example? Following uses basic alias analysis $ opt -licm foo.bc -disable-output -debug-pass=Structure where as $ opt -anders-aa -licm foo.bc -disable-output -debug-pass=Structure uses Andersens analysis algorithm implementation. - Devang
2015 Jan 14
3
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
On 13 January 2015 at 22:11, Daniel Berlin <dberlin at dberlin.org> wrote: > This is caused by CFLAA returning PartialAlias for a query that BasicAA > can prove is NoAlias. > One of them is wrong. Which one? I'm not sure from your description that this is a chaining issue. PartialAlias doesn't chain and isn't supposed to, it's a final answer just like NoAlias and
2015 Jan 14
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
Can you send me actual LLVM IR or a preprocessed source from using -E? I don't have a machine handy that has headers that target that arch. On Tue Jan 13 2015 at 4:33:29 PM Daniel Berlin <dberlin at dberlin.org> wrote: > Anything other than noalias or mustalias should be getting passed down the > stack, so either that is not happening or CFL aa is giving better answers > and
2015 Jan 14
3
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
Oh, sorry, i didn't rebase it when i changed the fix, you would have had to apply the first on top of the second. Here is one against HEAD On Wed, Jan 14, 2015 at 12:32 PM, Ana Pazos <apazos at codeaurora.org> wrote: > Daniel, your patch does not apply cleanly. Are you on the tip? > > The code I see there is no line if (QueryResult == MayAlias|| QueryResult == PartialAlias)
2015 Jan 14
4
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
Inline - George > On Jan 14, 2015, at 10:49 AM, Daniel Berlin <dberlin at dberlin.org> wrote: > > > >> On Tue, Jan 13, 2015 at 11:26 PM, Nick Lewycky <nlewycky at google.com> wrote: >>> On 13 January 2015 at 22:11, Daniel Berlin <dberlin at dberlin.org> wrote: >>> This is caused by CFLAA returning PartialAlias for a query that BasicAA can
2015 Jan 15
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
Yes. I've attached an updated patch that does the following: 1. Fixes the partialalias of globals/arguments 2. Enables partialalias for cases where nothing has been unified to a global/argument 3. Fixes that select was unifying the condition to the other pieces (the condition does not need to be processed :P). This was causing unnecessary aliasing. 4. Adds a regression test to
2015 Jan 13
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
Hi folks, Moving the discussion to llvm.dev. None of the changes we talked earlier help. Find attached the C source code that you can use to reproduce the issue. clang --target=aarch64-linux-gnu -c -mcpu=cortex-a57 -Ofast -fno-math-errno test.c -S -o test.s -mllvm -debug-only=licm LICM hoisting to while.body.lr.ph: %21 = load double** %arrayidx8, align 8, !tbaa !5 LICM hoisting to
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
2007 Aug 09
2
[LLVMdev] Choosing Alias Analysis
Ok, here's a potentialy stupid question: how do I choose the various flavors of alias analysis on the command line? I followed the alias analysis design in its use of AnalysisGroup when I did the register coalescing refactoring and alternative implentations. But I can't figure out how to actually invoke the different versions. There's no cl_opt for the various alias analysis flavors
2013 Oct 31
3
[LLVMdev] LICM and SCEV AA?
Hello, We currently generate suboptimal code for this loop: for (int i = 1; i < LEN; i++) { a[i] = a[0] + b[i]; } The largest problem is that we won't vectorize the loop because the loop vectorizer does not grok the independence of a[i] and a[0] (note that i starts at 1 in this loop). While we can probably fix the vectorizer to handle this, I don't think that is the right place for
2013 Nov 02
0
[LLVMdev] LICM and SCEV AA?
On Oct 31, 2013, at 6:06 AM, Hal Finkel <hfinkel at anl.gov> wrote: > Hello, > > We currently generate suboptimal code for this loop: > > for (int i = 1; i < LEN; i++) { > a[i] = a[0] + b[i]; > } > > The largest problem is that we won't vectorize the loop because the loop vectorizer does not grok the independence of a[i] and a[0] (note that i starts at
2012 Jan 04
0
[LLVMdev] Comparison of Alias Analysis in LLVM
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 looks magic to me. Is this handled by AnalysisGroup > magically? As I understand it, the
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
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
2013 Nov 11
2
[LLVMdev] What's the Alias Analysis does clang use ?
Hi, LLVM community: I found basicaa seems not to tell must-not-alias for __restrict__ arguments in c/c++. It only compares two pointers and the underlying objects they point to. I wonder how clang does alias analysis for c/c++ keyword restrict. let assume we compile the following code: $cat myalias.cc float foo(float * __restrict__ v0, float * __restrict__ v1, float * __restrict__ v2, float *
2013 Nov 02
1
[LLVMdev] LICM and SCEV AA?
Sent from my iPhone > On Nov 2, 2013, at 1:52 AM, Andrew Trick <atrick at apple.com> wrote: > > >> On Oct 31, 2013, at 6:06 AM, Hal Finkel <hfinkel at anl.gov> wrote: >> >> Hello, >> >> We currently generate suboptimal code for this loop: >> >> for (int i = 1; i < LEN; i++) { >> a[i] = a[0] + b[i]; >> } >>
2013 Nov 12
0
[LLVMdev] What's the Alias Analysis does clang use ?
Hi, Your problem is that the function arguments, which are makes as noalias, are not being directly used as the base objects of the array accesses: > %v0.addr = alloca float*, align 8 > %v1.addr = alloca float*, align 8 > %v2.addr = alloca float*, align 8 > %t.addr = alloca float*, align 8 ... > store float* %v0, float** %v0.addr, align 8 > store float* %v1, float** %v1.addr,
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?