From d1a3dc4e8f0ed8fba7e60a519b8db42443e5fae6 Mon Sep 17 00:00:00 2001 From: Sebastian Hack Date: Wed, 9 Aug 2006 07:57:26 +0000 Subject: [PATCH] Fixed a bug --- ir/be/bespillremat.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ir/be/bespillremat.c b/ir/be/bespillremat.c index d9d309f34..49469cffe 100644 --- a/ir/be/bespillremat.c +++ b/ir/be/bespillremat.c @@ -2599,18 +2599,22 @@ luke_interferencewalker(ir_node * bb, void * data) ir_node *a = be_lv_get_irn(si->lv, bb, l1); op_t *a_op = get_irn_link(a); - if(a_op->is_remat) continue; /* a is only interesting if it is in my register class and if it is inside a phi class */ if (has_reg_class(si, a) && get_phi_class(a)) { + if(a_op->is_remat) + continue; + for(l2=_be_lv_next_irn(si->lv, bb, 0xff, l1+1); l2>=0; l2=_be_lv_next_irn(si->lv, bb, 0xff, l2+1)) { ir_node *b = be_lv_get_irn(si->lv, bb, l2); op_t *b_op = get_irn_link(b); - if(b_op->is_remat) continue; /* a and b are only interesting if they are in the same phi class */ if(has_reg_class(si, b) && get_phi_class(a) == get_phi_class(b)) { + if(b_op->is_remat) + continue; + if(values_interfere_in_block(si, bb, a, b)) { DBG((si->dbg, LEVEL_4, "\tvalues interfere in %+F: %+F, %+F\n", bb, a, b)); set_insert_interference(si, si->interferences, a, b, bb); @@ -4101,6 +4105,8 @@ be_spill_remat(const be_chordal_env_t * chordal_env) lpp_set_time_limit(si.lpp, ILP_TIMEOUT); #endif + lpp_set_log(si.lpp, stdout); + #ifdef SOLVE_LOCAL lpp_solve_cplex(si.lpp); #else -- 2.20.1