[PATCH] D111227: [WebAssembly] Implementation of table.grow/size and ref.null intrinsics
Paulo Matos via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 10 02:02:01 PST 2021
pmatos added inline comments.
================
Comment at: llvm/include/llvm/CodeGen/ValueTypes.td:240
// Pseudo valuetype mapped to the current pointer size.
def iPTR : ValueType<0, 254>;
----------------
pmatos wrote:
> pmatos wrote:
> > tlively wrote:
> > > Hmm, I wonder what "current pointer size" means here. The contrast between this and `iPTRAny` makes me think that there should be a way to control the address space of `iPTR` arguments. Maybe it's the address space attached to the call instruction for the intrinsic? If we can find a target-independent way to pass pointers to particular address spaces to intrinsics, that seems like it would be a better solution that putting specific knowledge of WebAssembly address spaces into IR/Type.h. This also might be worth asking about on llvm-dev.
> > Good point. I will take a look at this and if I can't figure it out in a reasonable amount of time, I will ask llvm-dev.
> hummm, I think this might not be that useful, a quick glance at the code shows:
>
> ```
> // An int value the size of the pointer of the current
> // target to any address space. This must only be used internal to
> // tblgen. Other than for overloading, we treat iPTRAny the same as iPTR.
> iPTRAny = 250,
> ```
> and
> ```
> // An int value the size of the pointer of the current
> // target. This should only be used internal to tblgen!
> iPTR = 254,
> ```
>
> I think that this is independent of address space. `iPTRAny` is barely used in code. I think for most purposes it's identical to `iPTR`. I will discuss this problem in `llvm-dev`.
I brought this issue up here: https://lists.llvm.org/pipermail/llvm-dev/2021-November/153640.html
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111227/new/
https://reviews.llvm.org/D111227
More information about the llvm-commits
mailing list