For PAL, make sure Scratch Buffer Descriptor do not clobber GIT pointer
authorRam Nalamothu <VenkataRamanaiah.Nalamothu@amd.com>
Thu, 30 Apr 2020 18:25:24 +0000 (18:25 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 6 May 2020 14:31:15 +0000 (10:31 -0400)
commitf7060f4f88fb493753d1f8277f779c42e7cade2f
tree13efbae9d25609634f3308cc1ca382c0d20492da
parent2f1fe1864d2516f0f5d818140994caf795ccc9aa
For PAL, make sure Scratch Buffer Descriptor do not clobber GIT pointer

Since SRSRC has alignment requirements, first find non GIT pointer clobbered
registers for SRSRC and then if those registers clobber preloaded Scratch Wave
Offset register, copy the Scratch Wave Offset register to a free SGPR.
llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
llvm/lib/Target/AMDGPU/SIFrameLowering.h
llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
llvm/test/CodeGen/AMDGPU/SRSRC-GIT-clobber-check.mir [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/scratch-simple.ll