OSDN Git Service

AMDGPU: Make frame register caller preserved
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 14 Sep 2017 17:14:57 +0000 (17:14 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 14 Sep 2017 17:14:57 +0000 (17:14 +0000)
commita15bb16493b6dd0ad88e421acfd0f4053102bf01
tree9e5a0801b4351b8e7a385565690046df7a2df675
parent952c41cc6ec7d118d25506f9de7400fdbf546c28
AMDGPU: Make frame register caller preserved

Using SplitCSR for the frame register was very broken. Often
the copies in the prolog and epilog were optimized out, in addition
to them being inserted after the true prolog where the FP
was clobbered.

I have a hacky solution which works that continues to use
split CSR, but for now this is simpler and will get to working
programs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313274 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AMDGPU/AMDGPURegisterInfo.cpp
lib/Target/AMDGPU/SIISelLowering.cpp
test/CodeGen/AMDGPU/call-preserved-registers.ll
test/CodeGen/AMDGPU/ipra.ll
test/CodeGen/AMDGPU/sibling-call.ll