gcc/gcc ChangeLog.apple-ppc Makefile.in target ...
dpatel@gcc.gnu.org
dpatel@gcc.gnu.org
Sun Jun 13 00:05:00 GMT 2004
CVSROOT: /cvs/gcc
Module name: gcc
Branch: apple-ppc-branch
Changes by: dpatel@gcc.gnu.org 2004-06-13 00:05:20
Modified files:
gcc : ChangeLog.apple-ppc Makefile.in target-def.h
target.h tree-dfa.c tree-flow.h tree-gimple.c
tree-ssa-loop-im.c tree-ssa-operands.c
tree-ssanames.c tree-vectorizer.c
tree-vectorizer.h tree.c tree.h
gcc/config/rs6000: rs6000.c
Added files:
gcc : tree-if-conv.c
gcc/testsuite/gcc.dg/tree-ssa-vect: ifc-01.c
Log message:
Introduce if-conversion for auto-vectorizer.
Radar 3691431
* Makefile.in (OBJS-common): Add tree-if-conv.o.
(tree-if-conv.o): New rule.
* target-def.h (TARGET_VECTOR_COMPARE_P, TARGET_VECTOR_COMPARE_FOR_P,
TARGET_VECTOR_COMPARE_STMT, TARGET_VECTOR_SELECT_P,
TARGET_VECTOR_SELECT_FOR_P, TARGET_VECTOR_SELECT_STMT): New.
(TARGET_INITIALIZER): New members.
* target.h (tree.h): Include.
(struct gcc_target.vect): New members - support_vector_compare_p,
support_vector_compare_for_p, vector_compare_stmt, support_vector_select_p,
support_vector_select_for_p, vector_select_stmt.
* tree-dfa.c (dump_immediate_uses_for): Print block index.
* tree-flow.h (enum move_pos): Move from ...
* tree-ssa-loop-im.c (enum move_pos): here.
* tree-if-conv.c: New file.
* tree-simple.c (is_gimple_stmt): Make COND_EXPR valid gimple.
* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Check t.
* tree-ssa-live.c (debug_var_map): New function.
* tree-ssa-live.h (debug_var_map): New function declaration.
* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variable): Add
flow_loop_scan() call.
* tree-ssa-operands (get_stmt_operands): Handle MODIFY_EXPR when COND_EXPR
is RHS.
(get_expr_operands): Same.
* tree-ssanames.c (make_ssa_name): Do not use free_ssanames.
(release_ssa_name): Same.
* tree-vectorizer.c (vect_transform_select): New function.
(vect_transform_compare): New function
(vect_is_supportable_operation): New function.
(vect_is_supportable_compare): New function.
(vect_is_supportable_select): New function.
(get_array_base): Move into tree.c.
(vect_loop_version): New function.
(second_loop_vers_available): New variable.
(default_vector_compare_p): New function.
(default_vector_compare_for_p): New function.
(default_vector_comapre_stmt): New function.
(default_vector_select_p): New function.
(default_vector_select_for_p): New function.
(default_vector_select_stmt): New function.
(vect_transform_stmt): Handle select_vec_info_type and
compare_vec_info_type.
(vect_is_supportable_op): Use vect_is_supportable_operation.
(vect_analyze_operations): Check select and compare support.
(vect_analyze_data_refs_alignment): Print data reference in dump file.
(vect_analyze_loop_form): Use if-conversion and update loop->num_nodes
check.
(vectorize_loops): Use vect_loop_version. Handle second loop version.
* tree-vectorizer.h (struct _stmt_vec_info): New members -
select_vec_info_type and compare_vec_info_type.
(default_vector_compare_p): New function decl.
(default_vector_compare_for_p): New function decl.
(default_vector_comapre_stmt): New function decl.
(default_vector_select_p): New function decl.
(default_vector_select_for_p): New function decl.
(default_vector_select_stmt): New function decl.
* tree.c (get_array_base): Move from tree-vectorizer to here.
* tree.h (get_array_base): New function decl.
* config/rs6000 (vector_builtin_fns): New.
(rs6000_vector_compare_p): New function.
(rs6000_vector_compare_for_p): New function.
(rs6000_vector_compare_stmt): New function.
(rs6000_vector_select_p): New function.
(rs6000_vector_select_for_p): New function.
(rs6000_vector_select_stmt): New function.
(TARGET_VECTOR_COMPARE_P, TARGET_VECTOR_COMPARE_FOR_P,
TARGET_VECTOR_COMPARE_STMT, TARGET_VECTOR_SELECT_P,
TARGET_VECTOR_SELECT_FOR_P, TARGET_VECTOR_SELECT_STMT): Define.
(def_builtin): Record builtin fn node in vector_builtin_fns.
* rs6000.h (enum rs6000_builtins): New entry - RS6000_BUILTIN_MAX.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-if-conv.c.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.apple-ppc.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.1.2.70&r2=1.1.2.71
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.903.2.195.2.11&r2=1.903.2.195.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target-def.h.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.29.2.30.2.7&r2=1.29.2.30.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target.h.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.32.2.31.2.7&r2=1.32.2.31.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-dfa.c.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.1.4.222.2.1&r2=1.1.4.222.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.1.4.197.2.4&r2=1.1.4.197.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-gimple.c.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=2.3.6.1&r2=2.3.6.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-im.c.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.1.4.2&r2=1.1.4.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-operands.c.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.1.2.17.2.2&r2=1.1.2.17.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssanames.c.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.1.2.6.6.1&r2=1.1.2.6.6.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.c.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.1.4.7&r2=1.1.4.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.h.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.1.4.3&r2=1.1.4.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.c.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.263.2.84.2.7&r2=1.263.2.84.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.342.2.179.2.7&r2=1.342.2.179.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.c.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.332.2.46.2.25&r2=1.332.2.46.2.26
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa-vect/ifc-01.c.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=NONE&r2=1.1.2.1
More information about the Gcc-cvs
mailing list