[patch] Re: tree-vectorizer.c splitup
Dorit Naishlos
DORIT@il.ibm.com
Sun Feb 13 08:34:00 GMT 2005
Here is the splitup, as proposed.
Bootstrapped and tested on powerpc-darwin and i686-pc-linux-gnu
ok to commit?
thanks,
dorit
Changelog:
* Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New.
(tree-vectorizer.o): Added missing dependencies.
* tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern
decleration.
(slpeel_tree_peel_loop_to_edge): Function externalized (had a
static
declaration in tree-vectorizer.c, now has an extern declaration in
tree-vectorizer.h).
(slpeel_make_loop_iterate_ntimes):
(slpeel_can_duplicate_loop_p):
(slpeel_verify_cfg_after_peeling):
(vect_strip_conversion):
(get_vectype_for_scalar_type):
(vect_is_simple_use):
(vect_is_simple_iv_evolution):
(vect_can_force_dr_alignment_p):
(vect_supportable_dr_alignment):
(new_loop_vec_info):
(destroy_loop_vec_info):
(new_stmt_vec_info):
(vect_analyze_loop):
(vectorizable_load):
(vectorizable_store):
(vectorizable_operation):
(vectorizable_assignment):
(vect_transform_loop):
(vect_print_dump_info):
(vect_set_verbosity_level):
(find_loop_location): Likewise.
* tree-vectorizer.c (langhooks.h): #include removed.
(slpeel_tree_peel_loop_to_edge): Function externalized. Declaration
moved to tree-vectorized.h.
(slpeel_make_loop_iterate_ntimes):
(slpeel_can_duplicate_loop_p):
(slpeel_verify_cfg_after_peeling):
(vect_strip_conversion):
(get_vectype_for_scalar_type):
(vect_is_simple_use):
(vect_is_simple_iv_evolution):
(vect_can_force_dr_alignment_p):
(vect_supportable_dr_alignment):
(new_loop_vec_info):
(destroy_loop_vec_info):
(new_stmt_vec_info):
(vect_print_dump_info):
(vect_set_verbosity_level):
(find_loop_location): Likewise.
(vect_analyze_loop): Function externalized. Declaration moved to
tree-vectorized.h. Function definition moved to
tree-vect-analyze.c.
(vect_analyze_loop_form): Moved to tree-vect-analyze.c.
(vect_mark_stmts_to_be_vectorized):
(vect_analyze_scalar_cycles):
(vect_analyze_data_ref_accesses):
(vect_analyze_data_ref_dependences):
(vect_analyze_data_refs_alignment):
(vect_compute_data_refs_alignment):
(vect_enhance_data_refs_alignment):
(vect_analyze_operations):
(exist_non_indexing_operands_for_use_p):
(vect_mark_relevant):
(vect_stmt_relevant_p):
(vect_get_loop_niters):
(vect_analyze_data_ref_dependence):
(vect_compute_data_ref_alignment):
(vect_analyze_data_ref_access):
(vect_analyze_pointer_ref_access):
(vect_can_advance_ivs_p):
(vect_get_ptr_offset):
(vect_analyze_offset_expr):
(vect_base_addr_differ_p):
(vect_object_analysis):
(vect_address_analysis):
(vect_get_memtag): Likewise.
(vectorizable_load): Function externalized. Declaration moved to
tree-vectorized.h. Function definition moved to
tree-vect-transform.c.
(vectorizable_store):
(vectorizable_operation):
(vectorizable_assignment):
(vect_transform_loop): Likewise.
(vect_transform_stmt): Moved to tree-vect-transform.c.
(vect_align_data_ref):
(vect_create_destination_var):
(vect_create_data_ref_ptr):
(vect_create_index_for_vector_ref):
(vect_create_addr_base_for_vector_ref):
(vect_get_new_vect_var):
(vect_get_vec_def_for_operand):
(vect_init_vector):
(vect_finish_stmt_generation):
(vect_generate_tmps_on_preheader):
(vect_build_loop_niters):
(vect_update_ivs_after_vectorizer):
(vect_gen_niters_for_prolog_loop):
(vect_update_inits_of_dr):
(vect_update_inits_of_drs):
(vect_do_peeling_for_alignment):
(vect_do_peeling_for_loop_bound): Likewise.
* tree-vect-analyze.c: New file.
* tree-vect-transform.c: New file.
Patch:
(See attached file: vect_splitup.tar.gz)
Richard Henderson <rth@redhat.com> wrote on 02/02/2005 00:25:12:
> On Mon, Jan 31, 2005 at 07:27:36PM +0200, Dorit Naishlos wrote:
> > tree-simple-loop-utils.c: loop-peeling utilities (non vectorizer
specific)
>
> How does this relate to tree-ssa-loop-ch.c? It looks like you've
> got duplicate code in here...
>
> > tree-vectorizer.c: main driver and general vectorization utilities
> > tree-vect-analyze.c: analysis functions
> > tree-vect-transform.c: transformation functions
>
> These seem ok.
>
> > Would this be acceptable for 4.0?
>
> Yeah.
>
>
>
> r~
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vect_splitup.tar.gz
Type: application/octet-stream
Size: 67254 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20050213/a9983a91/attachment.obj>
More information about the Gcc-patches
mailing list