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: [PATCH] [4.3 projects] Vectorizer, versioning for alias improvements



gcc-patches-owner@gcc.gnu.org wrote on 11/09/2007 15:06:42:

> Please find below modified patch. The patch adds a pruning of a list
> of may-alias ddrs. The pruning is done using grouping information
gathered
> by interleaving analysis and occurs after a call to
> vect_analyze_data_ref_accesses.
>
> Bootstrapped PPC and x86_64.
> Regtested on PPC.
> OK for mainline after passing regression on x86_64?

this is ok, just note that in the meantime Harsha's patch that replaces
TARG_COND_BRANCH_COST with TARG_COND_[TAKEN/NOT_TAKEN]_BRANCH_COST went in,
so you'll have to update this bit in your patch:

+  if (VEC_length (tree, LOOP_VINFO_MAY_MISALIGN_STMTS (loop_vinfo))
+      || VEC_length (ddr_p, LOOP_VINFO_MAY_ALIAS_DDRS (loop_vinfo)))
+    {
+      vec_outside_cost += TARG_COND_BRANCH_COST;
     }


... and since you need to make the above change, I'd appreciate if you
could consider:

1) updating the documentation of vect_analyze_data_ref_dependences
2) changing "vect_vfa_dr_equal" to some better name (maybe something like
"same_range_drs" or "same_group_drs"?)

thanks,
dorit

> -- Victor
>
> 2007-09-11  Victor Kaplansky <victork@il.ibm.com>
>
> ChangeLog:
>
>       * tree-vect-analyze.c (vect_vfa_dr_equal): New.
>       (vect_vfa_range_equal): New.
>       (vect_is_duplicate_ddr): Removed.
>       (vect_mark_for_runtime_alias_test): Do not perform marking when
>       optimizing for size or max_param for alias checking is zero.
>       Move the function before vect_analyze_data_ref_dependence.
>       (vect_analyze_data_ref_dependence): Add call to
>       vect_mark_for_runtime_alias_test in two cases when dependence
>       is not clear.
>       (vect_analyze_data_ref_dependences): Do not call to
>       vect_mark_for_runtime_alias_test.
>       (vect_prune_runtime_alias_test_list): New.
>       (vect_analyze_loop): Add call to
vect_prune_runtime_alias_test_list.
>       * tree-vect-transform.c (vect_estimate_min_profitable_iters):
>       Update vec_outside_cost.
>       (vect_vfa_segment_size): More compact code, use TYPE_SIZE_UNIT.
>       (vect_create_cond_for_alias_checks): Build the base address of data
>       reference from DR_GROUP_FIRST_DR.
>       (vect_loop_versioning): New.
>       (vect_transform_loop): Add a call to vect_loop_versioning.
>       Remove factored out code.
>
> (See attached file: vfa2-09.patch.txt)[attachment "vfa2-09.patch.
> txt" deleted by Dorit Nuzman/Haifa/IBM]


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