+#if 1
+ ilp_var_t delete;
+ assert(spill);
+
+ ir_snprintf(buf, sizeof(buf), "delete_%N", tmp);
+ delete = lpp_add_var_default(si->lpp, buf, lpp_binary, -1.0*get_cost(si, irn)*execution_frequency(si, bb), 0.0);
+
+ /* op may not be killed if its first live_range is 1 */
+ ir_snprintf(buf, sizeof(buf), "killorig-lr_%N", tmp);
+ cst = lpp_add_cst_uniq(si->lpp, buf, lpp_less, 1.0);
+ lpp_set_factor_fast(si->lpp, cst, delete, 1.0);
+ lpp_set_factor_fast(si->lpp, cst, tmp_op->attr.live_range.ilp, 1.0);
+
+ /* op may not be killed if it is spilled after the definition */
+ ir_snprintf(buf, sizeof(buf), "killorig-spill_%N", tmp);
+ cst = lpp_add_cst_uniq(si->lpp, buf, lpp_less, 1.0);
+ lpp_set_factor_fast(si->lpp, cst, delete, 1.0);
+ lpp_set_factor_fast(si->lpp, cst, spill->spill, 1.0);
+#else
+ ilp_var_t keep;