AMDGPU: Fix emitting multiple stack loads for stack passed workitems
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 5 Sep 2019 23:40:14 +0000 (23:40 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 5 Sep 2019 23:40:14 +0000 (23:40 +0000)
commit59ff77ee38c6902ffa4b4bc71e80ab01032babec
tree0fb3b583d9e5cfa82d24ecde9bda472db42e787c
parent9dd453ce8d6b0d0970ed11a93d5180f74f620078
AMDGPU: Fix emitting multiple stack loads for stack passed workitems

The same stack is loaded for each workitem ID, and each use. Nothing
prevents you from creating multiple fixed stack objects with the same
offsets, so this was creating a load for each unique frame index,
despite them being the same offset. Re-use the same frame index so the
loads are CSEable.

llvm-svn: 371148
llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll