aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-forwprop.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-01-25 20:50:56 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2011-01-25 20:50:56 +0100
commit6bdfdb96eeec5da99a6aa4ca592af1d6b9cef237 (patch)
treec3bf33476cd79def86c5357582c9dcc5d72f16bb /gcc/tree-ssa-forwprop.c
parent6be7b6686fa5ad8be50dd578a05dfd0f6d478353 (diff)
downloadgcc-6bdfdb96eeec5da99a6aa4ca592af1d6b9cef237.zip
gcc-6bdfdb96eeec5da99a6aa4ca592af1d6b9cef237.tar.gz
gcc-6bdfdb96eeec5da99a6aa4ca592af1d6b9cef237.tar.bz2
re PR tree-optimization/47265 (Error: SSA name in freelist but still referenced)
PR tree-optimization/47265 PR tree-optimization/47443 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false if name still has some uses. * gcc.c-torture/compile/pr47265.c: New test. * gcc.dg/pr47443.c: New test. From-SVN: r169250
Diffstat (limited to 'gcc/tree-ssa-forwprop.c')
-rw-r--r--gcc/tree-ssa-forwprop.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index 64c8e88..ee12e40 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -1,5 +1,5 @@
/* Forward propagation of expressions for single use variables.
- Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
@@ -1114,7 +1114,7 @@ forward_propagate_addr_expr (tree name, tree rhs)
}
}
- return all;
+ return all && has_zero_uses (name);
}
/* Forward propagate the comparison defined in STMT like