re PR middle-end/20557 (FAIL: gcc.dg/pr18628.c)

PR middle-end/20557
	* bb-reorder.c (duplicate_computed_gotos): Use can_duplicate_block_p
	to determine whether a block can be duplicated, rather than test
	whether the block contains noncopyable insns ourselves.

From-SVN: r96836
This commit is contained in:
Roger Sayle 2005-03-21 22:11:11 +00:00 committed by Roger Sayle
parent 59298b1d60
commit ffaf4d3b13
2 changed files with 15 additions and 17 deletions

View File

@ -1,3 +1,10 @@
2005-03-21 Roger Sayle <roger@eyesopen.com>
PR middle-end/20557
* bb-reorder.c (duplicate_computed_gotos): Use can_duplicate_block_p
to determine whether a block can be duplicated, rather than test
whether the block contains noncopyable insns ourselves.
2005-03-21 Kazu Hirata <kazu@cs.umass.edu>
* config/i860/i860.h (PREDICATE_CODES): Remove nonexistent

View File

@ -2047,24 +2047,15 @@ duplicate_computed_gotos (void)
int size = 0;
FOR_BB_INSNS (bb, insn)
{
if (INSN_P (insn))
{
/* If the insn isn't copyable, don't duplicate
the block. */
if (targetm.cannot_copy_insn_p
&& targetm.cannot_copy_insn_p (insn))
{
size = max_size + 1;
break;
}
size += get_attr_length (insn);
}
if (size > max_size)
break;
}
if (INSN_P (insn))
{
size += get_attr_length (insn);
if (size > max_size)
break;
}
if (size <= max_size)
if (size <= max_size
&& can_duplicate_block_p (bb))
bitmap_set_bit (candidates, bb->index);
}
}