Go to file
Richard Guenther d6e840eed2 re PR tree-optimization/18754 (unrolling happens too late/SRA does not happen late enough)
2008-04-27  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/18754
	PR tree-optimization/34223
	* tree-pass.h (pass_complete_unrolli): Declare.
	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Print
	loop size before and after unconditionally of UL_NO_GROWTH in effect.
	Rewrite loop into loop closed SSA form if it is not already.
	(tree_unroll_loops_completely): Re-structure to iterate over
	innermost loops with intermediate CFG cleanups.
	Unroll outermost loops only if requested or the code does not grow
	doing so.
	* tree-ssa-loop.c (gate_tree_vectorize): Don't shortcut if no
	loops are available.
	(tree_vectorize): Instead do so here.
	(tree_complete_unroll): Also unroll outermost loops.
	(tree_complete_unroll_inner): New function.
	(gate_tree_complete_unroll_inner): Likewise.
	(pass_complete_unrolli): New pass.
	* tree-ssa-loop-manip.c (find_uses_to_rename_use): Only record
	uses outside of the loop.
	(tree_duplicate_loop_to_header_edge): Only verify loop-closed SSA
	form if it is available.  
	* tree-flow.h (tree_unroll_loops_completely): Add extra parameter.
	* passes.c (init_optimization_passes): Schedule complete inner
	loop unrolling pass before the first CCP pass after final inlining.

	* gcc.dg/tree-ssa/loop-36.c: New testcase.
	* gcc.dg/tree-ssa/loop-37.c: Likewise.
	* gcc.dg/vect/vect-118.c: Likewise.
	* gcc.dg/Wunreachable-8.c: XFAIL bogus warning.
	* gcc.dg/vect/vect-66.c: Increase loop trip count.
	* gcc.dg/vect/no-section-anchors-vect-66.c: Likewise.
	* gcc.dg/vect/no-section-anchors-vect-69.c: Likewise.
	* gcc.dg/vect/vect-76.c: Likewise.
	* gcc.dg/vect/vect-outer-6.c: Likewise.
	* gcc.dg/vect/vect-outer-1.c: Likewise.
	* gcc.dg/vect/vect-outer-1a.c: Likewise.
	* gcc.dg/vect/vect-11a.c: Likewise.
	* gcc.dg/vect/vect-shift-1.c: Likewise.
	* gcc.target/i386/vectorize1.c: Likewise.

From-SVN: r134730
2008-04-27 16:27:08 +00:00
boehm-gc re PR other/35457 (Error building GCC trunk on CELL SPU) 2008-04-18 10:28:53 +00:00
config override.m4: Apply _AC_ARG_VALIDATE fix to all versions but 2.62. 2008-04-23 10:22:37 +00:00
contrib patch_tester.sh (report): Do not print the time. 2008-04-23 19:00:08 +00:00
fixincludes Fixed second typo. 2008-04-26 02:16:36 +02:00
gcc re PR tree-optimization/18754 (unrolling happens too late/SRA does not happen late enough) 2008-04-27 16:27:08 +00:00
gnattools * Makefile.in: Remove handling of gnatbl. 2008-04-08 08:58:58 +02:00
include sha1.h: New file, from gnulib. 2008-03-25 00:54:53 +00:00
INSTALL
intl re PR other/35457 (Error building GCC trunk on CELL SPU) 2008-04-18 10:28:53 +00:00
libada
libcpp cpplib.h (cpp_define_formatted): New. 2008-04-22 14:04:32 -04:00
libdecnumber re PR other/35457 (Error building GCC trunk on CELL SPU) 2008-04-18 10:28:53 +00:00
libffi re PR other/35457 (Error building GCC trunk on CELL SPU) 2008-04-18 10:28:53 +00:00
libgcc PR target/34210 PR target/35508 * config.host (avr-*-*): Add avr cpu_type and avr tmake_file. * config/t-avr: New file. Build 16bit libgcc functions. 2008-04-07 23:15:35 +00:00
libgfortran re PR fortran/35960 (run time abort with assignment of RESHAPEd zero sized array) 2008-04-25 20:11:19 +00:00
libgomp libgomp/ 2008-04-21 20:55:19 +00:00
libiberty configure.ac: use -fPIC on Linux/MIPS hosts. 2008-04-21 21:23:34 +00:00
libjava re PR libgcj/35979 (JNI method NewStringUTF throws NPE when passed a NULL pointer) 2008-04-19 21:35:02 +00:00
libmudflap re PR other/35457 (Error building GCC trunk on CELL SPU) 2008-04-18 10:28:53 +00:00
libobjc re PR other/35457 (Error building GCC trunk on CELL SPU) 2008-04-18 10:28:53 +00:00
libssp re PR other/35457 (Error building GCC trunk on CELL SPU) 2008-04-18 10:28:53 +00:00
libstdc++-v3 re PR libstdc++/35922 (std::unordered_map missing in debug mode) 2008-04-26 02:21:37 +00:00
maintainer-scripts * crontab: Add 4.3 branch. Set trunk to 4.4. 2008-02-18 23:49:19 +01:00
zlib re PR other/35457 (Error building GCC trunk on CELL SPU) 2008-04-18 10:28:53 +00:00
ABOUT-NLS
ChangeLog MAINTAINERS (crx): Add myself. 2008-04-25 16:27:58 +05:30
ChangeLog.tree-ssa
compile
config-ml.in
config.guess * config.sub, config.guess: Update from upstream sources. 2008-04-14 19:31:06 +10: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-04-14 19:31:06 +10:00
configure [multiple changes] 2008-04-18 11:05:24 +00:00
configure.ac [multiple changes] 2008-04-18 11:05:24 +00:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4 backport: Deal with Autoconf 2.62's semantic change in m4_append. 2008-03-16 06:47:18 +00:00
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4 backport: Deal with Autoconf 2.62's semantic change in m4_append. 2008-03-16 06:47:18 +00:00
ltversion.m4
MAINTAINERS MAINTAINERS (crx): Add myself. 2008-04-25 16:27:58 +05:30
Makefile.def Makefile.def: check-gold depends upon all-binutils. 2008-04-07 22:36:37 +00:00
Makefile.in Makefile.tpl (restrap): Call `make all' using double-colon rules. 2008-04-18 09:32:24 +00:00
Makefile.tpl Makefile.tpl (restrap): Call `make all' using double-colon rules. 2008-04-18 09:32:24 +00:00
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.