Go to file
Richard Guenther 15caa2abe9 re PR tree-optimization/30375 (tree-ssa-dse incorrectly removes struct initialization)
2007-09-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/30375
	PR tree-optimization/33560
	* tree-ssa-dse.c (get_use_of_stmt_lhs): Give up on uses
	with calls.

	Revert
	2006-05-22  Aldy Hernandez  <aldyh@redhat.com>

        * tree-ssa-dse.c (aggregate_vardecl_d): New.
        (dse_global_data): Add aggregate_vardecl field.
        (dse_possible_dead_store_p): New.
        Add prev_defvar variable.
        Allow immediate uses and previous immediate uses to differ
        if they are setting different parts of the whole.
        (get_aggregate_vardecl): New.
        (dse_record_partial_aggregate_store): New.
        (dse_whole_aggregate_clobbered_p): New.
        (dse_partial_kill_p): New.
        Call dse_maybe_record_aggregate_store().
        When checking whether a STMT and its USE_STMT refer to the
        same memory address, check also for partial kills that clobber
        the whole.
        Move some variable definitions to the block where they are used.
        (aggregate_vardecl_hash): New.
        (aggregate_vardecl_eq): New.
        (aggregate_vardecl_free): New.
        (aggregate_whole_store_p): New.
        (tree_ssa_dse): Initialize and free aggregate_vardecl.
        Mark which aggregate stores we care about.

	* gcc.dg/tree-ssa/complex-4.c: XFAIL.
	* gcc.dg/tree-ssa/complex-5.c: Likewise.
	* gcc.dg/tree-ssa/ssa-dse-9.c: Likewise.
	* gcc.dg/torture/pr30375.c: New testcase.
	* gcc.dg/torture/pr33560.c: New testcase.
	* gcc.dg/tree-ssa/pr30375.c: Likewise.

From-SVN: r128810
2007-09-26 11:55:17 +00:00
boehm-gc
config mt-sde (CFLAGS_FOR_TARGET): Replace -fno-optimize-sibling-calls with -minterlink-mips16. 2007-09-21 07:33:31 +00:00
contrib warn_summary (srcdirFilter): Add fixincludes, sim, newlib and mpfr. 2007-09-22 01:19:10 +00:00
fixincludes
gcc re PR tree-optimization/30375 (tree-ssa-dse incorrectly removes struct initialization) 2007-09-26 11:55:17 +00:00
gnattools
include pexecute.txh (pex_free): Document process killing. 2007-09-06 16:58:57 +00:00
INSTALL
intl
libada
libcpp tree-cfg.c (remove_bb): Only warn if line is non-zero. 2007-09-06 16:24:05 +00:00
libdecnumber Makefile.in (libdecnumber_a_OBJS): Remove decUtility.o 2007-09-10 20:44:08 +00:00
libffi
libgcc fixed-obj.mk: New file to support fine-grain fixed-point functions. 2007-09-17 22:18:13 +00:00
libgfortran re PR libfortran/31546 (add --enable-intermodule) 2007-09-21 19:49:34 +00:00
libgomp * config/mingw32/proc.c: New file. 2007-09-10 02:27:29 +00:00
libiberty pexecute.txh (pex_free): Document process killing. 2007-09-06 16:58:57 +00:00
libjava defineclass.cc (MAJOR_1_6): New define. 2007-09-17 16:30:46 +00:00
libmudflap
libobjc
libssp
libstdc++-v3 libstdc++.exp (check_v3_target_fileio): Test lseek. 2007-09-25 21:18:11 +00:00
maintainer-scripts
zlib
ABOUT-NLS
ChangeLog * MAINTAINERS (Register allocation reviewer): Add myself. 2007-09-24 11:55:40 -05:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess
config.rpath
config.sub
configure configure.ac (mipsisa*-*-elfoabi*): New stanza. 2007-09-20 20:01:34 +00:00
configure.ac configure.ac (mipsisa*-*-elfoabi*): New stanza. 2007-09-20 20:01:34 +00:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
depcomp
install-sh
libtool-ldflags re PR bootstrap/31906 ("-Xcompiler" is inserted after "-Xlinker" when building libstdc++) 2007-09-20 10:20:05 +00:00
libtool.m4
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS * MAINTAINERS (Register allocation reviewer): Add myself. 2007-09-24 11:55:40 -05:00
Makefile.def configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Move libgomp before libstdc++. 2007-09-20 00:58:02 +00:00
Makefile.in configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Move libgomp before libstdc++. 2007-09-20 00:58:02 +00:00
Makefile.tpl
missing
mkdep
mkinstalldirs
move-if-change
README
README.SCO
symlink-tree
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.