diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2015-06-29 23:26:28 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2015-06-29 23:26:28 +0000 |
commit | 79cfd437b5fcb71d4b748831db888c700231c0c4 (patch) | |
tree | 930514660e85baa708368a63a5d509742ed3d226 | |
parent | 40cdd7a8ea482149d493eacb2f2dc2c43ad06798 (diff) | |
download | bcm5719-llvm-79cfd437b5fcb71d4b748831db888c700231c0c4.tar.gz bcm5719-llvm-79cfd437b5fcb71d4b748831db888c700231c0c4.zip |
COFF: Use LTOModule::getLinkerOpts() instead of reading the linker directives ourselves.
llvm-svn: 241020
-rw-r--r-- | lld/COFF/InputFiles.cpp | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/lld/COFF/InputFiles.cpp b/lld/COFF/InputFiles.cpp index 2022554e26e..2819d393e65 100644 --- a/lld/COFF/InputFiles.cpp +++ b/lld/COFF/InputFiles.cpp @@ -292,33 +292,10 @@ std::error_code BitcodeFile::parse() { bool Replaceable = (SymbolDef == LTO_SYMBOL_DEFINITION_TENTATIVE || (Attrs & LTO_SYMBOL_COMDAT)); SymbolBodies.push_back(new (Alloc) DefinedBitcode(SymName, Replaceable)); - - const llvm::GlobalValue *GV = M->getSymbolGV(I); - if (GV && GV->hasDLLExportStorageClass()) { - Directives += " /export:"; - Directives += SymName; - if (!GV->getValueType()->isFunctionTy()) - Directives += ",data"; - } - } - } - - // Extract any linker directives from the bitcode file, which are represented - // as module flags with the key "Linker Options". - llvm::SmallVector<llvm::Module::ModuleFlagEntry, 8> Flags; - M->getModule().getModuleFlagsMetadata(Flags); - for (auto &&Flag : Flags) { - if (Flag.Key->getString() != "Linker Options") - continue; - - for (llvm::Metadata *Op : cast<llvm::MDNode>(Flag.Val)->operands()) { - for (llvm::Metadata *InnerOp : cast<llvm::MDNode>(Op)->operands()) { - Directives += " "; - Directives += cast<llvm::MDString>(InnerOp)->getString(); - } } } + Directives = M->getLinkerOpts(); return std::error_code(); } |