From 77af9a997130ccd4e9a954168619fffdef2fafa6 Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Wed, 15 Oct 2008 09:50:20 +0000 Subject: [PATCH] It is not sensible to query any other than the first output register requirement of a non-mode_T node. [r22895] --- ir/be/benode.c | 1 + ir/be/ia32/ia32_transform.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ir/be/benode.c b/ir/be/benode.c index 75bd5f05c..37b0d7890 100644 --- a/ir/be/benode.c +++ b/ir/be/benode.c @@ -1106,6 +1106,7 @@ be_node_get_irn_reg_req(const ir_node *irn, int pos) if (get_irn_mode(irn) == mode_T) return arch_no_register_req; + assert(pos == -1); out_pos = redir_proj((const ir_node **)&irn); assert(is_be_node(irn)); return get_out_reg_req(irn, out_pos); diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index ca77451f0..de9c451c2 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -4380,7 +4380,7 @@ static ir_node *gen_Proj_be_Call(ir_node *node) } else if (proj == pn_be_Call_M_regular) { proj = pn_ia32_Call_M; } else { - arch_register_req_t const *const req = arch_get_register_req(node, BE_OUT_POS(proj)); + arch_register_req_t const *const req = arch_get_register_req(node, -1); int const n_outs = get_ia32_n_res(new_call); int i; -- 2.20.1