search for: typeid1

Displaying 20 results from an estimated 23 matches for "typeid1".

Did you mean: typeid
2016 Oct 26
2
RFC: a more detailed design for ThinLTO + vcall CFI
...eArray case. Consider this module (based on test/Transforms/LowerTypeTests/simple.ll): @a = constant i32 1, !type !0, !type !2 @b = constant [63 x i32] zeroinitializer, !type !0, !type !1 @c = constant i32 3, !type !1, !type !2 @d = constant [2 x i32] [i32 4, i32 5], !type !3 !0 = !{i32 0, !"typeid1"} !3 = !{i32 4, !"typeid1"} !1 = !{i32 0, !"typeid2"} !2 = !{i32 0, !"typeid3"} define i1 @baz(i32* %p) { %x = call i1 @llvm.type.test(i8* %pi8, metadata !"typeid3") ret i1 %x } Here is the IR after the LowerTypeTests pass has run. I've marked...
2016 Oct 28
0
RFC: a more detailed design for ThinLTO + vcall CFI
...d on test/Transforms/ > LowerTypeTests/simple.ll): > > @a = constant i32 1, !type !0, !type !2 > @b = constant [63 x i32] zeroinitializer, !type !0, !type !1 > @c = constant i32 3, !type !1, !type !2 > @d = constant [2 x i32] [i32 4, i32 5], !type !3 > > !0 = !{i32 0, !"typeid1"} > !3 = !{i32 4, !"typeid1"} > !1 = !{i32 0, !"typeid2"} > !2 = !{i32 0, !"typeid3"} > > define i1 @baz(i32* %p) { > %x = call i1 @llvm.type.test(i8* %pi8, metadata !"typeid3") > ret i1 %x > } > > Here is the IR after t...
2018 May 01
0
RFC: LLVM Assembly format for ThinLTO Summary
...gt; >>> To confirm, you mean during the compile step create a top-level entity >>> that maps GUID -> identifier? >>> >> >> I mean that you could represent this with something like: >> >> ^typeids = {^1, ^2, ^3} >> ^1 = typeid: {identifier: typeid1, ...} >> ^2 = typeid: {identifier: typeid2, ...} >> ^3 = typeid: {identifier: typeid3, ...} >> >> There's no need to store the GUIDs here because they can be computed from >> the type identifiers. The GUIDs would only be stored in the typeTests >> (etc.) fiel...
2014 Nov 14
2
[LLVMdev] RFC: How to represent SEH (__try / __except) in LLVM IR
...epresent that, and I don't really have it nailed down. Here's an idea, just to brainstorm: define void @parent() { invoke ... unwind to %lpad ... lpad: %eh_vals = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__C_specific_handler to i8*) cleanup catch i8* @typeid1 catch i8* @typeid2 %label = call i8* (...)* @llvm.eh.outlined_handlers( void (i8*, i8*)* @my_cleanup, i8* @typeid1, i8* (i8*, i8*)* @my_catch1, i8* @typeid2, i8* (i8*, i8*)* @my_catch2) indirectbr i8* %label endcatch: ... } define void @my_cleanup(i8*, i8*) { ......
2014 Nov 24
1
[LLVMdev] RFC: How to represent SEH (__try / __except) in LLVM IR
...med? I didn't do that in the mock-up above, but it seems like it would simplify things. Basically, I'm imagining a final pattern that looks like this: lpad: %eh_vals = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) cleanup catch i8* @typeid1 catch i8* @typeid2 ... %label = call i8* (...)* @llvm.eh.outlined_handlers( void (i8*, i8*)* @<pre-catch cleanup function>, i8* @typeid1, i8* (i8*, i8*)* @<typeid1 catch function>, i8* @typeid2, i8* (i8*, i8*)* @<typeid2 catch function>, ......
2018 May 01
3
RFC: LLVM Assembly format for ThinLTO Summary
...level entity. >>> >> >> To confirm, you mean during the compile step create a top-level entity >> that maps GUID -> identifier? >> > > I mean that you could represent this with something like: > > ^typeids = {^1, ^2, ^3} > ^1 = typeid: {identifier: typeid1, ...} > ^2 = typeid: {identifier: typeid2, ...} > ^3 = typeid: {identifier: typeid3, ...} > > There's no need to store the GUIDs here because they can be computed from > the type identifiers. The GUIDs would only be stored in the typeTests > (etc.) fields in each function summ...
2014 Nov 13
2
[LLVMdev] RFC: How to represent SEH (__try / __except) in LLVM IR
Thanks for the additional information. Right now I’m experimenting with a mix of code compiled with MSVC and code compiled with clang, trying to get a C++ exception thrown and caught by the MSVC-compiled code across a function in the clang-compiled code. My goal here is to isolate a small part of what needs to be done in a way that lends itself to tinkering. I think this might lead me to the
2018 May 01
3
RFC: LLVM Assembly format for ThinLTO Summary
...you mean during the compile step create a top-level entity >>>> that maps GUID -> identifier? >>>> >>> >>> I mean that you could represent this with something like: >>> >>> ^typeids = {^1, ^2, ^3} >>> ^1 = typeid: {identifier: typeid1, ...} >>> ^2 = typeid: {identifier: typeid2, ...} >>> ^3 = typeid: {identifier: typeid3, ...} >>> >>> There's no need to store the GUIDs here because they can be computed >>> from the type identifiers. The GUIDs would only be stored in the typeTests...
2018 May 01
0
RFC: LLVM Assembly format for ThinLTO Summary
...step create a top-level entity >>>>> that maps GUID -> identifier? >>>>> >>>> >>>> I mean that you could represent this with something like: >>>> >>>> ^typeids = {^1, ^2, ^3} >>>> ^1 = typeid: {identifier: typeid1, ...} >>>> ^2 = typeid: {identifier: typeid2, ...} >>>> ^3 = typeid: {identifier: typeid3, ...} >>>> >>>> There's no need to store the GUIDs here because they can be computed >>>> from the type identifiers. The GUIDs would only be stor...
2018 May 03
0
RFC: LLVM Assembly format for ThinLTO Summary
...tity that maps GUID -> identifier? >>>>>>> >>>>>> >>>>>> I mean that you could represent this with something like: >>>>>> >>>>>> ^typeids = {^1, ^2, ^3} >>>>>> ^1 = typeid: {identifier: typeid1, ...} >>>>>> ^2 = typeid: {identifier: typeid2, ...} >>>>>> ^3 = typeid: {identifier: typeid3, ...} >>>>>> >>>>>> There's no need to store the GUIDs here because they can be computed >>>>>> from the type i...
2018 May 03
3
RFC: LLVM Assembly format for ThinLTO Summary
...;>>>>> entity that maps GUID -> identifier? >>>>>> >>>>> >>>>> I mean that you could represent this with something like: >>>>> >>>>> ^typeids = {^1, ^2, ^3} >>>>> ^1 = typeid: {identifier: typeid1, ...} >>>>> ^2 = typeid: {identifier: typeid2, ...} >>>>> ^3 = typeid: {identifier: typeid3, ...} >>>>> >>>>> There's no need to store the GUIDs here because they can be computed >>>>> from the type identifiers. The GUID...
2018 May 03
4
RFC: LLVM Assembly format for ThinLTO Summary
...; identifier? >>>>>>>> >>>>>>> >>>>>>> I mean that you could represent this with something like: >>>>>>> >>>>>>> ^typeids = {^1, ^2, ^3} >>>>>>> ^1 = typeid: {identifier: typeid1, ...} >>>>>>> ^2 = typeid: {identifier: typeid2, ...} >>>>>>> ^3 = typeid: {identifier: typeid3, ...} >>>>>>> >>>>>>> There's no need to store the GUIDs here because they can be computed >>>>>>...
2014 Nov 18
2
[LLVMdev] RFC: How to represent SEH (__try / __except) in LLVM IR
...rainstorm: > > > > define void @parent() { > > invoke ... unwind to %lpad > > ... > > lpad: > > %eh_vals = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__C_specific_handler to i8*) > > cleanup > > catch i8* @typeid1 > > catch i8* @typeid2 > > %label = call i8* (...)* @llvm.eh.outlined_handlers( > > void (i8*, i8*)* @my_cleanup, > > i8* @typeid1, i8* (i8*, i8*)* @my_catch1, > > i8* @typeid2, i8* (i8*, i8*)* @my_catch2) > > indirectbr i8* %lab...
2018 May 03
1
RFC: LLVM Assembly format for ThinLTO Summary
...s a top-level entity. >> >> To confirm, you mean during the compile step create a top-level entity that maps GUID -> identifier? >> >> I mean that you could represent this with something like: >> >> ^typeids = {^1, ^2, ^3} >> ^1 = typeid: {identifier: typeid1, ...} >> ^2 = typeid: {identifier: typeid2, ...} >> ^3 = typeid: {identifier: typeid3, ...} >> >> There's no need to store the GUIDs here because they can be computed from the type identifiers. The GUIDs would only be stored in the typeTests (etc.) fields in each functi...
2018 May 03
3
RFC: LLVM Assembly format for ThinLTO Summary
...apping of type identifiers as a top-level entity. > > To confirm, you mean during the compile step create a top-level entity that maps GUID -> identifier? > > I mean that you could represent this with something like: > > ^typeids = {^1, ^2, ^3} > ^1 = typeid: {identifier: typeid1, ...} > ^2 = typeid: {identifier: typeid2, ...} > ^3 = typeid: {identifier: typeid3, ...} > > There's no need to store the GUIDs here because they can be computed from the type identifiers. The GUIDs would only be stored in the typeTests (etc.) fields in each function summary. >...
2018 May 03
0
RFC: LLVM Assembly format for ThinLTO Summary
...;>>>>> entity that maps GUID -> identifier? >>>>>> >>>>> >>>>> I mean that you could represent this with something like: >>>>> >>>>> ^typeids = {^1, ^2, ^3} >>>>> ^1 = typeid: {identifier: typeid1, ...} >>>>> ^2 = typeid: {identifier: typeid2, ...} >>>>> ^3 = typeid: {identifier: typeid3, ...} >>>>> >>>>> There's no need to store the GUIDs here because they can be computed >>>>> from the type identifiers. The GUID...
2018 May 03
2
RFC: LLVM Assembly format for ThinLTO Summary
...t;> >>>>>>>>> >>>>>>>>> I mean that you could represent this with something like: >>>>>>>>> >>>>>>>>> ^typeids = {^1, ^2, ^3} >>>>>>>>> ^1 = typeid: {identifier: typeid1, ...} >>>>>>>>> ^2 = typeid: {identifier: typeid2, ...} >>>>>>>>> ^3 = typeid: {identifier: typeid3, ...} >>>>>>>>> >>>>>>>>> There's no need to store the GUIDs here because they can be &...
2018 May 04
0
RFC: LLVM Assembly format for ThinLTO Summary
...gt;>>>>>> >>>>>>>>>> I mean that you could represent this with something like: >>>>>>>>>> >>>>>>>>>> ^typeids = {^1, ^2, ^3} >>>>>>>>>> ^1 = typeid: {identifier: typeid1, ...} >>>>>>>>>> ^2 = typeid: {identifier: typeid2, ...} >>>>>>>>>> ^3 = typeid: {identifier: typeid3, ...} >>>>>>>>>> >>>>>>>>>> There's no need to store the GUIDs here becau...
2018 May 04
5
RFC: LLVM Assembly format for ThinLTO Summary
...t;> >>>>>>>>> >>>>>>>>> I mean that you could represent this with something like: >>>>>>>>> >>>>>>>>> ^typeids = {^1, ^2, ^3} >>>>>>>>> ^1 = typeid: {identifier: typeid1, ...} >>>>>>>>> ^2 = typeid: {identifier: typeid2, ...} >>>>>>>>> ^3 = typeid: {identifier: typeid3, ...} >>>>>>>>> >>>>>>>>> There's no need to store the GUIDs here because they can be &...
2018 Apr 30
0
RFC: LLVM Assembly format for ThinLTO Summary
...ping of type identifiers as >> a top-level entity. >> > > To confirm, you mean during the compile step create a top-level entity > that maps GUID -> identifier? > I mean that you could represent this with something like: ^typeids = {^1, ^2, ^3} ^1 = typeid: {identifier: typeid1, ...} ^2 = typeid: {identifier: typeid2, ...} ^3 = typeid: {identifier: typeid3, ...} There's no need to store the GUIDs here because they can be computed from the type identifiers. The GUIDs would only be stored in the typeTests (etc.) fields in each function summary. Peter > > Thanks...