aboutsummaryrefslogtreecommitdiff
path: root/gcc/sel-sched.c
diff options
context:
space:
mode:
authorAlexander Monakov <amonakov@ispras.ru>2018-04-12 18:40:44 +0300
committerAlexander Monakov <amonakov@gcc.gnu.org>2018-04-12 18:40:44 +0300
commit01496707301d09bfb32d03e7cbabef0d7ee032d7 (patch)
treeee77419c27cac68192e811e730bb2a113f8e4350 /gcc/sel-sched.c
parentdc0e0c6b2e70e9d2b3bbf02664b3f5a670c5c2be (diff)
downloadgcc-01496707301d09bfb32d03e7cbabef0d7ee032d7.zip
gcc-01496707301d09bfb32d03e7cbabef0d7ee032d7.tar.gz
gcc-01496707301d09bfb32d03e7cbabef0d7ee032d7.tar.bz2
sel-sched: move cleanup_cfg before calculate_dominance_info (PR 85354)
PR rtl-optimization/85354 * sel-sched-ir.c (sel_init_pipelining): Move cfg_cleanup call... * sel-sched.c (sel_global_init): ... here. From-SVN: r259348
Diffstat (limited to 'gcc/sel-sched.c')
-rw-r--r--gcc/sel-sched.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index cd29df3..5976296 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -28,6 +28,7 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "regs.h"
#include "cfgbuild.h"
+#include "cfgcleanup.h"
#include "insn-config.h"
#include "insn-attr.h"
#include "params.h"
@@ -7661,6 +7662,10 @@ sel_sched_region (int rgn)
static void
sel_global_init (void)
{
+ /* Remove empty blocks: their presence can break assumptions elsewhere,
+ e.g. the logic to invoke update_liveness_on_insn in sel_region_init. */
+ cleanup_cfg (0);
+
calculate_dominance_info (CDI_DOMINATORS);
alloc_sched_pools ();