Global Values Vectorization - Take 3

Renato Golin renato.golin at linaro.org
Mon Feb 18 15:26:06 PST 2013


On 18 February 2013 23:01, Arnold Schwaighofer <aschwaighofer at apple.com>wrote:

> +  unsigned MaxByteWidth = (TTI->getRegisterBitWidth(true) / 8)*TTI->
> getMaximumUnrollFactor();
>

Excellent, makes sense, thanks!


We already add runtime checks for unidentified objects (you probably know
> that - just making sure). Do you plan to add more? Are you thinking of
> bounds within underlying objects?
>

Exactly. I wanted to do that statically on top of the alias analysis, but
all the discussions about using AA, TBAA and some new groovy metadata made
me leave it for later.

I may be able to come up with a simple static range check, for instance, if
all accesses are controlled from inside the loop by the induction variable,
it might be easy to predict some common simple patterns. But this will
definitely be a small subset and we'll have to be very conservative.


Thanks for the review, I'll work on folding the representation and try to
avoid multimaps. Once this is in, we can start worrying about range checks,
static or dynamic.

--renato
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130218/8d8e313b/attachment.html>


More information about the llvm-commits mailing list