Combine new calculated ranges with existing range.
authorAndrew MacLeod <amacleod@redhat.com>
Fri, 6 Nov 2020 19:14:46 +0000 (14:14 -0500)
committerAndrew MacLeod <amacleod@redhat.com>
Fri, 6 Nov 2020 19:20:54 +0000 (14:20 -0500)
commit129e1a8a96d140150705fab30d25afb464eb1d99
tree07ad6c227d61e224f8495143c81292a079db91fe
parent25126a28dbea7f9c7d6e5365929d7f3c9f60cdaf
Combine new calculated ranges with existing range.

When a range is recalculated, retain what was previously known as IL changes
can produce different results from un-executed code.   This also paves
the way for external injection of ranges.

gcc/
PR tree-optimization/97737
PR tree-optimization/97741
* gimple-range.cc: (gimple_ranger::range_of_stmt): Intersect newly
calculated ranges with the existing known global range.
gcc/testsuite/
* gcc.dg/pr97737.c: New.
* gcc.dg/pr97741.c: New.
gcc/gimple-range.cc
gcc/testsuite/gcc.dg/pr97737.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr97741.c [new file with mode: 0644]