fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy to negate if either operand is easy to negate... * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy to negate if either operand is easy to negate, if we don't care about sign-dependent rounding. (negate_expr): Make the logic to negate a REAL_CST explicit. Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand that's easy to negate, if we don't honor sign-dependent rounding. (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to negate, and the symmetric A * -B as -A * B if A is easy to negate. (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and -C/D if B and C are cheap to negate. Add an explicit rule to optimize X/-1.0 as -X when we don't care about signaling NaNs. From-SVN: r70455
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
fastjar | Loading commit data... | |
gcc | Loading commit data... | |
include | Loading commit data... | |
intl | Loading commit data... | |
libf2c | Loading commit data... | |
libffi | Loading commit data... | |
libiberty | Loading commit data... | |
libjava | Loading commit data... | |
libobjc | Loading commit data... | |
libstdc++-v3 | Loading commit data... | |
maintainer-scripts | Loading commit data... | |
zlib | Loading commit data... | |
.cvsignore | Loading commit data... | |
ABOUT-NLS | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.def | Loading commit data... | |
Makefile.in | Loading commit data... | |
Makefile.tpl | Loading commit data... | |
README | Loading commit data... | |
README.SCO | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.if | Loading commit data... | |
config.rpath | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.in | Loading commit data... | |
install-sh | Loading commit data... | |
libtool.m4 | Loading commit data... | |
ltcf-c.sh | Loading commit data... | |
ltcf-cxx.sh | Loading commit data... | |
ltcf-gcj.sh | Loading commit data... | |
ltconfig | Loading commit data... | |
ltmain.sh | Loading commit data... | |
missing | Loading commit data... | |
mkdep | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |