1use crate::error::LLVMErrorRef;
2
3use super::*;
4
5pub type LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction =
6 extern "C" fn(
7 Ctx: *mut ::libc::c_void,
8 ES: LLVMOrcExecutionSessionRef,
9 Triple: *const ::libc::c_char,
10 ) -> LLVMOrcObjectLayerRef;
11
12#[derive(Debug)]
13pub enum LLVMOrcOpaqueLLJITBuilder {}
14pub type LLVMOrcLLJITBuilderRef = *mut LLVMOrcOpaqueLLJITBuilder;
15
16#[derive(Debug)]
17pub enum LLVMOrcOpaqueLLJIT {}
18pub type LLVMOrcLLJITRef = *mut LLVMOrcOpaqueLLJIT;
19
20extern "C" {
21 pub fn LLVMOrcCreateLLJITBuilder() -> LLVMOrcLLJITBuilderRef;
22 pub fn LLVMOrcDisposeLLJITBuilder(Builder: LLVMOrcLLJITBuilderRef);
23 pub fn LLVMOrcLLJITBuilderSetJITTargetMachineBuilder(
24 Builder: LLVMOrcLLJITBuilderRef,
25 JTMB: LLVMOrcJITTargetMachineBuilderRef,
26 );
27 pub fn LLVMOrcLLJITBuilderSetObjectLinkingLayerCreator(
28 Builder: LLVMOrcLLJITBuilderRef,
29 F: LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction,
30 Ctx: *mut ::libc::c_void,
31 );
32 pub fn LLVMOrcCreateLLJIT(
33 Result: *mut LLVMOrcLLJITRef,
34 Builder: LLVMOrcLLJITBuilderRef,
35 ) -> LLVMErrorRef;
36 pub fn LLVMOrcDisposeLLJIT(J: LLVMOrcLLJITRef) -> LLVMErrorRef;
37 pub fn LLVMOrcLLJITGetExecutionSession(J: LLVMOrcLLJITRef) -> LLVMOrcExecutionSessionRef;
38 pub fn LLVMOrcLLJITGetMainJITDylib(J: LLVMOrcLLJITRef) -> LLVMOrcJITDylibRef;
39 pub fn LLVMOrcLLJITGetTripleString(J: LLVMOrcLLJITRef) -> *const ::libc::c_char;
40 pub fn LLVMOrcLLJITGetGlobalPrefix(J: LLVMOrcLLJITRef) -> ::libc::c_char;
41 pub fn LLVMOrcLLJITMangleAndIntern(
42 J: LLVMOrcLLJITRef,
43 UnmangledName: *const ::libc::c_char,
44 ) -> LLVMOrcSymbolStringPoolEntryRef;
45 pub fn LLVMOrcLLJITAddObjectFile(
46 J: LLVMOrcLLJITRef,
47 JD: LLVMOrcJITDylibRef,
48 ObjBuffer: LLVMMemoryBufferRef,
49 ) -> LLVMErrorRef;
50 pub fn LLVMOrcLLJITAddObjectFileWithRT(
51 J: LLVMOrcLLJITRef,
52 RT: LLVMOrcResourceTrackerRef,
53 ObjBuffer: LLVMMemoryBufferRef,
54 ) -> LLVMErrorRef;
55 pub fn LLVMOrcLLJITAddLLVMIRModule(
56 J: LLVMOrcLLJITRef,
57 JD: LLVMOrcJITDylibRef,
58 TSM: LLVMOrcThreadSafeModuleRef,
59 ) -> LLVMErrorRef;
60 pub fn LLVMOrcLLJITAddLLVMIRModuleWithRT(
61 J: LLVMOrcLLJITRef,
62 JD: LLVMOrcResourceTrackerRef,
63 TSM: LLVMOrcThreadSafeModuleRef,
64 ) -> LLVMErrorRef;
65 pub fn LLVMOrcLLJITLookup(
66 J: LLVMOrcLLJITRef,
67 Result: *mut LLVMOrcExecutorAddress,
68 Name: *const ::libc::c_char,
69 ) -> LLVMErrorRef;
70 pub fn LLVMOrcLLJITGetObjLinkingLayer(J: LLVMOrcLLJITRef) -> LLVMOrcObjectLayerRef;
71 pub fn LLVMOrcLLJITGetObjTransformLayer(J: LLVMOrcLLJITRef) -> LLVMOrcObjectTransformLayerRef;
72 pub fn LLVMOrcLLJITGetIRTransformLayer(J: LLVMOrcLLJITRef) -> LLVMOrcIRTransformLayerRef;
73 pub fn LLVMOrcLLJITGetDataLayoutStr(J: LLVMOrcLLJITRef) -> *const ::libc::c_char;
74
75 pub fn LLVMOrcLLJITEnableDebugSupport(J: LLVMOrcLLJITRef) -> LLVMErrorRef;
79}