aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernd.schmidt@analog.com>2007-02-26 23:42:43 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2007-02-26 23:42:43 +0000
commit48982394521bb1a742a11aa5c17a25a9acd96639 (patch)
tree7636997570cf6019dfd91081e030f78ab95d8482 /gcc
parent31cd73eb52094b0ce9f56a349cec9d2db26fc1b6 (diff)
downloadgcc-48982394521bb1a742a11aa5c17a25a9acd96639.zip
gcc-48982394521bb1a742a11aa5c17a25a9acd96639.tar.gz
gcc-48982394521bb1a742a11aa5c17a25a9acd96639.tar.bz2
loop-iv.c (simplify_using_initial_values): Fix oversight in previous change; avoid a memory leak when returning early.
* loop-iv.c (simplify_using_initial_values): Fix oversight in previous change; avoid a memory leak when returning early. From-SVN: r122346
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/loop-iv.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8388cef..dc22856 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-02-27 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * loop-iv.c (simplify_using_initial_values): Fix oversight in previous
+ change; avoid a memory leak when returning early.
+
2007-02-26 Mark Mitchell <mark@codesourcery.com>
* c-decl.c (static_ctors): Move to c-common.c.
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index 21005d3..00c8294 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -1812,7 +1812,10 @@ simplify_using_initial_values (struct loop *loop, enum rtx_code op, rtx *expr)
return;
}
if (for_each_rtx (expr, altered_reg_used, altered))
- return;
+ {
+ FREE_REG_SET (altered);
+ return;
+ }
}
if (!single_pred_p (e->src)