/* The tracer pass for the GNU compiler.
Contributed by Jan Hubicka, SuSE Labs.
- Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GCC.
&& can_duplicate_block_p (bb2))
{
edge e;
- edge_iterator ei;
basic_block old = bb2;
- FOR_EACH_EDGE (e, ei, bb2->preds)
- if (e->src == bb)
- break;
+ e = find_edge (bb, bb2);
nduplicated += counts [bb2->index];
bb2 = duplicate_block (bb2, e);
static void
layout_superblocks (void)
{
- basic_block end = EDGE_SUCC (ENTRY_BLOCK_PTR, 0)->dest;
- basic_block bb = EDGE_SUCC (ENTRY_BLOCK_PTR, 0)->dest->next_bb;
+ basic_block end = single_succ (ENTRY_BLOCK_PTR);
+ basic_block bb = end->next_bb;
while (bb != EXIT_BLOCK_PTR)
{
FOR_EACH_EDGE (e, ei, end->succs)
if (e->dest != EXIT_BLOCK_PTR
- && e->dest != EDGE_SUCC (ENTRY_BLOCK_PTR, 0)->dest
+ && e->dest != single_succ (ENTRY_BLOCK_PTR)
&& !e->dest->rbi->visited
&& (!best || EDGE_FREQUENCY (e) > EDGE_FREQUENCY (best)))
best = e;