|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
gen/tools/clang/include/clang/Basic/arm_mve_builtin_cg.inc 19 Value *Val3 = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_vldr_gather_base_wb, llvm::SmallVector<llvm::Type *, 2> {Param0, llvm::VectorType::get(Int32Ty, 4)}), llvm::SmallVector<Value *, 2> {Val1, Val2});
31 Value *Val5 = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_pred_i2v, llvm::SmallVector<llvm::Type *, 1> {llvm::VectorType::get(Builder.getInt1Ty(), 4)}), llvm::SmallVector<Value *, 1> {Val4});
32 Value *Val6 = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_vldr_gather_base_wb_predicated, llvm::SmallVector<llvm::Type *, 3> {llvm::VectorType::get(Int64Ty, 2), llvm::VectorType::get(Int64Ty, 2), llvm::VectorType::get(Builder.getInt1Ty(), 4)}), llvm::SmallVector<Value *, 3> {Val1, Val2, Val5});
162 Value *Val3 = Builder.CreateCall(CGM.getIntrinsic(Param0, llvm::SmallVector<llvm::Type *, 1> {Param1}), llvm::SmallVector<Value *, 2> {Val1, Val2});
173 Value *Val6 = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_vadc, llvm::SmallVector<llvm::Type *, 1> {llvm::VectorType::get(Int32Ty, 4)}), llvm::SmallVector<Value *, 3> {Val0, Val1, Val5});
208 Value *Val2 = Builder.CreateCall(CGM.getIntrinsic(Param0, llvm::SmallVector<llvm::Type *, 1> {llvm::VectorType::get(Int32Ty, 4)}), llvm::SmallVector<Value *, 2> {Val0, Val1});
222 Value *Val9 = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_pred_i2v, llvm::SmallVector<llvm::Type *, 1> {llvm::VectorType::get(Builder.getInt1Ty(), 4)}), llvm::SmallVector<Value *, 1> {Val8});
223 Value *Val10 = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_vadc_predicated, llvm::SmallVector<llvm::Type *, 2> {llvm::VectorType::get(Int32Ty, 4), llvm::VectorType::get(Builder.getInt1Ty(), 4)}), llvm::SmallVector<Value *, 5> {Val0, Val1, Val2, Val6, Val9});
240 Value *Val6 = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_pred_i2v, llvm::SmallVector<llvm::Type *, 1> {llvm::VectorType::get(Builder.getInt1Ty(), 4)}), llvm::SmallVector<Value *, 1> {Val5});
241 Value *Val7 = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_vadc_predicated, llvm::SmallVector<llvm::Type *, 2> {llvm::VectorType::get(Int32Ty, 4), llvm::VectorType::get(Builder.getInt1Ty(), 4)}), llvm::SmallVector<Value *, 5> {Val0, Val1, Val2, Val3, Val6});
256 Value *Val3 = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_vadc, llvm::SmallVector<llvm::Type *, 1> {llvm::VectorType::get(Int32Ty, 4)}), llvm::SmallVector<Value *, 3> {Val0, Val1, Val2});
282 Value *Val5 = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_pred_i2v, llvm::SmallVector<llvm::Type *, 1> {llvm::VectorType::get(Builder.getInt1Ty(), 4)}), llvm::SmallVector<Value *, 1> {Val4});
283 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_vcvt_narrow_predicated), llvm::SmallVector<Value *, 4> {Val0, Val1, Val2, Val5});
299 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_vcvt_narrow), llvm::SmallVector<Value *, 3> {Val0, Val1, Val2});
340 Value *Val6 = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_urshrl), llvm::SmallVector<Value *, 3> {Val4, Val3, Val5});
454 Value *Val4 = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_mve_pred_i2v, llvm::SmallVector<llvm::Type *, 1> {Param0}), llvm::SmallVector<Value *, 1> {Val3});
456 return Builder.CreateCall(CGM.getIntrinsic(Param1, llvm::SmallVector<llvm::Type *, 2> {Param2, Param0}), llvm::SmallVector<Value *, 4> {Val0, Val1, Val4, Val5});
tools/clang/lib/CodeGen/CGAtomic.cpp 172 return CGF.CGM.getSize(size);
307 CGF.CGM.getTypes().arrangeBuiltinFunctionCall(resultType, args);
308 llvm::FunctionType *fnTy = CGF.CGM.getTypes().GetFunctionType(fnInfo);
309 llvm::FunctionCallee fn = CGF.CGM.CreateRuntimeFunction(fnTy, fnName);
332 return !isFullSizeType(CGF.CGM, type, AtomicSizeInBits);
334 return !isFullSizeType(CGF.CGM, type->getStructElementType(0),
674 Order, CGF.CGM.getLLVMContext().getOrInsertSyncScopeID(""));
681 CGF.CGM.getLangOpts(), ScopeModel->map(SC->getZExtValue()),
682 Order, CGF.CGM.getLLVMContext());
711 CGF.getTargetHooks().getLLVMSyncScopeID(CGF.CGM.getLangOpts(),
775 CGM.getDiags().Report(E->getBeginLoc(), diag::warn_atomic_op_misaligned)
836 Val1Scalar = Builder.CreateMul(Val1Scalar, CGM.getSize(PointeeIncAmt));
1340 uint64_t SourceSizeInBits = CGF.CGM.getDataLayout().getTypeSizeInBits(Ty);
1452 CGF.CGM.DecorateInstructionWithTBAA(Load, LVal.getTBAAInfo());
1460 if (!CGM.getCodeGenOpts().MSVolatile) return false;
1970 CGM.DecorateInstructionWithTBAA(store, dest.getTBAAInfo());
tools/clang/lib/CodeGen/CGBlocks.cpp 791 computeBlockInfo(CGF.CGM, &CGF, blockInfo);
830 CGF.CGM.getCodeGenOpts().OptimizationLevel != 0) {
831 assert(CGF.CGM.getLangOpts().ObjCAutoRefCount &&
906 if (llvm::Constant *Block = CGM.getAddrOfGlobalBlockIfEmitted(blockExpr)) {
910 computeBlockInfo(CGM, this, blockInfo);
925 bool IsOpenCL = CGM.getContext().getLangOpts().OpenCL;
927 IsOpenCL ? CGM.getOpenCLRuntime().getGenericVoidPointerType() : VoidPtrTy;
930 CGM.getTarget().getPointerWidth(
931 CGM.getContext().getTargetAddressSpace(GenVoidPtrAddr)) /
935 CodeGenFunction BlockCGF{CGM, true};
943 return CGM.getAddrOfGlobalBlockIfEmitted(blockInfo.BlockExpression);
958 ? CGM.getNSConcreteGlobalBlock()
959 : CGM.getNSConcreteStackBlock();
963 descriptor = buildBlockDescriptor(CGM, blockInfo);
1016 CGM.getTargetCodeGenInfo().getTargetOpenCLBlockHelper()) {
1021 CGM.getDataLayout().getTypeAllocSize(I.first->getType())),
1120 CGM.getCodeGenOpts().OptimizationLevel != 0) {
1177 CGM.getOpenCLRuntime().recordBlockInfo(blockInfo.BlockExpression, InvokeFn,
1258 llvm::Type *GenBlockTy = CGM.getGenericBlockLiteralType();
1270 BlockPtr, CGM.getOpenCLRuntime().getGenericVoidPointerType());
1279 Func = CGM.getOpenCLRuntime().getInvokeFunction(E->getCallee());
1303 CGM.getTypes().arrangeBlockFunctionCall(Args, FuncTy);
1306 llvm::Type *BlockFTy = CGM.getTypes().GetFunctionType(FnInfo);
1485 if (CGM.getCodeGenOpts().getDebugInfo() >=
1554 IdentifierInfo *II = &CGM.getContext().Idents.get(".block_descriptor");
1567 CGM.getTypes().arrangeBlockFunctionDeclaration(fnType, args);
1568 if (CGM.ReturnSlotInterferesWithArgs(fnInfo))
1571 llvm::FunctionType *fnLLVMType = CGM.getTypes().GetFunctionType(fnInfo);
1573 StringRef name = CGM.getBlockMangledName(GD, blockDecl);
1575 fnLLVMType, llvm::GlobalValue::InternalLinkage, name, &CGM.getModule());
1576 CGM.SetInternalFunctionAttributes(blockDecl, fn, fnInfo);
1580 ? CGM.getOpenCLRuntime().getGenericVoidPointerType()
1582 buildGlobalBlock(CGM, blockInfo,
1596 if (CGM.getCodeGenOpts().OptimizationLevel == 0) {
1658 if (CGM.getCodeGenOpts().getDebugInfo() >=
1997 CaptureStrKind::CopyHelper, CGM);
1999 if (llvm::GlobalValue *Func = CGM.getModule().getNamedValue(FuncName))
2013 CGM.getTypes().arrangeBuiltinFunctionDeclaration(ReturnTy, args);
2017 llvm::FunctionType *LTy = CGM.getTypes().GetFunctionType(FI);
2021 FuncName, &CGM.getModule());
2022 if (CGM.supportsCOMDAT())
2023 Fn->setComdat(CGM.getModule().getOrInsertComdat(FuncName));
2037 CGM);
2082 if (CGM.getCodeGenOpts().OptimizationLevel == 0) {
2112 EmitRuntimeCallOrInvoke(CGM.getBlockObjectAssign(), args);
2114 EmitNounwindRuntimeCall(CGM.getBlockObjectAssign(), args);
2192 CaptureStrKind::DisposeHelper, CGM);
2194 if (llvm::GlobalValue *Func = CGM.getModule().getNamedValue(FuncName))
2206 CGM.getTypes().arrangeBuiltinFunctionDeclaration(ReturnTy, args);
2210 llvm::FunctionType *LTy = CGM.getTypes().GetFunctionType(FI);
2214 FuncName, &CGM.getModule());
2215 if (CGM.supportsCOMDAT())
2216 Fn->setComdat(CGM.getModule().getOrInsertComdat(FuncName));
2229 CGM);
2282 llvm::FunctionCallee fn = CGF.CGM.getBlockObjectAssign();
2336 if (CGF.CGM.getCodeGenOpts().OptimizationLevel == 0) {
2458 CGF.CGM.getTypes().arrangeBuiltinFunctionDeclaration(ReturnTy, args);
2460 llvm::FunctionType *LTy = CGF.CGM.getTypes().GetFunctionType(FI);
2466 "__Block_byref_object_copy_", &CGF.CGM.getModule());
2480 CGF.CGM.SetInternalFunctionAttributes(GlobalDecl(), Fn, FI);
2533 CGF.CGM.getTypes().arrangeBuiltinFunctionDeclaration(R, args);
2535 llvm::FunctionType *LTy = CGF.CGM.getTypes().GetFunctionType(FI);
2542 &CGF.CGM.getModule());
2555 CGF.CGM.SetInternalFunctionAttributes(GlobalDecl(), Fn, FI);
2624 CGM.getContext().getBlockVarCopyInit(&var).getCopyExpr();
2628 CGM, byrefInfo, CXXByrefHelpers(valueAlignment, type, copyExpr));
2636 CGM, byrefInfo, NonTrivialCStructByrefHelpers(valueAlignment, type));
2657 return ::buildByrefHelpers(CGM, byrefInfo,
2665 return ::buildByrefHelpers(CGM, byrefInfo,
2671 return ::buildByrefHelpers(CGM, byrefInfo,
2681 } else if (CGM.getContext().isObjCNSObjectType(type) ||
2691 return ::buildByrefHelpers(CGM, byrefInfo,
2797 } else if (CGM.getDataLayout().getABITypeAlignment(varTy)
2884 if (CGM.getLangOpts().ObjCGCBitmapPrint) {
2907 CharUnits byrefSize = CGM.GetTargetTypeStoreSize(byrefType);
2919 auto layoutInfo = CGM.getObjCRuntime().BuildByrefLayout(CGM, type);
2919 auto layoutInfo = CGM.getObjCRuntime().BuildByrefLayout(CGM, type);
2926 llvm::FunctionCallee F = CGM.getBlockObjectDispose();
tools/clang/lib/CodeGen/CGBuiltin.cpp 58 llvm::Type *Int8 = llvm::IntegerType::getInt8Ty(CGF.CGM.getLLVMContext());
60 initializationPatternFor(CGF.CGM, Int8));
356 Function *F = CGF.CGM.getIntrinsic(IntrinsicID, Src0->getType());
367 Function *F = CGF.CGM.getIntrinsic(IntrinsicID, Src0->getType());
379 Function *F = CGF.CGM.getIntrinsic(IntrinsicID, Src0->getType());
390 Function *F = CGF.CGM.getIntrinsic(IntrinsicID, Src0->getType());
401 Function *F = CGF.CGM.getIntrinsic(IntrinsicID,
408 Function *F = CGF.CGM.getIntrinsic(Intrinsic::fabs, V->getType());
417 LLVMContext &C = CGF.CGM.getLLVMContext();
469 Function *Callee = CGF.CGM.getIntrinsic(IntrinsicID, X->getType());
480 Function *F = CGF.CGM.getIntrinsic(IntrinsicID, {});
537 return Builder.CreateCall(CGM.getIntrinsic(inst), ArgValue);
608 CGM.getIntrinsic(Intrinsic::objectsize, {ResType, Ptr->getType()});
847 CGF.CGM.getIntrinsic(Intrinsic::sponentry, CGF.AllocaInt8PtrTy));
850 CGF.CGM.getIntrinsic(Intrinsic::frameaddress, CGF.AllocaInt8PtrTy),
859 llvm::FunctionCallee SetJmpFn = CGF.CGM.CreateRuntimeFunction(
942 Function *F = CGM.getIntrinsic(Intrinsic::cttz, ArgType);
950 Function *F = CGM.getIntrinsic(Intrinsic::ctlz, ArgType);
1135 if (llvm::Function *F = CGM.getModule().getFunction(Name))
1165 CGM.getTypes().arrangeBuiltinFunctionDeclaration(ReturnTy, Args);
1166 llvm::FunctionType *FuncTy = CGM.getTypes().GetFunctionType(FI);
1168 FuncTy, llvm::GlobalValue::LinkOnceODRLinkage, Name, &CGM.getModule());
1170 CGM.SetLLVMFunctionAttributes(GlobalDecl(), FI, Fn);
1171 CGM.SetLLVMFunctionAttributesForDefinition(nullptr, Fn);
1175 if (CGM.getCodeGenOpts().OptimizeSize == 2)
1266 CGM.getDataLayout().getTypeSizeInBits(ArgVal->getType());
1277 CGM.getTypes().arrangeBuiltinFunctionCall(Ctx.VoidTy, Args);
1278 llvm::Function *F = CodeGenFunction(CGM).generateBuiltinOSLogHelperFunction(
1289 CGM.getCodeGenOpts().OptimizationLevel != 0)
1527 Function *F = CGM.getIntrinsic(IID, Ty);
1537 if (E->EvaluateAsRValue(Result, CGM.getContext()) &&
1808 return RValue::get(Builder.CreateCall(CGM.getIntrinsic(Intrinsic::vacopy),
1869 CGM.Error(E->getExprLoc(), "using builtin_preserve_access_index() without -g");
1875 CGM.Error(E->getExprLoc(), "nested builtin_preserve_access_index() not supported");
1902 Function *F = CGM.getIntrinsic(Intrinsic::ctlz, ArgType);
1922 Function *F = CGM.getIntrinsic(Intrinsic::cttz, ArgType);
1939 Function *F = CGM.getIntrinsic(Intrinsic::ctlz, ArgType);
1956 Function *F = CGM.getIntrinsic(Intrinsic::cttz, ArgType);
1977 Function *F = CGM.getIntrinsic(Intrinsic::ctpop, ArgType);
1993 Function *F = CGM.getIntrinsic(Intrinsic::ctlz, ArgType);
2011 Function *F = CGM.getIntrinsic(Intrinsic::ctpop, ArgType);
2034 if (CGM.getCodeGenOpts().OptimizationLevel == 0)
2037 Function *FnExpect = CGM.getIntrinsic(Intrinsic::expect, ArgType);
2065 Function *FnAssume = CGM.getIntrinsic(Intrinsic::assume);
2123 ArgType = CGM.getContext().getObjCIdType();
2127 CGM.getIntrinsic(Intrinsic::is_constant, ConvertType(ArgType));
2153 Function *F = CGM.getIntrinsic(Intrinsic::prefetch, Address->getType());
2157 Function *F = CGM.getIntrinsic(Intrinsic::readcyclecounter);
2163 Function *F = CGM.getIntrinsic(Intrinsic::clear_cache);
2185 Function *F = CGM.getIntrinsic(Intrinsic::powi, ArgType);
2287 Function *F = CGM.getIntrinsic(Intrinsic::flt_rounds);
2362 CGM.getContext()
2377 CGM.getContext().toCharUnitsFromBits(AlignmentInBits).getQuantity();
2413 if (!E->getArg(2)->EvaluateAsInt(SizeResult, CGM.getContext()) ||
2414 !E->getArg(3)->EvaluateAsInt(DstSizeResult, CGM.getContext()))
2431 CGM.getObjCRuntime().EmitGCMemmoveCollectable(*this,
2439 if (!E->getArg(2)->EvaluateAsInt(SizeResult, CGM.getContext()) ||
2440 !E->getArg(3)->EvaluateAsInt(DstSizeResult, CGM.getContext()))
2479 if (!E->getArg(2)->EvaluateAsInt(SizeResult, CGM.getContext()) ||
2480 !E->getArg(3)->EvaluateAsInt(DstSizeResult, CGM.getContext()))
2561 Function *F = CGM.getIntrinsic(Intrinsic::eh_dwarf_cfa);
2568 Function *F = CGM.getIntrinsic(Intrinsic::returnaddress);
2572 Function *F = CGM.getIntrinsic(Intrinsic::returnaddress);
2578 Function *F = CGM.getIntrinsic(Intrinsic::frameaddress, AllocaInt8PtrTy);
2594 int Column = getTargetHooks().getDwarfEHStackPointer(CGM);
2596 CGM.ErrorUnsupported(E, "__builtin_dwarf_sp_column");
2604 CGM.ErrorUnsupported(E, "__builtin_init_dwarf_reg_size_table");
2615 CGM.getIntrinsic(IntTy->getBitWidth() == 32 ? Intrinsic::eh_return_i32
2626 Function *F = CGM.getIntrinsic(Intrinsic::eh_unwind_init);
2660 CGM.getIntrinsic(Intrinsic::frameaddress, AllocaInt8PtrTy),
2666 Builder.CreateCall(CGM.getIntrinsic(Intrinsic::stacksave));
2671 Function *F = CGM.getIntrinsic(Intrinsic::eh_sjlj_setjmp);
2680 Builder.CreateCall(CGM.getIntrinsic(Intrinsic::eh_sjlj_longjmp), Buf);
2694 if (TypeRequiresBuiltinLaunder(CGM, ArgTy))
2885 CGM.getTypes().arrangeBuiltinFunctionCall(E->getType(), Args);
2886 llvm::FunctionType *FTy = CGM.getTypes().GetFunctionType(FuncInfo);
2887 llvm::FunctionCallee Func = CGM.CreateRuntimeFunction(FTy, LibCallName);
3120 CGM.ErrorUnsupported(E, "non-UTF16 __annotation argument");
3128 CGM.getIntrinsic(llvm::Intrinsic::codeview_annotation, {});
3135 llvm::Function *F = CGM.getIntrinsic(llvm::Intrinsic::annotation,
3222 getIntegerWidthAndSignedness(CGM.getContext(), LeftArg->getType());
3224 getIntegerWidthAndSignedness(CGM.getContext(), RightArg->getType());
3226 getIntegerWidthAndSignedness(CGM.getContext(), ResultQTy);
3239 llvm::IntegerType::get(CGM.getLLVMContext(), EncompassingInfo.Width);
3241 llvm::Type *ResultLLVMTy = CGM.getTypes().ConvertType(ResultQTy);
3518 CGM.getCXXABI().getThrowInfo(FD->getParamDecl(0)->getType()))
3519 return RValue::get(llvm::ConstantExpr::getBitCast(GV, CGM.Int8PtrTy));
3530 Function *F = CGM.getIntrinsic(Intrinsic::coro_size, T);
3566 CGOpenCLRuntime OpenCLRT(CGM);
3587 Builder.CreateCall(CGM.CreateRuntimeFunction(FTy, Name),
3607 CGM.CreateRuntimeFunction(FTy, Name),
3637 CGOpenCLRuntime OpenCLRT(CGM);
3650 Builder.CreateCall(CGM.CreateRuntimeFunction(FTy, Name),
3677 CGOpenCLRuntime OpenCLRT(CGM);
3688 Builder.CreateCall(CGM.CreateRuntimeFunction(FTy, Name),
3705 CGOpenCLRuntime OpenCLRT(CGM);
3712 return RValue::get(Builder.CreateCall(CGM.CreateRuntimeFunction(FTy, Name),
3722 CGM.getContext().getTargetAddressSpace(LangAS::opencl_generic));
3724 CGM.getContext().getTargetAddressSpace(
3735 Builder.CreateCall(CGM.CreateRuntimeFunction(FTy, NewName), {NewArg});
3766 CGM.getOpenCLRuntime().emitOpenCLEnqueuedBlock(*this, E->getArg(3));
3775 llvm::AttributeList::get(CGM.getModule().getContext(), 3U, B);
3778 Builder.CreateCall(CGM.CreateRuntimeFunction(FTy, Name, ByValAttrSet),
3796 CGM.getDataLayout().getTypeAllocSize(Tmp.getElementType()), TmpPtr);
3809 V, GEP, CGM.getDataLayout().getPrefTypeAlignment(SizeTy));
3819 CGM.getOpenCLRuntime().emitOpenCLEnqueuedBlock(*this, E->getArg(3));
3839 RValue::get(Builder.CreateCall(CGM.CreateRuntimeFunction(FTy, Name),
3849 CGM.getContext().getTargetAddressSpace(LangAS::opencl_generic));
3878 CGM.getOpenCLRuntime().emitOpenCLEnqueuedBlock(*this, E->getArg(6));
3898 Builder.CreateCall(CGM.CreateRuntimeFunction(FTy, Name),
3915 RValue::get(Builder.CreateCall(CGM.CreateRuntimeFunction(FTy, Name),
3929 CGM.getOpenCLRuntime().emitOpenCLEnqueuedBlock(*this, E->getArg(0));
3933 CGM.CreateRuntimeFunction(
3943 CGM.getOpenCLRuntime().emitOpenCLEnqueuedBlock(*this, E->getArg(0));
3947 CGM.CreateRuntimeFunction(
3960 CGM.getOpenCLRuntime().emitOpenCLEnqueuedBlock(*this, E->getArg(1));
3968 CGM.CreateRuntimeFunction(
4005 CGM.ErrorUnsupported(E, "__builtin_thread_pointer");
4016 if (!CGM.getCodeGenOpts().XRayInstrumentationBundle.has(
4024 Function *F = CGM.getIntrinsic(Intrinsic::xray_customevent);
4050 if (!CGM.getCodeGenOpts().XRayInstrumentationBundle.has(
4058 Function *F = CGM.getIntrinsic(Intrinsic::xray_typedevent);
4114 CGM.getBuiltinLibFunction(FD, BuiltinID));
4156 Function *F = CGM.getIntrinsic(IntrinsicID);
5169 return CGM.getIntrinsic(IntrinsicID, Tys);
5277 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::fabs, Ty), Ops, "vabs");
5278 return EmitNeonCall(CGM.getIntrinsic(LLVMIntrinsic, Ty), Ops, "vabs");
5321 Function *F = CGM.getIntrinsic(LLVMIntrinsic, Tys);
5372 Function *F = CGM.getIntrinsic(Int, Tys);
5388 Function *F = CGM.getIntrinsic(LLVMIntrinsic, Tys);
5456 return EmitNeonCall(CGM.getIntrinsic(LLVMIntrinsic, Tys), Ops, NameHint);
5471 Function *F = CGM.getIntrinsic(Intrinsic::fma, Ty);
5483 return EmitNeonCall(CGM.getIntrinsic(LLVMIntrinsic, Tys), Ops, "vld1");
5494 Function *F = CGM.getIntrinsic(LLVMIntrinsic, Tys);
5513 Function *F = CGM.getIntrinsic(LLVMIntrinsic, Tys);
5537 Function *F = CGM.getIntrinsic(LLVMIntrinsic, Tys);
5566 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmull");
5576 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, NameHint);
5586 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vpaddl");
5592 EmitNeonCall(CGM.getIntrinsic(LLVMIntrinsic, Ty), MulOps, "vqdmlal");
5594 return EmitNeonCall(CGM.getIntrinsic(AltLLVMIntrinsic, Ty), Ops, NameHint);
5598 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqshl_n",
5602 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqshlu_n",
5609 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, NameHint);
5613 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, NameHint);
5616 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrshr_n",
5662 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "");
5676 return EmitNeonCall(CGM.getIntrinsic(LLVMIntrinsic, Tys), Ops, "");
5679 return EmitNeonCall(CGM.getIntrinsic(LLVMIntrinsic, Tys), Ops, "");
5769 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vdot");
5776 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vfmlal_low");
5783 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vfmlsl_low");
5790 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vfmlal_high");
5797 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vfmlsl_high");
5868 TblF = CGF.CGM.getIntrinsic(IntID, ResTy);
5903 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_hint),
5921 CodeGen::CodeGenModule &CGM = CGF.CGM;
6020 if (!E->getArg(0)->EvaluateAsInt(Result, CGM.getContext()))
6037 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_dbg), Option);
6048 Function *F = CGM.getIntrinsic(Intrinsic::prefetch, Address->getType());
6055 CGM.getIntrinsic(Intrinsic::bitreverse, Arg->getType()), Arg, "rbit");
6060 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_cls), Arg, "cls");
6064 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_cls64), Arg,
6074 llvm::Type *Ty = CGM.getTypes().ConvertType(FD->getType());
6077 return EmitNounwindRuntimeCall(CGM.CreateRuntimeFunction(FTy, Name), Ops);
6087 F = CGM.getIntrinsic(Intrinsic::arm_mcrr);
6090 F = CGM.getIntrinsic(Intrinsic::arm_mcrr2);
6121 F = CGM.getIntrinsic(Intrinsic::arm_mrrc);
6124 F = CGM.getIntrinsic(Intrinsic::arm_mrrc2);
6158 F = CGM.getIntrinsic(Intrinsic::arm_ldaexd);
6163 F = CGM.getIntrinsic(Intrinsic::arm_ldrexd);
6192 Function *F = CGM.getIntrinsic(BuiltinID == ARM::BI__builtin_arm_ldaex
6202 getLLVMContext(), CGM.getDataLayout().getTypeSizeInBits(RealResTy));
6212 Function *F = CGM.getIntrinsic(BuiltinID == ARM::BI__builtin_arm_stlex
6245 CGM.getDataLayout().getTypeSizeInBits(StoreVal->getType()));
6250 Function *F = CGM.getIntrinsic(BuiltinID == ARM::BI__builtin_arm_stlex
6258 Function *F = CGM.getIntrinsic(Intrinsic::arm_clrex);
6294 Function *F = CGM.getIntrinsic(CRCIntrinsicID);
6300 Function *F = CGM.getIntrinsic(CRCIntrinsicID);
6446 Function *F = CGM.getIntrinsic(Intrinsic::arm_neon_vrintn, Tys);
6462 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha1h), Ops,
6465 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha1c), Ops,
6468 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha1p), Ops,
6471 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha1m), Ops,
6478 Function *F = CGM.getIntrinsic(BuiltinID == ARM::BI_MoveToCoprocessor ?
6643 Function *F = CGM.getIntrinsic(Int, Ty);
6683 Function *F = CGM.getIntrinsic(Intrinsic::arm_neon_vld1, Tys);
6701 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqrshrn_n",
6704 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vqrshiftnsu, Ty),
6708 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqshrn_n",
6711 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vqshiftnsu, Ty),
6715 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vrecpe, Ty),
6718 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vrshiftn, Ty),
6726 Ops[1] = Builder.CreateCall(CGM.getIntrinsic(Int, Ty), {Ops[1], Ops[2]});
6735 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vshiftins, Ty),
6751 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::arm_neon_vst1,
6763 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vtbl1),
6766 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vtbl2),
6769 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vtbl3),
6772 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vtbl4),
6775 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vtbx1),
6778 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vtbx2),
6781 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vtbx3),
6784 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vtbx4),
6835 Function *F = CGM.getIntrinsic(IRIntr, makeArrayRef(Tys));
6877 Function *F = CGM.getIntrinsic(IRIntr, makeArrayRef(Tys));
7034 Function *F = CGF.CGM.getIntrinsic(Int, Ty);
7079 Function *F = CGM.getIntrinsic(Intrinsic::aarch64_hint);
7102 Function *F = CGM.getIntrinsic(Intrinsic::prefetch, Address->getType());
7111 CGM.getIntrinsic(Intrinsic::bitreverse, Arg->getType()), Arg, "rbit");
7118 CGM.getIntrinsic(Intrinsic::bitreverse, Arg->getType()), Arg, "rbit");
7123 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::aarch64_cls), Arg,
7128 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::aarch64_cls64), Arg,
7137 CGM.getIntrinsic(Intrinsic::aarch64_fjcvtzs), Arg);
7146 llvm::Type *Ty = CGM.getTypes().ConvertType(FD->getType());
7149 return EmitNounwindRuntimeCall(CGM.CreateRuntimeFunction(FTy, Name), Ops);
7155 Function *F = CGM.getIntrinsic(BuiltinID == AArch64::BI__builtin_arm_ldaex
7183 Function *F = CGM.getIntrinsic(BuiltinID == AArch64::BI__builtin_arm_ldaex
7193 getLLVMContext(), CGM.getDataLayout().getTypeSizeInBits(RealResTy));
7201 Function *F = CGM.getIntrinsic(BuiltinID == AArch64::BI__builtin_arm_stlex
7234 CGM.getDataLayout().getTypeSizeInBits(StoreVal->getType()));
7239 Function *F = CGM.getIntrinsic(BuiltinID == AArch64::BI__builtin_arm_stlex
7248 if (!E->getArg(0)->EvaluateAsInt(Result, CGM.getContext()))
7252 LLVMContext &Context = CGM.getLLVMContext();
7260 CGM.getIntrinsic(llvm::Intrinsic::read_register, {Int64Ty});
7265 Function *F = CGM.getIntrinsic(Intrinsic::aarch64_clrex);
7297 Function *F = CGM.getIntrinsic(CRCIntrinsicID);
7332 CGM.getIntrinsic(MTEIntrinsicID), {Pointer, Mask});
7342 CGM.getIntrinsic(MTEIntrinsicID), {Pointer, TagOffset});
7352 CGM.getIntrinsic(MTEIntrinsicID), {Pointer, ExcludedMask});
7361 CGM.getIntrinsic(MTEIntrinsicID), {TagAddress, TagAddress});
7371 CGM.getIntrinsic(MTEIntrinsicID), {TagAddress, TagAddress});
7379 CGM.getIntrinsic(MTEIntrinsicID), {PointerA, PointerB});
7415 LLVMContext &Context = CGM.getLLVMContext();
7436 llvm::Function *F = CGM.getIntrinsic(llvm::Intrinsic::read_register, Types);
7441 llvm::Function *F = CGM.getIntrinsic(llvm::Intrinsic::write_register, Types);
7449 CGM.getIntrinsic(Intrinsic::addressofreturnaddress, AllocaInt8PtrTy);
7454 llvm::Function *F = CGM.getIntrinsic(Intrinsic::sponentry, AllocaInt8PtrTy);
7506 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::fabs, HalfTy), Ops, "vabs");
7633 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "fcvt");
7656 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "facg");
7673 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "fcvth_n");
7694 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "fcvth_n");
7992 Function *F = CGM.getIntrinsic(Intrinsic::fma, HalfTy);
7998 Function *F = CGM.getIntrinsic(Intrinsic::fma, HalfTy);
8016 Ops[1] = EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_sqdmull, VTy),
8024 return EmitNeonCall(CGM.getIntrinsic(AccumInt, Int32Ty), Ops, "vqdmlXl");
8029 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_sqshlu, Int64Ty),
8039 return EmitNeonCall(CGM.getIntrinsic(Int, Int64Ty), Ops, "vqshl_n");
8049 return EmitNeonCall(CGM.getIntrinsic(Int, Int64Ty), Ops, "vrshr_n");
8058 Ops[1] = Builder.CreateCall(CGM.getIntrinsic(Int, Int64Ty),
8113 Ops[1] = EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_sqdmull, VTy),
8123 return EmitNeonCall(CGM.getIntrinsic(AccInt, Int32Ty), Ops, "vqdmlXl");
8131 EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_sqdmulls_scalar),
8137 return EmitNeonCall(CGM.getIntrinsic(AccumInt, Int64Ty), Ops, "vqdmlXl");
8149 EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_sqdmulls_scalar),
8157 return EmitNeonCall(CGM.getIntrinsic(AccInt, Int64Ty), Ops, "vqdmlXl");
8370 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "fmla");
8382 Function *F = CGM.getIntrinsic(Intrinsic::fma, DoubleTy);
8386 Function *F = CGM.getIntrinsic(Intrinsic::fma, Ty);
8400 Function *F = CGM.getIntrinsic(Intrinsic::fma, Ty);
8416 Function *F = CGM.getIntrinsic(Intrinsic::fma, Ty);
8424 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmull");
8430 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmax");
8434 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vmax");
8441 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmin");
8445 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vmin");
8452 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vabd");
8464 Function *F = CGM.getIntrinsic(Int, Tys);
8474 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vpmin");
8480 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vpmax");
8484 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vminnm");
8488 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vminnm");
8492 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmaxnm");
8496 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vmaxnm");
8499 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_frecps, FloatTy),
8504 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_frecps, DoubleTy),
8508 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_frecps, HalfTy),
8512 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqshrun_n");
8515 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqrshrun_n");
8518 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqshrn_n");
8521 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrshrn_n");
8524 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqrshrn_n");
8528 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrnda");
8533 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrnda");
8538 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrndi");
8543 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrndm");
8548 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndm");
8553 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrndn");
8558 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndn");
8563 return EmitNeonCall(CGM.getIntrinsic(Int, FloatTy), Ops, "vrndn");
8568 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrndp");
8573 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndp");
8578 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrndx");
8583 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndx");
8588 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrndz");
8593 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndz");
8648 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vcvta");
8664 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vcvtm");
8680 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vcvtn");
8696 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vcvtp");
8701 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmulx");
8711 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vmulx");
8734 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vpmaxnm");
8739 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vpminnm");
8744 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vsqrt");
8750 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vsqrt");
8755 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrbit");
8767 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddv");
8779 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddv");
8791 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddv");
8803 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddv");
8812 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv");
8821 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv");
8830 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv");
8839 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv");
8848 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv");
8857 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv");
8866 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv");
8875 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv");
8884 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv");
8893 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv");
8902 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv");
8911 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv");
8920 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv");
8929 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv");
8938 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv");
8947 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv");
8956 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv");
8965 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv");
8974 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv");
8983 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv");
8992 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxnmv");
9001 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxnmv");
9010 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminnmv");
9019 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminnmv");
9033 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv");
9042 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv");
9050 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv");
9059 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv");
9067 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv");
9076 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv");
9084 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv");
9093 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv");
9098 llvm::Function *Intrin = CGM.getIntrinsic(Int, Ty);
9104 llvm::Function *Intrin = CGM.getIntrinsic(Int, Ty);
9118 Function* F = CGM.getIntrinsic(Int, Ty);
9171 Function *F = CGM.getIntrinsic(Intrinsic::aarch64_neon_ld2, Tys);
9182 Function *F = CGM.getIntrinsic(Intrinsic::aarch64_neon_ld3, Tys);
9193 Function *F = CGM.getIntrinsic(Intrinsic::aarch64_neon_ld4, Tys);
9205 Function *F = CGM.getIntrinsic(Intrinsic::aarch64_neon_ld2r, Tys);
9217 Function *F = CGM.getIntrinsic(Intrinsic::aarch64_neon_ld3r, Tys);
9229 Function *F = CGM.getIntrinsic(Intrinsic::aarch64_neon_ld4r, Tys);
9238 Function *F = CGM.getIntrinsic(Intrinsic::aarch64_neon_ld2lane, Tys);
9252 Function *F = CGM.getIntrinsic(Intrinsic::aarch64_neon_ld3lane, Tys);
9267 Function *F = CGM.getIntrinsic(Intrinsic::aarch64_neon_ld4lane, Tys);
9285 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_st2, Tys),
9294 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_st2lane, Tys),
9302 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_st3, Tys),
9311 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_st3lane, Tys),
9319 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_st4, Tys),
9328 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_st4lane, Tys),
9388 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbl1, Ty),
9392 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbl2, Ty),
9396 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbl3, Ty),
9400 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbl4, Ty),
9404 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbx1, Ty),
9408 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbx2, Ty),
9412 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbx3, Ty),
9416 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbx4, Ty),
9422 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vsqadd");
9427 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vuqadd");
9441 CGM.Error(E->getExprLoc(), "using builtin_preserve_field_info() without -g");
9458 &CGM.getModule(), llvm::Intrinsic::bpf_preserve_field_info,
9547 llvm::Function *F = CGF.CGM.getIntrinsic(Intrinsic::masked_expandload,
9562 llvm::Function *F = CGF.CGM.getIntrinsic(IID, ResultTy);
9578 llvm::Function *F = CGF.CGM.getIntrinsic(Intrinsic::masked_compressstore,
9611 Function *F = CGF.CGM.getIntrinsic(IID, Ty);
9754 Function *F = CGF.CGM.getIntrinsic(IID, { Ty, Ops[0]->getType() });
9835 Function *Intr = CGF.CGM.getIntrinsic(IID);
9839 Function *FMA = CGF.CGM.getIntrinsic(Intrinsic::fma, Ty);
9907 Res = CGF.Builder.CreateCall(CGF.CGM.getIntrinsic(IID),
9910 Function *FMA = CGF.CGM.getIntrinsic(Intrinsic::fma, Ops[0]->getType());
9980 Value *Ternlog = CGF.Builder.CreateCall(CGF.CGM.getIntrinsic(IID),
10000 llvm::Function *F = CGF.CGM.getIntrinsic(IID, Ops[0]->getType());
10036 llvm::Constant *CpuModel = CGM.CreateRuntimeVariable(STy, "__cpu_model");
10109 llvm::Constant *CpuModel = CGM.CreateRuntimeVariable(STy, "__cpu_model");
10128 llvm::Constant *CpuFeatures2 = CGM.CreateRuntimeVariable(Int32Ty,
10149 CGM.CreateRuntimeFunction(FTy, "__cpu_indicator_init");
10196 llvm::Function *F = CGM.getIntrinsic(ID);
10221 Function *F = CGM.getIntrinsic(Intrinsic::prefetch, Address->getType());
10225 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_sse2_clflush),
10229 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_sse2_lfence));
10232 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_sse2_mfence));
10235 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_sse_sfence));
10238 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_sse2_pause));
10241 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_rdtsc));
10244 Value *Call = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_rdtscp));
10252 Function *F = CGM.getIntrinsic(Intrinsic::ctlz, Ops[0]->getType());
10258 Function *F = CGM.getIntrinsic(Intrinsic::cttz, Ops[0]->getType());
10311 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_sse_ldmxcsr),
10317 Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_sse_stmxcsr),
10365 return Builder.CreateCall(CGM.getIntrinsic(ID), Ops);
10369 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_xgetbv), Ops);
10407 llvm::Function *F = CGM.getIntrinsic(Intrinsic::ctpop, ResultType);
10734 Function *Intr = CGM.getIntrinsic(IID);
10842 Function *Intr = CGM.getIntrinsic(IID);
10955 Function *Intr = CGM.getIntrinsic(IID);
11355 SI->setMetadata(CGM.getModule().getMDKindID("nontemporal"), Node);
11520 Function *Intr = CGM.getIntrinsic(IID);
11548 Function *Intr = CGM.getIntrinsic(IID);
11627 Function *F = CGM.getIntrinsic(Intrinsic::ctlz, Ops[0]->getType());
11633 Function *F = CGM.getIntrinsic(Intrinsic::sqrt, A->getType());
11646 return Builder.CreateCall(CGM.getIntrinsic(IID), Ops);
11649 Function *F = CGM.getIntrinsic(Intrinsic::sqrt, A->getType());
11669 return Builder.CreateCall(CGM.getIntrinsic(IID), Ops);
11672 Function *F = CGM.getIntrinsic(Intrinsic::sqrt, Ops[0]->getType());
11819 llvm::Function *F = CGM.getIntrinsic(Intrinsic::x86_3dnowa_pswapd);
11851 Value *Call = Builder.CreateCall(CGM.getIntrinsic(ID));
11877 Value *Call = Builder.CreateCall(CGM.getIntrinsic(IID),
11917 Value *Fpclass = Builder.CreateCall(CGM.getIntrinsic(ID), Ops);
11952 Value *Call = Builder.CreateCall(CGM.getIntrinsic(ID), {Ops[0], Ops[1]});
11979 return Builder.CreateCall(CGM.getIntrinsic(ID), Ops);
12003 Value *Shufbit = Builder.CreateCall(CGM.getIntrinsic(ID), Ops);
12149 return Builder.CreateCall(CGM.getIntrinsic(IID), Ops);
12166 Value *Res = Builder.CreateCall(CGM.getIntrinsic(IID), Ops[0]);
12301 CGM.getIntrinsic(Intrinsic::addressofreturnaddress, AllocaInt8PtrTy);
12394 return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::readcyclecounter));
12462 llvm::Function *F = CGM.getIntrinsic(ID);
12524 llvm::Function *F = CGM.getIntrinsic(ID);
12533 llvm::Function *F = CGM.getIntrinsic(ID, ResultType);
12544 Function *F = CGM.getIntrinsic(Intrinsic::ctlz, ResultType);
12554 Function *F = CGM.getIntrinsic(Intrinsic::cttz, ResultType);
12563 llvm::Function *F = CGM.getIntrinsic(Intrinsic::ctpop, ResultType);
12573 llvm::Function *F = CGM.getIntrinsic(ID, ResultType);
12604 llvm::Function *F = CGM.getIntrinsic(ID, ResultType);
12613 llvm::Function *F = CGM.getIntrinsic(Intrinsic::fabs, ResultType);
12631 llvm::Function *F = CGM.getIntrinsic(Intrinsic::fma, ResultType);
12655 llvm::Function *F = CGM.getIntrinsic(Intrinsic::ppc_vsx_xxinsertw);
12698 llvm::Function *F = CGM.getIntrinsic(Intrinsic::ppc_vsx_xxextractuw);
12837 llvm::Function *Callee = CGM.getIntrinsic(Intrinsic::amdgcn_div_scale,
12859 llvm::Function *F = CGM.getIntrinsic(Intrinsic::amdgcn_div_fmas,
12878 CGM.getIntrinsic(Intrinsic::amdgcn_update_dpp, Args[0]->getType());
12918 Function *F = CGM.getIntrinsic(Intrinsic::amdgcn_frexp_exp,
12924 Function *F = CGM.getIntrinsic(Intrinsic::amdgcn_frexp_exp,
12947 Value *F = CGM.getIntrinsic(Intrinsic::amdgcn_icmp,
12958 Value *F = CGM.getIntrinsic(Intrinsic::amdgcn_fcmp,
12974 Function *F = CGM.getIntrinsic(Intrin, { Src0->getType() });
13026 Function *F = CGF.CGM.getIntrinsic(IntrinsicID);
13039 Function *F = CGM.getIntrinsic(Intrinsic::s390_tbegin);
13045 Function *F = CGM.getIntrinsic(Intrinsic::s390_tbegin_nofloat);
13051 Function *F = CGM.getIntrinsic(Intrinsic::s390_tbeginc);
13056 Function *F = CGM.getIntrinsic(Intrinsic::s390_tabort);
13062 Function *F = CGM.getIntrinsic(Intrinsic::s390_ntstg);
13077 Function *F = CGM.getIntrinsic(Intrinsic::ctpop, ResultType);
13088 Function *F = CGM.getIntrinsic(Intrinsic::ctlz, ResultType);
13099 Function *F = CGM.getIntrinsic(Intrinsic::cttz, ResultType);
13107 Function *F = CGM.getIntrinsic(Intrinsic::sqrt, ResultType);
13116 Function *F = CGM.getIntrinsic(Intrinsic::fma, ResultType);
13126 Function *F = CGM.getIntrinsic(Intrinsic::fma, ResultType);
13136 Function *F = CGM.getIntrinsic(Intrinsic::fma, ResultType);
13146 Function *F = CGM.getIntrinsic(Intrinsic::fma, ResultType);
13154 Function *F = CGM.getIntrinsic(Intrinsic::fabs, ResultType);
13162 Function *F = CGM.getIntrinsic(Intrinsic::fabs, ResultType);
13198 Function *F = CGM.getIntrinsic(ID, ResultType);
13206 Function *F = CGM.getIntrinsic(ID);
13229 Function *F = CGM.getIntrinsic(ID, ResultType);
13237 Function *F = CGM.getIntrinsic(ID);
13259 Function *F = CGM.getIntrinsic(ID, ResultType);
13267 Function *F = CGM.getIntrinsic(ID);
13277 Function *F = CGM.getIntrinsic(Intrinsic::bswap, ResultType);
13622 CGM.getIntrinsic(IntrinsicID, {Ptr->getType()->getPointerElementType(),
13629 CGM.getIntrinsic(IntrinsicID, {Ptr->getType()->getPointerElementType(),
13703 CGM.getIntrinsic(Intrinsic::nvvm_atomic_load_inc_32, Ptr->getType());
13711 CGM.getIntrinsic(Intrinsic::nvvm_atomic_load_dec_32, Ptr->getType());
13837 CGM.getIntrinsic(
13847 CGM.getIntrinsic(
13858 CGM.getIntrinsic(BuiltinID == NVPTX::BI__nvvm_match_all_sync_i32p
13920 Builder.CreateCall(CGM.getIntrinsic(IID, Src->getType()), {Src, Ldm});
13963 CGM.getIntrinsic(IID, Dst->getType());
14022 Function *Intrinsic = CGM.getIntrinsic(IID);
14071 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_memory_size, ResultType);
14080 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_memory_grow, ResultType);
14096 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_memory_init);
14104 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_data_drop);
14109 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_tls_size, ResultType);
14114 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_tls_align, ResultType);
14118 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_tls_base);
14124 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_throw);
14128 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_rethrow_in_catch);
14135 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_atomic_wait_i32);
14142 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_atomic_wait_i64);
14148 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_atomic_notify);
14158 CGM.getIntrinsic(Intrinsic::wasm_trunc_signed, {ResT, Src->getType()});
14167 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_trunc_unsigned,
14179 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_trunc_saturate_signed,
14191 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_trunc_saturate_unsigned,
14201 Function *Callee = CGM.getIntrinsic(Intrinsic::minimum,
14211 Function *Callee = CGM.getIntrinsic(Intrinsic::maximum,
14218 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_swizzle);
14310 Function *Callee = CGM.getIntrinsic(IntNo, ConvertType(E->getType()));
14317 Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_bitselect,
14347 Function *Callee = CGM.getIntrinsic(IntNo, Vec->getType());
14353 Function *Callee = CGM.getIntrinsic(Intrinsic::fabs, Vec->getType());
14359 Function *Callee = CGM.getIntrinsic(Intrinsic::sqrt, Vec->getType());
14382 Function *Callee = CGM.getIntrinsic(IntNo, A->getType());
14405 CGM.getIntrinsic(IntNo, {ConvertType(E->getType()), Low->getType()});
14439 CGM.getIntrinsic(IntNo, {ConvertType(E->getType()), Vec->getType()});
14466 llvm::Value *Result = Builder.CreateCall(CGM.getIntrinsic(IntID), Ops);
14491 llvm::Value *NewBase = Builder.CreateCall(CGM.getIntrinsic(IntID), Ops);
14523 llvm::Value *Result = Builder.CreateCall(CGM.getIntrinsic(IntID), Ops);
14555 llvm::Value *Result = Builder.CreateCall(CGM.getIntrinsic(ID), Ops);
14577 llvm::Value *Result = Builder.CreateCall(CGM.getIntrinsic(ID), Ops);
tools/clang/lib/CodeGen/CGCUDANV.cpp 231 assert((CGF.CGM.getContext().getAuxTargetInfo() &&
232 (CGF.CGM.getContext().getAuxTargetInfo()->getCXXABI() !=
233 CGF.CGM.getContext().getTargetInfo().getCXXABI())) ||
tools/clang/lib/CodeGen/CGCXX.cpp 250 assert(!CGF.CGM.getTarget().getCXXABI().isMicrosoft() &&
252 CodeGenModule &CGM = CGF.CGM;
302 const CGFunctionInfo &FInfo = CGM.getTypes().arrangeCXXStructorDeclaration(
304 llvm::Type *Ty = CGM.getTypes().GetFunctionType(FInfo);
tools/clang/lib/CodeGen/CGCXXABI.cpp 23 DiagnosticsEngine &Diags = CGF.CGM.getDiags();
305 return CGF.EmitNounwindRuntimeCall(CGF.CGM.getTerminateFn());
tools/clang/lib/CodeGen/CGCall.cpp 1116 auto PrefAlign = CGF.CGM.getDataLayout().getPrefTypeAlignment(Ty);
1140 CGF.CGM.getDataLayout().getTypeStoreSize(FirstElt);
1142 FirstEltSize < CGF.CGM.getDataLayout().getTypeStoreSize(SrcSTy))
1183 const llvm::DataLayout &DL = CGF.CGM.getDataLayout();
1225 uint64_t DstSize = CGF.CGM.getDataLayout().getTypeAllocSize(Ty);
1232 uint64_t SrcSize = CGF.CGM.getDataLayout().getTypeAllocSize(SrcTy);
1301 uint64_t SrcSize = CGF.CGM.getDataLayout().getTypeAllocSize(SrcTy);
1317 uint64_t DstSize = CGF.CGM.getDataLayout().getTypeAllocSize(DstTy);
2236 llvm::Type* LLVMTy = CGM.getTypes().ConvertType(RetTy);
2245 ClangToLLVMArgMapping IRFunctionArgs(CGM.getContext(), FI);
2362 !CGM.getCodeGenOpts().NullPointerIsValid)
2382 !CGM.getCodeGenOpts().NullPointerIsValid) {
2393 !CGM.getCodeGenOpts().NullPointerIsValid)
2467 uint64_t SrcSize = CGM.getDataLayout().getTypeAllocSize(STy);
2469 uint64_t DstSize = CGM.getDataLayout().getTypeAllocSize(DstTy);
2623 if (call->getCalledValue() == CGF.CGM.getObjCEntrypoints().objc_retain) {
2625 } else if (call->getCalledValue() == CGF.CGM.getObjCEntrypoints()
2634 if (CGF.CGM.getObjCEntrypoints().retainAutoreleasedReturnValueMarker) {
2643 CGF.CGM.getObjCEntrypoints().retainAutoreleasedReturnValueMarker);
2687 retainCall->getCalledValue() != CGF.CGM.getObjCEntrypoints().objc_retain)
3064 if (isInAllocaArgument(CGM.getCXXABI(), type)) {
3065 CGM.ErrorUnsupported(param, "forwarded non-trivially copyable parameter");
3124 CGF.CGM.getDataLayout());
3264 CGF.CGM.getDataLayout());
3306 if (CGF.CGM.getCodeGenOpts().OptimizationLevel != 0 &&
3338 llvm::Function *F = CGF.CGM.getIntrinsic(llvm::Intrinsic::stacksave);
3345 llvm::Function *F = CGF.CGM.getIntrinsic(llvm::Intrinsic::stackrestore);
3415 CGM.getTarget().getCXXABI().areArgsDestroyedLeftToRightInCallee()
3443 if (CGM.getTarget().getCXXABI().isMicrosoft()) {
3446 HasInAllocaArgs = isInAllocaArgument(CGM.getCXXABI(), *I);
3648 if (CGM.getCodeGenOpts().OptimizationLevel != 0 &&
3649 !CGM.getCodeGenOpts().ObjCAutoRefCountExceptions)
3651 CGM.getNoObjCARCExceptionsMetadata());
3768 if (CGM.getLangOpts().ObjCAutoRefCount)
3833 const llvm::DataLayout &DL = CGM.getDataLayout();
3850 ClangToLLVMArgMapping IRFunctionArgs(CGM.getContext(), CallInfo);
3865 CGM.getDataLayout().getTypeAllocSize(ConvertTypeForMem(RetTy));
3959 const llvm::DataLayout *TD = &CGM.getDataLayout();
3984 AS != CGM.getASTAllocaAddressSpace()))) {
4005 CGM.getDataLayout().getTypeAllocSize(AI.getElementType());
4018 CGM.getDataLayout().getAllocaAddrSpace());
4020 *this, V, LangAS::Default, CGM.getASTAllocaAddressSpace(), T,
4098 uint64_t SrcSize = CGM.getDataLayout().getTypeAllocSize(SrcTy);
4099 uint64_t DstSize = CGM.getDataLayout().getTypeAllocSize(STy);
4134 auto layout = CGM.getDataLayout().getStructLayout(coercionType);
4148 auto scalarSize = CGM.getDataLayout().getTypeAllocSize(scalarType);
4149 auto scalarAlign = CGM.getDataLayout().getPrefTypeAlignment(scalarType);
4304 CGM.ConstructAttributeList(CalleePtr->getName(), CallInfo,
4393 if (CGM.getLangOpts().ObjCAutoRefCount)
4432 auto *FnType = llvm::FunctionType::get(CGM.VoidTy, /*isVarArg=*/false);
4434 CGM.CreateRuntimeFunction(FnType, "__asan_handle_no_return");
4593 return CGF.CGM.getCXXABI().getVirtualFunctionPointer(
4609 return CGM.getTypes().getABIInfo().EmitMSVAArg(*this, VAListAddr, Ty);
4610 return CGM.getTypes().getABIInfo().EmitVAArg(*this, VAListAddr, Ty);
tools/clang/lib/CodeGen/CGClass.cpp 119 CXXThisAlignment = CGM.getClassPointerAlignment(RD);
136 CGM.getCXXABI().EmitMemberDataPointerAddress(*this, E, base,
143 CGM.getDynamicOffsetAlignment(base.getAlignment(),
258 alignment = CGF.CGM.getVBaseAlignment(addr.getAlignment(),
291 CharUnits NonVirtualOffset = CGM.computeNonVirtualBaseClassOffset(
310 CharUnits DerivedAlign = CGM.getClassPointerAlignment(Derived);
350 CGM.getCXXABI().GetVirtualBaseClassOffset(*this, Value, Derived, VBase);
390 CGM.GetNonVirtualBaseClassOffset(Derived, PathBegin, PathEnd);
432 return Address(Value, CGM.getClassPointerAlignment(Derived));
438 if (!CGM.getCXXABI().NeedsVTTParameter(GD)) {
456 assert(!CGM.getCXXABI().NeedsVTTParameter(CurGD) &&
467 CGM.getVTables().getSubVTTIndex(RD, BaseSubobject(Base, BaseOffset));
471 if (CGM.getCXXABI().NeedsVTTParameter(CurGD)) {
477 VTT = CGM.getVTables().GetAddrOfVTT(RD);
569 if (CGF.CGM.getLangOpts().Exceptions &&
647 CGF.CGM.getCXXABI().getSrcArgforCopyCtor(Constructor, Args);
770 unsigned PtrSize = CGM.getDataLayout().getPointerSizeInBits();
796 llvm::FunctionType::get(CGM.VoidTy, Args, false);
797 llvm::FunctionCallee F = CGM.CreateRuntimeFunction(
826 assert((CGM.getTarget().getCXXABI().hasConstructorVariants() ||
833 CGM.getTarget().getCXXABI().hasConstructorVariants()) {
1039 return Args[CGF.CGM.getCXXABI().getSrcArgforCopyCtor(CD, Args)];
1284 !CGM.getTarget().getCXXABI().hasConstructorVariants()) {
1286 CGM.getCXXABI().EmitCtorCompleteObjectHandler(*this, ClassDecl);
1294 if (CGM.getCodeGenOpts().StrictVTablePointers &&
1295 CGM.getCodeGenOpts().OptimizationLevel > 0 &&
1311 if (CGM.getCodeGenOpts().StrictVTablePointers &&
1312 CGM.getCodeGenOpts().OptimizationLevel > 0 &&
1503 if (CGM.getCodeGenOpts().StrictVTablePointers &&
1504 CGM.getCodeGenOpts().OptimizationLevel > 0)
1648 CGF.CGM.CreateRuntimeFunction(FnType, "__sanitizer_dtor_callback");
1812 if (CGM.getCodeGenOpts().SanitizeMemoryUseAfterDtor &&
1838 if (CGM.getCodeGenOpts().SanitizeMemoryUseAfterDtor &&
1862 if (CGM.getCodeGenOpts().SanitizeMemoryUseAfterDtor &&
2094 CGF.CGM.getTypes().arrangeCXXConstructorCall(Args, Ctor, Type, 0, 0);
2152 CGM.getCXXABI().addImplicitConstructorArgs(*this, D, Type, ForVirtualBase,
2156 llvm::Constant *CalleePtr = CGM.getAddrOfCXXStructor(GlobalDecl(D, Type));
2157 const CGFunctionInfo &Info = CGM.getTypes().arrangeCXXConstructorCall(
2173 if (CGM.getCodeGenOpts().OptimizationLevel > 0 &&
2175 CGM.getCXXABI().canSpeculativelyEmitVTable(ClassDecl) &&
2176 CGM.getCodeGenOpts().StrictVTablePointers)
2188 CGM.getTarget().getCXXABI().hasConstructorVariants()) {
2243 CGM.getCXXABI().addImplicitConstructorArgs(*this, Ctor, CtorType,
2265 CGM.getCXXABI().EmitInstanceFunctionProlog(*this);
2274 CGM.getCXXABI().getVTableAddressPoint(Vptr.Base, Vptr.VTableClass);
2295 if (CGM.getCXXABI().doStructorsInitializeVPtrs(ClassDecl))
2313 llvm::Type *t = CGM.getTypes().ConvertType(QT);
2344 if (CGM.getCXXABI().NeedsVTTParameter(CurGD)) {
2404 if (CGM.getLangOpts().Exceptions && !ClassDecl->hasTrivialDestructor()) {
2419 CGM.getCXXABI().EmitDestructorCall(*this, DD, Type, ForVirtualBase,
2458 CGM.getCXXABI().getVTableAddressPointInStructor(
2468 if (CGM.getCXXABI().isVirtualOffsetNeededForVTableField(*this, Vptr)) {
2472 VirtualOffset = CGM.getCXXABI().GetVirtualBaseClassOffset(
2491 llvm::FunctionType::get(CGM.Int32Ty, /*isVarArg=*/true)
2498 TBAAAccessInfo TBAAInfo = CGM.getTBAAVTablePtrAccessInfo(VTablePtrTy);
2499 CGM.DecorateInstructionWithTBAA(Store, TBAAInfo);
2500 if (CGM.getCodeGenOpts().OptimizationLevel > 0 &&
2501 CGM.getCodeGenOpts().StrictVTablePointers)
2502 CGM.DecorateInstructionWithInvariantGroup(Store, Vptr.VTableClass);
2580 if (CGM.getCXXABI().doStructorsInitializeVPtrs(RD))
2585 CGM.getCXXABI().initializeHiddenVirtualInheritanceMembers(*this, RD);
2593 TBAAAccessInfo TBAAInfo = CGM.getTBAAVTablePtrAccessInfo(VTableTy);
2594 CGM.DecorateInstructionWithTBAA(VTable, TBAAInfo);
2596 if (CGM.getCodeGenOpts().OptimizationLevel > 0 &&
2597 CGM.getCodeGenOpts().StrictVTablePointers)
2598 CGM.DecorateInstructionWithInvariantGroup(VTable, RD);
2643 else if (CGM.getCodeGenOpts().WholeProgramVTables &&
2644 CGM.HasHiddenLTOVisibility(RD)) {
2646 CGM.CreateMetadataIdentifierForType(QualType(RD->getTypeForDecl(), 0));
2648 llvm::MetadataAsValue::get(CGM.getLLVMContext(), MD);
2652 Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::type_test),
2654 Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::assume), TypeTest);
2703 std::tie(VTable, ClassDecl) = CGM.getCXXABI().LoadVTablePtr(
2718 if (!CGM.getCodeGenOpts().SanitizeCfiCrossDso &&
2719 !CGM.HasHiddenLTOVisibility(RD))
2755 CGM.CreateMetadataIdentifierForType(QualType(RD->getTypeForDecl(), 0));
2760 CGM.getIntrinsic(llvm::Intrinsic::type_test), {CastedVTable, TypeId});
2768 auto CrossDsoTypeId = CGM.CreateCrossDsoCfiTypeId(MD);
2769 if (CGM.getCodeGenOpts().SanitizeCfiCrossDso && CrossDsoTypeId) {
2774 if (CGM.getCodeGenOpts().SanitizeTrap.has(M)) {
2780 CGM.getLLVMContext(),
2781 llvm::MDString::get(CGM.getLLVMContext(), "all-vtables"));
2783 CGM.getIntrinsic(llvm::Intrinsic::type_test), {CastedVTable, AllVtables});
2789 if (!CGM.getCodeGenOpts().WholeProgramVTables ||
2790 !CGM.HasHiddenLTOVisibility(RD))
2793 if (CGM.getCodeGenOpts().VirtualFunctionElimination)
2797 !CGM.getCodeGenOpts().SanitizeTrap.has(SanitizerKind::CFIVCall))
2812 CGM.CreateMetadataIdentifierForType(QualType(RD->getTypeForDecl(), 0));
2813 llvm::Value *TypeId = llvm::MetadataAsValue::get(CGM.getLLVMContext(), MD);
2817 CGM.getIntrinsic(llvm::Intrinsic::type_checked_load),
2840 CGM.getTypes().arrangeCXXMethodDeclaration(callOperator);
2842 CGM.GetAddrOfFunction(GlobalDecl(callOperator),
2843 CGM.getTypes().GetFunctionType(calleeFnInfo));
2883 CGM.ErrorUnsupported(CurCodeDecl, "lambda conversion to variadic function");
2937 CGM.ErrorUnsupported(MD, "lambda conversion to variadic function");
tools/clang/lib/CodeGen/CGCleanup.cpp 464 CGBuilderTy(CGM, &*InsertBefore).CreateStore(Inst, Tmp);
984 ParentPad = llvm::ConstantTokenNone::get(CGM.getLLVMContext());
tools/clang/lib/CodeGen/CGCoroutine.cpp 95 CGF.CGM.Error(CoroIdExpr->getBeginLoc(),
98 CGF.CGM.Error(CoroIdExpr->getBeginLoc(),
197 llvm::Function *CoroSave = CGF.CGM.getIntrinsic(llvm::Intrinsic::coro_save);
198 auto *NullPtr = llvm::ConstantPointerNull::get(CGF.CGM.Int8PtrTy);
213 CGF.CGM.getIntrinsic(llvm::Intrinsic::coro_suspend);
398 auto &CGM = CGF.CGM;
445 CGF.CGM.Error(Deallocate->getBeginLoc(),
545 auto &TI = CGM.getContext().getTargetInfo();
555 CGM.getIntrinsic(llvm::Intrinsic::coro_id),
563 CGM.getIntrinsic(llvm::Intrinsic::coro_alloc), {CoroId});
595 CGM.getIntrinsic(llvm::Intrinsic::coro_begin), {CoroId, Phi});
688 llvm::Function *CoroEnd = CGM.getIntrinsic(llvm::Intrinsic::coro_end);
708 CGM.Error(E->getBeginLoc(), "this builtin expect that __builtin_coro_begin "
723 CGM.Error(E->getBeginLoc(), "this builtin expect that __builtin_coro_id has"
737 llvm::Function *F = CGM.getIntrinsic(IID);
tools/clang/lib/CodeGen/CGDecl.cpp 145 return CGM.EmitOMPDeclareReduction(cast<OMPDeclareReductionDecl>(&D), this);
148 return CGM.EmitOMPDeclareMapper(cast<OMPDeclareMapperDecl>(&D), this);
179 CGM.getLLVMLinkageVarDefinition(&D, /*IsConstant=*/false);
189 return CGM.getOpenCLRuntime().EmitWorkGroupLocalVarDecl(*this, D);
322 CGM.ErrorUnsupported(D.getInit(), "constant l-value expression");
340 GV = new llvm::GlobalVariable(CGM.getModule(), Init->getType(),
345 CGM.getContext().getTargetAddressSpace(D.getType()));
362 GV->setConstant(CGM.isTypeConstant(D.getType(), true));
382 llvm::Constant *addr = CGM.getOrCreateStaticVarDecl(D, Linkage);
414 CGM.AddGlobalAnnotations(&D, var);
429 CGM.addUsedGlobal(var);
440 CGM.setStaticLocalDeclAddress(&D, castedAddr);
442 CGM.getSanitizerMetadata()->reportGlobalToASan(var, D);
447 CGM.getCodeGenOpts().getDebugInfo() >= codegenoptions::LimitedDebugInfo) {
538 llvm::Function *F = CGF.CGM.getIntrinsic(llvm::Intrinsic::stackrestore);
782 llvm::Value *zero = CGM.getNullPointer(ty, tempLV.getType());
1292 CGM.getDataLayout().getAllocaAddrSpace() &&
1297 Builder.CreateCall(CGM.getLLVMLifetimeStartFn(), {SizeV, Addr});
1304 CGM.getDataLayout().getAllocaAddrSpace() &&
1308 Builder.CreateCall(CGM.getLLVMLifetimeEndFn(), {Size, Addr});
1393 bool EmitDebugInfo = DI && CGM.getCodeGenOpts().getDebugInfo() >=
1400 ? CGM.getOpenMPRuntime().getAddressOfLocalVariable(*this, &D)
1428 (CGM.getCodeGenOpts().MergeAllConstants && !NRVO &&
1429 !isEscapingByRef && CGM.isTypeConstant(Ty, true))) {
1513 uint64_t size = CGM.getDataLayout().getTypeAllocSize(allocaTy);
1529 llvm::Function *F = CGM.getIntrinsic(llvm::Intrinsic::stacksave);
1672 emitStoresForZeroInit(CGM, D, Loc, isVolatile, Builder);
1675 emitStoresForPatternInit(CGM, D, Loc, isVolatile, Builder);
1698 SizeVal = Builder.CreateNUWMul(SizeVal, CGM.getSize(EltSize));
1706 CGM, IsPattern::Yes, initializationPatternFor(CGM, ElTy));
1706 CGM, IsPattern::Yes, initializationPatternFor(CGM, ElTy));
1717 SizeVal = Builder.CreateNUWMul(SizeVal, CGM.getSize(EltSize));
1730 CGM, D, Builder, Constant, ConstantAlign),
1830 constant = constWithPadding(CGM, IsPattern::No,
1831 replaceUndef(CGM, isPattern, constant));
1849 llvm::Type *BP = CGM.Int8Ty->getPointerTo(Loc.getAddressSpace());
1851 CGM, D, (Loc.getType() == BP) ? Loc : Builder.CreateBitCast(Loc, BP),
2004 llvm::Constant *F = CGM.GetAddrOfFunction(FD);
2007 const CGFunctionInfo &Info = CGM.getTypes().arrangeFunctionDeclaration(FD);
2015 CGM.getLangOpts().getGC() != LangOptions::GCOnly) {
2381 auto AllocaAS = CGM.getASTAllocaAddressSpace();
2388 CGM.getDataLayout().getAllocaAddrSpace());
2415 ? CGM.getOpenMPRuntime().getAddressOfLocalVariable(*this, &D)
2453 if (CGM.getCodeGenOpts().OptimizationLevel == 0) {
2457 llvm::Value *Null = CGM.EmitNullConstant(D.getType());
2496 if (CGM.getCodeGenOpts().getDebugInfo() >=
tools/clang/lib/CodeGen/CGDeclCXX.cpp 42 CodeGenModule &CGM = CGF.CGM;
98 CodeGenModule &CGM = CGF.CGM;
156 if (!CGM.getCodeGenOpts().OptimizationLevel)
163 llvm::Function *InvariantStart = CGM.getIntrinsic(InvStartID, ObjectPtr);
197 llvm::Type *LTy = CGM.getTypes().ConvertTypeForMem(T);
207 (void)CGM.getOpenMPRuntime().emitThreadPrivateVarDefinition(
213 if (CGM.isTypeConstant(D.getType(), true))
232 llvm::FunctionType *ty = llvm::FunctionType::get(CGM.VoidTy, false);
236 CGM.getCXXABI().getMangleContext().mangleDynamicAtExitDestructor(&VD, Out);
239 const CGFunctionInfo &FI = CGM.getTypes().arrangeNullaryFunction();
240 llvm::Function *fn = CGM.CreateGlobalInitOrDestructFunction(
243 CodeGenFunction CGF(CGM);
246 CGM.getContext().VoidTy, fn, FI, FunctionArgList());
275 CGM.CreateRuntimeFunction(atexitTy, "atexit", llvm::AttributeList(),
289 if (CGM.getCodeGenOpts().ForbidGuardVariables)
290 CGM.Error(D.getLocation(),
294 CGM.getCXXABI().EmitGuardedInit(*this, D, DeclPtr, PerformInit);
327 llvm::MDBuilder MDHelper(CGM.getLLVMContext());
700 CGM.getDataLayout().getTypeAllocSize(GuardVal->getType())));
766 CGM.getTypes().arrangeBuiltinFunctionDeclaration(getContext().VoidTy, args);
767 llvm::FunctionType *FTy = CGM.getTypes().GetFunctionType(FI);
768 llvm::Function *fn = CGM.CreateGlobalInitOrDestructFunction(
tools/clang/lib/CodeGen/CGException.cpp 235 return get(CGF.CGM, dyn_cast_or_null<FunctionDecl>(FD));
368 CGF.EmitNounwindRuntimeCall(getFreeExceptionFn(CGF.CGM), exn);
430 CGM.getObjCRuntime().EmitThrowStmt(*this, S, false);
432 CGM.getCXXABI().emitThrow(*this, E);
435 CGM.getCXXABI().emitRethrow(*this, /*isNoReturn=*/true);
445 if (!CGM.getLangOpts().CXXExceptions)
476 llvm::Value *EHType = CGM.GetAddrOfRTTIDescriptor(ExceptType,
516 CGF.EmitRuntimeCall(getUnexpectedFn(CGF.CGM), exn)
522 if (!CGM.getLangOpts().CXXExceptions)
574 QualType CaughtType = CGM.getContext().getUnqualifiedArrayType(
579 TypeInfo.RTTI = CGM.getObjCRuntime().GetEHType(CaughtType);
581 TypeInfo = CGM.getCXXABI().getAddrOfCXXCatchHandlerType(
586 CatchScope->setHandler(I, CGM.getCXXABI().getCatchAllTypeInfo(), Handler);
709 const LangOptions &LO = CGM.getLangOpts();
729 CurFn->setPersonalityFn(getOpaquePersonalityFn(CGM, Personality));
978 CGF.CGM.getIntrinsic(llvm::Intrinsic::wasm_get_exception);
980 CGF.CGM.getIntrinsic(llvm::Intrinsic::wasm_get_ehselector);
985 llvm::Function *TypeIDFn = CGF.CGM.getIntrinsic(llvm::Intrinsic::eh_typeid_for);
1070 CGF.CGM.getIntrinsic(llvm::Intrinsic::eh_typeid_for);
1210 CGM.getCXXABI().emitBeginCatch(*this, C);
1228 CGM.getCXXABI().emitRethrow(*this, /*isNoReturn*/false);
1260 CGM.getIntrinsic(llvm::Intrinsic::wasm_rethrow_in_catch);
1471 CurFn->setPersonalityFn(getOpaquePersonalityFn(CGM, Personality));
1481 CGM.getCXXABI().emitTerminateForUnexpectedException(*this, Exn);
1505 CGM.getCXXABI().emitTerminateForUnexpectedException(*this, Exn);
1536 ParentPad = llvm::ConstantTokenNone::get(CGM.getLLVMContext());
1546 CGM.getIntrinsic(llvm::Intrinsic::wasm_get_exception);
1550 CGM.getCXXABI().emitTerminateForUnexpectedException(*this, Exn);
1575 EmitRuntimeCall(getCatchallRethrowFn(CGM, RethrowName),
1621 CodeGenModule &CGM = CGF.CGM;
1724 &CGM.getModule(), llvm::Intrinsic::localrecover);
1761 CGM.getTarget().getTriple().getArch() != llvm::Triple::x86) {
1768 CGBuilderTy Builder(CGM, AllocaInsertPt);
1769 if (IsFilter && CGM.getTarget().getTriple().getArch() == llvm::Triple::x86) {
1774 CGM.getIntrinsic(llvm::Intrinsic::frameaddress, AllocaInt8PtrTy),
1790 CGM.getIntrinsic(llvm::Intrinsic::eh_recoverfp);
1799 CGM.ErrorUnsupported(VD, "'this' captured by SEH");
1804 CGM.ErrorUnsupported(VD, "VLA captured by SEH");
1844 MangleContext &Mangler = CGM.getCXXABI().getMangleContext();
1852 if (CGM.getTarget().getTriple().getArch() != llvm::Triple::x86 || !IsFilter) {
1875 CGM.getTypes().arrangeBuiltinFunctionDeclaration(RetTy, Args);
1877 llvm::FunctionType *FnTy = CGM.getTypes().GetFunctionType(FnInfo);
1879 FnTy, llvm::GlobalValue::InternalLinkage, Name.str(), &CGM.getModule());
1887 CGM.SetLLVMFunctionAttributes(GlobalDecl(), FnInfo, CurFn);
1930 if (CGM.getTarget().getTriple().getArch() != llvm::Triple::x86) {
1954 llvm::Type *RecordTy = CGM.Int32Ty->getPointerTo();
1955 llvm::Type *PtrsTy = llvm::StructType::get(RecordTy, CGM.VoidPtrTy);
1991 CodeGenFunction HelperCGF(CGM, /*suppressNewContext=*/true);
2015 if (CGM.getTarget().getTriple().getArch() != llvm::Triple::x86 && C &&
2077 if (CGM.getTarget().getTriple().getArch() != llvm::Triple::x86) {
2079 CGM.getIntrinsic(llvm::Intrinsic::eh_exceptioncode);
tools/clang/lib/CodeGen/CGExpr.cpp 111 return new llvm::AllocaInst(Ty, CGM.getDataLayout().getAllocaAddrSpace(),
122 CharUnits::fromQuantity(CGM.getDataLayout().getABITypeAlignment(Ty));
168 return CGM.getCXXABI().EmitMemberPointerIsNotNull(*this, MemPtr, MPT);
337 CleanupFn = CodeGenFunction(CGF.CGM).generateDestroyHelper(
343 CleanupFn = CGF.CGM.getAddrAndTypeOfCXXStructor(
347 CGF.CGM.getCXXABI().registerGlobalDtor(
383 if (CGF.CGM.getCodeGenOpts().MergeAllConstants &&
385 CGF.CGM.isTypeConstant(Ty, true))
390 CGF.CGM.getModule(), Init->getType(), /*isConstant=*/true,
399 CGF.CGM, GV, AS, LangAS::Default,
410 return CGF.CGM.GetAddrOfGlobalTemporary(M, Inner);
447 Var->setInitializer(CGM.EmitNullConstant(E->getType()));
499 Var->setInitializer(CGM.EmitNullConstant(E->getType()));
506 CGM.getDataLayout().getTypeAllocSize(Alloca.getElementType()),
526 !CGM.getCodeGenOpts().SanitizeAddressUseAfterScope) {
537 CGM.getDataLayout().getTypeAllocSize(Alloca.getElementType()),
727 llvm::Function *F = CGM.getIntrinsic(llvm::Intrinsic::objectsize, Tys);
801 CGM.getCXXABI().getMangleContext().mangleCXXRTTI(Ty.getUnqualifiedType(),
805 if (!CGM.getContext().getSanitizerBlacklist().isBlacklistedType(
822 llvm::Value *Cache = CGM.CreateRuntimeVariable(HashTable,
840 CGM.GetAddrOfRTTIDescriptor(Ty.getUnqualifiedType()),
1047 CGM.EmitExplicitCastExprType(ECE, this);
1073 *TBAAInfo = CGM.mergeTBAAInfoForCast(*TBAAInfo,
1110 *TBAAInfo = CGM.getTBAAAccessInfo(E->getType());
1579 if (!getRangeForType(*this, Ty, Min, End, CGM.getCodeGenOpts().StrictEnums,
1595 NSAPI(CGM.getContext()).isObjCBOOLType(Ty);
1640 if (!CGM.getCodeGenOpts().PreserveVec3Type) {
1676 Load->setMetadata(CGM.getModule().getMDKindID("nontemporal"), Node);
1679 CGM.DecorateInstructionWithTBAA(Load, TBAAInfo);
1684 } else if (CGM.getCodeGenOpts().OptimizationLevel > 0)
1721 if (!CGM.getCodeGenOpts().PreserveVec3Type) {
1758 Store->setMetadata(CGM.getModule().getMDKindID("nontemporal"), Node);
1761 CGM.DecorateInstructionWithTBAA(Store, TBAAInfo);
1778 return RValue::get(CGM.getObjCRuntime().EmitObjCWeakRead(*this,
1885 llvm::Type *VectorElementTy = CGM.getTypes().ConvertType(EQT);
1909 llvm::Type *OrigTy = CGM.getTypes().ConvertType(LV.getType());
1912 Ty = CGM.getTypes().getDataLayout().getIntPtrType(OrigTy);
1915 llvm::Function *F = CGM.getIntrinsic(llvm::Intrinsic::read_register, Types);
1991 CGM.getObjCRuntime().EmitObjCWeakAssign(*this, src, LvalueDst);
2009 CGM.getObjCRuntime().EmitObjCIvarAssign(*this, src, dst,
2012 CGM.getObjCRuntime().EmitObjCGlobalAssign(*this, src, LvalueDst,
2016 CGM.getObjCRuntime().EmitObjCStrongCastAssign(*this, src, LvalueDst);
2170 llvm::Type *OrigTy = CGM.getTypes().ConvertType(Dst.getType());
2173 Ty = CGM.getTypes().getDataLayout().getIntPtrType(OrigTy);
2176 llvm::Function *F = CGM.getIntrinsic(llvm::Intrinsic::write_register, Types);
2295 Addr = CGF.CGM.getOpenMPRuntime().getAddrOfThreadPrivate(CGF, VD, Addr, Loc);
2308 !CGF.CGM.getOpenMPRuntime().hasRequiresUnifiedSharedMemory()))
2312 CGF.CGM.getOpenMPRuntime().hasRequiresUnifiedSharedMemory())) &&
2315 Address Addr = CGF.CGM.getOpenMPRuntime().getAddrOfDeclareTargetVar(VD);
2325 CGM.DecorateInstructionWithTBAA(Load, RefLVal.getTBAAInfo());
2366 CGF.CGM.getCXXABI().usesThreadWrapperFunction(VD))
2367 return CGF.CGM.getCXXABI().EmitThreadLocalVarDeclLValue(CGF, VD, T);
2376 llvm::Value *V = CGF.CGM.GetAddrOfGlobalVar(VD);
2422 llvm::Value *V = EmitFunctionDeclPointer(CGF.CGM, FD);
2502 switch (CGF.CGM.getLLVMLinkageVarDefinition(VD, IsConstant)) {
2525 return EmitGlobalNamedRegister(VD, CGM);
2542 Addr = CGM.createUnnamedGlobalFrom(*VD, Val,
2600 ConstantAddress Aliasee = CGM.GetWeakRefReference(VD);
2619 addr = Address(CGM.getOrCreateStaticVarDecl(
2620 *VD, CGM.getLLVMLinkageVarDefinition(VD, /*IsConstant=*/false)),
2727 CGM.getTBAAInfoForSubobject(LV, T));
2746 return MakeAddrLValue(CGM.GetAddrOfConstantStringFromLiteral(E),
2751 return MakeAddrLValue(CGM.GetAddrOfConstantStringFromObjCEncode(E),
2768 CGM.getCXXABI().getMangleContext().getBlockId(BD, true);
2771 auto C = CGM.GetAddrOfConstantCString(Name, GVName.c_str());
2774 auto C = CGM.GetAddrOfConstantCString(FnName, GVName.c_str());
2778 auto C = CGM.GetAddrOfConstantStringFromLiteral(SL, GVName);
2793 if (llvm::Constant *C = CGM.getTypeDescriptorFromMap(T))
2811 CGM.getDiags().ConvertArgToString(DiagnosticsEngine::ak_qualtype,
2823 CGM.getModule(), Descriptor->getType(),
2826 CGM.getSanitizerMetadata()->disableSanitizerForGlobal(GV);
2829 CGM.setTypeDescriptorInMap(T, GV);
2881 CGM.getCodeGenOpts().EmitCheckPathComponentsToStrip;
2904 auto FilenameGV = CGM.GetAddrOfConstantCString(FilenameString, ".src");
2905 CGM.getSanitizerMetadata()->disableSanitizerForGlobal(
2971 bool MinimalRuntime = CGF.CGM.getCodeGenOpts().SanitizeMinimalRuntime;
2991 llvm::FunctionCallee Fn = CGF.CGM.CreateRuntimeFunction(
3022 CGM.getCodeGenOpts().SanitizeTrap.has(Checked[i].second)
3024 : CGM.getCodeGenOpts().SanitizeRecover.has(Checked[i].second)
3067 if (!CGM.getCodeGenOpts().SanitizeMinimalRuntime) {
3075 new llvm::GlobalVariable(CGM.getModule(), Info->getType(), false,
3078 CGM.getSanitizerMetadata()->disableSanitizerForGlobal(InfoPtr);
3090 llvm::FunctionType::get(CGM.VoidTy, ArgTypes, false);
3129 bool WithDiag = !CGM.getCodeGenOpts().SanitizeTrap.has(Kind);
3136 new llvm::GlobalVariable(CGM.getModule(), Info->getType(), false,
3139 CGM.getSanitizerMetadata()->disableSanitizerForGlobal(InfoPtr);
3141 SlowPathFn = CGM.getModule().getOrInsertFunction(
3148 SlowPathFn = CGM.getModule().getOrInsertFunction(
3154 CGM.setDSOLocal(
3164 llvm::Module *M = &CGM.getModule();
3169 CGM.setDSOLocal(F);
3198 CGM.getTypes().arrangeBuiltinFunctionDeclaration(getContext().VoidTy, Args);
3202 llvm::GlobalValue::WeakODRLinkage, "__cfi_check_fail", &CGM.getModule());
3205 StartFunction(GlobalDecl(), CGM.getContext().VoidTy, F, FI, Args,
3211 SanOpts = CGM.getLangOpts().Sanitize;
3215 CGM.getContext().VoidPtrTy, ArgData.getLocation());
3218 CGM.getContext().VoidPtrTy, ArgAddr.getLocation());
3238 CGM.getLLVMContext(),
3239 llvm::MDString::get(CGM.getLLVMContext(), "all-vtables"));
3241 Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::type_test),
3258 if (CGM.getLangOpts().Sanitize.has(Mask))
3268 CGM.addUsedGlobal(F);
3287 if (!CGM.getCodeGenOpts().OptimizationLevel || !TrapBB) {
3303 llvm::CallInst *TrapCall = Builder.CreateCall(CGM.getIntrinsic(IntrID));
3305 if (!CGM.getCodeGenOpts().TrapFuncName.empty()) {
3307 CGM.getCodeGenOpts().TrapFuncName);
3344 if (TBAAInfo) *TBAAInfo = CGM.getTBAAAccessInfo(EltType);
3502 CGM.getTBAAInfoForSubobject(LV, EltType));
3582 *this, ArrayLV.getAddress(), {CGM.getSize(CharUnits::Zero()), Idx},
3586 EltTBAAInfo = CGM.getTBAAInfoForSubobject(ArrayLV, E->getType());
3640 TBAAInfo = CGF.CGM.mergeTBAAInfoForCast(TBAAInfo, TypeTBAAInfo);
3669 auto &C = CGM.getContext();
3782 *this, ArrayLV.getAddress(), {CGM.getSize(CharUnits::Zero()), Idx},
3786 TBAAInfo = CGM.getTBAAInfoForSubobject(ArrayLV, ResultExprTy);
3948 CGF.CGM.getTypes().getCGRecordLayout(rec).getLLVMFieldNo(field);
3960 CGF.CGM.getTypes().getCGRecordLayout(rec).getLLVMFieldNo(field);
3991 CGM.getTypes().getCGRecordLayout(field->getParent());
4041 FieldTBAAInfo.BaseType = CGM.getTBAABaseTypeInfo(base.getType());
4055 FieldTBAAInfo.AccessType = CGM.getTBAATypeInfo(FieldType);
4062 if (CGM.getCodeGenOpts().StrictVTablePointers &&
4076 if (CGM.getCodeGenOpts().StrictVTablePointers &&
4095 addr, CGM.getTypes().ConvertTypeForMem(FieldType), field->getName());
4123 addr, CGM.getTypes().ConvertTypeForMem(FieldType), field->getName());
4159 CGM.getTBAAInfoForSubobject(Base, FieldType));
4164 ConstantAddress GlobalPtr = CGM.GetAddrOfConstantCompoundLiteral(E);
4272 TBAAAccessInfo TBAAInfo = CGM.mergeTBAAInfoForConditionalOperator(
4381 CGM.getTBAAInfoForSubobject(LV, E->getType()));
4409 CGM.getTBAAInfoForSubobject(LV, E->getType()));
4415 CGM.EmitExplicitCastExprType(CE, this);
4426 CGM.getTBAAInfoForSubobject(LV, E->getType()));
4442 CGM.getTBAAInfoForSubobject(LV, E->getType()));
4551 llvm::Constant *calleePtr = EmitFunctionDeclPointer(CGF.CGM, FD);
4690 return Builder.CreateElementBitCast(CGM.GetAddrOfUuidDescriptor(E),
4724 CGM.getObjCRuntime().GetAddrOfSelector(*this, E->getSelector());
4730 return CGM.getObjCRuntime().EmitIvarOffset(*this, Interface, Ivar);
4737 return CGM.getObjCRuntime().EmitObjCValueForIvar(*this, ObjectTy, BaseValue,
4792 CGM.getTargetCodeGenInfo().getUBSanFunctionSignature(CGM)) {
4792 CGM.getTargetCodeGenInfo().getUBSanFunctionSignature(CGM)) {
4799 CGM.GetAddrOfRTTIDescriptor(ProtoTy, /*ForEH=*/true);
4802 CGM.getLLVMContext(), PrefixStructTyElems, /*isPacked=*/true);
4848 if (CGM.getCodeGenOpts().SanitizeCfiICallGeneralizePointers)
4849 MD = CGM.CreateMetadataIdentifierGeneralized(QualType(FnType, 0));
4851 MD = CGM.CreateMetadataIdentifierForType(QualType(FnType, 0));
4858 CGM.getIntrinsic(llvm::Intrinsic::type_test), {CastedCallee, TypeId});
4860 auto CrossDsoTypeId = CGM.CreateCrossDsoCfiTypeId(MD);
4866 if (CGM.getCodeGenOpts().SanitizeCfiCrossDso && CrossDsoTypeId) {
4878 Args.add(RValue::get(Builder.CreateBitCast(Chain, CGM.VoidPtrTy)),
4879 CGM.getContext().VoidPtrTy);
4910 const CGFunctionInfo &FnInfo = CGM.getTypes().arrangeFreeFunctionCall(
tools/clang/lib/CodeGen/CGExprAgg.cpp 273 CGF.CGM.getDataLayout().getTypeAllocSize(CGF.ConvertTypeForMem(RetTy));
364 CGF.CGM.getObjCRuntime().EmitGCMemmoveCollectable(CGF,
495 CodeGen::CodeGenModule &CGM = CGF.CGM;
682 CGF.CGM.EmitExplicitCastExprType(ECE, &CGF);
693 CGF.CGM.ErrorUnsupported(E, "non-simple lvalue dynamic_cast");
696 CGF.CGM.ErrorUnsupported(E, "lvalue dynamic_cast with a destination");
758 if (Dest.isIgnored() || !CGF.CGM.isPaddedAtomicType(atomicType)) {
777 if (!valueDest.isIgnored() && CGF.CGM.isPaddedAtomicType(atomicType)) {
932 return CGF.CGM.getCXXABI().EmitMemberPointerComparison(
1439 llvm::Value *null = CGF.CGM.EmitNullConstant(type);
1993 if (CGM.getLangOpts().getGC() == LangOptions::NonGC) {
1998 CGM.getObjCRuntime().EmitGCMemmoveCollectable(*this, DestPtr, SrcPtr,
2006 CGM.getObjCRuntime().EmitGCMemmoveCollectable(*this, DestPtr, SrcPtr,
2018 if (llvm::MDNode *TBAAStructTag = CGM.getTBAAStructInfo(Ty))
2021 if (CGM.getCodeGenOpts().NewStructPathTBAA) {
2022 TBAAAccessInfo TBAAInfo = CGM.mergeTBAAInfoForMemoryTransfer(
2024 CGM.DecorateInstructionWithTBAA(Inst, TBAAInfo);
tools/clang/lib/CodeGen/CGExprCXX.cpp 47 CGF.CGM.getCXXABI().getThisArgumentTypeForMethod(MD);
87 auto &FnInfo = CGM.getTypes().arrangeCXXMethodCall(
106 llvm::Type *NewType = CGM.getTypes().ConvertType(DstTy);
114 return EmitCall(CGM.getTypes().arrangeCXXStructorDeclaration(Dtor), Callee,
192 CGCallee::forDirect(CGM.GetAddrOfFunction(MD), GlobalDecl(MD));
307 FInfo = &CGM.getTypes().arrangeCXXStructorDeclaration(
310 FInfo = &CGM.getTypes().arrangeCXXMethodDeclaration(CalleeDecl);
312 llvm::FunctionType *Ty = CGM.getTypes().GetFunctionType(*FInfo);
348 CGM.getCXXABI().EmitVirtualDestructorCall(
358 CGCallee::forDirect(CGM.getAddrOfCXXStructor(GD, FInfo, Ty), GD);
360 Callee = CGCallee::forDirect(CGM.GetAddrOfFunction(GD, Ty), GD);
384 CGM.getCXXABI().LoadVTablePtr(*this, This.getAddress(),
393 CGCallee::forDirect(CGM.GetAddrOfFunction(MD, Ty), GlobalDecl(MD));
396 CGCallee::forDirect(CGM.GetAddrOfFunction(DevirtualizedMethod, Ty),
403 CGM.getCXXABI().adjustThisArgumentForVirtualFunctionCall(
442 CGM.getCXXABI().EmitLoadOfMemberFunctionPointer(*this, BO, This,
457 return EmitCall(CGM.getTypes().arrangeCXXMethodCall(Args, FPT, required,
475 return CGM.getCUDARuntime().EmitCUDAKernelCallExpr(*this, E, ReturnValue);
498 CGF.CGM.getCXXABI().getVBPtrOffsets(Base);
526 llvm::Constant *NullConstantForBase = CGF.CGM.EmitNullConstantForBase(Base);
529 CGF.CGM.getModule(), NullConstantForBase->getType(),
543 llvm::Value *StoreSizeVal = CGF.CGM.getSize(StoreSize);
557 llvm::Value *StoreSizeVal = CGF.CGM.getSize(StoreSize);
670 return CGF.CGM.getCXXABI().GetArrayCookieSize(E);
863 = CGF.CGM.getIntrinsic(llvm::Intrinsic::umul_with_overflow, CGF.SizeTy);
903 = CGF.CGM.getIntrinsic(llvm::Intrinsic::uadd_with_overflow, CGF.SizeTy);
990 if (!CGM.getTypes().isZeroInitializable(ElementType))
1290 llvm::Constant *CalleePtr = CGF.CGM.GetAddrOfFunction(CalleeDecl);
1293 CGF.EmitCall(CGF.CGM.getTypes().arrangeFreeFunctionCall(
1686 allocation = CGM.getCXXABI().InitializeArrayCookie(*this, allocation,
1698 if (CGM.getCodeGenOpts().StrictVTablePointers &&
1850 CGF.CGM.getCXXABI().emitVirtualObjectDelete(CGF, DE, Ptr, ElementType,
1887 Base, CGF.CGM.getLangOpts().AppleKext))) {
1905 CGF.CGM.getCXXABI().emitVirtualObjectDelete(CGF, DE, Ptr, ElementType,
1977 CGF.CGM.getCXXABI().ReadArrayCookie(CGF, deletedPtr, E, elementType,
2125 if (CGF.CGM.getCXXABI().shouldTypeidBeNullChecked(
2135 CGF.CGM.getCXXABI().EmitBadTypeidCall(CGF);
2139 return CGF.CGM.getCXXABI().EmitTypeid(CGF, SrcRecordTy, ThisPtr,
2149 CGM.GetAddrOfRTTIDescriptor(E->getTypeOperand(getContext()));
2163 return Builder.CreateBitCast(CGM.GetAddrOfRTTIDescriptor(OperandTy),
2175 if (!CGF.CGM.getCXXABI().EmitBadCastCall(CGF))
2184 CGM.EmitExplicitCastExprType(DCE, this);
2225 CGM.getCXXABI().shouldDynamicCastCallBeNullChecked(SrcTy->isPointerType(),
2243 Value = CGM.getCXXABI().EmitDynamicCastToVoid(*this, ThisAddr, SrcRecordTy,
2248 Value = CGM.getCXXABI().EmitDynamicCastCall(*this, ThisAddr, SrcRecordTy,
tools/clang/lib/CodeGen/CGExprComplex.cpp 179 CGF.CGM.EmitExplicitCastExprType(ECE, &CGF);
639 const CGFunctionInfo &FuncInfo = CGF.CGM.getTypes().arrangeFreeFunctionCall(
642 llvm::FunctionType *FTy = CGF.CGM.getTypes().GetFunctionType(FuncInfo);
643 llvm::FunctionCallee Func = CGF.CGM.CreateRuntimeFunction(
649 Call->setCallingConv(CGF.CGM.getRuntimeCC());
tools/clang/lib/CodeGen/CGExprScalar.cpp 393 Value *Zero = CGF.CGM.getNullPointer(cast<llvm::PointerType>(V->getType()), QT);
537 if (Version <= CGF.CGM.getTarget().getPlatformMinVersion())
542 llvm::ConstantInt::get(CGF.CGM.Int32Ty, Version.getMajor()),
543 llvm::ConstantInt::get(CGF.CGM.Int32Ty, Min ? *Min : 0),
544 llvm::ConstantInt::get(CGF.CGM.Int32Ty, SMin ? *SMin : 0),
571 CGF.CGM.EmitExplicitCastExprType(E, &CGF);
616 return CGF.CGM.getMemberPointerConstant(E);
647 return ConstantEmitter(CGF.CGM, &CGF)
859 return CGF.CGM.getCXXABI().EmitMemberPointerIsNotNull(CGF, Src, MPT);
1228 CGF.CGM.getIntrinsic(llvm::Intrinsic::convert_from_fp16, DstTy),
1236 CGF.CGM.getIntrinsic(llvm::Intrinsic::convert_from_fp16,
1237 CGF.CGM.FloatTy),
1240 Src = Builder.CreateFPExt(Src, CGF.CGM.FloatTy, "conv");
1267 llvm::Type *MiddleTy = CGF.CGM.getDataLayout().getIntPtrType(DstPT);
1353 CGF.CGM.getIntrinsic(llvm::Intrinsic::convert_to_fp16, SrcTy), Src);
1390 CGF.CGM.getIntrinsic(llvm::Intrinsic::convert_to_fp16, CGF.CGM.FloatTy),
1390 CGF.CGM.getIntrinsic(llvm::Intrinsic::convert_to_fp16, CGF.CGM.FloatTy),
1525 return CGF.EmitFromMemory(CGF.CGM.EmitNullConstant(Ty), Ty);
2011 if (CGF.CGM.getCodeGenOpts().StrictVTablePointers) {
2046 return CGF.CGM.getNullPointer(cast<llvm::PointerType>(
2051 return CGF.CGM.getTargetCodeGenInfo().performAddrSpaceCast(
2107 return CGF.CGM.getNullPointer(cast<llvm::PointerType>(ConvertType(DestTy)),
2115 return CGF.CGM.getCXXABI().EmitNullMemberPointer(MPT);
2129 return CGF.CGM.getCXXABI().EmitMemberPointerConversion(CGF, CE, Src);
2165 llvm::Type *MiddleTy = CGF.CGM.getDataLayout().getIntPtrType(DestLLVMTy);
2172 if (CGF.CGM.getCodeGenOpts().StrictVTablePointers) {
2184 if (CGF.CGM.getCodeGenOpts().StrictVTablePointers) {
2262 return CGF.CGM.getCXXABI().EmitMemberPointerIsNotNull(CGF, MemPtr, MPT);
2286 return CGF.CGM.createOpenCLIntToSamplerConversion(E, CGF);
2497 CGF.CGM.getIntrinsic(llvm::Intrinsic::convert_from_fp16,
2498 CGF.CGM.FloatTy),
2501 value = Builder.CreateFPExt(input, CGF.CGM.FloatTy, "incdec.conv");
2532 CGF.CGM.getIntrinsic(llvm::Intrinsic::convert_to_fp16,
2533 CGF.CGM.FloatTy),
2750 size = CGF.Builder.CreateNUWMul(CGF.CGM.getSize(eltSize), size);
3015 !CGF.CGM.getCodeGenOpts().CorrectlyRoundedDivSqrt) {
3084 llvm::Type *opTy = CGF.CGM.getTypes().ConvertType(Ops.Ty);
3086 llvm::Function *intrinsic = CGF.CGM.getIntrinsic(IID, opTy);
3126 CGF.CGM.CreateRuntimeFunction(handlerTy, *handlerName);
3178 auto &DL = CGF.CGM.getDataLayout();
3226 = CGF.CGM.getSize(CGF.getContext().getTypeSizeInChars(objectType));
3298 CGF.CGM.getIntrinsic(llvm::Intrinsic::fmuladd, Addend->getType()),
3554 divisor = CGF.Builder.CreateNUWMul(CGF.CGM.getSize(eltSize), divisor);
3572 divisor = CGF.CGM.getSize(elementSize);
3738 Result = CGF.CGM.getCXXABI().EmitMemberPointerComparison(
3805 llvm::Function *F = CGF.CGM.getIntrinsic(ID);
3830 if (CGF.CGM.getCodeGenOpts().StrictVTablePointers &&
4402 if (!CGF.CGM.getCodeGenOpts().PreserveVec3Type) {
4403 Src = createCastsForTypeOfSameSize(Builder, CGF.CGM.getDataLayout(), Src,
4415 if (!CGF.CGM.getCodeGenOpts().PreserveVec3Type) {
4417 Src = createCastsForTypeOfSameSize(Builder, CGF.CGM.getDataLayout(), Src,
4426 return createCastsForTypeOfSameSize(Builder, CGF.CGM.getDataLayout(),
4674 const auto &DL = CGM.getDataLayout();
4680 EmitGEPOffsetInBytes(Ptr, GEPVal, getLLVMContext(), CGM, Builder);
4691 if (EvaluatedGEP.TotalOffset == Zero && CGM.getLangOpts().CPlusPlus)
4716 CGM.getLangOpts().CPlusPlus
tools/clang/lib/CodeGen/CGGPUBuiltin.cpp 75 const llvm::DataLayout &DL = CGM.getDataLayout();
76 llvm::LLVMContext &Ctx = CGM.getLLVMContext();
88 CGM.ErrorUnsupported(E, "non-scalar arg to printf");
119 llvm::Function* VprintfFunc = GetVprintfDeclaration(CGM.getModule());
tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp 355 Address BC = CGF.Builder.CreateBitCast(DstAddr, CGF.CGM.Int8PtrTy);
358 DstArrayEnd = CGF.Builder.CreateBitCast(DstArrayEnd, CGF.CGM.Int8PtrPtrTy,
368 PHIs[I] = CGF.Builder.CreatePHI(CGF.CGM.Int8PtrPtrTy, 2, "addr.cur");
415 Addr = CGF->Builder.CreateBitCast(Addr, CGF->CGM.Int8PtrTy);
417 return CGF->Builder.CreateBitCast(Addr, CGF->CGM.Int8PtrPtrTy);
489 CallerCGF.Builder.CreateBitCast(Addrs[I], CallerCGF.CGM.Int8PtrPtrTy)
494 getFunction(FuncName, QT, Addrs, Alignments, CallerCGF.CGM))
809 Address DstPtr = Builder.CreateBitCast(Dst.getAddress(), CGM.Int8PtrPtrTy);
821 Addrs[I] = CGF.Builder.CreateBitCast(Addrs[I], CGF.CGM.Int8PtrPtrTy);
tools/clang/lib/CodeGen/CGObjC.cpp 48 CGM.getObjCRuntime().GenerateConstantString(E->getString()).getPointer();
66 ConstantEmitter ConstEmitter(CGM);
76 CGObjCRuntime &Runtime = CGM.getObjCRuntime();
98 llvm::Constant *GV = CGM.GetAddrOfConstantCString(Str).getPointer();
119 ASTContext &Context = CGM.getContext();
128 if (NumElements == 0 && CGM.getLangOpts().ObjCRuntime.hasEmptyCollections()) {
130 QualType IdTy(CGM.getContext().getObjCIdType());
132 CGM.CreateRuntimeVariable(ConvertType(IdTy), ConstantName);
136 CGM.getModule().getMDKindID("invariant.load"),
160 CGM.getCodeGenOpts().OptimizationLevel != 0);
210 llvm::ConstantInt::get(CGM.getTypes().ConvertType(ArgQT), NumElements);
220 CGObjCRuntime &Runtime = CGM.getObjCRuntime();
255 return CGM.getObjCRuntime().GetSelector(*this, E->getSelector());
260 return CGM.getObjCRuntime().GenerateProtocolRef(*this, E->getProtocol());
376 auto &CGM = CGF.CGM;
479 Receiver = CGF.CGM.getObjCRuntime().GetClass(CGF, ID);
514 CGM.getLangOpts().ObjCAutoRefCount &&
518 CGObjCRuntime &Runtime = CGM.getObjCRuntime();
659 CGF.CGM.getObjCRuntime().GenerateMessageSendSuper(CGF, ReturnValueSlot(),
683 llvm::Function *Fn = CGM.getObjCRuntime().GenerateMethod(OMD, CD);
685 const CGFunctionInfo &FI = CGM.getTypes().arrangeObjCMethodDeclaration(OMD);
686 CGM.SetInternalFunctionAttributes(OMD, Fn, FI);
700 if (CGM.getLangOpts().ObjCAutoRefCount &&
745 args.add(RValue::get(CGF.CGM.getSize(size)), Context.getSizeType());
749 llvm::FunctionCallee fn = CGF.CGM.getObjCRuntime().GetGetStructFunction();
956 CodeGenFunction(CGM).GenerateObjCAtomicGetterCopyHelperFunction(PID);
1014 CGF.CGM.getObjCRuntime().GetCppAtomicObjectGetFunction();
1049 PropertyImplStrategy strategy(CGM, propImpl);
1074 uint64_t retTySize = CGM.getDataLayout().getTypeSizeInBits(retTy);
1091 CGM.getObjCRuntime().GetPropertyGetFunction();
1093 CGM.ErrorUnsupported(propImpl, "Obj-C getter requiring atomic copy");
1224 CGF.CGM.getSize(CGF.getContext().getTypeSizeInChars(ivar->getType()));
1234 llvm::FunctionCallee fn = CGF.CGM.getObjCRuntime().GetSetStructFunction();
1272 CGF.CGM.getObjCRuntime().GetCppAtomicObjectSetFunction();
1331 PropertyImplStrategy strategy(CGM, propImpl);
1368 if (UseOptimizedSetter(CGM)) {
1371 CGM.getObjCRuntime().GetOptimizedPropertySetFunction(
1374 CGM.ErrorUnsupported(propImpl, "Obj-C optimized setter - NYI");
1379 setPropertyFn = CGM.getObjCRuntime().GetPropertySetFunction();
1381 CGM.ErrorUnsupported(propImpl, "Obj-C setter requiring atomic copy");
1492 CodeGenFunction(CGM).GenerateObjCAtomicSetterCopyHelperFunction(PID);
1573 MD->createImplicitParams(CGM.getContext(), IMP->getClassInterface());
1593 CodeGenTypes &Types = CGM.getTypes();
1594 QualType IdTy(CGM.getContext().getObjCIdType());
1624 CGM.getObjCRuntime().EnumerationMutationFunction();
1626 CGM.ErrorUnsupported(&S, "Obj-C fast enumeration for this runtime");
1646 QualType StateTy = CGM.getObjCFastEnumerationStateType();
1655 &CGM.getContext().Idents.get("countByEnumeratingWithState"),
1656 &CGM.getContext().Idents.get("objects"),
1657 &CGM.getContext().Idents.get("count")
1660 CGM.getContext().Selectors.getSelector(llvm::array_lengthof(II), &II[0]);
1705 CGM.getObjCRuntime().GenerateMessageSend(*this, ReturnValueSlot(),
1780 CGM.getTypes().arrangeBuiltinFunctionCall(getContext().VoidTy, Args2),
1879 CGM.getObjCRuntime().GenerateMessageSend(*this, ReturnValueSlot(),
1912 CGM.getObjCRuntime().EmitTryStmt(*this, S);
1916 CGM.getObjCRuntime().EmitThrowStmt(*this, S);
1921 CGM.getObjCRuntime().EmitSynchronizedStmt(*this, S);
1954 llvm::Function *&fn = CGM.getObjCEntrypoints().clang_arc_use;
1956 fn = CGM.getIntrinsic(llvm::Intrinsic::objc_clang_arc_use);
1991 fn = CGF.CGM.getIntrinsic(IntID);
1992 setARCRuntimeFunctionLinkage(CGF.CGM, fn);
2013 fn = CGF.CGM.getIntrinsic(IntID);
2014 setARCRuntimeFunctionLinkage(CGF.CGM, fn);
2041 fn = CGF.CGM.getIntrinsic(IntID);
2042 setARCRuntimeFunctionLinkage(CGF.CGM, fn);
2066 fn = CGF.CGM.getIntrinsic(IntID);
2067 setARCRuntimeFunctionLinkage(CGF.CGM, fn);
2091 fn = CGF.CGM.CreateRuntimeFunction(fnType, fnName);
2124 CGM.getObjCEntrypoints().objc_retain,
2138 CGM.getObjCEntrypoints().objc_retainBlock,
2148 assert(call->getCalledValue() == CGM.getObjCEntrypoints().objc_retainBlock);
2161 = CGF.CGM.getObjCEntrypoints().retainAutoreleasedReturnValueMarker;
2164 = CGF.CGM.getTargetCodeGenInfo()
2172 } else if (CGF.CGM.getCodeGenOpts().OptimizationLevel == 0) {
2183 if (!CGF.CGM.getModule().getModuleFlag(markerKey)) {
2185 CGF.CGM.getModule().addModuleFlag(llvm::Module::Error, markerKey, str);
2204 CGM.getTargetCodeGenInfo()
2210 CGM.getObjCEntrypoints().objc_retainAutoreleasedReturnValue,
2225 CGM.getObjCEntrypoints().objc_unsafeClaimAutoreleasedReturnValue,
2235 llvm::Function *&fn = CGM.getObjCEntrypoints().objc_release;
2237 fn = CGM.getIntrinsic(llvm::Intrinsic::objc_release);
2238 setARCRuntimeFunctionLinkage(CGM, fn);
2264 if (CGM.getCodeGenOpts().OptimizationLevel == 0) {
2281 llvm::Function *&fn = CGM.getObjCEntrypoints().objc_storeStrong;
2283 fn = CGM.getIntrinsic(llvm::Intrinsic::objc_storeStrong);
2284 setARCRuntimeFunctionLinkage(CGM, fn);
2337 CGM.getObjCEntrypoints().objc_autorelease,
2346 CGM.getObjCEntrypoints().objc_autoreleaseReturnValue,
2356 CGM.getObjCEntrypoints().objc_retainAutoreleaseReturnValue,
2385 CGM.getObjCEntrypoints().objc_retainAutorelease,
2393 CGM.getObjCEntrypoints().objc_loadWeak,
2400 CGM.getObjCEntrypoints().objc_loadWeakRetained,
2410 CGM.getObjCEntrypoints().objc_storeWeak,
2424 CGM.getCodeGenOpts().OptimizationLevel == 0) {
2430 CGM.getObjCEntrypoints().objc_initWeak,
2437 llvm::Function *&fn = CGM.getObjCEntrypoints().objc_destroyWeak;
2439 fn = CGM.getIntrinsic(llvm::Intrinsic::objc_destroyWeak);
2440 setARCRuntimeFunctionLinkage(CGM, fn);
2454 CGM.getObjCEntrypoints().objc_moveWeak,
2463 CGM.getObjCEntrypoints().objc_copyWeak,
2485 llvm::Function *&fn = CGM.getObjCEntrypoints().objc_autoreleasePoolPush;
2487 fn = CGM.getIntrinsic(llvm::Intrinsic::objc_autoreleasePoolPush);
2488 setARCRuntimeFunctionLinkage(CGM, fn);
2502 CGM.getObjCEntrypoints().objc_autoreleasePoolPopInvoke;
2506 fn = CGM.CreateRuntimeFunction(fnType, "objc_autoreleasePoolPop");
2507 setARCRuntimeFunctionLinkage(CGM, fn);
2513 llvm::FunctionCallee &fn = CGM.getObjCEntrypoints().objc_autoreleasePoolPop;
2515 fn = CGM.getIntrinsic(llvm::Intrinsic::objc_autoreleasePoolPop);
2516 setARCRuntimeFunctionLinkage(CGM, fn);
2529 CGObjCRuntime &Runtime = CGM.getObjCRuntime();
2532 IdentifierInfo *II = &CGM.getContext().Idents.get("alloc");
2542 II = &CGM.getContext().Idents.get("init");
2556 CGM.getObjCEntrypoints().objc_alloc,
2565 CGM.getObjCEntrypoints().objc_allocWithZone,
2572 CGM.getObjCEntrypoints().objc_alloc_init,
2579 IdentifierInfo *II = &CGM.getContext().Idents.get("drain");
2582 CGM.getObjCRuntime().GenerateMessageSend(*this, ReturnValueSlot(),
2616 CGM.getObjCEntrypoints().objc_autoreleaseRuntimeFunction,
2626 CGM.getObjCEntrypoints().objc_retainRuntimeFunction, "objc_retain");
2636 CGM.getObjCEntrypoints().objc_releaseRuntimeFunction;
2640 fn = CGM.CreateRuntimeFunction(fnType, "objc_release");
2641 setARCRuntimeFunctionLinkage(CGM, fn);
2681 if (CGM.getLangOpts().ObjCAutoRefCount)
2840 CGM.getLangOpts().ObjCRuntime.hasARCUnsafeClaimAutoreleasedReturnValue()) {
3449 if (CGM.getLangOpts().ObjCRuntime.hasNativeARC()) {
3499 if ((HelperFn = CGM.getAtomicSetterHelperFnMap(Ty)))
3504 = &CGM.getContext().Idents.get("__assign_helper_atomic_property_");
3530 CGM.getTypes().arrangeBuiltinFunctionDeclaration(ReturnTy, args);
3532 llvm::FunctionType *LTy = CGM.getTypes().GetFunctionType(FI);
3537 &CGM.getModule());
3539 CGM.SetInternalFunctionAttributes(GlobalDecl(), Fn, FI);
3563 CGM.setAtomicSetterHelperFnMap(Ty, HelperFn);
3583 if ((HelperFn = CGM.getAtomicGetterHelperFnMap(Ty)))
3588 &CGM.getContext().Idents.get("__copy_helper_atomic_property_");
3614 CGM.getTypes().arrangeBuiltinFunctionDeclaration(ReturnTy, args);
3616 llvm::FunctionType *LTy = CGM.getTypes().GetFunctionType(FI);
3620 &CGM.getModule());
3622 CGM.SetInternalFunctionAttributes(GlobalDecl(), Fn, FI);
3668 CGM.setAtomicGetterHelperFnMap(Ty, HelperFn);
3683 CGObjCRuntime &Runtime = CGM.getObjCRuntime();
3701 if (!CGM.IsOSVersionAtLeastFn) {
3704 CGM.IsOSVersionAtLeastFn =
3705 CGM.CreateRuntimeFunction(FTy, "__isOSVersionAtLeast");
3709 EmitNounwindRuntimeCall(CGM.IsOSVersionAtLeastFn, Args);
tools/clang/lib/CodeGen/CGObjCGNU.cpp 2301 IdentifierInfo &II = CGF.CGM.getContext().Idents.get("NSAutoreleasePool");
4074 CGF.CGM.getTarget().getTriple().isKnownWindowsMSVCEnvironment())
4098 uint64_t Offset = ComputeIvarBaseOffset(CGF.CGM, Interface, Ivar);
tools/clang/lib/CodeGen/CGObjCMac.cpp 1778 llvm::Constant *null = CGF.CGM.EmitNullConstant(resultType);
3021 CGF.CGM.GetAddrOfConstantCString(ID->getObjCRuntimeNameAsString())
3023 ASTContext &ctx = CGF.CGM.getContext();
tools/clang/lib/CodeGen/CGObjCRuntime.cpp 61 CGF.CGM.getContext().getObjCObjectPointerType(InterfaceTy);
64 llvm::Type *LTy = CGF.CGM.getTypes().ConvertTypeForMem(IvarTy);
89 CGF.CGM.getContext().lookupFieldBitOffset(OID, nullptr, Ivar);
90 uint64_t BitOffset = FieldBitOffset % CGF.CGM.getContext().getCharWidth();
91 uint64_t AlignmentBits = CGF.CGM.getTarget().getCharAlign();
93 CharUnits StorageSize = CGF.CGM.getContext().toCharUnitsFromBits(
95 CharUnits Alignment = CGF.CGM.getContext().toCharUnitsFromBits(AlignmentBits);
103 CGBitFieldInfo *Info = new (CGF.CGM.getContext()) CGBitFieldInfo(
104 CGBitFieldInfo::MakeInfo(CGF.CGM.getTypes(), Ivar, BitOffset, BitFieldSize,
105 CGF.CGM.getContext().toBits(StorageSize),
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp 809 CGF.CGM.getOpenMPRuntime().getUserDefinedReduction(DRD);
828 llvm::Constant *Init = CGF.CGM.EmitNullConstant(Ty);
829 std::string Name = CGF.CGM.getOpenMPRuntime().getName({"init"});
831 CGF.CGM.getModule(), Init->getType(), /*isConstant=*/true,
1068 CGF.CGM.getTBAAInfoForSubobject(SharedAddresses[N].first, SharedType));
1121 CGF.CGM.getTBAAInfoForSubobject(BaseLV, BaseLV.getType()));
3060 CGOpenMPRuntime &RT = CGF.CGM.getOpenMPRuntime();
3075 CGOpenMPRuntime &RT = CGF.CGM.getOpenMPRuntime();
3695 CGF.Builder.getInt32(addMonoNonMonoModifier(CGF.CGM, Schedule, M1,
5338 CGOpenMPRuntime &RT = CGF.CGM.getOpenMPRuntime();
5352 CGF.CGM.getOpenMPRuntime().emitOutlinedFunctionCall(CGF, Loc, TaskEntry,
5549 CGF.CGM.getOpenMPRuntime().getUserDefinedReduction(DRD);
5823 CGOpenMPRuntime &RT = CGF.CGM.getOpenMPRuntime();
5927 CGOpenMPRuntime &RT = CGF.CGM.getOpenMPRuntime();
6430 CGOpenMPRuntime &RT = CGF.CGM.getOpenMPRuntime();
7523 CGF.CGM.getOpenMPRuntime().hasRequiresUnifiedSharedMemory())) {
7525 BP = CGF.CGM.getOpenMPRuntime().getAddrOfDeclareTargetVar(VD);
8450 if (CGF.CGM.getOpenMPRuntime().hasRequiresUnifiedSharedMemory() ||
8517 CGF.CGM.getOpenMPRuntime().registerTargetFirstprivateCopy(CGF, VD);
8560 CodeGenModule &CGM = CGF.CGM;
8675 CodeGenModule &CGM = CGF.CGM;
9931 CGF.CGM.Int32Ty, /* isSigned = */ true)
9937 CGF.CGM.Int32Ty, /* isSigned = */ true)
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp 624 &CGF.CGM.getModule(), llvm::Intrinsic::nvvm_read_ptx_sreg_warpsize),
632 &CGF.CGM.getModule(), llvm::Intrinsic::nvvm_read_ptx_sreg_tid_x),
657 &CGF.CGM.getModule(), llvm::Intrinsic::nvvm_read_ptx_sreg_ntid_x),
1161 static_cast<CGOpenMPRuntimeNVPTX &>(CGF.CGM.getOpenMPRuntime());
1168 static_cast<CGOpenMPRuntimeNVPTX &>(CGF.CGM.getOpenMPRuntime());
2074 static_cast<CGOpenMPRuntimeNVPTX &>(CGF.CGM.getOpenMPRuntime());
2092 static_cast<CGOpenMPRuntimeNVPTX &>(CGF.CGM.getOpenMPRuntime())
2840 CodeGenModule &CGM = CGF.CGM;
2966 CodeGenModule &CGM = CGF.CGM;
4726 static_cast<CGOpenMPRuntimeNVPTX &>(CGF.CGM.getOpenMPRuntime())
tools/clang/lib/CodeGen/CGStmt.cpp 557 if (CGM.getCodeGenOpts().getDebugInfo() >=
717 LoopStack.push(LoopHeader.getBlock(), CGM.getContext(), WhileAttrs,
819 LoopStack.push(LoopBody, CGM.getContext(), DoAttrs,
877 LoopStack.push(CondBlock, CGM.getContext(), ForAttrs,
978 LoopStack.push(CondBlock, CGM.getContext(), ForAttrs,
1057 new llvm::GlobalVariable(CGM.getModule(), SLoc->getType(), false,
1060 CGM.getSanitizerMetadata()->disableSanitizerForGlobal(SLocPtr);
1275 if (!CGM.getCodeGenOpts().hasProfileClangInstr() &&
1276 CGM.getCodeGenOpts().OptimizationLevel > 0 &&
1322 if (CGM.getCodeGenOpts().hasProfileClangInstr()) {
1710 if (Call && CGM.getCodeGenOpts().OptimizationLevel != 0) {
1828 uint64_t Size = CGM.getDataLayout().getTypeSizeInBits(Ty);
1893 const SourceManager &SM = CGF.CGM.getContext().getSourceManager();
1894 const LangOptions &LangOpts = CGF.CGM.getLangOpts();
2028 getTarget(), CGM, S,
2080 CGM.getDiags().Report(S.getAsmLoc(),
2131 CGM.getTargetCodeGenInfo().addReturnRegisterOutputs(
2156 getTarget(), CGM, S, false /* No EarlyClobber */);
2194 CGM.getDiags().Report(S.getAsmLoc(), diag::err_asm_invalid_type_in_input)
2312 uint64_t ResSize = CGM.getDataLayout().getTypeSizeInBits(TruncTy);
2317 uint64_t TmpSize =CGM.getDataLayout().getTypeSizeInBits(Tmp->getType());
2338 CGM.Error(
2380 CodeGenFunction CGF(CGM, true);
2407 ASTContext &Ctx = CGM.getContext();
2413 CGM.getTypes().arrangeBuiltinFunctionDeclaration(Ctx.VoidTy, Args);
2414 llvm::FunctionType *FuncLLVMTy = CGM.getTypes().GetFunctionType(FuncInfo);
2418 CapturedStmtInfo->getHelperName(), &CGM.getModule());
2419 CGM.SetInternalFunctionAttributes(CD, F, FuncInfo);
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp 280 return Builder.CreateNUWMul(Size, CGM.getSize(SizeInChars));
282 return CGM.getSize(SizeInChars);
396 CodeGenModule &CGM = CGF.CGM;
565 CGM.getCodeGenOpts().getDebugInfo() >= codegenoptions::LimitedDebugInfo;
599 CodeGenFunction WrapperCGF(CGM, /*suppressNewContext=*/true);
630 CGM.getOpenMPRuntime().emitOutlinedFunctionCall(WrapperCGF, S.getBeginLoc(),
780 (void)CGM.getOpenMPRuntime().registerTargetFirstprivateCopy(*this,
931 Address(VD->isStaticLocal() ? CGM.getStaticLocalDeclAddress(VD)
932 : CGM.GetAddrOfGlobal(VD),
944 Builder.CreatePtrToInt(MasterAddr.getPointer(), CGM.IntPtrTy),
946 CGM.IntPtrTy)),
1228 CGM.getOpenMPRuntime().emitReduction(
1275 CGF.CGM.getOpenMPRuntime().emitParallelOutlinedFunction(
1282 CGF.CGM.getOpenMPRuntime().emitNumThreadsClause(
1287 CGF.CGM.getOpenMPRuntime().emitProcBindClause(
1307 CGF.CGM.getOpenMPRuntime().emitParallelCall(CGF, S.getBeginLoc(), OutlinedFn,
1326 CGF.CGM.getOpenMPRuntime().emitBarrierCall(
1833 CGF.CGM.getOpenMPRuntime().adjustTargetSpecificDataForLambdas(CGF, S);
1862 CGM.getOpenMPRuntime().emitInlinedDirective(*this, OMPD_simd, CodeGen);
1871 CGOpenMPRuntime &RT = CGM.getOpenMPRuntime();
1964 CGF.CGM.getOpenMPRuntime().emitForStaticFinish(CGF, S.getEndLoc(),
1975 CGOpenMPRuntime &RT = CGM.getOpenMPRuntime();
2061 CGF.CGM.getOpenMPRuntime().emitForOrderedIterationEnd(CGF, Loc, IVSize,
2085 CGOpenMPRuntime &RT = CGM.getOpenMPRuntime();
2256 CGM.getOpenMPRuntime().emitInlinedDirective(*this, OMPD_distribute, CodeGen);
2266 CGM.getOpenMPRuntime().emitInlinedDirective(*this, OMPD_distribute, CodeGen);
2275 CGM.getOpenMPRuntime().emitInlinedDirective(*this, OMPD_simd, CodeGen);
2330 CGOpenMPRuntime &RT = CGM.getOpenMPRuntime();
2382 CGM.getOpenMPRuntime().emitBarrierCall(
2393 CGM.getOpenMPRuntime().adjustTargetSpecificDataForLambdas(*this, S);
2405 CGM.getOpenMPRuntime().getDefaultScheduleAndChunk(
2478 CGF.CGM.getOpenMPRuntime().emitForStaticFinish(CGF, S.getEndLoc(),
2571 CGM.getOpenMPRuntime().emitInlinedDirective(*this, OMPD_for, CodeGen,
2577 CGM.getOpenMPRuntime().emitBarrierCall(*this, S.getBeginLoc(), OMPD_for);
2590 CGM.getOpenMPRuntime().emitInlinedDirective(*this, OMPD_simd, CodeGen);
2595 CGM.getOpenMPRuntime().emitBarrierCall(*this, S.getBeginLoc(), OMPD_for);
2681 CGF.CGM.getOpenMPRuntime().emitBarrierCall(
2690 CGF.CGM.getOpenMPRuntime().adjustTargetSpecificDataForLambdas(CGF, S);
2698 CGF.CGM.getOpenMPRuntime().emitForStaticInit(
2712 CGF.CGM.getOpenMPRuntime().emitForStaticFinish(CGF, S.getEndLoc(),
2737 CGM.getOpenMPRuntime().emitInlinedDirective(*this, OMPD_sections, CodeGen,
2745 CGM.getOpenMPRuntime().emitBarrierCall(*this, S.getBeginLoc(),
2757 CGM.getOpenMPRuntime().emitBarrierCall(*this, S.getBeginLoc(),
2767 CGM.getOpenMPRuntime().emitInlinedDirective(*this, OMPD_section, CodeGen,
2799 CGM.getOpenMPRuntime().emitSingleRegion(*this, CodeGen, S.getBeginLoc(),
2806 CGM.getOpenMPRuntime().emitBarrierCall(
2818 CGM.getOpenMPRuntime().emitMasterRegion(*this, CodeGen, S.getBeginLoc());
2830 CGM.getOpenMPRuntime().emitCriticalRegion(*this,
2974 Data.Reductions = CGM.getOpenMPRuntime().emitTaskReductionInit(
3021 CGF.CGM.getOpenMPRuntime().emitOutlinedFunctionCall(
3052 CGF.CGM.getOpenMPRuntime().emitTaskReductionFixups(CGF, S.getBeginLoc(),
3054 Address Replacement = CGF.CGM.getOpenMPRuntime().getTaskReductionItem(
3101 CGF.CGM.getOpenMPRuntime().emitTaskReductionFixups(CGF, S.getBeginLoc(),
3106 Address Replacement = CGF.CGM.getOpenMPRuntime().getTaskReductionItem(
3124 llvm::Function *OutlinedFn = CGM.getOpenMPRuntime().emitTaskOutlinedFunction(
3244 CGF.CGM.getOpenMPRuntime().emitOutlinedFunctionCall(
3267 llvm::Function *OutlinedFn = CGM.getOpenMPRuntime().emitTaskOutlinedFunction(
3275 CGM.getOpenMPRuntime().emitTaskCall(*this, S.getBeginLoc(), S, OutlinedFn,
3302 CGF.CGM.getOpenMPRuntime().emitTaskCall(CGF, S.getBeginLoc(), S, OutlinedFn,
3311 CGM.getOpenMPRuntime().emitTaskyieldCall(*this, S.getBeginLoc());
3315 CGM.getOpenMPRuntime().emitBarrierCall(*this, S.getBeginLoc(), OMPD_barrier);
3319 CGM.getOpenMPRuntime().emitTaskwaitCall(*this, S.getBeginLoc());
3348 CGF.CGM.getOpenMPRuntime().emitTaskReductionInit(CGF, S.getBeginLoc(),
3358 CGM.getOpenMPRuntime().emitTaskgroupRegion(*this, CodeGen, S.getBeginLoc());
3362 CGM.getOpenMPRuntime().emitFlush(
3390 CGOpenMPRuntime &RT = CGM.getOpenMPRuntime();
3438 CGM.getOpenMPRuntime().emitBarrierCall(
3451 CGM.getOpenMPRuntime().adjustTargetSpecificDataForLambdas(*this, S);
3466 CGM.getOpenMPRuntime().getDefaultDistScheduleAndChunk(
3600 CGM.getOpenMPRuntime().emitInlinedDirective(*this, OMPD_distribute, CodeGen);
3618 CGM.getOpenMPRuntime().emitDoacrossOrdered(*this, DC);
3628 llvm::Function *OutlinedFn = emitOutlinedOrderedFunction(CGM, CS);
3629 CGM.getOpenMPRuntime().emitOutlinedFunctionCall(CGF, S.getBeginLoc(),
3637 CGM.getOpenMPRuntime().emitOrderedRegion(*this, CodeGen, S.getBeginLoc(), !C);
3729 CGF.CGM.getOpenMPRuntime().emitFlush(CGF, llvm::None, Loc);
3744 CGF.CGM.getOpenMPRuntime().emitFlush(CGF, llvm::None, Loc);
3900 CGF.CGM.getOpenMPRuntime().emitFlush(CGF, llvm::None, Loc);
3999 CGF.CGM.getOpenMPRuntime().emitFlush(CGF, llvm::None, Loc);
4111 CGM.getOpenMPRuntime().emitInlinedDirective(*this, OMPD_atomic, CodeGen);
4118 CodeGenModule &CGM = CGF.CGM;
4201 CGF.CGM.getOpenMPRuntime().adjustTargetSpecificDataForLambdas(CGF, S);
4233 CGF.CGM.getOpenMPRuntime().emitTeamsOutlinedFunction(
4242 CGF.CGM.getOpenMPRuntime().emitNumTeamsClause(CGF, NumTeams, ThreadLimit,
4249 CGF.CGM.getOpenMPRuntime().emitTeamsCall(CGF, S, S.getBeginLoc(), OutlinedFn,
4283 CGF.CGM.getOpenMPRuntime().adjustTargetSpecificDataForLambdas(CGF, S);
4329 CGF.CGM.getOpenMPRuntime().emitInlinedDirective(CGF, OMPD_distribute,
4375 CGF.CGM.getOpenMPRuntime().emitInlinedDirective(CGF, OMPD_distribute,
4420 CGF.CGM.getOpenMPRuntime().emitInlinedDirective(CGF, OMPD_distribute,
4442 CGF.CGM.getOpenMPRuntime().emitInlinedDirective(CGF, OMPD_simd,
4465 CGF.CGM.getOpenMPRuntime().emitInlinedDirective(CGF, OMPD_distribute,
4488 CGF.CGM.getOpenMPRuntime().emitInlinedDirective(
4513 CGF.CGM.getOpenMPRuntime().emitInlinedDirective(
4565 CGF.CGM.getOpenMPRuntime().emitInlinedDirective(
4602 CGM.getOpenMPRuntime().emitCancellationPointCall(*this, S.getBeginLoc(),
4615 CGM.getOpenMPRuntime().emitCancelCall(*this, S.getBeginLoc(), IfCond,
4756 CGF.CGM.getOpenMPRuntime().emitInlinedDirective(CGF, OMPD_target_data,
4764 if (CGM.getLangOpts().OMPTargetTriples.empty()) {
4783 CGM.getOpenMPRuntime().emitTargetDataCalls(*this, S, IfCond, Device, RCG,
4791 if (CGM.getLangOpts().OMPTargetTriples.empty())
4805 CGM.getOpenMPRuntime().emitTargetDataStandAloneCall(*this, S, IfCond, Device);
4812 if (CGM.getLangOpts().OMPTargetTriples.empty())
4826 CGM.getOpenMPRuntime().emitTargetDataStandAloneCall(*this, S, IfCond, Device);
4843 CGF.CGM.getOpenMPRuntime().adjustTargetSpecificDataForLambdas(CGF, S);
5083 CGF.CGM.getOpenMPRuntime().emitTaskLoopCall(CGF, S.getBeginLoc(), S,
5087 CGF.CGM.getOpenMPRuntime().emitInlinedDirective(CGF, OMPD_taskloop,
5093 CGM.getOpenMPRuntime().emitTaskgroupRegion(
5121 CGM.getOpenMPRuntime().emitMasterRegion(*this, CodeGen, S.getBeginLoc());
5131 CGM.getOpenMPRuntime().emitMasterRegion(*this, CodeGen, S.getBeginLoc());
5143 CGM.getOpenMPRuntime().emitMasterRegion(CGF, TaskLoopCodeGen,
5155 if (CGM.getLangOpts().OMPTargetTriples.empty())
5169 CGM.getOpenMPRuntime().emitTargetDataStandAloneCall(*this, S, IfCond, Device);
5215 CGM.getOpenMPRuntime().emitInlinedDirective(
tools/clang/lib/CodeGen/CGVTables.cpp 91 auto ClassAlign = CGF.CGM.getClassPointerAlignment(ClassDecl);
92 ReturnValue = CGF.CGM.getCXXABI().performReturnAdjustment(CGF,
165 llvm::Type *Ty = CGM.getTypes().GetFunctionType(FnInfo);
166 llvm::Value *Callee = CGM.GetAddrOfFunction(GD, Ty, /*ForVTable=*/true);
173 CGM.ErrorUnsupported(MD, "return-adjusting thunk with variadic arguments");
195 if (CGM.ReturnTypeUsesSRet(FnInfo))
200 Address ThisPtr(&*AI, CGM.getClassPointerAlignment(MD->getParent()));
212 CGM.getCXXABI().performThisAdjustment(*this, ThisPtr, Thunk.This);
247 ResultType = CGM.getContext().VoidTy;
248 else if (CGM.getCXXABI().HasThisReturn(GD))
250 else if (CGM.getCXXABI().hasMostDerivedReturn(GD))
251 ResultType = CGM.getContext().VoidPtrTy;
257 CGM.getCXXABI().buildThisParam(*this, FunctionArgs);
264 CGM.getCXXABI().addImplicitStructorParams(*this, ResultType,
276 CGM.getCXXABI().EmitInstanceFunctionProlog(*this);
300 Thunk ? CGM.getCXXABI().performThisAdjustment(
310 CGM.ErrorUnsupported(
316 CGM.ErrorUnsupported(
329 CGM.getCXXABI().adjustCallArgsForDestructorThunk(*this, CurGD, CallArgs);
341 const CGFunctionInfo &CallFnInfo = CGM.getTypes().arrangeCXXMethodCall(
358 QualType ResultType = CGM.getCXXABI().HasThisReturn(CurGD)
360 : CGM.getCXXABI().hasMostDerivedReturn(CurGD)
361 ? CGM.getContext().VoidPtrTy
381 CGM.getCXXABI().EmitReturnFromThunk(*this, RV, ResultType);
426 CGM.ConstructAttributeList(Callee.getCallee()->getName(), *CurFnInfo, GD,
456 Ty = CGM.getTypes().GetFunctionType(FnInfo);
458 llvm::Constant *Callee = CGM.GetAddrOfFunction(GD, Ty, /*ForVTable=*/true);
tools/clang/lib/CodeGen/CodeGenFunction.cpp 64 SanOpts(CGM.getLangOpts().Sanitize), DebugInfo(CGM.getModuleDebugInfo()),
64 SanOpts(CGM.getLangOpts().Sanitize), DebugInfo(CGM.getModuleDebugInfo()),
66 CGM.getCodeGenOpts(), CGM.getLangOpts())) {
66 CGM.getCodeGenOpts(), CGM.getLangOpts())) {
68 CGM.getCXXABI().getMangleContext().startNewFunction();
71 if (CGM.getLangOpts().FastMath)
73 if (CGM.getLangOpts().FiniteMathOnly) {
77 if (CGM.getCodeGenOpts().NoNaNsFPMath) {
80 if (CGM.getCodeGenOpts().NoSignedZeros) {
83 if (CGM.getCodeGenOpts().ReciprocalMath) {
86 if (CGM.getCodeGenOpts().Reassociate) {
102 CGM.getOpenMPRuntime().functionFinished(*this);
117 *TBAAInfo = CGM.getTBAAAccessInfo(T);
142 Alignment = CGM.getClassPointerAlignment(RD);
181 return CGM.getTypes().ConvertTypeForMem(T);
185 return CGM.getTypes().ConvertType(T);
343 if (CGM.getCodeGenOpts().InstrumentFunctions)
345 if (CGM.getCodeGenOpts().InstrumentFunctionsAfterInlining)
380 &CGM.getModule(), llvm::Intrinsic::localescape);
407 if (CGM.getCodeGenOpts().EmitDeclMetadata)
468 if (!CGM.getCodeGenOpts().InstrumentFunctions &&
469 !CGM.getCodeGenOpts().InstrumentFunctionsAfterInlining &&
470 !CGM.getCodeGenOpts().InstrumentFunctionEntryBare)
480 return CGM.getCodeGenOpts().XRayInstrumentFunctions;
486 return CGM.getCodeGenOpts().XRayInstrumentFunctions &&
487 (CGM.getCodeGenOpts().XRayAlwaysEmitCustomEvents ||
488 CGM.getCodeGenOpts().XRayInstrumentationBundle.Mask ==
493 return CGM.getCodeGenOpts().XRayInstrumentFunctions &&
494 (CGM.getCodeGenOpts().XRayAlwaysEmitTypedEvents ||
495 CGM.getCodeGenOpts().XRayInstrumentationBundle.Mask ==
509 auto *GV = new llvm::GlobalVariable(CGM.getModule(), Addr->getType(),
544 CGM.GenOpenCLArgMetadata(Fn, FD, this);
554 CGM.getTypes().ConvertType(A->getTypeHint()))),
744 if (CGM.getCodeGenOpts().XRayInstrumentationBundle.has(
756 if (ShouldXRayInstrumentFunction() && !CGM.imbueXRayAttrs(Fn, Loc))
759 llvm::itostr(CGM.getCodeGenOpts().XRayInstructionThreshold));
765 llvm::toStringRef(CGM.getCodeGenOpts().NoUseJumpTables));
768 if (CGM.getCodeGenOpts().ProfileSampleAccurate)
784 if (llvm::Constant *PrologueSig = getPrologueSignature(CGM, FD)) {
791 CGM.GetAddrOfRTTIDescriptor(ProtoTy, /*ForEH=*/true);
827 CGM.getCodeGenOpts().StackAlignment)
868 if (CGM.getCodeGenOpts().InstrumentFunctions)
870 if (CGM.getCodeGenOpts().InstrumentFunctionsAfterInlining)
873 if (CGM.getCodeGenOpts().InstrumentFunctionEntryBare)
882 if (CGM.getCodeGenOpts().InstrumentForProfiling) {
886 if (CGM.getCodeGenOpts().CallFEntry)
944 CGM.getOpenMPRuntime().emitFunctionProlog(*this, CurCodeDecl);
949 CGM.getCXXABI().EmitInstanceFunctionProlog(*this);
1054 if (HaveInsertPoint() && CGM.getCodeGenOpts().hasProfileClangInstr()) {
1092 if (CGM.getCXXABI().HasThisReturn(GD))
1094 else if (CGM.getCXXABI().hasMostDerivedReturn(GD))
1095 ResTy = CGM.getContext().VoidPtrTy;
1096 CGM.getCXXABI().buildThisParam(*this, Args);
1123 CGM.getCXXABI().addImplicitStructorParams(*this, ResTy, Args);
1194 CGM.getCUDARuntime().emitDeviceStub(*this, Args);
1220 CGM.getCodeGenOpts().StrictReturn ||
1229 if (CGM.getCodeGenOpts().OptimizationLevel == 0)
1538 if (Call && CGM.getCodeGenOpts().OptimizationLevel != 0) {
1564 CGM.ErrorUnsupported(S, Type);
1648 SizeVal = Builder.CreateNUWMul(SizeVal, CGM.getSize(eltSize));
1654 SizeVal = CGM.getSize(size);
1662 if (!CGM.getTypes().isZeroInitializable(Ty)) {
1666 llvm::Constant *NullConstant = CGM.EmitNullConstant(Ty);
1669 new llvm::GlobalVariable(CGM.getModule(), NullConstant->getType(),
2014 if (CGM.getCodeGenOpts().getDebugInfo() >= codegenoptions::LimitedDebugInfo)
2052 CGM.getDataLayout(), PtrValue, Alignment, OffsetValue, &TheCheck);
2079 Builder.CreateBitCast(CGM.EmitAnnotationString(AnnotationStr), Int8PtrTy),
2080 Builder.CreateBitCast(CGM.EmitAnnotationUnit(Location), Int8PtrTy),
2081 CGM.EmitAnnotationLineNo(Location)
2091 EmitAnnotationCall(CGM.getIntrinsic(llvm::Intrinsic::var_annotation),
2092 Builder.CreateBitCast(V, CGM.Int8PtrTy, V->getName()),
2101 llvm::Function *F = CGM.getIntrinsic(llvm::Intrinsic::ptr_annotation,
2102 CGM.Int8PtrTy);
2108 if (VTy != CGM.Int8PtrTy)
2109 V = Builder.CreateBitCast(V, CGM.Int8PtrTy);
2135 CGM.getSanitizerMetadata()->disableSanitizerForInstruction(I);
2203 CGM.getContext().BuiltinInfo.getRequiredFeatures(BuiltinID);
2208 if (!hasRequiredFeatures(ReqFeatures, CGM, FD, MissingFeature))
2209 CGM.getDiags().Report(Loc, diag::err_builtin_needs_feature)
2211 << CGM.getContext().BuiltinInfo.getRequiredFeatures(BuiltinID);
2218 TargetAttr::ParsedTargetAttr ParsedAttr = CGM.filterFunctionTargetAttrs(TD);
2222 CGM.getFunctionFeatureMap(CalleeFeatureMap, TargetDecl);
2234 if (!hasRequiredFeatures(ReqFeatures, CGM, FD, MissingFeature))
2235 CGM.getDiags().Report(Loc, diag::err_function_needs_feature)
2241 if (!CGM.getCodeGenOpts().SanitizeStats)
2246 CGM.getSanStats().create(IRB, SSK);
2310 CreateMultiVersionResolverReturn(CGM, Resolver, Builder, RO.Function,
2317 CreateMultiVersionResolverReturn(CGM, Resolver, RetBuilder, RO.Function,
tools/clang/lib/CodeGen/CodeGenFunction.h 1343 if (CGM.getCodeGenOpts().hasProfileClangInstr())
1616 CodeGenTypes &getTypes() const { return CGM.getTypes(); }
1617 ASTContext &getContext() const { return CGM.getContext(); }
1627 return CGM.getCodeGenOpts().OptimizationLevel == 0;
1630 const LangOptions &getLangOpts() const { return CGM.getLangOpts(); }
1660 llvm::LLVMContext &getLLVMContext() { return CGM.getLLVMContext(); }
1662 return CGM.getTargetCodeGenInfo();
1720 CGM.getCodeGenOpts().ObjCAutoRefCountExceptions;
2126 CGM.getTBAAAccessInfo(T));
2137 LValueBaseInfo(Source), CGM.getTBAAAccessInfo(T));
2164 CGM.getTBAAAccessInfo(RefTy));
3426 CGM.getTBAAAccessInfo(Ty), isNontemporal);
3448 CGM.getTBAAAccessInfo(Ty), isInit, isNontemporal);
3802 return CGM.getCodeGenOpts().ObjCAutoRefCountExceptions
4378 CGF.CGM.getDataLayout().getPrefTypeAlignment(value->getType()));
tools/clang/lib/CodeGen/CodeGenModule.cpp 5641 EmitGlobalDeclMetadata(CGM, GlobalMetadata, GD, GV);
tools/clang/lib/CodeGen/CodeGenPGO.cpp 1020 llvm::MDBuilder MDHelper(CGM.getLLVMContext());
1044 llvm::MDBuilder MDHelper(CGM.getLLVMContext());
tools/clang/lib/CodeGen/ConstantEmitter.h 58 : CGM(CGF.CGM), CGF(&CGF) {}
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp 632 CGF.CGM.getDynamicOffsetAlignment(ThisAddr.getAlignment(), RD,
1299 return CGF.CGM.CreateRuntimeFunction(FTy, "__dynamic_cast", Attrs);
1305 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_bad_cast");
1364 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_bad_typeid");
1406 CGF.CGM.GetAddrOfRTTIDescriptor(SrcRecordTy.getUnqualifiedType());
1408 CGF.CGM.GetAddrOfRTTIDescriptor(DestRecordTy.getUnqualifiedType());
1828 llvm::FunctionType *Ty = CGF.CGM.getTypes().GetFunctionType(*FInfo);
2161 CGF.EmitNounwindRuntimeCall(getGuardAbortFn(CGF.CGM, Guard->getType()),
2380 CGF.CGM.CreateRuntimeVariable(CGF.Int8Ty, "__dso_handle");
2390 llvm::FunctionCallee atexit = CGF.CGM.CreateRuntimeFunction(atexitTy, Name);
2719 llvm::Value *Val = CGF.CGM.GetAddrOfGlobalVar(VD);
4062 CGF.EmitNounwindRuntimeCall(getEndCatchFn(CGF.CGM));
4066 CGF.EmitRuntimeCallOrInvoke(getEndCatchFn(CGF.CGM));
4079 CGF.EmitNounwindRuntimeCall(getBeginCatchFn(CGF.CGM), Exn);
4096 CGF.CGM.getContext().getCanonicalType(CatchParam.getType());
4121 CGF.CGM.getTargetCodeGenInfo().getSizeOfUnwindException();
4214 CharUnits caughtExnAlignment = CGF.CGM.getClassPointerAlignment(catchRD);
4234 CGF.EmitNounwindRuntimeCall(getGetExceptionPtrFn(CGF.CGM), Exn);
4363 assert(CGF.CGM.getLangOpts().CPlusPlus);
4364 return CGF.EmitNounwindRuntimeCall(getClangCallTerminateFn(CGF.CGM), Exn);
4366 return CGF.EmitNounwindRuntimeCall(CGF.CGM.getTerminateFn());
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp 921 CGF.CGM.getVBaseAlignment(Value.getAlignment(), SrcDecl, PolymorphicBase);
938 llvm::FunctionCallee Fn = CGF.CGM.CreateRuntimeFunction(FTy, "__RTtypeid");
972 CGF.CGM.GetAddrOfRTTIDescriptor(SrcRecordTy.getUnqualifiedType());
974 CGF.CGM.GetAddrOfRTTIDescriptor(DestRecordTy.getUnqualifiedType());
990 llvm::FunctionCallee Function = CGF.CGM.CreateRuntimeFunction(
1010 llvm::FunctionCallee Function = CGF.CGM.CreateRuntimeFunction(
1429 CGF.CGM.getVBaseAlignment(Result.getAlignment(), Derived, VBase);
1917 llvm::FunctionType *Ty = CGF.CGM.getTypes().GetFunctionType(*FInfo);
2267 llvm::FunctionCallee TLRegDtor = CGF.CGM.CreateRuntimeFunction(
2344 CGF.CGM.ErrorUnsupported(VD, "thread wrappers");
2422 CGF.EmitNounwindRuntimeCall(getInitThreadAbortFn(CGF.CGM), Guard);
3006 DiagnosticsEngine &Diags = CGF.CGM.getDiags();
tools/clang/lib/CodeGen/TargetInfo.cpp 318 if (DirectSize < SlotSize && CGF.CGM.getDataLayout().isBigEndian() &&
451 return performAddrSpaceCast(CGF.CGM, C, SrcAddr, DestAddr, DestTy);
2008 if (CGF.CGM.getTarget().getTriple().isOSDarwin()) {
4880 if (CGF.CGM.getDataLayout().isBigEndian()) {
5444 if (CGF.CGM.getDataLayout().isBigEndian() &&
5466 if (CGF.CGM.getDataLayout().isBigEndian() && !IsIndirect &&
5520 if (CGF.CGM.getDataLayout().isBigEndian() && !isAggregateTypeForABI(Ty) &&
9899 &CGF.CGM.getModule());
9957 &CGF.CGM.getModule());
9962 unsigned BlockAlign = CGF.CGM.getDataLayout().getPrefTypeAlignment(BlockTy);
9981 if (CGF.CGM.getCodeGenOpts().EmitOpenCLArgMetadata)