[PATCH] D91516: [AMDGPU] Support for device scope shared variables

Mahesha S via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 23 10:55:44 PST 2020


hsmhsm added a comment.

In D91516#2470285 <https://reviews.llvm.org/D91516#2470285>, @JonChesterfield wrote:

> I am sad to hear that. I thought the new scheme might be addressing that limitation.
>
> Direct calls containing LDS already work (llc inlines them). If the patch is correct, does it enable anything that doesn't already work?

I am very sorry, I fail to understand your comments.

First up all, function local LDS is not at all supported at the moment. When you say, it already work for direct calls, it is wrong.  We forcefully inline so that local LDS land up getting defined within kernel. Forceful iniling may not always work. It has other strong side effects on running applications. This feature is to overcome this limitation, I mean, to avoid forceful inlining, and provide some kind of first class support for function local LDS.

W.r.t indirect calls, all we can do is take advantage of whatever support already available within LLVM infrastructure and support indirect calls based on it.  We cannot do any magic here for well known hard problem in general (pointer analysis).  And doing analysis w.r.t indirect calls is not the goal of this pass.

W.r.t recursive calls, right now, we do not have any plan to support for it in the first release. We probably come back to it after we do first release to customer who is eagerly waiting for this feature.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D91516



More information about the llvm-commits mailing list