Fix PR middle-end/61734
Eric Botcazou
ebotcazou@adacore.com
Mon Jul 28 08:58:00 GMT 2014
This fixes the performance regression introduced by my recent patch that added
the X - Y CMP 0 to X CMP Y transformation to the folder for other operators
than the equality operators. It turns out that it badly interacts with another
one in fold_cond_expr_with_comparison which attempts to synthetize ABS_EXPR.
The transformation had been added as a preliminary work for a specific purpose
but was made obsolete in the meantime, so the patch simply disables it with a
??? comment.
Tested on x86_64-suse-linux, applied on the mainline.
2014-07-28 Eric Botcazou <ebotcazou@adacore.com>
PR middle-end/61734
* fold-const.c (fold_comparison): Disable X - Y CMP 0 to X CMP Y for
operators other than the equality operators.
2014-07-28 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/fold-abs-5.c: New test.
* gcc.dg/Wstrict-overflow-25.c: XFAIL everywhere.
* gcc.dg/fold-compare-8.c: Likewise.
--
Eric Botcazou
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr61734.diff
Type: text/x-patch
Size: 2331 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20140728/d31dc423/attachment.bin>
More information about the Gcc-patches
mailing list