diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2021-11-22 14:39:41 -0500 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2021-11-24 09:03:07 -0500 |
commit | 5deacf6058d1bc7261a75c9fd1f116c4442e9e60 (patch) | |
tree | 67b0f322e0f6a1dab9869f449fcf5be8e1aac7b2 /ltmain.sh | |
parent | d986ff50b4aad62c45d7ac62915e072643ddfca1 (diff) | |
download | gcc-5deacf6058d1bc7261a75c9fd1f116c4442e9e60.tar.gz |
Directly resolve range_of_stmt dependencies.
All ranger API entries eventually call range_of_stmt to ensure there is an
initial global value to work with. This can cause very deep call chains when
satisfied via the normal API. Instead, push any dependencies onto a stack
and evaluate them in a depth first manner, mirroring what would have happened
via the normal API calls.
PR tree-optimization/103231
gcc/
* gimple-range.cc (gimple_ranger::gimple_ranger): Create stmt stack.
(gimple_ranger::gimple_ranger): Delete stmt stack.
(gimple_ranger::range_of_stmt): Process depenedencies if they have no
global cache entry.
(gimple_ranger::prefill_name): New.
(gimple_ranger::prefill_stmt_dependencies): New.
* gimple-range.h (class gimple_ranger): Add prototypes.
Diffstat (limited to 'ltmain.sh')
0 files changed, 0 insertions, 0 deletions