diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/lib/IRReader/IRReader.cpp | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/lib/IRReader/IRReader.cpp')
| -rw-r--r-- | gnu/llvm/lib/IRReader/IRReader.cpp | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/gnu/llvm/lib/IRReader/IRReader.cpp b/gnu/llvm/lib/IRReader/IRReader.cpp deleted file mode 100644 index 36bbf719bb6..00000000000 --- a/gnu/llvm/lib/IRReader/IRReader.cpp +++ /dev/null @@ -1,139 +0,0 @@ -//===---- IRReader.cpp - Reader for LLVM IR files -------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "llvm/IRReader/IRReader.h" -#include "llvm-c/IRReader.h" -#include "llvm/AsmParser/Parser.h" -#include "llvm/Bitcode/BitcodeReader.h" -#include "llvm/IR/LLVMContext.h" -#include "llvm/IR/Module.h" -#include "llvm/Support/MemoryBuffer.h" -#include "llvm/Support/SourceMgr.h" -#include "llvm/Support/Timer.h" -#include "llvm/Support/raw_ostream.h" -#include <system_error> - -using namespace llvm; - -namespace llvm { - extern bool TimePassesIsEnabled; -} - -static const char *const TimeIRParsingGroupName = "irparse"; -static const char *const TimeIRParsingGroupDescription = "LLVM IR Parsing"; -static const char *const TimeIRParsingName = "parse"; -static const char *const TimeIRParsingDescription = "Parse IR"; - -static std::unique_ptr<Module> -getLazyIRModule(std::unique_ptr<MemoryBuffer> Buffer, SMDiagnostic &Err, - LLVMContext &Context, bool ShouldLazyLoadMetadata) { - if (isBitcode((const unsigned char *)Buffer->getBufferStart(), - (const unsigned char *)Buffer->getBufferEnd())) { - Expected<std::unique_ptr<Module>> ModuleOrErr = getOwningLazyBitcodeModule( - std::move(Buffer), Context, ShouldLazyLoadMetadata); - if (Error E = ModuleOrErr.takeError()) { - handleAllErrors(std::move(E), [&](ErrorInfoBase &EIB) { - Err = SMDiagnostic(Buffer->getBufferIdentifier(), SourceMgr::DK_Error, - EIB.message()); - }); - return nullptr; - } - return std::move(ModuleOrErr.get()); - } - - return parseAssembly(Buffer->getMemBufferRef(), Err, Context); -} - -std::unique_ptr<Module> llvm::getLazyIRFileModule(StringRef Filename, - SMDiagnostic &Err, - LLVMContext &Context, - bool ShouldLazyLoadMetadata) { - ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = - MemoryBuffer::getFileOrSTDIN(Filename); - if (std::error_code EC = FileOrErr.getError()) { - Err = SMDiagnostic(Filename, SourceMgr::DK_Error, - "Could not open input file: " + EC.message()); - return nullptr; - } - - return getLazyIRModule(std::move(FileOrErr.get()), Err, Context, - ShouldLazyLoadMetadata); -} - -std::unique_ptr<Module> llvm::parseIR(MemoryBufferRef Buffer, SMDiagnostic &Err, - LLVMContext &Context, - bool UpgradeDebugInfo, - StringRef DataLayoutString) { - NamedRegionTimer T(TimeIRParsingName, TimeIRParsingDescription, - TimeIRParsingGroupName, TimeIRParsingGroupDescription, - TimePassesIsEnabled); - if (isBitcode((const unsigned char *)Buffer.getBufferStart(), - (const unsigned char *)Buffer.getBufferEnd())) { - Expected<std::unique_ptr<Module>> ModuleOrErr = - parseBitcodeFile(Buffer, Context); - if (Error E = ModuleOrErr.takeError()) { - handleAllErrors(std::move(E), [&](ErrorInfoBase &EIB) { - Err = SMDiagnostic(Buffer.getBufferIdentifier(), SourceMgr::DK_Error, - EIB.message()); - }); - return nullptr; - } - if (!DataLayoutString.empty()) - ModuleOrErr.get()->setDataLayout(DataLayoutString); - return std::move(ModuleOrErr.get()); - } - - return parseAssembly(Buffer, Err, Context, nullptr, UpgradeDebugInfo, - DataLayoutString); -} - -std::unique_ptr<Module> llvm::parseIRFile(StringRef Filename, SMDiagnostic &Err, - LLVMContext &Context, - bool UpgradeDebugInfo, - StringRef DataLayoutString) { - ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = - MemoryBuffer::getFileOrSTDIN(Filename); - if (std::error_code EC = FileOrErr.getError()) { - Err = SMDiagnostic(Filename, SourceMgr::DK_Error, - "Could not open input file: " + EC.message()); - return nullptr; - } - - return parseIR(FileOrErr.get()->getMemBufferRef(), Err, Context, - UpgradeDebugInfo, DataLayoutString); -} - -//===----------------------------------------------------------------------===// -// C API. -//===----------------------------------------------------------------------===// - -LLVMBool LLVMParseIRInContext(LLVMContextRef ContextRef, - LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM, - char **OutMessage) { - SMDiagnostic Diag; - - std::unique_ptr<MemoryBuffer> MB(unwrap(MemBuf)); - *OutM = - wrap(parseIR(MB->getMemBufferRef(), Diag, *unwrap(ContextRef)).release()); - - if(!*OutM) { - if (OutMessage) { - std::string buf; - raw_string_ostream os(buf); - - Diag.print(nullptr, os, false); - os.flush(); - - *OutMessage = strdup(buf.c_str()); - } - return 1; - } - - return 0; -} |
