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