[PATCH] D80831: [XCOFF][AIX] Use 'L..' instead of 'L' for PrivateGlobalPrefix

Jason Liu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 17:54:03 PDT 2020


jasonliu marked an inline comment as done.
jasonliu added inline comments.


================
Comment at: llvm/test/CodeGen/PowerPC/aix-lower-block-address.ll:72
 ; CHECK: .toc
-; CHECK: .tc Ltmp0[TC],Ltmp0
+; CHECK: .tc L..tmp0[TC],L..tmp0
----------------
hubert.reinterpretcast wrote:
> What exactly is a "temporary" in terms of the object file or the assembly? The TOC entry here clearly would have a symbol table entry.
I think LLVM treat the "temporary" as compiler created symbol. 
We have the logic in XCOFFObjectFileWriter.cpp to query and skip recording the temporary symbols.
In this particular case, L..tmp0 is a temporary symbol/XCOFF label that we do not want to record in our symbol table. L..tmp0[TC] gets treated as temporary symbol as well, and skipped, but its csect still get registered and recorded. So everything "works".
I do agree it's a bit confusing here. But for our current status on AIX,  symbols' "temporary" status does not seem to affect any of the assembly generation. And we actually only care about the symbols's temporary status for external symbols and labels, because those info are coming through MCSymbol (others are from MCSection). 


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80831/new/

https://reviews.llvm.org/D80831





More information about the llvm-commits mailing list