On 07/20/2016 08:37 AM, Ilya Enkovich wrote:

Here is an updated version.

Thanks,
Ilya
--
gcc/

2016-07-20  Ilya Enkovich  <ilya.enkov...@intel.com>

        * dbgcnt.def (vect_tail_combine): New.
        * params.def (PARAM_VECT_COST_INCREASE_COMBINE_THRESHOLD): New.
        * tree-vect-data-refs.c (vect_get_new_ssa_name): Support vect_mask_var.
        * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Support
        epilogue combined with loop body.
        (vect_do_peeling_for_loop_bound): LIkewise.
        (vect_do_peeling_for_alignment): ???
        * tree-vect-loop.c Include alias.h and dbgcnt.h.
        (vect_estimate_min_profitable_iters): Add 
ret_min_profitable_combine_niters
        arg, compute number of iterations for which loop epilogue combining is
        profitable.
        (vect_generate_tmps_on_preheader): Support combined apilogue.
        (vect_gen_ivs_for_masking): New.
        (vect_get_mask_index_for_elems): New.
        (vect_get_mask_index_for_type): New.
        (vect_create_narrowed_masks): New.
        (vect_create_widened_masks): New.
        (vect_gen_loop_masks): New.
        (vect_mask_reduction_stmt): New.
        (vect_mask_mask_load_store_stmt): New.
        (vect_mask_load_store_stmt): New.
        (vect_combine_loop_epilogue): New.
        (vect_transform_loop): Support combined apilogue.
I think this is OK.  We've just got patch #5 to work through now, correct?

Jeff

Reply via email to