aot_llvm_lazyjit.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*
  2. * Copyright (C) 2019 Intel Corporation. All rights reserved.
  3. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. */
  5. #ifndef AOT_LLVM_LAZYJIT_H
  6. #define AOT_LLVM_LAZYJIT_H
  7. #include "llvm-c/Error.h"
  8. #include "llvm-c/Orc.h"
  9. #include "llvm-c/TargetMachine.h"
  10. #include "llvm-c/Types.h"
  11. #if LLVM_VERSION_MAJOR >= 12
  12. #include "llvm-c/LLJIT.h"
  13. #endif
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. typedef LLVMOrcLLJITBuilderRef LLVMOrcLLLazyJITBuilderRef;
  18. typedef LLVMOrcLLJITRef LLVMOrcLLLazyJITRef;
  19. LLVMOrcJITTargetMachineBuilderRef
  20. LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine(LLVMTargetMachineRef TM);
  21. LLVMOrcLLLazyJITBuilderRef
  22. LLVMOrcCreateLLLazyJITBuilder(void);
  23. void
  24. LLVMOrcDisposeLLLazyJITBuilder(LLVMOrcLLLazyJITBuilderRef Builder);
  25. LLVMErrorRef
  26. LLVMOrcCreateLLLazyJIT(LLVMOrcLLLazyJITRef *Result,
  27. LLVMOrcLLLazyJITBuilderRef Builder);
  28. LLVMErrorRef
  29. LLVMOrcDisposeLLLazyJIT(LLVMOrcLLLazyJITRef J);
  30. LLVMOrcJITDylibRef
  31. LLVMOrcLLLazyJITGetMainJITDylib(LLVMOrcLLLazyJITRef J);
  32. const char *
  33. LLVMOrcLLLazyJITGetTripleString(LLVMOrcLLLazyJITRef J);
  34. char
  35. LLVMOrcLLLazyJITGetGlobalPrefix(LLVMOrcLLLazyJITRef J);
  36. LLVMErrorRef
  37. LLVMOrcLLLazyJITAddLLVMIRModule(LLVMOrcLLLazyJITRef J, LLVMOrcJITDylibRef JD,
  38. LLVMOrcThreadSafeModuleRef TSM);
  39. LLVMErrorRef
  40. LLVMOrcLLLazyJITLookup(LLVMOrcLLLazyJITRef J, LLVMOrcJITTargetAddress *Result,
  41. const char *Name);
  42. const char *
  43. LLVMOrcLLLazyJITGetTripleString(LLVMOrcLLLazyJITRef J);
  44. void
  45. LLVMOrcLLLazyJITBuilderSetJITTargetMachineBuilder(
  46. LLVMOrcLLLazyJITBuilderRef Builder, LLVMOrcJITTargetMachineBuilderRef JTMB);
  47. char
  48. LLVMOrcLLLazyJITGetGlobalPrefix(LLVMOrcLLLazyJITRef J);
  49. #ifdef __cplusplus
  50. }
  51. #endif
  52. #endif /* end of AOT_LLVM_LAZYJIT_H */