Lines Matching refs:CGM

138     CXXThisAlignment = CGM.getClassPointerAlignment(RD);  in LoadCXXThisAddress()
155 CGM.getCXXABI().EmitMemberDataPointerAddress(*this, E, base, in EmitCXXMemberDataPointerAddress()
160 CGM.getNaturalTypeAlignment(memberType, BaseInfo, TBAAInfo); in EmitCXXMemberDataPointerAddress()
162 CGM.getDynamicOffsetAlignment(base.getAlignment(), in EmitCXXMemberDataPointerAddress()
258 (CGF.CGM.getTarget().getCXXABI().isItaniumFamily() && in ApplyNonVirtualAndVirtualOffset()
259 CGF.CGM.getItaniumVTableContext().isRelativeLayout()) in ApplyNonVirtualAndVirtualOffset()
282 alignment = CGF.CGM.getVBaseAlignment(addr.getAlignment(), in ApplyNonVirtualAndVirtualOffset()
315 CharUnits NonVirtualOffset = CGM.computeNonVirtualBaseClassOffset( in GetAddressOfBaseClass()
334 CharUnits DerivedAlign = CGM.getClassPointerAlignment(Derived); in GetAddressOfBaseClass()
374 CGM.getCXXABI().GetVirtualBaseClassOffset(*this, Value, Derived, VBase); in GetAddressOfBaseClass()
414 CGM.GetNonVirtualBaseClassOffset(Derived, PathBegin, PathEnd); in GetAddressOfDerivedClass()
456 return Address(Value, CGM.getClassPointerAlignment(Derived)); in GetAddressOfDerivedClass()
462 if (!CGM.getCXXABI().NeedsVTTParameter(GD)) { in GetVTTParameter()
480 assert(!CGM.getCXXABI().NeedsVTTParameter(CurGD) && in GetVTTParameter()
491 CGM.getVTables().getSubVTTIndex(RD, BaseSubobject(Base, BaseOffset)); in GetVTTParameter()
495 if (CGM.getCXXABI().NeedsVTTParameter(CurGD)) { in GetVTTParameter()
501 VTT = CGM.getVTables().GetAddrOfVTT(RD); in GetVTTParameter()
593 if (CGF.CGM.getLangOpts().Exceptions && in EmitBaseInitializer()
671 CGF.CGM.getCXXABI().getSrcArgforCopyCtor(Constructor, Args); in EmitMemberInitializer()
790 unsigned PtrSize = CGM.getDataLayout().getPointerSizeInBits(); in EmitAsanPrologueOrEpilogue()
815 llvm::FunctionType::get(CGM.VoidTy, Args, false); in EmitAsanPrologueOrEpilogue()
816 llvm::FunctionCallee F = CGM.CreateRuntimeFunction( in EmitAsanPrologueOrEpilogue()
845 assert((CGM.getTarget().getCXXABI().hasConstructorVariants() || in EmitConstructorBody()
852 CGM.getTarget().getCXXABI().hasConstructorVariants()) { in EmitConstructorBody()
1061 return Args[CGF.CGM.getCXXABI().getSrcArgforCopyCtor(CD, Args)]; in getTrivialCopySource()
1306 !CGM.getTarget().getCXXABI().hasConstructorVariants()) { in EmitCtorPrologue()
1308 CGM.getCXXABI().EmitCtorCompleteObjectHandler(*this, ClassDecl); in EmitCtorPrologue()
1316 if (CGM.getCodeGenOpts().StrictVTablePointers && in EmitCtorPrologue()
1317 CGM.getCodeGenOpts().OptimizationLevel > 0 && in EmitCtorPrologue()
1333 if (CGM.getCodeGenOpts().StrictVTablePointers && in EmitCtorPrologue()
1334 CGM.getCodeGenOpts().OptimizationLevel > 0 && in EmitCtorPrologue()
1525 if (CGM.getCodeGenOpts().StrictVTablePointers && in EmitDestructorBody()
1526 CGM.getCodeGenOpts().OptimizationLevel > 0) in EmitDestructorBody()
1670 CGF.CGM.CreateRuntimeFunction(FnType, "__sanitizer_dtor_callback"); in EmitSanitizerDtorCallback()
1837 if (CGM.getCodeGenOpts().SanitizeMemoryUseAfterDtor && in EnterDtorCleanups()
1863 if (CGM.getCodeGenOpts().SanitizeMemoryUseAfterDtor && in EnterDtorCleanups()
1887 if (CGM.getCodeGenOpts().SanitizeMemoryUseAfterDtor && in EnterDtorCleanups()
2119 CGF.CGM.getTypes().arrangeCXXConstructorCall(Args, Ctor, Type, 0, 0); in canEmitDelegateCallArgs()
2156 CGM.getNaturalTypeAlignment(SrcTy)); in EmitCXXConstructorCall()
2177 CGM.getCXXABI().addImplicitConstructorArgs(*this, D, Type, ForVirtualBase, in EmitCXXConstructorCall()
2181 llvm::Constant *CalleePtr = CGM.getAddrOfCXXStructor(GlobalDecl(D, Type)); in EmitCXXConstructorCall()
2182 const CGFunctionInfo &Info = CGM.getTypes().arrangeCXXConstructorCall( in EmitCXXConstructorCall()
2198 if (CGM.getCodeGenOpts().OptimizationLevel > 0 && in EmitCXXConstructorCall()
2200 CGM.getCXXABI().canSpeculativelyEmitVTable(ClassDecl) && in EmitCXXConstructorCall()
2201 CGM.getCodeGenOpts().StrictVTablePointers) in EmitCXXConstructorCall()
2213 CGM.getTarget().getCXXABI().hasConstructorVariants()) { in EmitInheritedCXXConstructorCall()
2268 CGM.getCXXABI().addImplicitConstructorArgs(*this, Ctor, CtorType, in EmitInlinedInheritingCXXConstructorCall()
2290 CGM.getCXXABI().EmitInstanceFunctionProlog(*this); in EmitInlinedInheritingCXXConstructorCall()
2299 CGM.getCXXABI().getVTableAddressPoint(Vptr.Base, Vptr.VTableClass); in EmitVTableAssumptionLoad()
2320 if (CGM.getCXXABI().doStructorsInitializeVPtrs(ClassDecl)) in EmitVTableAssumptionLoads()
2338 llvm::Type *t = CGM.getTypes().ConvertType(QT); in EmitSynthesizedCXXCopyCtorCall()
2369 if (CGM.getCXXABI().NeedsVTTParameter(CurGD)) { in EmitDelegateCXXConstructorCall()
2429 if (CGM.getLangOpts().Exceptions && !ClassDecl->hasTrivialDestructor()) { in EmitDelegatingCXXConstructorCall()
2444 CGM.getCXXABI().EmitDestructorCall(*this, DD, Type, ForVirtualBase, in EmitCXXDestructorCall()
2483 CGM.getCXXABI().getVTableAddressPointInStructor( in InitializeVTablePointer()
2493 if (CGM.getCXXABI().isVirtualOffsetNeededForVTableField(*this, Vptr)) { in InitializeVTablePointer()
2497 VirtualOffset = CGM.getCXXABI().GetVirtualBaseClassOffset( in InitializeVTablePointer()
2515 unsigned GlobalsAS = CGM.getDataLayout().getDefaultGlobalsAddressSpace(); in InitializeVTablePointer()
2516 unsigned ProgAS = CGM.getDataLayout().getProgramAddressSpace(); in InitializeVTablePointer()
2518 llvm::FunctionType::get(CGM.Int32Ty, /*isVarArg=*/true) in InitializeVTablePointer()
2527 TBAAAccessInfo TBAAInfo = CGM.getTBAAVTablePtrAccessInfo(VTablePtrTy); in InitializeVTablePointer()
2528 CGM.DecorateInstructionWithTBAA(Store, TBAAInfo); in InitializeVTablePointer()
2529 if (CGM.getCodeGenOpts().OptimizationLevel > 0 && in InitializeVTablePointer()
2530 CGM.getCodeGenOpts().StrictVTablePointers) in InitializeVTablePointer()
2531 CGM.DecorateInstructionWithInvariantGroup(Store, Vptr.VTableClass); in InitializeVTablePointer()
2609 if (CGM.getCXXABI().doStructorsInitializeVPtrs(RD)) in InitializeVTablePointers()
2614 CGM.getCXXABI().initializeHiddenVirtualInheritanceMembers(*this, RD); in InitializeVTablePointers()
2622 TBAAAccessInfo TBAAInfo = CGM.getTBAAVTablePtrAccessInfo(VTableTy); in GetVTablePtr()
2623 CGM.DecorateInstructionWithTBAA(VTable, TBAAInfo); in GetVTablePtr()
2625 if (CGM.getCodeGenOpts().OptimizationLevel > 0 && in GetVTablePtr()
2626 CGM.getCodeGenOpts().StrictVTablePointers) in GetVTablePtr()
2627 CGM.DecorateInstructionWithInvariantGroup(VTable, RD); in GetVTablePtr()
2672 else if (CGM.getCodeGenOpts().WholeProgramVTables && in EmitTypeMetadataCodeForVCall()
2675 !CGM.HasLTOVisibilityPublicStd(RD)) { in EmitTypeMetadataCodeForVCall()
2677 CGM.CreateMetadataIdentifierForType(QualType(RD->getTypeForDecl(), 0)); in EmitTypeMetadataCodeForVCall()
2679 llvm::MetadataAsValue::get(CGM.getLLVMContext(), MD); in EmitTypeMetadataCodeForVCall()
2683 Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::type_test), in EmitTypeMetadataCodeForVCall()
2685 Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::assume), TypeTest); in EmitTypeMetadataCodeForVCall()
2734 std::tie(VTable, ClassDecl) = CGM.getCXXABI().LoadVTablePtr( in EmitVTablePtrCheckForCast()
2749 if (!CGM.getCodeGenOpts().SanitizeCfiCrossDso && in EmitVTablePtrCheck()
2750 !CGM.HasHiddenLTOVisibility(RD)) in EmitVTablePtrCheck()
2786 CGM.CreateMetadataIdentifierForType(QualType(RD->getTypeForDecl(), 0)); in EmitVTablePtrCheck()
2791 CGM.getIntrinsic(llvm::Intrinsic::type_test), {CastedVTable, TypeId}); in EmitVTablePtrCheck()
2799 auto CrossDsoTypeId = CGM.CreateCrossDsoCfiTypeId(MD); in EmitVTablePtrCheck()
2800 if (CGM.getCodeGenOpts().SanitizeCfiCrossDso && CrossDsoTypeId) { in EmitVTablePtrCheck()
2805 if (CGM.getCodeGenOpts().SanitizeTrap.has(M)) { in EmitVTablePtrCheck()
2811 CGM.getLLVMContext(), in EmitVTablePtrCheck()
2812 llvm::MDString::get(CGM.getLLVMContext(), "all-vtables")); in EmitVTablePtrCheck()
2814 CGM.getIntrinsic(llvm::Intrinsic::type_test), {CastedVTable, AllVtables}); in EmitVTablePtrCheck()
2820 if (!CGM.getCodeGenOpts().WholeProgramVTables || in ShouldEmitVTableTypeCheckedLoad()
2821 !CGM.HasHiddenLTOVisibility(RD)) in ShouldEmitVTableTypeCheckedLoad()
2824 if (CGM.getCodeGenOpts().VirtualFunctionElimination) in ShouldEmitVTableTypeCheckedLoad()
2828 !CGM.getCodeGenOpts().SanitizeTrap.has(SanitizerKind::CFIVCall)) in ShouldEmitVTableTypeCheckedLoad()
2843 CGM.CreateMetadataIdentifierForType(QualType(RD->getTypeForDecl(), 0)); in EmitVTableTypeCheckedLoad()
2844 llvm::Value *TypeId = llvm::MetadataAsValue::get(CGM.getLLVMContext(), MD); in EmitVTableTypeCheckedLoad()
2848 CGM.getIntrinsic(llvm::Intrinsic::type_checked_load), in EmitVTableTypeCheckedLoad()
2871 CGM.getTypes().arrangeCXXMethodDeclaration(callOperator); in EmitForwardingCallToLambda()
2873 CGM.GetAddrOfFunction(GlobalDecl(callOperator), in EmitForwardingCallToLambda()
2874 CGM.getTypes().GetFunctionType(calleeFnInfo)); in EmitForwardingCallToLambda()
2916 CGM.ErrorUnsupported(CurCodeDecl, "lambda conversion to variadic function"); in EmitLambdaBlockInvokeBody()
2970 CGM.ErrorUnsupported(MD, "lambda conversion to variadic function"); in EmitLambdaStaticInvokeBody()