re PR rtl-optimization/55270 (ICE in get_loop_body, at cfgloop.c:823)
2013-01-29 Richard Biener <rguenther@suse.de> PR tree-optimization/55270 * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed the CFG, schedule loops for fixup. * gcc.dg/torture/pr55270.c: New testcase. From-SVN: r195533
This commit is contained in:
parent
5893f1589a
commit
83ba4d6f2b
@ -1,3 +1,9 @@
|
||||
2013-01-29 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/55270
|
||||
* tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
|
||||
the CFG, schedule loops for fixup.
|
||||
|
||||
2013-01-29 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
|
||||
|
@ -1,3 +1,8 @@
|
||||
2013-01-29 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/55270
|
||||
* gcc.dg/torture/pr55270.c: New testcase.
|
||||
|
||||
2013-01-28 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/56117
|
||||
|
22
gcc/testsuite/gcc.dg/torture/pr55270.c
Normal file
22
gcc/testsuite/gcc.dg/torture/pr55270.c
Normal file
@ -0,0 +1,22 @@
|
||||
/* { dg-do compile } */
|
||||
|
||||
unsigned a, b, c;
|
||||
|
||||
void f(void)
|
||||
{
|
||||
for(; a; a++)
|
||||
{
|
||||
long *p1 = (long *)&b;
|
||||
|
||||
if(*p1)
|
||||
return;
|
||||
|
||||
if(b && (*p1 = b) || c && ++*p1)
|
||||
{
|
||||
unsigned *p2 = &b;
|
||||
|
||||
for(*p2 = 0; *p2 < 1;)
|
||||
for(; b; b++);
|
||||
}
|
||||
}
|
||||
}
|
@ -3006,7 +3006,12 @@ eliminate_degenerate_phis (void)
|
||||
}
|
||||
|
||||
if (cfg_altered)
|
||||
free_dominance_info (CDI_DOMINATORS);
|
||||
{
|
||||
free_dominance_info (CDI_DOMINATORS);
|
||||
/* If we changed the CFG schedule loops for fixup by cfgcleanup. */
|
||||
if (current_loops)
|
||||
loops_state_set (LOOPS_NEED_FIXUP);
|
||||
}
|
||||
|
||||
/* Propagation of const and copies may make some EH edges dead. Purge
|
||||
such edges from the CFG as needed. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user