Go to file
Jakub Jelinek b57cca0bb0 re PR rtl-optimization/51933 (wrong code due to -free)
PR rtl-optimization/51933
	* ree.c (transform_ifelse): Return true right away if dstreg is
	already wider or equal to cand->mode.
	(enum ext_modified_kind, struct ext_modified, ext_state): New types.
	(make_defs_and_copies_lists): Remove defs_list and copies_list
	arguments, add state argument, just truncate state->work_list
	instead of always allocating and freeing the vector.  Assert that
	get_defs succeeds instead of returning 2.  Changed return type to
	bool.
	(merge_def_and_ext): Add state argument.  If SET_DEST doesn't
	have ext_src_mode, see if it has been modified already with the
	right kind of extension and has been extended before from the
	ext_src_mode.  If SET_DEST is already wider or equal to cand->mode,
	just return true.  Remember the original mode in state->modified
	array.
	(combine_reaching_defs): Add state argument.  Don't allocate and
	free here def_list, copied_list and vec vectors, instead just
	VEC_truncate the vectors in *state.  Don't handle outcome == 2
	here.
	(find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag.
	Add state variable, clear vectors in it, initialize state.modified
	if needed.  Free all the vectors at the end and state.modified too.
	Don't skip a candidate if the extension expression has been modified.

	* gcc.c-torture/execute/pr51933.c: New test.

From-SVN: r183416
2012-01-23 10:25:52 +01:00
boehm-gc
config Interix resurrection 2012-01-23 06:25:28 +00:00
contrib
fixincludes adjust comment 2012-01-11 14:31:40 -05:00
gcc re PR rtl-optimization/51933 (wrong code due to -free) 2012-01-23 10:25:52 +01:00
gnattools
include
INSTALL
intl
libada Interix resurrection 2012-01-23 06:25:28 +00:00
libcpp
libdecnumber
libffi re PR target/48496 ('asm' operand requires impossible reload) 2012-01-19 11:47:59 +01:00
libgcc Interix resurrection 2012-01-23 06:25:28 +00:00
libgfortran re PR libfortran/51899 (libgfortran's chmod.c fails to build on MinGW) 2012-01-20 12:32:52 +01:00
libgo runtime: Make builtin print exactly match gc builtin print. 2012-01-21 21:58:09 +00:00
libgomp
libiberty Interix resurrection 2012-01-23 06:25:28 +00:00
libitm Skip static_ctor.C test (PR libitm/51173) 2012-01-17 15:42:47 +00:00
libjava
libmudflap re PR libmudflap/40778 (Mudflap instrumentation missing in cloned function.) 2012-01-19 19:58:02 +01:00
libobjc
libquadmath
libssp
libstdc++-v3 re PR libstdc++/50982 (AIX libstdc++ GTHREADS incompatibility) 2012-01-21 21:27:49 +00:00
lto-plugin
maintainer-scripts
zlib
ABOUT-NLS
ChangeLog Interix resurrection 2012-01-23 06:25:28 +00:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess
config.rpath
config.sub
configure Interix resurrection 2012-01-23 06:25:28 +00:00
configure.ac Interix resurrection 2012-01-23 06:25:28 +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.