1#![allow(non_snake_case)]
2pub mod ee;
5pub mod lljit;
6
7use error::LLVMErrorRef;
8use prelude::*;
9use target_machine::LLVMTargetMachineRef;
10
11pub type LLVMOrcJITTargetAddress = u64;
13
14pub type LLVMOrcExecutorAddress = u64;
16
17#[repr(C)]
19#[derive(Clone, Copy, Debug, PartialEq)]
20pub enum LLVMJITSymbolGenericFlags {
21 LLVMJITSymbolGenericFlagsNone = 0,
22 LLVMJITSymbolGenericFlagsExported = 1,
23 LLVMJITSymbolGenericFlagsWeak = 2,
24 LLVMJITSymbolGenericFlagsCallable = 4,
25 LLVMJITSymbolGenericFlagsMaterializationSideEffectsOnly = 8,
26}
27
28pub type LLVMJITSymbolTargetFlags = u8;
30
31#[repr(C)]
33#[derive(Debug)]
34pub struct LLVMJITSymbolFlags {
35 pub GenericFlags: u8,
36 pub TargetFlags: u8,
37}
38
39#[repr(C)]
41#[derive(Debug)]
42pub struct LLVMJITEvaluatedSymbol {
43 pub Address: LLVMOrcExecutorAddress,
44 pub Flags: LLVMJITSymbolFlags,
45}
46
47#[derive(Debug)]
48pub enum LLVMOrcOpaqueExecutionSession {}
49pub type LLVMOrcExecutionSessionRef = *mut LLVMOrcOpaqueExecutionSession;
50
51pub type LLVMOrcErrorReporterFunction = extern "C" fn(Ctx: *mut ::libc::c_void, Err: LLVMErrorRef);
53
54#[derive(Debug)]
55pub enum LLVMOrcOpaqueSymbolStringPool {}
56pub type LLVMOrcSymbolStringPoolRef = *mut LLVMOrcOpaqueSymbolStringPool;
58
59#[derive(Debug)]
60pub enum LLVMOrcOpaqueSymbolStringPoolEntry {}
61pub type LLVMOrcSymbolStringPoolEntryRef = *mut LLVMOrcOpaqueSymbolStringPoolEntry;
62
63#[repr(C)]
65#[derive(Debug)]
66pub struct LLVMOrcCSymbolFlagsMapPair {
67 pub Name: LLVMOrcSymbolStringPoolEntryRef,
68 pub Flags: LLVMJITSymbolFlags,
69}
70
71pub type LLVMOrcCSymbolFlagsMapPairs = *mut LLVMOrcCSymbolFlagsMapPair;
72
73#[repr(C)]
75#[derive(Debug)]
76pub struct LLVMOrcCSymbolMapPair {
77 pub Name: LLVMOrcSymbolStringPoolEntryRef,
78 pub Sym: LLVMJITEvaluatedSymbol,
79}
80
81pub type LLVMOrcCSymbolMapPairs = *mut LLVMOrcCSymbolMapPair;
84
85#[repr(C)]
86#[derive(Debug)]
87pub struct LLVMOrcCSymbolAliasMapEntry {
88 pub Name: LLVMOrcSymbolStringPoolEntryRef,
89 pub Flags: LLVMJITSymbolFlags,
90}
91
92#[repr(C)]
93#[derive(Debug)]
94pub struct LLVMOrcCSymbolAliasMapPair {
95 pub Name: LLVMOrcSymbolStringPoolEntryRef,
96 pub Entry: LLVMOrcCSymbolAliasMapEntry,
97}
98
99pub type LLVMOrcCSymbolAliasMapPairs = *mut LLVMOrcCSymbolAliasMapPair;
100
101#[derive(Debug)]
102pub enum LLVMOrcOpaqueJITDylib {}
103pub type LLVMOrcJITDylibRef = *mut LLVMOrcOpaqueJITDylib;
104
105#[repr(C)]
106#[derive(Debug)]
107pub struct LLVMOrcCSymbolsList {
108 pub Symbols: *mut LLVMOrcSymbolStringPoolEntryRef,
109 pub Length: ::libc::size_t,
110}
111
112#[repr(C)]
113#[derive(Debug)]
114pub struct LLVMOrcCDependenceMapPair {
115 pub JD: LLVMOrcJITDylibRef,
116 pub Names: LLVMOrcCSymbolsList,
117}
118
119pub type LLVMOrcCDependenceMapPairs = *mut LLVMOrcCDependenceMapPair;
120
121#[repr(C)]
124#[derive(Clone, Copy, Debug, PartialEq)]
125pub enum LLVMOrcLookupKind {
126 LLVMOrcLookupKindStatic,
127 LLVMOrcLookupKindDLSym,
128}
129
130#[repr(C)]
133#[derive(Clone, Copy, Debug, PartialEq)]
134pub enum LLVMOrcJITDylibLookupFlags {
135 LLVMOrcJITDylibLookupFlagsMatchExportedSymbolsOnly,
136 LLVMOrcJITDylibLookupFlagsMatchAllSymbols,
137}
138
139#[repr(C)]
141#[derive(Clone, Copy, Debug, PartialEq)]
142pub struct LLVMOrcCJITDylibSearchOrderElement {
143 pub JD: LLVMOrcJITDylibRef,
144 pub JDLookupFlags: LLVMOrcJITDylibLookupFlags,
145}
146
147pub type LLVMOrcCJITDylibSearchOrder = *mut LLVMOrcCJITDylibSearchOrderElement;
152
153#[repr(C)]
155#[derive(Clone, Copy, Debug, PartialEq)]
156pub enum LLVMOrcSymbolLookupFlags {
157 LLVMOrcSymbolLookupFlagsRequiredSymbol,
158 LLVMOrcSymbolLookupFlagsWeaklyReferencedSymbol,
159}
160
161#[repr(C)]
163#[derive(Debug)]
164pub struct LLVMOrcCLookupSetElement {
165 pub Name: LLVMOrcSymbolStringPoolEntryRef,
166 pub LookupFlags: LLVMOrcSymbolLookupFlags,
167}
168
169pub type LLVMOrcCLookupSet = *mut LLVMOrcCLookupSetElement;
177
178#[derive(Debug)]
179pub enum LLVMOrcOpaqueMaterializationUnit {}
180pub type LLVMOrcMaterializationUnitRef = *mut LLVMOrcOpaqueMaterializationUnit;
181
182#[derive(Debug)]
183pub enum LLVMOrcOpaqueMaterializationResponsibility {}
184pub type LLVMOrcMaterializationResponsibilityRef = *mut LLVMOrcOpaqueMaterializationResponsibility;
185
186pub type LLVMOrcMaterializationUnitMaterializeFunction =
187 extern "C" fn(Ctx: *mut ::libc::c_void, MR: LLVMOrcMaterializationResponsibilityRef);
188
189pub type LLVMOrcMaterializationUnitDiscardFunction = extern "C" fn(
190 Ctx: *mut ::libc::c_void,
191 JD: LLVMOrcJITDylibRef,
192 Symbol: LLVMOrcSymbolStringPoolEntryRef,
193);
194
195pub type LLVMOrcMaterializationUnitDestroyFunction = extern "C" fn(Ctx: *mut ::libc::c_void);
196
197#[derive(Debug)]
198pub enum LLVMOrcOpaqueResourceTracker {}
199pub type LLVMOrcResourceTrackerRef = *mut LLVMOrcOpaqueResourceTracker;
200
201#[derive(Debug)]
202pub enum LLVMOrcOpaqueDefinitionGenerator {}
203pub type LLVMOrcDefinitionGeneratorRef = *mut LLVMOrcOpaqueDefinitionGenerator;
204
205#[derive(Debug)]
206pub enum LLVMOrcOpaqueLookupState {}
207pub type LLVMOrcLookupStateRef = *mut LLVMOrcOpaqueLookupState;
208
209pub type LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction = extern "C" fn(
210 GeneratorObj: LLVMOrcDefinitionGeneratorRef,
211 Ctx: *mut ::libc::c_void,
212 LookupState: *mut LLVMOrcLookupStateRef,
213 Kind: LLVMOrcLookupKind,
214 JD: LLVMOrcJITDylibRef,
215 JDLookupFlags: LLVMOrcJITDylibLookupFlags,
216 LookupSet: LLVMOrcCLookupSet,
217 LookupSetSize: usize,
218) -> LLVMErrorRef;
219
220pub type LLVMOrcDisposeCAPIDefinitionGeneratorFunction = extern "C" fn(Ctx: *mut ::libc::c_void);
225
226pub type LLVMOrcSymbolPredicate = Option<
227 extern "C" fn(Ctx: *mut ::libc::c_void, Sym: LLVMOrcSymbolStringPoolEntryRef) -> ::libc::c_int,
228>;
229
230#[derive(Debug)]
231pub enum LLVMOrcOpaqueThreadSafeContext {}
232pub type LLVMOrcThreadSafeContextRef = *mut LLVMOrcOpaqueThreadSafeContext;
233
234#[derive(Debug)]
235pub enum LLVMOrcOpaqueThreadSafeModule {}
236pub type LLVMOrcThreadSafeModuleRef = *mut LLVMOrcOpaqueThreadSafeModule;
237
238pub type LLVMOrcGenericIRModuleOperationFunction =
239 extern "C" fn(Ctx: *mut ::libc::c_void, M: LLVMModuleRef) -> LLVMErrorRef;
240
241#[derive(Debug)]
242pub enum LLVMOrcOpaqueJITTargetMachineBuilder {}
243pub type LLVMOrcJITTargetMachineBuilderRef = *mut LLVMOrcOpaqueJITTargetMachineBuilder;
244
245#[derive(Debug)]
246pub enum LLVMOrcOpaqueObjectLayer {}
247pub type LLVMOrcObjectLayerRef = *mut LLVMOrcOpaqueObjectLayer;
248
249#[derive(Debug)]
250pub enum LLVMOrcOpaqueObjectLinkingLayer {}
251pub type LLVMOrcObjectLinkingLayerRef = *mut LLVMOrcOpaqueObjectLayer;
252
253#[derive(Debug)]
254pub enum LLVMOrcOpaqueIRTransformLayer {}
255pub type LLVMOrcIRTransformLayerRef = *mut LLVMOrcOpaqueIRTransformLayer;
256
257pub type LLVMOrcIRTransformLayerTransformFunction = extern "C" fn(
258 Ctx: *mut ::libc::c_void,
259 ModInOut: *mut LLVMOrcThreadSafeModuleRef,
260 MR: LLVMOrcMaterializationResponsibilityRef,
261) -> LLVMErrorRef;
262
263#[derive(Debug)]
264pub enum LLVMOrcOpaqueObjectTransformLayer {}
265pub type LLVMOrcObjectTransformLayerRef = *mut LLVMOrcOpaqueObjectTransformLayer;
266
267pub type LLVMOrcObjectTransformLayerTransformFunction =
268 extern "C" fn(Ctx: *mut ::libc::c_void, ObjInOut: *mut LLVMMemoryBufferRef) -> LLVMErrorRef;
269
270#[derive(Debug)]
271pub enum LLVMOrcOpaqueIndirectStubsManager {}
272pub type LLVMOrcIndirectStubsManagerRef = *mut LLVMOrcOpaqueIndirectStubsManager;
273
274#[derive(Debug)]
275pub enum LLVMOrcOpaqueLazyCallThroughManager {}
276pub type LLVMOrcLazyCallThroughManagerRef = *mut LLVMOrcOpaqueLazyCallThroughManager;
277
278#[derive(Debug)]
279pub enum LLVMOrcOpaqueDumpObjects {}
280pub type LLVMOrcDumpObjectsRef = *mut LLVMOrcOpaqueDumpObjects;
281
282extern "C" {
283 pub fn LLVMOrcExecutionSessionSetErrorReporter(
284 ES: LLVMOrcExecutionSessionRef,
285 ReportError: LLVMOrcErrorReporterFunction,
286 Ctx: *mut ::libc::c_void,
287 );
288 pub fn LLVMOrcExecutionSessionGetSymbolStringPool(
289 ES: LLVMOrcExecutionSessionRef,
290 ) -> LLVMOrcSymbolStringPoolRef;
291 pub fn LLVMOrcSymbolStringPoolClearDeadEntries(SSP: LLVMOrcSymbolStringPoolRef);
292 pub fn LLVMOrcExecutionSessionIntern(
293 ES: LLVMOrcExecutionSessionRef,
294 Name: *const ::libc::c_char,
295 ) -> LLVMOrcSymbolStringPoolEntryRef;
296}
297
298pub type LLVMOrcExecutionSessionLookupHandleResultFunction = extern "C" fn(
299 Err: LLVMErrorRef,
300 Result: LLVMOrcCSymbolMapPairs,
301 NumPairs: usize,
302 Ctx: *mut ::libc::c_void,
303);
304
305extern "C" {
306 pub fn LLVMOrcExecutionSessionLookup(
307 ES: LLVMOrcExecutionSessionRef,
308 K: LLVMOrcLookupKind,
309 SearchOrder: LLVMOrcCJITDylibSearchOrder,
310 SearchOrderSize: usize,
311 Symbols: LLVMOrcCLookupSet,
312 SymbolsSize: usize,
313 HandleResult: LLVMOrcExecutionSessionLookupHandleResultFunction,
314 Ctx: *mut ::libc::c_void,
315 );
316 pub fn LLVMOrcRetainSymbolStringPoolEntry(S: LLVMOrcSymbolStringPoolEntryRef);
317 pub fn LLVMOrcReleaseSymbolStringPoolEntry(S: LLVMOrcSymbolStringPoolEntryRef);
318 pub fn LLVMOrcSymbolStringPoolEntryStr(
319 S: LLVMOrcSymbolStringPoolEntryRef,
320 ) -> *const ::libc::c_char;
321 pub fn LLVMOrcReleaseResourceTracker(RT: LLVMOrcResourceTrackerRef);
322 pub fn LLVMOrcResourceTrackerTransferTo(
323 SrcRT: LLVMOrcResourceTrackerRef,
324 DstRT: LLVMOrcResourceTrackerRef,
325 );
326 pub fn LLVMOrcResourceTrackerRemove(RT: LLVMOrcResourceTrackerRef) -> LLVMErrorRef;
327 pub fn LLVMOrcDisposeDefinitionGenerator(DG: LLVMOrcDefinitionGeneratorRef);
328 pub fn LLVMOrcDisposeMaterializationUnit(MU: LLVMOrcMaterializationUnitRef);
329 pub fn LLVMOrcCreateCustomMaterializationUnit(
330 Name: *const ::libc::c_char,
331 Ctx: *mut ::libc::c_void,
332 Syms: LLVMOrcCSymbolFlagsMapPairs,
333 NumSyms: ::libc::size_t,
334 InitSym: LLVMOrcSymbolStringPoolEntryRef,
335 Materialize: LLVMOrcMaterializationUnitMaterializeFunction,
336 Discard: LLVMOrcMaterializationUnitDiscardFunction,
337 Destroy: LLVMOrcMaterializationUnitDestroyFunction,
338 ) -> LLVMOrcMaterializationUnitRef;
339 pub fn LLVMOrcAbsoluteSymbols(
340 Syms: LLVMOrcCSymbolMapPairs,
341 NumPairs: usize,
342 ) -> LLVMOrcMaterializationUnitRef;
343 pub fn LLVMOrcLazyReexports(
344 LCTM: LLVMOrcLazyCallThroughManagerRef,
345 ISM: LLVMOrcIndirectStubsManagerRef,
346 SourceRef: LLVMOrcJITDylibRef,
347 CallableAliases: LLVMOrcCSymbolAliasMapPairs,
348 NumPairs: ::libc::size_t,
349 ) -> LLVMOrcMaterializationUnitRef;
350 pub fn LLVMOrcDisposeMaterializationResponsibility(MR: LLVMOrcMaterializationResponsibilityRef);
351 pub fn LLVMOrcMaterializationResponsibilityGetTargetDylib(
352 MR: LLVMOrcMaterializationResponsibilityRef,
353 ) -> LLVMOrcJITDylibRef;
354 pub fn LLVMOrcMaterializationResponsibilityGetExecutionSession(
355 MR: LLVMOrcMaterializationResponsibilityRef,
356 ) -> LLVMOrcExecutionSessionRef;
357 pub fn LLVMOrcMaterializationResponsibilityGetSymbols(
358 MR: LLVMOrcMaterializationResponsibilityRef,
359 NumPairs: *mut ::libc::size_t,
360 ) -> LLVMOrcCSymbolFlagsMapPairs;
361 pub fn LLVMOrcDisposeCSymbolFlagsMap(Pairs: LLVMOrcCSymbolFlagsMapPairs);
362 pub fn LLVMOrcMaterializationResponsibilityGetInitializerSymbol(
363 MR: LLVMOrcMaterializationResponsibilityRef,
364 ) -> LLVMOrcSymbolStringPoolEntryRef;
365 pub fn LLVMOrcMaterializationResponsibilityGetRequestedSymbols(
366 MR: LLVMOrcMaterializationResponsibilityRef,
367 NumSymbols: *mut ::libc::size_t,
368 ) -> *mut LLVMOrcSymbolStringPoolEntryRef;
369 pub fn LLVMOrcDisposeSymbols(Symbols: *mut LLVMOrcSymbolStringPoolEntryRef);
370 pub fn LLVMOrcMaterializationResponsibilityNotifyResolved(
371 MR: LLVMOrcMaterializationResponsibilityRef,
372 Symbols: LLVMOrcCSymbolMapPairs,
373 NumPairs: ::libc::size_t,
374 ) -> LLVMErrorRef;
375 pub fn LLVMOrcMaterializationResponsibilityNotifyEmitted(
376 MR: LLVMOrcMaterializationResponsibilityRef,
377 ) -> LLVMErrorRef;
378 pub fn LLVMOrcMaterializationResponsibilityDefineMaterializing(
379 MR: LLVMOrcMaterializationResponsibilityRef,
380 Pairs: LLVMOrcCSymbolFlagsMapPairs,
381 NumPairs: ::libc::size_t,
382 ) -> LLVMErrorRef;
383 pub fn LLVMOrcMaterializationResponsibilityFailMaterialization(
384 MR: LLVMOrcMaterializationResponsibilityRef,
385 );
386 pub fn LLVMOrcMaterializationResponsibilityReplace(
387 MR: LLVMOrcMaterializationResponsibilityRef,
388 MU: LLVMOrcMaterializationUnitRef,
389 ) -> LLVMErrorRef;
390 pub fn LLVMOrcMaterializationResponsibilityDelegate(
391 MR: LLVMOrcMaterializationResponsibilityRef,
392 Symbols: *mut LLVMOrcSymbolStringPoolEntryRef,
393 NumSymbols: ::libc::size_t,
394 Result: *mut LLVMOrcMaterializationResponsibilityRef,
395 ) -> LLVMErrorRef;
396 pub fn LLVMOrcMaterializationResponsibilityAddDependencies(
397 MR: LLVMOrcMaterializationResponsibilityRef,
398 Name: LLVMOrcSymbolStringPoolEntryRef,
399 Dependencies: LLVMOrcCDependenceMapPairs,
400 NumPairs: ::libc::size_t,
401 );
402 pub fn LLVMOrcMaterializationResponsibilityAddDependenciesForAll(
403 MR: LLVMOrcMaterializationResponsibilityRef,
404 Dependencies: LLVMOrcCDependenceMapPairs,
405 NumPairs: ::libc::size_t,
406 );
407 pub fn LLVMOrcExecutionSessionCreateBareJITDylib(
408 ES: LLVMOrcExecutionSessionRef,
409 Name: *const ::libc::c_char,
410 ) -> LLVMOrcJITDylibRef;
411 pub fn LLVMOrcExecutionSessionCreateJITDylib(
412 ES: LLVMOrcExecutionSessionRef,
413 Result_: *mut LLVMOrcJITDylibRef,
414 Name: *const ::libc::c_char,
415 ) -> LLVMErrorRef;
416 pub fn LLVMOrcExecutionSessionGetJITDylibByName(
417 ES: LLVMOrcExecutionSessionRef,
418 Name: *const ::libc::c_char,
419 ) -> LLVMOrcJITDylibRef;
420 pub fn LLVMOrcJITDylibCreateResourceTracker(
421 JD: LLVMOrcJITDylibRef,
422 ) -> LLVMOrcResourceTrackerRef;
423 pub fn LLVMOrcJITDylibGetDefaultResourceTracker(
424 JD: LLVMOrcJITDylibRef,
425 ) -> LLVMOrcResourceTrackerRef;
426 pub fn LLVMOrcJITDylibDefine(
427 JD: LLVMOrcJITDylibRef,
428 MU: LLVMOrcMaterializationUnitRef,
429 ) -> LLVMErrorRef;
430 pub fn LLVMOrcJITDylibClear(JD: LLVMOrcJITDylibRef) -> LLVMErrorRef;
431 pub fn LLVMOrcJITDylibAddGenerator(JD: LLVMOrcJITDylibRef, DG: LLVMOrcDefinitionGeneratorRef);
432 pub fn LLVMOrcCreateCustomCAPIDefinitionGenerator(
433 F: LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction,
434 Ctx: *mut ::libc::c_void,
435 Dispose: LLVMOrcDisposeCAPIDefinitionGeneratorFunction,
436 ) -> LLVMOrcDefinitionGeneratorRef;
437 pub fn LLVMOrcLookupStateContinueLookup(
438 S: LLVMOrcLookupStateRef,
439 Err: LLVMErrorRef,
440 );
441 pub fn LLVMOrcCreateDynamicLibrarySearchGeneratorForProcess(
442 Result: *mut LLVMOrcDefinitionGeneratorRef,
443 GlobalPrefix: ::libc::c_char,
444 Filter: LLVMOrcSymbolPredicate,
445 FilterCtx: *mut ::libc::c_void,
446 ) -> LLVMErrorRef;
447 pub fn LLVMOrcCreateDynamicLibrarySearchGeneratorForPath(
448 Result: *mut LLVMOrcDefinitionGeneratorRef,
449 FileName: *const ::libc::c_char,
450 GlobalPrefix: ::libc::c_char,
451 Filter: LLVMOrcSymbolPredicate,
452 FilterCtx: *mut ::libc::c_void,
453 ) -> LLVMErrorRef;
454 pub fn LLVMOrcCreateStaticLibrarySearchGeneratorForPath(
455 Result: *mut LLVMOrcDefinitionGeneratorRef,
456 ObjLayer: LLVMOrcObjectLayerRef,
457 FileName: *const ::libc::c_char,
458 TargetTriple: *const ::libc::c_char,
459 ) -> LLVMErrorRef;
460 pub fn LLVMOrcCreateNewThreadSafeContext() -> LLVMOrcThreadSafeContextRef;
461 pub fn LLVMOrcThreadSafeContextGetContext(TSCtx: LLVMOrcThreadSafeContextRef)
462 -> LLVMContextRef;
463 pub fn LLVMOrcDisposeThreadSafeContext(TSCtx: LLVMOrcThreadSafeContextRef);
464 pub fn LLVMOrcCreateNewThreadSafeModule(
465 M: LLVMModuleRef,
466 TSCtx: LLVMOrcThreadSafeContextRef,
467 ) -> LLVMOrcThreadSafeModuleRef;
468 pub fn LLVMOrcDisposeThreadSafeModule(TSM: LLVMOrcThreadSafeModuleRef);
469 pub fn LLVMOrcThreadSafeModuleWithModuleDo(
470 TSM: LLVMOrcThreadSafeModuleRef,
471 F: LLVMOrcGenericIRModuleOperationFunction,
472 Ctx: *mut ::libc::c_void,
473 ) -> LLVMErrorRef;
474 pub fn LLVMOrcJITTargetMachineBuilderDetectHost(
475 Result: *mut LLVMOrcJITTargetMachineBuilderRef,
476 ) -> LLVMErrorRef;
477 pub fn LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine(
478 TM: LLVMTargetMachineRef,
479 ) -> LLVMOrcJITTargetMachineBuilderRef;
480 pub fn LLVMOrcDisposeJITTargetMachineBuilder(JTMB: LLVMOrcJITTargetMachineBuilderRef);
481 pub fn LLVMOrcJITTargetMachineBuilderGetTargetTriple(
482 JTMB: LLVMOrcJITTargetMachineBuilderRef,
483 ) -> *mut ::libc::c_char;
484 pub fn LLVMOrcJITTargetMachineBuilderSetTargetTriple(
485 JTMB: LLVMOrcJITTargetMachineBuilderRef,
486 TargetTriple: *const ::libc::c_char,
487 );
488 pub fn LLVMOrcObjectLayerAddObjectFile(
489 ObjLayer: LLVMOrcObjectLayerRef,
490 JD: LLVMOrcJITDylibRef,
491 ObjBuffer: LLVMMemoryBufferRef,
492 ) -> LLVMErrorRef;
493 pub fn LLVMOrcObjectLayerAddObjectFileWithRT(
494 ObjLayer: LLVMOrcObjectLayerRef,
495 RT: LLVMOrcResourceTrackerRef,
496 ObjBuffer: LLVMMemoryBufferRef,
497 ) -> LLVMErrorRef;
498 pub fn LLVMOrcObjectLayerEmit(
499 ObjLayer: LLVMOrcObjectLayerRef,
500 R: LLVMOrcMaterializationResponsibilityRef,
501 ObjBuffer: LLVMMemoryBufferRef,
502 );
503 pub fn LLVMOrcDisposeObjectLayer(ObjLayer: LLVMOrcObjectLayerRef);
504 pub fn LLVMOrcIRTransformLayerEmit(
505 IRTransformLayer: LLVMOrcIRTransformLayerRef,
506 MR: LLVMOrcMaterializationResponsibilityRef,
507 TSM: LLVMOrcThreadSafeModuleRef,
508 );
509 pub fn LLVMOrcIRTransformLayerSetTransform(
510 IRTransformLayer: LLVMOrcIRTransformLayerRef,
511 TransformFunction: LLVMOrcIRTransformLayerTransformFunction,
512 Ctx: *mut ::libc::c_void,
513 );
514 pub fn LLVMOrcObjectTransformLayerSetTransform(
515 ObjTransformLayer: LLVMOrcObjectTransformLayerRef,
516 TransformFunction: LLVMOrcObjectTransformLayerTransformFunction,
517 Ctx: *mut ::libc::c_void,
518 );
519 pub fn LLVMOrcCreateLocalIndirectStubsManager(
520 TargetTriple: *const ::libc::c_char,
521 ) -> LLVMOrcIndirectStubsManagerRef;
522 pub fn LLVMOrcDisposeIndirectStubsManager(ISM: LLVMOrcIndirectStubsManagerRef);
523 pub fn LLVMOrcCreateLocalLazyCallThroughManager(
524 TargetTriple: *const ::libc::c_char,
525 ES: LLVMOrcExecutionSessionRef,
526 ErrorHandlerAddr: LLVMOrcJITTargetAddress,
527 LCTM: *mut LLVMOrcLazyCallThroughManagerRef,
528 ) -> LLVMErrorRef;
529 pub fn LLVMOrcDisposeLazyCallThroughManager(LCTM: LLVMOrcLazyCallThroughManagerRef);
530 pub fn LLVMOrcCreateDumpObjects(
531 DumpDir: *const ::libc::c_char,
532 IdentifierOverride: *const ::libc::c_char,
533 ) -> LLVMOrcDumpObjectsRef;
534 pub fn LLVMOrcDisposeDumpObjects(DumpObjects: LLVMOrcDumpObjectsRef);
535 pub fn LLVMOrcDumpObjects_CallOperator(
536 DumpObjects: LLVMOrcDumpObjectsRef,
537 ObjBuffer: *mut LLVMMemoryBufferRef,
538 ) -> LLVMErrorRef;
539}