This set of 12 patches overhauls some structural component layouts in
ranger and makes them available via a simple range_query API.
There are 3 main groups of patches.
The first group overhauls the relation oracle a bit and makes it
accessing it via range_query more transparent.
The second bunch incorporates the inferred range manager into an
oracle also accessible via a range_query object.
The third and final group reorganizes the GORI component and the
dependency information it provides with the static edge calculator and
makes this also accessible via a range_query.
This cleans up a number of things, and to go with this new cleanup comes
some documentation on how they work (!!!). well, the GORI documentation
is pending but the rest is there. Whats been written is currently
available from at the root page :
https://gcc.gnu.org/wiki/AndrewMacLeod/Ranger3.0 In each individual
patch I also mention the specific page for that component.
Over the remainder of the year I will be adding to documentation this
until ranger is fully documented, including range-ops, internals, etc
More details on specifics in each patch.
All patches combined result in a slight performance improvement of 0.4%
in VRP, 0.5% in threading, and 0.07% total compilation time.
Andrew