mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
6be7b6686f
commit
6bdfdb96ee
|
@ -1,3 +1,10 @@
|
|||
2011-01-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/47265
|
||||
PR tree-optimization/47443
|
||||
* tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
|
||||
if name still has some uses.
|
||||
|
||||
2011-01-25 Martin Jambor <mjambor@suse.cz>
|
||||
|
||||
PR tree-optimization/47382
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2011-01-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/47265
|
||||
PR tree-optimization/47443
|
||||
* gcc.c-torture/compile/pr47265.c: New test.
|
||||
* gcc.dg/pr47443.c: New test.
|
||||
|
||||
2011-01-25 Martin Jambor <mjambor@suse.cz>
|
||||
|
||||
PR tree-optimization/47382
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
/* PR tree-optimization/47265 */
|
||||
|
||||
struct S
|
||||
{
|
||||
char a[3];
|
||||
char b[3];
|
||||
};
|
||||
|
||||
void
|
||||
bar (char *dst, const char *src, unsigned n)
|
||||
{
|
||||
while (n--)
|
||||
*dst++ = *src ? *src++ : ' ';
|
||||
}
|
||||
|
||||
void
|
||||
foo (struct S *s)
|
||||
{
|
||||
bar (s->a, s->b, 3);
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
/* PR tree-optimization/47443 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O -fstack-check=generic" } */
|
||||
|
||||
static inline bar (char *c, int i)
|
||||
{
|
||||
return c + i > c;
|
||||
}
|
||||
|
||||
int foo ()
|
||||
{
|
||||
char c[100];
|
||||
return (bar (c, 1));
|
||||
}
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue