X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbetranshlp.c;h=42c4666856518ca9c5312a4d3594e129f1ac9b1a;hb=7a6efcac0fd46869f31d992d022dd909db4b4c29;hp=ad89c0f297acdde704c4bb2b36cf6c9915610a71;hpb=a459f39c222d06807fecf7603bf95287186d0ca5;p=libfirm diff --git a/ir/be/betranshlp.c b/ir/be/betranshlp.c index ad89c0f29..42c466685 100644 --- a/ir/be/betranshlp.c +++ b/ir/be/betranshlp.c @@ -197,6 +197,10 @@ static void fix_loops(ir_node *node) { fix_loops(in); } + /* fix proj block */ + if(is_Proj(node)) { + set_nodes_block(node, get_nodes_block(get_Proj_pred(node))); + } arity = get_irn_deps(node); for (i = 0; i < arity; ++i) { @@ -219,6 +223,11 @@ ir_node *be_pre_transform_node(ir_node *place) { return be_transform_node(place); } +ir_node *be_get_old_anchor(int anchor) +{ + return get_irn_n(env.old_anchor, anchor); +} + static void pre_transform_anchor(int anchor) { ir_node *old_anchor_node = get_irn_n(env.old_anchor, anchor); @@ -411,6 +420,6 @@ void be_transform_graph(be_irg_t *birg, arch_pretrans_nodes *func, void *cg) if (birg->lv) { be_liveness_free(birg->lv); - birg->lv = be_liveness(birg->irg); + birg->lv = be_liveness(birg); } }