aot_llvm_extra2.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * Copyright (c)2023 YAMAMOTO Takashi. All rights reserved.
  3. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. */
  5. #include <llvm/Config/llvm-config.h>
  6. #include <llvm-c/TargetMachine.h>
  7. LLVM_C_EXTERN_C_BEGIN
  8. LLVMTargetMachineRef
  9. LLVMCreateTargetMachineWithOpts(LLVMTargetRef ctarget, const char *triple,
  10. const char *cpu, const char *features,
  11. LLVMCodeGenOptLevel opt_level,
  12. LLVMRelocMode reloc_mode,
  13. LLVMCodeModel code_model,
  14. bool EmitStackSizeSection,
  15. const char *StackUsageOutput);
  16. /* https://reviews.llvm.org/D153107 */
  17. #if LLVM_VERSION_MAJOR < 18
  18. typedef enum {
  19. LLVMTailCallKindNone = 0,
  20. LLVMTailCallKindTail = 1,
  21. LLVMTailCallKindMustTail = 2,
  22. LLVMTailCallKindNoTail = 3,
  23. } LLVMTailCallKind;
  24. LLVMTailCallKind
  25. LLVMGetTailCallKind(LLVMValueRef CallInst);
  26. void
  27. LLVMSetTailCallKind(LLVMValueRef CallInst, LLVMTailCallKind kind);
  28. #endif
  29. LLVM_C_EXTERN_C_END