summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-lto2/llvm-lto2.cpp
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2017-04-14 02:55:06 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2017-04-14 02:55:06 +0000
commit8446f1fe6a5afd89c0f24e5500fce675390ce87b (patch)
tree800cf0ab92411704f2b4e6b82f0ce7a799476045 /llvm/tools/llvm-lto2/llvm-lto2.cpp
parent2f72b19b05e86321b40c048ed7fdd0a9637d93d8 (diff)
downloadbcm5719-llvm-8446f1fe6a5afd89c0f24e5500fce675390ce87b.tar.gz
bcm5719-llvm-8446f1fe6a5afd89c0f24e5500fce675390ce87b.zip
Object, LTO: Add target triple to irsymtab and LTO API.
Start using it in LLD to avoid needing to read bitcode again just to get the target triple, and in llvm-lto2 to avoid printing symbol table information that is inappropriate for the target. Differential Revision: https://reviews.llvm.org/D32038 llvm-svn: 300300
Diffstat (limited to 'llvm/tools/llvm-lto2/llvm-lto2.cpp')
-rw-r--r--llvm/tools/llvm-lto2/llvm-lto2.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/tools/llvm-lto2/llvm-lto2.cpp b/llvm/tools/llvm-lto2/llvm-lto2.cpp
index 7a8d4055338..3d2643db85b 100644
--- a/llvm/tools/llvm-lto2/llvm-lto2.cpp
+++ b/llvm/tools/llvm-lto2/llvm-lto2.cpp
@@ -293,8 +293,13 @@ static int dumpSymtab(int argc, char **argv) {
std::unique_ptr<InputFile> Input =
check(InputFile::create(MB->getMemBufferRef()), F);
+ outs() << "target triple: " << Input->getTargetTriple() << '\n';
+ Triple TT(Input->getTargetTriple());
+
outs() << "source filename: " << Input->getSourceFileName() << '\n';
- outs() << "linker opts (COFF only): " << Input->getCOFFLinkerOpts() << '\n';
+
+ if (TT.isOSBinFormatCOFF())
+ outs() << "linker opts: " << Input->getCOFFLinkerOpts() << '\n';
std::vector<StringRef> ComdatTable = Input->getComdatTable();
for (const InputFile::Symbol &Sym : Input->symbols()) {
@@ -328,7 +333,7 @@ static int dumpSymtab(int argc, char **argv) {
if (Comdat != -1)
outs() << " comdat " << ComdatTable[Comdat] << '\n';
- if (Sym.isWeak() && Sym.isIndirect())
+ if (TT.isOSBinFormatCOFF() && Sym.isWeak() && Sym.isIndirect())
outs() << " fallback " << Sym.getCOFFWeakExternalFallback() << '\n';
}
OpenPOWER on IntegriCloud