Lines Matching defs:Builtin

325   bool IsBooleanAlignBuiltin = ID == Builtin::BI__builtin_is_aligned;
403 { Builtin::BI__builtin_add_overflow, "ckd_add" },
404 { Builtin::BI__builtin_sub_overflow, "ckd_sub" },
405 { Builtin::BI__builtin_mul_overflow, "ckd_mul" },
466 if (BuiltinID == Builtin::BI__builtin_mul_overflow) {
797 Expr *Builtin = BuiltinCall->getCallee()->IgnoreImpCasts();
843 Builtin =
844 S.ImpCastExprToType(Builtin, BuiltinPtrTy, CK_BuiltinFnToFnPtr).get();
849 BuiltinCall->setCallee(Builtin);
1260 case Builtin::BI__builtin_strcpy:
1261 case Builtin::BIstrcpy: {
1268 case Builtin::BI__builtin___strcpy_chk: {
1276 case Builtin::BIscanf:
1277 case Builtin::BIfscanf:
1278 case Builtin::BIsscanf: {
1281 if (BuiltinID == Builtin::BIscanf) {
1319 case Builtin::BIsprintf:
1320 case Builtin::BI__builtin___sprintf_chk: {
1321 size_t FormatIndex = BuiltinID == Builtin::BIsprintf ? 1 : 3;
1337 if (BuiltinID == Builtin::BI__builtin___sprintf_chk) {
1348 case Builtin::BI__builtin___memcpy_chk:
1349 case Builtin::BI__builtin___memmove_chk:
1350 case Builtin::BI__builtin___memset_chk:
1351 case Builtin::BI__builtin___strlcat_chk:
1352 case Builtin::BI__builtin___strlcpy_chk:
1353 case Builtin::BI__builtin___strncat_chk:
1354 case Builtin::BI__builtin___strncpy_chk:
1355 case Builtin::BI__builtin___stpncpy_chk:
1356 case Builtin::BI__builtin___memccpy_chk:
1357 case Builtin::BI__builtin___mempcpy_chk: {
1366 case Builtin::BI__builtin___snprintf_chk:
1367 case Builtin::BI__builtin___vsnprintf_chk: {
1375 case Builtin::BIstrncat:
1376 case Builtin::BI__builtin_strncat:
1377 case Builtin::BIstrncpy:
1378 case Builtin::BI__builtin_strncpy:
1379 case Builtin::BIstpncpy:
1380 case Builtin::BI__builtin_stpncpy: {
1392 case Builtin::BImemcpy:
1393 case Builtin::BI__builtin_memcpy:
1394 case Builtin::BImemmove:
1395 case Builtin::BI__builtin_memmove:
1396 case Builtin::BImemset:
1397 case Builtin::BI__builtin_memset:
1398 case Builtin::BImempcpy:
1399 case Builtin::BI__builtin_mempcpy: {
1405 case Builtin::BIsnprintf:
1406 case Builtin::BI__builtin_snprintf:
1407 case Builtin::BIvsnprintf:
1408 case Builtin::BI__builtin_vsnprintf: {
1648 Builtin::BI__builtin_ptrauth_blend_discriminator) {
1954 assert((BuiltinID == Builtin::BI__builtin_cpu_supports ||
1955 BuiltinID == Builtin::BI__builtin_cpu_is) &&
1958 bool IsCPUSupports = BuiltinID == Builtin::BI__builtin_cpu_supports;
2087 case Builtin::BI__builtin_cpu_supports:
2088 case Builtin::BI__builtin_cpu_is:
2093 case Builtin::BI__builtin_cpu_init:
2100 case Builtin::BI__builtin___CFStringMakeConstantString:
2112 case Builtin::BI__builtin_ms_va_start:
2113 case Builtin::BI__builtin_stdarg_start:
2114 case Builtin::BI__builtin_va_start:
2118 case Builtin::BI__va_start: {
2135 case Builtin::BI_interlockedbittestandset_acq:
2136 case Builtin::BI_interlockedbittestandset_rel:
2137 case Builtin::BI_interlockedbittestandset_nf:
2138 case Builtin::BI_interlockedbittestandreset_acq:
2139 case Builtin::BI_interlockedbittestandreset_rel:
2140 case Builtin::BI_interlockedbittestandreset_nf:
2148 case Builtin::BI_bittest64:
2149 case Builtin::BI_bittestandcomplement64:
2150 case Builtin::BI_bittestandreset64:
2151 case Builtin::BI_bittestandset64:
2152 case Builtin::BI_interlockedbittestandreset64:
2153 case Builtin::BI_interlockedbittestandset64:
2161 case Builtin::BI__builtin_set_flt_rounds:
2169 case Builtin::BI__builtin_isgreater:
2170 case Builtin::BI__builtin_isgreaterequal:
2171 case Builtin::BI__builtin_isless:
2172 case Builtin::BI__builtin_islessequal:
2173 case Builtin::BI__builtin_islessgreater:
2174 case Builtin::BI__builtin_isunordered:
2178 case Builtin::BI__builtin_fpclassify:
2182 case Builtin::BI__builtin_isfpclass:
2186 case Builtin::BI__builtin_isfinite:
2187 case Builtin::BI__builtin_isinf:
2188 case Builtin::BI__builtin_isinf_sign:
2189 case Builtin::BI__builtin_isnan:
2190 case Builtin::BI__builtin_issignaling:
2191 case Builtin::BI__builtin_isnormal:
2192 case Builtin::BI__builtin_issubnormal:
2193 case Builtin::BI__builtin_iszero:
2194 case Builtin::BI__builtin_signbit:
2195 case Builtin::BI__builtin_signbitf:
2196 case Builtin::BI__builtin_signbitl:
2200 case Builtin::BI__builtin_shufflevector:
2204 case Builtin::BI__builtin_prefetch:
2208 case Builtin::BI__builtin_alloca_with_align:
2209 case Builtin::BI__builtin_alloca_with_align_uninitialized:
2213 case Builtin::BI__builtin_alloca:
2214 case Builtin::BI__builtin_alloca_uninitialized:
2218 case Builtin::BI__arithmetic_fence:
2222 case Builtin::BI__assume:
2223 case Builtin::BI__builtin_assume:
2227 case Builtin::BI__builtin_assume_aligned:
2231 case Builtin::BI__builtin_dynamic_object_size:
2232 case Builtin::BI__builtin_object_size:
2236 case Builtin::BI__builtin_longjmp:
2240 case Builtin::BI__builtin_setjmp:
2244 case Builtin::BI__builtin_classify_type:
2249 case Builtin::BI__builtin_complex:
2253 case Builtin::BI__builtin_constant_p: {
2262 case Builtin::BI__builtin_launder:
2264 case Builtin::BI__sync_fetch_and_add:
2265 case Builtin::BI__sync_fetch_and_add_1:
2266 case Builtin::BI__sync_fetch_and_add_2:
2267 case Builtin::BI__sync_fetch_and_add_4:
2268 case Builtin::BI__sync_fetch_and_add_8:
2269 case Builtin::BI__sync_fetch_and_add_16:
2270 case Builtin::BI__sync_fetch_and_sub:
2271 case Builtin::BI__sync_fetch_and_sub_1:
2272 case Builtin::BI__sync_fetch_and_sub_2:
2273 case Builtin::BI__sync_fetch_and_sub_4:
2274 case Builtin::BI__sync_fetch_and_sub_8:
2275 case Builtin::BI__sync_fetch_and_sub_16:
2276 case Builtin::BI__sync_fetch_and_or:
2277 case Builtin::BI__sync_fetch_and_or_1:
2278 case Builtin::BI__sync_fetch_and_or_2:
2279 case Builtin::BI__sync_fetch_and_or_4:
2280 case Builtin::BI__sync_fetch_and_or_8:
2281 case Builtin::BI__sync_fetch_and_or_16:
2282 case Builtin::BI__sync_fetch_and_and:
2283 case Builtin::BI__sync_fetch_and_and_1:
2284 case Builtin::BI__sync_fetch_and_and_2:
2285 case Builtin::BI__sync_fetch_and_and_4:
2286 case Builtin::BI__sync_fetch_and_and_8:
2287 case Builtin::BI__sync_fetch_and_and_16:
2288 case Builtin::BI__sync_fetch_and_xor:
2289 case Builtin::BI__sync_fetch_and_xor_1:
2290 case Builtin::BI__sync_fetch_and_xor_2:
2291 case Builtin::BI__sync_fetch_and_xor_4:
2292 case Builtin::BI__sync_fetch_and_xor_8:
2293 case Builtin::BI__sync_fetch_and_xor_16:
2294 case Builtin::BI__sync_fetch_and_nand:
2295 case Builtin::BI__sync_fetch_and_nand_1:
2296 case Builtin::BI__sync_fetch_and_nand_2:
2297 case Builtin::BI__sync_fetch_and_nand_4:
2298 case Builtin::BI__sync_fetch_and_nand_8:
2299 case Builtin::BI__sync_fetch_and_nand_16:
2300 case Builtin::BI__sync_add_and_fetch:
2301 case Builtin::BI__sync_add_and_fetch_1:
2302 case Builtin::BI__sync_add_and_fetch_2:
2303 case Builtin::BI__sync_add_and_fetch_4:
2304 case Builtin::BI__sync_add_and_fetch_8:
2305 case Builtin::BI__sync_add_and_fetch_16:
2306 case Builtin::BI__sync_sub_and_fetch:
2307 case Builtin::BI__sync_sub_and_fetch_1:
2308 case Builtin::BI__sync_sub_and_fetch_2:
2309 case Builtin::BI__sync_sub_and_fetch_4:
2310 case Builtin::BI__sync_sub_and_fetch_8:
2311 case Builtin::BI__sync_sub_and_fetch_16:
2312 case Builtin::BI__sync_and_and_fetch:
2313 case Builtin::BI__sync_and_and_fetch_1:
2314 case Builtin::BI__sync_and_and_fetch_2:
2315 case Builtin::BI__sync_and_and_fetch_4:
2316 case Builtin::BI__sync_and_and_fetch_8:
2317 case Builtin::BI__sync_and_and_fetch_16:
2318 case Builtin::BI__sync_or_and_fetch:
2319 case Builtin::BI__sync_or_and_fetch_1:
2320 case Builtin::BI__sync_or_and_fetch_2:
2321 case Builtin::BI__sync_or_and_fetch_4:
2322 case Builtin::BI__sync_or_and_fetch_8:
2323 case Builtin::BI__sync_or_and_fetch_16:
2324 case Builtin::BI__sync_xor_and_fetch:
2325 case Builtin::BI__sync_xor_and_fetch_1:
2326 case Builtin::BI__sync_xor_and_fetch_2:
2327 case Builtin::BI__sync_xor_and_fetch_4:
2328 case Builtin::BI__sync_xor_and_fetch_8:
2329 case Builtin::BI__sync_xor_and_fetch_16:
2330 case Builtin::BI__sync_nand_and_fetch:
2331 case Builtin::BI__sync_nand_and_fetch_1:
2332 case Builtin::BI__sync_nand_and_fetch_2:
2333 case Builtin::BI__sync_nand_and_fetch_4:
2334 case Builtin::BI__sync_nand_and_fetch_8:
2335 case Builtin::BI__sync_nand_and_fetch_16:
2336 case Builtin::BI__sync_val_compare_and_swap:
2337 case Builtin::BI__sync_val_compare_and_swap_1:
2338 case Builtin::BI__sync_val_compare_and_swap_2:
2339 case Builtin::BI__sync_val_compare_and_swap_4:
2340 case Builtin::BI__sync_val_compare_and_swap_8:
2341 case Builtin::BI__sync_val_compare_and_swap_16:
2342 case Builtin::BI__sync_bool_compare_and_swap:
2343 case Builtin::BI__sync_bool_compare_and_swap_1:
2344 case Builtin::BI__sync_bool_compare_and_swap_2:
2345 case Builtin::BI__sync_bool_compare_and_swap_4:
2346 case Builtin::BI__sync_bool_compare_and_swap_8:
2347 case Builtin::BI__sync_bool_compare_and_swap_16:
2348 case Builtin::BI__sync_lock_test_and_set:
2349 case Builtin::BI__sync_lock_test_and_set_1:
2350 case Builtin::BI__sync_lock_test_and_set_2:
2351 case Builtin::BI__sync_lock_test_and_set_4:
2352 case Builtin::BI__sync_lock_test_and_set_8:
2353 case Builtin::BI__sync_lock_test_and_set_16:
2354 case Builtin::BI__sync_lock_release:
2355 case Builtin::BI__sync_lock_release_1:
2356 case Builtin::BI__sync_lock_release_2:
2357 case Builtin::BI__sync_lock_release_4:
2358 case Builtin::BI__sync_lock_release_8:
2359 case Builtin::BI__sync_lock_release_16:
2360 case Builtin::BI__sync_swap:
2361 case Builtin::BI__sync_swap_1:
2362 case Builtin::BI__sync_swap_2:
2363 case Builtin::BI__sync_swap_4:
2364 case Builtin::BI__sync_swap_8:
2365 case Builtin::BI__sync_swap_16:
2367 case Builtin::BI__sync_synchronize:
2371 case Builtin::BI__builtin_nontemporal_load:
2372 case Builtin::BI__builtin_nontemporal_store:
2374 case Builtin::BI__builtin_memcpy_inline: {
2387 case Builtin::BI__builtin_memset_inline: {
2400 case Builtin::BI##ID: \
2403 case Builtin::BI__annotation:
2407 case Builtin::BI__builtin_annotation:
2411 case Builtin::BI__builtin_addressof:
2415 case Builtin::BI__builtin_function_start:
2419 case Builtin::BI__builtin_is_aligned:
2420 case Builtin::BI__builtin_align_up:
2421 case Builtin::BI__builtin_align_down:
2425 case Builtin::BI__builtin_add_overflow:
2426 case Builtin::BI__builtin_sub_overflow:
2427 case Builtin::BI__builtin_mul_overflow:
2431 case Builtin::BI__builtin_operator_new:
2432 case Builtin::BI__builtin_operator_delete: {
2433 bool IsDelete = BuiltinID == Builtin::BI__builtin_operator_delete;
2440 case Builtin::BI__builtin_dump_struct:
2442 case Builtin::BI__builtin_expect_with_probability: {
2471 case Builtin::BI__builtin_preserve_access_index:
2475 case Builtin::BI__builtin_call_with_static_chain:
2479 case Builtin::BI__exception_code:
2480 case Builtin::BI_exception_code:
2485 case Builtin::BI__exception_info:
2486 case Builtin::BI_exception_info:
2491 case Builtin::BI__GetExceptionInfo:
2503 case Builtin::BIaddressof:
2504 case Builtin::BI__addressof:
2505 case Builtin::BIforward:
2506 case Builtin::BIforward_like:
2507 case Builtin::BImove:
2508 case Builtin::BImove_if_noexcept:
2509 case Builtin::BIas_const: {
2517 bool ReturnsPointer = BuiltinID == Builtin::BIaddressof ||
2518 BuiltinID == Builtin::BI__addressof;
2530 case Builtin::BI__builtin_ptrauth_strip:
2532 case Builtin::BI__builtin_ptrauth_blend_discriminator:
2534 case Builtin::BI__builtin_ptrauth_sign_constant:
2537 case Builtin::BI__builtin_ptrauth_sign_unauthenticated:
2540 case Builtin::BI__builtin_ptrauth_auth:
2543 case Builtin::BI__builtin_ptrauth_sign_generic_data:
2545 case Builtin::BI__builtin_ptrauth_auth_and_resign:
2547 case Builtin::BI__builtin_ptrauth_string_discriminator:
2550 case Builtin::BIread_pipe:
2551 case Builtin::BIwrite_pipe:
2557 case Builtin::BIreserve_read_pipe:
2558 case Builtin::BIreserve_write_pipe:
2559 case Builtin::BIwork_group_reserve_read_pipe:
2560 case Builtin::BIwork_group_reserve_write_pipe:
2564 case Builtin::BIsub_group_reserve_read_pipe:
2565 case Builtin::BIsub_group_reserve_write_pipe:
2570 case Builtin::BIcommit_read_pipe:
2571 case Builtin::BIcommit_write_pipe:
2572 case Builtin::BIwork_group_commit_read_pipe:
2573 case Builtin::BIwork_group_commit_write_pipe:
2577 case Builtin::BIsub_group_commit_read_pipe:
2578 case Builtin::BIsub_group_commit_write_pipe:
2583 case Builtin::BIget_pipe_num_packets:
2584 case Builtin::BIget_pipe_max_packets:
2588 case Builtin::BIto_global:
2589 case Builtin::BIto_local:
2590 case Builtin::BIto_private:
2595 case Builtin::BIenqueue_kernel:
2599 case Builtin::BIget_kernel_work_group_size:
2600 case Builtin::BIget_kernel_preferred_work_group_size_multiple:
2604 case Builtin::BIget_kernel_max_sub_group_size_for_ndrange:
2605 case Builtin::BIget_kernel_sub_group_count_for_ndrange:
2609 case Builtin::BI__builtin_os_log_format:
2612 case Builtin::BI__builtin_os_log_format_buffer_size:
2616 case Builtin::BI__builtin_frame_address:
2617 case Builtin::BI__builtin_return_address: {
2628 << ((BuiltinID == Builtin::BI__builtin_return_address)
2635 case Builtin::BI__builtin_nondeterministic_value: {
2643 case Builtin::BI__builtin_elementwise_abs: {
2663 case Builtin::BI__builtin_elementwise_acos:
2664 case Builtin::BI__builtin_elementwise_asin:
2665 case Builtin::BI__builtin_elementwise_atan:
2666 case Builtin::BI__builtin_elementwise_ceil:
2667 case Builtin::BI__builtin_elementwise_cos:
2668 case Builtin::BI__builtin_elementwise_cosh:
2669 case Builtin::BI__builtin_elementwise_exp:
2670 case Builtin::BI__builtin_elementwise_exp2:
2671 case Builtin::BI__builtin_elementwise_floor:
2672 case Builtin::BI__builtin_elementwise_log:
2673 case Builtin::BI__builtin_elementwise_log2:
2674 case Builtin::BI__builtin_elementwise_log10:
2675 case Builtin::BI__builtin_elementwise_roundeven:
2676 case Builtin::BI__builtin_elementwise_round:
2677 case Builtin::BI__builtin_elementwise_rint:
2678 case Builtin::BI__builtin_elementwise_nearbyint:
2679 case Builtin::BI__builtin_elementwise_sin:
2680 case Builtin::BI__builtin_elementwise_sinh:
2681 case Builtin::BI__builtin_elementwise_sqrt:
2682 case Builtin::BI__builtin_elementwise_tan:
2683 case Builtin::BI__builtin_elementwise_tanh:
2684 case Builtin::BI__builtin_elementwise_trunc:
2685 case Builtin::BI__builtin_elementwise_canonicalize: {
2695 case Builtin::BI__builtin_elementwise_fma: {
2703 case Builtin::BI__builtin_elementwise_pow: {
2718 case Builtin::BI__builtin_elementwise_add_sat:
2719 case Builtin::BI__builtin_elementwise_sub_sat: {
2738 case Builtin::BI__builtin_elementwise_min:
2739 case Builtin::BI__builtin_elementwise_max:
2744 case Builtin::BI__builtin_elementwise_bitreverse: {
2763 case Builtin::BI__builtin_elementwise_copysign: {
2792 case Builtin::BI__builtin_reduce_max:
2793 case Builtin::BI__builtin_reduce_min: {
2818 case Builtin::BI__builtin_reduce_add:
2819 case Builtin::BI__builtin_reduce_mul:
2820 case Builtin::BI__builtin_reduce_xor:
2821 case Builtin::BI__builtin_reduce_or:
2822 case Builtin::BI__builtin_reduce_and: {
2845 case Builtin::BI__builtin_matrix_transpose:
2848 case Builtin::BI__builtin_matrix_column_major_load:
2851 case Builtin::BI__builtin_matrix_column_major_store:
2854 case Builtin::BI__builtin_verbose_trap:
2859 case Builtin::BI__builtin_get_device_side_mangled_name: {
2879 case Builtin::BI__builtin_popcountg:
2883 case Builtin::BI__builtin_clzg:
2884 case Builtin::BI__builtin_ctzg:
2889 case Builtin::BI__builtin_allow_runtime_check: {
2909 "Aux Target Builtin, but not an aux target?");
3175 (!FD || FD->getBuiltinID() != Builtin::BI__noop)) {
3425 case Builtin::BIstrlcpy: // fallthrough
3426 case Builtin::BIstrlcat:
3429 case Builtin::BIstrncat:
3432 case Builtin::BIfree:
4196 { Builtin::BI##x##_1, Builtin::BI##x##_2, Builtin::BI##x##_4, \
4197 Builtin::BI##x##_8, Builtin::BI##x##_16 }
4245 case Builtin::BI__sync_fetch_and_add:
4246 case Builtin::BI__sync_fetch_and_add_1:
4247 case Builtin::BI__sync_fetch_and_add_2:
4248 case Builtin::BI__sync_fetch_and_add_4:
4249 case Builtin::BI__sync_fetch_and_add_8:
4250 case Builtin::BI__sync_fetch_and_add_16:
4254 case Builtin::BI__sync_fetch_and_sub:
4255 case Builtin::BI__sync_fetch_and_sub_1:
4256 case Builtin::BI__sync_fetch_and_sub_2:
4257 case Builtin::BI__sync_fetch_and_sub_4:
4258 case Builtin::BI__sync_fetch_and_sub_8:
4259 case Builtin::BI__sync_fetch_and_sub_16:
4263 case Builtin::BI__sync_fetch_and_or:
4264 case Builtin::BI__sync_fetch_and_or_1:
4265 case Builtin::BI__sync_fetch_and_or_2:
4266 case Builtin::BI__sync_fetch_and_or_4:
4267 case Builtin::BI__sync_fetch_and_or_8:
4268 case Builtin::BI__sync_fetch_and_or_16:
4272 case Builtin::BI__sync_fetch_and_and:
4273 case Builtin::BI__sync_fetch_and_and_1:
4274 case Builtin::BI__sync_fetch_and_and_2:
4275 case Builtin::BI__sync_fetch_and_and_4:
4276 case Builtin::BI__sync_fetch_and_and_8:
4277 case Builtin::BI__sync_fetch_and_and_16:
4281 case Builtin::BI__sync_fetch_and_xor:
4282 case Builtin::BI__sync_fetch_and_xor_1:
4283 case Builtin::BI__sync_fetch_and_xor_2:
4284 case Builtin::BI__sync_fetch_and_xor_4:
4285 case Builtin::BI__sync_fetch_and_xor_8:
4286 case Builtin::BI__sync_fetch_and_xor_16:
4290 case Builtin::BI__sync_fetch_and_nand:
4291 case Builtin::BI__sync_fetch_and_nand_1:
4292 case Builtin::BI__sync_fetch_and_nand_2:
4293 case Builtin::BI__sync_fetch_and_nand_4:
4294 case Builtin::BI__sync_fetch_and_nand_8:
4295 case Builtin::BI__sync_fetch_and_nand_16:
4300 case Builtin::BI__sync_add_and_fetch:
4301 case Builtin::BI__sync_add_and_fetch_1:
4302 case Builtin::BI__sync_add_and_fetch_2:
4303 case Builtin::BI__sync_add_and_fetch_4:
4304 case Builtin::BI__sync_add_and_fetch_8:
4305 case Builtin::BI__sync_add_and_fetch_16:
4309 case Builtin::BI__sync_sub_and_fetch:
4310 case Builtin::BI__sync_sub_and_fetch_1:
4311 case Builtin::BI__sync_sub_and_fetch_2:
4312 case Builtin::BI__sync_sub_and_fetch_4:
4313 case Builtin::BI__sync_sub_and_fetch_8:
4314 case Builtin::BI__sync_sub_and_fetch_16:
4318 case Builtin::BI__sync_and_and_fetch:
4319 case Builtin::BI__sync_and_and_fetch_1:
4320 case Builtin::BI__sync_and_and_fetch_2:
4321 case Builtin::BI__sync_and_and_fetch_4:
4322 case Builtin::BI__sync_and_and_fetch_8:
4323 case Builtin::BI__sync_and_and_fetch_16:
4327 case Builtin::BI__sync_or_and_fetch:
4328 case Builtin::BI__sync_or_and_fetch_1:
4329 case Builtin::BI__sync_or_and_fetch_2:
4330 case Builtin::BI__sync_or_and_fetch_4:
4331 case Builtin::BI__sync_or_and_fetch_8:
4332 case Builtin::BI__sync_or_and_fetch_16:
4336 case Builtin::BI__sync_xor_and_fetch:
4337 case Builtin::BI__sync_xor_and_fetch_1:
4338 case Builtin::BI__sync_xor_and_fetch_2:
4339 case Builtin::BI__sync_xor_and_fetch_4:
4340 case Builtin::BI__sync_xor_and_fetch_8:
4341 case Builtin::BI__sync_xor_and_fetch_16:
4345 case Builtin::BI__sync_nand_and_fetch:
4346 case Builtin::BI__sync_nand_and_fetch_1:
4347 case Builtin::BI__sync_nand_and_fetch_2:
4348 case Builtin::BI__sync_nand_and_fetch_4:
4349 case Builtin::BI__sync_nand_and_fetch_8:
4350 case Builtin::BI__sync_nand_and_fetch_16:
4355 case Builtin::BI__sync_val_compare_and_swap:
4356 case Builtin::BI__sync_val_compare_and_swap_1:
4357 case Builtin::BI__sync_val_compare_and_swap_2:
4358 case Builtin::BI__sync_val_compare_and_swap_4:
4359 case Builtin::BI__sync_val_compare_and_swap_8:
4360 case Builtin::BI__sync_val_compare_and_swap_16:
4365 case Builtin::BI__sync_bool_compare_and_swap:
4366 case Builtin::BI__sync_bool_compare_and_swap_1:
4367 case Builtin::BI__sync_bool_compare_and_swap_2:
4368 case Builtin::BI__sync_bool_compare_and_swap_4:
4369 case Builtin::BI__sync_bool_compare_and_swap_8:
4370 case Builtin::BI__sync_bool_compare_and_swap_16:
4376 case Builtin::BI__sync_lock_test_and_set:
4377 case Builtin::BI__sync_lock_test_and_set_1:
4378 case Builtin::BI__sync_lock_test_and_set_2:
4379 case Builtin::BI__sync_lock_test_and_set_4:
4380 case Builtin::BI__sync_lock_test_and_set_8:
4381 case Builtin::BI__sync_lock_test_and_set_16:
4385 case Builtin::BI__sync_lock_release:
4386 case Builtin::BI__sync_lock_release_1:
4387 case Builtin::BI__sync_lock_release_2:
4388 case Builtin::BI__sync_lock_release_4:
4389 case Builtin::BI__sync_lock_release_8:
4390 case Builtin::BI__sync_lock_release_16:
4396 case Builtin::BI__sync_swap:
4397 case Builtin::BI__sync_swap_1:
4398 case Builtin::BI__sync_swap_2:
4399 case Builtin::BI__sync_swap_4:
4400 case Builtin::BI__sync_swap_8:
4401 case Builtin::BI__sync_swap_16:
4501 assert((BuiltinID == Builtin::BI__builtin_nontemporal_store ||
4502 BuiltinID == Builtin::BI__builtin_nontemporal_load) &&
4504 bool isStore = BuiltinID == Builtin::BI__builtin_nontemporal_store;
4594 bool IsMSVAStart = BuiltinID == Builtin::BI__builtin_ms_va_start;
4802 if (BuiltinID == Builtin::BI__builtin_isunordered &&
4844 if (FPO.getNoHonorInfs() && (BuiltinID == Builtin::BI__builtin_isfinite ||
4845 BuiltinID == Builtin::BI__builtin_isinf ||
4846 BuiltinID == Builtin::BI__builtin_isinf_sign))
4850 if (FPO.getNoHonorNaNs() && (BuiltinID == Builtin::BI__builtin_isnan ||
4851 BuiltinID == Builtin::BI__builtin_isunordered))
5227 bool IsSizeCall = BuiltinID == Builtin::BI__builtin_os_log_format_buffer_size;
5890 if (BuiltinID == Builtin::BI__builtin___CFStringMakeConstantString ||
5891 BuiltinID == Builtin::BI__builtin___NSStringMakeConstantString) {
7908 case Builtin::BI__builtin_abs:
7909 return Builtin::BI__builtin_labs;
7910 case Builtin::BI__builtin_labs:
7911 return Builtin::BI__builtin_llabs;
7912 case Builtin::BI__builtin_llabs:
7915 case Builtin::BI__builtin_fabsf:
7916 return Builtin::BI__builtin_fabs;
7917 case Builtin::BI__builtin_fabs:
7918 return Builtin::BI__builtin_fabsl;
7919 case Builtin::BI__builtin_fabsl:
7922 case Builtin::BI__builtin_cabsf:
7923 return Builtin::BI__builtin_cabs;
7924 case Builtin::BI__builtin_cabs:
7925 return Builtin::BI__builtin_cabsl;
7926 case Builtin::BI__builtin_cabsl:
7929 case Builtin::BIabs:
7930 return Builtin::BIlabs;
7931 case Builtin::BIlabs:
7932 return Builtin::BIllabs;
7933 case Builtin::BIllabs:
7936 case Builtin::BIfabsf:
7937 return Builtin::BIfabs;
7938 case Builtin::BIfabs:
7939 return Builtin::BIfabsl;
7940 case Builtin::BIfabsl:
7943 case Builtin::BIcabsf:
7944 return Builtin::BIcabs;
7945 case Builtin::BIcabs:
7946 return Builtin::BIcabsl;
7947 case Builtin::BIcabsl:
8020 case Builtin::BI__builtin_fabsf:
8021 case Builtin::BI__builtin_fabs:
8022 case Builtin::BI__builtin_fabsl:
8023 case Builtin::BI__builtin_cabsf:
8024 case Builtin::BI__builtin_cabs:
8025 case Builtin::BI__builtin_cabsl:
8026 return Builtin::BI__builtin_abs;
8027 case Builtin::BIfabsf:
8028 case Builtin::BIfabs:
8029 case Builtin::BIfabsl:
8030 case Builtin::BIcabsf:
8031 case Builtin::BIcabs:
8032 case Builtin::BIcabsl:
8033 return Builtin::BIabs;
8039 case Builtin::BI__builtin_abs:
8040 case Builtin::BI__builtin_labs:
8041 case Builtin::BI__builtin_llabs:
8042 case Builtin::BI__builtin_cabsf:
8043 case Builtin::BI__builtin_cabs:
8044 case Builtin::BI__builtin_cabsl:
8045 return Builtin::BI__builtin_fabsf;
8046 case Builtin::BIabs:
8047 case Builtin::BIlabs:
8048 case Builtin::BIllabs:
8049 case Builtin::BIcabsf:
8050 case Builtin::BIcabs:
8051 case Builtin::BIcabsl:
8052 return Builtin::BIfabsf;
8058 case Builtin::BI__builtin_abs:
8059 case Builtin::BI__builtin_labs:
8060 case Builtin::BI__builtin_llabs:
8061 case Builtin::BI__builtin_fabsf:
8062 case Builtin::BI__builtin_fabs:
8063 case Builtin::BI__builtin_fabsl:
8064 return Builtin::BI__builtin_cabsf;
8065 case Builtin::BIabs:
8066 case Builtin::BIlabs:
8067 case Builtin::BIllabs:
8068 case Builtin::BIfabsf:
8069 case Builtin::BIfabs:
8070 case Builtin::BIfabsl:
8071 return Builtin::BIcabsf;
8085 case Builtin::BI__builtin_abs:
8086 case Builtin::BI__builtin_fabs:
8087 case Builtin::BI__builtin_fabsf:
8088 case Builtin::BI__builtin_fabsl:
8089 case Builtin::BI__builtin_labs:
8090 case Builtin::BI__builtin_llabs:
8091 case Builtin::BI__builtin_cabs:
8092 case Builtin::BI__builtin_cabsf:
8093 case Builtin::BI__builtin_cabsl:
8094 case Builtin::BIabs:
8095 case Builtin::BIlabs:
8096 case Builtin::BIllabs:
8097 case Builtin::BIfabs:
8098 case Builtin::BIfabsf:
8099 case Builtin::BIfabsl:
8100 case Builtin::BIcabs:
8101 case Builtin::BIcabsf:
8102 case Builtin::BIcabsl:
8105 llvm_unreachable("Unknown Builtin type");
8209 (Call->getBuiltinCallee() == Builtin::BI__builtin_nanf)) &&
8581 if (BId != Builtin::BImemset && BId != Builtin::BIbzero)
8585 Call->getArg(BId == Builtin::BImemset ? 2 : 1)->IgnoreImpCasts();
8604 if (BId == Builtin::BIbzero ||
8619 if (BId == Builtin::BImemset &&
8637 (BId == Builtin::BIstrndup || BId == Builtin::BIbzero ? 2 : 3);
8641 unsigned LastArg = (BId == Builtin::BImemset || BId == Builtin::BIbzero ||
8642 BId == Builtin::BIstrndup ? 1 : 2);
8644 (BId == Builtin::BIbzero || BId == Builtin::BIstrndup ? 1 : 2);
8663 if (BId == Builtin::BIbzero && !FirstArgTy->getAs<PointerType>())
8766 const bool IsCmp = BId == Builtin::BImemcmp || BId == Builtin::BIbcmp;
8770 if (BId == Builtin::BImemcpy)
8772 else if(BId == Builtin::BImemmove)
8784 BId != Builtin::BImemset)
8791 if ((BId == Builtin::BImemset || BId == Builtin::BIbzero) &&
8797 } else if ((BId == Builtin::BImemcpy || BId == Builtin::BImemmove) &&
8877 if (SizeCall->getBuiltinCallee() == Builtin::BIstrlen &&
8933 if (!FD || FD->getMemoryFunctionKind() != Builtin::BIstrlen)