aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-09-28 11:51:30 +0200
committerRichard Biener <rguenther@suse.de>2023-09-28 15:12:06 +0200
commitf194c684a28a5d449bd034a2c604d04ba465e4fe (patch)
tree3b81ce5cc8dce976a805c779013046d894e5f41d /gcc/rtl.h
parent4f41d497c9eeec6f97a5c240e03c7e5e1a1ec05e (diff)
downloadgcc-f194c684a28a5d449bd034a2c604d04ba465e4fe.zip
gcc-f194c684a28a5d449bd034a2c604d04ba465e4fe.tar.gz
gcc-f194c684a28a5d449bd034a2c604d04ba465e4fe.tar.bz2
target/111600 - avoid deep recursion in access diagnostics
pass_waccess::check_dangling_stores uses recursion to traverse the CFG. The following changes this to use a heap allocated worklist to avoid blowing the stack. Instead of using a better iteration order it tries hard to preserve the current iteration order to avoid new false positives to pop up since the set of stores we keep track isn't properly modeling flow, so what is diagnosed and what not is quite random. We are also lacking the ideal RPO compute on the inverted graph that would just ignore reverse unreachable code (as the current iteration scheme does). PR target/111600 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): Use a heap allocated worklist for CFG traversal instead of recursion.
Diffstat (limited to 'gcc/rtl.h')
0 files changed, 0 insertions, 0 deletions