X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_x87.c;h=60e12285a42b6e2ab4d8c1754ce1eef11c0fd02f;hb=e86f1bc36650e0978d66ffb5fcd347a525840655;hp=4f856467ccc3b91e8c8b47e94e986a664be90339;hpb=86f2be56c753c7d2cec65513abe3d00c7f996bdd;p=libfirm diff --git a/ir/be/ia32/ia32_x87.c b/ir/be/ia32/ia32_x87.c index 4f856467c..60e12285a 100644 --- a/ir/be/ia32/ia32_x87.c +++ b/ir/be/ia32/ia32_x87.c @@ -44,7 +44,7 @@ #include "error.h" #include "../belive_t.h" -#include "../besched_t.h" +#include "../besched.h" #include "../benode_t.h" #include "bearch_ia32_t.h" #include "ia32_new_nodes.h" @@ -1267,9 +1267,8 @@ static int sim_store(x87_state *state, ir_node *n, ir_op *op, ir_op *op_p) set_ia32_am_sc(vfld, get_ia32_am_sc(n)); set_ia32_ls_mode(vfld, get_ia32_ls_mode(n)); - irg = get_irn_irg(n); - rproj = new_r_Proj(irg, block, vfld, get_ia32_ls_mode(vfld), pn_ia32_vfld_res); - mproj = new_r_Proj(irg, block, vfld, mode_M, pn_ia32_vfld_M); + rproj = new_r_Proj(block, vfld, get_ia32_ls_mode(vfld), pn_ia32_vfld_res); + mproj = new_r_Proj(block, vfld, mode_M, pn_ia32_vfld_M); mem = get_irn_Proj_for_mode(n, mode_M); assert(mem && "Store memory not found"); @@ -1277,6 +1276,7 @@ static int sim_store(x87_state *state, ir_node *n, ir_op *op, ir_op *op_p) arch_set_irn_register(rproj, op2); /* reroute all former users of the store memory to the load memory */ + irg = get_irn_irg(n); edges_reroute(mem, mproj, irg); /* set the memory input of the load to the store memory */ set_irn_n(vfld, n_ia32_vfld_mem, mem); @@ -1734,12 +1734,11 @@ static int sim_Keep(x87_state *state, ir_node *node) */ static void keep_float_node_alive(ir_node *node) { - ir_graph *irg = get_irn_irg(node); ir_node *block = get_nodes_block(node); const arch_register_class_t *cls = arch_get_irn_reg_class_out(node); ir_node *keep; - keep = be_new_Keep(cls, irg, block, 1, &node); + keep = be_new_Keep(cls, block, 1, &node); assert(sched_is_scheduled(node)); sched_add_after(node, keep);