Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:VTT

275 /// GetVTTParameter - Return the VTT parameter that should be passed to a
280 // This constructor/destructor does not need a VTT parameter.
287 llvm::Value *VTT;
295 "doing no-op VTT offset in base dtor/ctor?");
307 assert(SubVTTIndex != 0 && "Sub-VTT index must be greater than zero!");
311 // A VTT parameter was passed to the constructor, use it.
312 VTT = CGF.LoadCXXVTT();
313 VTT = CGF.Builder.CreateConstInBoundsGEP1_64(VTT, SubVTTIndex);
315 // We're the complete constructor, so get the VTT by name.
316 VTT = CGF.CGM.getVTables().GetAddrOfVTT(RD);
317 VTT = CGF.Builder.CreateConstInBoundsGEP2_64(VTT, 0, SubVTTIndex);
320 return VTT;
1256 llvm::Value *VTT = GetVTTParameter(*this, GlobalDecl(D, Type), ForVirtualBase);
1259 EmitCXXMemberCall(D, Callee, ReturnValueSlot(), This, VTT, ArgBeg, ArgEnd);
1328 // vtt
1329 if (llvm::Value *VTT = GetVTTParameter(*this, GlobalDecl(Ctor, CtorType),
1332 DelegateArgs.add(RValue::get(VTT), VoidPP);
1335 assert(I != E && "cannot skip vtt parameter, already done with args");
1336 assert((*I)->getType() == VoidPP && "skipping parameter not of vtt type");
1401 llvm::Value *VTT = GetVTTParameter(*this, GlobalDecl(DD, Type),
1411 EmitCXXMemberCall(DD, Callee, ReturnValueSlot(), This, VTT, 0, 0);
1477 // Check if we need to use a vtable from the VTT.
1484 /// Load the VTT.
1485 llvm::Value *VTT = LoadCXXVTT();
1487 VTT = Builder.CreateConstInBoundsGEP1_64(VTT, VirtualPointerIndex);
1489 // And load the address point from the VTT.
1490 VTableAddressPoint = Builder.CreateLoad(VTT);