target/riscv: Remove dead code after exception
We have already set DISAS_NORETURN in generate_exception, which makes the exit_tb unreachable. Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
9498d1032c
commit
ea06a00652
@ -22,8 +22,6 @@ static bool trans_ecall(DisasContext *ctx, arg_ecall *a)
|
|||||||
{
|
{
|
||||||
/* always generates U-level ECALL, fixed in do_interrupt handler */
|
/* always generates U-level ECALL, fixed in do_interrupt handler */
|
||||||
generate_exception(ctx, RISCV_EXCP_U_ECALL);
|
generate_exception(ctx, RISCV_EXCP_U_ECALL);
|
||||||
exit_tb(ctx); /* no chaining */
|
|
||||||
ctx->base.is_jmp = DISAS_NORETURN;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,13 +58,11 @@ static bool trans_ebreak(DisasContext *ctx, arg_ebreak *a)
|
|||||||
post = opcode_at(&ctx->base, post_addr);
|
post = opcode_at(&ctx->base, post_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pre == 0x01f01013 && ebreak == 0x00100073 && post == 0x40705013) {
|
if (pre == 0x01f01013 && ebreak == 0x00100073 && post == 0x40705013) {
|
||||||
generate_exception(ctx, RISCV_EXCP_SEMIHOST);
|
generate_exception(ctx, RISCV_EXCP_SEMIHOST);
|
||||||
} else {
|
} else {
|
||||||
generate_exception(ctx, RISCV_EXCP_BREAKPOINT);
|
generate_exception(ctx, RISCV_EXCP_BREAKPOINT);
|
||||||
}
|
}
|
||||||
exit_tb(ctx); /* no chaining */
|
|
||||||
ctx->base.is_jmp = DISAS_NORETURN;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user