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

Reply via email to