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:
Wenyong Huang
2022-06-28 14:53:01 +08:00
committed by GitHub
parent 2746d29751
commit 5e238322c2
12 changed files with 431 additions and 301 deletions

View File

@ -96,7 +96,8 @@ aot_emit_exception(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
/* Call the aot_set_exception_with_id() function */
param_values[0] = func_ctx->aot_inst;
param_values[1] = func_ctx->exception_id_phi;
if (!LLVMBuildCall(comp_ctx->builder, func, param_values, 2, "")) {
if (!LLVMBuildCall2(comp_ctx->builder, func_type, func, param_values, 2,
"")) {
aot_set_last_error("llvm build call failed.");
return false;
}