X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Flower%2Flower_calls.c;h=f51ef6ae69971009e77ec5678d933e177fe53972;hb=25313dd42cf428b81b32ca83296ef3dfac9702b7;hp=578a56ecc04582e9c28ffffdd1576ab91c6aa491;hpb=6911c8a5253d79be26f5fcb668b7fb69f1998819;p=libfirm diff --git a/ir/lower/lower_calls.c b/ir/lower/lower_calls.c index 578a56ecc..f51ef6ae6 100644 --- a/ir/lower/lower_calls.c +++ b/ir/lower/lower_calls.c @@ -699,10 +699,6 @@ static void transform_irg(compound_call_lowering_flags flags, ir_graph *irg) /* much easier if we have only one return */ normalize_one_return(irg); - /* This graph has a compound argument. Create a new type */ - lowered_mtp = lower_mtp(flags, mtp); - set_entity_type(ent, lowered_mtp); - /* hidden arguments are added first */ env.arg_shift = n_ret_com; } else { @@ -710,6 +706,10 @@ static void transform_irg(compound_call_lowering_flags flags, ir_graph *irg) env.arg_shift = 0; lowered_mtp = NULL; } + + lowered_mtp = lower_mtp(flags, mtp); + set_entity_type(ent, lowered_mtp); + obstack_init(&env.obst); env.cl_list = NULL; env.flags = flags;