Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Vptr

2261 void CodeGenFunction::EmitVTableAssumptionLoad(const VPtr &Vptr, Address This) {
2263 CGM.getCXXABI().getVTableAddressPoint(Vptr.Base, Vptr.VTableClass);
2268 CharUnits NonVirtualOffset = Vptr.Base.getBaseOffset();
2273 Vptr.VTableClass, Vptr.NearestVBase);
2276 GetVTablePtr(This, VTableGlobal->getType(), Vptr.VTableClass);
2285 for (const VPtr &Vptr : getVTablePointers(ClassDecl))
2286 EmitVTableAssumptionLoad(Vptr, This);
2431 void CodeGenFunction::InitializeVTablePointer(const VPtr &Vptr) {
2435 *this, Vptr.VTableClass, Vptr.Base, Vptr.NearestVBase);
2444 if (CGM.getCXXABI().isVirtualOffsetNeededForVTableField(*this, Vptr)) {
2449 *this, LoadCXXThisAddress(), Vptr.VTableClass, Vptr.NearestVBase);
2450 NonVirtualOffset = Vptr.OffsetFromNearestVBase;
2453 NonVirtualOffset = Vptr.Base.getBaseOffset();
2461 *this, VTableField, NonVirtualOffset, VirtualOffset, Vptr.VTableClass,
2462 Vptr.NearestVBase);
2477 CGM.DecorateInstructionWithInvariantGroup(Store, Vptr.VTableClass);
2503 VPtr Vptr = {Base, NearestVBase, OffsetFromNearestVBase, VTableClass};
2504 Vptrs.push_back(Vptr);
2556 for (const VPtr &Vptr : getVTablePointers(RD))
2557 InitializeVTablePointer(Vptr);