Enable aot compiler with llvm-14/15 (#1252)
Enable aot compiler and jit based on llvm-14.0 and llvm-15.0git, replace LLVMBuildLoad/LLVMBuildInBoundsGEP/LLVMBuildCall with LLVMBuildLoad2/LLVMBuildInBoundsGEP2/LLVMBuildCall2, and pass them with related types, so as to meet the requirements of opaque pointers. And fix several compilation errors for llvm-14.0/15.0git. Most spec cases and standalone cases are tested.
This commit is contained in:
@ -38,6 +38,20 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if LLVM_VERSION_MAJOR < 14
|
||||
#define LLVMBuildLoad2(builder, type, value, name) \
|
||||
LLVMBuildLoad(builder, value, name)
|
||||
|
||||
#define LLVMBuildCall2(builder, type, func, args, num_args, name) \
|
||||
LLVMBuildCall(builder, func, args, num_args, name)
|
||||
|
||||
#define LLVMBuildInBoundsGEP2(builder, type, ptr, indices, num_indices, name) \
|
||||
LLVMBuildInBoundsGEP(builder, ptr, indices, num_indices, name)
|
||||
#else
|
||||
/* Opaque pointer type */
|
||||
#define OPQ_PTR_TYPE INT8_PTR_TYPE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Value in the WASM operation stack, each stack element
|
||||
* is an LLVM value
|
||||
|
||||
Reference in New Issue
Block a user