[PATCH] D31528: [ELF][MIPS] Multi-GOT implementation

Rui Ueyama via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 31 18:20:17 PDT 2017


ruiu added a comment.

This is not your fault, but I have to say that this MIPS GOT layout is very odd, too different from other architectures, and too complicated.  I want to avoid supporting this unless I'm convinced that it is absolutely necessary. It seems to me that MIPS needs a clean, common new ABI. Only the MIPS ABI imposes a lot of restrictions on the size of GOT sections and the order of GOT section members, even though MIPS as a processor is an ordinary RISC ISA. This change would really hurt maintainability of LLD which I already found some MIPS-specific behavior is hard to keep it right when editing code for all the other architectures.

I wonder what is the performance penalty you would have to pay when you use the -mxgot option. With the option, you'll need three instructions as opposed to a single instruction to access an GOT entry. Does that actually make observable difference in performance?



================
Comment at: ELF/DriverUtils.cpp:31
 using namespace llvm;
+using namespace llvm::opt;
 using namespace llvm::sys;
----------------
Do you need this?


Repository:
  rL LLVM

https://reviews.llvm.org/D31528





More information about the llvm-commits mailing list