[PATCH] D123951: [LLVM] Add exported visibility-style to IR for XCOFF

David Tenty via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 18 10:57:15 PDT 2022


daltenty created this revision.
daltenty added reviewers: Esme, hubert.reinterpretcast, DiggerLin, sfertile.
Herald added subscribers: ormris, dexonsmith, jdoerfert, steven_wu, kbarton, hiraditya, nemanjai.
Herald added a project: All.
daltenty requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

For the AIX linker, under default options, global or weak symbols which
have no visibility bits set to zero (i.e. no visibility, similar to ELF
default) are only exported if specified on an export list provided to
the linker. So AIX has an additional visibility style called
"exported" which indicates to the linker that the symbol should
be explicitly globally exported.

This change introduces "exported" visibility style to the LLVM IR, to
correspond to XCOFF exported and allows us to enable writing this
visibility for the AIX target in the assembly path. The non-XCOFF
streamers ignore this visibility style in this patch.


https://reviews.llvm.org/D123951

Files:
  llvm/docs/BitCodeFormat.rst
  llvm/docs/LangRef.rst
  llvm/include/llvm/AsmParser/LLToken.h
  llvm/include/llvm/IR/GlobalValue.h
  llvm/include/llvm/MC/MCAsmInfo.h
  llvm/include/llvm/MC/MCDirectives.h
  llvm/lib/AsmParser/LLLexer.cpp
  llvm/lib/AsmParser/LLParser.cpp
  llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
  llvm/lib/IR/AsmWriter.cpp
  llvm/lib/MC/MCAsmStreamer.cpp
  llvm/lib/MC/MCELFStreamer.cpp
  llvm/lib/MC/MCMachOStreamer.cpp
  llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
  llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll
  llvm/test/LTO/Resolution/X86/symtab.ll
  llvm/tools/llvm-lto2/llvm-lto2.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123951.423410.patch
Type: text/x-patch
Size: 11430 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220418/5b610b65/attachment.bin>


More information about the llvm-commits mailing list