Lines Matching defs:Builtin

320   bool IsBooleanAlignBuiltin = ID == Builtin::BI__builtin_is_aligned;
398 { Builtin::BI__builtin_add_overflow, "ckd_add" },
399 { Builtin::BI__builtin_sub_overflow, "ckd_sub" },
400 { Builtin::BI__builtin_mul_overflow, "ckd_mul" },
461 if (BuiltinID == Builtin::BI__builtin_mul_overflow) {
792 Expr *Builtin = BuiltinCall->getCallee()->IgnoreImpCasts();
838 Builtin =
839 S.ImpCastExprToType(Builtin, BuiltinPtrTy, CK_BuiltinFnToFnPtr).get();
844 BuiltinCall->setCallee(Builtin);
1255 case Builtin::BI__builtin_strcpy:
1256 case Builtin::BIstrcpy: {
1263 case Builtin::BI__builtin___strcpy_chk: {
1271 case Builtin::BIscanf:
1272 case Builtin::BIfscanf:
1273 case Builtin::BIsscanf: {
1276 if (BuiltinID == Builtin::BIscanf) {
1314 case Builtin::BIsprintf:
1315 case Builtin::BI__builtin___sprintf_chk: {
1316 size_t FormatIndex = BuiltinID == Builtin::BIsprintf ? 1 : 3;
1332 if (BuiltinID == Builtin::BI__builtin___sprintf_chk) {
1343 case Builtin::BI__builtin___memcpy_chk:
1344 case Builtin::BI__builtin___memmove_chk:
1345 case Builtin::BI__builtin___memset_chk:
1346 case Builtin::BI__builtin___strlcat_chk:
1347 case Builtin::BI__builtin___strlcpy_chk:
1348 case Builtin::BI__builtin___strncat_chk:
1349 case Builtin::BI__builtin___strncpy_chk:
1350 case Builtin::BI__builtin___stpncpy_chk:
1351 case Builtin::BI__builtin___memccpy_chk:
1352 case Builtin::BI__builtin___mempcpy_chk: {
1361 case Builtin::BI__builtin___snprintf_chk:
1362 case Builtin::BI__builtin___vsnprintf_chk: {
1370 case Builtin::BIstrncat:
1371 case Builtin::BI__builtin_strncat:
1372 case Builtin::BIstrncpy:
1373 case Builtin::BI__builtin_strncpy:
1374 case Builtin::BIstpncpy:
1375 case Builtin::BI__builtin_stpncpy: {
1387 case Builtin::BImemcpy:
1388 case Builtin::BI__builtin_memcpy:
1389 case Builtin::BImemmove:
1390 case Builtin::BI__builtin_memmove:
1391 case Builtin::BImemset:
1392 case Builtin::BI__builtin_memset:
1393 case Builtin::BImempcpy:
1394 case Builtin::BI__builtin_mempcpy: {
1400 case Builtin::BIsnprintf:
1401 case Builtin::BI__builtin_snprintf:
1402 case Builtin::BIvsnprintf:
1403 case Builtin::BI__builtin_vsnprintf: {
1655 Builtin::BI__builtin_ptrauth_blend_discriminator) {
2001 assert((BuiltinID == Builtin::BI__builtin_cpu_supports ||
2002 BuiltinID == Builtin::BI__builtin_cpu_is) &&
2005 bool IsCPUSupports = BuiltinID == Builtin::BI__builtin_cpu_supports;
2134 case Builtin::BI__builtin_cpu_supports:
2135 case Builtin::BI__builtin_cpu_is:
2140 case Builtin::BI__builtin_cpu_init:
2147 case Builtin::BI__builtin___CFStringMakeConstantString:
2159 case Builtin::BI__builtin_ms_va_start:
2160 case Builtin::BI__builtin_stdarg_start:
2161 case Builtin::BI__builtin_va_start:
2165 case Builtin::BI__va_start: {
2182 case Builtin::BI_interlockedbittestandset_acq:
2183 case Builtin::BI_interlockedbittestandset_rel:
2184 case Builtin::BI_interlockedbittestandset_nf:
2185 case Builtin::BI_interlockedbittestandreset_acq:
2186 case Builtin::BI_interlockedbittestandreset_rel:
2187 case Builtin::BI_interlockedbittestandreset_nf:
2195 case Builtin::BI_bittest64:
2196 case Builtin::BI_bittestandcomplement64:
2197 case Builtin::BI_bittestandreset64:
2198 case Builtin::BI_bittestandset64:
2199 case Builtin::BI_interlockedbittestandreset64:
2200 case Builtin::BI_interlockedbittestandset64:
2208 case Builtin::BI__builtin_set_flt_rounds:
2218 case Builtin::BI__builtin_isgreater:
2219 case Builtin::BI__builtin_isgreaterequal:
2220 case Builtin::BI__builtin_isless:
2221 case Builtin::BI__builtin_islessequal:
2222 case Builtin::BI__builtin_islessgreater:
2223 case Builtin::BI__builtin_isunordered:
2227 case Builtin::BI__builtin_fpclassify:
2231 case Builtin::BI__builtin_isfpclass:
2235 case Builtin::BI__builtin_isfinite:
2236 case Builtin::BI__builtin_isinf:
2237 case Builtin::BI__builtin_isinf_sign:
2238 case Builtin::BI__builtin_isnan:
2239 case Builtin::BI__builtin_issignaling:
2240 case Builtin::BI__builtin_isnormal:
2241 case Builtin::BI__builtin_issubnormal:
2242 case Builtin::BI__builtin_iszero:
2243 case Builtin::BI__builtin_signbit:
2244 case Builtin::BI__builtin_signbitf:
2245 case Builtin::BI__builtin_signbitl:
2249 case Builtin::BI__builtin_shufflevector:
2253 case Builtin::BI__builtin_prefetch:
2257 case Builtin::BI__builtin_alloca_with_align:
2258 case Builtin::BI__builtin_alloca_with_align_uninitialized:
2262 case Builtin::BI__builtin_alloca:
2263 case Builtin::BI__builtin_alloca_uninitialized:
2270 case Builtin::BI__arithmetic_fence:
2274 case Builtin::BI__assume:
2275 case Builtin::BI__builtin_assume:
2279 case Builtin::BI__builtin_assume_aligned:
2283 case Builtin::BI__builtin_dynamic_object_size:
2284 case Builtin::BI__builtin_object_size:
2288 case Builtin::BI__builtin_longjmp:
2292 case Builtin::BI__builtin_setjmp:
2296 case Builtin::BI__builtin_classify_type:
2301 case Builtin::BI__builtin_complex:
2305 case Builtin::BI__builtin_constant_p: {
2314 case Builtin::BI__builtin_launder:
2316 case Builtin::BI__builtin_is_within_lifetime:
2318 case Builtin::BI__sync_fetch_and_add:
2319 case Builtin::BI__sync_fetch_and_add_1:
2320 case Builtin::BI__sync_fetch_and_add_2:
2321 case Builtin::BI__sync_fetch_and_add_4:
2322 case Builtin::BI__sync_fetch_and_add_8:
2323 case Builtin::BI__sync_fetch_and_add_16:
2324 case Builtin::BI__sync_fetch_and_sub:
2325 case Builtin::BI__sync_fetch_and_sub_1:
2326 case Builtin::BI__sync_fetch_and_sub_2:
2327 case Builtin::BI__sync_fetch_and_sub_4:
2328 case Builtin::BI__sync_fetch_and_sub_8:
2329 case Builtin::BI__sync_fetch_and_sub_16:
2330 case Builtin::BI__sync_fetch_and_or:
2331 case Builtin::BI__sync_fetch_and_or_1:
2332 case Builtin::BI__sync_fetch_and_or_2:
2333 case Builtin::BI__sync_fetch_and_or_4:
2334 case Builtin::BI__sync_fetch_and_or_8:
2335 case Builtin::BI__sync_fetch_and_or_16:
2336 case Builtin::BI__sync_fetch_and_and:
2337 case Builtin::BI__sync_fetch_and_and_1:
2338 case Builtin::BI__sync_fetch_and_and_2:
2339 case Builtin::BI__sync_fetch_and_and_4:
2340 case Builtin::BI__sync_fetch_and_and_8:
2341 case Builtin::BI__sync_fetch_and_and_16:
2342 case Builtin::BI__sync_fetch_and_xor:
2343 case Builtin::BI__sync_fetch_and_xor_1:
2344 case Builtin::BI__sync_fetch_and_xor_2:
2345 case Builtin::BI__sync_fetch_and_xor_4:
2346 case Builtin::BI__sync_fetch_and_xor_8:
2347 case Builtin::BI__sync_fetch_and_xor_16:
2348 case Builtin::BI__sync_fetch_and_nand:
2349 case Builtin::BI__sync_fetch_and_nand_1:
2350 case Builtin::BI__sync_fetch_and_nand_2:
2351 case Builtin::BI__sync_fetch_and_nand_4:
2352 case Builtin::BI__sync_fetch_and_nand_8:
2353 case Builtin::BI__sync_fetch_and_nand_16:
2354 case Builtin::BI__sync_add_and_fetch:
2355 case Builtin::BI__sync_add_and_fetch_1:
2356 case Builtin::BI__sync_add_and_fetch_2:
2357 case Builtin::BI__sync_add_and_fetch_4:
2358 case Builtin::BI__sync_add_and_fetch_8:
2359 case Builtin::BI__sync_add_and_fetch_16:
2360 case Builtin::BI__sync_sub_and_fetch:
2361 case Builtin::BI__sync_sub_and_fetch_1:
2362 case Builtin::BI__sync_sub_and_fetch_2:
2363 case Builtin::BI__sync_sub_and_fetch_4:
2364 case Builtin::BI__sync_sub_and_fetch_8:
2365 case Builtin::BI__sync_sub_and_fetch_16:
2366 case Builtin::BI__sync_and_and_fetch:
2367 case Builtin::BI__sync_and_and_fetch_1:
2368 case Builtin::BI__sync_and_and_fetch_2:
2369 case Builtin::BI__sync_and_and_fetch_4:
2370 case Builtin::BI__sync_and_and_fetch_8:
2371 case Builtin::BI__sync_and_and_fetch_16:
2372 case Builtin::BI__sync_or_and_fetch:
2373 case Builtin::BI__sync_or_and_fetch_1:
2374 case Builtin::BI__sync_or_and_fetch_2:
2375 case Builtin::BI__sync_or_and_fetch_4:
2376 case Builtin::BI__sync_or_and_fetch_8:
2377 case Builtin::BI__sync_or_and_fetch_16:
2378 case Builtin::BI__sync_xor_and_fetch:
2379 case Builtin::BI__sync_xor_and_fetch_1:
2380 case Builtin::BI__sync_xor_and_fetch_2:
2381 case Builtin::BI__sync_xor_and_fetch_4:
2382 case Builtin::BI__sync_xor_and_fetch_8:
2383 case Builtin::BI__sync_xor_and_fetch_16:
2384 case Builtin::BI__sync_nand_and_fetch:
2385 case Builtin::BI__sync_nand_and_fetch_1:
2386 case Builtin::BI__sync_nand_and_fetch_2:
2387 case Builtin::BI__sync_nand_and_fetch_4:
2388 case Builtin::BI__sync_nand_and_fetch_8:
2389 case Builtin::BI__sync_nand_and_fetch_16:
2390 case Builtin::BI__sync_val_compare_and_swap:
2391 case Builtin::BI__sync_val_compare_and_swap_1:
2392 case Builtin::BI__sync_val_compare_and_swap_2:
2393 case Builtin::BI__sync_val_compare_and_swap_4:
2394 case Builtin::BI__sync_val_compare_and_swap_8:
2395 case Builtin::BI__sync_val_compare_and_swap_16:
2396 case Builtin::BI__sync_bool_compare_and_swap:
2397 case Builtin::BI__sync_bool_compare_and_swap_1:
2398 case Builtin::BI__sync_bool_compare_and_swap_2:
2399 case Builtin::BI__sync_bool_compare_and_swap_4:
2400 case Builtin::BI__sync_bool_compare_and_swap_8:
2401 case Builtin::BI__sync_bool_compare_and_swap_16:
2402 case Builtin::BI__sync_lock_test_and_set:
2403 case Builtin::BI__sync_lock_test_and_set_1:
2404 case Builtin::BI__sync_lock_test_and_set_2:
2405 case Builtin::BI__sync_lock_test_and_set_4:
2406 case Builtin::BI__sync_lock_test_and_set_8:
2407 case Builtin::BI__sync_lock_test_and_set_16:
2408 case Builtin::BI__sync_lock_release:
2409 case Builtin::BI__sync_lock_release_1:
2410 case Builtin::BI__sync_lock_release_2:
2411 case Builtin::BI__sync_lock_release_4:
2412 case Builtin::BI__sync_lock_release_8:
2413 case Builtin::BI__sync_lock_release_16:
2414 case Builtin::BI__sync_swap:
2415 case Builtin::BI__sync_swap_1:
2416 case Builtin::BI__sync_swap_2:
2417 case Builtin::BI__sync_swap_4:
2418 case Builtin::BI__sync_swap_8:
2419 case Builtin::BI__sync_swap_16:
2421 case Builtin::BI__sync_synchronize:
2425 case Builtin::BI__builtin_nontemporal_load:
2426 case Builtin::BI__builtin_nontemporal_store:
2428 case Builtin::BI__builtin_memcpy_inline: {
2441 case Builtin::BI__builtin_memset_inline: {
2454 case Builtin::BI##ID: \
2457 case Builtin::BI__annotation:
2461 case Builtin::BI__builtin_annotation:
2465 case Builtin::BI__builtin_addressof:
2469 case Builtin::BI__builtin_function_start:
2473 case Builtin::BI__builtin_is_aligned:
2474 case Builtin::BI__builtin_align_up:
2475 case Builtin::BI__builtin_align_down:
2479 case Builtin::BI__builtin_add_overflow:
2480 case Builtin::BI__builtin_sub_overflow:
2481 case Builtin::BI__builtin_mul_overflow:
2485 case Builtin::BI__builtin_operator_new:
2486 case Builtin::BI__builtin_operator_delete: {
2487 bool IsDelete = BuiltinID == Builtin::BI__builtin_operator_delete;
2494 case Builtin::BI__builtin_dump_struct:
2496 case Builtin::BI__builtin_expect_with_probability: {
2525 case Builtin::BI__builtin_preserve_access_index:
2529 case Builtin::BI__builtin_call_with_static_chain:
2533 case Builtin::BI__exception_code:
2534 case Builtin::BI_exception_code:
2539 case Builtin::BI__exception_info:
2540 case Builtin::BI_exception_info:
2545 case Builtin::BI__GetExceptionInfo:
2557 case Builtin::BIaddressof:
2558 case Builtin::BI__addressof:
2559 case Builtin::BIforward:
2560 case Builtin::BIforward_like:
2561 case Builtin::BImove:
2562 case Builtin::BImove_if_noexcept:
2563 case Builtin::BIas_const: {
2571 bool ReturnsPointer = BuiltinID == Builtin::BIaddressof ||
2572 BuiltinID == Builtin::BI__addressof;
2584 case Builtin::BI__builtin_ptrauth_strip:
2586 case Builtin::BI__builtin_ptrauth_blend_discriminator:
2588 case Builtin::BI__builtin_ptrauth_sign_constant:
2591 case Builtin::BI__builtin_ptrauth_sign_unauthenticated:
2594 case Builtin::BI__builtin_ptrauth_auth:
2597 case Builtin::BI__builtin_ptrauth_sign_generic_data:
2599 case Builtin::BI__builtin_ptrauth_auth_and_resign:
2601 case Builtin::BI__builtin_ptrauth_string_discriminator:
2604 case Builtin::BIread_pipe:
2605 case Builtin::BIwrite_pipe:
2611 case Builtin::BIreserve_read_pipe:
2612 case Builtin::BIreserve_write_pipe:
2613 case Builtin::BIwork_group_reserve_read_pipe:
2614 case Builtin::BIwork_group_reserve_write_pipe:
2618 case Builtin::BIsub_group_reserve_read_pipe:
2619 case Builtin::BIsub_group_reserve_write_pipe:
2624 case Builtin::BIcommit_read_pipe:
2625 case Builtin::BIcommit_write_pipe:
2626 case Builtin::BIwork_group_commit_read_pipe:
2627 case Builtin::BIwork_group_commit_write_pipe:
2631 case Builtin::BIsub_group_commit_read_pipe:
2632 case Builtin::BIsub_group_commit_write_pipe:
2637 case Builtin::BIget_pipe_num_packets:
2638 case Builtin::BIget_pipe_max_packets:
2642 case Builtin::BIto_global:
2643 case Builtin::BIto_local:
2644 case Builtin::BIto_private:
2649 case Builtin::BIenqueue_kernel:
2653 case Builtin::BIget_kernel_work_group_size:
2654 case Builtin::BIget_kernel_preferred_work_group_size_multiple:
2658 case Builtin::BIget_kernel_max_sub_group_size_for_ndrange:
2659 case Builtin::BIget_kernel_sub_group_count_for_ndrange:
2663 case Builtin::BI__builtin_os_log_format:
2666 case Builtin::BI__builtin_os_log_format_buffer_size:
2670 case Builtin::BI__builtin_frame_address:
2671 case Builtin::BI__builtin_return_address: {
2682 << ((BuiltinID == Builtin::BI__builtin_return_address)
2689 case Builtin::BI__builtin_nondeterministic_value: {
2697 case Builtin::BI__builtin_elementwise_abs: {
2717 case Builtin::BI__builtin_elementwise_acos:
2718 case Builtin::BI__builtin_elementwise_asin:
2719 case Builtin::BI__builtin_elementwise_atan:
2720 case Builtin::BI__builtin_elementwise_ceil:
2721 case Builtin::BI__builtin_elementwise_cos:
2722 case Builtin::BI__builtin_elementwise_cosh:
2723 case Builtin::BI__builtin_elementwise_exp:
2724 case Builtin::BI__builtin_elementwise_exp2:
2725 case Builtin::BI__builtin_elementwise_floor:
2726 case Builtin::BI__builtin_elementwise_log:
2727 case Builtin::BI__builtin_elementwise_log2:
2728 case Builtin::BI__builtin_elementwise_log10:
2729 case Builtin::BI__builtin_elementwise_roundeven:
2730 case Builtin::BI__builtin_elementwise_round:
2731 case Builtin::BI__builtin_elementwise_rint:
2732 case Builtin::BI__builtin_elementwise_nearbyint:
2733 case Builtin::BI__builtin_elementwise_sin:
2734 case Builtin::BI__builtin_elementwise_sinh:
2735 case Builtin::BI__builtin_elementwise_sqrt:
2736 case Builtin::BI__builtin_elementwise_tan:
2737 case Builtin::BI__builtin_elementwise_tanh:
2738 case Builtin::BI__builtin_elementwise_trunc:
2739 case Builtin::BI__builtin_elementwise_canonicalize: {
2749 case Builtin::BI__builtin_elementwise_fma: {
2757 case Builtin::BI__builtin_elementwise_minimum:
2758 case Builtin::BI__builtin_elementwise_maximum:
2759 case Builtin::BI__builtin_elementwise_atan2:
2760 case Builtin::BI__builtin_elementwise_fmod:
2761 case Builtin::BI__builtin_elementwise_pow: {
2769 case Builtin::BI__builtin_elementwise_add_sat:
2770 case Builtin::BI__builtin_elementwise_sub_sat: {
2789 case Builtin::BI__builtin_elementwise_min:
2790 case Builtin::BI__builtin_elementwise_max:
2794 case Builtin::BI__builtin_elementwise_popcount:
2795 case Builtin::BI__builtin_elementwise_bitreverse: {
2814 case Builtin::BI__builtin_elementwise_copysign: {
2843 case Builtin::BI__builtin_reduce_max:
2844 case Builtin::BI__builtin_reduce_min: {
2866 case Builtin::BI__builtin_reduce_maximum:
2867 case Builtin::BI__builtin_reduce_minimum: {
2892 case Builtin::BI__builtin_reduce_add:
2893 case Builtin::BI__builtin_reduce_mul:
2894 case Builtin::BI__builtin_reduce_xor:
2895 case Builtin::BI__builtin_reduce_or:
2896 case Builtin::BI__builtin_reduce_and: {
2919 case Builtin::BI__builtin_matrix_transpose:
2922 case Builtin::BI__builtin_matrix_column_major_load:
2925 case Builtin::BI__builtin_matrix_column_major_store:
2928 case Builtin::BI__builtin_verbose_trap:
2933 case Builtin::BI__builtin_get_device_side_mangled_name: {
2953 case Builtin::BI__builtin_popcountg:
2957 case Builtin::BI__builtin_clzg:
2958 case Builtin::BI__builtin_ctzg:
2963 case Builtin::BI__builtin_allow_runtime_check: {
2973 case Builtin::BI__builtin_counted_by_ref:
2987 "Aux Target Builtin, but not an aux target?");
3300 (!FD || FD->getBuiltinID() != Builtin::BI__noop)) {
3551 case Builtin::BIstrlcpy: // fallthrough
3552 case Builtin::BIstrlcat:
3555 case Builtin::BIstrncat:
3558 case Builtin::BIfree:
4357 { Builtin::BI##x##_1, Builtin::BI##x##_2, Builtin::BI##x##_4, \
4358 Builtin::BI##x##_8, Builtin::BI##x##_16 }
4406 case Builtin::BI__sync_fetch_and_add:
4407 case Builtin::BI__sync_fetch_and_add_1:
4408 case Builtin::BI__sync_fetch_and_add_2:
4409 case Builtin::BI__sync_fetch_and_add_4:
4410 case Builtin::BI__sync_fetch_and_add_8:
4411 case Builtin::BI__sync_fetch_and_add_16:
4415 case Builtin::BI__sync_fetch_and_sub:
4416 case Builtin::BI__sync_fetch_and_sub_1:
4417 case Builtin::BI__sync_fetch_and_sub_2:
4418 case Builtin::BI__sync_fetch_and_sub_4:
4419 case Builtin::BI__sync_fetch_and_sub_8:
4420 case Builtin::BI__sync_fetch_and_sub_16:
4424 case Builtin::BI__sync_fetch_and_or:
4425 case Builtin::BI__sync_fetch_and_or_1:
4426 case Builtin::BI__sync_fetch_and_or_2:
4427 case Builtin::BI__sync_fetch_and_or_4:
4428 case Builtin::BI__sync_fetch_and_or_8:
4429 case Builtin::BI__sync_fetch_and_or_16:
4433 case Builtin::BI__sync_fetch_and_and:
4434 case Builtin::BI__sync_fetch_and_and_1:
4435 case Builtin::BI__sync_fetch_and_and_2:
4436 case Builtin::BI__sync_fetch_and_and_4:
4437 case Builtin::BI__sync_fetch_and_and_8:
4438 case Builtin::BI__sync_fetch_and_and_16:
4442 case Builtin::BI__sync_fetch_and_xor:
4443 case Builtin::BI__sync_fetch_and_xor_1:
4444 case Builtin::BI__sync_fetch_and_xor_2:
4445 case Builtin::BI__sync_fetch_and_xor_4:
4446 case Builtin::BI__sync_fetch_and_xor_8:
4447 case Builtin::BI__sync_fetch_and_xor_16:
4451 case Builtin::BI__sync_fetch_and_nand:
4452 case Builtin::BI__sync_fetch_and_nand_1:
4453 case Builtin::BI__sync_fetch_and_nand_2:
4454 case Builtin::BI__sync_fetch_and_nand_4:
4455 case Builtin::BI__sync_fetch_and_nand_8:
4456 case Builtin::BI__sync_fetch_and_nand_16:
4461 case Builtin::BI__sync_add_and_fetch:
4462 case Builtin::BI__sync_add_and_fetch_1:
4463 case Builtin::BI__sync_add_and_fetch_2:
4464 case Builtin::BI__sync_add_and_fetch_4:
4465 case Builtin::BI__sync_add_and_fetch_8:
4466 case Builtin::BI__sync_add_and_fetch_16:
4470 case Builtin::BI__sync_sub_and_fetch:
4471 case Builtin::BI__sync_sub_and_fetch_1:
4472 case Builtin::BI__sync_sub_and_fetch_2:
4473 case Builtin::BI__sync_sub_and_fetch_4:
4474 case Builtin::BI__sync_sub_and_fetch_8:
4475 case Builtin::BI__sync_sub_and_fetch_16:
4479 case Builtin::BI__sync_and_and_fetch:
4480 case Builtin::BI__sync_and_and_fetch_1:
4481 case Builtin::BI__sync_and_and_fetch_2:
4482 case Builtin::BI__sync_and_and_fetch_4:
4483 case Builtin::BI__sync_and_and_fetch_8:
4484 case Builtin::BI__sync_and_and_fetch_16:
4488 case Builtin::BI__sync_or_and_fetch:
4489 case Builtin::BI__sync_or_and_fetch_1:
4490 case Builtin::BI__sync_or_and_fetch_2:
4491 case Builtin::BI__sync_or_and_fetch_4:
4492 case Builtin::BI__sync_or_and_fetch_8:
4493 case Builtin::BI__sync_or_and_fetch_16:
4497 case Builtin::BI__sync_xor_and_fetch:
4498 case Builtin::BI__sync_xor_and_fetch_1:
4499 case Builtin::BI__sync_xor_and_fetch_2:
4500 case Builtin::BI__sync_xor_and_fetch_4:
4501 case Builtin::BI__sync_xor_and_fetch_8:
4502 case Builtin::BI__sync_xor_and_fetch_16:
4506 case Builtin::BI__sync_nand_and_fetch:
4507 case Builtin::BI__sync_nand_and_fetch_1:
4508 case Builtin::BI__sync_nand_and_fetch_2:
4509 case Builtin::BI__sync_nand_and_fetch_4:
4510 case Builtin::BI__sync_nand_and_fetch_8:
4511 case Builtin::BI__sync_nand_and_fetch_16:
4516 case Builtin::BI__sync_val_compare_and_swap:
4517 case Builtin::BI__sync_val_compare_and_swap_1:
4518 case Builtin::BI__sync_val_compare_and_swap_2:
4519 case Builtin::BI__sync_val_compare_and_swap_4:
4520 case Builtin::BI__sync_val_compare_and_swap_8:
4521 case Builtin::BI__sync_val_compare_and_swap_16:
4526 case Builtin::BI__sync_bool_compare_and_swap:
4527 case Builtin::BI__sync_bool_compare_and_swap_1:
4528 case Builtin::BI__sync_bool_compare_and_swap_2:
4529 case Builtin::BI__sync_bool_compare_and_swap_4:
4530 case Builtin::BI__sync_bool_compare_and_swap_8:
4531 case Builtin::BI__sync_bool_compare_and_swap_16:
4537 case Builtin::BI__sync_lock_test_and_set:
4538 case Builtin::BI__sync_lock_test_and_set_1:
4539 case Builtin::BI__sync_lock_test_and_set_2:
4540 case Builtin::BI__sync_lock_test_and_set_4:
4541 case Builtin::BI__sync_lock_test_and_set_8:
4542 case Builtin::BI__sync_lock_test_and_set_16:
4546 case Builtin::BI__sync_lock_release:
4547 case Builtin::BI__sync_lock_release_1:
4548 case Builtin::BI__sync_lock_release_2:
4549 case Builtin::BI__sync_lock_release_4:
4550 case Builtin::BI__sync_lock_release_8:
4551 case Builtin::BI__sync_lock_release_16:
4557 case Builtin::BI__sync_swap:
4558 case Builtin::BI__sync_swap_1:
4559 case Builtin::BI__sync_swap_2:
4560 case Builtin::BI__sync_swap_4:
4561 case Builtin::BI__sync_swap_8:
4562 case Builtin::BI__sync_swap_16:
4662 assert((BuiltinID == Builtin::BI__builtin_nontemporal_store ||
4663 BuiltinID == Builtin::BI__builtin_nontemporal_load) &&
4665 bool isStore = BuiltinID == Builtin::BI__builtin_nontemporal_store;
4755 bool IsMSVAStart = BuiltinID == Builtin::BI__builtin_ms_va_start;
4963 if (BuiltinID == Builtin::BI__builtin_isunordered &&
5005 if (FPO.getNoHonorInfs() && (BuiltinID == Builtin::BI__builtin_isfinite ||
5006 BuiltinID == Builtin::BI__builtin_isinf ||
5007 BuiltinID == Builtin::BI__builtin_isinf_sign))
5011 if (FPO.getNoHonorNaNs() && (BuiltinID == Builtin::BI__builtin_isnan ||
5012 BuiltinID == Builtin::BI__builtin_isunordered))
5400 bool IsSizeCall = BuiltinID == Builtin::BI__builtin_os_log_format_buffer_size;
5719 if (!CE || CE->getBuiltinCallee() != Builtin::BI__builtin_counted_by_ref)
6151 if (BuiltinID == Builtin::BI__builtin___CFStringMakeConstantString ||
6152 BuiltinID == Builtin::BI__builtin___NSStringMakeConstantString) {
8176 case Builtin::BI__builtin_abs:
8177 return Builtin::BI__builtin_labs;
8178 case Builtin::BI__builtin_labs:
8179 return Builtin::BI__builtin_llabs;
8180 case Builtin::BI__builtin_llabs:
8183 case Builtin::BI__builtin_fabsf:
8184 return Builtin::BI__builtin_fabs;
8185 case Builtin::BI__builtin_fabs:
8186 return Builtin::BI__builtin_fabsl;
8187 case Builtin::BI__builtin_fabsl:
8190 case Builtin::BI__builtin_cabsf:
8191 return Builtin::BI__builtin_cabs;
8192 case Builtin::BI__builtin_cabs:
8193 return Builtin::BI__builtin_cabsl;
8194 case Builtin::BI__builtin_cabsl:
8197 case Builtin::BIabs:
8198 return Builtin::BIlabs;
8199 case Builtin::BIlabs:
8200 return Builtin::BIllabs;
8201 case Builtin::BIllabs:
8204 case Builtin::BIfabsf:
8205 return Builtin::BIfabs;
8206 case Builtin::BIfabs:
8207 return Builtin::BIfabsl;
8208 case Builtin::BIfabsl:
8211 case Builtin::BIcabsf:
8212 return Builtin::BIcabs;
8213 case Builtin::BIcabs:
8214 return Builtin::BIcabsl;
8215 case Builtin::BIcabsl:
8288 case Builtin::BI__builtin_fabsf:
8289 case Builtin::BI__builtin_fabs:
8290 case Builtin::BI__builtin_fabsl:
8291 case Builtin::BI__builtin_cabsf:
8292 case Builtin::BI__builtin_cabs:
8293 case Builtin::BI__builtin_cabsl:
8294 return Builtin::BI__builtin_abs;
8295 case Builtin::BIfabsf:
8296 case Builtin::BIfabs:
8297 case Builtin::BIfabsl:
8298 case Builtin::BIcabsf:
8299 case Builtin::BIcabs:
8300 case Builtin::BIcabsl:
8301 return Builtin::BIabs;
8307 case Builtin::BI__builtin_abs:
8308 case Builtin::BI__builtin_labs:
8309 case Builtin::BI__builtin_llabs:
8310 case Builtin::BI__builtin_cabsf:
8311 case Builtin::BI__builtin_cabs:
8312 case Builtin::BI__builtin_cabsl:
8313 return Builtin::BI__builtin_fabsf;
8314 case Builtin::BIabs:
8315 case Builtin::BIlabs:
8316 case Builtin::BIllabs:
8317 case Builtin::BIcabsf:
8318 case Builtin::BIcabs:
8319 case Builtin::BIcabsl:
8320 return Builtin::BIfabsf;
8326 case Builtin::BI__builtin_abs:
8327 case Builtin::BI__builtin_labs:
8328 case Builtin::BI__builtin_llabs:
8329 case Builtin::BI__builtin_fabsf:
8330 case Builtin::BI__builtin_fabs:
8331 case Builtin::BI__builtin_fabsl:
8332 return Builtin::BI__builtin_cabsf;
8333 case Builtin::BIabs:
8334 case Builtin::BIlabs:
8335 case Builtin::BIllabs:
8336 case Builtin::BIfabsf:
8337 case Builtin::BIfabs:
8338 case Builtin::BIfabsl:
8339 return Builtin::BIcabsf;
8353 case Builtin::BI__builtin_abs:
8354 case Builtin::BI__builtin_fabs:
8355 case Builtin::BI__builtin_fabsf:
8356 case Builtin::BI__builtin_fabsl:
8357 case Builtin::BI__builtin_labs:
8358 case Builtin::BI__builtin_llabs:
8359 case Builtin::BI__builtin_cabs:
8360 case Builtin::BI__builtin_cabsf:
8361 case Builtin::BI__builtin_cabsl:
8362 case Builtin::BIabs:
8363 case Builtin::BIlabs:
8364 case Builtin::BIllabs:
8365 case Builtin::BIfabs:
8366 case Builtin::BIfabsf:
8367 case Builtin::BIfabsl:
8368 case Builtin::BIcabs:
8369 case Builtin::BIcabsf:
8370 case Builtin::BIcabsl:
8373 llvm_unreachable("Unknown Builtin type");
8892 if (BId != Builtin::BImemset && BId != Builtin::BIbzero)
8896 Call->getArg(BId == Builtin::BImemset ? 2 : 1)->IgnoreImpCasts();
8915 if (BId == Builtin::BIbzero ||
8930 if (BId == Builtin::BImemset &&
8948 (BId == Builtin::BIstrndup || BId == Builtin::BIbzero ? 2 : 3);
8952 unsigned LastArg = (BId == Builtin::BImemset || BId == Builtin::BIbzero ||
8953 BId == Builtin::BIstrndup ? 1 : 2);
8955 (BId == Builtin::BIbzero || BId == Builtin::BIstrndup ? 1 : 2);
8974 if (BId == Builtin::BIbzero && !FirstArgTy->getAs<PointerType>())
9077 const bool IsCmp = BId == Builtin::BImemcmp || BId == Builtin::BIbcmp;
9081 if (BId == Builtin::BImemcpy)
9083 else if(BId == Builtin::BImemmove)
9095 BId != Builtin::BImemset)
9111 if ((BId == Builtin::BImemset || BId == Builtin::BIbzero) &&
9117 } else if ((BId == Builtin::BImemset || BId == Builtin::BIbzero) &&
9124 } else if ((BId == Builtin::BImemcpy || BId == Builtin::BImemmove) &&
9130 } else if ((BId == Builtin::BImemcpy || BId == Builtin::BImemmove) &&
9211 if (SizeCall->getBuiltinCallee() == Builtin::BIstrlen &&
9267 if (!FD || FD->getMemoryFunctionKind() != Builtin::BIstrlen)