[AIX][TLS] Generate TLS variables in assembly files
authorVictor Huang <wei.huang@ibm.com>
Wed, 3 Mar 2021 00:16:14 +0000 (18:16 -0600)
committerVictor Huang <wei.huang@ibm.com>
Wed, 3 Mar 2021 00:22:48 +0000 (18:22 -0600)
commit1756b2adc9c1590a4a0c333d659fe7f5f80ce9fd
tree3874115171891a131d768100335cc339ef16c5f9
parent4e421b2323b38e94e82ac71e5a4dfd78f6744e87
[AIX][TLS] Generate TLS variables in assembly files

This patch allows generating TLS variables in assembly files on AIX.
Initialized and external uninitialized variables are generated with the
.csect pseudo-op and local uninitialized variables are generated with
the .comm/.lcomm pseudo-ops. The patch also adds a check to
explicitly say that TLS is not yet supported on AIX.

Reviewed by: daltenty, jasonliu, lei, nemanjai, sfertile
Originally patched by: bsaleil
Commandeered by: NeHuang

Differential Revision: https://reviews.llvm.org/D96184
llvm/include/llvm/MC/SectionKind.h
llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
llvm/lib/MC/MCObjectFileInfo.cpp
llvm/lib/MC/MCSectionXCOFF.cpp
llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
llvm/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/lib/Target/TargetLoweringObjectFile.cpp
llvm/test/CodeGen/PowerPC/aix-tls-checks.ll [new file with mode: 0644]
llvm/test/CodeGen/PowerPC/aix-tls-variables-ppc32.ll [new file with mode: 0644]
llvm/test/CodeGen/PowerPC/aix-tls-variables-ppc64.ll [new file with mode: 0644]