aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2024-05-27 11:00:57 -0400
committerAndrew MacLeod <amacleod@redhat.com>2024-05-28 14:51:39 -0400
commit5ada486079d6aa20c64985a20681573f4ac1c86e (patch)
tree545356ad8822b0efe4c54777d5033c61b2489e45 /libcpp
parentd52b44aa26aa9976caaaa292f4773a08bbaa2fbb (diff)
downloadgcc-5ada486079d6aa20c64985a20681573f4ac1c86e.zip
gcc-5ada486079d6aa20c64985a20681573f4ac1c86e.tar.gz
gcc-5ada486079d6aa20c64985a20681573f4ac1c86e.tar.bz2
Do not invoke SCEV if it will use a different range query.
SCEV always uses the current range_query object. Ranger's cache uses a global value_query when propagating cache values to avoid re-invoking ranger during simple vavhe propagations. when folding a PHI value, SCEV can be invoked, and since it alwys uses the current range_query object, when ranger is active this causes the undesired re-invoking of ranger during cache propagation. This patch checks to see if the fold_using_range specified range_query object is the same as the one SCEV uses, and does not invoke SCEV if they do not match. PR tree-optimization/115221 gcc/ * gimple-range-fold.cc (range_of_ssa_name_with_loop_info): Do not invoke SCEV is range_query's do not match. gcc/testsuite/ * gcc.dg/pr115221.c: New.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions