[llvm] r308325 - AMDGPU: Figure out private memory regs after lowering

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 24 11:07:24 PDT 2017


> On Jul 24, 2017, at 02:58, Michel Dänzer via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> 
> Hi Matt,
> 
> 
> On 19/07/17 01:44 AM, Matt Arsenault via llvm-commits wrote:
>> Author: arsenm
>> Date: Tue Jul 18 09:44:56 2017
>> New Revision: 308325
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=308325&view=rev
>> Log:
>> AMDGPU: Figure out private memory regs after lowering
>> 
>> Introduce pseudo-registers for registers needed for stack
>> access, which are replaced during finalizeLowering.
>> Note these pseudo-registers are currently only used for the
>> used register location, and not for determining their
>> input argument register.
>> 
>> This is better because it avoids the need to try to predict
>> whether a call will be emitted from the IR, and also
>> detects stack objects introduced by legalization.
>> 
>> Test changes are from the HasStackObjects check being more
>> accurate since stack objects introduced during legalization
>> are now known.
> 
> This broke the piglit test
> spec at glsl-1.50@execution at geometry@max-input-components and a bunch of
> tests under spec at arb_gpu_shader_int64@execution at built-in-functions, e.g.
> spec at arb_gpu_shader_int64@execution at built-in-functions@fs-op-div-int64_t-i64vec4
> for me on Kaveri.
> 
> Attaching the LLVM IR of the shader from the latter which gets miscompiled.
> 

r308903 should fix it


More information about the llvm-commits mailing list