diff options
author | Richard Biener <rguenther@suse.de> | 2025-08-20 11:06:53 +0200 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2025-08-20 13:34:11 +0200 |
commit | fc23b539caa16a108bd16bcfcb86fe261a9aa174 (patch) | |
tree | 0826f1878c492b16fd9021df0a4dd145effaae0c /libjava/classpath/lib | |
parent | 0f15ff7b511493e9197e6153b794081c1557ba02 (diff) | |
download | gcc-fc23b539caa16a108bd16bcfcb86fe261a9aa174.zip gcc-fc23b539caa16a108bd16bcfcb86fe261a9aa174.tar.gz gcc-fc23b539caa16a108bd16bcfcb86fe261a9aa174.tar.bz2 |
tree-optimization/114480 - speedup IDF compute
The testcase in the PR shows that it's worth splitting the processing
of the initial workset, which is def_blocks from the main iteration.
This reduces SSA incremental update time from 44.7s to 32.9s. Further
changing the workset bitmap of the main iteration to a vector
speeds up things further to 23.5s for an overall nearly halving of
the SSA incremental update compile-time and an overall 12% compile-time
saving at -O1.
Using bitmap_ior in the first loop or avoiding (immediate) re-processing
of blocks in def_blocks does not make a measurable difference for the
testcase so I left this as-is.
PR tree-optimization/114480
* cfganal.cc (compute_idf): Split processing of the initial
workset from the main iteration. Use a vector for the
workset of the main iteration.
Diffstat (limited to 'libjava/classpath/lib')
0 files changed, 0 insertions, 0 deletions