re PR tree-optimization/17051 (ICE: internal compiler error: verify_ssa failed.for SSA_NAME: l_addr<D8610>_650)

PR 17051
        * tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.

From-SVN: r86158
This commit is contained in:
Richard Henderson 2004-08-17 16:33:46 -07:00 committed by Richard Henderson
parent 7fa53b443a
commit 504c0e4f17
3 changed files with 26 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2004-08-17 Richard Henderson <rth@redhat.com>
PR 17051
* tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
2004-08-17 DJ Delorie <dj@redhat.com>
* doc/extend.texi: Document new xstormy16 attribute.

View File

@ -0,0 +1,19 @@
/* PR 17051: SRA failed to rename the VOPS properly. */
struct A
{
char c, d;
};
void foo(struct A *p)
{
struct A a = *p;
if (p->c)
bar1(a);
else
{
if (p) bar2(a,a.c);
bar3(a.c);
}
}

View File

@ -1780,11 +1780,9 @@ scalarize_use (struct sra_elt *elt, tree *expr_p, block_stmt_iterator *bsi,
generate_copy_inout (elt, is_output, generate_element_ref (elt), &list);
if (list == NULL)
return;
mark_all_v_defs (expr_first (list));
if (is_output)
{
mark_all_v_defs (expr_first (list));
sra_insert_after (bsi, list);
}
sra_insert_after (bsi, list);
else
sra_insert_before (bsi, list);
}