diff options
author | Richard Biener <rguenther@suse.de> | 2022-11-22 10:16:14 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2022-11-22 12:04:58 +0100 |
commit | e4faee8d02ec5d65bf418612f7181823eb08c078 (patch) | |
tree | 3566deb36f1861114db41b1dc997cc7bac61af76 /libcpp | |
parent | 0f9659e770304d3c44cfa0e793833a461bc487aa (diff) | |
download | gcc-e4faee8d02ec5d65bf418612f7181823eb08c078.zip gcc-e4faee8d02ec5d65bf418612f7181823eb08c078.tar.gz gcc-e4faee8d02ec5d65bf418612f7181823eb08c078.tar.bz2 |
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.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions