tcg: Remove TCG_TARGET_STACK_GROWSUP
The hppa host code has been removed since 2013; this
should have been deleted at the same time.
Fixes: 802b508123
("tcg-hppa: Remove tcg backend")
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
1c1824dca4
commit
8d21de51b9
@ -16,7 +16,6 @@
|
||||
#define TCG_TARGET_INSN_UNIT_SIZE 4
|
||||
#define TCG_TARGET_TLB_DISPLACEMENT_BITS 24
|
||||
#define MAX_CODE_GEN_BUFFER_SIZE (2 * GiB)
|
||||
#undef TCG_TARGET_STACK_GROWSUP
|
||||
|
||||
typedef enum {
|
||||
TCG_REG_X0, TCG_REG_X1, TCG_REG_X2, TCG_REG_X3,
|
||||
|
@ -30,7 +30,6 @@ extern int arm_arch;
|
||||
|
||||
#define use_armv7_instructions (__ARM_ARCH >= 7 || arm_arch >= 7)
|
||||
|
||||
#undef TCG_TARGET_STACK_GROWSUP
|
||||
#define TCG_TARGET_INSN_UNIT_SIZE 4
|
||||
#define TCG_TARGET_TLB_DISPLACEMENT_BITS 16
|
||||
#define MAX_CODE_GEN_BUFFER_SIZE UINT32_MAX
|
||||
|
32
tcg/tcg.c
32
tcg/tcg.c
@ -1552,25 +1552,8 @@ void tcg_gen_callN(void *func, TCGTemp *ret, int nargs, TCGTemp **args)
|
||||
}
|
||||
|
||||
if (TCG_TARGET_REG_BITS < 64 && is_64bit) {
|
||||
/*
|
||||
* If stack grows up, then we will be placing successive
|
||||
* arguments at lower addresses, which means we need to
|
||||
* reverse the order compared to how we would normally
|
||||
* treat either big or little-endian. For those arguments
|
||||
* that will wind up in registers, this still works for
|
||||
* HPPA (the only current STACK_GROWSUP target) since the
|
||||
* argument registers are *also* allocated in decreasing
|
||||
* order. If another such target is added, this logic may
|
||||
* have to get more complicated to differentiate between
|
||||
* stack arguments and register arguments.
|
||||
*/
|
||||
#if HOST_BIG_ENDIAN != defined(TCG_TARGET_STACK_GROWSUP)
|
||||
op->args[pi++] = temp_arg(args[i] + 1);
|
||||
op->args[pi++] = temp_arg(args[i]);
|
||||
#else
|
||||
op->args[pi++] = temp_arg(args[i]);
|
||||
op->args[pi++] = temp_arg(args[i] + 1);
|
||||
#endif
|
||||
op->args[pi++] = temp_arg(args[i] + HOST_BIG_ENDIAN);
|
||||
op->args[pi++] = temp_arg(args[i] + !HOST_BIG_ENDIAN);
|
||||
real_args += 2;
|
||||
continue;
|
||||
}
|
||||
@ -3854,12 +3837,6 @@ static bool tcg_reg_alloc_dup2(TCGContext *s, const TCGOp *op)
|
||||
return true;
|
||||
}
|
||||
|
||||
#ifdef TCG_TARGET_STACK_GROWSUP
|
||||
#define STACK_DIR(x) (-(x))
|
||||
#else
|
||||
#define STACK_DIR(x) (x)
|
||||
#endif
|
||||
|
||||
static void tcg_reg_alloc_call(TCGContext *s, TCGOp *op)
|
||||
{
|
||||
const int nb_oargs = TCGOP_CALLO(op);
|
||||
@ -3899,18 +3876,13 @@ static void tcg_reg_alloc_call(TCGContext *s, TCGOp *op)
|
||||
stack_offset = TCG_TARGET_CALL_STACK_OFFSET;
|
||||
for (i = nb_regs; i < nb_iargs; i++) {
|
||||
arg = op->args[nb_oargs + i];
|
||||
#ifdef TCG_TARGET_STACK_GROWSUP
|
||||
stack_offset -= sizeof(tcg_target_long);
|
||||
#endif
|
||||
if (arg != TCG_CALL_DUMMY_ARG) {
|
||||
ts = arg_temp(arg);
|
||||
temp_load(s, ts, tcg_target_available_regs[ts->type],
|
||||
s->reserved_regs, 0);
|
||||
tcg_out_st(s, ts->type, ts->reg, TCG_REG_CALL_STACK, stack_offset);
|
||||
}
|
||||
#ifndef TCG_TARGET_STACK_GROWSUP
|
||||
stack_offset += sizeof(tcg_target_long);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* assign input registers */
|
||||
|
Loading…
Reference in New Issue
Block a user