diff options
| author | 2019-01-27 16:42:12 +0000 | |
|---|---|---|
| committer | 2019-01-27 16:42:12 +0000 | |
| commit | b773203fb58f3ef282fb69c832d8710cab5bc82d (patch) | |
| tree | e75913f147570fbd75169647b144df85b88a038c /gnu/llvm/lib/IRReader/IRReader.cpp | |
| parent | tweak errno in previous (diff) | |
| download | wireguard-openbsd-b773203fb58f3ef282fb69c832d8710cab5bc82d.tar.xz wireguard-openbsd-b773203fb58f3ef282fb69c832d8710cab5bc82d.zip | |
Import LLVM 7.0.1 release including clang, lld and lldb.
Diffstat (limited to 'gnu/llvm/lib/IRReader/IRReader.cpp')
| -rw-r--r-- | gnu/llvm/lib/IRReader/IRReader.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/gnu/llvm/lib/IRReader/IRReader.cpp b/gnu/llvm/lib/IRReader/IRReader.cpp index 999f11deb15..36bbf719bb6 100644 --- a/gnu/llvm/lib/IRReader/IRReader.cpp +++ b/gnu/llvm/lib/IRReader/IRReader.cpp @@ -68,7 +68,8 @@ std::unique_ptr<Module> llvm::getLazyIRFileModule(StringRef Filename, std::unique_ptr<Module> llvm::parseIR(MemoryBufferRef Buffer, SMDiagnostic &Err, LLVMContext &Context, - bool UpgradeDebugInfo) { + bool UpgradeDebugInfo, + StringRef DataLayoutString) { NamedRegionTimer T(TimeIRParsingName, TimeIRParsingDescription, TimeIRParsingGroupName, TimeIRParsingGroupDescription, TimePassesIsEnabled); @@ -83,15 +84,19 @@ std::unique_ptr<Module> llvm::parseIR(MemoryBufferRef Buffer, SMDiagnostic &Err, }); return nullptr; } + if (!DataLayoutString.empty()) + ModuleOrErr.get()->setDataLayout(DataLayoutString); return std::move(ModuleOrErr.get()); } - return parseAssembly(Buffer, Err, Context, nullptr, UpgradeDebugInfo); + return parseAssembly(Buffer, Err, Context, nullptr, UpgradeDebugInfo, + DataLayoutString); } std::unique_ptr<Module> llvm::parseIRFile(StringRef Filename, SMDiagnostic &Err, LLVMContext &Context, - bool UpgradeDebugInfo) { + bool UpgradeDebugInfo, + StringRef DataLayoutString) { ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = MemoryBuffer::getFileOrSTDIN(Filename); if (std::error_code EC = FileOrErr.getError()) { @@ -101,7 +106,7 @@ std::unique_ptr<Module> llvm::parseIRFile(StringRef Filename, SMDiagnostic &Err, } return parseIR(FileOrErr.get()->getMemBufferRef(), Err, Context, - UpgradeDebugInfo); + UpgradeDebugInfo, DataLayoutString); } //===----------------------------------------------------------------------===// |
