diff options
author | Richard Biener <rguenther@suse.de> | 2015-06-30 11:58:48 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-06-30 11:58:48 +0000 |
commit | b14a9c57cff644851084c4f602437c7fa353c5d0 (patch) | |
tree | f7cd6a66425a4813b96dd9a091c09540c5b92b2e /libcpp/expr.c | |
parent | ebc30bf9fd86dc00dcb902780079cf895f4b16b5 (diff) | |
download | gcc-b14a9c57cff644851084c4f602437c7fa353c5d0.zip gcc-b14a9c57cff644851084c4f602437c7fa353c5d0.tar.gz gcc-b14a9c57cff644851084c4f602437c7fa353c5d0.tar.bz2 |
fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x)...
2015-06-30 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
* match.pd: ... here.
Add a few cases of A - B -> A + (-B) when B "easily" negates.
Move (x & y) | x -> x and friends before
(x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
From-SVN: r225178
Diffstat (limited to 'libcpp/expr.c')
0 files changed, 0 insertions, 0 deletions