2018-01-10 Martin Liska <mliska@suse.cz>
PR bootstrap/82831
* basic-block.h (CLEANUP_NO_PARTITIONING): New define.
* bb-reorder.c (pass_reorder_blocks::execute): Do not clean up
partitioning.
* cfgcleanup.c (try_optimize_cfg): Fix up partitioning if
CLEANUP_NO_PARTITIONING is not set.
From-SVN: r256422
+2018-01-10 Martin Liska <mliska@suse.cz>
+
+ PR bootstrap/82831
+ * basic-block.h (CLEANUP_NO_PARTITIONING): New define.
+ * bb-reorder.c (pass_reorder_blocks::execute): Do not clean up
+ partitioning.
+ * cfgcleanup.c (try_optimize_cfg): Fix up partitioning if
+ CLEANUP_NO_PARTITIONING is not set.
+
2018-01-10 Richard Sandiford <richard.sandiford@linaro.org>
* doc/rtl.texi: Remove documentation of (const ...) wrappers
insns. */
#define CLEANUP_CFGLAYOUT 32 /* Do cleanup in cfglayout mode. */
#define CLEANUP_CFG_CHANGED 64 /* The caller changed the CFG. */
+#define CLEANUP_NO_PARTITIONING 128 /* Do not try to fix partitions. */
/* Return true if BB is in a transaction. */
cfg_layout_initialize (CLEANUP_EXPENSIVE);
reorder_basic_blocks ();
- cleanup_cfg (CLEANUP_EXPENSIVE);
+ cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_NO_PARTITIONING);
FOR_EACH_BB_FN (bb, fun)
if (bb->next_bb != EXIT_BLOCK_PTR_FOR_FN (fun))
to detect and fix during edge forwarding, and in some cases
is only visible after newly unreachable blocks are deleted,
which will be done in fixup_partitions. */
- fixup_partitions ();
+ if ((mode & CLEANUP_NO_PARTITIONING) == 0)
+ fixup_partitions ();
checking_verify_flow_info ();
}