ipa/100308 - properly update the callgraph when pruning EH in IPA CP
authorRichard Biener <rguenther@suse.de>
Wed, 28 Apr 2021 07:34:03 +0000 (09:34 +0200)
committerRichard Biener <rguenther@suse.de>
Thu, 29 Apr 2021 06:32:14 +0000 (08:32 +0200)
commit8ddce3f7d0db060885df24e41dd289173ec774a0
tree65945f43a32d51bc97ea8fef9dbadc188cb3bb95
parent2c8bffa184dffba7976ba807ef0a1bbb6f66aa2d
ipa/100308 - properly update the callgraph when pruning EH in IPA CP

This makes sure to fall into the delete_unreachable_blocks_update_callgraph
handling to remove blocks becoming unreachable when removing EH edges
by tracking blocks to need EH cleanup and doing that after releasing
dominance info.

This fixes an ICE seen with gfortran.dg/gomp/pr88933.f90 when enhancing
DSE.

2021-04-28  Richard Biener  <rguenther@suse.de>

PR ipa/100308
* ipa-prop.c (ipcp_modif_dom_walker::before_dom_children):
Track blocks to cleanup EH in new m_need_eh_cleanup.
(ipcp_modif_dom_walker::cleanup_eh): New.
(ipcp_transform_function): Release dominator info before
doing EH cleanup.
gcc/ipa-prop.c