]> git.ipfire.org Git - thirdparty/gcc.git/commit
tree-optimization/107803 - abnormal cleanup from the SSA propagator
authorRichard Biener <rguenther@suse.de>
Tue, 22 Nov 2022 09:16:14 +0000 (10:16 +0100)
committerRichard Biener <rguenther@suse.de>
Tue, 22 Nov 2022 11:04:58 +0000 (12:04 +0100)
commite4faee8d02ec5d65bf418612f7181823eb08c078
tree3566deb36f1861114db41b1dc997cc7bac61af76
parent0f9659e770304d3c44cfa0e793833a461bc487aa
tree-optimization/107803 - abnormal cleanup from the SSA propagator

The SSA propagator is missing abnormal cleanup which shows in a
sanity check in the uninit engine (and missed CFG verification).
The following adds that.

PR tree-optimization/107803
* tree-ssa-propagate.cc (substitute_and_fold_dom_walker): Add
need_ab_cleanup member.
(substitute_and_fold_dom_walker::before_dom_children): When
a stmt can no longer transfer control flow abnormally set
need_ab_cleanup.
(substitute_and_fold_engine::substitute_and_fold): Cleanup
abnormal control flow.

* g++.dg/pr107803.C: New testcase.
gcc/testsuite/g++.dg/pr107803.C [new file with mode: 0644]
gcc/tree-ssa-propagate.cc