Go to file
Zdenek Dvorak 9be872b77b re PR tree-optimization/18316 (Missed IV optimization)
PR tree-optimization/18316
	PR tree-optimization/19126
	* tree.c (build_int_cst_type): Avoid shift by size of type.
	* tree-scalar-evolution.c (simple_iv): Add allow_nonconstant_step
	argument.
	* tree-scalar-evolution.h (simple_iv): Declaration changed.
	* tree-ssa-loop-ivopts.c (struct iv_cand): Add depends_on
	field.
	(dump_cand): Dump depends_on information.
	(determine_biv_step): Add argument to simple_iv call.
	(contains_abnormal_ssa_name_p): Handle case expr == NULL.
	(find_bivs, find_givs_in_stmt_scev): Do not require step to be a
	constant.
	(add_candidate_1): Record depends_on for candidates.
	(tree_int_cst_sign_bit, constant_multiple_of): New functions.
	(get_computation_at, get_computation_cost_at, may_eliminate_iv):
	Handle ivs with nonconstant step.
	(iv_ca_set_remove_invariants, iv_ca_set_add_invariants): New functions.
	(iv_ca_set_no_cp, iv_ca_set_cp): Handle cand->depends_on.
	(create_new_iv): Unshare the step before passing it to create_iv.
	(free_loop_data): Free cand->depends_on.
	(build_addr_strip_iref): New function.
	(find_interesting_uses_address): Use build_addr_strip_iref.
	(strip_offset_1): Split the recursive part from strip_offset.
	Strip constant offset component_refs and array_refs.
	(strip_offset): Split the recursive part to strip_offset_1.
	(add_address_candidates): Removed.
	(add_derived_ivs_candidates): Do not use add_address_candidates.
	(add_iv_value_candidates): Add candidates with stripped constant
	offset.  Consider all candidates with initial value 0 important.
	(struct affine_tree_combination): New.
	(aff_combination_const, aff_combination_elt, aff_combination_scale,
	aff_combination_add_elt, aff_combination_add,
	tree_to_aff_combination, add_elt_to_tree, aff_combination_to_tree,
	fold_affine_sum): New functions.
	(get_computation_at): Use fold_affine_sum.
	* tree-ssa-loop-manip.c (create_iv): Handle ivs with nonconstant step.
	* tree-ssa-loop-niter.c (number_of_iterations_exit): Add argument
	to simple_iv call.

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

From-SVN: r99059
2005-05-01 08:08:14 +00:00
boehm-gc os_dep.c, gc_locks.h: Import CRIS port by Simon Posnjak from gc6.4. 2005-04-19 16:01:38 +00:00
config configure: Regenerate. 2005-04-29 13:54:56 +00:00
contrib * gennews (files): Update for GCC 4.0. 2005-04-17 12:19:23 +01:00
fastjar
fixincludes system.h (fopen, [...]): Define these to the unlocked libiberty functions. 2005-04-19 12:37:08 +00:00
gcc re PR tree-optimization/18316 (Missed IV optimization) 2005-05-01 08:08:14 +00:00
gnattools re PR ada/19959 (Can't compile gnattools for the cross targets) 2005-03-30 10:56:55 +02:00
include libiberty.h (unlock_std_streams): New. 2005-04-26 00:14:35 +00:00
INSTALL
intl
libada Fix ada enabled "make html". 2005-04-27 18:39:03 -07:00
libcpp Fix matmul PR18857 and supply testcase 2005-04-30 18:17:54 +00:00
libffi Fix typo in previous patch. 2005-04-29 15:15:01 +02:00
libgfortran re PR libfortran/18958 ([4.0 only] eoshift segfaults when shifting off the end of an array) 2005-04-30 20:51:39 +00:00
libiberty libiberty.h (unlock_std_streams): New. 2005-04-26 00:14:35 +00:00
libjava 2005-04-29 Michael Koch <konqueror@gmx.de> 2005-04-29 22:10:09 +00:00
libmudflap * configure: Regenerate. 2005-04-13 01:41:26 +00:00
libobjc * configure: Regenerate. 2005-04-13 01:41:26 +00:00
libstdc++-v3 re PR libstdc++/21286 (filebuf::xsgetn vs pipes) 2005-04-30 06:54:08 +00:00
maintainer-scripts
zlib * configure: Regenerate. 2005-04-13 01:41:26 +00:00
.cvsignore
ABOUT-NLS
ChangeLog configure: Regenerate. 2005-04-29 13:54:56 +00:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess
config.rpath
config.sub * config.sub: Update from master copy. 2005-04-22 08:58:48 +00:00
configure configure: Regenerate. 2005-04-29 13:54:56 +00:00
configure.in configure.in: New local variable libgcj_ex_libffi. 2005-04-18 23:00:17 +00:00
COPYING
COPYING.LIB
depcomp
install-sh
libtool.m4 * libtool.m4: Update AC_LIBTOOL_SYS_MAX_CMD_LEN bits from upstream. 2005-04-13 01:12:15 +00:00
ltcf-c.sh
ltcf-cxx.sh
ltcf-gcj.sh
ltconfig
ltmain.sh
MAINTAINERS * MAINTAINERS: Add self as darwin maintainer. 2005-04-28 04:05:03 +00:00
Makefile.def
Makefile.in Makefile.tpl (BUILD_CONFIGARGS): Include --with-build-subdir. 2005-04-06 06:22:51 +00:00
Makefile.tpl Makefile.tpl (BUILD_CONFIGARGS): Include --with-build-subdir. 2005-04-06 06:22:51 +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.