sel-sched: move cleanup_cfg before calculate_dominance_info (PR 85354)
authorAlexander Monakov <amonakov@ispras.ru>
Thu, 12 Apr 2018 15:40:44 +0000 (18:40 +0300)
committerAlexander Monakov <amonakov@gcc.gnu.org>
Thu, 12 Apr 2018 15:40:44 +0000 (18:40 +0300)
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

gcc/ChangeLog
gcc/sel-sched-ir.c
gcc/sel-sched.c

index 25bcfa906caa7a6343cba566d945f87b289a9f8d..0839ab2922685d6888cd48248701bb823de4d3f8 100644 (file)
@@ -1,3 +1,9 @@
+2018-04-12  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR rtl-optimization/85354
+       * sel-sched-ir.c (sel_init_pipelining): Move cfg_cleanup call...
+       * sel-sched.c (sel_global_init): ... here.
+
 2018-04-12  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR target/85238
index 50a7daafba6889c14fca136ee120e0ffb2ad67b4..ee970522890423a7a1bb81a4a03553d9f007252e 100644 (file)
@@ -30,7 +30,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfgrtl.h"
 #include "cfganal.h"
 #include "cfgbuild.h"
-#include "cfgcleanup.h"
 #include "insn-config.h"
 #include "insn-attr.h"
 #include "recog.h"
@@ -6122,9 +6121,6 @@ make_regions_from_loop_nest (struct loop *loop)
 void
 sel_init_pipelining (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);
   /* Collect loop information to be used in outer loops pipelining.  */
   loop_optimizer_init (LOOPS_HAVE_PREHEADERS
                        | LOOPS_HAVE_FALLTHRU_PREHEADERS
index cd29df35666b9b752a679fa06a71dccf126e5381..59762964c6e6355d13075e2366bc62e135a33de0 100644 (file)
@@ -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 ();