aboutsummaryrefslogtreecommitdiff
path: root/target/cris
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2021-06-20 16:05:53 -0700
committerRichard Henderson <richard.henderson@linaro.org>2021-07-09 09:42:28 -0700
commitca92d7f89b1bdc0cbe6a644d39f96cab23a33bd0 (patch)
tree51a8f866a2b265991af498edb86e80706a21653e /target/cris
parent1810afd56a947f4b201a6211da69100403402026 (diff)
downloadqemu-ca92d7f89b1bdc0cbe6a644d39f96cab23a33bd0.zip
qemu-ca92d7f89b1bdc0cbe6a644d39f96cab23a33bd0.tar.gz
qemu-ca92d7f89b1bdc0cbe6a644d39f96cab23a33bd0.tar.bz2
target/cris: Use translator_use_goto_tb
The test for singlestepping is done in translator_use_goto_tb, so we may elide it from cris_tr_tb_stop. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/cris')
-rw-r--r--target/cris/translate.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/target/cris/translate.c b/target/cris/translate.c
index a6796c8..9258c13 100644
--- a/target/cris/translate.c
+++ b/target/cris/translate.c
@@ -481,7 +481,7 @@ static void t_gen_swapr(TCGv d, TCGv s)
static bool use_goto_tb(DisasContext *dc, target_ulong dest)
{
- return ((dest ^ dc->base.pc_first) & TARGET_PAGE_MASK) == 0;
+ return translator_use_goto_tb(&dc->base, dest);
}
static void gen_goto_tb(DisasContext *dc, int n, target_ulong dest)
@@ -3234,8 +3234,7 @@ static void cris_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu)
* Use a conditional branch if either taken or not-taken path
* can use goto_tb. If neither can, then treat it as indirect.
*/
- if (likely(!dc->base.singlestep_enabled)
- && likely(!dc->cpustate_changed)
+ if (likely(!dc->cpustate_changed)
&& (use_goto_tb(dc, dc->jmp_pc) || use_goto_tb(dc, npc))) {
TCGLabel *not_taken = gen_new_label();