[llvm] Deprecate PowerOf2Floor and ByteSwap_{16,32,64}
authorKazu Hirata <kazu@google.com>
Mon, 13 Feb 2023 05:42:07 +0000 (21:42 -0800)
committerKazu Hirata <kazu@google.com>
Mon, 13 Feb 2023 05:42:07 +0000 (21:42 -0800)
llvm/include/llvm/ADT/bit.h now has equivalent functions
forward-ported from C++20.

Differential Revision: https://reviews.llvm.org/D143858

llvm/include/llvm/Support/MathExtras.h
llvm/include/llvm/Support/SwapByteOrder.h
llvm/unittests/Support/MathExtrasTest.cpp
llvm/unittests/Support/SwapByteOrderTest.cpp

index 69ce1f9..b009ba3 100644 (file)
@@ -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);
 }
index 9dd0866..ff4d0db 100644 (file)
@@ -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 {
index db667bf..ca724d1 100644 (file)
@@ -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);
index 85392fa..9581f07 100644 (file)
@@ -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.