[PATCH] D23688: AMDGPU/SI: Implement a custom MachineSchedStrategy

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 25 12:17:47 PDT 2016


arsenm added a comment.

In https://reviews.llvm.org/D23688#525514, @mareko wrote:

> In https://reviews.llvm.org/D23688#525512, @arsenm wrote:
>
> > In https://reviews.llvm.org/D23688#525511, @mareko wrote:
> >
> > > In https://reviews.llvm.org/D23688#525486, @arsenm wrote:
> > >
> > > > In https://reviews.llvm.org/D23688#525484, @mareko wrote:
> > > >
> > > > > For shader type = VS, please don't take the LDS size into account. The LDS size is unknown at compile time and it's almost always much less than what's declared.
> > > >
> > > >
> > > > This is only accounting for the known static LDS, there's no reason to special case this
> > >
> > >
> > > What is the "known static LDS"?
> >
> >
> > The declared. if you mean these shaders are creating a huge LDS array and don't intend to use it, they should switch to passing in a local pointer argument
>
>
> What would the LLVM IR look like in this case? Do we have tests exercising LDS passed in a pointer argument?


Yes, this is how OpenCL handles dynamic LDS. See local-memory.ll, it's just an addrspace(3)* argument to the function.

The alternative is to either have an intrinsic that returns the base LDS pointer so we know that dynamic LDS is in use, or to have an attribute that dynamic LDS is used and you can just use 0 directly


https://reviews.llvm.org/D23688





More information about the llvm-commits mailing list