[PATCH] D49673: [AArch64] Add Tiny Code Model for AArch64

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 24 11:25:26 PDT 2018


dmgreen added a comment.

Thanks guys

In https://reviews.llvm.org/D49673#1172208, @efriedma wrote:

> This seems mostly straightforward.
>
> Is tiny supported with PIC? Please add tests.
>
> Do other in-tree targets correctly reject -code-model=tiny?


Will do

In https://reviews.llvm.org/D49673#1173557, @peter.smith wrote:

> Some other observations:


Cheers for the comments (and the code). I forgot to mention the things that this doesn't yet handle. TLS is the main one. This will currently assert for TLS for ELF, in the same way as for the Large codemodel, and if that is removed/ignored will create code as with the Small implementation. I plan to look into this, but as you say that might be better in a followup.

I have some code for fastisel but removed it as I wasn't sure it was worth-while. That will fall back to ISel at the moment.

I think I mentioned somewhere in the code that as weak references need to go through a GOT (so they can be 0), and from what I can tell there are no GOT relocations on ADR's, the code here currently produces an ADRP;ADD pair with the relocations. GCC produces a constant pool access or LDR's in PIC, so this may change.

I'll see about adding PIC, filling in the gaps and run some extra testing.


https://reviews.llvm.org/D49673





More information about the llvm-commits mailing list