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 LLVMOrcCreateNewThreadSafeContextFromLLVMContext(
458 Ctx: LLVMContextRef,
459 ) -> LLVMOrcThreadSafeContextRef;
460 pub fn LLVMOrcDisposeThreadSafeContext(TSCtx: LLVMOrcThreadSafeContextRef);
461 pub fn LLVMOrcCreateNewThreadSafeModule(
462 M: LLVMModuleRef,
463 TSCtx: LLVMOrcThreadSafeContextRef,
464 ) -> LLVMOrcThreadSafeModuleRef;
465 pub fn LLVMOrcDisposeThreadSafeModule(TSM: LLVMOrcThreadSafeModuleRef);
466 pub fn LLVMOrcThreadSafeModuleWithModuleDo(
467 TSM: LLVMOrcThreadSafeModuleRef,
468 F: LLVMOrcGenericIRModuleOperationFunction,
469 Ctx: *mut ::libc::c_void,
470 ) -> LLVMErrorRef;
471 pub fn LLVMOrcJITTargetMachineBuilderDetectHost(
472 Result: *mut LLVMOrcJITTargetMachineBuilderRef,
473 ) -> LLVMErrorRef;
474 pub fn LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine(
475 TM: LLVMTargetMachineRef,
476 ) -> LLVMOrcJITTargetMachineBuilderRef;
477 pub fn LLVMOrcDisposeJITTargetMachineBuilder(JTMB: LLVMOrcJITTargetMachineBuilderRef);
478 pub fn LLVMOrcJITTargetMachineBuilderGetTargetTriple(
479 JTMB: LLVMOrcJITTargetMachineBuilderRef,
480 ) -> *mut ::libc::c_char;
481 pub fn LLVMOrcJITTargetMachineBuilderSetTargetTriple(
482 JTMB: LLVMOrcJITTargetMachineBuilderRef,
483 TargetTriple: *const ::libc::c_char,
484 );
485 pub fn LLVMOrcObjectLayerAddObjectFile(
486 ObjLayer: LLVMOrcObjectLayerRef,
487 JD: LLVMOrcJITDylibRef,
488 ObjBuffer: LLVMMemoryBufferRef,
489 ) -> LLVMErrorRef;
490 pub fn LLVMOrcObjectLayerAddObjectFileWithRT(
491 ObjLayer: LLVMOrcObjectLayerRef,
492 RT: LLVMOrcResourceTrackerRef,
493 ObjBuffer: LLVMMemoryBufferRef,
494 ) -> LLVMErrorRef;
495 pub fn LLVMOrcObjectLayerEmit(
496 ObjLayer: LLVMOrcObjectLayerRef,
497 R: LLVMOrcMaterializationResponsibilityRef,
498 ObjBuffer: LLVMMemoryBufferRef,
499 );
500 pub fn LLVMOrcDisposeObjectLayer(ObjLayer: LLVMOrcObjectLayerRef);
501 pub fn LLVMOrcIRTransformLayerEmit(
502 IRTransformLayer: LLVMOrcIRTransformLayerRef,
503 MR: LLVMOrcMaterializationResponsibilityRef,
504 TSM: LLVMOrcThreadSafeModuleRef,
505 );
506 pub fn LLVMOrcIRTransformLayerSetTransform(
507 IRTransformLayer: LLVMOrcIRTransformLayerRef,
508 TransformFunction: LLVMOrcIRTransformLayerTransformFunction,
509 Ctx: *mut ::libc::c_void,
510 );
511 pub fn LLVMOrcObjectTransformLayerSetTransform(
512 ObjTransformLayer: LLVMOrcObjectTransformLayerRef,
513 TransformFunction: LLVMOrcObjectTransformLayerTransformFunction,
514 Ctx: *mut ::libc::c_void,
515 );
516 pub fn LLVMOrcCreateLocalIndirectStubsManager(
517 TargetTriple: *const ::libc::c_char,
518 ) -> LLVMOrcIndirectStubsManagerRef;
519 pub fn LLVMOrcDisposeIndirectStubsManager(ISM: LLVMOrcIndirectStubsManagerRef);
520 pub fn LLVMOrcCreateLocalLazyCallThroughManager(
521 TargetTriple: *const ::libc::c_char,
522 ES: LLVMOrcExecutionSessionRef,
523 ErrorHandlerAddr: LLVMOrcJITTargetAddress,
524 LCTM: *mut LLVMOrcLazyCallThroughManagerRef,
525 ) -> LLVMErrorRef;
526 pub fn LLVMOrcDisposeLazyCallThroughManager(LCTM: LLVMOrcLazyCallThroughManagerRef);
527 pub fn LLVMOrcCreateDumpObjects(
528 DumpDir: *const ::libc::c_char,
529 IdentifierOverride: *const ::libc::c_char,
530 ) -> LLVMOrcDumpObjectsRef;
531 pub fn LLVMOrcDisposeDumpObjects(DumpObjects: LLVMOrcDumpObjectsRef);
532 pub fn LLVMOrcDumpObjects_CallOperator(
533 DumpObjects: LLVMOrcDumpObjectsRef,
534 ObjBuffer: *mut LLVMMemoryBufferRef,
535 ) -> LLVMErrorRef;
536}