path solver: Prefer range_of_expr instead of range_on_edge.
authorAldy Hernandez <aldyh@redhat.com>
Thu, 4 Nov 2021 11:37:16 +0000 (12:37 +0100)
committerAldy Hernandez <aldyh@redhat.com>
Thu, 4 Nov 2021 14:39:03 +0000 (15:39 +0100)
commit6a9678f0b30d36ae13259ad635e175a1e24917a1
tree3d3b98db4993ceee95c316a466f68c70ce95ae84
parente4411622690654cdc530c6262c7115a9e15dc359
path solver: Prefer range_of_expr instead of range_on_edge.

The range_of_expr method provides better caching than range_on_edge.
If we have a statement, we can just it and avoid the range_on_edge
dance.  Plus we can use all the range_of_expr fanciness.

Tested on x86-64 and ppc64le Linux with the usual regstrap.  I also
verified that the before and after number of threads was the same or
greater in a suite of .ii files from a bootstrap.

gcc/ChangeLog:

PR tree-optimization/102943
* gimple-range-path.cc (path_range_query::range_on_path_entry):
Prefer range_of_expr unless there are no statements in the BB.
gcc/gimple-range-path.cc