Find a file
Richard Guenther 3d45dd59c7 re PR tree-optimization/34043 (Missed optimization causing extra loads and stores when using x86_64 builtin function together with aggregate types.)
2008-03-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34043
	PR tree-optimization/33989
	* tree-ssa-pre.c (execute_pre): Allow SCCVN to do insertion
	when doing FRE.
	(bitmap_find_leader): Use extra argument to verify dominance
	relationship inside a basic-block.
	(can_PRE_operation): Add VIEW_CONVERT_EXPR.
	(find_leader_in_sets): Adjust.
	(create_component_ref_by_pieces): Take extra argument for
	dominance check, handle lookup failures.
	(find_or_generate_expression): Likewise.
	(create_expression_by_pieces): Likewise.
	(insert_into_preds_of_block): Adjust.
	(create_value_expr_from): If asked for, verify all operands
	are in the blocks AVAIL_OUT set.
	(make_values_for_stmt): Check for SSA_NAMEs that are life
	over an abnormal edge.
	(compute_avail): Remove such check.
	(do_SCCVN_insertion): New function.
	(eliminate): If we do not find a leader suitable for replacement
	insert a replacement expression from SCCVN if available.
	* tree-ssa-sccvn.h (run_scc_vn): Update prototype.
	(struct vn_ssa_aux): Add needs_insertion flag.
	* tree-ssa-sccvn.c (may_insert): New global flag.
	(copy_reference_ops_from_ref): Value-number union member access
	based on its size, not type and member if insertion is allowed.
	(visit_reference_op_load): For a weak match from union type
	punning lookup a view-converted value and insert a SSA_NAME
	for that value if that is not found.
	(visit_use): Make dumps shorter.  Do not disallow value numbering
	SSA_NAMEs that are life over an abnormal edge to constants.
	(free_scc_vn): Release inserted SSA_NAMEs.
	(run_scc_vn): New flag to specify whether insertion is allowed.
	Process SSA_NAMEs in forward order.
	* tree-ssa-loop-im.c (for_each_index): Handle invariant
	ADDR_EXPRs inside VIEW_CONVERT_EXPR.
	* fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPRs from/to
	pointer type to/from integral types that do not change the
	precision to regular conversions.

	* gcc.dg/tree-ssa/ssa-fre-7.c: New testcase.
	* gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-9.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-10.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-17.c: Likewise.

From-SVN: r133218
2008-03-14 14:52:07 +00:00
boehm-gc dyn_load.c (GC_dyld_image_add): Remove ifdef clause and use the macro GC_GETSECTBYNAME instead. 2008-02-19 22:29:26 +01:00
config * mh-ppc-darwin (BOOT_CFLAGS): Use +=, not =. 2008-02-20 16:31:19 +01:00
contrib patch_tester.sh (initialization): Initialize svnpatch and stop. 2008-03-10 21:33:09 +00:00
fixincludes re PR target/20366 (AIX g++ -D_LARGE_FILES fails to compile #include <iostream>) 2008-03-07 06:53:59 +00:00
gcc re PR tree-optimization/34043 (Missed optimization causing extra loads and stores when using x86_64 builtin function together with aggregate types.) 2008-03-14 14:52:07 +00:00
gnattools re PR ada/34284 (Missing dynamic library support for GNAT 4.3.0 on x86-*-Darwin8) 2007-12-05 14:34:48 +00:00
include xtensa-config.h (XCHAL_HAVE_THREADPTR): Redefine to zero. 2008-02-11 17:53:16 +00:00
INSTALL
intl Makefile.in (distclean): Delete config files. 2006-09-27 18:51:52 +09:30
libada * Makefile.in: Add dummy install-pdf target. 2007-03-01 16:05:13 -08:00
libcpp rw.po: Remove. 2008-03-14 13:11:20 +00:00
libdecnumber decCommonSymbols.h: Commit. 2008-01-25 18:47:12 +00:00
libffi configure.ac: Add amd64-*-freebsd* target. 2008-02-12 18:42:21 +01:00
libgcc re PR target/35401 (libstdc++ linked to system /usr/lib/libgcc_s.1.dylib not new gcc4.3 libgcc_s.1.dylib) 2008-03-02 23:06:32 +01:00
libgfortran re PR libfortran/35524 (Unconditional use of expl() in libgfortran) 2008-03-12 10:24:29 +00:00
libgomp re PR middle-end/35185 (ICE using openmp with g++-4.2) 2008-03-13 10:26:25 +01:00
libiberty cplus-dem.c (malloc, realloc): Use void * instead of char * as return type. 2008-03-13 18:49:45 +00:00
libjava natClassLoader.cc (_Jv_RegisterInitiatingLoader): Check loading constraints. 2008-03-13 16:43:54 +00:00
libmudflap re PR driver/35420 (--version copyright date vs. 2008) 2008-03-02 23:50:02 +01:00
libobjc * configure: Regenerate. 2008-01-24 11:28:13 -05:00
libssp * configure: Regenerate. 2008-01-24 11:33:29 -05:00
libstdc++-v3 re PR libstdc++/35566 (multiset constructor uses insert_unique instead of insert_equal!) 2008-03-13 17:48:21 +00:00
maintainer-scripts * crontab: Add 4.3 branch. Set trunk to 4.4. 2008-02-18 23:49:19 +01:00
zlib * configure: Regenerate. 2008-01-24 11:27:14 -05:00
ABOUT-NLS
ChangeLog * config.rpath: Add AIX 6 support. 2008-03-13 14:55:20 -04:00
ChangeLog.tree-ssa
compile compile: Make executable. 2008-02-01 00:06:00 +00:00
config-ml.in config-ml.in: Remove 64bit configure tests. 2007-12-02 13:27:37 +00:00
config.guess * config.sub, config.guess: Update from upstream sources. 2008-03-13 10:43:12 +11:00
config.rpath * config.rpath: Add AIX 6 support. 2008-03-13 14:55:20 -04:00
config.sub * config.sub, config.guess: Update from upstream sources. 2008-03-13 10:43:12 +11:00
configure re PR bootstrap/32009 (building gcc4-4.3/4.4.0-20070518 failed on OSX 10.3.9) 2008-02-20 14:10:40 +00:00
configure.ac re PR bootstrap/32009 (building gcc4-4.3/4.4.0-20070518 failed on OSX 10.3.9) 2008-02-20 14:10:40 +00:00
COPYING COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
COPYING.LIB Update COPYING.LIB from upstream. Correct last Changelog. 2005-07-14 01:41:54 +00:00
COPYING3 COPYING_v3: New file. 2007-07-17 08:37:53 +00:00
COPYING3.LIB COPYING_v3: New file. 2007-07-17 08:37:53 +00:00
depcomp
install-sh COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
libtool-ldflags re PR bootstrap/31906 ("-Xcompiler" is inserted after "-Xlinker" when building libstdc++) 2007-09-20 10:20:05 +00:00
libtool.m4 re PR libgcj/33085 (liblt_prog_compiler_pic_GCJ='-DDLL_EXPORT' is wrong) 2008-02-16 03:57:53 +00:00
ltgcc.m4 [multiple changes] 2007-05-31 06:40:42 +00:00
ltmain.sh ltmain.sh: Fix Darwin verstring, remove ${wl}. 2007-05-25 21:26:27 +02:00
ltoptions.m4 ltmain.sh: Update from ToT Libtool. 2007-05-24 16:37:27 +00:00
ltsugar.m4 ltmain.sh: Update from ToT Libtool. 2007-05-24 16:37:27 +00:00
ltversion.m4 ltmain.sh: Update from ToT Libtool. 2007-05-24 16:37:27 +00:00
lt~obsolete.m4 lt~obsolete.m4: New. 2007-07-05 10:36:59 -07:00
MAINTAINERS MAINTAINERS: Update for treelang deletion. 2008-03-06 17:14:05 +00:00
Makefile.def 2008-03-13 Paolo Bonzini <bonzini@gnu.org> 2008-03-13 13:31:58 +00:00
Makefile.in 2008-03-13 Paolo Bonzini <bonzini@gnu.org> 2008-03-13 13:31:58 +00:00
Makefile.tpl re PR bootstrap/32009 (building gcc4-4.3/4.4.0-20070518 failed on OSX 10.3.9) 2008-02-20 14:10:40 +00:00
missing COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
mkdep
mkinstalldirs COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
move-if-change Import from Autoconf sources: 2005-11-21 13:21:37 +11:00
README
README.SCO
symlink-tree COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
ylwrap COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00

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.