Fix several coding style and return value unchecked issues (#722)

And enable building Windows CI with multi cores
This commit is contained in:
Wenyong Huang 2021-09-04 10:08:34 +08:00 committed by GitHub
parent 3953f819bc
commit 4e4d48e72b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 25 deletions

View File

@ -30,55 +30,55 @@ jobs:
cd product-mini/platforms/windows cd product-mini/platforms/windows
mkdir build && cd build mkdir build && cd build
cmake .. cmake ..
cmake --build . --config Release cmake --build . --config Release --parallel 4
cd .. && rm -force -r build cd .. && rm -force -r build
- name: Build iwasm [aot only] - name: Build iwasm [aot only]
run: | run: |
cd product-mini/platforms/windows cd product-mini/platforms/windows
mkdir build && cd build mkdir build && cd build
cmake .. -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0 cmake .. -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0
cmake --build . --config Release cmake --build . --config Release --parallel 4
cd .. && rm -force -r build cd .. && rm -force -r build
- name: Build iwasm [interp only] - name: Build iwasm [interp only]
run: | run: |
cd product-mini/platforms/windows cd product-mini/platforms/windows
mkdir build && cd build mkdir build && cd build
cmake .. -DWAMR_BUILD_AOT=0 cmake .. -DWAMR_BUILD_AOT=0
cmake --build . --config Release cmake --build . --config Release --parallel 4
cd .. && rm -force -r build cd .. && rm -force -r build
- name: Build iwasm [tail call] - name: Build iwasm [tail call]
run: | run: |
cd product-mini/platforms/windows cd product-mini/platforms/windows
mkdir build && cd build mkdir build && cd build
cmake .. -DWAMR_BUILD_TAIL_CALL=1 cmake .. -DWAMR_BUILD_TAIL_CALL=1
cmake --build . --config Release cmake --build . --config Release --parallel 4
cd .. && rm -force -r build cd .. && rm -force -r build
- name: Build iwasm [custom name section] - name: Build iwasm [custom name section]
run: | run: |
cd product-mini/platforms/windows cd product-mini/platforms/windows
mkdir build && cd build mkdir build && cd build
cmake .. -DWAMR_BUILD_CUSTOM_NAME_SECTION=1 cmake .. -DWAMR_BUILD_CUSTOM_NAME_SECTION=1
cmake --build . --config Release cmake --build . --config Release --parallel 4
cd .. && rm -force -r build cd .. && rm -force -r build
- name: Build iwasm [disable hardware boundary check] - name: Build iwasm [disable hardware boundary check]
run: | run: |
cd product-mini/platforms/windows cd product-mini/platforms/windows
mkdir build && cd build mkdir build && cd build
cmake .. -DWAMR_DISABLE_HW_BOUND_CHECK=1 cmake .. -DWAMR_DISABLE_HW_BOUND_CHECK=1
cmake --build . --config Release cmake --build . --config Release --parallel 4
cd .. && rm -force -r build cd .. && rm -force -r build
- name: Build iwasm [reference types] - name: Build iwasm [reference types]
run: | run: |
cd product-mini/platforms/windows cd product-mini/platforms/windows
mkdir build && cd build mkdir build && cd build
cmake .. -DWAMR_BUILD_REF_TYPES=1 cmake .. -DWAMR_BUILD_REF_TYPES=1
cmake --build . --config Release cmake --build . --config Release --parallel 4
cd .. && rm -force -r build cd .. && rm -force -r build
- name: Build iwasm [128-bit SIMD] - name: Build iwasm [128-bit SIMD]
run: | run: |
cd product-mini/platforms/windows cd product-mini/platforms/windows
mkdir build && cd build mkdir build && cd build
cmake .. -DWAMR_BUILD_SIMD=1 cmake .. -DWAMR_BUILD_SIMD=1
cmake --build . --config Release cmake --build . --config Release --parallel 4
cd .. && rm -force -r build cd .. && rm -force -r build

View File

@ -4,7 +4,7 @@
*/ */
#include "aot_emit_compare.h" #include "aot_emit_compare.h"
#include "aot_intrinsic.h" #include "../aot/aot_intrinsic.h"
static bool static bool
int_cond_to_llvm_op(IntCond cond, LLVMIntPredicate *op) int_cond_to_llvm_op(IntCond cond, LLVMIntPredicate *op)
@ -158,23 +158,25 @@ aot_compile_op_f32_compare(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
POP_F32(rhs); POP_F32(rhs);
POP_F32(lhs); POP_F32(lhs);
if (comp_ctx->disable_llvm_intrinsics && aot_intrinsic_check_capability(comp_ctx, "f32_cmp")) if (comp_ctx->disable_llvm_intrinsics
{ && aot_intrinsic_check_capability(comp_ctx, "f32_cmp")) {
LLVMTypeRef param_types[3]; LLVMTypeRef param_types[3];
LLVMValueRef opcond = LLVMConstInt(I32_TYPE, cond, true); LLVMValueRef opcond = LLVMConstInt(I32_TYPE, cond, true);
param_types[0] = I32_TYPE; param_types[0] = I32_TYPE;
param_types[1] = F32_TYPE; param_types[1] = F32_TYPE;
param_types[2] = F32_TYPE; param_types[2] = F32_TYPE;
res = aot_call_llvm_intrinsic(comp_ctx, func_ctx, "f32_cmp", I32_TYPE, param_types, 3, opcond, lhs, rhs); res = aot_call_llvm_intrinsic(comp_ctx, func_ctx, "f32_cmp", I32_TYPE,
param_types, 3, opcond, lhs, rhs);
if (!res) {
goto fail;
}
res = LLVMBuildIntCast(comp_ctx->builder, res, INT1_TYPE, "bit_cast"); res = LLVMBuildIntCast(comp_ctx->builder, res, INT1_TYPE, "bit_cast");
} }
else else {
{
res = LLVMBuildFCmp(comp_ctx->builder, op, lhs, rhs, "f32_cmp"); res = LLVMBuildFCmp(comp_ctx->builder, op, lhs, rhs, "f32_cmp");
} }
if (!res) if (!res) {
{
aot_set_last_error("llvm build compare failed."); aot_set_last_error("llvm build compare failed.");
return false; return false;
} }
@ -200,23 +202,25 @@ aot_compile_op_f64_compare(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
POP_F64(rhs); POP_F64(rhs);
POP_F64(lhs); POP_F64(lhs);
if (comp_ctx->disable_llvm_intrinsics && aot_intrinsic_check_capability(comp_ctx, "f64_cmp")) if (comp_ctx->disable_llvm_intrinsics
{ && aot_intrinsic_check_capability(comp_ctx, "f64_cmp")) {
LLVMTypeRef param_types[3]; LLVMTypeRef param_types[3];
LLVMValueRef opcond = LLVMConstInt(I32_TYPE, cond, true); LLVMValueRef opcond = LLVMConstInt(I32_TYPE, cond, true);
param_types[0] = I32_TYPE; param_types[0] = I32_TYPE;
param_types[1] = F64_TYPE; param_types[1] = F64_TYPE;
param_types[2] = F64_TYPE; param_types[2] = F64_TYPE;
res = aot_call_llvm_intrinsic(comp_ctx, func_ctx, "f64_cmp", I32_TYPE, param_types, 3, opcond, lhs, rhs); res = aot_call_llvm_intrinsic(comp_ctx, func_ctx, "f64_cmp", I32_TYPE,
param_types, 3, opcond, lhs, rhs);
if (!res) {
goto fail;
}
res = LLVMBuildIntCast(comp_ctx->builder, res, INT1_TYPE, "bit_cast"); res = LLVMBuildIntCast(comp_ctx->builder, res, INT1_TYPE, "bit_cast");
} }
else else {
{
res = LLVMBuildFCmp(comp_ctx->builder, op, lhs, rhs, "f64_cmp"); res = LLVMBuildFCmp(comp_ctx->builder, op, lhs, rhs, "f64_cmp");
} }
if (!res) if (!res) {
{
aot_set_last_error("llvm build compare failed."); aot_set_last_error("llvm build compare failed.");
return false; return false;
} }

View File

@ -6,8 +6,8 @@
#include "aot_emit_conversion.h" #include "aot_emit_conversion.h"
#include "aot_emit_exception.h" #include "aot_emit_exception.h"
#include "aot_emit_numberic.h" #include "aot_emit_numberic.h"
#include "aot_intrinsic.h" #include "../aot/aot_intrinsic.h"
#include "aot_runtime.h" #include "../aot/aot_runtime.h"
static bool static bool
trunc_float_to_int(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx, trunc_float_to_int(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
@ -29,6 +29,9 @@ trunc_float_to_int(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
res = aot_call_llvm_intrinsic( res = aot_call_llvm_intrinsic(
comp_ctx, func_ctx, src_type == F32_TYPE ? "f32_cmp" : "f64_cmp", comp_ctx, func_ctx, src_type == F32_TYPE ? "f32_cmp" : "f64_cmp",
I32_TYPE, param_types, 3, opcond, operand, operand); I32_TYPE, param_types, 3, opcond, operand, operand);
if (!res) {
goto fail;
}
res = LLVMBuildIntCast(comp_ctx->builder, res, INT1_TYPE, "bit_cast"); res = LLVMBuildIntCast(comp_ctx->builder, res, INT1_TYPE, "bit_cast");
} }
else { else {
@ -67,6 +70,9 @@ trunc_float_to_int(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
is_less = aot_call_llvm_intrinsic( is_less = aot_call_llvm_intrinsic(
comp_ctx, func_ctx, src_type == F32_TYPE ? "f32_cmp" : "f64_cmp", comp_ctx, func_ctx, src_type == F32_TYPE ? "f32_cmp" : "f64_cmp",
I32_TYPE, param_types, 3, opcond, operand, min_value); I32_TYPE, param_types, 3, opcond, operand, min_value);
if (!is_less) {
goto fail;
}
is_less = is_less =
LLVMBuildIntCast(comp_ctx->builder, is_less, INT1_TYPE, "bit_cast"); LLVMBuildIntCast(comp_ctx->builder, is_less, INT1_TYPE, "bit_cast");
} }
@ -91,6 +97,9 @@ trunc_float_to_int(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
is_greater = aot_call_llvm_intrinsic( is_greater = aot_call_llvm_intrinsic(
comp_ctx, func_ctx, src_type == F32_TYPE ? "f32_cmp" : "f64_cmp", comp_ctx, func_ctx, src_type == F32_TYPE ? "f32_cmp" : "f64_cmp",
I32_TYPE, param_types, 3, opcond, operand, max_value); I32_TYPE, param_types, 3, opcond, operand, max_value);
if (!is_greater) {
goto fail;
}
is_greater = LLVMBuildIntCast(comp_ctx->builder, is_greater, INT1_TYPE, is_greater = LLVMBuildIntCast(comp_ctx->builder, is_greater, INT1_TYPE,
"bit_cast"); "bit_cast");
} }