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?