Commit 3ff0dc17 by Martin Liska Committed by Martin Liska

Clean up partitioning in try_optimize_cfg (PR bootstrap/82831).

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
parent 2072a319
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> 2018-01-10 Richard Sandiford <richard.sandiford@linaro.org>
* doc/rtl.texi: Remove documentation of (const ...) wrappers * doc/rtl.texi: Remove documentation of (const ...) wrappers
......
...@@ -506,6 +506,7 @@ ei_cond (edge_iterator ei, edge *p) ...@@ -506,6 +506,7 @@ ei_cond (edge_iterator ei, edge *p)
insns. */ insns. */
#define CLEANUP_CFGLAYOUT 32 /* Do cleanup in cfglayout mode. */ #define CLEANUP_CFGLAYOUT 32 /* Do cleanup in cfglayout mode. */
#define CLEANUP_CFG_CHANGED 64 /* The caller changed the CFG. */ #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. */ /* Return true if BB is in a transaction. */
......
...@@ -2575,7 +2575,7 @@ pass_reorder_blocks::execute (function *fun) ...@@ -2575,7 +2575,7 @@ pass_reorder_blocks::execute (function *fun)
cfg_layout_initialize (CLEANUP_EXPENSIVE); cfg_layout_initialize (CLEANUP_EXPENSIVE);
reorder_basic_blocks (); reorder_basic_blocks ();
cleanup_cfg (CLEANUP_EXPENSIVE); cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_NO_PARTITIONING);
FOR_EACH_BB_FN (bb, fun) FOR_EACH_BB_FN (bb, fun)
if (bb->next_bb != EXIT_BLOCK_PTR_FOR_FN (fun)) if (bb->next_bb != EXIT_BLOCK_PTR_FOR_FN (fun))
......
...@@ -3012,7 +3012,8 @@ try_optimize_cfg (int mode) ...@@ -3012,7 +3012,8 @@ try_optimize_cfg (int mode)
to detect and fix during edge forwarding, and in some cases to detect and fix during edge forwarding, and in some cases
is only visible after newly unreachable blocks are deleted, is only visible after newly unreachable blocks are deleted,
which will be done in fixup_partitions. */ which will be done in fixup_partitions. */
fixup_partitions (); if ((mode & CLEANUP_NO_PARTITIONING) == 0)
fixup_partitions ();
checking_verify_flow_info (); checking_verify_flow_info ();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment