2018-06-05 Richard Biener <rguenther@suse.de>
* tree-cfgcleanup.c (cleanup_control_flow_pre): For edge
removal pretend DOM info isn't available so we do not update
it and only remove edges, not dominated blocks. Actually free
DOM info in case we removed something. Remove unreachable blocks.
(mfb_keep_latches): Work with either DOM info or marked backedges.
(cleanup_tree_cfg_noloop): Do not remove unreachable blocks
first. Mark backedges if DOM info isn't available.
(Re-)compute DOM info after cleanup_control_flow_pre.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261195 138bc75d-0d04-0410-961f-82ee72b054a4