Displaying 4 results from an estimated 4 matches for "_z3foopis_s_".
2012 Sep 21
3
[LLVMdev] Alias Analysis accuracy
...++)
c[i] = a[i] + b[i];
}
Here is the IR:
target datalayout =
"e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-f128:128:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"
define void @_Z3fooPiS_S_(i32* %a, i32* %b, i32* %c) nounwind {
entry:
%a_addr = alloca i32*, align 8
%b_addr = alloca i32*, align 8
%c_addr = alloca i32*, align 8
%i = alloca i32
%"alloca point" = bitcast i32 0 to i32
store i32* %a, i32** %a_addr
store i32* %b, i32** %b_addr
store i32* %c, i32** %...
2012 Sep 21
0
[LLVMdev] Alias Analysis accuracy
...arnold.schwaighofer at gmail.com> wrote:
> You see the result for running basicaa after mem2reg.
>
> The IR after mem2reg will look like (you can look at it by doing
> -mem2reg -basicaa -aa-eval -print-all-alias-modref-info < test.ll
> -print-after-all)
>
> define void @_Z3fooPiS_S_(i32* noalias %a, i32* noalias %b, i32*
> noalias %c) nounwind {
> entry:
> %"alloca point" = bitcast i32 0 to i32
> br label %bb1
>
> bb: ; preds = %bb1
> %0 = sext i32 %i.0 to i64
> %1 = getelementptr inbounds...
2012 Sep 21
3
[LLVMdev] Alias Analysis accuracy
On Fri, Sep 21, 2012 at 3:08 PM, Welson Sun <welson.sun at gmail.com> wrote:
> OK, with the restrict type qualifier, it is a little bit better:
>
> The IR's function signature becomes:
> define void @foo(i32* noalias %a, i32* noalias %b, i32* noalias %c) nounwind
> {
>
> Now the AA result:
> Function: foo: 13 pointers, 0 call sites
> NoAlias: i32* %a,
2012 Sep 21
0
[LLVMdev] Alias Analysis accuracy
Here is the result of running mem2reg then basicaa, it is even worse: (%a
should be alias to %0, and partial alias to %3)
opt -mem2reg -basicaa -aa-eval -print-all-alias-modref-info < foo.s >
/dev/null
Function: foo: 6 pointers, 0 call sites
NoAlias: i32* %a, i32* %b
NoAlias: i32* %a, i32* %c
NoAlias: i32* %b, i32* %c
PartialAlias: i32* %1, i32* %a
NoAlias: