diff options
author | Hans Wennborg <hans@hanshq.net> | 2014-09-28 00:22:27 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2014-09-28 00:22:27 +0000 |
commit | ba80b5d43c516a6136897f5db37b90f75a62f4be (patch) | |
tree | 7dbd40ab4eba8bea5660c450e96868d47c81d250 /llvm/lib | |
parent | 04e9d9ce64d5e5ea90ee3c4e3fb3375984ca5483 (diff) | |
download | bcm5719-llvm-ba80b5d43c516a6136897f5db37b90f75a62f4be.tar.gz bcm5719-llvm-ba80b5d43c516a6136897f5db37b90f75a62f4be.zip |
WinCOFFObjectWriter.cpp: make write_uint32_le more efficient
llvm-svn: 218574
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/MC/WinCOFFObjectWriter.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/llvm/lib/MC/WinCOFFObjectWriter.cpp b/llvm/lib/MC/WinCOFFObjectWriter.cpp index f40e1abb048..5ffa107da9a 100644 --- a/llvm/lib/MC/WinCOFFObjectWriter.cpp +++ b/llvm/lib/MC/WinCOFFObjectWriter.cpp @@ -28,6 +28,7 @@ #include "llvm/MC/MCValue.h" #include "llvm/Support/COFF.h" #include "llvm/Support/Debug.h" +#include "llvm/Support/Endian.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/TimeValue.h" #include <cstdio> @@ -196,12 +197,9 @@ public: }; } -static inline void write_uint32_le(void *Data, uint32_t const &Value) { - uint8_t *Ptr = reinterpret_cast<uint8_t *>(Data); - Ptr[0] = (Value & 0x000000FF) >> 0; - Ptr[1] = (Value & 0x0000FF00) >> 8; - Ptr[2] = (Value & 0x00FF0000) >> 16; - Ptr[3] = (Value & 0xFF000000) >> 24; +static inline void write_uint32_le(void *Data, uint32_t Value) { + support::endian::write<uint32_t, support::little, support::unaligned>(Data, + Value); } //------------------------------------------------------------------------------ |