Go to file
Dorit Nuzman d29de1bf28 tree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info as argument instead of struct loop.
* tree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info
        as argument instead of struct loop.
        (nested_in_vect_loop_p): New function.
        (vect_relevant): Add enum values vect_used_in_outer_by_reduction and
        vect_used_in_outer.
        (is_loop_header_bb_p): New. Used to differentiate loop-header phis
        from other phis in the loop.
        (destroy_loop_vec_info): Add additional argument to declaration.

        * tree-vectorizer.c (supportable_widening_operation): Also check if
        nested_in_vect_loop_p (don't allow changing the order in this case).
        (vect_is_simple_reduction): Takes a loop_vec_info as argument instead
        of struct loop. Call nested_in_vect_loop_p and don't require
        flag_unsafe_math_optimizations if it returns true.
        (new_stmt_vec_info): When setting def_type for phis differentiate
        loop-header phis from other phis.
        (bb_in_loop_p): New function.
        (new_loop_vec_info): Inner-loop phis already have a stmt_vinfo, so just
        update their loop_vinfo.  Order of BB traversal now matters - call
        dfs_enumerate_from with bb_in_loop_p.
        (destroy_loop_vec_info): Takes additional argument to control whether
        stmt_vinfo of the loop stmts should be destroyed as well.
        (vect_is_simple_reduction): Allow the "non-reduction" use of a
        reduction stmt to be defines by a non loop-header phi.
        (vectorize_loops): Call destroy_loop_vec_info with additional argument.

        * tree-vect-transform.c (vectorizable_reduction): Call
        nested_in_vect_loop_p. Check for multitypes in the inner-loop.
        (vectorizable_call): Likewise.
        (vectorizable_conversion): Likewise.
        (vectorizable_operation): Likewise.
        (vectorizable_type_promotion): Likewise.
        (vectorizable_type_demotion): Likewise.
        (vectorizable_store): Likewise.
        (vectorizable_live_operation): Likewise.
        (vectorizable_reduction): Likewise. Also pass loop_info to
        vect_is_simple_reduction instead of loop.
        (vect_init_vector): Call nested_in_vect_loop_p.
        (get_initial_def_for_reduction): Likewise.
        (vect_create_epilog_for_reduction): Likewise.
        (vect_init_vector): Check which loop to work with, in case there's an
        inner-loop.
        (get_initial_def_for_inducion): Extend to handle outer-loop
        vectorization. Fix indentation.
        (vect_get_vec_def_for_operand): Support phis in the case vect_loop_def.
        In the case vect_induction_def get the vector def from the induction
        phi node, instead of calling get_initial_def_for_inducion.
        (get_initial_def_for_reduction): Extend to handle outer-loop
        vectorization.
        (vect_create_epilog_for_reduction): Extend to handle outer-loop
        vectorization.
        (vect_transform_loop): Change assert to just skip this case.  Add a
        dump printout.
        (vect_finish_stmt_generation): Add a couple asserts.

        (vect_estimate_min_profitable_iters): Multiply
        cost of inner-loop stmts (in outer-loop vectorization) by estimated
        inner-loop bound.
        (vect_model_reduction_cost): Don't add reduction epilogue cost in case
        this is an inner-loop reduction in outer-loop vectorization.

        * tree-vect-analyze.c (vect_analyze_scalar_cycles_1): New function.
        Same code as what used to be vect_analyze_scalar_cycles, only with
        additional argument loop, and loop_info passed to
        vect_is_simple_reduction instead of loop.
        (vect_analyze_scalar_cycles): Code factored out into
        vect_analyze_scalar_cycles_1. Call it for each relevant loop-nest.
        Updated documentation.
        (analyze_operations): Check for inner-loop loop-closed exit-phis during
        outer-loop vectorization that are live or not used in the outerloop,
        cause this requires special handling.
        (vect_enhance_data_refs_alignment): Don't consider versioning for
        nested-loops.
        (vect_analyze_data_refs): Check that there are no datarefs in the
        inner-loop.
        (vect_mark_stmts_to_be_vectorized): Also consider vect_used_in_outer
        and vect_used_in_outer_by_reduction cases.
        (process_use): Also consider the case of outer-loop stmt defining an
        inner-loop stmt and vice versa.
        (vect_analyze_loop_1): New function.
        (vect_analyze_loop_form): Extend, to allow a restricted form of nested
        loops.  Call vect_analyze_loop_1.
        (vect_analyze_loop): Skip (inner-)loops within outer-loops that have
        been vectorized.  Call destroy_loop_vec_info with additional argument.

        * tree-vect-patterns.c (vect_recog_widen_sum_pattern): Don't allow
        in the inner-loop when doing outer-loop vectorization. Add
        documentation and printout.
        (vect_recog_dot_prod_pattern): Likewise. Also add check for
        GIMPLE_MODIFY_STMT (in case we encounter a phi in the loop).

From-SVN: r127623
2007-08-19 09:39:50 +00:00
INSTALL
boehm-gc * include/private/gcconfig.h: Handle mips64-linux n64 ABI. 2007-08-15 06:42:16 +00:00
config Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New. 2007-08-18 16:15:39 +01:00
contrib Makefile.def (STAGE2_CFLAGS, [...]): Add to flags_to_pass. 2007-08-17 00:00:00 +00:00
fixincludes inclhack.def (solaris_math_5, [...]): Delete fixes. 2007-08-04 03:44:24 +00:00
gcc tree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info as argument instead of struct loop. 2007-08-19 09:39:50 +00:00
gnattools configure.ac: Update TOOLS_TARGET_PAIRS configuration to match gcc/ada/Makefile.in. 2007-06-06 15:18:52 +02:00
include ternary.h: Remove. 2007-07-25 16:26:45 +10:00
intl Makefile.in (distclean): Delete config files. 2006-09-27 18:51:52 +09:30
libada * Makefile.in: Add dummy install-pdf target. 2007-03-01 16:05:13 -08:00
libcpp re PR preprocessor/32974 (#pragma GCC dependency generates extra token error.) 2007-08-18 17:54:11 +00:00
libdecnumber configure.ac: Add AC_CANONICAL_TARGET. 2007-06-18 07:32:14 -07:00
libffi cls_multi_ushort.c, [...]: Remove xfail for mips64*-*-*. 2007-08-10 15:38:23 +00:00
libgcc configure.ac (set_have_cc_tls): Add a missing =. 2007-07-06 07:53:06 -07:00
libgfortran re PR libfortran/33079 (Optional empty strings do not appear to be 'PRESENT') 2007-08-17 13:09:23 +00:00
libgomp re PR target/32765 (Testsuite failures due to undefined symbol ___emutls_get_address) 2007-08-15 13:11:40 +00:00
libiberty make-relative-prefix.c (make_relative_prefix_1): Resource leaks. 2007-08-17 15:28:22 -04:00
libjava configure.host (gnu*): Set use_libgcj_bc to yes. 2007-08-15 22:49:49 +00:00
libmudflap Makefile.in: Rebuilt. 2007-07-27 00:16:35 +00:00
libobjc re PR libobjc/30731 (Warnings while compiling libobjc with the uleb128 changes) 2007-08-06 07:17:59 -07:00
libssp Regenerate aclocal.m4 in boehm-gc, libffi, libgfortran, libgomp, 2007-07-05 10:54:10 -07:00
libstdc++-v3 re PR testsuite/31884 (priority_queue_dijkstra.cc operates on deallocated memory) 2007-08-17 17:24:22 +00:00
maintainer-scripts update_web_docs_svn: Use -o with makeinfo, texi2dvi and texi2pdf commands. 2007-07-06 17:33:38 +01:00
zlib Regenerate aclocal.m4 in boehm-gc, libffi, libgfortran, libgomp, 2007-07-05 10:54:10 -07:00
ABOUT-NLS
COPYING COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
COPYING.LIB Update COPYING.LIB from upstream. Correct last Changelog. 2005-07-14 01:41:54 +00:00
COPYING3 COPYING_v3: New file. 2007-07-17 08:37:53 +00:00
COPYING3.LIB COPYING_v3: New file. 2007-07-17 08:37:53 +00:00
ChangeLog Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New. 2007-08-18 16:15:39 +01:00
ChangeLog.tree-ssa
MAINTAINERS * MAINTAINERS (Write After Approval): Change my email address. 2007-08-14 08:25:41 +00:00
Makefile.def Makefile.def (STAGE2_CFLAGS, [...]): Add to flags_to_pass. 2007-08-17 00:00:00 +00:00
Makefile.in Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New. 2007-08-18 16:15:39 +01:00
Makefile.tpl Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New. 2007-08-18 16:15:39 +01:00
README
README.SCO * README.SCO: Update the URL. 2005-05-08 17:49:46 +00:00
compile COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
config-ml.in * config-ml.in: Pass ${ml_config_env} to configure calls. 2007-04-14 19:48:36 +00:00
config.guess * config.sub, config.guess: Update from upstream sources. 2007-06-07 09:23:20 +10:00
config.rpath all files: Update FSF address. 2005-07-16 02:30:53 +00:00
config.sub * config.sub, config.guess: Update from upstream sources. 2007-06-07 09:23:20 +10:00
configure Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New. 2007-08-18 16:15:39 +01:00
configure.ac Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New. 2007-08-18 16:15:39 +01:00
depcomp top level: 2005-06-13 08:26:05 +00:00
install-sh COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
libtool-ldflags libtool-ldflags: New script. 2006-01-03 00:30:27 +00:00
libtool.m4 libtool.m4 (LT_CMD_MAX_LEN): Try using getconf to set lt_cv_sys_max_cmd_len. 2007-06-01 11:32:07 +00:00
ltgcc.m4 [multiple changes] 2007-05-31 06:40:42 +00:00
ltmain.sh ltmain.sh: Fix Darwin verstring, remove ${wl}. 2007-05-25 21:26:27 +02:00
ltoptions.m4 ltmain.sh: Update from ToT Libtool. 2007-05-24 16:37:27 +00:00
ltsugar.m4 ltmain.sh: Update from ToT Libtool. 2007-05-24 16:37:27 +00:00
ltversion.m4 ltmain.sh: Update from ToT Libtool. 2007-05-24 16:37:27 +00:00
lt~obsolete.m4 lt~obsolete.m4: New. 2007-07-05 10:36:59 -07:00
missing COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
mkdep
mkinstalldirs COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
move-if-change Import from Autoconf sources: 2005-11-21 13:21:37 +11:00
symlink-tree COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
ylwrap COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00

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.