X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_finish.c;h=fab1312af5f7aad4b1ceebe1d5774b5df6ea421a;hb=3f807bf48426a29da4129ff29c44a4b4690c45f6;hp=1d843f6a27e5dccf9cd6180fd65c1eec4eb883ae;hpb=2d9776010c3f48b99e88e4199f201ba8531dbde8;p=libfirm diff --git a/ir/be/ia32/ia32_finish.c b/ir/be/ia32/ia32_finish.c index 1d843f6a2..fab1312af 100644 --- a/ir/be/ia32/ia32_finish.c +++ b/ir/be/ia32/ia32_finish.c @@ -44,6 +44,7 @@ #include "ia32_finish.h" #include "ia32_new_nodes.h" #include "ia32_map_regs.h" +#include "ia32_common_transform.h" #include "ia32_transform.h" #include "ia32_dbg_stat.h" #include "ia32_optimize.h" @@ -404,8 +405,8 @@ static void fix_am_source(ir_node *irn, void *env) { if (get_ia32_am_arity(irn) != ia32_am_binary) return; - base = get_irn_n(irn, 0); - index = get_irn_n(irn, 1); + base = get_irn_n(irn, n_ia32_base); + index = get_irn_n(irn, n_ia32_index); reg_base = arch_get_irn_register(arch_env, base); reg_index = arch_get_irn_register(arch_env, index); @@ -481,9 +482,9 @@ static void fix_am_source(ir_node *irn, void *env) { foreach_out_edge_safe(irn, edge, next) { ir_node *node = get_edge_src_irn(edge); int pn = get_Proj_proj(node); - if(pn == 0) { + if (pn == pn_ia32_res) { exchange(node, irn); - } else if(pn == pn_ia32_mem) { + } else if (pn == pn_ia32_mem) { set_Proj_pred(node, load); set_Proj_proj(node, pnmem); }