[PATCH] Range_on_edge in ranger_cache should return true for all ranges.

Andrew MacLeod amacleod@redhat.com
Thu Jun 17 00:13:19 GMT 2021

This patch mostly affects an internal routine in the ranger_cache.  When 
doing the cache rework to also be a range_query object, I implemented 
range_on_edge to always return a range, but only return TRUE when the 
range was actually changed on the edge.  This was a well intention but 
misguided attempt to combine has_edge_range_p() and 
outgoing_edge_range_p ().

With the GORI engine now using the ranger_cache as a "read only"range 
query to access the cache and fold statements, range_on_edge returning 
false meant that the fold_using_range code would turn constants and 
other ssa_name ranges into VARYING because the value FALSE was returned.

This corrects that mistake, and changes range_on_edge to return TRUE 
whenever any range is calculated.

Bootstraps on  x86_64-pc-linux-gnu with no regressions.  Pushed.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: edge.diff
Type: text/x-patch
Size: 2177 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20210616/741f7e90/attachment.bin>

More information about the Gcc-patches mailing list