+ pset_insert_ptr(remat_args, remat_arg);
+ }
+ }
+
+ /* remat + \sum live_range(remat_arg) <= |args| */
+ ir_snprintf(buf, sizeof(buf), "one_must_die_%+F", tmp);
+ cst = lpp_add_cst(si->lpp, buf, lpp_less, pset_count(remat_args));
+ lpp_set_factor_fast(si->lpp, cst, remat_op->attr.remat.ilp, 1.0);
+
+ pset_foreach(remat_args, remat_arg) {
+ op_t *arg_op = get_irn_link(remat_arg);
+
+ lpp_set_factor_fast(si->lpp, cst, arg_op->attr.live_range.ilp, 1.0);
+ }
+
+skip_one_must_die:
+ del_pset(remat_args);
+ }