diff options
author | Richard Biener <rguenther@suse.de> | 2024-04-04 15:18:06 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2024-05-08 10:29:33 +0200 |
commit | 245a6d478aba6499d1f649e4d35df1e858c5967c (patch) | |
tree | c4bc0893d6d3bfee61f82302c3d60649973b609e /gcc/cp | |
parent | 9adec2d91e62a479474ae79df5b455fd4b8463ba (diff) | |
download | gcc-245a6d478aba6499d1f649e4d35df1e858c5967c.zip gcc-245a6d478aba6499d1f649e4d35df1e858c5967c.tar.gz gcc-245a6d478aba6499d1f649e4d35df1e858c5967c.tar.bz2 |
Fix and speedup IDF pruning by dominator
When insert_updated_phi_nodes_for tries to skip pruning the IDF to
blocks dominated by the nearest common dominator of the set of
definition blocks it compares against ENTRY_BLOCK but that's never
going to be the common dominator. In fact if it ever were the code
fails to copy IDF to PRUNED_IDF, leading to wrong code.
The following fixes that by avoiding the copy and pruning from the
IDF in-place as well as using the more approprate check against
the single successor of the ENTRY_BLOCK.
* tree-into-ssa.cc (insert_updated_phi_nodes_for): Skip
pruning when the nearest common dominator is the successor
of ENTRY_BLOCK. Do not copy IDF but prune it directly.
Diffstat (limited to 'gcc/cp')
0 files changed, 0 insertions, 0 deletions