Home | History | Annotate | Download | only in Sema

Lines Matching defs:Builtin

216   bool IsBooleanAlignBuiltin = ID == Builtin::BI__builtin_is_aligned;
330 if (BuiltinID == Builtin::BI__builtin_mul_overflow) {
351 Expr *Builtin = BuiltinCall->getCallee()->IgnoreImpCasts();
397 Builtin =
398 S.ImpCastExprToType(Builtin, BuiltinPtrTy, CK_BuiltinFnToFnPtr).get();
403 BuiltinCall->setCallee(Builtin);
617 case Builtin::BIsprintf:
618 case Builtin::BI__builtin___sprintf_chk: {
619 size_t FormatIndex = BuiltinID == Builtin::BIsprintf ? 1 : 3;
644 if (BuiltinID == Builtin::BI__builtin___sprintf_chk) {
656 case Builtin::BI__builtin___memcpy_chk:
657 case Builtin::BI__builtin___memmove_chk:
658 case Builtin::BI__builtin___memset_chk:
659 case Builtin::BI__builtin___strlcat_chk:
660 case Builtin::BI__builtin___strlcpy_chk:
661 case Builtin::BI__builtin___strncat_chk:
662 case Builtin::BI__builtin___strncpy_chk:
663 case Builtin::BI__builtin___stpncpy_chk:
664 case Builtin::BI__builtin___memccpy_chk:
665 case Builtin::BI__builtin___mempcpy_chk: {
673 case Builtin::BI__builtin___snprintf_chk:
674 case Builtin::BI__builtin___vsnprintf_chk: {
682 case Builtin::BIstrncat:
683 case Builtin::BI__builtin_strncat:
684 case Builtin::BIstrncpy:
685 case Builtin::BI__builtin_strncpy:
686 case Builtin::BIstpncpy:
687 case Builtin::BI__builtin_stpncpy: {
699 case Builtin::BImemcpy:
700 case Builtin::BI__builtin_memcpy:
701 case Builtin::BImemmove:
702 case Builtin::BI__builtin_memmove:
703 case Builtin::BImemset:
704 case Builtin::BI__builtin_memset:
705 case Builtin::BImempcpy:
706 case Builtin::BI__builtin_mempcpy: {
712 case Builtin::BIsnprintf:
713 case Builtin::BI__builtin_snprintf:
714 case Builtin::BIvsnprintf:
715 case Builtin::BI__builtin_vsnprintf: {
764 // Skim off the details of whichever builtin was called to produce a better
782 // Scopes aren't available during instantiation. Fortunately, builtin
875 /// and get_kernel_preferred_work_group_size_multiple builtin functions.
1093 case Builtin::BIread_pipe:
1094 case Builtin::BIreserve_read_pipe:
1095 case Builtin::BIcommit_read_pipe:
1096 case Builtin::BIwork_group_reserve_read_pipe:
1097 case Builtin::BIsub_group_reserve_read_pipe:
1098 case Builtin::BIwork_group_commit_read_pipe:
1099 case Builtin::BIsub_group_commit_read_pipe:
1107 case Builtin::BIwrite_pipe:
1108 case Builtin::BIreserve_write_pipe:
1109 case Builtin::BIcommit_write_pipe:
1110 case Builtin::BIwork_group_reserve_write_pipe:
1111 case Builtin::BIsub_group_reserve_write_pipe:
1112 case Builtin::BIwork_group_commit_write_pipe:
1113 case Builtin::BIsub_group_commit_write_pipe:
1149 // \param Call A pointer to the builtin call.
1204 // \param Call The call to the builtin function to be analyzed.
1223 // reserve_id_t, which is not defined in the builtin def file , we used int
1233 // \param Call The call to the builtin function to be analyzed.
1256 // \param Call The call to the builtin function to be analyzed.
1274 // \param BuiltinID ID of the builtin function.
1275 // \param Call A pointer to the builtin call.
1300 case Builtin::BIto_global:
1303 case Builtin::BIto_local:
1306 case Builtin::BIto_private:
1310 llvm_unreachable("Invalid builtin function");
1463 case Builtin::BI__builtin___CFStringMakeConstantString:
1465 "Wrong # arguments to builtin CFStringMakeConstantString");
1469 case Builtin::BI__builtin_ms_va_start:
1470 case Builtin::BI__builtin_stdarg_start:
1471 case Builtin::BI__builtin_va_start:
1475 case Builtin::BI__va_start: {
1492 case Builtin::BI_interlockedbittestandset_acq:
1493 case Builtin::BI_interlockedbittestandset_rel:
1494 case Builtin::BI_interlockedbittestandset_nf:
1495 case Builtin::BI_interlockedbittestandreset_acq:
1496 case Builtin::BI_interlockedbittestandreset_rel:
1497 case Builtin::BI_interlockedbittestandreset_nf:
1505 case Builtin::BI_bittest64:
1506 case Builtin::BI_bittestandcomplement64:
1507 case Builtin::BI_bittestandreset64:
1508 case Builtin::BI_bittestandset64:
1509 case Builtin::BI_interlockedbittestandreset64:
1510 case Builtin::BI_interlockedbittestandset64:
1517 case Builtin::BI__builtin_isgreater:
1518 case Builtin::BI__builtin_isgreaterequal:
1519 case Builtin::BI__builtin_isless:
1520 case Builtin::BI__builtin_islessequal:
1521 case Builtin::BI__builtin_islessgreater:
1522 case Builtin::BI__builtin_isunordered:
1526 case Builtin::BI__builtin_fpclassify:
1530 case Builtin::BI__builtin_isfinite:
1531 case Builtin::BI__builtin_isinf:
1532 case Builtin::BI__builtin_isinf_sign:
1533 case Builtin::BI__builtin_isnan:
1534 case Builtin::BI__builtin_isnormal:
1535 case Builtin::BI__builtin_signbit:
1536 case Builtin::BI__builtin_signbitf:
1537 case Builtin::BI__builtin_signbitl:
1541 case Builtin::BI__builtin_shufflevector:
1545 case Builtin::BI__builtin_prefetch:
1549 case Builtin::BI__builtin_alloca_with_align:
1553 case Builtin::BI__builtin_alloca:
1557 case Builtin::BI__assume:
1558 case Builtin::BI__builtin_assume:
1562 case Builtin::BI__builtin_assume_aligned:
1566 case Builtin::BI__builtin_dynamic_object_size:
1567 case Builtin::BI__builtin_object_size:
1571 case Builtin::BI__builtin_longjmp:
1575 case Builtin::BI__builtin_setjmp:
1579 case Builtin::BI__builtin_classify_type:
1583 case Builtin::BI__builtin_complex:
1587 case Builtin::BI__builtin_constant_p: {
1595 case Builtin::BI__builtin_launder:
1597 case Builtin::BI__sync_fetch_and_add:
1598 case Builtin::BI__sync_fetch_and_add_1:
1599 case Builtin::BI__sync_fetch_and_add_2:
1600 case Builtin::BI__sync_fetch_and_add_4:
1601 case Builtin::BI__sync_fetch_and_add_8:
1602 case Builtin::BI__sync_fetch_and_add_16:
1603 case Builtin::BI__sync_fetch_and_sub:
1604 case Builtin::BI__sync_fetch_and_sub_1:
1605 case Builtin::BI__sync_fetch_and_sub_2:
1606 case Builtin::BI__sync_fetch_and_sub_4:
1607 case Builtin::BI__sync_fetch_and_sub_8:
1608 case Builtin::BI__sync_fetch_and_sub_16:
1609 case Builtin::BI__sync_fetch_and_or:
1610 case Builtin::BI__sync_fetch_and_or_1:
1611 case Builtin::BI__sync_fetch_and_or_2:
1612 case Builtin::BI__sync_fetch_and_or_4:
1613 case Builtin::BI__sync_fetch_and_or_8:
1614 case Builtin::BI__sync_fetch_and_or_16:
1615 case Builtin::BI__sync_fetch_and_and:
1616 case Builtin::BI__sync_fetch_and_and_1:
1617 case Builtin::BI__sync_fetch_and_and_2:
1618 case Builtin::BI__sync_fetch_and_and_4:
1619 case Builtin::BI__sync_fetch_and_and_8:
1620 case Builtin::BI__sync_fetch_and_and_16:
1621 case Builtin::BI__sync_fetch_and_xor:
1622 case Builtin::BI__sync_fetch_and_xor_1:
1623 case Builtin::BI__sync_fetch_and_xor_2:
1624 case Builtin::BI__sync_fetch_and_xor_4:
1625 case Builtin::BI__sync_fetch_and_xor_8:
1626 case Builtin::BI__sync_fetch_and_xor_16:
1627 case Builtin::BI__sync_fetch_and_nand:
1628 case Builtin::BI__sync_fetch_and_nand_1:
1629 case Builtin::BI__sync_fetch_and_nand_2:
1630 case Builtin::BI__sync_fetch_and_nand_4:
1631 case Builtin::BI__sync_fetch_and_nand_8:
1632 case Builtin::BI__sync_fetch_and_nand_16:
1633 case Builtin::BI__sync_add_and_fetch:
1634 case Builtin::BI__sync_add_and_fetch_1:
1635 case Builtin::BI__sync_add_and_fetch_2:
1636 case Builtin::BI__sync_add_and_fetch_4:
1637 case Builtin::BI__sync_add_and_fetch_8:
1638 case Builtin::BI__sync_add_and_fetch_16:
1639 case Builtin::BI__sync_sub_and_fetch:
1640 case Builtin::BI__sync_sub_and_fetch_1:
1641 case Builtin::BI__sync_sub_and_fetch_2:
1642 case Builtin::BI__sync_sub_and_fetch_4:
1643 case Builtin::BI__sync_sub_and_fetch_8:
1644 case Builtin::BI__sync_sub_and_fetch_16:
1645 case Builtin::BI__sync_and_and_fetch:
1646 case Builtin::BI__sync_and_and_fetch_1:
1647 case Builtin::BI__sync_and_and_fetch_2:
1648 case Builtin::BI__sync_and_and_fetch_4:
1649 case Builtin::BI__sync_and_and_fetch_8:
1650 case Builtin::BI__sync_and_and_fetch_16:
1651 case Builtin::BI__sync_or_and_fetch:
1652 case Builtin::BI__sync_or_and_fetch_1:
1653 case Builtin::BI__sync_or_and_fetch_2:
1654 case Builtin::BI__sync_or_and_fetch_4:
1655 case Builtin::BI__sync_or_and_fetch_8:
1656 case Builtin::BI__sync_or_and_fetch_16:
1657 case Builtin::BI__sync_xor_and_fetch:
1658 case Builtin::BI__sync_xor_and_fetch_1:
1659 case Builtin::BI__sync_xor_and_fetch_2:
1660 case Builtin::BI__sync_xor_and_fetch_4:
1661 case Builtin::BI__sync_xor_and_fetch_8:
1662 case Builtin::BI__sync_xor_and_fetch_16:
1663 case Builtin::BI__sync_nand_and_fetch:
1664 case Builtin::BI__sync_nand_and_fetch_1:
1665 case Builtin::BI__sync_nand_and_fetch_2:
1666 case Builtin::BI__sync_nand_and_fetch_4:
1667 case Builtin::BI__sync_nand_and_fetch_8:
1668 case Builtin::BI__sync_nand_and_fetch_16:
1669 case Builtin::BI__sync_val_compare_and_swap:
1670 case Builtin::BI__sync_val_compare_and_swap_1:
1671 case Builtin::BI__sync_val_compare_and_swap_2:
1672 case Builtin::BI__sync_val_compare_and_swap_4:
1673 case Builtin::BI__sync_val_compare_and_swap_8:
1674 case Builtin::BI__sync_val_compare_and_swap_16:
1675 case Builtin::BI__sync_bool_compare_and_swap:
1676 case Builtin::BI__sync_bool_compare_and_swap_1:
1677 case Builtin::BI__sync_bool_compare_and_swap_2:
1678 case Builtin::BI__sync_bool_compare_and_swap_4:
1679 case Builtin::BI__sync_bool_compare_and_swap_8:
1680 case Builtin::BI__sync_bool_compare_and_swap_16:
1681 case Builtin::BI__sync_lock_test_and_set:
1682 case Builtin::BI__sync_lock_test_and_set_1:
1683 case Builtin::BI__sync_lock_test_and_set_2:
1684 case Builtin::BI__sync_lock_test_and_set_4:
1685 case Builtin::BI__sync_lock_test_and_set_8:
1686 case Builtin::BI__sync_lock_test_and_set_16:
1687 case Builtin::BI__sync_lock_release:
1688 case Builtin::BI__sync_lock_release_1:
1689 case Builtin::BI__sync_lock_release_2:
1690 case Builtin::BI__sync_lock_release_4:
1691 case Builtin::BI__sync_lock_release_8:
1692 case Builtin::BI__sync_lock_release_16:
1693 case Builtin::BI__sync_swap:
1694 case Builtin::BI__sync_swap_1:
1695 case Builtin::BI__sync_swap_2:
1696 case Builtin::BI__sync_swap_4:
1697 case Builtin::BI__sync_swap_8:
1698 case Builtin::BI__sync_swap_16:
1700 case Builtin::BI__sync_synchronize:
1704 case Builtin::BI__builtin_nontemporal_load:
1705 case Builtin::BI__builtin_nontemporal_store:
1707 case Builtin::BI__builtin_memcpy_inline: {
1720 #define BUILTIN(ID, TYPE, ATTRS)
1722 case Builtin::BI##ID: \
1725 case Builtin::BI__annotation:
1729 case Builtin::BI__builtin_annotation:
1733 case Builtin::BI__builtin_addressof:
1737 case Builtin::BI__builtin_is_aligned:
1738 case Builtin::BI__builtin_align_up:
1739 case Builtin::BI__builtin_align_down:
1743 case Builtin::BI__builtin_add_overflow:
1744 case Builtin::BI__builtin_sub_overflow:
1745 case Builtin::BI__builtin_mul_overflow:
1749 case Builtin::BI__builtin_operator_new:
1750 case Builtin::BI__builtin_operator_delete: {
1751 bool IsDelete = BuiltinID == Builtin::BI__builtin_operator_delete;
1758 case Builtin::BI__builtin_dump_struct: {
1814 case Builtin::BI__builtin_expect_with_probability: {
1843 case Builtin::BI__builtin_preserve_access_index:
1847 case Builtin::BI__builtin_call_with_static_chain:
1851 case Builtin::BI__exception_code:
1852 case Builtin::BI_exception_code:
1857 case Builtin::BI__exception_info:
1858 case Builtin::BI_exception_info:
1863 case Builtin::BI__GetExceptionInfo:
1876 case Builtin::BIread_pipe:
1877 case Builtin::BIwrite_pipe:
1883 case Builtin::BIreserve_read_pipe:
1884 case Builtin::BIreserve_write_pipe:
1885 case Builtin::BIwork_group_reserve_read_pipe:
1886 case Builtin::BIwork_group_reserve_write_pipe:
1890 case Builtin::BIsub_group_reserve_read_pipe:
1891 case Builtin::BIsub_group_reserve_write_pipe:
1896 case Builtin::BIcommit_read_pipe:
1897 case Builtin::BIcommit_write_pipe:
1898 case Builtin::BIwork_group_commit_read_pipe:
1899 case Builtin::BIwork_group_commit_write_pipe:
1903 case Builtin::BIsub_group_commit_read_pipe:
1904 case Builtin::BIsub_group_commit_write_pipe:
1909 case Builtin::BIget_pipe_num_packets:
1910 case Builtin::BIget_pipe_max_packets:
1914 case Builtin::BIto_global:
1915 case Builtin::BIto_local:
1916 case Builtin::BIto_private:
1921 case Builtin::BIenqueue_kernel:
1925 case Builtin::BIget_kernel_work_group_size:
1926 case Builtin::BIget_kernel_preferred_work_group_size_multiple:
1930 case Builtin::BIget_kernel_max_sub_group_size_for_ndrange:
1931 case Builtin::BIget_kernel_sub_group_count_for_ndrange:
1935 case Builtin::BI__builtin_os_log_format:
1938 case Builtin::BI__builtin_os_log_format_buffer_size:
1942 case Builtin::BI__builtin_frame_address:
1943 case Builtin::BI__builtin_return_address: {
1947 // -Wframe-address warning if non-zero passed to builtin
1954 << ((BuiltinID == Builtin::BI__builtin_return_address)
1961 case Builtin::BI__builtin_matrix_transpose:
1964 case Builtin::BI__builtin_matrix_column_major_load:
1967 case Builtin::BI__builtin_matrix_column_major_store:
1970 case Builtin::BI__builtin_get_device_side_mangled_name: {
1996 "Aux Target Builtin, but not an aux target?");
2099 // Perform all the immediate checks for this builtin call.
2333 "unexpected ARM builtin");
2345 // Inspect the pointer argument of the atomic builtin. This should always be
2687 "unexpected BPF builtin");
3361 // position of memory order and scope arguments in the builtin
4616 (!FD || FD->getBuiltinID() != Builtin::BI__noop)) {
4769 case Builtin::BIstrlcpy: // fallthrough
4770 case Builtin::BIstrlcat:
4773 case Builtin::BIstrncat:
4776 case Builtin::BIfree:
5061 // For a __c11 builtin, this should be a pointer to an _Atomic type.
5364 /// checkBuiltinArgument - Given a call to a builtin function, perform
5366 /// place. This is useful when a builtin function requires custom
5373 assert(Fn && "builtin call without direct callee!");
5409 // Inspect the first argument of the atomic builtin. This should always be
5463 // We need to figure out which concrete builtin this maps onto. For example,
5467 { Builtin::BI##x##_1, Builtin::BI##x##_2, Builtin::BI##x##_4, \
5468 Builtin::BI##x##_8, Builtin::BI##x##_16 }
5515 default: llvm_unreachable("Unknown overloaded atomic builtin!");
5516 case Builtin::BI__sync_fetch_and_add:
5517 case Builtin::BI__sync_fetch_and_add_1:
5518 case Builtin::BI__sync_fetch_and_add_2:
5519 case Builtin::BI__sync_fetch_and_add_4:
5520 case Builtin::BI__sync_fetch_and_add_8:
5521 case Builtin::BI__sync_fetch_and_add_16:
5525 case Builtin::BI__sync_fetch_and_sub:
5526 case Builtin::BI__sync_fetch_and_sub_1:
5527 case Builtin::BI__sync_fetch_and_sub_2:
5528 case Builtin::BI__sync_fetch_and_sub_4:
5529 case Builtin::BI__sync_fetch_and_sub_8:
5530 case Builtin::BI__sync_fetch_and_sub_16:
5534 case Builtin::BI__sync_fetch_and_or:
5535 case Builtin::BI__sync_fetch_and_or_1:
5536 case Builtin::BI__sync_fetch_and_or_2:
5537 case Builtin::BI__sync_fetch_and_or_4:
5538 case Builtin::BI__sync_fetch_and_or_8:
5539 case Builtin::BI__sync_fetch_and_or_16:
5543 case Builtin::BI__sync_fetch_and_and:
5544 case Builtin::BI__sync_fetch_and_and_1:
5545 case Builtin::BI__sync_fetch_and_and_2:
5546 case Builtin::BI__sync_fetch_and_and_4:
5547 case Builtin::BI__sync_fetch_and_and_8:
5548 case Builtin::BI__sync_fetch_and_and_16:
5552 case Builtin::BI__sync_fetch_and_xor:
5553 case Builtin::BI__sync_fetch_and_xor_1:
5554 case Builtin::BI__sync_fetch_and_xor_2:
5555 case Builtin::BI__sync_fetch_and_xor_4:
5556 case Builtin::BI__sync_fetch_and_xor_8:
5557 case Builtin::BI__sync_fetch_and_xor_16:
5561 case Builtin::BI__sync_fetch_and_nand:
5562 case Builtin::BI__sync_fetch_and_nand_1:
5563 case Builtin::BI__sync_fetch_and_nand_2:
5564 case Builtin::BI__sync_fetch_and_nand_4:
5565 case Builtin::BI__sync_fetch_and_nand_8:
5566 case Builtin::BI__sync_fetch_and_nand_16:
5571 case Builtin::BI__sync_add_and_fetch:
5572 case Builtin::BI__sync_add_and_fetch_1:
5573 case Builtin::BI__sync_add_and_fetch_2:
5574 case Builtin::BI__sync_add_and_fetch_4:
5575 case Builtin::BI__sync_add_and_fetch_8:
5576 case Builtin::BI__sync_add_and_fetch_16:
5580 case Builtin::BI__sync_sub_and_fetch:
5581 case Builtin::BI__sync_sub_and_fetch_1:
5582 case Builtin::BI__sync_sub_and_fetch_2:
5583 case Builtin::BI__sync_sub_and_fetch_4:
5584 case Builtin::BI__sync_sub_and_fetch_8:
5585 case Builtin::BI__sync_sub_and_fetch_16:
5589 case Builtin::BI__sync_and_and_fetch:
5590 case Builtin::BI__sync_and_and_fetch_1:
5591 case Builtin::BI__sync_and_and_fetch_2:
5592 case Builtin::BI__sync_and_and_fetch_4:
5593 case Builtin::BI__sync_and_and_fetch_8:
5594 case Builtin::BI__sync_and_and_fetch_16:
5598 case Builtin::BI__sync_or_and_fetch:
5599 case Builtin::BI__sync_or_and_fetch_1:
5600 case Builtin::BI__sync_or_and_fetch_2:
5601 case Builtin::BI__sync_or_and_fetch_4:
5602 case Builtin::BI__sync_or_and_fetch_8:
5603 case Builtin::BI__sync_or_and_fetch_16:
5607 case Builtin::BI__sync_xor_and_fetch:
5608 case Builtin::BI__sync_xor_and_fetch_1:
5609 case Builtin::BI__sync_xor_and_fetch_2:
5610 case Builtin::BI__sync_xor_and_fetch_4:
5611 case Builtin::BI__sync_xor_and_fetch_8:
5612 case Builtin::BI__sync_xor_and_fetch_16:
5616 case Builtin::BI__sync_nand_and_fetch:
5617 case Builtin::BI__sync_nand_and_fetch_1:
5618 case Builtin::BI__sync_nand_and_fetch_2:
5619 case Builtin::BI__sync_nand_and_fetch_4:
5620 case Builtin::BI__sync_nand_and_fetch_8:
5621 case Builtin::BI__sync_nand_and_fetch_16:
5626 case Builtin::BI__sync_val_compare_and_swap:
5627 case Builtin::BI__sync_val_compare_and_swap_1:
5628 case Builtin::BI__sync_val_compare_and_swap_2:
5629 case Builtin::BI__sync_val_compare_and_swap_4:
5630 case Builtin::BI__sync_val_compare_and_swap_8:
5631 case Builtin::BI__sync_val_compare_and_swap_16:
5636 case Builtin::BI__sync_bool_compare_and_swap:
5637 case Builtin::BI__sync_bool_compare_and_swap_1:
5638 case Builtin::BI__sync_bool_compare_and_swap_2:
5639 case Builtin::BI__sync_bool_compare_and_swap_4:
5640 case Builtin::BI__sync_bool_compare_and_swap_8:
5641 case Builtin::BI__sync_bool_compare_and_swap_16:
5647 case Builtin::BI__sync_lock_test_and_set:
5648 case Builtin::BI__sync_lock_test_and_set_1:
5649 case Builtin::BI__sync_lock_test_and_set_2:
5650 case Builtin::BI__sync_lock_test_and_set_4:
5651 case Builtin::BI__sync_lock_test_and_set_8:
5652 case Builtin::BI__sync_lock_test_and_set_16:
5656 case Builtin::BI__sync_lock_release:
5657 case Builtin::BI__sync_lock_release_1:
5658 case Builtin::BI__sync_lock_release_2:
5659 case Builtin::BI__sync_lock_release_4:
5660 case Builtin::BI__sync_lock_release_8:
5661 case Builtin::BI__sync_lock_release_16:
5667 case Builtin::BI__sync_swap:
5668 case Builtin::BI__sync_swap_1:
5669 case Builtin::BI__sync_swap_2:
5670 case Builtin::BI__sync_swap_4:
5671 case Builtin::BI__sync_swap_8:
5672 case Builtin::BI__sync_swap_16:
5694 // Get the decl for the concrete builtin from this, we can tell what the
5702 // Perform builtin lookup to avoid redeclaring it.
5778 assert((BuiltinID == Builtin::BI__builtin_nontemporal_store ||
5779 BuiltinID == Builtin::BI__builtin_nontemporal_load) &&
5780 "Unexpected nontemporal load/store builtin!");
5781 bool isStore = BuiltinID == Builtin::BI__builtin_nontemporal_store;
5788 // Inspect the last argument of the nontemporal builtin. This should always
5838 /// CheckObjCString - Checks that the argument to the builtin
5895 /// Check that the user is calling the appropriate va_start builtin for the
5903 bool IsMSVAStart = BuiltinID == Builtin::BI__builtin_ms_va_start;
5991 // Verify that the second argument to the builtin is the last argument of the
6212 // don't allow this builtin to form those types either.
6504 bool IsSizeCall = BuiltinID == Builtin::BI__builtin_os_log_format_buffer_size;
6930 assert((IsARMBuiltin || IsAArch64Builtin) && "Unexpected ARM builtin.");
6994 // and the special register builtin being used is one of the write builtins,
7013 /// SemaBuiltinPPCMMACall - Check the call to a PPC MMA builtin for validity.
7016 /// the builtin and the descriptors of the expected type of the arguments.
7020 "Invalid types in PPC MMA builtin declaration");
7026 // builtin. So we first read that type and change the type of TheCall.
7452 if (BuiltinID == Builtin::BI__builtin___CFStringMakeConstantString ||
7453 BuiltinID == Builtin::BI__builtin___NSStringMakeConstantString) {
9344 case Builtin::BI__builtin_abs:
9345 return Builtin::BI__builtin_labs;
9346 case Builtin::BI__builtin_labs:
9347 return Builtin::BI__builtin_llabs;
9348 case Builtin::BI__builtin_llabs:
9351 case Builtin::BI__builtin_fabsf:
9352 return Builtin::BI__builtin_fabs;
9353 case Builtin::BI__builtin_fabs:
9354 return Builtin::BI__builtin_fabsl;
9355 case Builtin::BI__builtin_fabsl:
9358 case Builtin::BI__builtin_cabsf:
9359 return Builtin::BI__builtin_cabs;
9360 case Builtin::BI__builtin_cabs:
9361 return Builtin::BI__builtin_cabsl;
9362 case Builtin::BI__builtin_cabsl:
9365 case Builtin::BIabs:
9366 return Builtin::BIlabs;
9367 case Builtin::BIlabs:
9368 return Builtin::BIllabs;
9369 case Builtin::BIllabs:
9372 case Builtin::BIfabsf:
9373 return Builtin::BIfabs;
9374 case Builtin::BIfabs:
9375 return Builtin::BIfabsl;
9376 case Builtin::BIfabsl:
9379 case Builtin::BIcabsf:
9380 return Builtin::BIcabs;
9381 case Builtin::BIcabs:
9382 return Builtin::BIcabsl;
9383 case Builtin::BIcabsl:
9448 // the function is a builtin.
9456 case Builtin::BI__builtin_fabsf:
9457 case Builtin::BI__builtin_fabs:
9458 case Builtin::BI__builtin_fabsl:
9459 case Builtin::BI__builtin_cabsf:
9460 case Builtin::BI__builtin_cabs:
9461 case Builtin::BI__builtin_cabsl:
9462 return Builtin::BI__builtin_abs;
9463 case Builtin::BIfabsf:
9464 case Builtin::BIfabs:
9465 case Builtin::BIfabsl:
9466 case Builtin::BIcabsf:
9467 case Builtin::BIcabs:
9468 case Builtin::BIcabsl:
9469 return Builtin::BIabs;
9475 case Builtin::BI__builtin_abs:
9476 case Builtin::BI__builtin_labs:
9477 case Builtin::BI__builtin_llabs:
9478 case Builtin::BI__builtin_cabsf:
9479 case Builtin::BI__builtin_cabs:
9480 case Builtin::BI__builtin_cabsl:
9481 return Builtin::BI__builtin_fabsf;
9482 case Builtin::BIabs:
9483 case Builtin::BIlabs:
9484 case Builtin::BIllabs:
9485 case Builtin::BIcabsf:
9486 case Builtin::BIcabs:
9487 case Builtin::BIcabsl:
9488 return Builtin::BIfabsf;
9494 case Builtin::BI__builtin_abs:
9495 case Builtin::BI__builtin_labs:
9496 case Builtin::BI__builtin_llabs:
9497 case Builtin::BI__builtin_fabsf:
9498 case Builtin::BI__builtin_fabs:
9499 case Builtin::BI__builtin_fabsl:
9500 return Builtin::BI__builtin_cabsf;
9501 case Builtin::BIabs:
9502 case Builtin::BIlabs:
9503 case Builtin::BIllabs:
9504 case Builtin::BIfabsf:
9505 case Builtin::BIfabs:
9506 case Builtin::BIfabsl:
9507 return Builtin::BIcabsf;
9521 case Builtin::BI__builtin_abs:
9522 case Builtin::BI__builtin_fabs:
9523 case Builtin::BI__builtin_fabsf:
9524 case Builtin::BI__builtin_fabsl:
9525 case Builtin::BI__builtin_labs:
9526 case Builtin::BI__builtin_llabs:
9527 case Builtin::BI__builtin_cabs:
9528 case Builtin::BI__builtin_cabsf:
9529 case Builtin::BI__builtin_cabsl:
9530 case Builtin::BIabs:
9531 case Builtin::BIlabs:
9532 case Builtin::BIllabs:
9533 case Builtin::BIfabs:
9534 case Builtin::BIfabsf:
9535 case Builtin::BIfabsl:
9536 case Builtin::BIcabs:
9537 case Builtin::BIcabsf:
9538 case Builtin::BIcabsl:
9541 llvm_unreachable("Unknown Builtin type");
10002 if (BId != Builtin::BImemset && BId != Builtin::BIbzero)
10006 Call->getArg(BId == Builtin::BImemset ? 2 : 1)->IgnoreImpCasts();
10022 if (BId == Builtin::BIbzero ||
10037 if (BId == Builtin::BImemset &&
10062 (BId == Builtin::BIstrndup || BId == Builtin::BIbzero ? 2 : 3);
10066 unsigned LastArg = (BId == Builtin::BImemset || BId == Builtin::BIbzero ||
10067 BId == Builtin::BIstrndup ? 1 : 2);
10069 (BId == Builtin::BIbzero || BId == Builtin::BIstrndup ? 1 : 2);
10088 if (BId == Builtin::BIbzero && !FirstArgTy->getAs<PointerType>())
10132 // If the function is defined as a builtin macro, do not show macro
10191 const bool IsCmp = BId == Builtin::BImemcmp || BId == Builtin::BIbcmp;
10195 if (BId == Builtin::BImemcpy)
10197 else if(BId == Builtin::BImemmove)
10209 BId != Builtin::BImemset)
10216 if ((BId == Builtin::BImemset || BId == Builtin::BIbzero) &&
10222 } else if ((BId == Builtin::BImemcpy || BId == Builtin::BImemmove) &&
10304 if (SizeCall->getBuiltinCallee() == Builtin::BIstrlen &&
10360 if (!FD || FD->getMemoryFunctionKind() != Builtin::BIstrlen)
10415 // If the function is defined as a builtin macro, do not show macro expansion.
10630 // Check for comparisons with builtin types.
10938 llvm_unreachable("builtin <=> should have class type");