[PATCH] D32737: [Constants][SVE] Represent the runtime length of a scalable vector
Sanjoy Das via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat May 20 16:22:32 PDT 2017
sanjoy added a comment.
In https://reviews.llvm.org/D32737#760289, @lattner wrote:
> What are the semantics of select when the two vectors have different width? Does store do a memory allocation?
Maybe I misunderstood, but won't those selects be ill-typed?
================
Comment at: lib/IR/Constants.cpp:812
+ // Free the constant and any dangling references to it.
+ getContext().pImpl->VSVConstants.erase(getType());
+}
----------------
rengolin wrote:
> aemerson wrote:
> > rengolin wrote:
> > > So, in theory, you can have vscale constans of different integer types, and this would only clear the ones that are the same as this one?
> > >
> > > This sounds confusing.
> > Yes, in the same way you can have i32 undef, i64 undef etc.
> Right, makes sense.
Is there a minimum width, or is (say) an `i1 vscale` allowed? If there isn't a minimum, I presume the semantics is that the runtime value of `vscale` will be truncated to the type width?
https://reviews.llvm.org/D32737
More information about the llvm-commits
mailing list