aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
diff options
context:
space:
mode:
authorArthur O'Dwyer <arthur.j.odwyer@gmail.com>2021-05-12 13:09:26 -0400
committerArthur O'Dwyer <arthur.j.odwyer@gmail.com>2021-05-18 19:56:30 -0400
commite130fbe24e5801feba4526ef5b190acbefba7d91 (patch)
tree03546e08695f38214d50065a2adf6101a6571a5c /llvm/lib/CodeGen/MachineBasicBlock.cpp
parenta32e39a75b8137ee20c623887cbc1b4865e49b94 (diff)
downloadllvm-e130fbe24e5801feba4526ef5b190acbefba7d91.zip
llvm-e130fbe24e5801feba4526ef5b190acbefba7d91.tar.gz
llvm-e130fbe24e5801feba4526ef5b190acbefba7d91.tar.bz2
[libc++] Some fixes to the <bit> utilities.
Fix __bitop_unsigned_integer and rename to __libcpp_is_unsigned_integer. There are only five unsigned integer types, so we should just list them out. Also provide `__libcpp_is_signed_integer`, even though the Standard doesn't consume that trait anywhere yet. Notice that `concept uniform_random_bit_generator` is specifically specified to rely on `concept unsigned_integral` and *not* `__is_unsigned_integer`. Instantiating `std::ranges::sample` with a type `U` satisfying `uniform_random_bit_generator` where `unsigned_integral<U::result_type>` and not `__is_unsigned_integer<U::result_type>` is simply IFNDR. Orthogonally, fix an undefined behavior in std::countr_zero(__uint128_t). Orthogonally, improve tests for the <bit> manipulation functions. It was these new tests that detected the bug in countr_zero. Differential Revision: https://reviews.llvm.org/D102328
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions