1#![allow(non_snake_case)]
2use crate::error::LLVMErrorRef;
5use crate::prelude::*;
6use crate::target_machine::LLVMTargetMachineRef;
7
8pub mod ee;
9pub mod lljit;
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)]
123pub struct LLVMOrcCSymbolDependenceGroup {
124 Symbols: LLVMOrcCSymbolsList,
125 Dependencies: LLVMOrcCDependenceMapPairs,
126 NumDependencies: usize,
127}
128
129#[repr(C)]
132#[derive(Clone, Copy, Debug, PartialEq)]
133pub enum LLVMOrcLookupKind {
134 LLVMOrcLookupKindStatic,
135 LLVMOrcLookupKindDLSym,
136}
137
138#[repr(C)]
141#[derive(Clone, Copy, Debug, PartialEq)]
142pub enum LLVMOrcJITDylibLookupFlags {
143 LLVMOrcJITDylibLookupFlagsMatchExportedSymbolsOnly,
144 LLVMOrcJITDylibLookupFlagsMatchAllSymbols,
145}
146
147#[repr(C)]
149#[derive(Clone, Copy, Debug, PartialEq)]
150pub struct LLVMOrcCJITDylibSearchOrderElement {
151 pub JD: LLVMOrcJITDylibRef,
152 pub JDLookupFlags: LLVMOrcJITDylibLookupFlags,
153}
154
155pub type LLVMOrcCJITDylibSearchOrder = *mut LLVMOrcCJITDylibSearchOrderElement;
160
161#[repr(C)]
163#[derive(Clone, Copy, Debug, PartialEq)]
164pub enum LLVMOrcSymbolLookupFlags {
165 LLVMOrcSymbolLookupFlagsRequiredSymbol,
166 LLVMOrcSymbolLookupFlagsWeaklyReferencedSymbol,
167}
168
169#[repr(C)]
171#[derive(Debug)]
172pub struct LLVMOrcCLookupSetElement {
173 pub Name: LLVMOrcSymbolStringPoolEntryRef,
174 pub LookupFlags: LLVMOrcSymbolLookupFlags,
175}
176
177pub type LLVMOrcCLookupSet = *mut LLVMOrcCLookupSetElement;
185
186#[derive(Debug)]
187pub enum LLVMOrcOpaqueMaterializationUnit {}
188pub type LLVMOrcMaterializationUnitRef = *mut LLVMOrcOpaqueMaterializationUnit;
189
190#[derive(Debug)]
191pub enum LLVMOrcOpaqueMaterializationResponsibility {}
192pub type LLVMOrcMaterializationResponsibilityRef = *mut LLVMOrcOpaqueMaterializationResponsibility;
193
194pub type LLVMOrcMaterializationUnitMaterializeFunction =
195 extern "C" fn(Ctx: *mut ::libc::c_void, MR: LLVMOrcMaterializationResponsibilityRef);
196
197pub type LLVMOrcMaterializationUnitDiscardFunction = extern "C" fn(
198 Ctx: *mut ::libc::c_void,
199 JD: LLVMOrcJITDylibRef,
200 Symbol: LLVMOrcSymbolStringPoolEntryRef,
201);
202
203pub type LLVMOrcMaterializationUnitDestroyFunction = extern "C" fn(Ctx: *mut ::libc::c_void);
204
205#[derive(Debug)]
206pub enum LLVMOrcOpaqueResourceTracker {}
207pub type LLVMOrcResourceTrackerRef = *mut LLVMOrcOpaqueResourceTracker;
208
209#[derive(Debug)]
210pub enum LLVMOrcOpaqueDefinitionGenerator {}
211pub type LLVMOrcDefinitionGeneratorRef = *mut LLVMOrcOpaqueDefinitionGenerator;
212
213#[derive(Debug)]
214pub enum LLVMOrcOpaqueLookupState {}
215pub type LLVMOrcLookupStateRef = *mut LLVMOrcOpaqueLookupState;
216
217pub type LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction = extern "C" fn(
218 GeneratorObj: LLVMOrcDefinitionGeneratorRef,
219 Ctx: *mut ::libc::c_void,
220 LookupState: *mut LLVMOrcLookupStateRef,
221 Kind: LLVMOrcLookupKind,
222 JD: LLVMOrcJITDylibRef,
223 JDLookupFlags: LLVMOrcJITDylibLookupFlags,
224 LookupSet: LLVMOrcCLookupSet,
225 LookupSetSize: usize,
226) -> LLVMErrorRef;
227
228pub type LLVMOrcDisposeCAPIDefinitionGeneratorFunction = extern "C" fn(Ctx: *mut ::libc::c_void);
233
234pub type LLVMOrcSymbolPredicate = Option<
235 extern "C" fn(Ctx: *mut ::libc::c_void, Sym: LLVMOrcSymbolStringPoolEntryRef) -> ::libc::c_int,
236>;
237
238#[derive(Debug)]
239pub enum LLVMOrcOpaqueThreadSafeContext {}
240pub type LLVMOrcThreadSafeContextRef = *mut LLVMOrcOpaqueThreadSafeContext;
241
242#[derive(Debug)]
243pub enum LLVMOrcOpaqueThreadSafeModule {}
244pub type LLVMOrcThreadSafeModuleRef = *mut LLVMOrcOpaqueThreadSafeModule;
245
246pub type LLVMOrcGenericIRModuleOperationFunction =
247 extern "C" fn(Ctx: *mut ::libc::c_void, M: LLVMModuleRef) -> LLVMErrorRef;
248
249#[derive(Debug)]
250pub enum LLVMOrcOpaqueJITTargetMachineBuilder {}
251pub type LLVMOrcJITTargetMachineBuilderRef = *mut LLVMOrcOpaqueJITTargetMachineBuilder;
252
253#[derive(Debug)]
254pub enum LLVMOrcOpaqueObjectLayer {}
255pub type LLVMOrcObjectLayerRef = *mut LLVMOrcOpaqueObjectLayer;
256
257#[derive(Debug)]
258pub enum LLVMOrcOpaqueObjectLinkingLayer {}
259pub type LLVMOrcObjectLinkingLayerRef = *mut LLVMOrcOpaqueObjectLayer;
260
261#[derive(Debug)]
262pub enum LLVMOrcOpaqueIRTransformLayer {}
263pub type LLVMOrcIRTransformLayerRef = *mut LLVMOrcOpaqueIRTransformLayer;
264
265pub type LLVMOrcIRTransformLayerTransformFunction = extern "C" fn(
266 Ctx: *mut ::libc::c_void,
267 ModInOut: *mut LLVMOrcThreadSafeModuleRef,
268 MR: LLVMOrcMaterializationResponsibilityRef,
269) -> LLVMErrorRef;
270
271#[derive(Debug)]
272pub enum LLVMOrcOpaqueObjectTransformLayer {}
273pub type LLVMOrcObjectTransformLayerRef = *mut LLVMOrcOpaqueObjectTransformLayer;
274
275pub type LLVMOrcObjectTransformLayerTransformFunction =
276 extern "C" fn(Ctx: *mut ::libc::c_void, ObjInOut: *mut LLVMMemoryBufferRef) -> LLVMErrorRef;
277
278#[derive(Debug)]
279pub enum LLVMOrcOpaqueIndirectStubsManager {}
280pub type LLVMOrcIndirectStubsManagerRef = *mut LLVMOrcOpaqueIndirectStubsManager;
281
282#[derive(Debug)]
283pub enum LLVMOrcOpaqueLazyCallThroughManager {}
284pub type LLVMOrcLazyCallThroughManagerRef = *mut LLVMOrcOpaqueLazyCallThroughManager;
285
286#[derive(Debug)]
287pub enum LLVMOrcOpaqueDumpObjects {}
288pub type LLVMOrcDumpObjectsRef = *mut LLVMOrcOpaqueDumpObjects;
289
290extern "C" {
291 pub fn LLVMOrcExecutionSessionSetErrorReporter(
292 ES: LLVMOrcExecutionSessionRef,
293 ReportError: LLVMOrcErrorReporterFunction,
294 Ctx: *mut ::libc::c_void,
295 );
296 pub fn LLVMOrcExecutionSessionGetSymbolStringPool(
297 ES: LLVMOrcExecutionSessionRef,
298 ) -> LLVMOrcSymbolStringPoolRef;
299 pub fn LLVMOrcSymbolStringPoolClearDeadEntries(SSP: LLVMOrcSymbolStringPoolRef);
300 pub fn LLVMOrcExecutionSessionIntern(
301 ES: LLVMOrcExecutionSessionRef,
302 Name: *const ::libc::c_char,
303 ) -> LLVMOrcSymbolStringPoolEntryRef;
304}
305
306pub type LLVMOrcExecutionSessionLookupHandleResultFunction = extern "C" fn(
307 Err: LLVMErrorRef,
308 Result: LLVMOrcCSymbolMapPairs,
309 NumPairs: usize,
310 Ctx: *mut ::libc::c_void,
311);
312
313extern "C" {
314 pub fn LLVMOrcExecutionSessionLookup(
315 ES: LLVMOrcExecutionSessionRef,
316 K: LLVMOrcLookupKind,
317 SearchOrder: LLVMOrcCJITDylibSearchOrder,
318 SearchOrderSize: usize,
319 Symbols: LLVMOrcCLookupSet,
320 SymbolsSize: usize,
321 HandleResult: LLVMOrcExecutionSessionLookupHandleResultFunction,
322 Ctx: *mut ::libc::c_void,
323 );
324 pub fn LLVMOrcRetainSymbolStringPoolEntry(S: LLVMOrcSymbolStringPoolEntryRef);
325 pub fn LLVMOrcReleaseSymbolStringPoolEntry(S: LLVMOrcSymbolStringPoolEntryRef);
326 pub fn LLVMOrcSymbolStringPoolEntryStr(
327 S: LLVMOrcSymbolStringPoolEntryRef,
328 ) -> *const ::libc::c_char;
329 pub fn LLVMOrcReleaseResourceTracker(RT: LLVMOrcResourceTrackerRef);
330 pub fn LLVMOrcResourceTrackerTransferTo(
331 SrcRT: LLVMOrcResourceTrackerRef,
332 DstRT: LLVMOrcResourceTrackerRef,
333 );
334 pub fn LLVMOrcResourceTrackerRemove(RT: LLVMOrcResourceTrackerRef) -> LLVMErrorRef;
335 pub fn LLVMOrcDisposeDefinitionGenerator(DG: LLVMOrcDefinitionGeneratorRef);
336 pub fn LLVMOrcDisposeMaterializationUnit(MU: LLVMOrcMaterializationUnitRef);
337 pub fn LLVMOrcCreateCustomMaterializationUnit(
338 Name: *const ::libc::c_char,
339 Ctx: *mut ::libc::c_void,
340 Syms: LLVMOrcCSymbolFlagsMapPairs,
341 NumSyms: ::libc::size_t,
342 InitSym: LLVMOrcSymbolStringPoolEntryRef,
343 Materialize: LLVMOrcMaterializationUnitMaterializeFunction,
344 Discard: LLVMOrcMaterializationUnitDiscardFunction,
345 Destroy: LLVMOrcMaterializationUnitDestroyFunction,
346 ) -> LLVMOrcMaterializationUnitRef;
347 pub fn LLVMOrcAbsoluteSymbols(
348 Syms: LLVMOrcCSymbolMapPairs,
349 NumPairs: usize,
350 ) -> LLVMOrcMaterializationUnitRef;
351 pub fn LLVMOrcLazyReexports(
352 LCTM: LLVMOrcLazyCallThroughManagerRef,
353 ISM: LLVMOrcIndirectStubsManagerRef,
354 SourceRef: LLVMOrcJITDylibRef,
355 CallableAliases: LLVMOrcCSymbolAliasMapPairs,
356 NumPairs: ::libc::size_t,
357 ) -> LLVMOrcMaterializationUnitRef;
358 pub fn LLVMOrcDisposeMaterializationResponsibility(MR: LLVMOrcMaterializationResponsibilityRef);
359 pub fn LLVMOrcMaterializationResponsibilityGetTargetDylib(
360 MR: LLVMOrcMaterializationResponsibilityRef,
361 ) -> LLVMOrcJITDylibRef;
362 pub fn LLVMOrcMaterializationResponsibilityGetExecutionSession(
363 MR: LLVMOrcMaterializationResponsibilityRef,
364 ) -> LLVMOrcExecutionSessionRef;
365 pub fn LLVMOrcMaterializationResponsibilityGetSymbols(
366 MR: LLVMOrcMaterializationResponsibilityRef,
367 NumPairs: *mut ::libc::size_t,
368 ) -> LLVMOrcCSymbolFlagsMapPairs;
369 pub fn LLVMOrcDisposeCSymbolFlagsMap(Pairs: LLVMOrcCSymbolFlagsMapPairs);
370 pub fn LLVMOrcMaterializationResponsibilityGetInitializerSymbol(
371 MR: LLVMOrcMaterializationResponsibilityRef,
372 ) -> LLVMOrcSymbolStringPoolEntryRef;
373 pub fn LLVMOrcMaterializationResponsibilityGetRequestedSymbols(
374 MR: LLVMOrcMaterializationResponsibilityRef,
375 NumSymbols: *mut ::libc::size_t,
376 ) -> *mut LLVMOrcSymbolStringPoolEntryRef;
377 pub fn LLVMOrcDisposeSymbols(Symbols: *mut LLVMOrcSymbolStringPoolEntryRef);
378 pub fn LLVMOrcMaterializationResponsibilityNotifyResolved(
379 MR: LLVMOrcMaterializationResponsibilityRef,
380 Symbols: LLVMOrcCSymbolMapPairs,
381 NumPairs: ::libc::size_t,
382 ) -> LLVMErrorRef;
383 pub fn LLVMOrcMaterializationResponsibilityNotifyEmitted(
384 MR: LLVMOrcMaterializationResponsibilityRef,
385 SymbolDepGroups: *mut LLVMOrcCSymbolDependenceGroup,
386 NumSymbolDepGroups: usize,
387 ) -> LLVMErrorRef;
388 pub fn LLVMOrcMaterializationResponsibilityDefineMaterializing(
389 MR: LLVMOrcMaterializationResponsibilityRef,
390 Pairs: LLVMOrcCSymbolFlagsMapPairs,
391 NumPairs: ::libc::size_t,
392 ) -> LLVMErrorRef;
393 pub fn LLVMOrcMaterializationResponsibilityFailMaterialization(
394 MR: LLVMOrcMaterializationResponsibilityRef,
395 );
396 pub fn LLVMOrcMaterializationResponsibilityReplace(
397 MR: LLVMOrcMaterializationResponsibilityRef,
398 MU: LLVMOrcMaterializationUnitRef,
399 ) -> LLVMErrorRef;
400 pub fn LLVMOrcMaterializationResponsibilityDelegate(
401 MR: LLVMOrcMaterializationResponsibilityRef,
402 Symbols: *mut LLVMOrcSymbolStringPoolEntryRef,
403 NumSymbols: ::libc::size_t,
404 Result: *mut LLVMOrcMaterializationResponsibilityRef,
405 ) -> LLVMErrorRef;
406 pub fn LLVMOrcExecutionSessionCreateBareJITDylib(
407 ES: LLVMOrcExecutionSessionRef,
408 Name: *const ::libc::c_char,
409 ) -> LLVMOrcJITDylibRef;
410 pub fn LLVMOrcExecutionSessionCreateJITDylib(
411 ES: LLVMOrcExecutionSessionRef,
412 Result_: *mut LLVMOrcJITDylibRef,
413 Name: *const ::libc::c_char,
414 ) -> LLVMErrorRef;
415 pub fn LLVMOrcExecutionSessionGetJITDylibByName(
416 ES: LLVMOrcExecutionSessionRef,
417 Name: *const ::libc::c_char,
418 ) -> LLVMOrcJITDylibRef;
419 pub fn LLVMOrcJITDylibCreateResourceTracker(
420 JD: LLVMOrcJITDylibRef,
421 ) -> LLVMOrcResourceTrackerRef;
422 pub fn LLVMOrcJITDylibGetDefaultResourceTracker(
423 JD: LLVMOrcJITDylibRef,
424 ) -> LLVMOrcResourceTrackerRef;
425 pub fn LLVMOrcJITDylibDefine(
426 JD: LLVMOrcJITDylibRef,
427 MU: LLVMOrcMaterializationUnitRef,
428 ) -> LLVMErrorRef;
429 pub fn LLVMOrcJITDylibClear(JD: LLVMOrcJITDylibRef) -> LLVMErrorRef;
430 pub fn LLVMOrcJITDylibAddGenerator(JD: LLVMOrcJITDylibRef, DG: LLVMOrcDefinitionGeneratorRef);
431 pub fn LLVMOrcCreateCustomCAPIDefinitionGenerator(
432 F: LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction,
433 Ctx: *mut ::libc::c_void,
434 Dispose: LLVMOrcDisposeCAPIDefinitionGeneratorFunction,
435 ) -> LLVMOrcDefinitionGeneratorRef;
436 pub fn LLVMOrcLookupStateContinueLookup(S: LLVMOrcLookupStateRef, Err: LLVMErrorRef);
437 pub fn LLVMOrcCreateDynamicLibrarySearchGeneratorForProcess(
438 Result: *mut LLVMOrcDefinitionGeneratorRef,
439 GlobalPrefix: ::libc::c_char,
440 Filter: LLVMOrcSymbolPredicate,
441 FilterCtx: *mut ::libc::c_void,
442 ) -> LLVMErrorRef;
443 pub fn LLVMOrcCreateDynamicLibrarySearchGeneratorForPath(
444 Result: *mut LLVMOrcDefinitionGeneratorRef,
445 FileName: *const ::libc::c_char,
446 GlobalPrefix: ::libc::c_char,
447 Filter: LLVMOrcSymbolPredicate,
448 FilterCtx: *mut ::libc::c_void,
449 ) -> LLVMErrorRef;
450 pub fn LLVMOrcCreateStaticLibrarySearchGeneratorForPath(
451 Result: *mut LLVMOrcDefinitionGeneratorRef,
452 ObjLayer: LLVMOrcObjectLayerRef,
453 FileName: *const ::libc::c_char,
454 TargetTriple: *const ::libc::c_char,
455 ) -> LLVMErrorRef;
456 pub fn LLVMOrcCreateNewThreadSafeContext() -> LLVMOrcThreadSafeContextRef;
457 pub fn LLVMOrcThreadSafeContextGetContext(TSCtx: LLVMOrcThreadSafeContextRef)
458 -> LLVMContextRef;
459 pub fn LLVMOrcDisposeThreadSafeContext(TSCtx: LLVMOrcThreadSafeContextRef);
460 pub fn LLVMOrcCreateNewThreadSafeModule(
461 M: LLVMModuleRef,
462 TSCtx: LLVMOrcThreadSafeContextRef,
463 ) -> LLVMOrcThreadSafeModuleRef;
464 pub fn LLVMOrcDisposeThreadSafeModule(TSM: LLVMOrcThreadSafeModuleRef);
465 pub fn LLVMOrcThreadSafeModuleWithModuleDo(
466 TSM: LLVMOrcThreadSafeModuleRef,
467 F: LLVMOrcGenericIRModuleOperationFunction,
468 Ctx: *mut ::libc::c_void,
469 ) -> LLVMErrorRef;
470 pub fn LLVMOrcJITTargetMachineBuilderDetectHost(
471 Result: *mut LLVMOrcJITTargetMachineBuilderRef,
472 ) -> LLVMErrorRef;
473 pub fn LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine(
474 TM: LLVMTargetMachineRef,
475 ) -> LLVMOrcJITTargetMachineBuilderRef;
476 pub fn LLVMOrcDisposeJITTargetMachineBuilder(JTMB: LLVMOrcJITTargetMachineBuilderRef);
477 pub fn LLVMOrcJITTargetMachineBuilderGetTargetTriple(
478 JTMB: LLVMOrcJITTargetMachineBuilderRef,
479 ) -> *mut ::libc::c_char;
480 pub fn LLVMOrcJITTargetMachineBuilderSetTargetTriple(
481 JTMB: LLVMOrcJITTargetMachineBuilderRef,
482 TargetTriple: *const ::libc::c_char,
483 );
484 pub fn LLVMOrcObjectLayerAddObjectFile(
485 ObjLayer: LLVMOrcObjectLayerRef,
486 JD: LLVMOrcJITDylibRef,
487 ObjBuffer: LLVMMemoryBufferRef,
488 ) -> LLVMErrorRef;
489 pub fn LLVMOrcObjectLayerAddObjectFileWithRT(
490 ObjLayer: LLVMOrcObjectLayerRef,
491 RT: LLVMOrcResourceTrackerRef,
492 ObjBuffer: LLVMMemoryBufferRef,
493 ) -> LLVMErrorRef;
494 pub fn LLVMOrcObjectLayerEmit(
495 ObjLayer: LLVMOrcObjectLayerRef,
496 R: LLVMOrcMaterializationResponsibilityRef,
497 ObjBuffer: LLVMMemoryBufferRef,
498 );
499 pub fn LLVMOrcDisposeObjectLayer(ObjLayer: LLVMOrcObjectLayerRef);
500 pub fn LLVMOrcIRTransformLayerEmit(
501 IRTransformLayer: LLVMOrcIRTransformLayerRef,
502 MR: LLVMOrcMaterializationResponsibilityRef,
503 TSM: LLVMOrcThreadSafeModuleRef,
504 );
505 pub fn LLVMOrcIRTransformLayerSetTransform(
506 IRTransformLayer: LLVMOrcIRTransformLayerRef,
507 TransformFunction: LLVMOrcIRTransformLayerTransformFunction,
508 Ctx: *mut ::libc::c_void,
509 );
510 pub fn LLVMOrcObjectTransformLayerSetTransform(
511 ObjTransformLayer: LLVMOrcObjectTransformLayerRef,
512 TransformFunction: LLVMOrcObjectTransformLayerTransformFunction,
513 Ctx: *mut ::libc::c_void,
514 );
515 pub fn LLVMOrcCreateLocalIndirectStubsManager(
516 TargetTriple: *const ::libc::c_char,
517 ) -> LLVMOrcIndirectStubsManagerRef;
518 pub fn LLVMOrcDisposeIndirectStubsManager(ISM: LLVMOrcIndirectStubsManagerRef);
519 pub fn LLVMOrcCreateLocalLazyCallThroughManager(
520 TargetTriple: *const ::libc::c_char,
521 ES: LLVMOrcExecutionSessionRef,
522 ErrorHandlerAddr: LLVMOrcJITTargetAddress,
523 LCTM: *mut LLVMOrcLazyCallThroughManagerRef,
524 ) -> LLVMErrorRef;
525 pub fn LLVMOrcDisposeLazyCallThroughManager(LCTM: LLVMOrcLazyCallThroughManagerRef);
526 pub fn LLVMOrcCreateDumpObjects(
527 DumpDir: *const ::libc::c_char,
528 IdentifierOverride: *const ::libc::c_char,
529 ) -> LLVMOrcDumpObjectsRef;
530 pub fn LLVMOrcDisposeDumpObjects(DumpObjects: LLVMOrcDumpObjectsRef);
531 pub fn LLVMOrcDumpObjects_CallOperator(
532 DumpObjects: LLVMOrcDumpObjectsRef,
533 ObjBuffer: *mut LLVMMemoryBufferRef,
534 ) -> LLVMErrorRef;
535}