[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 04/10] target/mips: simplify gen_compute_imm_branch logic
From: |
Alex Bennée |
Subject: |
[PATCH v2 04/10] target/mips: simplify gen_compute_imm_branch logic |
Date: |
Wed, 9 Sep 2020 12:27:35 +0100 |
One of the Travis builds was complaining about:
qemu/include/tcg/tcg.h:437:12: error: ‘cond’ may be used uninitialized in
this function [-Werror=maybe-uninitialized]
return (TCGCond)(c ^ 1);
../target/mips/translate.c:20031:13: note: ‘cond’ was declared here
TCGCond cond;
Rather than figure out exactly which one was causing the complaint I
just defaulted to TCG_COND_ALWAYS and allowed that state to double up
for the now defunct bcond_compute variable.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200903112107.27367-8-alex.bennee@linaro.org>
---
target/mips/translate.c | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/target/mips/translate.c b/target/mips/translate.c
index 899b90ae0ff..398edf72898 100644
--- a/target/mips/translate.c
+++ b/target/mips/translate.c
@@ -20028,8 +20028,7 @@ static void gen_pool32axf_nanomips_insn(CPUMIPSState
*env, DisasContext *ctx)
static void gen_compute_imm_branch(DisasContext *ctx, uint32_t opc,
int rt, int32_t imm, int32_t offset)
{
- TCGCond cond;
- int bcond_compute = 0;
+ TCGCond cond = TCG_COND_ALWAYS;
TCGv t0 = tcg_temp_new();
TCGv t1 = tcg_temp_new();
@@ -20046,7 +20045,6 @@ static void gen_compute_imm_branch(DisasContext *ctx,
uint32_t opc,
/* Treat as NOP */
goto out;
} else {
- bcond_compute = 1;
cond = TCG_COND_EQ;
}
break;
@@ -20065,7 +20063,6 @@ static void gen_compute_imm_branch(DisasContext *ctx,
uint32_t opc,
tcg_gen_shri_tl(t0, t0, imm);
tcg_gen_andi_tl(t0, t0, 1);
tcg_gen_movi_tl(t1, 0);
- bcond_compute = 1;
if (opc == NM_BBEQZC) {
cond = TCG_COND_EQ;
} else {
@@ -20080,7 +20077,6 @@ static void gen_compute_imm_branch(DisasContext *ctx,
uint32_t opc,
} else if (rt == 0 && imm != 0) {
/* Unconditional branch */
} else {
- bcond_compute = 1;
cond = TCG_COND_NE;
}
break;
@@ -20088,24 +20084,20 @@ static void gen_compute_imm_branch(DisasContext *ctx,
uint32_t opc,
if (rt == 0 && imm == 0) {
/* Unconditional branch */
} else {
- bcond_compute = 1;
cond = TCG_COND_GE;
}
break;
case NM_BLTIC:
- bcond_compute = 1;
cond = TCG_COND_LT;
break;
case NM_BGEIUC:
if (rt == 0 && imm == 0) {
/* Unconditional branch */
} else {
- bcond_compute = 1;
cond = TCG_COND_GEU;
}
break;
case NM_BLTIUC:
- bcond_compute = 1;
cond = TCG_COND_LTU;
break;
default:
@@ -20118,7 +20110,7 @@ static void gen_compute_imm_branch(DisasContext *ctx,
uint32_t opc,
clear_branch_hflags(ctx);
ctx->base.is_jmp = DISAS_NORETURN;
- if (bcond_compute == 0) {
+ if (cond == TCG_COND_ALWAYS) {
/* Uncoditional compact branch */
gen_goto_tb(ctx, 0, ctx->btarget);
} else {
--
2.20.1
- [PATCH v2 00/10] testing and misc updates, Alex Bennée, 2020/09/09
- [PATCH v2 01/10] CODING_STYLE.rst: flesh out our naming conventions., Alex Bennée, 2020/09/09
- [PATCH v2 02/10] usb-host: restrict workaround to new libusb versions, Alex Bennée, 2020/09/09
- [PATCH v2 03/10] tests/meson.build: fp tests don't need CONFIG_TCG, Alex Bennée, 2020/09/09
- [PATCH v2 04/10] target/mips: simplify gen_compute_imm_branch logic,
Alex Bennée <=
- [PATCH v2 06/10] configure: don't enable ppc64abi32-linux-user by default, Alex Bennée, 2020/09/09
- [PATCH v2 08/10] tests: bump avocado version, Alex Bennée, 2020/09/09
- [PATCH v2 07/10] hw/i386: make explicit clearing of pch_rev_id, Alex Bennée, 2020/09/09
- [PATCH v2 05/10] docs/system/deprecated: mark ppc64abi32-linux-user for deprecation, Alex Bennée, 2020/09/09
- [PATCH v2 10/10] plugins: move the more involved plugins to contrib, Alex Bennée, 2020/09/09
- [PATCH v2 09/10] tests/acceptance: Add Test.fetch_asset(cancel_on_missing=True), Alex Bennée, 2020/09/09