[PATCH] [LoopVectorize]Teach Loop Vectorizer about interleaved data accesses

Hao Liu Hao.Liu at arm.com
Mon Apr 6 20:16:50 PDT 2015


In http://reviews.llvm.org/D8820#151658, @qcolombet wrote:

> Hi Hao,
>
> Thanks for working on this.
>
> I share Ahmed’s questions and concerns.
>  Also, as a very high level comment, where is the part of the patch that update the documentation for those intrinsics?
>  Without that documentation, it is hard, at least at first glance, to review the whole patch.
>
> Thanks,
> -Quentin


HI Quentin,

In http://reviews.llvm.org/D8820#151656, @delena wrote:

> (1) Teach LoopVectorizer to identify interleave accesses in the Legality phase. 
>  Ask LoopVectorizer (Legality->target) whether the specified indices are profitable, give data type and list of constant indices.
>  Different sequence may be profitable for different targets.
>
>   (2) Teach LoopVectorizer to transform interleave accesses to index.load/index.store with specific interleaved indices.
>
> index.load/store should just receive the indices. Not just interleave.
>
> - Elena


Hi Elena,

That's reasonable. I think I could split this patch into two:

  (1) One patch for new intrinsics including adding llvm.index.load/llvm.index.store, handling such intrinsics in SelectionDAG, modifying LangRef.
  (2) Another specific patch for LoopVectorizer including identifying and generating index.load/index.store.

Thanks,
-Hao


http://reviews.llvm.org/D8820

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list