re PR rtl-optimization/33648 (ICE in verify_flow_info for -fmodulo-sched -freorder-blocks-and-partition)

PR rtl-optimization/33648
	* cfgrtl.c (cfg_layout_split_edge): Initialize BB_PARTITION of
	the newly created basic block.

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

From-SVN: r129837
This commit is contained in:
Jakub Jelinek 2007-11-02 00:27:23 +01:00 committed by Jakub Jelinek
parent e426bd2cc8
commit 3e7eb73400
4 changed files with 28 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2007-11-02 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/33648
* cfgrtl.c (cfg_layout_split_edge): Initialize BB_PARTITION of
the newly created basic block.
2007-11-01 Richard Guenther <rguenther@suse.de>
* ggc-page.c (extra_order_size_tab): Add bitmap_head size.

View File

@ -2696,6 +2696,10 @@ cfg_layout_split_edge (edge e)
? NEXT_INSN (BB_END (e->src)) : get_insns (),
NULL_RTX, e->src);
if (e->dest == EXIT_BLOCK_PTR)
BB_COPY_PARTITION (new_bb, e->src);
else
BB_COPY_PARTITION (new_bb, e->dest);
make_edge (new_bb, e->dest, EDGE_FALLTHRU);
redirect_edge_and_branch_force (e, new_bb);

View File

@ -1,3 +1,8 @@
2007-11-02 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/33648
* gcc.dg/pr33648.c: New test.
2007-11-01 Jakub Jelinek <jakub@redhat.com>
PR c++/32384

View File

@ -0,0 +1,13 @@
/* PR rtl-optimization/33648 */
/* { dg-do compile } */
/* { dg-options "-O2 -fmodulo-sched -freorder-blocks-and-partition" } */
unsigned res;
void
foo (unsigned code, int len)
{
int i;
for (i = 0; i < len; i++)
res |= code & 1;
}