search for: vtable_bit_addr

Displaying 2 results from an estimated 2 matches for "vtable_bit_addr".

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 coul...
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, before...