From d1eec4e22e865d0f0f01236a2e5a91a36b90e792 Mon Sep 17 00:00:00 2001 From: Sebastian Hack Date: Wed, 1 Mar 2006 10:25:04 +0000 Subject: [PATCH] Added mem dependency for IncSP --- ir/be/benode.c | 5 +++-- ir/be/benode_t.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ir/be/benode.c b/ir/be/benode.c index 38ddf017d..7a7bc3ae7 100644 --- a/ir/be/benode.c +++ b/ir/be/benode.c @@ -308,14 +308,15 @@ ir_node *be_new_Return(ir_graph *irg, ir_node *bl, int n, ir_node *in[]) return irn; } -ir_node *be_new_IncSP(const arch_register_t *sp, ir_graph *irg, ir_node *bl, ir_node *old_sp, unsigned offset, be_stack_dir_t dir) +ir_node *be_new_IncSP(const arch_register_t *sp, ir_graph *irg, ir_node *bl, ir_node *old_sp, ir_node *mem, unsigned offset, be_stack_dir_t dir) { be_stack_attr_t *a; ir_node *irn; ir_node *in[1]; in[0] = old_sp; - irn = new_ir_node(NULL, irg, bl, op_IncSP, sp->reg_class->mode, 1, in); + in[1] = mem; + irn = new_ir_node(NULL, irg, bl, op_IncSP, sp->reg_class->mode, 2, in); a = init_node_attr(irn, sp->reg_class, irg, 1); a->dir = dir; a->offset = offset; diff --git a/ir/be/benode_t.h b/ir/be/benode_t.h index 1651e074e..1dee3b866 100644 --- a/ir/be/benode_t.h +++ b/ir/be/benode_t.h @@ -70,7 +70,7 @@ ir_node *be_new_AddSP(const arch_register_t *sp, ir_graph *irg, ir_node *bl, ir_ * @return A new stack pointer increment/decrement node. * @note This node sets a register constraint to the @p sp register on its output. */ -ir_node *be_new_IncSP(const arch_register_t *sp, ir_graph *irg, ir_node *bl, ir_node *old_sp, unsigned amount, be_stack_dir_t dir); +ir_node *be_new_IncSP(const arch_register_t *sp, ir_graph *irg, ir_node *bl, ir_node *old_sp, ir_node *mem, unsigned amount, be_stack_dir_t dir); void be_set_IncSP_offset(ir_node *irn, unsigned offset); unsigned be_get_IncSP_offset(ir_node *irn); -- 2.20.1