diff options
author | Bernd Schmidt <bernds@codesourcery.com> | 2014-05-21 09:22:26 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2014-05-21 09:22:26 +0000 |
commit | 8a9e6b45baed602a208c6be551fd9708e1d06809 (patch) | |
tree | f6876e2d660634f5c9a6e15d561f6b1238bc678b /gcc/hw-doloop.c | |
parent | c4e5de1b1af1b33acbbe5a2271ff37405d1d17b5 (diff) | |
download | gcc-8a9e6b45baed602a208c6be551fd9708e1d06809.zip gcc-8a9e6b45baed602a208c6be551fd9708e1d06809.tar.gz gcc-8a9e6b45baed602a208c6be551fd9708e1d06809.tar.bz2 |
Stop the cfglayout code from failing an assert when called from hw-doloop.
* cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
flag_reorder_blocks_and_partition.
* hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
From-SVN: r210683
Diffstat (limited to 'gcc/hw-doloop.c')
-rw-r--r-- | gcc/hw-doloop.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/hw-doloop.c b/gcc/hw-doloop.c index cc8f9b7..d182761 100644 --- a/gcc/hw-doloop.c +++ b/gcc/hw-doloop.c @@ -636,7 +636,9 @@ reorg_loops (bool do_reorder, struct hw_doloop_hooks *hooks) loops = discover_loops (&loop_stack, hooks); - if (do_reorder) + /* We can't enter cfglayout mode anymore if basic block partitioning + already happened. */ + if (do_reorder && !flag_reorder_blocks_and_partition) { reorder_loops (loops); free_loops (loops); |