Improve VN PHI hash table handling
authorRichard Biener <rguenther@suse.de>
Tue, 14 Feb 2023 13:51:48 +0000 (14:51 +0100)
committerRichard Biener <rguenther@suse.de>
Tue, 14 Feb 2023 15:18:57 +0000 (16:18 +0100)
commite72c2770b6d913c82a56d45a306c4cb2ed88fba5
tree064d8ce01b29c10c8d578295c2a58e4210a60f6b
parent1434eee54e57ad4839c0697f1294f9e8fe0a3044
Improve VN PHI hash table handling

The hash function of PHIs is weak since we want to be able to CSE
them even across basic-blocks in some cases.  The following avoids
weakening the hash for cases we are never going to CSE, reducing
the number of collisions and avoiding redundant work in the
hash and equality functions.

* tree-ssa-sccvn.cc (vn_phi_compute_hash): Key skipping
basic block index hashing on the availability of ->cclhs.
(vn_phi_eq): Avoid re-doing sanity checks for CSE but
rely on ->cclhs availability.
(vn_phi_lookup): Set ->cclhs only when we are eventually
going to CSE the PHI.
(vn_phi_insert): Likewise.
gcc/tree-ssa-sccvn.cc