re PR rtl-optimization/28121 (verify_flow_info failed (wrong amount of branch edges after unconditional jump 2))

PR rtl-optimization/28121
	* cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
	the entry edge.

	* gcc.dg/pr28121.c: New test.

From-SVN: r114898
This commit is contained in:
Zdenek Dvorak 2006-06-22 19:54:45 +02:00 committed by Zdenek Dvorak
parent a8fe5a30f2
commit 0ef9029680
4 changed files with 45 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2006-06-22 Zdenek Dvorak <dvorakz@suse.cz>
PR rtl-optimization/28121
* cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
the entry edge.
2006-06-21 DJ Delorie <dj@redhat.com>
* config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest

View File

@ -1580,6 +1580,8 @@ tree_expand_cfg (void)
{
basic_block bb, init_block;
sbitmap blocks;
edge_iterator ei;
edge e;
/* Some backends want to know that we are expanding to RTL. */
currently_expanding_to_rtl = 1;
@ -1623,6 +1625,11 @@ tree_expand_cfg (void)
init_block = construct_init_block ();
/* Clear EDGE_EXECUTABLE on the entry edge(s). It is cleaned from the
remainining edges in expand_gimple_basic_block. */
FOR_EACH_EDGE (e, ei, ENTRY_BLOCK_PTR->succs)
e->flags &= ~EDGE_EXECUTABLE;
FOR_BB_BETWEEN (bb, init_block->next_bb, EXIT_BLOCK_PTR, next_bb)
bb = expand_gimple_basic_block (bb);

View File

@ -1,3 +1,8 @@
2006-06-22 Zdenek Dvorak <dvorakz@suse.cz>
PR rtl-optimization/28121
* gcc.dg/pr28121.c: New test.
2006-06-22 Lee Millward <lee.millward@gmail.com>
PR c++/27805
@ -34,7 +39,6 @@
2006-06-20 Steven G. Kargl <kargls@comcast.net>
* gfortran.dg/rrspacing_1.f90: New test.
2006-06-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de>

View File

@ -0,0 +1,27 @@
/* { dg-do compile } */
/* { dg-options "-O2" } */
short
GetCmd ()
{
int c, c1;
for (c = 255; c == 255;)
{
c = GetMouseButton ();
if (c >= 0)
{
c = ParsePos (c, -1, 0);
c1 = ParsePos (c1, c, 1);
if (c == c1 && (c >= 0 || c == -10))
{
return c;
}
if (c >= 0 && c1 == -12)
{
return ((((((10) + 1) + 1)) + 1) << 7) | c;
}
c = 255;
}
}
}