Lines Matching defs:This
9 // This contains code dealing with C++ code generation of classes
58 /// This may be smaller than sizeof(RD) if RD has virtual base classes.
104 // This actually isn't necessarily the right thing to do --- if the
217 /// This should only be used for (1) non-virtual bases or (2) virtual bases
220 /// The object pointed to by 'This' is assumed to be non-null.
222 CodeGenFunction::GetAddressOfDirectBaseInCompleteClass(Address This,
227 assert(This.getElementType() == ConvertType(Derived));
239 Address V = This;
465 // This constructor/destructor does not need a VTT parameter.
659 // FIXME: This is hacky at best... if we had a bit more explicit information
745 // TODO: white-list trivial vbase initializers. This case wouldn't
1025 // index. This allows the code to support bitfields, as well as regular
1104 // This memcpy is too small to be worthwhile. Fall back on default
1269 /// EmitCtorPrologue - This routine generates necessary code to initialize
1283 // - This is a base ctor variant
1839 /// destructor. This is to call destructors on members and base classes
2009 // It's legal for numElements to be zero. This can happen both
2049 // (This assumes we never start tracking offsetted alignments.)
2126 Address This = ThisAVS.getAddress();
2130 getAsNaturalPointerTo(This, D->getThisType()->getPointeeType());
2152 LValue Dest = MakeAddrLValue(This, DestTy);
2165 EmitCXXConstructorCall(D, Type, ForVirtualBase, Delegating, This, Args,
2196 bool Delegating, Address This, CallArgList &Args,
2202 EmitTypeCheck(CodeGenFunction::TCK_ConstructorCall, Loc, This,
2220 LValue DestLVal = MakeAddrLValue(This, DestTy);
2263 EmitVTableAssumptionLoads(ClassDecl, This);
2267 const CXXConstructorDecl *D, bool ForVirtualBase, Address This,
2271 This, D->getThisType()->getPointeeType())),
2311 This, Args, AggValueSlot::MayOverlap,
2348 // FIXME: This is dumb, we should ask the ABI not to try to set the return
2360 void CodeGenFunction::EmitVTableAssumptionLoad(const VPtr &Vptr, Address This) {
2370 This =
2371 ApplyNonVirtualAndVirtualOffset(*this, This, NonVirtualOffset, nullptr,
2375 GetVTablePtr(This, VTableGlobal->getType(), Vptr.VTableClass);
2382 Address This) {
2385 EmitVTableAssumptionLoad(Vptr, This);
2390 Address This, Address Src,
2397 Args.add(RValue::get(getAsNaturalPointerTo(This, D->getThisType())),
2412 /*Delegating*/false, This, Args,
2428 Address This = LoadCXXThisAddress();
2430 This, (*I)->getType()->getPointeeType())),
2451 /*Delegating=*/true, This, DelegateArgs,
2509 bool Delegating, Address This,
2512 Delegating, This, ThisTy);
2683 llvm::Value *CodeGenFunction::GetVTablePtr(Address This,
2687 Address VTablePtrSrc = This.withElementType(VTableTy);
2693 CGM.getVTablePointerAuthInfo(this, RD, This.emitRawPointer(*this))) {
2698 // This is clearly suboptimal but until we have an ability
2723 // This function returns the least derived such class.