[llvm] r184684 - LoopVectorize: Add utility class for checking dependency among accesses

Chandler Carruth chandlerc at google.com
Mon Jul 1 11:24:38 PDT 2013


Just FYI,

On Mon, Jul 1, 2013 at 11:18 AM, Arnold Schwaighofer <
aschwaighofer at apple.com> wrote:

> - Using GetElementPtr during the analysis.
>
>   Part of the current analysis depends on two geps with matching pointer
> types. I don’t think this is the right approach. Two differently typed
> GetElementPtr’s can compute the same access function. The GetElementPtr is
> only a way to describe address computation. GetElementPtrs don’t impose
> interesting constraints (see my next point) that would not be embodied by
> the ScalarEvolution of the pointer. But the ScalarEvolution is in a
> canonical form and therefore we would not need to dependent on matching gep
> pointer types.
>   I believe the analysis should directly work from and directly interpret
> the ScalarEvolution function describing the access function.
>

This has come up before. I made similar comments a long time ago about the
dependence analysis pass. I really think that it is using GEPs as though
they were SCEV descriptions of a pointer, and would be substantially better
to implement (as you describe) in terms of SCEVs directly.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130701/c43e9dd5/attachment.html>


More information about the llvm-commits mailing list