Lines Matching refs:BuiltinID

369                                 unsigned BuiltinID) {
381 return BuiltinID == P.first && TheCall->getExprLoc().isMacroID() &&
437 if (BuiltinID == Builtin::BI__builtin_mul_overflow) {
1125 unsigned BuiltinID = UseDecl->getBuiltinID(/*ConsiderWrappers=*/true);
1127 if (!BuiltinID)
1215 StringRef FunctionName = getASTContext().BuiltinInfo.getName(BuiltinID);
1228 switch (BuiltinID) {
1252 if (BuiltinID == Builtin::BIscanf) {
1292 size_t FormatIndex = BuiltinID == Builtin::BIsprintf ? 1 : 3;
1308 if (BuiltinID == Builtin::BI__builtin___sprintf_chk) {
1930 // \param BuiltinID ID of the builtin function.
1933 static bool SemaOpenCLBuiltinToAddr(Sema &S, unsigned BuiltinID,
1955 switch (BuiltinID) {
2037 Sema &S, unsigned BuiltinID, CallExpr *TheCall,
2052 CheckBuiltinTargetInSupported(Sema &S, unsigned BuiltinID, CallExpr *TheCall,
2066 bool Sema::CheckTSBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID,
2077 return CheckARMBuiltinFunctionCall(TI, BuiltinID, TheCall);
2081 return CheckAArch64BuiltinFunctionCall(TI, BuiltinID, TheCall);
2084 return CheckBPFBuiltinFunctionCall(BuiltinID, TheCall);
2086 return CheckHexagonBuiltinFunctionCall(BuiltinID, TheCall);
2091 return CheckMipsBuiltinFunctionCall(TI, BuiltinID, TheCall);
2093 return CheckSystemZBuiltinFunctionCall(BuiltinID, TheCall);
2096 return CheckX86BuiltinFunctionCall(TI, BuiltinID, TheCall);
2101 return CheckPPCBuiltinFunctionCall(TI, BuiltinID, TheCall);
2103 return CheckAMDGCNBuiltinFunctionCall(BuiltinID, TheCall);
2106 return CheckRISCVBuiltinFunctionCall(TI, BuiltinID, TheCall);
2109 return CheckLoongArchBuiltinFunctionCall(TI, BuiltinID, TheCall);
2112 return CheckWebAssemblyBuiltinFunctionCall(TI, BuiltinID, TheCall);
2115 return CheckNVPTXBuiltinFunctionCall(TI, BuiltinID, TheCall);
2147 Sema::CheckBuiltinFunctionCall(FunctionDecl *FDecl, unsigned BuiltinID,
2154 Context.GetBuiltinType(BuiltinID, Error, &ICEArguments);
2173 switch (BuiltinID) {
2178 *this, BuiltinID, TheCall,
2189 if (SemaBuiltinVAStart(BuiltinID, TheCall))
2201 if (SemaBuiltinVAStart(BuiltinID, TheCall))
2216 *this, BuiltinID, TheCall,
2228 if (CheckBuiltinTargetInSupported(*this, BuiltinID, TheCall,
2236 if (CheckBuiltinTargetInSupported(*this, BuiltinID, TheCall,
2249 if (SemaBuiltinUnorderedCompare(TheCall, BuiltinID))
2253 if (SemaBuiltinFPClassification(TheCall, 6, BuiltinID))
2257 if (SemaBuiltinFPClassification(TheCall, 2, BuiltinID))
2271 if (SemaBuiltinFPClassification(TheCall, 1, BuiltinID))
2494 if (SemaBuiltinAlignment(*this, TheCall, BuiltinID))
2500 if (SemaBuiltinOverflow(*this, TheCall, BuiltinID))
2505 bool IsDelete = BuiltinID == Builtin::BI__builtin_operator_delete;
2589 bool ReturnsPointer = BuiltinID == Builtin::BIaddressof ||
2590 BuiltinID == Builtin::BI__addressof;
2644 if (SemaOpenCLBuiltinToAddr(*this, BuiltinID, TheCall))
2681 << ((BuiltinID == Builtin::BI__builtin_return_address)
2908 if (Context.BuiltinInfo.isTSBuiltin(BuiltinID)) {
2909 if (Context.BuiltinInfo.isAuxBuiltinID(BuiltinID)) {
2915 Context.BuiltinInfo.getAuxBuiltinID(BuiltinID), TheCall))
2918 if (CheckTSBuiltinFunctionCall(Context.getTargetInfo(), BuiltinID,
3221 static ArmSMEState getSMEState(unsigned BuiltinID) {
3222 switch (BuiltinID) {
3231 bool Sema::CheckSMEBuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) {
3235 switch (BuiltinID) {
3244 if ((getSMEState(BuiltinID) & ArmZAMask) && !hasArmZAState(FD))
3249 if ((getSMEState(BuiltinID) & ArmZT0Mask) && !hasArmZT0State(FD))
3258 switch (BuiltinID) {
3269 bool Sema::CheckSVEBuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) {
3273 switch (BuiltinID) {
3284 switch (BuiltinID) {
3296 unsigned BuiltinID, CallExpr *TheCall) {
3299 switch (BuiltinID) {
3319 switch (BuiltinID) {
3369 switch (BuiltinID) {
3381 bool Sema::CheckMVEBuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) {
3382 switch (BuiltinID) {
3389 bool Sema::CheckCDEBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID,
3392 switch (BuiltinID) {
3427 bool Sema::CheckARMBuiltinExclusiveCall(unsigned BuiltinID, CallExpr *TheCall,
3429 assert((BuiltinID == ARM::BI__builtin_arm_ldrex ||
3430 BuiltinID == ARM::BI__builtin_arm_ldaex ||
3431 BuiltinID == ARM::BI__builtin_arm_strex ||
3432 BuiltinID == ARM::BI__builtin_arm_stlex ||
3433 BuiltinID == AArch64::BI__builtin_arm_ldrex ||
3434 BuiltinID == AArch64::BI__builtin_arm_ldaex ||
3435 BuiltinID == AArch64::BI__builtin_arm_strex ||
3436 BuiltinID == AArch64::BI__builtin_arm_stlex) &&
3438 bool IsLdrex = BuiltinID == ARM::BI__builtin_arm_ldrex ||
3439 BuiltinID == ARM::BI__builtin_arm_ldaex ||
3440 BuiltinID == AArch64::BI__builtin_arm_ldrex ||
3441 BuiltinID == AArch64::BI__builtin_arm_ldaex;
3542 bool Sema::CheckARMBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID,
3544 if (BuiltinID == ARM::BI__builtin_arm_ldrex ||
3545 BuiltinID == ARM::BI__builtin_arm_ldaex ||
3546 BuiltinID == ARM::BI__builtin_arm_strex ||
3547 BuiltinID == ARM::BI__builtin_arm_stlex) {
3548 return CheckARMBuiltinExclusiveCall(BuiltinID, TheCall, 64);
3551 if (BuiltinID == ARM::BI__builtin_arm_prefetch) {
3556 if (BuiltinID == ARM::BI__builtin_arm_rsr64 ||
3557 BuiltinID == ARM::BI__builtin_arm_wsr64)
3558 return SemaBuiltinARMSpecialReg(BuiltinID, TheCall, 0, 3, false);
3560 if (BuiltinID == ARM::BI__builtin_arm_rsr ||
3561 BuiltinID == ARM::BI__builtin_arm_rsrp ||
3562 BuiltinID == ARM::BI__builtin_arm_wsr ||
3563 BuiltinID == ARM::BI__builtin_arm_wsrp)
3564 return SemaBuiltinARMSpecialReg(BuiltinID, TheCall, 0, 5, true);
3566 if (CheckNeonBuiltinFunctionCall(TI, BuiltinID, TheCall))
3568 if (CheckMVEBuiltinFunctionCall(BuiltinID, TheCall))
3570 if (CheckCDEBuiltinFunctionCall(TI, BuiltinID, TheCall))
3576 switch (BuiltinID) {
3619 unsigned BuiltinID,
3621 if (BuiltinID == AArch64::BI__builtin_arm_ldrex ||
3622 BuiltinID == AArch64::BI__builtin_arm_ldaex ||
3623 BuiltinID == AArch64::BI__builtin_arm_strex ||
3624 BuiltinID == AArch64::BI__builtin_arm_stlex) {
3625 return CheckARMBuiltinExclusiveCall(BuiltinID, TheCall, 128);
3628 if (BuiltinID == AArch64::BI__builtin_arm_prefetch) {
3635 if (BuiltinID == AArch64::BI__builtin_arm_rsr64 ||
3636 BuiltinID == AArch64::BI__builtin_arm_wsr64 ||
3637 BuiltinID == AArch64::BI__builtin_arm_rsr128 ||
3638 BuiltinID == AArch64::BI__builtin_arm_wsr128)
3639 return SemaBuiltinARMSpecialReg(BuiltinID, TheCall, 0, 5, true);
3642 if (BuiltinID == AArch64::BI__builtin_arm_irg ||
3643 BuiltinID == AArch64::BI__builtin_arm_addg ||
3644 BuiltinID == AArch64::BI__builtin_arm_gmi ||
3645 BuiltinID == AArch64::BI__builtin_arm_ldg ||
3646 BuiltinID == AArch64::BI__builtin_arm_stg ||
3647 BuiltinID == AArch64::BI__builtin_arm_subp) {
3648 return SemaBuiltinARMMemoryTaggingCall(BuiltinID, TheCall);
3651 if (BuiltinID == AArch64::BI__builtin_arm_rsr ||
3652 BuiltinID == AArch64::BI__builtin_arm_rsrp ||
3653 BuiltinID == AArch64::BI__builtin_arm_wsr ||
3654 BuiltinID == AArch64::BI__builtin_arm_wsrp)
3655 return SemaBuiltinARMSpecialReg(BuiltinID, TheCall, 0, 5, true);
3660 if (BuiltinID == AArch64::BI_ReadStatusReg ||
3661 BuiltinID == AArch64::BI_WriteStatusReg)
3664 if (BuiltinID == AArch64::BI__getReg)
3667 if (BuiltinID == AArch64::BI__break)
3670 if (CheckNeonBuiltinFunctionCall(TI, BuiltinID, TheCall))
3673 if (CheckSVEBuiltinFunctionCall(BuiltinID, TheCall))
3676 if (CheckSMEBuiltinFunctionCall(BuiltinID, TheCall))
3682 switch (BuiltinID) {
3777 bool Sema::CheckBPFBuiltinFunctionCall(unsigned BuiltinID,
3779 assert((BuiltinID == BPF::BI__builtin_preserve_field_info ||
3780 BuiltinID == BPF::BI__builtin_btf_type_id ||
3781 BuiltinID == BPF::BI__builtin_preserve_type_info ||
3782 BuiltinID == BPF::BI__builtin_preserve_enum_value) &&
3793 if (BuiltinID == BPF::BI__builtin_preserve_field_info)
3795 else if (BuiltinID == BPF::BI__builtin_btf_type_id)
3797 else if (BuiltinID == BPF::BI__builtin_preserve_type_info)
3809 if (BuiltinID == BPF::BI__builtin_preserve_field_info) {
3814 } else if (BuiltinID == BPF::BI__builtin_preserve_type_info) {
3819 } else if (BuiltinID == BPF::BI__builtin_preserve_enum_value) {
3825 } else if (BuiltinID == BPF::BI__builtin_btf_type_id) {
3841 bool Sema::CheckHexagonBuiltinArgument(unsigned BuiltinID, CallExpr *TheCall) {
3849 unsigned BuiltinID;
4069 return LHS.BuiltinID < RHS.BuiltinID;
4075 Infos, [=](const BuiltinInfo &BI) { return BI.BuiltinID < BuiltinID; });
4076 if (F == std::end(Infos) || F->BuiltinID != BuiltinID)
4101 bool Sema::CheckHexagonBuiltinFunctionCall(unsigned BuiltinID,
4103 return CheckHexagonBuiltinArgument(BuiltinID, TheCall);
4107 unsigned BuiltinID,
4109 switch (BuiltinID) {
4600 unsigned BuiltinID, CallExpr *TheCall) {
4601 return CheckMipsBuiltinCpu(TI, BuiltinID, TheCall) ||
4602 CheckMipsBuiltinArgument(BuiltinID, TheCall);
4605 bool Sema::CheckMipsBuiltinCpu(const TargetInfo &TI, unsigned BuiltinID,
4608 if (Mips::BI__builtin_mips_addu_qb <= BuiltinID &&
4609 BuiltinID <= Mips::BI__builtin_mips_lwx) {
4614 if (Mips::BI__builtin_mips_absq_s_qb <= BuiltinID &&
4615 BuiltinID <= Mips::BI__builtin_mips_subuh_r_qb) {
4621 if (Mips::BI__builtin_msa_add_a_b <= BuiltinID &&
4622 BuiltinID <= Mips::BI__builtin_msa_xori_b) {
4639 bool Sema::CheckMipsBuiltinArgument(unsigned BuiltinID, CallExpr *TheCall) {
4641 switch (BuiltinID) {
4872 static bool isPPC_64Builtin(unsigned BuiltinID) {
4874 switch (BuiltinID) {
4932 bool Sema::CheckPPCBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID,
4938 if (isPPC_64Builtin(BuiltinID) && !IsTarget64Bit)
4942 switch (BuiltinID) {
5061 (BuiltinID == PPC::BI__builtin_ppc_maxfe ||
5062 BuiltinID == PPC::BI__builtin_ppc_minfe))
5068 if (BuiltinID == PPC::BI__builtin_ppc_maxfl ||
5069 BuiltinID == PPC::BI__builtin_ppc_minfl)
5071 else if (BuiltinID == PPC::BI__builtin_ppc_maxfs ||
5072 BuiltinID == PPC::BI__builtin_ppc_minfs)
5083 return SemaBuiltinPPCMMACall(TheCall, BuiltinID, Types);
5106 bool Sema::CheckAMDGCNBuiltinFunctionCall(unsigned BuiltinID,
5110 switch (BuiltinID) {
5144 if (BuiltinID == AMDGPU::BI__builtin_amdgcn_fence)
5217 unsigned BuiltinID,
5223 StringRef Features = Context.BuiltinInfo.getRequiredFeatures(BuiltinID);
5272 switch (BuiltinID) {
5335 switch (BuiltinID) {
6054 assert((BuiltinID == RISCV::BI__builtin_riscv_ntl_store ||
6055 BuiltinID == RISCV::BI__builtin_riscv_ntl_load) &&
6057 bool IsStore = BuiltinID == RISCV::BI__builtin_riscv_ntl_store;
6118 bool Sema::CheckSystemZBuiltinFunctionCall(unsigned BuiltinID,
6120 if (BuiltinID == SystemZ::BI__builtin_tabort) {
6132 switch (BuiltinID) {
6189 unsigned BuiltinID,
6191 switch (BuiltinID) {
6246 unsigned BuiltinID,
6248 switch (BuiltinID) {
6301 bool Sema::CheckX86BuiltinRoundingOrSAE(unsigned BuiltinID, CallExpr *TheCall) {
6306 switch (BuiltinID) {
6597 bool Sema::CheckX86BuiltinGatherScatterScale(unsigned BuiltinID,
6600 switch (BuiltinID) {
6741 bool Sema::CheckX86BuiltinTileArguments(unsigned BuiltinID, CallExpr *TheCall) {
6742 switch (BuiltinID) {
6761 static bool isX86_32Builtin(unsigned BuiltinID) {
6763 switch (BuiltinID) {
6772 bool Sema::CheckX86BuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID,
6774 if (BuiltinID == X86::BI__builtin_cpu_supports)
6777 if (BuiltinID == X86::BI__builtin_cpu_is)
6782 if (TT.getArch() != llvm::Triple::x86 && isX86_32Builtin(BuiltinID))
6787 if (CheckX86BuiltinRoundingOrSAE(BuiltinID, TheCall))
6791 if (CheckX86BuiltinGatherScatterScale(BuiltinID, TheCall))
6795 if (CheckX86BuiltinTileArguments(BuiltinID, TheCall))
6801 switch (BuiltinID) {
8555 unsigned BuiltinID = FDecl->getBuiltinID();
8558 switch (BuiltinID) {
8743 if (NewBuiltinID == BuiltinID)
8821 unsigned BuiltinID = FDecl->getBuiltinID();
8822 assert((BuiltinID == Builtin::BI__builtin_nontemporal_store ||
8823 BuiltinID == Builtin::BI__builtin_nontemporal_load) &&
8825 bool isStore = BuiltinID == Builtin::BI__builtin_nontemporal_store;
8941 static bool checkVAStartABI(Sema &S, unsigned BuiltinID, Expr *Fn) {
8947 bool IsMSVAStart = BuiltinID == Builtin::BI__builtin_ms_va_start;
9017 bool Sema::SemaBuiltinVAStart(unsigned BuiltinID, CallExpr *TheCall) {
9020 if (checkVAStartABI(*this, BuiltinID, Fn))
9156 bool Sema::SemaBuiltinUnorderedCompare(CallExpr *TheCall, unsigned BuiltinID) {
9160 if (BuiltinID == Builtin::BI__builtin_isunordered &&
9200 unsigned BuiltinID) {
9205 if (FPO.getNoHonorInfs() && (BuiltinID == Builtin::BI__builtin_isfinite ||
9206 BuiltinID == Builtin::BI__builtin_isinf ||
9207 BuiltinID == Builtin::BI__builtin_isinf_sign))
9211 if (FPO.getNoHonorNaNs() && (BuiltinID == Builtin::BI__builtin_isnan ||
9212 BuiltinID == Builtin::BI__builtin_isunordered))
9647 unsigned BuiltinID =
9649 bool IsSizeCall = BuiltinID == Builtin::BI__builtin_os_log_format_buffer_size;
9905 bool Sema::SemaBuiltinARMMemoryTaggingCall(unsigned BuiltinID, CallExpr *TheCall) {
9906 if (BuiltinID == AArch64::BI__builtin_arm_irg) {
9934 if (BuiltinID == AArch64::BI__builtin_arm_addg) {
9955 if (BuiltinID == AArch64::BI__builtin_arm_gmi) {
9977 if (BuiltinID == AArch64::BI__builtin_arm_ldg ||
9978 BuiltinID == AArch64::BI__builtin_arm_stg) {
9993 if (BuiltinID == AArch64::BI__builtin_arm_ldg)
9998 if (BuiltinID == AArch64::BI__builtin_arm_subp) {
10060 bool Sema::SemaBuiltinARMSpecialReg(unsigned BuiltinID, CallExpr *TheCall,
10063 bool IsARMBuiltin = BuiltinID == ARM::BI__builtin_arm_rsr64 ||
10064 BuiltinID == ARM::BI__builtin_arm_wsr64 ||
10065 BuiltinID == ARM::BI__builtin_arm_rsr ||
10066 BuiltinID == ARM::BI__builtin_arm_rsrp ||
10067 BuiltinID == ARM::BI__builtin_arm_wsr ||
10068 BuiltinID == ARM::BI__builtin_arm_wsrp;
10069 bool IsAArch64Builtin = BuiltinID == AArch64::BI__builtin_arm_rsr64 ||
10070 BuiltinID == AArch64::BI__builtin_arm_wsr64 ||
10071 BuiltinID == AArch64::BI__builtin_arm_rsr128 ||
10072 BuiltinID == AArch64::BI__builtin_arm_wsr128 ||
10073 BuiltinID == AArch64::BI__builtin_arm_rsr ||
10074 BuiltinID == AArch64::BI__builtin_arm_rsrp ||
10075 BuiltinID == AArch64::BI__builtin_arm_wsr ||
10076 BuiltinID == AArch64::BI__builtin_arm_wsrp;
10147 if (BuiltinID == AArch64::BI__builtin_arm_rsr128 ||
10148 BuiltinID == AArch64::BI__builtin_arm_wsr128)
10194 bool Sema::SemaBuiltinPPCMMACall(CallExpr *TheCall, unsigned BuiltinID,
10688 unsigned BuiltinID = FD->getBuiltinID();
10689 if (BuiltinID == Builtin::BI__builtin___CFStringMakeConstantString ||
10690 BuiltinID == Builtin::BI__builtin___NSStringMakeConstantString) {