X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Firloop.c;h=6ef5061f940fd1e95db28f0b8c9a6d3f55564465;hb=dd4cd761ab637d4488c7e29f49843b1b02366acf;hp=f1774a4fcfe60596b995ab3445734472fce860db;hpb=097df59b4c98c50ad57e39c77b46638adfc55bb4;p=libfirm diff --git a/ir/ana/irloop.c b/ir/ana/irloop.c index f1774a4fc..6ef5061f9 100644 --- a/ir/ana/irloop.c +++ b/ir/ana/irloop.c @@ -45,13 +45,21 @@ void add_loop_son(ir_loop *loop, ir_loop *son) { lson.son = son; ARR_APP1(loop_element, loop->children, lson); ++loop->n_sons; + loop->flags |= loop_outer_loop; } void add_loop_node(ir_loop *loop, ir_node *n) { loop_element ln; ln.node = n; assert(loop && loop->kind == k_ir_loop); - assert(get_kind(n) == k_ir_node || get_kind(n) == k_ir_graph); /* used in callgraph.c */ + ARR_APP1(loop_element, loop->children, ln); + loop->n_nodes++; +} + +void add_loop_irg(ir_loop *loop, ir_graph *irg) { + loop_element ln; + ln.irg = irg; + assert(loop && loop->kind == k_ir_loop); ARR_APP1(loop_element, loop->children, ln); loop->n_nodes++; }