Go to file
Zdenek Dvorak 82b85a85c8 tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-ivcanon.c: New file.
	* tree-ssa-loop-manip.c (create_iv): New function.
	* Makefile.in (tree-ssa-loop-ivcanon.o): Add.
	(tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
	* cfgloop.c (mark_single_exit_loops): New function.
	(verify_loop_structure): Verify single-exit loops.
	* cfgloop.h (struct loop): Add single_exit field.
	(LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
	(mark_single_exit_loops): Declare.
	(tree_num_loop_insns): Declare.
	* cfgloopmanip.c (update_single_exits_after_duplication): New function.
	(duplicate_loop_to_header_edge): Use it.
	* common.opt (fivcanon): New flag.
	* timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
	* tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
	(bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
	(bsi_insert_on_edge_immediate): New function.
	* tree-flow.h (bsi_insert_on_edge_immediate,
	canonicalize_induction_variables, tree_unroll_loops_completely,
	create_iv): Declare.
	* tree-optimize.c (init_tree_optimization_passes): Add
	pass_iv_canon and pass_complete_unroll.
	* tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
	* tree-scalar-evolution.c (get_loop_exit_condition,
	get_exit_conditions_rec, number_of_iterations_in_loop,
	scev_initialize): Use single_exit information.
	* tree-ssa-loop-niter.c (number_of_iterations_cond): Record
	missing assumptions.
	(loop_niter_by_eval):  Return number of iterations as unsigned
	int.
	* tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
	(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
	tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
	New passes.
	(tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
	* tree-ssanames.c (make_ssa_name): Allow creating ssa name before
	the defining statement is ready.
	* tree-vectorizer.c (vect_create_iv_simple): Removed.
	(vect_create_index_for_array_ref, vect_transform_loop_bound):
	Use create_iv.
	(vect_transform_loop_bound): Use single_exit information.
	(vect_analyze_loop_form): Cleanup bogus tests.
	(vectorize_loops): Do not call flow_loop_scan.
	* tree.h (may_negate_without_overflow_p): Declare.
	* fold-const.c (may_negate_without_overflow_p): Split out from ...
	(negate_expr_p): ... this function.
	(tree_expr_nonzero_p): Handle overflowed constants correctly.
	* doc/invoke.texi (-fivcanon): Document.
	* doc/passes.texi: Document canonical induction variable creation.

	* gcc.dg/tree-ssa/loop-1.c: New test.

From-SVN: r86516
2004-08-24 20:48:23 +00:00
INSTALL
boehm-gc aix_irix_threads.c: Move _THREADS checks after gc_priv.h include. 2004-08-23 21:40:17 +00:00
config 2004-08-13 Nathanael Nerode <neroden@gcc.gnu.org> 2004-08-13 22:31:45 +00:00
contrib gcc_update (self): libjava/configure.in -> configure.ac. 2004-08-20 18:17:35 +02:00
fastjar re PR bootstrap/16164 (automake 1.8.5 upgrade changed fastjar into a read-write source directory) 2004-08-11 00:56:23 +00:00
gcc tree-ssa-loop-ivcanon.c: New file. 2004-08-24 20:48:23 +00:00
include Split ChangeLog 2004-08-18 13:11:56 +09:30
intl Makefile.in (top_builddir): Define to . 2004-05-25 20:16:56 +00:00
libada * Makefile.in: Add .NOEXPORT. 2004-05-25 19:37:02 +00:00
libbanshee * engine/util.c (vfail): Remove unnecessary sync, fsync, and fflush. 2004-07-07 18:08:49 -07:00
libcpp configure.in (arm*-*-eabi*): New target. 2004-08-11 02:50:14 +00:00
libffi re PR libffi/13141 (FAIL: InvokeReturn output - source compiled test <libffi problem>) 2004-08-23 16:49:17 +00:00
libgfortran Makefile.am (libgfortran_la_LDFLAGS): Add -lm. 2004-08-24 11:20:52 -04:00
libiberty * lrealpath.c (lrealpath): Add _WIN32 support. 2004-06-29 11:37:20 +00:00
libjava ignore autom4te.cache 2004-08-23 23:51:56 +00:00
libmudflap mf-runtime.c: Conditionalize POSIX_SOURCE for Darwin. 2004-08-03 14:19:26 +00:00
libobjc sarray.h: Hoist include of assert.h near the top of file... 2004-08-13 22:50:09 +00:00
libstdc++-v3 2832.cc: New. 2004-08-24 13:55:44 +00:00
maintainer-scripts gcc_release (build_sources): Add comment header to generated MD5SUMS. 2004-08-14 16:47:52 +00:00
zlib configure.ac: New name of configure.in. 2004-06-15 14:47:55 +00:00
.cvsignore
ABOUT-NLS
COPYING
COPYING.LIB
ChangeLog Remove conflict marker. 2004-08-20 11:37:13 +00:00
ChangeLog.tree-ssa Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
MAINTAINERS * MAINTAINERS: Remove myself from write-after-approval. 2004-08-13 14:29:31 +00:00
Makefile.def Makefile.in: Regenerate. 2004-08-17 07:27:16 +00:00
Makefile.in Makefile.in: Regenerate. 2004-08-17 07:27:16 +00:00
Makefile.tpl Makefile.in: Regenerate. 2004-08-17 07:27:16 +00:00
README
README.SCO
compile
config-ml.in config-ml.in: Pass FFLAGS and ADAFLAGS for multilibs, handle F77 like CC. 2004-05-30 23:54:22 +02:00
config.guess
config.if
config.rpath
config.sub
configure Patch from Robert Millan for kfreebsd-gnu/knetbsd-gnu. 2004-08-17 15:06:46 -07:00
configure.in Patch from Robert Millan for kfreebsd-gnu/knetbsd-gnu. 2004-08-17 15:06:46 -07:00
depcomp Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
install-sh
libtool.m4 re PR bootstrap/15120 ([3.3 only] [libtool bug] hidden symbol `__sdivsi3_i4' is referenced by DSO) 2004-05-18 10:11:38 +00:00
ltcf-c.sh Patch from Robert Millan. 2004-04-26 23:14:30 -07:00
ltcf-cxx.sh Index: ChangeLog 2004-08-03 00:52:18 +00:00
ltcf-gcj.sh Patch from Robert Millan. 2004-04-26 23:14:30 -07:00
ltconfig Patch from Robert Millan. 2004-04-26 23:14:30 -07:00
ltmain.sh
missing
mkdep
mkinstalldirs
move-if-change
symlink-tree
ylwrap

README

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.