[clang] [llvm] [PowerPC] Support local-dynamic TLS relocation on AIX (PR #66316)
Amy Kwan via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 6 22:36:32 PST 2023
================
@@ -145,9 +160,78 @@ namespace {
.addImm(0);
if (IsAIX) {
- // The variable offset and region handle are copied in r4 and r3. The
- // copies are followed by GETtlsADDR32AIX/GETtlsADDR64AIX.
- if (!IsTLSTPRelMI) {
+ if (IsTLSLDAIXMI) {
+ // The relative order between the LoadOffset at toc node, and the
+ // ._tls_get_mod node is being tuned here. It is better to put the
+ // LoadOffset at toc node after the call, since the LoadOffset at toc node
+ // can use clobbers r4/r5. Search for the pattern of two Load at toc
+ // nodes, and then move the LoadOffset at toc node right before the
+ // node that uses the OutReg of the ._tls_get_mod node.
----------------
amy-kwan wrote:
```suggestion
// node that uses the OutReg of the .__tls_get_mod node.
```
https://github.com/llvm/llvm-project/pull/66316
More information about the llvm-commits
mailing list