diff options
Diffstat (limited to 'include/llvm/IRReader/IRReader.h')
-rw-r--r-- | include/llvm/IRReader/IRReader.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/include/llvm/IRReader/IRReader.h b/include/llvm/IRReader/IRReader.h index bedde8954fbb..05171300b602 100644 --- a/include/llvm/IRReader/IRReader.h +++ b/include/llvm/IRReader/IRReader.h @@ -1,9 +1,8 @@ //===---- llvm/IRReader/IRReader.h - Reader for LLVM IR files ---*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -21,11 +20,22 @@ namespace llvm { class StringRef; +class MemoryBuffer; class MemoryBufferRef; class Module; class SMDiagnostic; class LLVMContext; +/// If the given MemoryBuffer holds a bitcode image, return a Module +/// for it which does lazy deserialization of function bodies. Otherwise, +/// attempt to parse it as LLVM Assembly and return a fully populated +/// Module. The ShouldLazyLoadMetadata flag is passed down to the bitcode +/// reader to optionally enable lazy metadata loading. This takes ownership +/// of \p Buffer. +std::unique_ptr<Module> getLazyIRModule(std::unique_ptr<MemoryBuffer> Buffer, + SMDiagnostic &Err, LLVMContext &Context, + bool ShouldLazyLoadMetadata = false); + /// If the given file holds a bitcode image, return a Module /// for it which does lazy deserialization of function bodies. Otherwise, /// attempt to parse it as LLVM Assembly and return a fully populated |