aot_orc_extra.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. * Copyright (C) 2019 Intel Corporation. All rights reserved.
  3. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. */
  5. #ifndef _AOT_ORC_LAZINESS_H_
  6. #define _AOT_ORC_LAZINESS_H_
  7. #include "llvm-c/Error.h"
  8. #include "llvm-c/ExternC.h"
  9. #include "llvm-c/LLJIT.h"
  10. #include "llvm-c/Orc.h"
  11. #include "llvm-c/Types.h"
  12. LLVM_C_EXTERN_C_BEGIN
  13. typedef struct LLVMOrcOpaqueLLLazyJITBuilder *LLVMOrcLLLazyJITBuilderRef;
  14. typedef struct LLVMOrcOpaqueLLLazyJIT *LLVMOrcLLLazyJITRef;
  15. // Extra bindings for LLJIT
  16. void
  17. LLVMOrcLLJITBuilderSetNumCompileThreads(LLVMOrcLLJITBuilderRef Builder,
  18. unsigned NumCompileThreads);
  19. // Extra bindings for LLLazyJIT
  20. LLVMOrcLLLazyJITBuilderRef
  21. LLVMOrcCreateLLLazyJITBuilder(void);
  22. void
  23. LLVMOrcDisposeLLLazyJITBuilder(LLVMOrcLLLazyJITBuilderRef Builder);
  24. void
  25. LLVMOrcLLLazyJITBuilderSetJITTargetMachineBuilder(
  26. LLVMOrcLLLazyJITBuilderRef Builder, LLVMOrcJITTargetMachineBuilderRef JTMP);
  27. void
  28. LLVMOrcLLLazyJITBuilderSetNumCompileThreads(LLVMOrcLLLazyJITBuilderRef Builder,
  29. unsigned NumCompileThreads);
  30. LLVMErrorRef
  31. LLVMOrcCreateLLLazyJIT(LLVMOrcLLLazyJITRef *Result,
  32. LLVMOrcLLLazyJITBuilderRef Builder);
  33. LLVMErrorRef
  34. LLVMOrcDisposeLLLazyJIT(LLVMOrcLLLazyJITRef J);
  35. LLVMErrorRef
  36. LLVMOrcLLLazyJITAddLLVMIRModule(LLVMOrcLLLazyJITRef J, LLVMOrcJITDylibRef JD,
  37. LLVMOrcThreadSafeModuleRef TSM);
  38. LLVMErrorRef
  39. LLVMOrcLLLazyJITLookup(LLVMOrcLLLazyJITRef J, LLVMOrcExecutorAddress *Result,
  40. const char *Name);
  41. LLVMOrcSymbolStringPoolEntryRef
  42. LLVMOrcLLLazyJITMangleAndIntern(LLVMOrcLLLazyJITRef J,
  43. const char *UnmangledName);
  44. LLVMOrcJITDylibRef
  45. LLVMOrcLLLazyJITGetMainJITDylib(LLVMOrcLLLazyJITRef J);
  46. const char *
  47. LLVMOrcLLLazyJITGetTripleString(LLVMOrcLLLazyJITRef J);
  48. LLVMOrcExecutionSessionRef
  49. LLVMOrcLLLazyJITGetExecutionSession(LLVMOrcLLLazyJITRef J);
  50. LLVMOrcIRTransformLayerRef
  51. LLVMOrcLLLazyJITGetIRTransformLayer(LLVMOrcLLLazyJITRef J);
  52. LLVMOrcObjectTransformLayerRef
  53. LLVMOrcLLLazyJITGetObjTransformLayer(LLVMOrcLLLazyJITRef J);
  54. void
  55. LLVMOrcLLJITBuilderSetCompileFunctionCreatorWithStackSizesCallback(
  56. LLVMOrcLLLazyJITBuilderRef Builder,
  57. void (*cb)(void *, const char *, size_t, size_t), void *cb_data);
  58. LLVMOrcObjectLayerRef
  59. LLVMOrcLLLazyJITGetObjLinkingLayer(LLVMOrcLLLazyJITRef J);
  60. LLVM_C_EXTERN_C_END
  61. #endif