tree-cfgcleanup.c (cleanup_control_flow_pre): For edge removal pretend DOM info isn...
authorRichard Biener <rguenther@suse.de>
Tue, 5 Jun 2018 11:11:16 +0000 (11:11 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 5 Jun 2018 11:11:16 +0000 (11:11 +0000)
commitb401e50fed4def25e82ee118ea42e7145a85c56b
treef39003bf3d25157b33457ba2117c868b0d5f5455
parent62761a0f888a69870bd24371dd9e4c191de81f1d
tree-cfgcleanup.c (cleanup_control_flow_pre): For edge removal pretend DOM info isn't available so we do not update it and...

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.

From-SVN: r261195
gcc/ChangeLog
gcc/tree-cfgcleanup.c