[optimize3/3] VRP min/max exprs
Richard Biener
rguenther@suse.de
Tue Aug 11 11:41:00 GMT 2015
On Mon, 10 Aug 2015, Nathan Sidwell wrote:
> Richard.
> this is the patch for the min/max optimization I was trying to implement
> before getting sidetracked with the phi bug and cleaning the vrp abs
> optimization.
>
> This patch checks both min and max where both operands have a determined
> range, and the case where the second op is a constant. When we determine the
> operand values are disjoint (modulo a possible single overlapping value) we
> replace the min or max with the appropriate operand.
>
> booted and tested with the other two patches I just posted.
>
> ok?
The patch looks good. Note that with SSA name operands it can be
still profitable to do compare_range_with_value, esp. if the other
operand has a symbolical range. See
vrp_evaluate_conditional_warnv_with_ops_using_ranges which actually
implements a nice helper for evaluating comparisons for code-gen
transforms.
So I'd prefer that you'd simply call that instead of deciding for
yourself on SSA name vs. non-SSA name.
Thanks,
Richard.
More information about the Gcc-patches
mailing list