aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/sel-sched-ir.c4
-rw-r--r--gcc/sel-sched.c5
3 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 25bcfa9..0839ab2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index 50a7daa..ee97052 100644
--- a/gcc/sel-sched-ir.c
+++ b/gcc/sel-sched-ir.c
@@ -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
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 ();