search for: basicaaa

Displaying 3 results from an estimated 3 matches for "basicaaa".

Did you mean: basicaa
2015 Dec 10
2
Field sensitive alias analysis?
...i32, i32* %arrayidx2, align 4, !tbaa !1 >> > > I'm not entirely sure why TBAA is necessary to disambiguate ps->a from > ps->b, it looks like basicaa should already be able to say they don't > overlap. > Does this not happen? > Opps, you are right in my example basicaaa could do it potentially. Correct example is slightly different: int foo(struct S *ps, int i) { ps->a[i] = 1; ps->b = 2; return ps->a[i]; } Here basicaa cannot make sure that 'ps->a[i]' doesn't change after 'ps->b = 2' because if 'i == 10' all 3 memor...
2015 Dec 10
2
Field sensitive alias analysis?
> On Dec 10, 2015, at 8:09 AM, Daniel Berlin via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > > Opps, you are right in my example basicaaa could do it potentially. Correct example is slightly different: > int foo(struct S *ps, int i) { > ps->a[i] = 1; > ps->b = 2; > return ps->a[i]; > } > Here basicaa cannot make sure that 'ps->a[i]' doesn't change after 'ps->b = 2' because if...
2015 Dec 09
2
Field sensitive alias analysis?
Hi Daniel, I see your point about LLVM and C/C++ type agnostic. I think TBAA was invented to partially cover this gap and give optimization opportunities when LLVM types are not sufficient but C/C++ types have required information. What do you think about following example: struct S { int a[10]; int b; }; int foo(struct S *ps, int i) { ps->a[i] = 1; ps->b = 2; return