Commit 09068087 by Richard Biener Committed by Richard Biener

re PR middle-end/63155 (memory hog)

2018-10-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/63155
	* tree-ssa-propagate.c (add_ssa_edge): Do cheap check first.
	(ssa_propagation_engine::ssa_propagate): Remove redundant
	bitmap bit clearing.

From-SVN: r264912
parent edec2bad
2018-10-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/63155
* tree-ssa-propagate.c (add_ssa_edge): Do cheap check first.
(ssa_propagation_engine::ssa_propagate): Remove redundant
bitmap bit clearing.
2018-10-05 Peter Bergner <bergner@linux.ibm.com> 2018-10-05 Peter Bergner <bergner@linux.ibm.com>
PR rtl-optimization/86939 PR rtl-optimization/86939
...@@ -143,10 +143,12 @@ add_ssa_edge (tree var) ...@@ -143,10 +143,12 @@ add_ssa_edge (tree var)
FOR_EACH_IMM_USE_FAST (use_p, iter, var) FOR_EACH_IMM_USE_FAST (use_p, iter, var)
{ {
gimple *use_stmt = USE_STMT (use_p); gimple *use_stmt = USE_STMT (use_p);
basic_block use_bb = gimple_bb (use_stmt); if (!prop_simulate_again_p (use_stmt))
continue;
/* If we did not yet simulate the block wait for this to happen /* If we did not yet simulate the block wait for this to happen
and do not add the stmt to the SSA edge worklist. */ and do not add the stmt to the SSA edge worklist. */
basic_block use_bb = gimple_bb (use_stmt);
if (! (use_bb->flags & BB_VISITED)) if (! (use_bb->flags & BB_VISITED))
continue; continue;
...@@ -157,9 +159,6 @@ add_ssa_edge (tree var) ...@@ -157,9 +159,6 @@ add_ssa_edge (tree var)
& EDGE_EXECUTABLE)) & EDGE_EXECUTABLE))
continue; continue;
if (!prop_simulate_again_p (use_stmt))
continue;
bitmap worklist; bitmap worklist;
if (bb_to_cfg_order[gimple_bb (use_stmt)->index] < curr_order) if (bb_to_cfg_order[gimple_bb (use_stmt)->index] < curr_order)
worklist = ssa_edge_worklist_back; worklist = ssa_edge_worklist_back;
...@@ -804,7 +803,6 @@ ssa_propagation_engine::ssa_propagate (void) ...@@ -804,7 +803,6 @@ ssa_propagation_engine::ssa_propagate (void)
else else
{ {
curr_order = next_stmt_bb_order; curr_order = next_stmt_bb_order;
bitmap_clear_bit (ssa_edge_worklist, next_stmt_uid);
if (dump_file && (dump_flags & TDF_DETAILS)) if (dump_file && (dump_flags & TDF_DETAILS))
{ {
fprintf (dump_file, "\nSimulating statement: "); fprintf (dump_file, "\nSimulating statement: ");
......
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