summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-operands.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-10 15:46:23 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-10 15:46:23 +0000
commit05d5a6da74f67ca19d687dcb96bc08f03cba78e4 (patch)
treee5e8922a55420e20ad7fe0d8bdc04071f2269bac /gcc/tree-ssa-operands.c
parent6f5ffe814333e99bcba2ff2e23c391ad177b672c (diff)
downloadgcc-05d5a6da74f67ca19d687dcb96bc08f03cba78e4.tar.gz
2014-11-10 Richard Biener <rguenther@suse.de>
* tree-ssa-operands.c (finalize_ssa_uses): Properly put released operands on the free list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217291 138bc75d-0d04-0410-961f-82ee72b054a4
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;
}