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:
parent
7fa53b443a
commit
504c0e4f17
@ -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.
|
||||
|
19
gcc/testsuite/gcc.c-torture/compile/20040817-1.c
Normal file
19
gcc/testsuite/gcc.c-torture/compile/20040817-1.c
Normal 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);
|
||||
}
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user