Displaying 2 results from an estimated 2 matches for "vtable_bit".
2016 Jan 28
8
Proposal: virtual constant propagation
...Note that the compiler does not need to do any of the work
described in the above link to lay out globals or create bitsets if all
calls to llvm.bitset.test are passed to llvm.assume.
If virtual constant propagation succeeds, the transformed IR will look
like this:
%vtable = load i8*, i8** %obj
%vtable_bit_addr = getelementptr i8* %vtable, i64 -17
%vtable_bit = load i8 %vtable_bit_addr
%vtable_bit_and = and i8 %vtable_bit, 1
%result = icmp ne %vtable_bit_and, 0
The pass that applies this transformation will be placed early in the LTO
pipeline, before most of the regular optimization passes. The pass...
2016 Jan 28
2
Proposal: virtual constant propagation
...cribed in the above link to lay out globals or create bitsets if all
>> calls to llvm.bitset.test are passed to llvm.assume.
>>
>> If virtual constant propagation succeeds, the transformed IR will look
>> like this:
>>
>> %vtable = load i8*, i8** %obj
>> %vtable_bit_addr = getelementptr i8* %vtable, i64 -17
>> %vtable_bit = load i8 %vtable_bit_addr
>> %vtable_bit_and = and i8 %vtable_bit, 1
>> %result = icmp ne %vtable_bit_and, 0
>>
>> The pass that applies this transformation will be placed early in the LTO
>> pipeline, be...