Commit 0524367e by Richard Biener Committed by Richard Biener

re PR tree-optimization/82129 (ICE in compute_antic, at tree-ssa-pre.c:2447)

2017-10-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82129
	Revert
	2017-08-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/81181
	* tree-ssa-pre.c (compute_antic_aux): Defer clean() to ...
	(compute_antic): ... end of iteration here.

From-SVN: r254005
parent 908d1d3a
2017-10-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/82129
Revert
2017-08-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/81181
* tree-ssa-pre.c (compute_antic_aux): Defer clean() to ...
(compute_antic): ... end of iteration here.
2017-10-23 Richard Sandiford <richard.sandiford@linaro.org>
* target.def (starting_frame_offset): New hook.
......@@ -2082,8 +2082,7 @@ static sbitmap has_abnormal_preds;
ANTIC_OUT[BLOCK] = phi_translate (ANTIC_IN[succ(BLOCK)])
ANTIC_IN[BLOCK] = clean(ANTIC_OUT[BLOCK] U EXP_GEN[BLOCK] - TMP_GEN[BLOCK])
Note that clean() is deferred until after the iteration. */
*/
static bool
compute_antic_aux (basic_block block, bool block_has_abnormal_pred_edge)
......@@ -2219,8 +2218,7 @@ compute_antic_aux (basic_block block, bool block_has_abnormal_pred_edge)
bitmap_value_insert_into_set (ANTIC_IN (block),
expression_for_id (bii));
/* clean (ANTIC_IN (block)) is defered to after the iteration converged
because it can cause non-convergence, see for example PR81181. */
clean (ANTIC_IN (block));
if (!bitmap_set_equal (old, ANTIC_IN (block)))
changed = true;
......@@ -2453,12 +2451,6 @@ compute_antic (void)
gcc_checking_assert (num_iterations < 500);
}
/* We have to clean after the dataflow problem converged as cleaning
can cause non-convergence because it is based on expressions
rather than values. */
FOR_EACH_BB_FN (block, cfun)
clean (ANTIC_IN (block));
statistics_histogram_event (cfun, "compute_antic iterations",
num_iterations);
......
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