From d646efd5d7a3f60e98d02c6bd23b9ee7c06e9d89 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 23 Jul 2009 18:51:26 +0200 Subject: [PATCH] isl_tab.c: mark_redundant: only mark variable nonneg if they weren't already More imporantly, don't undo such a mark during rollback. --- isl_tab.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isl_tab.c b/isl_tab.c index 3f6d5d13..cdc173a0 100644 --- a/isl_tab.c +++ b/isl_tab.c @@ -354,7 +354,7 @@ static int mark_redundant(struct isl_tab *tab, int row) var->is_redundant = 1; isl_assert(tab->mat->ctx, row >= tab->n_redundant, return); if (tab->need_undo || tab->row_var[row] >= 0) { - if (tab->row_var[row] >= 0) { + if (tab->row_var[row] >= 0 && !var->is_nonneg) { var->is_nonneg = 1; push(tab, isl_tab_undo_nonneg, var); } -- 2.11.4.GIT