[Piglit] [PATCH] cl: Add test for CSR VGPRs caused by SGPR spilling

Matt Arsenault arsenm2 at gmail.com
Mon Aug 13 20:29:55 UTC 2018



> On May 8, 2018, at 18:45, Jan Vesely <jan.vesely at rutgers.edu> wrote:
> 
> On Tue, 2018-05-08 at 13:28 +0300, Matt Arsenault wrote:
>>> On Apr 8, 2018, at 19:56, Jan Vesely <jan.vesely at rutgers.edu> wrote:
>>> 
>>> On Fri, 2018-04-06 at 00:49 -0400, Matt Arsenault wrote:
>>>> ping
>>> 
>>> I'll need to setup the rocm stack to test this. It will take some time.
>>> It should work with clover as well (modulo bugs; asm parser, function
>>> calls, ...), right?
>>> 
>>> Jan
>> 
>> I thought calls were broken in general with clover because of the
>> missing link step? Besides that it should work
> 
> Linking works (both linking with libclc and cl-1.2 clLinkProgram) it
> just happens at IR level (if you consider that linking) so all function
> calls can be inlined.
> 
> The problem is that llvm backend generates relocation for function
> calls. This relocation is not handled by clover (you could call this
> 'calls are broken in general').
> 
> I see two ways to fix this;
> a) fix llvm to use fixup instead of relocation for internal function
> calls.
> b) fix clover to handle the function call relocation.
> 
> I tried a) but a simple
> "|| (GV->getLinkage() == GlobalValue::InternalLinkage)"
> in shouldEmitFixup() is not enough (the fixup value looks wrong)
> 
> I still think that a) is preferable, but now that 6.0 is out with the
> breakage we'll need to implement b) anyway.
> 
> I'll try to find some time to dig a bit more into this, but it's tricky
> since wrong jump leaves the GPU in unrecoverable state that needs
> manual power cycling on reboot.
> 
> Jan
>> 
>> -Matt


ping. Should this just skip the clover platform for now?


More information about the Piglit mailing list