Lines Matching defs:This

9 // This provides C++ code generation targeting the Microsoft Visual C++ ABI.
182 GetVirtualBaseClassOffset(CodeGenFunction &CGF, Address This,
282 Address This,
304 bool Delegating, Address This,
334 Address This, llvm::Type *Ty,
339 CXXDtorType DtorType, Address This,
384 // This map would be useless, don't use it.
418 llvm::Value *performThisAdjustment(CodeGenFunction &CGF, Address This,
715 Address This, llvm::Value *&ThisPtrForCall,
799 LoadVTablePtr(CodeGenFunction &CGF, Address This,
813 /// This set holds the record decls we've deferred vtable emission for.
863 // FIXME: This is incompatible with MSVC for arguments with a dtor and no
947 // If the class itself has a vfptr, great. This check implicitly
1016 CodeGenFunction &CGF, Address This, QualType SrcRecordTy, QualType DestTy,
1024 std::tie(This, Offset, std::ignore) =
1025 performBaseAdjustment(CGF, This, SrcRecordTy);
1026 llvm::Value *ThisPtr = This.emitRawPointer(CGF);
1067 CodeGenFunction &CGF, Address This, const CXXRecordDecl *ClassDecl,
1081 GetVBaseOffsetFromVBPtr(CGF, This, VBPtrOffset, VBTableOffset);
1128 // This is handled by the `needsImplicitCopyAssignment()` check below.
1133 // assignment operator. This is handled by the `isDeleted()` check below.
1302 // real default constructor. This thunk is the default constructor closure.
1315 Address This = getThisAddress(CGF);
1316 This = This.withElementType(CGM.Int8Ty);
1330 Address VBPtr = CGF.Builder.CreateConstInBoundsByteGEP(This, Offs);
1398 // imported and therefore must be exported as well. This requires changing
1465 CodeGenFunction &CGF, GlobalDecl GD, Address This,
1472 return This;
1474 This = This.withElementType(CGF.Int8Ty);
1476 return CGF.Builder.CreateConstByteGEP(This, Adjustment);
1486 return This;
1503 Address Result = This;
1579 llvm::Value *This = loadIncomingCXXThis(CGF);
1585 This = CGF.Builder.CreateConstInBoundsGEP1_32(CGF.Int8Ty, This,
1589 setCXXABIThisValue(CGF, This);
1653 bool Delegating, Address This,
1656 // if the class has no virtual bases. This effectively implements some of the
1667 This = adjustThisArgumentForVirtualFunctionCall(CGF, GlobalDecl(DD, Type),
1668 This, false);
1679 CGF.EmitCXXDestructorCall(GD, Callee, CGF.getAsNaturalPointerTo(This, ThisTy),
1711 // aka the "address point" on Itanium. This is at offset 0 if RTTI is
1948 Address This,
1955 adjustThisArgumentForVirtualFunctionCall(CGF, GD, This, true);
1998 Address This, DeleteOrMemberCallExpr E, llvm::CallBase **CallOrInvoke) {
2011 CGCallee Callee = CGCallee::forVirtual(CE, GD, This, Ty);
2025 This = adjustThisArgumentForVirtualFunctionCall(CGF, GD, This, true);
2027 CGF.EmitCXXDestructorCall(GD, Callee, This.emitRawPointer(CGF), ThisTy,
2223 CodeGenFunction &CGF, Address This,
2225 const ThisAdjustment &TA = TI.This;
2227 return This.emitRawPointer(CGF);
2229 This = This.withElementType(CGF.Int8Ty);
2233 V = This.emitRawPointer(CGF);
2238 CGF.Builder.CreateConstInBoundsByteGEP(This,
2242 V = CGF.Builder.CreateGEP(This.getElementType(), This.emitRawPointer(CGF),
2399 // This will create a GV in the .CRT$XDU section. It will point to our
2408 // This variable has discardable linkage, we have to add it to @llvm.used to
2738 // This BasicBLock determines whether or not we have any work to do.
2750 // This BasicBlock attempts to determine whether or not this thread is
3133 Address This,
3140 CGM.Int8Ty, This.emitRawPointer(CGF), VBPtrOffset, "vbptr");
3146 VBPtrAlign = This.getAlignment().alignmentAtOffset(
3366 // is non-virtual. This is accounted for by adjusting the non-virtual offset
3509 CodeGenFunction &CGF, const Expr *E, Address This,
3539 ThisPtrForCall = AdjustVirtualBase(CGF, E, RD, This,
3542 ThisPtrForCall = This.emitRawPointer(CGF);
4043 // equivalent. This effectively implements -mconstructor-aliases as part of
4127 llvm::Value *This = getThisValue(CGF);
4136 Args.add(RValue::get(This), CD->getThisType());
4386 // This is used as a component of the mangled name which means that we need to
4423 // This is unused as far as we can tell, initialize it to null.
4464 MicrosoftCXXABI::LoadVTablePtr(CodeGenFunction &CGF, Address This,
4466 std::tie(This, std::ignore, RD) =
4467 performBaseAdjustment(CGF, This, QualType(RD->getTypeForDecl(), 0));
4468 return {CGF.GetVTablePtr(This, CGM.Int8PtrTy, RD), RD};