search for: vtable_bit_and

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

Did you mean: vtable_bit_addr
2016 Jan 28
8
Proposal: virtual constant propagation
...y 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 could later be extended to do general devirtualization based on the bitset information: - The...
2016 Jan 28
2
Proposal: virtual constant propagation
...sed 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 could later >> be extended to do general devirtualizat...