[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH v4 10/11] Hexagon (target/hexagon) Use direct block chaining
From: |
Taylor Simpson |
Subject: |
RE: [PATCH v4 10/11] Hexagon (target/hexagon) Use direct block chaining for direct jump/branch |
Date: |
Wed, 9 Nov 2022 15:35:35 +0000 |
> -----Original Message-----
> From: Richard Henderson <richard.henderson@linaro.org>
> Sent: Tuesday, November 8, 2022 7:41 PM
> To: Taylor Simpson <tsimpson@quicinc.com>; qemu-devel@nongnu.org
> Cc: philmd@linaro.org; ale@rev.ng; anjo@rev.ng; Brian Cain
> <bcain@quicinc.com>; Matheus Bernardino (QUIC)
> <quic_mathbern@quicinc.com>
> Subject: Re: [PATCH v4 10/11] Hexagon (target/hexagon) Use direct block
> chaining for direct jump/branch
>
> >> -----Original Message-----
> >> From: Richard Henderson <richard.henderson@linaro.org>
> >> Sent: Tuesday, November 8, 2022 1:24 AM
> >> To: Taylor Simpson <tsimpson@quicinc.com>; qemu-devel@nongnu.org
> >> Cc: philmd@linaro.org; ale@rev.ng; anjo@rev.ng; Brian Cain
> >> <bcain@quicinc.com>; Matheus Bernardino (QUIC)
> >> <quic_mathbern@quicinc.com>
> >> Subject: Re: [PATCH v4 10/11] Hexagon (target/hexagon) Use direct
> >> block chaining for direct jump/branch
> >>
> >> On 11/8/22 15:05, Taylor Simpson wrote:
> >>> static void hexagon_tr_tb_start(DisasContextBase *db, CPUState
> *cpu)
> >>> {
> >>> + DisasContext *ctx = container_of(db, DisasContext, base);
> >>> + ctx->branch_cond = TCG_COND_NEVER;
> >>> }
> >>
> >> Typically this would go in hexagon_tr_init_disas_context as well, but
> >> I don't suppose it really matters.
> >
> > AFAICT, these are always called back to back. So, it's not clear to me what
> the distinction should be.
>
> ops->tb_start is called after gen_tb_start, so you can emit code that
> ops->comes after the
> interrupt/icount check, but before the first guest instruction. Rarely
> needed,
> should probably be allowed to be NULL.
OK, I will move this to init_disas_context.
Thanks,
Taylor
- [PATCH v4 00/11] Hexagon (target/hexagon) performance and bug fixes, Taylor Simpson, 2022/11/07
- [PATCH v4 11/11] Hexagon (target/hexagon) Use direct block chaining for tight loops, Taylor Simpson, 2022/11/07
- [PATCH v4 02/11] Hexagon (target/hexagon) Fix predicated assignment to .tmp and .cur, Taylor Simpson, 2022/11/07
- [PATCH v4 05/11] Hexagon (target/hexagon) Remove PC from the runtime state, Taylor Simpson, 2022/11/07
- [PATCH v4 06/11] Hexagon (target/hexagon) Remove next_PC from runtime state, Taylor Simpson, 2022/11/07
- [PATCH v4 10/11] Hexagon (target/hexagon) Use direct block chaining for direct jump/branch, Taylor Simpson, 2022/11/07
[PATCH v4 03/11] Hexagon (target/hexagon) Add overrides for S2_asr_r_r_sat/S2_asl_r_r_sat, Taylor Simpson, 2022/11/07
[PATCH v4 01/11] Hexagon (target/hexagon) Add pkt and insn to DisasContext, Taylor Simpson, 2022/11/07
[PATCH v4 07/11] Hexagon (target/hexagon) Add overrides for direct call instructions, Taylor Simpson, 2022/11/07
[PATCH v4 09/11] Hexagon (target/hexagon) Add overrides for various forms of jump, Taylor Simpson, 2022/11/07
[PATCH v4 08/11] Hexagon (target/hexagon) Add overrides for compound compare and jump, Taylor Simpson, 2022/11/07
[PATCH v4 04/11] Hexagon (target/hexagon) Only use branch_taken when packet has multi cof, Taylor Simpson, 2022/11/07