[PATCH] D140202: [lld][ARM][2/3]Big Endian support - Word invariant support

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 27 10:17:05 PDT 2023


MaskRay added a comment.

PPC64 is not templated while supporting both endians. If we use templates for `ARM`, we can use `write32<ELFT::TargetEndianness>` to save a `config->endianness` dispatch.



================
Comment at: lld/ELF/Arch/ARM.cpp:187
+template <class ELFT> void ARM<ELFT>::writeGotPlt(uint8_t *buf, const Symbol &) const {
+  write32(buf, in.plt->getVA());
 }
----------------
`write32<ELFT::TargetEndianness>` will be more efficient and compile to less code.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D140202/new/

https://reviews.llvm.org/D140202



More information about the llvm-commits mailing list