2023-05-16 09:41:46 -07:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
2022-05-20 18:59:53 -04:00
|
|
|
From: PJ Reiniger <pj.reiniger@gmail.com>
|
2024-03-17 18:39:03 -07:00
|
|
|
Date: Fri, 1 Mar 2024 11:56:17 -0800
|
2024-12-24 17:40:31 -08:00
|
|
|
Subject: [PATCH 26/37] constexpr endian byte swap
|
2022-05-20 18:59:53 -04:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
llvm/include/llvm/Support/Endian.h | 4 +++-
|
|
|
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
diff --git a/llvm/include/llvm/Support/Endian.h b/llvm/include/llvm/Support/Endian.h
|
2024-12-24 17:40:31 -08:00
|
|
|
index 5831fe66a1f7b71f26aac179c4e2c904d0ad4255..62e19c04e5dc565dd94c5c38f7c6b141fbcb56a3 100644
|
2022-05-20 18:59:53 -04:00
|
|
|
--- a/llvm/include/llvm/Support/Endian.h
|
|
|
|
|
+++ b/llvm/include/llvm/Support/Endian.h
|
2024-03-17 18:39:03 -07:00
|
|
|
@@ -50,7 +50,9 @@ template <typename value_type>
|
2022-05-20 18:59:53 -04:00
|
|
|
/// Swap the bytes of value to match the given endianness.
|
2024-03-17 18:39:03 -07:00
|
|
|
template <typename value_type, endianness endian>
|
|
|
|
|
[[nodiscard]] inline value_type byte_swap(value_type value) {
|
2022-05-20 18:59:53 -04:00
|
|
|
- return byte_swap(value, endian);
|
2024-03-17 18:39:03 -07:00
|
|
|
+ if constexpr (endian != llvm::endianness::native)
|
2022-05-20 18:59:53 -04:00
|
|
|
+ sys::swapByteOrder(value);
|
|
|
|
|
+ return value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Read a value of a particular endianness from memory.
|