From 74e36002f21db2c7be0d5bd1e1a2407ae5955960 Mon Sep 17 00:00:00 2001 From: Sebastian Hack Date: Thu, 16 Mar 2006 15:36:44 +0000 Subject: [PATCH] Added leaf function test --- ir/be/beabi.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ir/be/beabi.c b/ir/be/beabi.c index 0db1cb1f2..87bfeb59a 100644 --- a/ir/be/beabi.c +++ b/ir/be/beabi.c @@ -735,8 +735,11 @@ static int cmp_call_dependecy(const void *c1, const void *c2) static void link_calls_in_block_walker(ir_node *irn, void *data) { if(is_Call(irn)) { - ir_node *bl = get_nodes_block(irn); - void *save = get_irn_link(bl); + be_abi_irg_t *env = data; + ir_node *bl = get_nodes_block(irn); + void *save = get_irn_link(bl); + + env->call->flags.bits.irg_is_leaf = 0; set_irn_link(irn, save); set_irn_link(bl, irn); @@ -801,7 +804,8 @@ static void process_calls(be_abi_irg_t *env) { ir_graph *irg = env->birg->irg; - irg_walk_graph(irg, firm_clear_link, link_calls_in_block_walker, NULL); + env->call->flags.bits.irg_is_leaf = 1; + irg_walk_graph(irg, firm_clear_link, link_calls_in_block_walker, env); irg_block_walk_graph(irg, NULL, process_calls_in_block, env); } -- 2.20.1