aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-11-10 15:46:23 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-11-10 15:46:23 +0000
commit6d64f20c8d50ce563f7b709593ac1229f2146c61 (patch)
treee5e8922a55420e20ad7fe0d8bdc04071f2269bac
parenta25454eae3fe9086b3fd4c17619bb90087577798 (diff)
downloadgcc-6d64f20c8d50ce563f7b709593ac1229f2146c61.zip
gcc-6d64f20c8d50ce563f7b709593ac1229f2146c61.tar.gz
gcc-6d64f20c8d50ce563f7b709593ac1229f2146c61.tar.bz2
tree-ssa-operands.c (finalize_ssa_uses): Properly put released operands on the free list.
2014-11-10 Richard Biener <rguenther@suse.de> * tree-ssa-operands.c (finalize_ssa_uses): Properly put released operands on the free list. From-SVN: r217291
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-operands.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 784c57a..c49af15 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2014-11-10 Richard Biener <rguenther@suse.de>
+ * tree-ssa-operands.c (finalize_ssa_uses): Properly put
+ released operands on the free list.
+
+2014-11-10 Richard Biener <rguenther@suse.de>
+
* match.pd: Implement pattern from simplify_mult.
* tree-ssa-forwprop.c (simplify_mult): Remove.
(pass_forwprop::execute): Do not call simplify_mult.
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c
index d1d5a01..2ff090e 100644
--- a/gcc/tree-ssa-operands.c
+++ b/gcc/tree-ssa-operands.c
@@ -409,9 +409,10 @@ finalize_ssa_uses (struct function *fn, gimple stmt)
/* If there is anything in the old list, free it. */
if (old_ops)
{
- for (ptr = old_ops; ptr; ptr = ptr->next)
+ for (ptr = old_ops; ptr->next; ptr = ptr->next)
delink_imm_use (USE_OP_PTR (ptr));
- old_ops->next = gimple_ssa_operands (fn)->free_uses;
+ delink_imm_use (USE_OP_PTR (ptr));
+ ptr->next = gimple_ssa_operands (fn)->free_uses;
gimple_ssa_operands (fn)->free_uses = old_ops;
}