This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [lno] "no flow-sensitive alias info" warning to vectorizer
On Wed, 2004-02-25 at 02:22, Zdenek Dvorak wrote:
> if (TREE_CODE (op) == SSA_NAME)
> {
> /* We need to add a memory tag for the variable. But we do not want
> to add it to the temporary used for the computations, since this leads
> to problems in redundancy elimination when there are common parts
> in two computations refering to the different arrays. So we rewrite
> the base variable of the ssa name to a new temporary. */
> tmp_var = create_tmp_var (TREE_TYPE (op), "ruatmp");
> add_referenced_tmp_var (tmp_var);
> SSA_NAME_VAR (op) = tmp_var;
>
> var = get_base_decl (*use->op_p);
> if (var_ann (var)->type_mem_tag)
> var = var_ann (var)->type_mem_tag;
> var_ann (tmp_var)->type_mem_tag = var;
>
> name = get_base_var (*use->op_p);
> if (name && TREE_CODE (name) == SSA_NAME)
> {
> ssa_name_ann_t ann = ssa_name_ann (name), new_ann;
>
> if (ann && ann->name_mem_tag)
> {
> new_ann = get_ssa_name_ann (op);
> new_ann->name_mem_tag = ann->name_mem_tag;
> }
> }
> }
>
So, you're replacing all the VAR_DECLs inside SSA_NAMEs with something
new? Yeah, I guess you need to do all this.
Diego.