[PATCH] D32530: [SVE][IR] Scalable Vector IR Type

Graham Hunter via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 25 06:14:17 PDT 2019


huntergr added a comment.

In D32530#1477261 <https://reviews.llvm.org/D32530#1477261>, @hsaito wrote:

> In D32530#1477164 <https://reviews.llvm.org/D32530#1477164>, @rengolin wrote:
>
> > In D32530#1477041 <https://reviews.llvm.org/D32530#1477041>, @hfinkel wrote:
> >
> > > Exactly. Non-constant values can become constant. Constant values can be guarded by vscale-dependent runtime guards (both hand-written and compiler generated). My preference is to leave this not restricted to vscale == 1 values, but rather allow all values that can be supported at runtime, and have it be UB if, at runtime, the relevant index is not available.
> >
> >
> > +1
>
>
> That means a need for a warning to general developers: If there is a check for constant_index >= n to see if the result is a poison value, that code has to be changed so that it applies to non-scalable vector only. Hopefully not too many instances of that. I'm fine with this as long as the communication to the rest of LLVM community is clear about it.


Ok; I'll update the patch for that.

I think this works out fine, since this behaviour matches our downstream implementation, but I can summarize the extra semantic decisions in this review in a post to llvm-dev as well.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D32530/new/

https://reviews.llvm.org/D32530





More information about the llvm-commits mailing list