cfghooks.c (split_block): Set BB_IRREDUCIBLE_LOOP and EDGE_IRREDUCIBLE_LOOP.
2008-11-03 Sebastian Pop <sebastian.pop@amd.com> * cfghooks.c (split_block): Set BB_IRREDUCIBLE_LOOP and EDGE_IRREDUCIBLE_LOOP. From-SVN: r141549
This commit is contained in:
parent
f4c59f4fd2
commit
ede7cba0dd
2 changed files with 15 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2008-11-03 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* cfghooks.c (split_block): Set BB_IRREDUCIBLE_LOOP and
|
||||
EDGE_IRREDUCIBLE_LOOP.
|
||||
|
||||
2008-11-03 Bernd Schmidt <bernd.schmidt@analog.com>
|
||||
|
||||
* config/bfin/bfin.c (bfin_optimize_loop): Properly handle case
|
||||
|
|
|
@ -425,6 +425,7 @@ edge
|
|||
split_block (basic_block bb, void *i)
|
||||
{
|
||||
basic_block new_bb;
|
||||
edge res;
|
||||
|
||||
if (!cfg_hooks->split_block)
|
||||
internal_error ("%s does not support split_block", cfg_hooks->name);
|
||||
|
@ -450,7 +451,15 @@ split_block (basic_block bb, void *i)
|
|||
bb->loop_father->latch = new_bb;
|
||||
}
|
||||
|
||||
return make_single_succ_edge (bb, new_bb, EDGE_FALLTHRU);
|
||||
res = make_single_succ_edge (bb, new_bb, EDGE_FALLTHRU);
|
||||
|
||||
if (bb->flags & BB_IRREDUCIBLE_LOOP)
|
||||
{
|
||||
new_bb->flags |= BB_IRREDUCIBLE_LOOP;
|
||||
res->flags |= EDGE_IRREDUCIBLE_LOOP;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
/* Splits block BB just after labels. The newly created edge is returned. */
|
||||
|
|
Loading…
Add table
Reference in a new issue