[llvm] e64e516 - [RuntimeDyld] Replace hand-rolled endian conversion with support::endian. NFCI.
Benjamin Kramer via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 6 04:30:40 PDT 2020
Author: Benjamin Kramer
Date: 2020-04-06T13:22:53+02:00
New Revision: e64e516790b6555d520db6eea7e49b24afb275b7
URL: https://github.com/llvm/llvm-project/commit/e64e516790b6555d520db6eea7e49b24afb275b7
DIFF: https://github.com/llvm/llvm-project/commit/e64e516790b6555d520db6eea7e49b24afb275b7.diff
LOG: [RuntimeDyld] Replace hand-rolled endian conversion with support::endian. NFCI.
Added:
Modified:
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
Removed:
################################################################################
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
index d1d2e432e7e8..1b167558b80d 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
@@ -320,32 +320,18 @@ class RuntimeDyldImpl {
std::string ErrorStr;
void writeInt16BE(uint8_t *Addr, uint16_t Value) {
- if (IsTargetLittleEndian)
- sys::swapByteOrder(Value);
- *Addr = (Value >> 8) & 0xFF;
- *(Addr + 1) = Value & 0xFF;
+ llvm::support::endian::write<uint16_t, llvm::support::unaligned>(
+ Addr, Value, IsTargetLittleEndian ? support::little : support::big);
}
void writeInt32BE(uint8_t *Addr, uint32_t Value) {
- if (IsTargetLittleEndian)
- sys::swapByteOrder(Value);
- *Addr = (Value >> 24) & 0xFF;
- *(Addr + 1) = (Value >> 16) & 0xFF;
- *(Addr + 2) = (Value >> 8) & 0xFF;
- *(Addr + 3) = Value & 0xFF;
+ llvm::support::endian::write<uint32_t, llvm::support::unaligned>(
+ Addr, Value, IsTargetLittleEndian ? support::little : support::big);
}
void writeInt64BE(uint8_t *Addr, uint64_t Value) {
- if (IsTargetLittleEndian)
- sys::swapByteOrder(Value);
- *Addr = (Value >> 56) & 0xFF;
- *(Addr + 1) = (Value >> 48) & 0xFF;
- *(Addr + 2) = (Value >> 40) & 0xFF;
- *(Addr + 3) = (Value >> 32) & 0xFF;
- *(Addr + 4) = (Value >> 24) & 0xFF;
- *(Addr + 5) = (Value >> 16) & 0xFF;
- *(Addr + 6) = (Value >> 8) & 0xFF;
- *(Addr + 7) = Value & 0xFF;
+ llvm::support::endian::write<uint64_t, llvm::support::unaligned>(
+ Addr, Value, IsTargetLittleEndian ? support::little : support::big);
}
virtual void setMipsABI(const ObjectFile &Obj) {
More information about the llvm-commits
mailing list