Go to file
Easwaran Raman d26c70902d re PR rtl-optimization/44194 (struct returned by value generates useless stores)
2011-06-14  Easwaran Raman  <eraman@google.com>

       PR rtl-optimization/44194
       * dse.c: Include tree-flow.h
       (insn_info): Add new field non_frame_wild_read.
       (group_info): Add new fields escaped_n and escaped_p.
       (kill_on_calls): New variable.
       (get_group_info): Initialize gi->escaped_n and gi->escaped_p.
       (dse_step0): Initialize kill_on_calls.
       (can_escape): New function.
       (set_usage_bits): Add additional parameter; record information
       about escaped locations.
       (record_store): Pass EXPR corresponding to MEM to
       set_usage_bits.
       (dse_step2_nospill): Set kill_on_calls based on
       group->escaped_n and group->escaped_n.
       (add_wild_read): Refactor into...
       (reset_active_stores): ... New method, and
       (free_read_records): ... New method.
       (add_non_frame_wild_read): New method.
       (scan_insn): Call add_non_frame_wild_read on non-const calls.
       (scan_reads_nospill): Handle instructions with
       non_frame_wild_read.
       (dse_step5_nospill): Call scan_reads_nospill for instructions
       marked as non_frame_wild_read.
       (dse_step7): Free escaped_n, escaped_p and kill_on_calls
       bitmaps.

testsuite/ChangeLog

2011-06-14  Easwaran Raman  <eraman@google.com>

       PR rtl-optimization/44194
       * gcc.dg/pr44194-1.c: New test.
       * gcc.dg/pr44194-2.c: New test.

From-SVN: r175063
2011-06-14 22:58:20 +00:00
boehm-gc
config
contrib
fixincludes configure.ac (AC_USE_SYSTEM_EXTENSIONS): Add. 2011-06-08 21:27:06 +00:00
gcc re PR rtl-optimization/44194 (struct returned by value generates useless stores) 2011-06-14 22:58:20 +00:00
gnattools
include
INSTALL
intl
libada
libcpp
libdecnumber
libffi huge_struct.c (test_large_fn): Use PRIu8, PRId8 instead of %hhu, %hhd. 2011-06-14 15:54:22 +00:00
libgcc
libgfortran
libgo Change builtin make to runtime call at lowering time. 2011-06-14 13:51:16 +00:00
libgomp
libiberty
libjava
libmudflap
libobjc
libquadmath re PR fortran/48311 ([Quadmath] Documentation - typo, order) 2011-04-03 20:45:16 +02:00
libssp
libstdc++-v3 ptr_traits.h (pointer_traits<T*>::pointer_to): Use noexcept. 2011-06-14 23:08:24 +01:00
lto-plugin
maintainer-scripts
zlib
ABOUT-NLS
ChangeLog
ChangeLog.tree-ssa
compile
config-ml.in
config.guess
config.rpath
config.sub
configure
configure.ac * configure.ac (tilepro-*-*) New case. 2011-06-13 15:24:21 +00:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.RUNTIME
depcomp
install-sh
libtool-ldflags
libtool.m4
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS
Makefile.def
Makefile.in
Makefile.tpl
missing
mkdep
mkinstalldirs
move-if-change
README
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with 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/ for how to report bugs usefully.