diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2017-06-12 20:10:48 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2017-06-12 20:10:48 +0000 |
commit | 89061b2224456b46fb09a62533687dd3bf746afa (patch) | |
tree | 30716f798fdb25531fe7c4790d84f0b272bcae50 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | 30b2c6bdb7e87b0fbcfcf17898dba1d2e982d5b3 (diff) | |
download | llvm-89061b2224456b46fb09a62533687dd3bf746afa.zip llvm-89061b2224456b46fb09a62533687dd3bf746afa.tar.gz llvm-89061b2224456b46fb09a62533687dd3bf746afa.tar.bz2 |
IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata.
The new metadata is easier to manipulate than module flags.
Differential Revision: https://reviews.llvm.org/D31349
llvm-svn: 305227
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r-- | llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index 95987fa..bfa7307 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -2608,6 +2608,16 @@ Error BitcodeReader::materializeMetadata() { if (Error Err = MDLoader->parseModuleMetadata()) return Err; } + + // Upgrade "Linker Options" module flag to "llvm.linker.options" module-level + // metadata. + if (Metadata *Val = TheModule->getModuleFlag("Linker Options")) { + NamedMDNode *LinkerOpts = + TheModule->getOrInsertNamedMetadata("llvm.linker.options"); + for (const MDOperand &MDOptions : cast<MDNode>(Val)->operands()) + LinkerOpts->addOperand(cast<MDNode>(MDOptions)); + } + DeferredMetadataInfo.clear(); return Error::success(); } |