search for: fptr_casted

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

2016 Jan 28
8
Proposal: virtual constant propagation
...ase”) call void @llvm.assume(i1 %p) ; %vtable is assumed to point to ; _ZTV4Base+16 or _ZTV7Derived+16. %fptrptr = getelementptr i8* %vtable, 1 %fptr = load i8*, i8** %fptrptr ; %fptr must point to Base::isOfType ; or Derived::isOfType. %fptr_casted = bitcast i8% %fptr to i1 (i8***, i32) %result = call i1 %fptr_casted(i8*** %obj, i32 0) This gives the optimizer all the information it needs to implement the optimization: the addresses of the virtual tables, the addresses of the function pointers (within the virtual table initializers) and the...
2016 Jan 28
2
Proposal: virtual constant propagation
...able is assumed to point to >> ; _ZTV4Base+16 or _ZTV7Derived+16. >> %fptrptr = getelementptr i8* %vtable, 1 >> %fptr = load i8*, i8** %fptrptr ; %fptr must point to Base::isOfType >> ; or Derived::isOfType. >> %fptr_casted = bitcast i8% %fptr to i1 (i8***, i32) >> %result = call i1 %fptr_casted(i8*** %obj, i32 0) >> >> This gives the optimizer all the information it needs to implement the >> optimization: the addresses of the virtual tables, the addresses of the >> function pointers (wi...