[Android] Use ELF TLS for Android API level 29+
authorBrad Smith <brad@comstyle.com>
Mon, 17 Apr 2023 23:21:15 +0000 (19:21 -0400)
committerBrad Smith <brad@comstyle.com>
Mon, 17 Apr 2023 23:32:29 +0000 (19:32 -0400)
commitb71f2fcd46790dd63dd2688c208139ea26f027d4
tree46e1ac1c395feb811f2cdd102e7074d9994e8c21
parent914d082ff0beec08f8b8ceafcf04fb357b4899c5
[Android] Use ELF TLS for Android API level 29+

Use ELF TLS by default instead of emulated TLS for Android build targets when
the API level is >= 29.

Android Q features full TLS support. See release notes
(https://developer.android.com/preview/features#elf-tls) and implementation details
(https://android.googlesource.com/platform/bionic/+/master/docs/elf-tls.md#Workaround_Use-Variant-2-on-arm32_arm64).

Reviewed By: rprichard, danalbert

Differential Revision: https://reviews.llvm.org/D147849
llvm/include/llvm/TargetParser/Triple.h
llvm/test/CodeGen/AArch64/emutls_generic.ll
llvm/test/CodeGen/X86/emutls-pic.ll
llvm/test/CodeGen/X86/emutls-pie.ll
llvm/test/CodeGen/X86/emutls_generic.ll
llvm/test/CodeGen/X86/fast-isel-emutls.ll