aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-iterator.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2020-11-09 11:09:01 +0100
committerRichard Biener <rguenther@suse.de>2020-11-09 14:07:01 +0100
commit17c25a454e056f4677649a5ed4a8b8587d29177c (patch)
tree95e2f6dc3582c88083041588821e0d602940fb25 /gcc/tree-iterator.c
parent2d4fa1f79c7b7a01e0b4fa27ee37b7030e6bf93f (diff)
downloadgcc-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