search for: c_vtable1

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

Did you mean: c_vtable0
2016 Feb 29
0
[cfe-dev] RFC: A new ABI for virtual calls, and a change to the virtual call representation in the IR
...i32} {0, @A::rtti, @A::f - (@A_vtable + 16), > @A::g - (@A_vtable + 16)} > @B_vtable = {i8*, i8*, i32} {0, @B::rtti, @B::h - (@B_vtable + 16)} > @C_vtable0 = {i8*, i8*, i32, i32, i32} {0, @C::rtti, @C::f - (@C_vtable0 + > 16), @C::g - (@C_vtable0 + 16), @C::h - (@C_vtable0 + 16)} > @C_vtable1 = {i8*, i8*, i32} {-8, @C::rtti, @C::h - (@C_vtable1 + 16)} > > define void @fcall(%A* %a) { > %slot = call i32 @llvm.vtable.slot.offset(!"A", i32 0) > %vtable = load i8* %a > %fp = i8* @llvm.vtable.load.relative(%vtable, %slot) > %casted_fp = bitcast i8* %fp to...
2016 Feb 29
10
RFC: A new ABI for virtual calls, and a change to the virtual call representation in the IR
..._vtable = {i8*, i8*, i32, i32} {0, @A::rtti, @A::f - (@A_vtable + 16), @A::g - (@A_vtable + 16)} @B_vtable = {i8*, i8*, i32} {0, @B::rtti, @B::h - (@B_vtable + 16)} @C_vtable0 = {i8*, i8*, i32, i32, i32} {0, @C::rtti, @C::f - (@C_vtable0 + 16), @C::g - (@C_vtable0 + 16), @C::h - (@C_vtable0 + 16)} @C_vtable1 = {i8*, i8*, i32} {-8, @C::rtti, @C::h - (@C_vtable1 + 16)} define void @fcall(%A* %a) { %slot = call i32 @llvm.vtable.slot.offset(!"A", i32 0) %vtable = load i8* %a %fp = i8* @llvm.vtable.load.relative(%vtable, %slot) %casted_fp = bitcast i8* %fp to void (%A*) call void %caste...