[PATCH] D71688: [AArch64] Add -mtls-size option for ELF targets
KAWASHIMA Takahiro via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 7 05:50:50 PST 2020
kawashima-fj added a comment.
In D71688#1807684 <https://reviews.llvm.org/D71688#1807684>, @peter.smith wrote:
> Apologies for the delay in responding, just come back from vacation. I've checked the implementation against GCC and it looks like it will give the same behaviour. I've got one minor suggestion surrounding the clamping of TLSSize to its maximum value. It looks like it would only need to be done once, is there a convenient place, such as AArch64TargetMachine where it can be done once?
No need to apologize. I know many people are in vacation last two or three weeks.
I'm not sure whether I understand your suggestion correctly. Do you mean the following code in the `LowerELFTLSLocalExec` function should be in a function in `AArch64TargetMachine` or somewhere which is called only once because `LowerELFTLSLocalExec` is called for every thread local variable? If so, it makes sense. I'll find a convenient place.
if (TLSSize == 0) // default
TLSSize = 24;
if ((CModel == CodeModel::Small || CModel == CodeModel::Kernel) &&
TLSSize > 32)
// for the small (and kernel) code model, the maximum TLS size is 4GiB
TLSSize = 32;
else if (CModel == CodeModel::Tiny && TLSSize > 24)
// for the tiny code model, the maximum TLS size is 1MiB (< 16MiB)
TLSSize = 24;
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71688/new/
https://reviews.llvm.org/D71688
More information about the llvm-commits
mailing list