Displaying 8 results from an estimated 8 matches for "_zts1s".
2019 Jun 04
2
llvm-ir: TBAA and struct copies
...load i16, i16* getelementptr inbounds (%struct.S, %struct.S* @x, i64 0, i32 2), align 2, !tbaa !2
%4 = sext i16 %3 to i32
ret i32 %4
}
[...]
!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{!"clang version 9.0.0 (trunk 362464)"}
!2 = !{!3, !7, i64 6}
!3 = !{!"_ZTS1S", !4, i64 0, !7, i64 4, !7, i64 6}
!4 = !{!"int", !5, i64 0}
!5 = !{!"omnipotent char", !6, i64 0}
!6 = !{!"Simple C++ TBAA"}
!7 = !{!"short", !5, i64 0}
!8 = !{!9, !9, i64 0}
!9 = !{!"any pointer", !5, i64 0}
!10 = !{!3, !3, i64...
2019 Jun 05
2
llvm-ir: TBAA and struct copies
...tcast (%struct.S* @y to i8*), i64 8, i1 false), !tbaa.struct !10
> %2 = load i16, i16* getelementptr inbounds (%struct.S, %struct.S* @x,
> i32 0, i32 2), align 2, !tbaa !2
> %conv = sext i16 %2 to i32
> ret i32 %conv
> }
> ...
> !2 = !{!3, !7, i64 6}
> !3 = !{!"_ZTS1S", !4, i64 0, !7, i64 4, !7, i64 6}
> !4 = !{!"int", !5, i64 0}
> !5 = !{!"omnipotent char", !6, i64 0}
> !6 = !{!"Simple C++ TBAA"}
> !7 = !{!"short", !5, i64 0}
> !8 = !{!9, !9, i64 0}
> !9 = !{!"any pointer", !5, i64 0}
>...
2018 Jul 24
2
StructType --> DICompositeType?
...struct S {
int x, y;
} s;
void foo(S *a) {
a->x = 0;
a->y = 1;
}
There are DIType nodes for the struct Type:
!6 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !3, line: 1, size: 64, flags: DIFlagTypePassByValue, elements: !7, identifier: "_ZTS1S")
!7 = !{!8, !10}
!8 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !6, file: !3, line: 2, baseType: !9, size: 32)
!9 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!10 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !6, file: !3, li...
2016 Apr 15
2
[RFC] Lazy-loading of debug info metadata
On Fri, Apr 15, 2016 at 2:27 PM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:
>
> > On 2016-Apr-15, at 10:27, David Blaikie <dblaikie at gmail.com> wrote:
> >
> >
> >
> > On Fri, Apr 15, 2016 at 9:50 AM, Duncan P. N. Exon Smith <
> dexonsmith at apple.com> wrote:
> > Since I haven't heard any objections to the direction,
2016 Apr 16
4
[RFC] Lazy-loading of debug info metadata
...re's a quick hand-written version:
> --
> !llvm.dbg.cus = !{!0, !4}
>
> !0 = distinct !DICompileUnit(file: !1, retainedTypes: !{!2})
> !1 = !DIFile(filename: "a.cpp")
> !2 = !DICompositeType(file: !1, name: "S", elements: !{!3},
> identifier: "_ZTS1S")
> !3 = !DISubprogram(isDefinition: false, file: !1, name: "foo",
> scope: !2, linkageName: "_ZN1S3fooEv")
>
> !4 = distinct !DICompileUnit(file: !5, retainedTypes: !{!6})
> !5 = !DIFile(filename: "b.cpp")
> !6 = !DICompositeType(file: !5,...
2016 Apr 18
1
[RFC] Lazy-loading of debug info metadata
...version:
>> --
>> !llvm.dbg.cus = !{!0, !4}
>>
>> !0 = distinct !DICompileUnit(file: !1, retainedTypes: !{!2})
>> !1 = !DIFile(filename: "a.cpp")
>> !2 = !DICompositeType(file: !1, name: "S", elements: !{!3},
>> identifier: "_ZTS1S")
>> !3 = !DISubprogram(isDefinition: false, file: !1, name: "foo",
>> scope: !2, linkageName: "_ZN1S3fooEv")
>>
>> !4 = distinct !DICompileUnit(file: !5, retainedTypes: !{!6})
>> !5 = !DIFile(filename: "b.cpp")
>> !6 = !...
2017 Nov 02
2
RFC: Generate plain !tbaa tags in place of !tbaa.struct ones
...4 4, i64 0, !"int"}
; A structure containing an array of seven ints.
; We know the element type is int because we explicitly refer to the
node of that type.
; We know there are 7 of them because the size of the field is 28 and
the size of the type is 4.
!5 = !{!1, i64 28, i64 0, !"_ZTS1S", !3, i64 0, i64 28}
; An access to all or any of the array elements in S.
!7 = !{!5, !3, i64 0, i64 28}
; An access to the element with index 2.
!9 = !{!5, !3, i64 8, i64 4}
The same principle can be applied to describing accesses to slices of
scalarized aggregates.
* We would need to ge...
2017 Oct 31
1
RFC: Generate plain !tbaa tags in place of !tbaa.struct ones
To clarify further, what this paper proposes is to use !tbaa for all
kinds of accesses, including aggregate ones, so we don't need to bother
trying to convert them when an aggregate access becomes a series of
scalar accesses or vice versa. As I said, in most cases such conversions
are not possible anyway, because !tbaa.struct tags do not refer to the
type of the aggregate itself and only