X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbespillremat.c;h=f293b8ed69646469844091f96bece79dd643a77a;hb=a4c23fb5fdcaf600f18b4fa7b7e104fa9b7dc514;hp=8717a9ba4bc5bde2ee92bde993cdea095f7e1681;hpb=1ce363f80e6a204d4011f85813362d9bd1d0e7e4;p=libfirm diff --git a/ir/be/bespillremat.c b/ir/be/bespillremat.c index 8717a9ba4..f293b8ed6 100644 --- a/ir/be/bespillremat.c +++ b/ir/be/bespillremat.c @@ -75,8 +75,8 @@ #include "bechordal_t.h" #include "bemodule.h" -#include -#include +#include "lc_opts.h" +#include "lc_opts_enum.h" #define DUMP_PROBLEM 1 #define DUMP_MPS 2 @@ -482,7 +482,7 @@ is_rematerializable(const spill_ilp_t * si, const ir_node * irn) for (n = get_irn_arity(irn)-1; n>=0 && remat; --n) { ir_node *op = get_irn_n(irn, n); - remat &= has_reg_class(si, op) || arch_irn_get_flags(arch_env, op) & arch_irn_flags_ignore || (get_irn_op(op) == op_NoMem); + remat &= has_reg_class(si, op) || arch_irn_get_flags(arch_env, op) & arch_irn_flags_ignore || is_NoMem(op); // if(!remat) // ir_fprintf(stderr, " Argument %d (%+F) of Node %+F has wrong regclass\n", i, op, irn); @@ -3247,6 +3247,9 @@ is_zero(double x) return fabs(x) < 0.00001; } +/** + * node attribute hook for changing colors + */ static int mark_remat_nodes_hook(FILE *F, ir_node *n, ir_node *l) { spill_ilp_t *si = get_irg_link(current_ir_graph); @@ -3601,7 +3604,7 @@ new_r_PhiM_nokeep(ir_graph * irg, ir_node *block, int arity, ir_node **in) assert( get_irn_arity(block) == arity ); res = new_ir_node(NULL, irg, block, op_Phi, mode_M, arity, in); - res->attr.phi_backedge = new_backedge_arr(irg->obst, arity); + res->attr.phi.u.backedge = new_backedge_arr(irg->obst, arity); return res; }