[lld] r174276 - [ELF] Use LLVM_IS_UNALIGNED_ACCESS_FAST.
Michael J. Spencer
bigcheesegs at gmail.com
Sun Feb 3 02:49:57 PST 2013
Author: mspencer
Date: Sun Feb 3 04:49:57 2013
New Revision: 174276
URL: http://llvm.org/viewvc/llvm-project?rev=174276&view=rev
Log:
[ELF] Use LLVM_IS_UNALIGNED_ACCESS_FAST.
Modified:
lld/trunk/lib/ReaderWriter/ELF/Reader.cpp
Modified: lld/trunk/lib/ReaderWriter/ELF/Reader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Reader.cpp?rev=174276&r1=174275&r2=174276&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/Reader.cpp (original)
+++ lld/trunk/lib/ReaderWriter/ELF/Reader.cpp Sun Feb 3 04:49:57 2013
@@ -76,40 +76,52 @@ public:
// already created during parser's life.
if (Ident.first == llvm::ELF::ELFCLASS32 &&
Ident.second == llvm::ELF::ELFDATA2LSB) {
+#if !LLVM_IS_UNALIGNED_ACCESS_FAST
if (MaxAlignment >= 4)
f.reset(new ELFFile<ELFType<llvm::support::little, 4, false> >(
_elfTargetInfo, std::move(mb), ec));
- else if (MaxAlignment >= 2)
+ else
+#endif
+ if (MaxAlignment >= 2)
f.reset(new ELFFile<ELFType<llvm::support::little, 2, false> >(
_elfTargetInfo, std::move(mb), ec));
else
llvm_unreachable("Invalid alignment for ELF file!");
} else if (Ident.first == llvm::ELF::ELFCLASS32 &&
Ident.second == llvm::ELF::ELFDATA2MSB) {
+#if !LLVM_IS_UNALIGNED_ACCESS_FAST
if (MaxAlignment >= 4)
f.reset(new ELFFile<ELFType<llvm::support::big, 4, false> >(
_elfTargetInfo, std::move(mb), ec));
- else if (MaxAlignment >= 2)
+ else
+#endif
+ if (MaxAlignment >= 2)
f.reset(new ELFFile<ELFType<llvm::support::big, 2, false> >(
_elfTargetInfo, std::move(mb), ec));
else
llvm_unreachable("Invalid alignment for ELF file!");
} else if (Ident.first == llvm::ELF::ELFCLASS64 &&
Ident.second == llvm::ELF::ELFDATA2MSB) {
+#if !LLVM_IS_UNALIGNED_ACCESS_FAST
if (MaxAlignment >= 8)
f.reset(new ELFFile<ELFType<llvm::support::big, 8, true> >(
_elfTargetInfo, std::move(mb), ec));
- else if (MaxAlignment >= 2)
+ else
+#endif
+ if (MaxAlignment >= 2)
f.reset(new ELFFile<ELFType<llvm::support::big, 2, true> >(
_elfTargetInfo, std::move(mb), ec));
else
llvm_unreachable("Invalid alignment for ELF file!");
} else if (Ident.first == llvm::ELF::ELFCLASS64 &&
Ident.second == llvm::ELF::ELFDATA2LSB) {
+#if !LLVM_IS_UNALIGNED_ACCESS_FAST
if (MaxAlignment >= 8)
f.reset(new ELFFile<ELFType<llvm::support::little, 8, true> >(
_elfTargetInfo, std::move(mb), ec));
- else if (MaxAlignment >= 2)
+ else
+#endif
+ if (MaxAlignment >= 2)
f.reset(new ELFFile<ELFType<llvm::support::little, 2, true> >(
_elfTargetInfo, std::move(mb), ec));
else
More information about the llvm-commits
mailing list