aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/expr.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2004-06-27 15:23:46 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2004-06-27 15:23:46 +0000
commit64b663f8bd8abd190e9f2f2aa47dddf60769b8e3 (patch)
treebf00b8dfd6d9b655b708894fca96a9f725e3610a /gcc/java/expr.c
parent73bbafe5785c1bcf6ee98c650d91dd78382ee5eb (diff)
downloadgcc-64b663f8bd8abd190e9f2f2aa47dddf60769b8e3.zip
gcc-64b663f8bd8abd190e9f2f2aa47dddf60769b8e3.tar.gz
gcc-64b663f8bd8abd190e9f2f2aa47dddf60769b8e3.tar.bz2
fold-const.c (fold): Optimize ~X|X and X|~X as -1.
* fold-const.c (fold) <BIT_IOR_EXPR>: Optimize ~X|X and X|~X as -1. <BIT_XOR_EXPR>: Optimize ~X|X and X|~X as -1. <BIT_AND_EXPR>: Optimize ~X&X and X&~X as 0. <TRUTH_AND_EXPR, TRUTH_ANDIF_EXPR>: Optimize !X&&X and X&&!X as false. <TRUTH_OR_EXPR, TRUTH_ORIF_EXPR>: Optimize !X||X and !X||X as true. <TRUTH_XOR_EXPR>: Optimize !X^X and X^X! as true. Now that TRUTH_XOR_EXPR is a commutative tree code, don't test whether arg0 is a constant. * gcc.dg/20040527-1.c: New test case. From-SVN: r83733
Diffstat (limited to 'gcc/java/expr.c')
0 files changed, 0 insertions, 0 deletions