[PATCH] D36831: [AMDGPU] Transform __read_pipe_* and __write_pipe_*

Yaxun Liu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 23 09:47:53 PDT 2017


yaxunl added a comment.

In https://reviews.llvm.org/D36831#850356, @rampitec wrote:

> In https://reviews.llvm.org/D36831#850296, @yaxunl wrote:
>
> > In https://reviews.llvm.org/D36831#849725, @rampitec wrote:
> >
> > > In https://reviews.llvm.org/D36831#849723, @yaxunl wrote:
> > >
> > > > In https://reviews.llvm.org/D36831#848905, @rampitec wrote:
> > > >
> > > > > Run it without -amdgpu-prelink. It will fail to link. It will also fail to build library.
> > > >
> > > >
> > > > The device library has not implemented these functions yet. I think that's why it fails to link.
> > > >
> > > > I will investigate why it fails to build library.
> > >
> > >
> > > It fails because you do not use getFunction, effectively skipping prelinck check.
> >
> >
> > For mangled lib functions, my patch does not change how they are handled. They still go through getFunction.
> >
> > For unmangled lib functions, I only transform them if they are declarations. In post-linking pass, they are already linked and are not declarations, therefore they stay unchanged.
> >
> > I am wondering why there will be link failure.
>
>
> Library build works before link, but you do not check that prelink transfirmations allowed.


library contains definition of unmangled functions, since they are not declaration, the pass will not change them.


https://reviews.llvm.org/D36831





More information about the llvm-commits mailing list