]> git.ipfire.org Git - thirdparty/gcc.git/commit
MATCH: Factor out code that for min max detection with constants
authorAndrew Pinski <apinski@marvell.com>
Sun, 2 Apr 2023 17:42:58 +0000 (17:42 +0000)
committerAndrew Pinski <apinski@marvell.com>
Fri, 28 Apr 2023 14:25:39 +0000 (07:25 -0700)
commitb9b30dbaabc8076d9265cf685f45d3b0072a09df
tree971936d8407b4c072108e28bbe007a1e3589fce6
parent650c36ec461a722d9c65e82512b4c3aeec2ffee1
MATCH: Factor out code that for min max detection with constants

This factors out some of the code from the min/max detection
from match.pd into a function so it can be reused in other
places. This is mainly used to detect the conversions
of >= to > which causes the integer values to be changed by
one.

Changes since v1:
* factor out the checks for INTEGER_CSTs so it is more obvious.

OK? Bootstrapped and tested on x86_64-linux-gnu.

gcc/ChangeLog:

* match.pd: Factor out the deciding the min/max from
the "(cond (cmp (convert1? x) c1) (convert2? x) c2)"
pattern to ...
* fold-const.cc (minmax_from_comparison): this new function.
* fold-const.h (minmax_from_comparison): New prototype.
gcc/fold-const.cc
gcc/fold-const.h
gcc/match.pd