tcg: Rename TEMP_LOCAL to TEMP_TB
Use TEMP_TB as that is more explicit about the default lifetime of the data. While "global" and "local" used to be contrasting, we have more lifetimes than that now. Do not yet rename tcg_temp_local_new_*, just the enum. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
4d89d0bb8f
commit
f57c69156c
|
@ -433,11 +433,15 @@ typedef enum TCGTempVal {
|
||||||
typedef enum TCGTempKind {
|
typedef enum TCGTempKind {
|
||||||
/* Temp is dead at the end of all basic blocks. */
|
/* Temp is dead at the end of all basic blocks. */
|
||||||
TEMP_NORMAL,
|
TEMP_NORMAL,
|
||||||
/* Temp is live across conditional branch, but dead otherwise. */
|
/*
|
||||||
|
* Temp is dead at the end of the extended basic block (EBB),
|
||||||
|
* the single-entry multiple-exit region that falls through
|
||||||
|
* conditional branches.
|
||||||
|
*/
|
||||||
TEMP_EBB,
|
TEMP_EBB,
|
||||||
/* Temp is saved across basic blocks but dead at the end of TBs. */
|
/* Temp is live across the entire translation block, but dead at end. */
|
||||||
TEMP_LOCAL,
|
TEMP_TB,
|
||||||
/* Temp is saved across both basic blocks and translation blocks. */
|
/* Temp is live across the entire translation block, and between them. */
|
||||||
TEMP_GLOBAL,
|
TEMP_GLOBAL,
|
||||||
/* Temp is in a fixed register. */
|
/* Temp is in a fixed register. */
|
||||||
TEMP_FIXED,
|
TEMP_FIXED,
|
||||||
|
|
|
@ -190,7 +190,7 @@ static TCGTemp *find_better_copy(TCGContext *s, TCGTemp *ts)
|
||||||
} else if (i->kind > ts->kind) {
|
} else if (i->kind > ts->kind) {
|
||||||
if (i->kind == TEMP_GLOBAL) {
|
if (i->kind == TEMP_GLOBAL) {
|
||||||
g = i;
|
g = i;
|
||||||
} else if (i->kind == TEMP_LOCAL) {
|
} else if (i->kind == TEMP_TB) {
|
||||||
l = i;
|
l = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
18
tcg/tcg.c
18
tcg/tcg.c
|
@ -1257,7 +1257,7 @@ TCGTemp *tcg_global_mem_new_internal(TCGType type, TCGv_ptr base,
|
||||||
TCGTemp *tcg_temp_new_internal(TCGType type, bool temp_local)
|
TCGTemp *tcg_temp_new_internal(TCGType type, bool temp_local)
|
||||||
{
|
{
|
||||||
TCGContext *s = tcg_ctx;
|
TCGContext *s = tcg_ctx;
|
||||||
TCGTempKind kind = temp_local ? TEMP_LOCAL : TEMP_NORMAL;
|
TCGTempKind kind = temp_local ? TEMP_TB : TEMP_NORMAL;
|
||||||
TCGTemp *ts;
|
TCGTemp *ts;
|
||||||
int idx, k;
|
int idx, k;
|
||||||
|
|
||||||
|
@ -1368,7 +1368,7 @@ void tcg_temp_free_internal(TCGTemp *ts)
|
||||||
*/
|
*/
|
||||||
return;
|
return;
|
||||||
case TEMP_NORMAL:
|
case TEMP_NORMAL:
|
||||||
case TEMP_LOCAL:
|
case TEMP_TB:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
g_assert_not_reached();
|
g_assert_not_reached();
|
||||||
|
@ -1914,7 +1914,7 @@ static void tcg_reg_alloc_start(TCGContext *s)
|
||||||
case TEMP_EBB:
|
case TEMP_EBB:
|
||||||
val = TEMP_VAL_DEAD;
|
val = TEMP_VAL_DEAD;
|
||||||
/* fall through */
|
/* fall through */
|
||||||
case TEMP_LOCAL:
|
case TEMP_TB:
|
||||||
ts->mem_allocated = 0;
|
ts->mem_allocated = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1936,7 +1936,7 @@ static char *tcg_get_arg_str_ptr(TCGContext *s, char *buf, int buf_size,
|
||||||
case TEMP_GLOBAL:
|
case TEMP_GLOBAL:
|
||||||
pstrcpy(buf, buf_size, ts->name);
|
pstrcpy(buf, buf_size, ts->name);
|
||||||
break;
|
break;
|
||||||
case TEMP_LOCAL:
|
case TEMP_TB:
|
||||||
snprintf(buf, buf_size, "loc%d", idx - s->nb_globals);
|
snprintf(buf, buf_size, "loc%d", idx - s->nb_globals);
|
||||||
break;
|
break;
|
||||||
case TEMP_EBB:
|
case TEMP_EBB:
|
||||||
|
@ -2758,7 +2758,7 @@ static void la_bb_end(TCGContext *s, int ng, int nt)
|
||||||
switch (ts->kind) {
|
switch (ts->kind) {
|
||||||
case TEMP_FIXED:
|
case TEMP_FIXED:
|
||||||
case TEMP_GLOBAL:
|
case TEMP_GLOBAL:
|
||||||
case TEMP_LOCAL:
|
case TEMP_TB:
|
||||||
state = TS_DEAD | TS_MEM;
|
state = TS_DEAD | TS_MEM;
|
||||||
break;
|
break;
|
||||||
case TEMP_NORMAL:
|
case TEMP_NORMAL:
|
||||||
|
@ -2803,7 +2803,7 @@ static void la_bb_sync(TCGContext *s, int ng, int nt)
|
||||||
int state;
|
int state;
|
||||||
|
|
||||||
switch (ts->kind) {
|
switch (ts->kind) {
|
||||||
case TEMP_LOCAL:
|
case TEMP_TB:
|
||||||
state = ts->state;
|
state = ts->state;
|
||||||
ts->state = state | TS_MEM;
|
ts->state = state | TS_MEM;
|
||||||
if (state != TS_DEAD) {
|
if (state != TS_DEAD) {
|
||||||
|
@ -3496,7 +3496,7 @@ static void temp_free_or_dead(TCGContext *s, TCGTemp *ts, int free_or_dead)
|
||||||
case TEMP_FIXED:
|
case TEMP_FIXED:
|
||||||
return;
|
return;
|
||||||
case TEMP_GLOBAL:
|
case TEMP_GLOBAL:
|
||||||
case TEMP_LOCAL:
|
case TEMP_TB:
|
||||||
new_type = TEMP_VAL_MEM;
|
new_type = TEMP_VAL_MEM;
|
||||||
break;
|
break;
|
||||||
case TEMP_NORMAL:
|
case TEMP_NORMAL:
|
||||||
|
@ -3784,7 +3784,7 @@ static void tcg_reg_alloc_bb_end(TCGContext *s, TCGRegSet allocated_regs)
|
||||||
TCGTemp *ts = &s->temps[i];
|
TCGTemp *ts = &s->temps[i];
|
||||||
|
|
||||||
switch (ts->kind) {
|
switch (ts->kind) {
|
||||||
case TEMP_LOCAL:
|
case TEMP_TB:
|
||||||
temp_save(s, ts, allocated_regs);
|
temp_save(s, ts, allocated_regs);
|
||||||
break;
|
break;
|
||||||
case TEMP_NORMAL:
|
case TEMP_NORMAL:
|
||||||
|
@ -3821,7 +3821,7 @@ static void tcg_reg_alloc_cbranch(TCGContext *s, TCGRegSet allocated_regs)
|
||||||
* Keep tcg_debug_asserts for safety.
|
* Keep tcg_debug_asserts for safety.
|
||||||
*/
|
*/
|
||||||
switch (ts->kind) {
|
switch (ts->kind) {
|
||||||
case TEMP_LOCAL:
|
case TEMP_TB:
|
||||||
tcg_debug_assert(ts->val_type != TEMP_VAL_REG || ts->mem_coherent);
|
tcg_debug_assert(ts->val_type != TEMP_VAL_REG || ts->mem_coherent);
|
||||||
break;
|
break;
|
||||||
case TEMP_NORMAL:
|
case TEMP_NORMAL:
|
||||||
|
|
Loading…
Reference in New Issue