aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop-invariant.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2006-02-13 18:33:32 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2006-02-13 18:33:32 +0000
commit840992bdc20effc919b96522ab4f82fd96087939 (patch)
treed38a31a2f50f89e4589d53b8f378f0319c82ce34 /gcc/loop-invariant.c
parent4c553323a6f4d90e48002ea23b7f779c106ad620 (diff)
downloadgcc-840992bdc20effc919b96522ab4f82fd96087939.zip
gcc-840992bdc20effc919b96522ab4f82fd96087939.tar.gz
gcc-840992bdc20effc919b96522ab4f82fd96087939.tar.bz2
re PR middle-end/24427 (missing optimization opportunity with binary operators)
PR middle-end/24427 * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2 into (X,C2) if C1 is a subset of the bits of C2. Transform (X&C1)|C2 into X|C2 if C1|C2 == ~0. Canonicalize (X&C1)|C2 as (X&(C1&~C2))|C2. <BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2). * gcc.dg/tree-ssa/andor-1.c: New test case. From-SVN: r110918
Diffstat (limited to 'gcc/loop-invariant.c')
0 files changed, 0 insertions, 0 deletions