https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155
--- Comment #37 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Fri Oct 5 12:54:51 2018 New Revision: 264869 URL: https://gcc.gnu.org/viewcvs?rev=264869&root=gcc&view=rev Log: 2018-10-05 Richard Biener <rguent...@suse.de> PR tree-optimization/63155 * tree-ssa-ccp.c (ccp_propagate::visit_phi): Avoid excess vertical space in dumpfiles. * tree-ssa-propagate.h (ssa_propagation_engine::process_ssa_edge_worklist): Remove. * tree-ssa-propagate.c (cfg_blocks_back): New global. (ssa_edge_worklist_back): Likewise. (curr_order): Likewise. (cfg_blocks_get): Remove abstraction. (cfg_blocks_add): Likewise. (cfg_blocks_empty_p): Likewise. (add_ssa_edge): Add to current or next worklist based on RPO index. (add_control_edge): Likewise. (ssa_propagation_engine::process_ssa_edge_worklist): Fold into ... (ssa_propagation_engine::ssa_propagate): ... here. Unify iteration from CFG and SSA edge worklist so we process everything in RPO order, prioritizing forward progress over iteration. (ssa_prop_init): Allocate new worklists, do not dump immediate uses. (ssa_prop_fini): Free new worklists. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa-ccp.c trunk/gcc/tree-ssa-propagate.c trunk/gcc/tree-ssa-propagate.h