[PATCH] D80642: [AIX] Emit AvailableExternally Linkage on AIX
Xiangling Liao via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 27 09:11:39 PDT 2020
Xiangling_L created this revision.
Xiangling_L added reviewers: hubert.reinterpretcast, jasonliu, DiggerLin, sfertile.
Xiangling_L added a project: LLVM.
Herald added subscribers: llvm-commits, kbarton, hiraditya, nemanjai.
There are two usages of `AvailableExternally` Linkage.
The first one is used for inlining of thunks under the Itanium ABI. However, this linkage set on thunks is a temporary presence and is never ended up in the final IR. So we don't need to take care of it in the backend.
The second one is where we have a const declaration with an initializer, we may be able to emit it as available_externally to expose its value to the optimizer. Since on AIX, our strategy is to not use `-u` to suppress any undefined symbols, we need to emit `.extern` for the symbol.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D80642
Files:
llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
llvm/lib/Target/TargetLoweringObjectFile.cpp
llvm/test/CodeGen/PowerPC/aix-available-externally-linkage.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80642.266542.patch
Type: text/x-patch
Size: 6382 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200527/b800b24c/attachment-0001.bin>
More information about the llvm-commits
mailing list