diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2021-11-13 12:37:25 +0100 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2021-11-13 14:41:47 +0100 |
commit | b7a23949b0dcc4205fcc2be6b84b91441faa384d (patch) | |
tree | af283f4673b4ba1548de8fad4e79f5875e1743f4 /gcc/tree-ssa-structalias.c | |
parent | 380fc3b69f6e7006d72ca270f909468426de3ab7 (diff) | |
download | gcc-b7a23949b0dcc4205fcc2be6b84b91441faa384d.zip gcc-b7a23949b0dcc4205fcc2be6b84b91441faa384d.tar.gz gcc-b7a23949b0dcc4205fcc2be6b84b91441faa384d.tar.bz2 |
path solver: Compute all PHI ranges simultaneously.
PHIs must be resolved simulatenously, otherwise we may not pick up the
ranges incoming to the block.
For example. If we put p3_7 in the cache before all PHIs have been
computed, we will pick up the wrong p3_7 value for p2_17:
# p3_7 = PHI <1(2), 0(5)>
# p2_17 = PHI <1(2), p3_7(5)>
This patch delays updating the cache until all PHIs have been
analyzed.
gcc/ChangeLog:
PR tree-optimization/103222
* gimple-range-path.cc (path_range_query::compute_ranges_in_phis):
New.
(path_range_query::compute_ranges_in_block): Call
compute_ranges_in_phis.
* gimple-range-path.h (path_range_query::compute_ranges_in_phis):
New.
gcc/testsuite/ChangeLog:
* gcc.dg/pr103222.c: New test.
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
0 files changed, 0 insertions, 0 deletions