diff options
author | Roger Sayle <roger@eyesopen.com> | 2004-06-27 15:23:46 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2004-06-27 15:23:46 +0000 |
commit | 64b663f8bd8abd190e9f2f2aa47dddf60769b8e3 (patch) | |
tree | bf00b8dfd6d9b655b708894fca96a9f725e3610a /gcc/java/expr.c | |
parent | 73bbafe5785c1bcf6ee98c650d91dd78382ee5eb (diff) | |
download | gcc-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