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]

Re: updated version of vectorizer patches #2, #5


Committed, with the following formatting fixes:
- avoid 80 columns overflow
- fix a few gcc coding conventions violations here and there
- added documentation to a few functions, where it was missing.

Attached is the diff that contains the formatting fixes I made relative to
your patch (ulb_and_peeling.fixes), and also the entire patch that I
committed (ulb_and_peeling.oct14).

thanks,

dorit

(See attached file: ulb_and_peeling.oct14)(See attached file:
ulb_and_peeling.fixes)




                                                                                                                                
                      Olga Golovanevsky                                                                                         
                                               To:       gcc-patches@gcc.gnu.org                                                
                      13/10/2004 16:20         cc:       Richard Henderson <rth@redhat.com>, Ayal Zaks/Haifa/IBM@IBMIL, Dorit   
                                                Naishlos/Haifa/IBM@IBMIL                                                        
                                               From:     Olga Golovanevsky/Haifa/IBM@IBMIL                                      
                                               Subject:  updated version of vectorizer patches #2, #5                           
                                                                                                                                



This patch contains vectorizer patches #2,#5
(approved here: http://gcc.gnu.org/ml/gcc-patches/2004-10/msg00927.html)
updated according to edge-vector changes and with one bug fixed.

The check was missing to prevent prolog loop to
iterate more that original loop count. (The number of iteration
of prolog loop is calculated based on alignment info).
The solution (by Ayal) is to allow prolog loop iterate minimum between
the number calculated from alignment and the original loop count.

To be committed.

olga

ChangeLog:

2004-10-12  Olga Golovanevsky  <olga@il.ibm.com>

        * tree-vectorizer.c (vect_generate_tmps_on_preheader):
        (vect_update_ivs_after_vectorizer):
        (vect_transform_for_unknown_loop_bound):
        (tree_duplicate_loop_to_edge):
        (allocate_new_names):
        (rename_use_op):
        (rename_def_op):
        (rename_variables_in_bb):
        (free_new_names):
        (rename_variables_in_loop):
        (copy_phi_nodes):
        (update_phis_for_duplicate_loop):
        (update_phi_nodes_for_guard):
        (make_loop_iterate_ntimes):
        (tree_duplicate_loop_to_edge_cfg):
        (add_loop_guard):
        (vect_analyze_loop_with_symbolic_num_of_iters):
        (verify_loop_for_duplication):
        (vect_gen_niters_for_prolog_loop):
        (vect_update_niters_after_peeling):
        (vect_update_inits_of_dr):
        (vect_update_inits_of_drs):
         (vect_build_loop_niters):
        (vect_do_peeling_for_alignment): New functions.
        (vect_transform_loop): Add unknown and known but indivisible loop
bound support; add peeling for unalignment support.
        (vect_analyze_loop_form): Support symbolic number of iterations.
        (vect_transform_loop_bound): New input parameter.
        (vect_get_loop_niters): Change input parameter type.
        (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
        (vectorizable_store): Allow unaligned access.
         (vectorize_loops): Add rewrite_into_loop_closed_ssa.
        (vect_analyze_data_refs_alignment): Allowed one unaligned
store.
        * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
to use tree.
        (LOOP_VINFO_INT_NITERS): New macro.
         (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
        (do_peeling_for_alignment):
        (unaligned_drs): New members of _loop_vec_info.
        (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
         * testsuite/gcc.dg/vect/vect-28.c : Remove xfail.
         * testsuite/gcc.dg/vect/vect-30.c : Remove xfail.
         * testsuite/gcc.dg/vect/vect-31.c : Vectorize 4 loops
instead of 2.
         * testsuite/gcc.dg/vect/vect-33.c : Remove xfail.
         * testsuite/gcc.dg/vect/vect-44.c : Remove xfail.
         * testsuite/gcc.dg/vect/vect-46.c : Remove xfail.
         * testsuite/gcc.dg/vect/vect-50.c : Remove xfail.
         * testsuite/gcc.dg/vect/vect-52.c : Remove xfail.
         * testsuite/gcc.dg/vect/vect-54.c : Remove xfail.
         * testsuite/gcc.dg/vect/vect-58.c : Remove xfail.
         * testsuite/gcc.dg/vect/vect-60.c : Remove xfail.
         * testsuite/gcc.dg/vect/vect-64.c : Vectorize 3 loops
instead of 1.
         * testsuite/gcc.dg/vect/vect-66.c : Vectorize 3 loops
instead of 2.
         * testsuite/gcc.dg/vect/vect-68.c : Vectorize 4 loops
instead of 2.
         * testsuite/gcc.dg/vect/vect-69.c : Vectorize 4 loops
instead of 2.
         * testsuite/gcc.dg/vect/vect-8.c : Remove xfail.
         * testsuite/gcc.dg/vect/vect-80.c : Remove xfail.
         * testsuite/gcc.dg/vect/vect-none.c : Vectorize 1 loops
instead of 0.



#### ulb_and_peeling.txt has been removed from this note on October 14,
2004 by Dorit Naishlos

Attachment: ulb_and_peeling.oct14
Description: Binary data

Attachment: ulb_and_peeling.fixes
Description: Binary data


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