Home | History | Annotate | Download | only in Sema

Lines Matching defs:BUILTIN

181   Expr *Builtin = BuiltinCall->getCallee()->IgnoreImpCasts();
227 Builtin =
228 S.ImpCastExprToType(Builtin, BuiltinPtrTy, CK_BuiltinFnToFnPtr).get();
233 BuiltinCall->setCallee(Builtin);
242 // Scopes aren't available during instantiation. Fortunately, builtin
285 case Builtin::BI__builtin___CFStringMakeConstantString:
287 "Wrong # arguments to builtin CFStringMakeConstantString");
291 case Builtin::BI__builtin_stdarg_start:
292 case Builtin::BI__builtin_va_start:
296 case Builtin::BI__va_start: {
310 case Builtin::BI__builtin_isgreater:
311 case Builtin::BI__builtin_isgreaterequal:
312 case Builtin::BI__builtin_isless:
313 case Builtin::BI__builtin_islessequal:
314 case Builtin::BI__builtin_islessgreater:
315 case Builtin::BI__builtin_isunordered:
319 case Builtin::BI__builtin_fpclassify:
323 case Builtin::BI__builtin_isfinite:
324 case Builtin::BI__builtin_isinf:
325 case Builtin::BI__builtin_isinf_sign:
326 case Builtin::BI__builtin_isnan:
327 case Builtin::BI__builtin_isnormal:
331 case Builtin::BI__builtin_shufflevector:
335 case Builtin::BI__builtin_prefetch:
339 case Builtin::BI__assume:
340 case Builtin::BI__builtin_assume:
344 case Builtin::BI__builtin_assume_aligned:
348 case Builtin::BI__builtin_object_size:
352 case Builtin::BI__builtin_longjmp:
356 case Builtin::BI__builtin_setjmp:
360 case Builtin::BI_setjmp:
361 case Builtin::BI_setjmpex:
366 case Builtin::BI__builtin_classify_type:
370 case Builtin::BI__builtin_constant_p:
374 case Builtin::BI__sync_fetch_and_add:
375 case Builtin::BI__sync_fetch_and_add_1:
376 case Builtin::BI__sync_fetch_and_add_2:
377 case Builtin::BI__sync_fetch_and_add_4:
378 case Builtin::BI__sync_fetch_and_add_8:
379 case Builtin::BI__sync_fetch_and_add_16:
380 case Builtin::BI__sync_fetch_and_sub:
381 case Builtin::BI__sync_fetch_and_sub_1:
382 case Builtin::BI__sync_fetch_and_sub_2:
383 case Builtin::BI__sync_fetch_and_sub_4:
384 case Builtin::BI__sync_fetch_and_sub_8:
385 case Builtin::BI__sync_fetch_and_sub_16:
386 case Builtin::BI__sync_fetch_and_or:
387 case Builtin::BI__sync_fetch_and_or_1:
388 case Builtin::BI__sync_fetch_and_or_2:
389 case Builtin::BI__sync_fetch_and_or_4:
390 case Builtin::BI__sync_fetch_and_or_8:
391 case Builtin::BI__sync_fetch_and_or_16:
392 case Builtin::BI__sync_fetch_and_and:
393 case Builtin::BI__sync_fetch_and_and_1:
394 case Builtin::BI__sync_fetch_and_and_2:
395 case Builtin::BI__sync_fetch_and_and_4:
396 case Builtin::BI__sync_fetch_and_and_8:
397 case Builtin::BI__sync_fetch_and_and_16:
398 case Builtin::BI__sync_fetch_and_xor:
399 case Builtin::BI__sync_fetch_and_xor_1:
400 case Builtin::BI__sync_fetch_and_xor_2:
401 case Builtin::BI__sync_fetch_and_xor_4:
402 case Builtin::BI__sync_fetch_and_xor_8:
403 case Builtin::BI__sync_fetch_and_xor_16:
404 case Builtin::BI__sync_fetch_and_nand:
405 case Builtin::BI__sync_fetch_and_nand_1:
406 case Builtin::BI__sync_fetch_and_nand_2:
407 case Builtin::BI__sync_fetch_and_nand_4:
408 case Builtin::BI__sync_fetch_and_nand_8:
409 case Builtin::BI__sync_fetch_and_nand_16:
410 case Builtin::BI__sync_add_and_fetch:
411 case Builtin::BI__sync_add_and_fetch_1:
412 case Builtin::BI__sync_add_and_fetch_2:
413 case Builtin::BI__sync_add_and_fetch_4:
414 case Builtin::BI__sync_add_and_fetch_8:
415 case Builtin::BI__sync_add_and_fetch_16:
416 case Builtin::BI__sync_sub_and_fetch:
417 case Builtin::BI__sync_sub_and_fetch_1:
418 case Builtin::BI__sync_sub_and_fetch_2:
419 case Builtin::BI__sync_sub_and_fetch_4:
420 case Builtin::BI__sync_sub_and_fetch_8:
421 case Builtin::BI__sync_sub_and_fetch_16:
422 case Builtin::BI__sync_and_and_fetch:
423 case Builtin::BI__sync_and_and_fetch_1:
424 case Builtin::BI__sync_and_and_fetch_2:
425 case Builtin::BI__sync_and_and_fetch_4:
426 case Builtin::BI__sync_and_and_fetch_8:
427 case Builtin::BI__sync_and_and_fetch_16:
428 case Builtin::BI__sync_or_and_fetch:
429 case Builtin::BI__sync_or_and_fetch_1:
430 case Builtin::BI__sync_or_and_fetch_2:
431 case Builtin::BI__sync_or_and_fetch_4:
432 case Builtin::BI__sync_or_and_fetch_8:
433 case Builtin::BI__sync_or_and_fetch_16:
434 case Builtin::BI__sync_xor_and_fetch:
435 case Builtin::BI__sync_xor_and_fetch_1:
436 case Builtin::BI__sync_xor_and_fetch_2:
437 case Builtin::BI__sync_xor_and_fetch_4:
438 case Builtin::BI__sync_xor_and_fetch_8:
439 case Builtin::BI__sync_xor_and_fetch_16:
440 case Builtin::BI__sync_nand_and_fetch:
441 case Builtin::BI__sync_nand_and_fetch_1:
442 case Builtin::BI__sync_nand_and_fetch_2:
443 case Builtin::BI__sync_nand_and_fetch_4:
444 case Builtin::BI__sync_nand_and_fetch_8:
445 case Builtin::BI__sync_nand_and_fetch_16:
446 case Builtin::BI__sync_val_compare_and_swap:
447 case Builtin::BI__sync_val_compare_and_swap_1:
448 case Builtin::BI__sync_val_compare_and_swap_2:
449 case Builtin::BI__sync_val_compare_and_swap_4:
450 case Builtin::BI__sync_val_compare_and_swap_8:
451 case Builtin::BI__sync_val_compare_and_swap_16:
452 case Builtin::BI__sync_bool_compare_and_swap:
453 case Builtin::BI__sync_bool_compare_and_swap_1:
454 case Builtin::BI__sync_bool_compare_and_swap_2:
455 case Builtin::BI__sync_bool_compare_and_swap_4:
456 case Builtin::BI__sync_bool_compare_and_swap_8:
457 case Builtin::BI__sync_bool_compare_and_swap_16:
458 case Builtin
459 case Builtin::BI__sync_lock_test_and_set_1:
460 case Builtin::BI__sync_lock_test_and_set_2:
461 case Builtin::BI__sync_lock_test_and_set_4:
462 case Builtin::BI__sync_lock_test_and_set_8:
463 case Builtin::BI__sync_lock_test_and_set_16:
464 case Builtin::BI__sync_lock_release:
465 case Builtin::BI__sync_lock_release_1:
466 case Builtin::BI__sync_lock_release_2:
467 case Builtin::BI__sync_lock_release_4:
468 case Builtin::BI__sync_lock_release_8:
469 case Builtin::BI__sync_lock_release_16:
470 case Builtin::BI__sync_swap:
471 case Builtin::BI__sync_swap_1:
472 case Builtin::BI__sync_swap_2:
473 case Builtin::BI__sync_swap_4:
474 case Builtin::BI__sync_swap_8:
475 case Builtin::BI__sync_swap_16:
477 case Builtin::BI__builtin_nontemporal_load:
478 case Builtin::BI__builtin_nontemporal_store:
480 #define BUILTIN(ID, TYPE, ATTRS)
482 case Builtin::BI##ID: \
485 case Builtin::BI__builtin_annotation:
489 case Builtin::BI__builtin_addressof:
493 case Builtin::BI__builtin_add_overflow:
494 case Builtin::BI__builtin_sub_overflow:
495 case Builtin::BI__builtin_mul_overflow:
499 case Builtin::BI__builtin_operator_new:
500 case Builtin::BI__builtin_operator_delete:
503 << (BuiltinID == Builtin::BI__builtin_operator_new
516 case Builtin::BI__builtin___memcpy_chk:
517 case Builtin::BI__builtin___memmove_chk:
518 case Builtin::BI__builtin___memset_chk:
519 case Builtin::BI__builtin___strlcat_chk:
520 case Builtin::BI__builtin___strlcpy_chk:
521 case Builtin::BI__builtin___strncat_chk:
522 case Builtin::BI__builtin___strncpy_chk:
523 case Builtin::BI__builtin___stpncpy_chk:
526 case Builtin::BI__builtin___memccpy_chk:
529 case Builtin::BI__builtin___snprintf_chk:
530 case Builtin::BI__builtin___vsnprintf_chk:
534 case Builtin::BI__builtin_call_with_static_chain:
539 case Builtin::BI__exception_code:
540 case Builtin::BI_exception_code: {
546 case Builtin::BI__exception_info:
547 case Builtin::BI_exception_info: {
554 case Builtin::BI__GetExceptionInfo:
760 "unexpected ARM builtin");
772 // Inspect the pointer argument of the atomic builtin. This should always be
1470 if (CMId == Builtin::BIstrlcpy || CMId == Builtin::BIstrlcat)
1472 else if (CMId == Builtin::BIstrncat)
1691 // For a __c11 builtin, this should be a pointer to an _Atomic type.
1892 /// checkBuiltinArgument - Given a call to a builtin function, perform
1894 /// place. This is useful when a builtin function requires custom
1901 assert(Fn && "builtin call without direct callee!");
1938 // Inspect the first argument of the atomic builtin. This should always be
1986 // We need to figure out which concrete builtin this maps onto. For example,
1990 { Builtin::BI##x##_1, Builtin::BI##x##_2, Builtin::BI##x##_4, \
1991 Builtin::BI##x##_8, Builtin::BI##x##_16 }
2038 default: llvm_unreachable("Unknown overloaded atomic builtin!");
2039 case Builtin::BI__sync_fetch_and_add:
2040 case Builtin::BI__sync_fetch_and_add_1:
2041 case Builtin::BI__sync_fetch_and_add_2:
2042 case Builtin::BI__sync_fetch_and_add_4:
2043 case Builtin::BI__sync_fetch_and_add_8:
2044 case Builtin::BI__sync_fetch_and_add_16:
2048 case Builtin::BI__sync_fetch_and_sub:
2049 case Builtin::BI__sync_fetch_and_sub_1:
2050 case Builtin::BI__sync_fetch_and_sub_2:
2051 case Builtin::BI__sync_fetch_and_sub_4:
2052 case Builtin::BI__sync_fetch_and_sub_8:
2053 case Builtin::BI__sync_fetch_and_sub_16:
2057 case Builtin::BI__sync_fetch_and_or:
2058 case Builtin::BI__sync_fetch_and_or_1:
2059 case Builtin::BI__sync_fetch_and_or_2:
2060 case Builtin::BI__sync_fetch_and_or_4:
2061 case Builtin::BI__sync_fetch_and_or_8:
2062 case Builtin::BI__sync_fetch_and_or_16:
2066 case Builtin::BI__sync_fetch_and_and:
2067 case Builtin::BI__sync_fetch_and_and_1:
2068 case Builtin::BI__sync_fetch_and_and_2:
2069 case Builtin::BI__sync_fetch_and_and_4:
2070 case Builtin::BI__sync_fetch_and_and_8:
2071 case Builtin::BI__sync_fetch_and_and_16:
2075 case Builtin::BI__sync_fetch_and_xor:
2076 case Builtin::BI__sync_fetch_and_xor_1:
2077 case Builtin::BI__sync_fetch_and_xor_2:
2078 case Builtin::BI__sync_fetch_and_xor_4:
2079 case Builtin::BI__sync_fetch_and_xor_8:
2080 case Builtin::BI__sync_fetch_and_xor_16:
2084 case Builtin::BI__sync_fetch_and_nand:
2085 case Builtin::BI__sync_fetch_and_nand_1:
2086 case Builtin::BI__sync_fetch_and_nand_2:
2087 case Builtin::BI__sync_fetch_and_nand_4:
2088 case Builtin::BI__sync_fetch_and_nand_8:
2089 case Builtin::BI__sync_fetch_and_nand_16:
2094 case Builtin::BI__sync_add_and_fetch:
2095 case Builtin::BI__sync_add_and_fetch_1:
2096 case Builtin::BI__sync_add_and_fetch_2:
2097 case Builtin::BI__sync_add_and_fetch_4:
2098 case Builtin::BI__sync_add_and_fetch_8:
2099 case Builtin::BI__sync_add_and_fetch_16:
2103 case Builtin::BI__sync_sub_and_fetch:
2104 case Builtin::BI__sync_sub_and_fetch_1:
2105 case Builtin::BI__sync_sub_and_fetch_2:
2106 case Builtin::BI__sync_sub_and_fetch_4:
2107 case Builtin::BI__sync_sub_and_fetch_8:
2108 case Builtin::BI__sync_sub_and_fetch_16:
2112 case Builtin::BI__sync_and_and_fetch:
2113 case Builtin::BI__sync_and_and_fetch_1:
2114 case Builtin::BI__sync_and_and_fetch_2:
2115 case Builtin::BI__sync_and_and_fetch_4:
2116 case Builtin::BI__sync_and_and_fetch_8:
2117 case Builtin::BI__sync_and_and_fetch_16:
2121 case Builtin::BI__sync_or_and_fetch:
2122 case Builtin::BI__sync_or_and_fetch_1:
2123 case Builtin::BI__sync_or_and_fetch_2:
2124 case Builtin::BI__sync_or_and_fetch_4:
2125 case Builtin::BI__sync_or_and_fetch_8:
2126 case Builtin::BI__sync_or_and_fetch_16:
2130 case Builtin::BI__sync_xor_and_fetch:
2131 case Builtin::BI__sync_xor_and_fetch_1:
2132 case Builtin::BI__sync_xor_and_fetch_2:
2133 case Builtin::BI__sync_xor_and_fetch_4:
2134 case Builtin::BI__sync_xor_and_fetch_8:
2135 case Builtin::BI__sync_xor_and_fetch_16:
2139 case Builtin::BI__sync_nand_and_fetch:
2140 case Builtin::BI__sync_nand_and_fetch_1:
2141 case Builtin::BI__sync_nand_and_fetch_2:
2142 case Builtin::BI__sync_nand_and_fetch_4:
2143 case Builtin::BI__sync_nand_and_fetch_8:
2144 case Builtin::BI__sync_nand_and_fetch_16:
2149 case Builtin::BI__sync_val_compare_and_swap:
2150 case Builtin::BI__sync_val_compare_and_swap_1:
2151 case Builtin::BI__sync_val_compare_and_swap_2:
2152 case Builtin::BI__sync_val_compare_and_swap_4:
2153 case Builtin::BI__sync_val_compare_and_swap_8:
2154 case Builtin::BI__sync_val_compare_and_swap_16:
2159 case Builtin::BI__sync_bool_compare_and_swap:
2160 case Builtin::BI__sync_bool_compare_and_swap_1:
2161 case Builtin::BI__sync_bool_compare_and_swap_2:
2162 case Builtin::BI__sync_bool_compare_and_swap_4:
2163 case Builtin::BI__sync_bool_compare_and_swap_8:
2164 case Builtin::BI__sync_bool_compare_and_swap_16:
2170 case Builtin::BI__sync_lock_test_and_set:
2171 case Builtin::BI__sync_lock_test_and_set_1:
2172 case Builtin::BI__sync_lock_test_and_set_2:
2173 case Builtin::BI__sync_lock_test_and_set_4:
2174 case Builtin::BI__sync_lock_test_and_set_8:
2175 case Builtin::BI__sync_lock_test_and_set_16:
2179 case Builtin::BI__sync_lock_release:
2180 case Builtin::BI__sync_lock_release_1:
2181 case Builtin::BI__sync_lock_release_2:
2182 case Builtin::BI__sync_lock_release_4:
2183 case Builtin::BI__sync_lock_release_8:
2184 case Builtin::BI__sync_lock_release_16:
2190 case Builtin::BI__sync_swap:
2191 case Builtin::BI__sync_swap_1:
2192 case Builtin::BI__sync_swap_2:
2193 case Builtin::BI__sync_swap_4:
2194 case Builtin::BI__sync_swap_8:
2195 case Builtin::BI__sync_swap_16:
2214 // Get the decl for the concrete builtin from this, we can tell what the
2222 // Perform builtin lookup to avoid redeclaring it.
2296 assert((BuiltinID == Builtin::BI__builtin_nontemporal_store ||
2297 BuiltinID == Builtin::BI__builtin_nontemporal_load) &&
2298 "Unexpected nontemporal load/store builtin!");
2299 bool isStore = BuiltinID == Builtin::BI__builtin_nontemporal_store;
2306 // Inspect the last argument of the nontemporal builtin. This should always
2356 /// CheckObjCString - Checks that the argument to the builtin
2428 // Verify that the second argument to the builtin is the last argument of the
2890 assert((IsARMBuiltin || IsAArch64Builtin) && "Unexpected ARM builtin.");
2955 // and the special register builtin being used is one of the write builtins,
3163 if (BuiltinID == Builtin::BI__builtin___CFStringMakeConstantString ||
3164 BuiltinID == Builtin::BI__builtin___NSStringMakeConstantString) {
4754 case Builtin::BI__builtin_abs:
4755 return Builtin::BI__builtin_labs;
4756 case Builtin::BI__builtin_labs:
4757 return Builtin::BI__builtin_llabs;
4758 case Builtin::BI__builtin_llabs:
4761 case Builtin::BI__builtin_fabsf:
4762 return Builtin::BI__builtin_fabs;
4763 case Builtin::BI__builtin_fabs:
4764 return Builtin::BI__builtin_fabsl;
4765 case Builtin::BI__builtin_fabsl:
4768 case Builtin::BI__builtin_cabsf:
4769 return Builtin::BI__builtin_cabs;
4770 case Builtin::BI__builtin_cabs:
4771 return Builtin::BI__builtin_cabsl;
4772 case Builtin::BI__builtin_cabsl:
4775 case Builtin::BIabs:
4776 return Builtin::BIlabs;
4777 case Builtin::BIlabs:
4778 return Builtin::BIllabs;
4779 case Builtin::BIllabs:
4782 case Builtin::BIfabsf:
4783 return Builtin::BIfabs;
4784 case Builtin::BIfabs:
4785 return Builtin::BIfabsl;
4786 case Builtin::BIfabsl:
4789 case Builtin::BIcabsf:
4790 return Builtin::BIcabs;
4791 case Builtin::BIcabs:
4792 return Builtin::BIcabsl;
4793 case Builtin::BIcabsl:
4858 // the function is a builtin.
4866 case Builtin::BI__builtin_fabsf:
4867 case Builtin::BI__builtin_fabs:
4868 case Builtin::BI__builtin_fabsl:
4869 case Builtin::BI__builtin_cabsf:
4870 case Builtin::BI__builtin_cabs:
4871 case Builtin::BI__builtin_cabsl:
4872 return Builtin::BI__builtin_abs;
4873 case Builtin::BIfabsf:
4874 case Builtin::BIfabs:
4875 case Builtin::BIfabsl:
4876 case Builtin::BIcabsf:
4877 case Builtin::BIcabs:
4878 case Builtin::BIcabsl:
4879 return Builtin::BIabs;
4885 case Builtin::BI__builtin_abs:
4886 case Builtin::BI__builtin_labs:
4887 case Builtin::BI__builtin_llabs:
4888 case Builtin::BI__builtin_cabsf:
4889 case Builtin::BI__builtin_cabs:
4890 case Builtin::BI__builtin_cabsl:
4891 return Builtin::BI__builtin_fabsf;
4892 case Builtin::BIabs:
4893 case Builtin::BIlabs:
4894 case Builtin::BIllabs:
4895 case Builtin::BIcabsf:
4896 case Builtin::BIcabs:
4897 case Builtin::BIcabsl:
4898 return Builtin::BIfabsf;
4904 case Builtin::BI__builtin_abs:
4905 case Builtin::BI__builtin_labs:
4906 case Builtin::BI__builtin_llabs:
4907 case Builtin::BI__builtin_fabsf:
4908 case Builtin::BI__builtin_fabs:
4909 case Builtin::BI__builtin_fabsl:
4910 return Builtin::BI__builtin_cabsf;
4911 case Builtin::BIabs:
4912 case Builtin::BIlabs:
4913 case Builtin::BIllabs:
4914 case Builtin::BIfabsf:
4915 case Builtin::BIfabs:
4916 case Builtin::BIfabsl:
4917 return Builtin::BIcabsf;
4931 case Builtin::BI__builtin_abs:
4932 case Builtin::BI__builtin_fabs:
4933 case Builtin::BI__builtin_fabsf:
4934 case Builtin::BI__builtin_fabsl:
4935 case Builtin::BI__builtin_labs:
4936 case Builtin::BI__builtin_llabs:
4937 case Builtin::BI__builtin_cabs:
4938 case Builtin::BI__builtin_cabsf:
4939 case Builtin::BI__builtin_cabsl:
4940 case Builtin::BIabs:
4941 case Builtin::BIlabs:
4942 case Builtin::BIllabs:
4943 case Builtin::BIfabs:
4944 case Builtin::BIfabsf:
4945 case Builtin::BIfabsl:
4946 case Builtin::BIcabs:
4947 case Builtin::BIcabsf:
4948 case Builtin::BIcabsl:
4951 llvm_unreachable("Unknown Builtin type");
5241 unsigned ExpectedNumArgs = (BId == Builtin::BIstrndup ? 2 : 3);
5245 unsigned LastArg = (BId == Builtin::BImemset ||
5246 BId == Builtin::BIstrndup ? 1 : 2);
5247 unsigned LenArg = (BId == Builtin::BIstrndup ? 1 : 2);
5300 // If the function is defined as a builtin macro, do not show macro
5361 if (ArgIdx != 0 || BId == Builtin::BImemcmp) {
5362 if (BId == Builtin::BImemcpy)
5364 else if(BId == Builtin::BImemmove)
5366 else if (BId == Builtin::BImemcmp)
5373 << (BId == Builtin::BImemcmp ? ArgIdx + 2 : ArgIdx)
5377 BId != Builtin::BImemset)
5457 if (SizeCall->getBuiltinCallee() == Builtin::BIstrlen &&
5513 if (!FD || FD->getMemoryFunctionKind() != Builtin::BIstrlen)
5568 // If the function is defined as a builtin macro, do not show macro expansion.
6055 // Check for comparisons with builtin types.
7252 // Builtin FP kinds are ordered by increasing FP rank.