[PATCH 0/2] decouple adjust_range_from_scev from vr_values
Tue Aug 4 11:54:59 GMT 2020
The goal here is to disassociate adjust_range_from_scev from vr_values,
and value_range_equiv while we're at it.
We've already done something similar with simplify_using_ranges, where we
take in a "store" which is a class providing get_value_range(). Initially
we set it up to take a vr_values, but the ultimate purpose was to have
it work with either *vrp or the ranger. As such, I have abstracted
out the get_value_range() method into its own abstract class from
which vr_values inherits, and provides said method.
As I did for the substitute_and_fold_engine, I future proofed
get_value_range so it takes a gimple statement. This provides context for
the SSA being queried. I purposely did not provide a default statement
of NULL, as I want each caller to pass a statement if available.
This patchset is divided in two: one patch to provide the additional
argument to get_value_range and one to do the ripping apart in
adjust_range_from_scev. I will discuss the SCEV part in the relevant
More information about the Gcc-patches