Fix some cppcheck warnings in tgt-vvp
This commit is contained in:
parent
0e38843ae9
commit
b2d8d41e3f
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2013 Stephen Williams (steve@icarus.com)
|
||||
* Copyright (c) 2013-2014 Stephen Williams (steve@icarus.com)
|
||||
*
|
||||
* This source code is free software; you can redistribute it
|
||||
* and/or modify it in source code form under the terms of the GNU
|
||||
|
|
@ -643,16 +643,16 @@ static void draw_binary_vec4_lrs(ivl_expr_t expr)
|
|||
// the stack and replace it with the result of the shift.
|
||||
switch (ivl_expr_opcode(expr)) {
|
||||
case 'l': /* << */
|
||||
fprintf(vvp_out, " %%shiftl %u;\n", use_index_reg);
|
||||
fprintf(vvp_out, " %%shiftl %d;\n", use_index_reg);
|
||||
break;
|
||||
case 'r': /* >> */
|
||||
fprintf(vvp_out, " %%shiftr %u;\n", use_index_reg);
|
||||
fprintf(vvp_out, " %%shiftr %d;\n", use_index_reg);
|
||||
break;
|
||||
case 'R': /* >>> */
|
||||
if (ivl_expr_signed(le))
|
||||
fprintf(vvp_out, " %%shiftr/s %u;\n", use_index_reg);
|
||||
fprintf(vvp_out, " %%shiftr/s %d;\n", use_index_reg);
|
||||
else
|
||||
fprintf(vvp_out, " %%shiftr %u;\n", use_index_reg);
|
||||
fprintf(vvp_out, " %%shiftr %d;\n", use_index_reg);
|
||||
break;
|
||||
default:
|
||||
assert(0);
|
||||
|
|
@ -790,10 +790,10 @@ static void draw_concat_number_vec4(ivl_expr_t expr, int as_concati)
|
|||
|
||||
if (accum) {
|
||||
if (count_pushi) {
|
||||
fprintf(vvp_out, " %%concati/vec4 %lu, %lu, %u;\n",
|
||||
fprintf(vvp_out, " %%concati/vec4 %lu, %lu, %d;\n",
|
||||
val0, valx, accum);
|
||||
} else {
|
||||
fprintf(vvp_out, " %%pushi/vec4 %lu, %lu, %u;\n",
|
||||
fprintf(vvp_out, " %%pushi/vec4 %lu, %lu, %d;\n",
|
||||
val0, valx, accum);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ static void get_vec_from_lval_slice(ivl_lval_t lval, struct vec_slice_info*slice
|
|||
draw_eval_vec4(part_off_ex);
|
||||
fprintf(vvp_out, " %%flag_mov %u, 4;\n", slice->u_.part_select_dynamic.x_flag);
|
||||
fprintf(vvp_out, " %%dup/vec4;\n");
|
||||
fprintf(vvp_out, " %%ix/vec4 %u;\n", slice->u_.part_select_dynamic.word_idx_reg);
|
||||
fprintf(vvp_out, " %%ix/vec4 %d;\n", slice->u_.part_select_dynamic.word_idx_reg);
|
||||
fprintf(vvp_out, " %%part/u %u;\n", wid);
|
||||
|
||||
} else if (ivl_signal_dimensions(sig) > 0 && word_ix == 0) {
|
||||
|
|
@ -167,7 +167,7 @@ static void get_vec_from_lval_slice(ivl_lval_t lval, struct vec_slice_info*slice
|
|||
slice->u_.memory_word_dynamic.x_flag = allocate_flag();
|
||||
|
||||
draw_eval_expr_into_integer(word_ix, slice->u_.memory_word_dynamic.word_idx_reg);
|
||||
fprintf(vvp_out, " %%flag_mov %d, 4;\n", slice->u_.memory_word_dynamic.x_flag);
|
||||
fprintf(vvp_out, " %%flag_mov %u, 4;\n", slice->u_.memory_word_dynamic.x_flag);
|
||||
fprintf(vvp_out, " %%load/vec4a v%p, %d;\n", sig, slice->u_.memory_word_dynamic.word_idx_reg);
|
||||
|
||||
} else {
|
||||
|
|
@ -263,7 +263,7 @@ static void put_vec_to_lval_slice(ivl_lval_t lval, struct vec_slice_info*slice,
|
|||
break;
|
||||
|
||||
case SLICE_MEMORY_WORD_DYNAMIC:
|
||||
fprintf(vvp_out, " %%flag_mov 4, %d;\n", slice->u_.memory_word_dynamic.x_flag);
|
||||
fprintf(vvp_out, " %%flag_mov 4, %u;\n", slice->u_.memory_word_dynamic.x_flag);
|
||||
fprintf(vvp_out, " %%store/vec4a v%p, %d, 0;\n", sig, slice->u_.memory_word_dynamic.word_idx_reg);
|
||||
clr_word(slice->u_.memory_word_dynamic.word_idx_reg);
|
||||
clr_flag(slice->u_.memory_word_dynamic.x_flag);
|
||||
|
|
@ -381,7 +381,7 @@ static void store_vec4_to_lval(ivl_statement_t net)
|
|||
/* Note that flag4 is set by the eval above. */
|
||||
assert(lsig);
|
||||
if (ivl_signal_type(lsig)==IVL_SIT_UWIRE) {
|
||||
fprintf(vvp_out, " %%force/vec4/off v%p_0, %u;\n",
|
||||
fprintf(vvp_out, " %%force/vec4/off v%p_0, %d;\n",
|
||||
lsig, offset_index);
|
||||
} else {
|
||||
fprintf(vvp_out, " %%store/vec4 v%p_0, %d, %u;\n",
|
||||
|
|
@ -397,7 +397,7 @@ static void store_vec4_to_lval(ivl_statement_t net)
|
|||
assert(!lsig);
|
||||
ivl_type_t sub_type = draw_lval_expr(nest);
|
||||
assert(ivl_type_base(sub_type) == IVL_VT_CLASS);
|
||||
fprintf(vvp_out, " %%store/prop/v %u, %u;\n",
|
||||
fprintf(vvp_out, " %%store/prop/v %d, %u;\n",
|
||||
ivl_lval_property_idx(lval), lwid);
|
||||
fprintf(vvp_out, " %%pop/obj 1, 0;\n");
|
||||
|
||||
|
|
@ -449,6 +449,7 @@ static int show_stmt_assign_vector(ivl_statement_t net)
|
|||
fprintf(vvp_out, " %%vpi_call %u %u \"$ivl_string_method$to_vec\", v%p_0, v%p_0 {0 0 0};\n",
|
||||
ivl_file_table_index(ivl_stmt_file(net)), ivl_stmt_lineno(net),
|
||||
ivl_expr_signal(rval), ivl_lval_sig(lval));
|
||||
if (slices) free(slices);
|
||||
return 0;
|
||||
|
||||
} else {
|
||||
|
|
@ -532,8 +533,7 @@ static int show_stmt_assign_vector(ivl_statement_t net)
|
|||
break;
|
||||
}
|
||||
|
||||
if (slices)
|
||||
free(slices);
|
||||
if (slices) free(slices);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ static void assign_to_array_word(ivl_signal_t lsig, ivl_expr_t word_ix,
|
|||
}
|
||||
draw_eval_expr_into_integer(dexp, delay_index);
|
||||
if (word_ix_reg != 3) {
|
||||
fprintf(vvp_out, " %%ix/mov 3, %u;\n", word_ix_reg);
|
||||
fprintf(vvp_out, " %%ix/mov 3, %d;\n", word_ix_reg);
|
||||
clr_word(word_ix_reg);
|
||||
}
|
||||
/* Restore the error state since an undefined delay is okay. */
|
||||
|
|
@ -194,14 +194,14 @@ static void assign_to_array_word(ivl_signal_t lsig, ivl_expr_t word_ix,
|
|||
fprintf(vvp_out, " %%ix/load %d, %lu, %lu; Constant delay\n",
|
||||
delay_index, low_d, hig_d);
|
||||
if (word_ix_reg != 3) {
|
||||
fprintf(vvp_out, " %%ix/mov 3, %u;\n", word_ix_reg);
|
||||
fprintf(vvp_out, " %%ix/mov 3, %d;\n", word_ix_reg);
|
||||
clr_word(word_ix_reg);
|
||||
}
|
||||
/* If needed use the global error state. */
|
||||
if (part_off_ex) {
|
||||
fprintf(vvp_out, " %%flag_mov 4, %d;\n", error_flag);
|
||||
}
|
||||
fprintf(vvp_out, " %%assign/vec4/a/d v%p, %d, %u;\n",
|
||||
fprintf(vvp_out, " %%assign/vec4/a/d v%p, %d, %d;\n",
|
||||
lsig, part_off_reg, delay_index);
|
||||
clr_word(delay_index);
|
||||
}
|
||||
|
|
@ -1333,7 +1333,7 @@ static int show_stmt_do_while(ivl_statement_t net, ivl_scope_t sscope)
|
|||
the result. If the expression evaluates to true, then
|
||||
branch to the top label. */
|
||||
int use_flag = draw_eval_condition(ivl_stmt_cond_expr(net));
|
||||
fprintf(vvp_out, " %%jmp/1 T_%u.%u, %u;\n",
|
||||
fprintf(vvp_out, " %%jmp/1 T_%u.%u, %d;\n",
|
||||
thread_count, top_label, use_flag);
|
||||
clr_flag(use_flag);
|
||||
|
||||
|
|
@ -1677,7 +1677,7 @@ static int show_stmt_while(ivl_statement_t net, ivl_scope_t sscope)
|
|||
the result. If the expression evaluates to false, then
|
||||
branch to the out label. */
|
||||
int use_flag = draw_eval_condition(ivl_stmt_cond_expr(net));
|
||||
fprintf(vvp_out, " %%jmp/0xz T_%u.%u, %u;\n",
|
||||
fprintf(vvp_out, " %%jmp/0xz T_%u.%u, %d;\n",
|
||||
thread_count, out_label, use_flag);
|
||||
clr_flag(use_flag);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue