Lines Matching refs:CGM

33 static llvm::FunctionCallee getFreeExceptionFn(CodeGenModule &CGM) {  in getFreeExceptionFn()  argument
37 llvm::FunctionType::get(CGM.VoidTy, CGM.Int8PtrTy, /*isVarArg=*/false); in getFreeExceptionFn()
39 return CGM.CreateRuntimeFunction(FTy, "__cxa_free_exception"); in getFreeExceptionFn()
42 static llvm::FunctionCallee getSehTryBeginFn(CodeGenModule &CGM) { in getSehTryBeginFn() argument
44 llvm::FunctionType::get(CGM.VoidTy, /*isVarArg=*/false); in getSehTryBeginFn()
45 return CGM.CreateRuntimeFunction(FTy, "llvm.seh.try.begin"); in getSehTryBeginFn()
48 static llvm::FunctionCallee getSehTryEndFn(CodeGenModule &CGM) { in getSehTryEndFn() argument
50 llvm::FunctionType::get(CGM.VoidTy, /*isVarArg=*/false); in getSehTryEndFn()
51 return CGM.CreateRuntimeFunction(FTy, "llvm.seh.try.end"); in getSehTryEndFn()
54 static llvm::FunctionCallee getUnexpectedFn(CodeGenModule &CGM) { in getUnexpectedFn() argument
58 llvm::FunctionType::get(CGM.VoidTy, CGM.Int8PtrTy, /*isVarArg=*/false); in getUnexpectedFn()
60 return CGM.CreateRuntimeFunction(FTy, "__cxa_call_unexpected"); in getUnexpectedFn()
89 static llvm::FunctionCallee getCatchallRethrowFn(CodeGenModule &CGM, in getCatchallRethrowFn() argument
92 llvm::FunctionType::get(CGM.VoidTy, CGM.Int8PtrTy, /*isVarArg=*/false); in getCatchallRethrowFn()
94 return CGM.CreateRuntimeFunction(FTy, Name); in getCatchallRethrowFn()
237 const EHPersonality &EHPersonality::get(CodeGenModule &CGM, in get() argument
239 const llvm::Triple &T = CGM.getTarget().getTriple(); in get()
240 const LangOptions &L = CGM.getLangOpts(); in get()
241 const TargetInfo &Target = CGM.getTarget(); in get()
260 return get(CGF.CGM, dyn_cast_or_null<FunctionDecl>(FD)); in get()
263 static llvm::FunctionCallee getPersonalityFn(CodeGenModule &CGM, in getPersonalityFn() argument
265 return CGM.CreateRuntimeFunction(llvm::FunctionType::get(CGM.Int32Ty, true), in getPersonalityFn()
270 static llvm::Constant *getOpaquePersonalityFn(CodeGenModule &CGM, in getOpaquePersonalityFn() argument
272 llvm::FunctionCallee Fn = getPersonalityFn(CGM, Personality); in getOpaquePersonalityFn()
388 CGF.EmitNounwindRuntimeCall(getFreeExceptionFn(CGF.CGM), exn); in Emit()
450 if (CGM.getLangOpts().OpenMPIsTargetDevice && (T.isNVPTX() || T.isAMDGCN())) { in EmitCXXThrowExpr()
459 CGM.getObjCRuntime().EmitThrowStmt(*this, S, false); in EmitCXXThrowExpr()
461 CGM.getCXXABI().emitThrow(*this, E); in EmitCXXThrowExpr()
464 CGM.getCXXABI().emitRethrow(*this, /*isNoReturn=*/true); in EmitCXXThrowExpr()
474 if (!CGM.getLangOpts().CXXExceptions) in EmitStartEHSpec()
503 if (CGM.getLangOpts().hasWasmExceptions()) { in EmitStartEHSpec()
507 CGM.getDiags().Report(D->getLocation(), in EmitStartEHSpec()
518 CGM.getLangOpts().getExceptionHandling() == in EmitStartEHSpec()
521 CGM.getDiags().Report(D->getLocation(), in EmitStartEHSpec()
531 llvm::Value *EHType = CGM.GetAddrOfRTTIDescriptor(ExceptType, in EmitStartEHSpec()
575 CGF.EmitRuntimeCall(getUnexpectedFn(CGF.CGM), exn) in emitFilterDispatchBlock()
581 if (!CGM.getLangOpts().CXXExceptions) in EmitEndEHSpec()
607 if (CGM.getLangOpts().hasWasmExceptions()) { in EmitEndEHSpec()
627 (CGM.getLangOpts().OpenMPIsTargetDevice && (T.isNVPTX() || T.isAMDGCN())); in EmitCXXTryStmt()
651 QualType CaughtType = CGM.getContext().getUnqualifiedArrayType( in EnterCXXTryStmt()
656 TypeInfo.RTTI = CGM.getObjCRuntime().GetEHType(CaughtType); in EnterCXXTryStmt()
658 TypeInfo = CGM.getCXXABI().getAddrOfCXXCatchHandlerType( in EnterCXXTryStmt()
663 CatchScope->setHandler(I, CGM.getCXXABI().getCatchAllTypeInfo(), Handler); in EnterCXXTryStmt()
783 const LangOptions &LO = CGM.getLangOpts(); in getInvokeDestImpl()
803 CurFn->setPersonalityFn(getOpaquePersonalityFn(CGM, Personality)); in getInvokeDestImpl()
827 assert(!CGM.getLangOpts().IgnoreExceptions && in EmitLandingPad()
1048 CGF.CGM.getIntrinsic(llvm::Intrinsic::wasm_get_exception); in emitWasmCatchPadBlock()
1050 CGF.CGM.getIntrinsic(llvm::Intrinsic::wasm_get_ehselector); in emitWasmCatchPadBlock()
1056 CGF.CGM.getIntrinsic(llvm::Intrinsic::eh_typeid_for, {CGF.VoidPtrTy}); in emitWasmCatchPadBlock()
1141 CGF.CGM.getIntrinsic(llvm::Intrinsic::eh_typeid_for, {CGF.VoidPtrTy}); in emitCatchDispatchBlock()
1143 LangAS globAS = CGF.CGM.GetGlobalVarAddressSpace(nullptr); in emitCatchDispatchBlock()
1285 CGM.getCXXABI().emitBeginCatch(*this, C); in ExitCXXTryStmt()
1303 CGM.getCXXABI().emitRethrow(*this, /*isNoReturn*/false); in ExitCXXTryStmt()
1335 CGM.getIntrinsic(llvm::Intrinsic::wasm_rethrow); in ExitCXXTryStmt()
1547 CurFn->setPersonalityFn(getOpaquePersonalityFn(CGM, Personality)); in getTerminateLandingPad()
1557 CGM.getCXXABI().emitTerminateForUnexpectedException(*this, Exn); in getTerminateLandingPad()
1581 CGM.getCXXABI().emitTerminateForUnexpectedException(*this, Exn); in getTerminateHandler()
1611 ParentPad = llvm::ConstantTokenNone::get(CGM.getLLVMContext()); in getTerminateFunclet()
1616 CGM.getCXXABI().emitTerminateForUnexpectedException(*this, nullptr); in getTerminateFunclet()
1641 EmitRuntimeCall(getCatchallRethrowFn(CGM, RethrowName), in getEHResumeBlock()
1672 EmitRuntimeCallOrInvoke(getSehTryBeginFn(CGM)); in EmitSEHTryStmt()
1732 CodeGenModule &CGM = CGF.CGM; in Emit() local
1744 CGM.getIntrinsic(llvm::Intrinsic::localaddress); in Emit()
1759 llvm::Value *Zero = llvm::Constant::getNullValue(CGM.Int32Ty); in Emit()
1768 CGM.getTypes().arrangeBuiltinFunctionCall(Context.VoidTy, Args); in Emit()
1847 &CGM.getModule(), llvm::Intrinsic::localrecover); in recoverAddrOfEscapedLocal()
1882 CGM.getTarget().getTriple().getArch() != llvm::Triple::x86) { in EmitCapturedLocals()
1889 CGBuilderTy Builder(CGM, AllocaInsertPt); in EmitCapturedLocals()
1890 if (IsFilter && CGM.getTarget().getTriple().getArch() == llvm::Triple::x86) { in EmitCapturedLocals()
1895 CGM.getIntrinsic(llvm::Intrinsic::frameaddress, AllocaInt8PtrTy), in EmitCapturedLocals()
1911 CGM.getIntrinsic(llvm::Intrinsic::eh_recoverfp); in EmitCapturedLocals()
1946 &CGM.getModule(), llvm::Intrinsic::localrecover); in EmitCapturedLocals()
1951 Address(ParentFP, CGM.VoidPtrTy, getPointerAlign())); in EmitCapturedLocals()
1958 CGM.ErrorUnsupported(VD, "VLA captured by SEH"); in EmitCapturedLocals()
2026 MangleContext &Mangler = CGM.getCXXABI().getMangleContext(); in startOutlinedSEHHelper()
2034 if (CGM.getTarget().getTriple().getArch() != llvm::Triple::x86 || !IsFilter) { in startOutlinedSEHHelper()
2057 CGM.getTypes().arrangeBuiltinFunctionDeclaration(RetTy, Args); in startOutlinedSEHHelper()
2059 llvm::FunctionType *FnTy = CGM.getTypes().GetFunctionType(FnInfo); in startOutlinedSEHHelper()
2061 FnTy, llvm::GlobalValue::InternalLinkage, Name.str(), &CGM.getModule()); in startOutlinedSEHHelper()
2069 CGM.SetInternalFunctionAttributes(GlobalDecl(), CurFn, FnInfo); in startOutlinedSEHHelper()
2112 if (CGM.getTarget().getTriple().getArch() != llvm::Triple::x86) { in EmitSEHExceptionCodeSave()
2136 llvm::Type *PtrsTy = llvm::StructType::get(RecordTy, CGM.VoidPtrTy); in EmitSEHExceptionCodeSave()
2171 CodeGenFunction HelperCGF(CGM, /*suppressNewContext=*/true); in EnterSEHTryStmt()
2196 if (CGM.getTarget().getTriple().getArch() != llvm::Triple::x86 && C && in EnterSEHTryStmt()
2218 llvm::FunctionCallee SehTryEnd = getSehTryEndFn(CGM); in ExitSEHTryStmt()
2262 if (CGM.getTarget().getTriple().getArch() != llvm::Triple::x86) { in ExitSEHTryStmt()
2264 CGM.getIntrinsic(llvm::Intrinsic::eh_exceptioncode); in ExitSEHTryStmt()