On Fri, Jul 14, 2017 at 23:42:13 -1000, Richard Henderson wrote:
> Fold DISAS_EXC and DISAS_TB_JUMP into DISAS_NORETURN.
> 
> In both cases all following code is dead.  In the first
> case because we have exited the TB via exception; in the
> second case because we have exited the TB via goto_tb
> and its associated machinery.
> 
> Signed-off-by: Richard Henderson <r...@twiddle.net>
> ---
>  target/arm/translate.h     |  8 ++------
>  target/arm/translate-a64.c | 37 ++++++++++++++++++++-----------------
>  target/arm/translate.c     | 15 ++++++++-------
>  3 files changed, 30 insertions(+), 30 deletions(-)
> 
(snip)
> diff --git a/target/arm/translate.c b/target/arm/translate.c
> index e80cc35..fea76fb 100644
> --- a/target/arm/translate.c
> +++ b/target/arm/translate.c
(snip)
> @@ -12081,6 +12081,8 @@ void gen_intermediate_code(CPUState *cs, 
> TranslationBlock *tb)
>          default:
>              /* FIXME: Single stepping a WFI insn will not halt the CPU. */
>              gen_singlestep_exception(dc);
> +        case DISAS_NORETURN:
> +            break;

Missing '/* fall-through */' above 'case DISAS_NORETURN'. Or just 'break' as
we otherwise end up doing in patch 26.

                E.

Reply via email to