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(S: LLVMOrcLookupStateRef, Err: LLVMErrorRef);
438 pub fn LLVMOrcCreateDynamicLibrarySearchGeneratorForProcess(
439 Result: *mut LLVMOrcDefinitionGeneratorRef,
440 GlobalPrefix: ::libc::c_char,
441 Filter: LLVMOrcSymbolPredicate,
442 FilterCtx: *mut ::libc::c_void,
443 ) -> LLVMErrorRef;
444 pub fn LLVMOrcCreateDynamicLibrarySearchGeneratorForPath(
445 Result: *mut LLVMOrcDefinitionGeneratorRef,
446 FileName: *const ::libc::c_char,
447 GlobalPrefix: ::libc::c_char,
448 Filter: LLVMOrcSymbolPredicate,
449 FilterCtx: *mut ::libc::c_void,
450 ) -> LLVMErrorRef;
451 pub fn LLVMOrcCreateStaticLibrarySearchGeneratorForPath(
452 Result: *mut LLVMOrcDefinitionGeneratorRef,
453 ObjLayer: LLVMOrcObjectLayerRef,
454 FileName: *const ::libc::c_char,
455 TargetTriple: *const ::libc::c_char,
456 ) -> LLVMErrorRef;
457 pub fn LLVMOrcCreateNewThreadSafeContext() -> LLVMOrcThreadSafeContextRef;
458 pub fn LLVMOrcThreadSafeContextGetContext(TSCtx: LLVMOrcThreadSafeContextRef)
459 -> LLVMContextRef;
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}