This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ping [patch] Re: tree-vectorizer.c splitup





ok?
(with fixed changelog as Giovanni pointed out)

(it's a straight-forward cut-and-paste implementation of
http://gcc.gnu.org/ml/gcc-patches/2005-01/msg02284.html)


dorit

>
> 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~[attachment "vect_splitup.tar.gz" deleted by Dorit
Naishlos/Haifa/IBM]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]