]> git.ipfire.org Git - thirdparty/gcc.git/commit
Improve var-tracking dataflow iteration order
authorRichard Biener <rguenther@suse.de>
Fri, 24 Jul 2020 11:44:09 +0000 (13:44 +0200)
committerRichard Biener <rguenther@suse.de>
Fri, 31 Jul 2020 06:22:45 +0000 (08:22 +0200)
commit1212cfad09378bc85860a7de22dde0cf7a19fd01
treedb2fc19d73115779ac2b55366eef77bb86fa5977
parent3e61a2056335ca7d4e2009823efae4ee2dc950ee
Improve var-tracking dataflow iteration order

This builds upon the rev_post_order_and_mark_dfs_back_seme improvements
and makes vt_find_locations iterate over the dataflow problems for
each toplevel SCC separately, improving memory locality and avoiding
to process nodes after the SCC before the SCC itself stabilized.

On the asan_interceptors.cc testcase this for example reduces the
number of visited blocks from 3751 to 2867.  For stage3-gcc
this reduces the number of visited blocks by ~4%.

2020-07-28  Richard Biener  <rguenther@suse.de>

PR debug/78288
* var-tracking.c (vt_find_locations): Use
rev_post_order_and_mark_dfs_back_seme and separately iterate
over toplevel SCCs.
gcc/var-tracking.c