Displaying 10 results from an estimated 10 matches for "tbaa_root".
2012 Sep 20
3
[LLVMdev] TBAA fail on optimization, why?
...%1 = load i32* @bbb, !tbaa !2
%2 = add i32 %0, %1
store i32 %2, i32* @aaa, !tbaa !2
; below line should be eliminated with optimization
store i32 %1, i32* @bbb, !tbaa !1 ; <==== WHY
optimization CANNOT ELIMINATE this insn?
...
!tbaa = !{!0, !1, !2}
!0 = metadata !{metadata !"tbaa_root"}
!1 = metadata !{metadata !"aaa", metadata !0}
!2 = metadata !{metadata !"bbb", metadata !0}
2012 Sep 27
2
[LLVMdev] TBAA fail on optimization, why?
...aaa, !tbaa !2
>>
>> ; below line should be eliminated with optimization
>> store i32 %1, i32* @bbb, !tbaa !1 ; <==== WHY
>> optimization CANNOT ELIMINATE this insn?
>>
>> ...
>> !tbaa = !{!0, !1, !2}
>> !0 = metadata !{metadata !"tbaa_root"}
>> !1 = metadata !{metadata !"aaa", metadata !0}
>> !2 = metadata !{metadata !"bbb", metadata !0}
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>...
2012 Sep 20
0
[LLVMdev] TBAA fail on optimization, why?
...%0, %1
> store i32 %2, i32* @aaa, !tbaa !2
>
> ; below line should be eliminated with optimization
> store i32 %1, i32* @bbb, !tbaa !1 ; <==== WHY
> optimization CANNOT ELIMINATE this insn?
>
> ...
> !tbaa = !{!0, !1, !2}
> !0 = metadata !{metadata !"tbaa_root"}
> !1 = metadata !{metadata !"aaa", metadata !0}
> !2 = metadata !{metadata !"bbb", metadata !0}
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.ui...
2012 Sep 27
0
[LLVMdev] TBAA fail on optimization, why?
...gt;> ; below line should be eliminated with optimization
>>> store i32 %1, i32* @bbb, !tbaa !1 ; <==== WHY
>>> optimization CANNOT ELIMINATE this insn?
>>>
>>> ...
>>> !tbaa = !{!0, !1, !2}
>>> !0 = metadata !{metadata !"tbaa_root"}
>>> !1 = metadata !{metadata !"aaa", metadata !0}
>>> !2 = metadata !{metadata !"bbb", metadata !0}
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu http://...
2012 Sep 27
2
[LLVMdev] TBAA fail on optimization, why?
...ttoptr i32 %1 to i32*
%3 = load i32* @aaa, align 4, !tbaa !1
store i32 %3, i32* %2, align 4, !tbaa !4
store i32 %3, i32* @bbb, align 4, !tbaa !3
store i32 %1, i32* @sss, align 4, !tbaa !2 ; <== O3 can REMOVE this
ret void
}
!tbaa = !{!0, !1, !2, !3, !4}
!0 = metadata !{metadata !"tbaa_root"}
!1 = metadata !{metadata !"aaa", metadata !0, i32 0}
!2 = metadata !{metadata !"sss", metadata !0, i32 0}
!3 = metadata !{metadata !"bbb", metadata !0, i32 0}
!4 = metadata !{metadata !"mem", metadata !0, i32 0}
2017 Aug 14
4
RFC: Representing unions in TBAA
It's hard to say.
What you've described sounds close to a neutral type system implemented in
metadata.
In particular, ". It also defines a set of language-neutral formal rules
that LLVM codegen follows to determine whether a given pair of accesses are
allowed to overlap by rules of the input language. "
and "the base type followed by field descriptors"
etc
Despite the
2017 Aug 21
2
RFC: Resolving TBAA issues
...t; [S, S::a, int]
>
> Similarly to the scalar and struct-path approaches, we consider
> every type to be a member of a type group it explicitly refers
> to. Here's how the tree that describes relations between type
> groups would look like for the example above:
>
> <tbaa_root>
> |- <may_alias>
> |- <representation_byte>
> |-<structure>
> | |- S
> |- int
>
> The <vtable_pointer> group has a special meaning and is used to
> describe accesses to virtual table pointers. Similarly, the
> <union&...
2017 Aug 21
2
RFC: Resolving TBAA issues
...>> Similarly to the scalar and struct-path approaches, we consider
>> every type to be a member of a type group it explicitly refers
>> to. Here's how the tree that describes relations between type
>> groups would look like for the example above:
>>
>> <tbaa_root>
>> |- <may_alias>
>> |- <representation_byte>
>> |-<structure>
>> | |- S
>> |- int
>>
>> The <vtable_pointer> group has a special meaning and is used to
>> describe accesses to virtual table pointers...
2012 Sep 27
0
[LLVMdev] TBAA fail on optimization, why?
..., align 4, !tbaa !1
> store i32 %3, i32* %2, align 4, !tbaa !4
> store i32 %3, i32* @bbb, align 4, !tbaa !3
> store i32 %1, i32* @sss, align 4, !tbaa !2 ; <== O3 can REMOVE this
> ret void
> }
>
> !tbaa = !{!0, !1, !2, !3, !4}
> !0 = metadata !{metadata !"tbaa_root"}
> !1 = metadata !{metadata !"aaa", metadata !0, i32 0}
> !2 = metadata !{metadata !"sss", metadata !0, i32 0}
> !3 = metadata !{metadata !"bbb", metadata !0, i32 0}
> !4 = metadata !{metadata !"mem", metadata !0, i32 0}
>
2017 Aug 18
2
RFC: Resolving TBAA issues
...t; [S, S::a, int]
>
> Similarly to the scalar and struct-path approaches, we consider
> every type to be a member of a type group it explicitly refers
> to. Here's how the tree that describes relations between type
> groups would look like for the example above:
>
> <tbaa_root>
> |- <may_alias>
> |- <representation_byte>
> |-<structure>
> | |- S
> |- int
>
> The <vtable_pointer> group has a special meaning and is used to
> describe accesses to virtual table pointers.
As in the current scheme, th...