[PATCH] D54207: [ELF] Make TrapInstr and Filler byte arrays. NFC.
James Clarke via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 8 02:38:17 PST 2018
jrtc27 added inline comments.
================
Comment at: ELF/OutputSections.cpp:242
+ bool NonZeroFiller =
+ llvm::support::endian::read32<endianness::native>(Filler.data()) != 0;
+ if (NonZeroFiller)
----------------
ruiu wrote:
> jrtc27 wrote:
> > ruiu wrote:
> > > Do you need to use read32 if you only want to know whether a value is zero or not?
> > We need to know whether all four elements are zero. We could check each element individually (either in a loop or unrolled), but this seemed nicer, and I'm assuming it'll be optimised to a single 32-bit load on architectures with unaligned loads.
> Ah, but this is not a performance critical path at all, so I'd just use read32le.
I don't particularly like unnecessarily slowing down the code for big-endian hosts, even if it isn't a critical path. The only advantage I see is that it shortens the code a tiny bit, but that's only because there is no `read32ne` wrapper for this like `read32[bl]e`... So I would advocate for keeping it as-is, but at the end of the day I'll change it if necessary.
Repository:
rLLD LLVM Linker
https://reviews.llvm.org/D54207
More information about the llvm-commits
mailing list