diff options
author | Richard Biener <rguenther@suse.de> | 2023-07-17 12:15:29 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-07-20 14:45:46 +0200 |
commit | d0de3bf9175877d6c51c94fe04662c6e031876e1 (patch) | |
tree | 7834ae65fcedbe90cc7c56d577c504da291a5c49 /gcc/combine.cc | |
parent | c5bd0e5870aed178b7f82e7b94f59a383e7c5b4f (diff) | |
download | gcc-d0de3bf9175877d6c51c94fe04662c6e031876e1.zip gcc-d0de3bf9175877d6c51c94fe04662c6e031876e1.tar.gz gcc-d0de3bf9175877d6c51c94fe04662c6e031876e1.tar.bz2 |
tree-optimization/110204 - second level redundancy and simplification
When PRE discovers a full redundancy during insertion it cannot unite
the two value sets. Instead it inserts a copy old-val = new-val where
new-val can also be a constant. The following looks through such
copies during elimination, providing one extra level of constant and
copy propagation. For the PR this helps avoiding a bogus diagnostic
that's emitted on unreachable code during loop optimization.
PR tree-optimization/110204
* tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_avail):
Look through copies generated by PRE.
Diffstat (limited to 'gcc/combine.cc')
0 files changed, 0 insertions, 0 deletions