mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 18:23:57 -06:00
Hexagon (target/hexagon) Move items to DisasContext
The following items in the CPUHexagonState are only used for bookkeeping within the translation of a packet. With recent changes that eliminate the need to free TCGv variables, these make more sense to be transient and kept in DisasContext. The following items are moved dczero_addr branch_taken this_PC Suggested-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Taylor Simpson <tsimpson@quicinc.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230427230012.3800327-22-tsimpson@quicinc.com>
This commit is contained in:
parent
e5d0d78db4
commit
0fc56c4375
8 changed files with 21 additions and 31 deletions
|
@ -71,6 +71,8 @@ typedef struct DisasContext {
|
|||
TCGv new_value[TOTAL_PER_THREAD_REGS];
|
||||
TCGv new_pred_value[NUM_PREGS];
|
||||
TCGv pred_written;
|
||||
TCGv branch_taken;
|
||||
TCGv dczero_addr;
|
||||
} DisasContext;
|
||||
|
||||
static inline void ctx_log_pred_write(DisasContext *ctx, int pnum)
|
||||
|
@ -189,16 +191,13 @@ static inline void ctx_log_qreg_read(DisasContext *ctx, int qnum)
|
|||
|
||||
extern TCGv hex_gpr[TOTAL_PER_THREAD_REGS];
|
||||
extern TCGv hex_pred[NUM_PREGS];
|
||||
extern TCGv hex_this_PC;
|
||||
extern TCGv hex_slot_cancelled;
|
||||
extern TCGv hex_branch_taken;
|
||||
extern TCGv hex_new_value_usr;
|
||||
extern TCGv hex_reg_written[TOTAL_PER_THREAD_REGS];
|
||||
extern TCGv hex_store_addr[STORES_MAX];
|
||||
extern TCGv hex_store_width[STORES_MAX];
|
||||
extern TCGv hex_store_val32[STORES_MAX];
|
||||
extern TCGv_i64 hex_store_val64[STORES_MAX];
|
||||
extern TCGv hex_dczero_addr;
|
||||
extern TCGv hex_llsc_addr;
|
||||
extern TCGv hex_llsc_val;
|
||||
extern TCGv_i64 hex_llsc_val_i64;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue