[lno] "no flow-sensitive alias info" warning to vectorizer
Diego Novillo
dnovillo@redhat.com
Tue Feb 24 16:51:00 GMT 2004
On Tue, 2004-02-24 at 10:59, Dorit Naishlos wrote:
> I've noticed a new warning is being generated against the vectorizer (I
> think it appeared after the recent merge with tree-ssa):
>
> "NOTE: no flow-sensitive alias info for vect_pX.5_14 in *vect_pX.5_14 =
> vect_cst_.6;"
>
These are mostly harmless. They just inform you that a given SSA_NAME
has no alias information.
> for the following vectorized tree sequence:
>
> 1 vect_pX.1_11 = &X;
> 2 vect_iv_.3_12 = vect_iv_.2_15;
> 3 vect_iv_.4_13 = vect_iv_.3_12 * 16;
> 4 vect_pX.5_14 = vect_pX.1_11 + vect_iv_.4_13;
> 5 *vect_pX.5_14 = vect_cst_.6_18;
>
> Currently, I only set 'type_mem_tag' to vectorizer generated pointers,
> using:
>
> get_var_ann (ptr)->type_mem_tag = array_base;
>
Hmm, it would be better if you can call the alias analyzer to set memory
tags. Ideally, only the alias analyzer should be assigning memory
tags. In this case, I expect 'vect_pX.5_14' to have 'X' as its only
alias.
The net effect should be that you will only get virtual operands for 'X'
every time you emit a dereference of vect_pX.5.
> Can I (and should I) do something in order to not get this new warning?
> Should I set a 'name_mem_tag' as well? which API should I use?
>
Try scheduling a compute_may_aliases pass right after the vectorizer.
Oh, and try not to create memory tags manually.
Diego.
More information about the Gcc
mailing list