19#include <llvm-c/Core.h>
20#include <llvm/IR/Function.h>
25#ifdef USE_LLVM_BACKPORT_SECTION_MEMORY_MANAGER
26#include <llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h>
27#include <llvm/ExecutionEngine/SectionMemoryManager.h>
29#include <llvm/Support/CBindingWrapping.h>
40 return llvm::wrap(llvm::unwrap<llvm::Function>(r)->
getReturnType());
49#ifdef USE_LLVM_BACKPORT_SECTION_MEMORY_MANAGER
56#if LLVM_VERSION_MAJOR >= 21
57 return wrap(
new llvm::orc::RTDyldObjectLinkingLayer(
58 *
unwrap(
ES), [](
const llvm::MemoryBuffer&) {
59 return std::make_unique<llvm::backport::SectionMemoryManager>(
nullptr,
true);
62 return wrap(
new llvm::orc::RTDyldObjectLinkingLayer(
63 *
unwrap(
ES), [] {
return std::make_unique<llvm::backport::SectionMemoryManager>(
nullptr,
true); }));
LLVMTypeRef LLVMGetFunctionReturnType(LLVMValueRef r)
LLVMTypeRef LLVMGetFunctionType(LLVMValueRef r)