Lines Matching defs:This
9 // This contains code dealing with C++ code generation of classes
59 /// This may be smaller than sizeof(RD) if RD has virtual base classes.
105 // This actually isn't necessarily the right thing to do --- if the
218 /// This should only be used for (1) non-virtual bases or (2) virtual bases
221 /// The object pointed to by 'This' is assumed to be non-null.
223 CodeGenFunction::GetAddressOfDirectBaseInCompleteClass(Address This,
228 assert(This.getElementType() == ConvertType(Derived));
240 Address V = This;
466 // This constructor/destructor does not need a VTT parameter.
660 // FIXME: This is hacky at best... if we had a bit more explicit information
746 // TODO: white-list trivial vbase initializers. This case wouldn't
1026 // index. This allows the code to support bitfields, as well as regular
1105 // This memcpy is too small to be worthwhile. Fall back on default
1270 /// EmitCtorPrologue - This routine generates necessary code to initialize
1284 // - This is a base ctor variant
1840 /// destructor. This is to call destructors on members and base classes
2010 // It's legal for numElements to be zero. This can happen both
2050 // (This assumes we never start tracking offsetted alignments.)
2127 Address This = ThisAVS.getAddress();
2131 getAsNaturalPointerTo(This, D->getThisType()->getPointeeType());
2153 LValue Dest = MakeAddrLValue(This, DestTy);
2166 EmitCXXConstructorCall(D, Type, ForVirtualBase, Delegating, This, Args,
2199 Address This,
2207 EmitTypeCheck(CodeGenFunction::TCK_ConstructorCall, Loc, This,
2225 LValue DestLVal = MakeAddrLValue(This, DestTy);
2268 EmitVTableAssumptionLoads(ClassDecl, This);
2272 const CXXConstructorDecl *D, bool ForVirtualBase, Address This,
2276 This, D->getThisType()->getPointeeType())),
2316 This, Args, AggValueSlot::MayOverlap,
2353 // FIXME: This is dumb, we should ask the ABI not to try to set the return
2365 void CodeGenFunction::EmitVTableAssumptionLoad(const VPtr &Vptr, Address This) {
2375 This =
2376 ApplyNonVirtualAndVirtualOffset(*this, This, NonVirtualOffset, nullptr,
2380 GetVTablePtr(This, VTableGlobal->getType(), Vptr.VTableClass);
2387 Address This) {
2390 EmitVTableAssumptionLoad(Vptr, This);
2395 Address This, Address Src,
2402 Args.add(RValue::get(getAsNaturalPointerTo(This, D->getThisType())),
2417 /*Delegating*/false, This, Args,
2433 Address This = LoadCXXThisAddress();
2435 This, (*I)->getType()->getPointeeType())),
2456 /*Delegating=*/true, This, DelegateArgs,
2514 bool Delegating, Address This,
2517 Delegating, This, ThisTy);
2688 llvm::Value *CodeGenFunction::GetVTablePtr(Address This,
2692 Address VTablePtrSrc = This.withElementType(VTableTy);
2698 CGM.getVTablePointerAuthInfo(this, RD, This.emitRawPointer(*this))) {
2703 // This is clearly suboptimal but until we have an ability
2728 // This function returns the least derived such class.