summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-operands.c
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 /gcc/tree-ssa-operands.c
parenta25454eae3fe9086b3fd4c17619bb90087577798 (diff)
downloadgcc-6d64f20c8d50ce563f7b709593ac1229f2146c61.tar.gz
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
Diffstat (limited to 'gcc/tree-ssa-operands.c')
-rw-r--r--gcc/tree-ssa-operands.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c
index d1d5a01cb58..2ff090ea935 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;
}