search for: global_start_addr

Displaying 4 results from an estimated 4 matches for "global_start_addr".

2015 Jan 27
7
[LLVMdev] IR extension proposal: bitset constants
...able, i8* @_ZBS1A) readnone br i1 %p, label %continue, label %trap In the LTO case, such intrinsic calls would be lowered by the bitset lowering pass into the appropriate range/bit set check code, which might look like this: (pseudocode for 64-bit platform) if %vtable & 7 != 0 || %vtable < global_start_addr(_ZBS1A) || %vtable > global_end_addr(_ZBS1A) { %p = 0 } else { %p = bitset(_ZBS1A)[(%vtable - global_start_addr(_ZBS1A)) >> 3] } In the non-LTO case, we would generate similar code, but with appropriate relocations so that the required constants (global start/end address, bitset addre...
2015 Jan 28
3
[LLVMdev] IR extension proposal: bitset constants
...%trap >> >> In the LTO case, such intrinsic calls would be lowered by the bitset >> lowering pass >> into the appropriate range/bit set check code, which might look like this: >> (pseudocode for 64-bit platform) >> >> if %vtable & 7 != 0 || %vtable < global_start_addr(_ZBS1A) || %vtable > >> global_end_addr(_ZBS1A) { >> %p = 0 >> } else { >> %p = bitset(_ZBS1A)[(%vtable - global_start_addr(_ZBS1A)) >> 3] >> } >> >> In the non-LTO case, we would generate similar code, but with appropriate >> relocations...
2015 Jan 29
3
[LLVMdev] IR extension proposal: bitset constants
...calls would be lowered by the bitset > > >> lowering pass > > >> into the appropriate range/bit set check code, which might look like > this: > > >> (pseudocode for 64-bit platform) > > >> > > >> if %vtable & 7 != 0 || %vtable < global_start_addr(_ZBS1A) || %vtable > > > > >> global_end_addr(_ZBS1A) { > > >> %p = 0 > > >> } else { > > >> %p = bitset(_ZBS1A)[(%vtable - global_start_addr(_ZBS1A)) >> 3] > > >> } > > >> > > >> In the non-LTO case...
2015 Jan 30
0
[LLVMdev] IR extension proposal: bitset constants
...i1 %p, label %continue, label %trap > > In the LTO case, such intrinsic calls would be lowered by the bitset lowering pass > into the appropriate range/bit set check code, which might look like this: > (pseudocode for 64-bit platform) > > if %vtable & 7 != 0 || %vtable < global_start_addr(_ZBS1A) || %vtable > global_end_addr(_ZBS1A) { > %p = 0 > } else { > %p = bitset(_ZBS1A)[(%vtable - global_start_addr(_ZBS1A)) >> 3] > } > > In the non-LTO case, we would generate similar code, but with appropriate > relocations so that the required constants (globa...