On Mon, Jul 25, 2005 at 01:05:23PM -0600, Jeffrey A Law wrote:
On Mon, 2005-07-25 at 11:55 -0400, Diego Novillo wrote:
No. This just papers over the bug in CFG cleanup. VRP is not at
fault here. Merging blocks can actually leave superfluous condtional
predicates:
Agreed. I'd actually tripped over this a while back and had it on
my todo list.
Well, it looks like we need to return to the old cleanup cycle.
In some cases (loop-5.c at -O3) we need 3 rounds of:
cleanup_control_flow()
delete_unreachable_blocks()
cleanup_forwarder_blocks()
merge_seq_blocks()