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>
* doc/rtl.texi: Remove documentation of (const ...) wrappers
......
......@@ -506,6 +506,7 @@ ei_cond (edge_iterator ei, edge *p)
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. */
......
......@@ -2575,7 +2575,7 @@ pass_reorder_blocks::execute (function *fun)
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))
......
......@@ -3012,7 +3012,8 @@ try_optimize_cfg (int mode)
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 ();
}
......
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