Skip to content

Commit

Permalink
[llvm] Deprecate PowerOf2Floor and ByteSwap_{16,32,64}
Browse files Browse the repository at this point in the history
llvm/include/llvm/ADT/bit.h now has equivalent functions
forward-ported from C++20.

Differential Revision: https://reviews.llvm.org/D143858
  • Loading branch information
kazutakahirata committed Feb 13, 2023
1 parent 9c40168 commit b49b429
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 16 deletions.
1 change: 1 addition & 0 deletions llvm/include/llvm/Support/MathExtras.h
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,7 @@ constexpr inline uint64_t NextPowerOf2(uint64_t A) {

/// Returns the power of two which is less than or equal to the given value.
/// Essentially, it is a floor operation across the domain of powers of two.
LLVM_DEPRECATED("use llvm::bit_floor instead", "llvm::bit_floor")
inline uint64_t PowerOf2Floor(uint64_t A) {
return llvm::bit_floor(A);
}
Expand Down
3 changes: 3 additions & 0 deletions llvm/include/llvm/Support/SwapByteOrder.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,15 @@ namespace llvm {

/// ByteSwap_16 - This function returns a byte-swapped representation of
/// the 16-bit argument.
LLVM_DEPRECATED("use llvm::byteswap instead", "llvm::byteswap")
inline uint16_t ByteSwap_16(uint16_t value) { return llvm::byteswap(value); }

/// This function returns a byte-swapped representation of the 32-bit argument.
LLVM_DEPRECATED("use llvm::byteswap instead", "llvm::byteswap")
inline uint32_t ByteSwap_32(uint32_t value) { return llvm::byteswap(value); }

/// This function returns a byte-swapped representation of the 64-bit argument.
LLVM_DEPRECATED("use llvm::byteswap instead", "llvm::byteswap")
inline uint64_t ByteSwap_64(uint64_t value) { return llvm::byteswap(value); }

namespace sys {
Expand Down
6 changes: 0 additions & 6 deletions llvm/unittests/Support/MathExtrasTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -143,12 +143,6 @@ TEST(MathExtras, PowerOf2Ceil) {
EXPECT_EQ(8U, PowerOf2Ceil(7U));
}

TEST(MathExtras, PowerOf2Floor) {
EXPECT_EQ(0U, PowerOf2Floor(0U));
EXPECT_EQ(8U, PowerOf2Floor(8U));
EXPECT_EQ(4U, PowerOf2Floor(7U));
}

TEST(MathExtras, CTLog2) {
EXPECT_EQ(CTLog2<1ULL << 0>(), 0U);
EXPECT_EQ(CTLog2<1ULL << 1>(), 1U);
Expand Down
10 changes: 0 additions & 10 deletions llvm/unittests/Support/SwapByteOrderTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,6 @@ using namespace llvm;

namespace {

TEST(ByteSwap, Swap_32) {
EXPECT_EQ(0x44332211u, ByteSwap_32(0x11223344));
EXPECT_EQ(0xDDCCBBAAu, ByteSwap_32(0xAABBCCDD));
}

TEST(ByteSwap, Swap_64) {
EXPECT_EQ(0x8877665544332211ULL, ByteSwap_64(0x1122334455667788LL));
EXPECT_EQ(0x1100FFEEDDCCBBAAULL, ByteSwap_64(0xAABBCCDDEEFF0011LL));
}

// In these first two tests all of the original_uintx values are truncated
// except for 64. We could avoid this, but there's really no point.

Expand Down

0 comments on commit b49b429

Please sign in to comment.