diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2021-06-23 15:25:45 -0400 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2021-06-24 13:25:58 -0400 |
commit | 5bdcfb74ff97b42f08993af8614c35685fdd8689 (patch) | |
tree | 573c834dd99bba578438d63718260251f5b61c1d /gcc/fold-const.c | |
parent | 90fa63e134f478c775b64b281901ecbba3c9f15b (diff) | |
download | gcc-5bdcfb74ff97b42f08993af8614c35685fdd8689.zip gcc-5bdcfb74ff97b42f08993af8614c35685fdd8689.tar.gz gcc-5bdcfb74ff97b42f08993af8614c35685fdd8689.tar.bz2 |
Correctly unify recomputation with existing range.
When propagating the on-entry cache, new block ranges are calculated
by combining all the incoming edges and comparing to the old value.
When a recomputation was performed on an edge, it didn't take into account
that the value in the block may already be better than a potential
recompuation... Thus a worse values was sometimes propagated.
Fixed by simply calling the now correct range_on_edge the cache provides.
* gimple-range-cache.cc (ranger_cache::propagate_cache): Call
range_on_edge instead of manually calculating.
Diffstat (limited to 'gcc/fold-const.c')
0 files changed, 0 insertions, 0 deletions