search for: _ztsfve

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

Did you mean: _ztsfive
2017 May 16
2
[RFC] CFI for indirect calls with ThinLTO
...ule. Indirect call targets can be represented in the following way using named metadata: void foo() {} int bar() { return 0; } # Merged module !cfi.functions = !{!1, !3} !1 = !{!"bar", i8 0, !2} !2 = !{i64 0, !"_ZTSFiE"} !3 = !{!"foo", i8 0, !4} !4 = !{i64 0, !"_ZTSFvE"} Each function is described by a tuple of * Promoted name as a string * Linkage (see below) * Type(s) A function can have multiple types. In the Cross-DSO mode each function has a second “external” numeric type, and we might want to allow “relaxed” type checking in the future where a funct...
2017 May 16
2
[RFC] CFI for indirect calls with ThinLTO
...: >> >> void foo() {} >> int bar() { return 0; } >> >> # Merged module >> !cfi.functions = !{!1, !3} >> !1 = !{!"bar", i8 0, !2} >> !2 = !{i64 0, !"_ZTSFiE"} >> !3 = !{!"foo", i8 0, !4} >> !4 = !{i64 0, !"_ZTSFvE"} > > > Presumably there would be no entries in !cfi.functions for functions defined > in the merged module, as the type metadata would come from the module > itself. Right. The same as with vtable CFI, LowerTypeTests will use !cfi.functions in addition to the regular logic. &...
2017 May 24
2
[RFC] CFI for indirect calls with ThinLTO
...; } > >>> > >>> # Merged module > >>> !cfi.functions = !{!1, !3} > >>> !1 = !{!"bar", i8 0, !2} > >>> !2 = !{i64 0, !"_ZTSFiE"} > >>> !3 = !{!"foo", i8 0, !4} > >>> !4 = !{i64 0, !"_ZTSFvE"} > >> > >> > >> Presumably there would be no entries in !cfi.functions for functions > defined > >> in the merged module, as the type metadata would come from the module > >> itself. > > > > Right. The same as with vtable CFI, LowerT...