From 0b57cec536236d46e3dba9bd041533462f33dbb7 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Fri, 20 Dec 2019 19:53:05 +0000 Subject: Move all sources from the llvm project into contrib/llvm-project. This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. --- contrib/llvm/lib/Bitcode/Reader/BitReader.cpp | 133 -------------------------- 1 file changed, 133 deletions(-) delete mode 100644 contrib/llvm/lib/Bitcode/Reader/BitReader.cpp (limited to 'contrib/llvm/lib/Bitcode/Reader/BitReader.cpp') diff --git a/contrib/llvm/lib/Bitcode/Reader/BitReader.cpp b/contrib/llvm/lib/Bitcode/Reader/BitReader.cpp deleted file mode 100644 index 5ac893aef14e..000000000000 --- a/contrib/llvm/lib/Bitcode/Reader/BitReader.cpp +++ /dev/null @@ -1,133 +0,0 @@ -//===-- BitReader.cpp -----------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "llvm-c/BitReader.h" -#include "llvm-c/Core.h" -#include "llvm/Bitcode/BitcodeReader.h" -#include "llvm/IR/LLVMContext.h" -#include "llvm/IR/Module.h" -#include "llvm/Support/MemoryBuffer.h" -#include "llvm/Support/raw_ostream.h" -#include -#include - -using namespace llvm; - -/* Builds a module from the bitcode in the specified memory buffer, returning a - reference to the module via the OutModule parameter. Returns 0 on success. - Optionally returns a human-readable error message via OutMessage. */ -LLVMBool LLVMParseBitcode(LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutModule, - char **OutMessage) { - return LLVMParseBitcodeInContext(LLVMGetGlobalContext(), MemBuf, OutModule, - OutMessage); -} - -LLVMBool LLVMParseBitcode2(LLVMMemoryBufferRef MemBuf, - LLVMModuleRef *OutModule) { - return LLVMParseBitcodeInContext2(LLVMGetGlobalContext(), MemBuf, OutModule); -} - -LLVMBool LLVMParseBitcodeInContext(LLVMContextRef ContextRef, - LLVMMemoryBufferRef MemBuf, - LLVMModuleRef *OutModule, - char **OutMessage) { - MemoryBufferRef Buf = unwrap(MemBuf)->getMemBufferRef(); - LLVMContext &Ctx = *unwrap(ContextRef); - - Expected> ModuleOrErr = parseBitcodeFile(Buf, Ctx); - if (Error Err = ModuleOrErr.takeError()) { - std::string Message; - handleAllErrors(std::move(Err), [&](ErrorInfoBase &EIB) { - Message = EIB.message(); - }); - if (OutMessage) - *OutMessage = strdup(Message.c_str()); - *OutModule = wrap((Module *)nullptr); - return 1; - } - - *OutModule = wrap(ModuleOrErr.get().release()); - return 0; -} - -LLVMBool LLVMParseBitcodeInContext2(LLVMContextRef ContextRef, - LLVMMemoryBufferRef MemBuf, - LLVMModuleRef *OutModule) { - MemoryBufferRef Buf = unwrap(MemBuf)->getMemBufferRef(); - LLVMContext &Ctx = *unwrap(ContextRef); - - ErrorOr> ModuleOrErr = - expectedToErrorOrAndEmitErrors(Ctx, parseBitcodeFile(Buf, Ctx)); - if (ModuleOrErr.getError()) { - *OutModule = wrap((Module *)nullptr); - return 1; - } - - *OutModule = wrap(ModuleOrErr.get().release()); - return 0; -} - -/* Reads a module from the specified path, returning via the OutModule parameter - a module provider which performs lazy deserialization. Returns 0 on success. - Optionally returns a human-readable error message via OutMessage. */ -LLVMBool LLVMGetBitcodeModuleInContext(LLVMContextRef ContextRef, - LLVMMemoryBufferRef MemBuf, - LLVMModuleRef *OutM, char **OutMessage) { - LLVMContext &Ctx = *unwrap(ContextRef); - std::unique_ptr Owner(unwrap(MemBuf)); - Expected> ModuleOrErr = - getOwningLazyBitcodeModule(std::move(Owner), Ctx); - // Release the buffer if we didn't take ownership of it since we never owned - // it anyway. - (void)Owner.release(); - - if (Error Err = ModuleOrErr.takeError()) { - std::string Message; - handleAllErrors(std::move(Err), [&](ErrorInfoBase &EIB) { - Message = EIB.message(); - }); - if (OutMessage) - *OutMessage = strdup(Message.c_str()); - *OutM = wrap((Module *)nullptr); - return 1; - } - - *OutM = wrap(ModuleOrErr.get().release()); - - return 0; -} - -LLVMBool LLVMGetBitcodeModuleInContext2(LLVMContextRef ContextRef, - LLVMMemoryBufferRef MemBuf, - LLVMModuleRef *OutM) { - LLVMContext &Ctx = *unwrap(ContextRef); - std::unique_ptr Owner(unwrap(MemBuf)); - - ErrorOr> ModuleOrErr = expectedToErrorOrAndEmitErrors( - Ctx, getOwningLazyBitcodeModule(std::move(Owner), Ctx)); - Owner.release(); - - if (ModuleOrErr.getError()) { - *OutM = wrap((Module *)nullptr); - return 1; - } - - *OutM = wrap(ModuleOrErr.get().release()); - return 0; -} - -LLVMBool LLVMGetBitcodeModule(LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM, - char **OutMessage) { - return LLVMGetBitcodeModuleInContext(LLVMGetGlobalContext(), MemBuf, OutM, - OutMessage); -} - -LLVMBool LLVMGetBitcodeModule2(LLVMMemoryBufferRef MemBuf, - LLVMModuleRef *OutM) { - return LLVMGetBitcodeModuleInContext2(LLVMGetGlobalContext(), MemBuf, OutM); -} -- cgit v1.2.3