Commit b6638662 authored by Richard Henderson's avatar Richard Henderson
Browse files

tcg: More use of TCGReg where appropriate

parent c8074023
Loading
Loading
Loading
Loading
+15 −11
Original line number Diff line number Diff line
@@ -448,7 +448,7 @@ static inline TCGTemp *tcg_global_alloc(TCGContext *s)
}

static int tcg_global_reg_new_internal(TCGContext *s, TCGType type,
                                       int reg, const char *name)
                                       TCGReg reg, const char *name)
{
    TCGTemp *ts;

@@ -467,7 +467,7 @@ static int tcg_global_reg_new_internal(TCGContext *s, TCGType type,
    return temp_idx(s, ts);
}

void tcg_set_frame(TCGContext *s, int reg, intptr_t start, intptr_t size)
void tcg_set_frame(TCGContext *s, TCGReg reg, intptr_t start, intptr_t size)
{
    int idx;
    s->frame_start = start;
@@ -476,7 +476,7 @@ void tcg_set_frame(TCGContext *s, int reg, intptr_t start, intptr_t size)
    s->frame_temp = &s->temps[idx];
}

TCGv_i32 tcg_global_reg_new_i32(int reg, const char *name)
TCGv_i32 tcg_global_reg_new_i32(TCGReg reg, const char *name)
{
    TCGContext *s = &tcg_ctx;
    int idx;
@@ -488,7 +488,7 @@ TCGv_i32 tcg_global_reg_new_i32(int reg, const char *name)
    return MAKE_TCGV_I32(idx);
}

TCGv_i64 tcg_global_reg_new_i64(int reg, const char *name)
TCGv_i64 tcg_global_reg_new_i64(TCGReg reg, const char *name)
{
    TCGContext *s = &tcg_ctx;
    int idx;
@@ -1609,7 +1609,8 @@ static void dump_regs(TCGContext *s)

static void check_regs(TCGContext *s)
{
    int reg, k;
    TCGReg reg;
    int k;
    TCGTemp *ts;
    char buf[64];

@@ -1662,7 +1663,7 @@ static void temp_allocate_frame(TCGContext *s, int temp)
}

/* sync register 'reg' by saving it to the corresponding temporary */
static inline void tcg_reg_sync(TCGContext *s, int reg)
static inline void tcg_reg_sync(TCGContext *s, TCGReg reg)
{
    TCGTemp *ts;
    int temp;
@@ -1680,7 +1681,7 @@ static inline void tcg_reg_sync(TCGContext *s, int reg)
}

/* free register 'reg' by spilling the corresponding temporary if necessary */
static void tcg_reg_free(TCGContext *s, int reg)
static void tcg_reg_free(TCGContext *s, TCGReg reg)
{
    int temp;

@@ -1693,9 +1694,10 @@ static void tcg_reg_free(TCGContext *s, int reg)
}

/* Allocate a register belonging to reg1 & ~reg2 */
static int tcg_reg_alloc(TCGContext *s, TCGRegSet reg1, TCGRegSet reg2)
static TCGReg tcg_reg_alloc(TCGContext *s, TCGRegSet reg1, TCGRegSet reg2)
{
    int i, reg;
    int i;
    TCGReg reg;
    TCGRegSet reg_ct;

    tcg_regset_andnot(reg_ct, reg1, reg2);
@@ -1960,7 +1962,8 @@ static void tcg_reg_alloc_op(TCGContext *s,
                             uint8_t sync_args)
{
    TCGRegSet allocated_regs;
    int i, k, nb_iargs, nb_oargs, reg;
    int i, k, nb_iargs, nb_oargs;
    TCGReg reg;
    TCGArg arg;
    const TCGArgConstraint *arg_ct;
    TCGTemp *ts;
@@ -2136,7 +2139,8 @@ static void tcg_reg_alloc_call(TCGContext *s, int nb_oargs, int nb_iargs,
                               const TCGArg * const args, uint16_t dead_args,
                               uint8_t sync_args)
{
    int flags, nb_regs, i, reg;
    int flags, nb_regs, i;
    TCGReg reg;
    TCGArg arg;
    TCGTemp *ts;
    intptr_t stack_offset;
+4 −4
Original line number Diff line number Diff line
@@ -448,7 +448,7 @@ typedef enum TCGTempVal {
} TCGTempVal;

typedef struct TCGTemp {
    unsigned int reg:8;
    TCGReg reg:8;
    TCGTempVal val_type:8;
    TCGType base_type:8;
    TCGType type:8;
@@ -628,12 +628,12 @@ void tcg_func_start(TCGContext *s);

int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf);

void tcg_set_frame(TCGContext *s, int reg, intptr_t start, intptr_t size);
void tcg_set_frame(TCGContext *s, TCGReg reg, intptr_t start, intptr_t size);

int tcg_global_mem_new_internal(TCGType, TCGv_ptr, intptr_t, const char *);

TCGv_i32 tcg_global_reg_new_i32(int reg, const char *name);
TCGv_i64 tcg_global_reg_new_i64(int reg, const char *name);
TCGv_i32 tcg_global_reg_new_i32(TCGReg reg, const char *name);
TCGv_i64 tcg_global_reg_new_i64(TCGReg reg, const char *name);

TCGv_i32 tcg_temp_new_internal_i32(int temp_local);
TCGv_i64 tcg_temp_new_internal_i64(int temp_local);