diff options
author | Richard Biener <rguenther@suse.de> | 2020-11-09 11:09:01 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2020-11-09 14:07:01 +0100 |
commit | 17c25a454e056f4677649a5ed4a8b8587d29177c (patch) | |
tree | 95e2f6dc3582c88083041588821e0d602940fb25 /gcc/tree-iterator.c | |
parent | 2d4fa1f79c7b7a01e0b4fa27ee37b7030e6bf93f (diff) | |
download | gcc-17c25a454e056f4677649a5ed4a8b8587d29177c.zip gcc-17c25a454e056f4677649a5ed4a8b8587d29177c.tar.gz gcc-17c25a454e056f4677649a5ed4a8b8587d29177c.tar.bz2 |
Use a per-edge PRE PHI translation cache
This changes the phi translation cache to be per edge which
pushes it off the profiling radar. For larger testcases the
combined hashtable causes a load of cache misses and making it
per edge allows to shrink the entry further.
2020-11-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/97765
* tree-ssa-pre.c (bb_bitmap_sets::phi_translate_table): Add.
(PHI_TRANS_TABLE): New macro.
(phi_translate_table): Remove.
(expr_pred_trans_d::pred): Remove.
(expr_pred_trans_d::hash): Simplify.
(expr_pred_trans_d::equal): Likewise.
(phi_trans_add): Adjust.
(phi_translate): Likewise. Remove hash-table expansion
detection and optimization.
(phi_translate_set): Allocate PHI_TRANS_TABLE here.
(init_pre): Adjsust.
(fini_pre): Free PHI_TRANS_TABLE.
Diffstat (limited to 'gcc/tree-iterator.c')
0 files changed, 0 insertions, 0 deletions