1 | /*===-- llvm-c/IRReader.h - IR Reader C Interface -----------------*- C -*-===*\ |
2 | |* *| |
3 | |* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| |
4 | |* Exceptions. *| |
5 | |* See https://llvm.org/LICENSE.txt for license information. *| |
6 | |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| |
7 | |* *| |
8 | |*===----------------------------------------------------------------------===*| |
9 | |* *| |
10 | |* This file defines the C interface to the IR Reader. *| |
11 | |* *| |
12 | \*===----------------------------------------------------------------------===*/ |
13 | |
14 | #ifndef LLVM_C_IRREADER_H |
15 | #define LLVM_C_IRREADER_H |
16 | |
17 | #include "llvm-c/ExternC.h" |
18 | #include "llvm-c/Types.h" |
19 | |
20 | LLVM_C_EXTERN_C_BEGIN |
21 | |
22 | /** |
23 | * @defgroup LLVMCCoreIRReader IR Reader |
24 | * @ingroup LLVMCCore |
25 | * |
26 | * @{ |
27 | */ |
28 | |
29 | /** |
30 | * Read LLVM IR from a memory buffer and convert it into an in-memory Module |
31 | * object. Returns 0 on success. |
32 | * Optionally returns a human-readable description of any errors that |
33 | * occurred during parsing IR. OutMessage must be disposed with |
34 | * LLVMDisposeMessage. |
35 | * |
36 | * @see llvm::ParseIR() |
37 | */ |
38 | LLVMBool LLVMParseIRInContext(LLVMContextRef ContextRef, |
39 | LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM, |
40 | char **OutMessage); |
41 | |
42 | /** |
43 | * @} |
44 | */ |
45 | |
46 | LLVM_C_EXTERN_C_END |
47 | |
48 | #endif |
49 | |