AMDGPU: Disable stack realignment for kernels
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 3 Jun 2019 21:33:22 +0000 (21:33 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 3 Jun 2019 21:33:22 +0000 (21:33 +0000)
commit0ceda9fb5c8ff2a21ddcaa2f8a8b969a065b4553
treecde31def4c09153b6a2a71778dd2d7b2871d6818
parent7500c97ce4bda8a0735b737231b26bde922620f5
AMDGPU: Disable stack realignment for kernels

This is something of a workaround, and the state of stack realignment
controls is kind of a mess. Ideally, we would be able to specify the
stack is infinitely aligned on entry to a kernel.

TargetFrameLowering provides multiple controls which apply at
different points. The StackRealignable field is used during
SelectionDAG, and for some reason distinct from this
hook. StackAlignment is a single field not dependent on the
function. It would probably be better to make that dependent on the
calling convention, and the maximum value for kernels.

Currently this doesn't really change anything, since the frame
lowering mostly does its own thing. This helps avoid regressions in a
future change which will rely more heavily on hasFP.

llvm-svn: 362447
llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
llvm/lib/Target/AMDGPU/SIRegisterInfo.h
llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/stack-realign.ll