Go to file
Roger Sayle 05d362b88d fold-const.c (negate_mathfn_p): New function to determine whether a built-in mathematical function is sign...
* fold-const.c (negate_mathfn_p): New function to determine whether
	a built-in mathematical function is sign preserving, f(-x) == -f(x).
	Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
	(tree_swap_operands_p): Change API to take an additional argument
	indicating that the swapped operands evaluate in reverse order.
	Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
	operand side-effects or we don't care about flag_evaluation_order.
	(reorder_operands_p): New function to check whether its safe to
	evaluate the given operands in reverse order.
	(negate_expr_p):  We can always negate integer constants unless
	we honor -ftrapv and the signed type would overflow.  Only allow
	-(A-B) into B-A if reorder_operands_p says that its OK.  Allow
	negation of COMPLEX_CST if both real and imaginary parts can be
	negated.  Allow negation through floating point extensions and
	sign-preserving built-in functions.
	(negate_expr):  Move the code to negate integers from "fold" to
	here.  Always negate integer constants unless we honor -ftrapv
	and the signed type would overflow.  Always negate real constants
	unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
	if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
	Optimize negation through floating point extensions and
	sign-preserving built-in functions (as defined by negate_mathfn_p).
	(fold): Adjust calls to tree_swap_operands_p.
	(fold <NEGATE_EXPR>): Move the remaining negation optimizations
	to negate_expr_p/negate_expr.
	(fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
	allowed to convert (-A) - B into (-B) - A.

From-SVN: r72381
2003-10-11 21:15:08 +00:00
boehm-gc * configure: Rebuild. 2003-10-03 19:38:05 +00:00
config Move ChangeLog entries for config/ subdir into config/ChangeLog, where they belong. 2003-10-08 21:28:40 +00:00
contrib btest-gcc.sh: Add make check-target-libffi. 2003-09-18 22:25:51 +02:00
fastjar fastjar.texi: License manual under the GPL. 2003-08-13 21:04:12 +00:00
gcc fold-const.c (negate_mathfn_p): New function to determine whether a built-in mathematical function is sign... 2003-10-11 21:15:08 +00:00
include floatformat.h (struct floatformat): Add field "is_valid". 2003-09-22 17:42:03 +00:00
INSTALL README: Update wrt. 2001-06-13 14:51:33 +00:00
intl Makefile.tpl (configure-gcc): Depend on maybe-configure-intl. 2003-07-08 05:55:11 +00:00
libf2c re PR libf2c/11918 (isatty does not call f_init) 2003-09-21 16:16:46 +00:00
libffi ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs, FFI_MIPS_O32 for O32 ABI. 2003-10-06 19:18:35 +00:00
libiberty strerror.c: Revert last change. 2003-10-02 19:06:29 +00:00
libjava Status.java, [...]: Removing redundant modifiers. 2003-10-11 19:18:24 +00:00
libobjc * libtool.m4 (LD): Correct powerpc64 host match. 2003-09-09 15:54:39 +09:30
libstdc++-v3 crossconfig.m4 (*-uclinux*): New target. 2003-10-11 05:45:07 +02:00
maintainer-scripts gcc_release (announce_snapshot): Restructure processing of snapshot-README and snapshot-index.html and add a new... 2003-09-22 14:29:20 +00:00
zlib * libtool.m4 (LD): Correct powerpc64 host match. 2003-09-09 15:54:39 +09:30
.cvsignore configure, .cvsignore: Revert previous change... 2002-06-19 18:10:09 +00:00
ABOUT-NLS intl: New directory; see intl/ChangeLog for details. 2003-07-04 18:18:54 +00:00
ChangeLog config.guess: Update to 2003-10-07 version. 2003-10-11 04:57:01 +02:00
config-ml.in * config-ml.in, symlink-tree: Add license. 2003-08-14 16:44:23 -04:00
config.guess config.guess: Update to 2003-10-07 version. 2003-10-11 04:57:01 +02:00
config.if * config.if: Remove unused libc_interface determination. 2003-07-16 06:34:53 +00:00
config.rpath intl: New directory; see intl/ChangeLog for details. 2003-07-04 18:18:54 +00:00
config.sub config.guess: Update to 2003-10-07 version. 2003-10-11 04:57:01 +02:00
configure configure.in: Allow explicit specification of CFLAGS_FOR_BUILD. 2003-10-06 03:40:08 +00:00
configure.in configure.in: Allow explicit specification of CFLAGS_FOR_BUILD. 2003-10-06 03:40:08 +00:00
COPYING
COPYING.LIB COPYING.LIB: Update to LGPL 2.1 from the FSF. 2001-01-29 13:32:47 +00:00
install-sh install-sh: Update to newer upstream versions (associated with aclocal 1.7). 2003-07-20 09:40:28 +00:00
libtool.m4 * libtool.m4 (LD): Correct powerpc64 host match. 2003-09-09 15:54:39 +09:30
ltcf-c.sh Merge basic-improvements-branch to trunk 2002-12-16 18:23:00 +00:00
ltcf-cxx.sh ltcf-cxx.sh (irix5*, irix6*): Prefix -soname and its arg with ${wl}. 2003-10-06 15:13:13 +00:00
ltcf-gcj.sh ltcf-cxx.sh: Replace $linker_flags with $compiler_flags wherever it is used as argument to $CC. 2003-02-19 23:50:23 +00:00
ltconfig ltcf-cxx.sh (irix5*, irix6*): Prefix -soname and its arg with ${wl}. 2003-10-06 15:13:13 +00:00
ltmain.sh ltconfig (osf[345]): Append $major to soname_spec. 2002-11-20 15:59:07 +00:00
MAINTAINERS Adding my name to "write after approval" maintainers. 2003-10-06 11:25:13 -07:00
Makefile.def Makefile.def: Introduce flags_to_pass. 2003-06-23 20:34:26 +00:00
Makefile.in configure.in: Allow explicit specification of CFLAGS_FOR_BUILD. 2003-10-06 03:40:08 +00:00
Makefile.tpl configure.in: Allow explicit specification of CFLAGS_FOR_BUILD. 2003-10-06 03:40:08 +00:00
missing install-sh: Update to newer upstream versions (associated with aclocal 1.7). 2003-07-20 09:40:28 +00:00
mkdep
mkinstalldirs install-sh: Update to newer upstream versions (associated with aclocal 1.7). 2003-07-20 09:40:28 +00:00
move-if-change
README * README: Remove version number. 2001-06-13 19:48:09 +01:00
README.SCO * README.SCO: New file. 2003-08-03 14:51:42 +00:00
symlink-tree * config-ml.in, symlink-tree: Add license. 2003-08-14 16:44:23 -04:00
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.