[all-commits] [llvm/llvm-project] ff8a1c: [AMDGPU] Fix the inconsistency in soffset for MUBU...
Christudasan Devadasan via All-commits
all-commits at lists.llvm.org
Fri Jan 22 00:59:18 PST 2021
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: ff8a1cae181438b97937848060da1efb67117ea4
https://github.com/llvm/llvm-project/commit/ff8a1cae181438b97937848060da1efb67117ea4
Author: Christudasan Devadasan <Christudasan.Devadasan at amd.com>
Date: 2021-01-22 (Fri, 22 Jan 2021)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-private.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-private.mir
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/fold-fi-mubuf.mir
M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
Log Message:
-----------
[AMDGPU] Fix the inconsistency in soffset for MUBUF stack accesses.
During instruction selection, there is an inconsistency in choosing
the initial soffset value. With certain early passes, this value is
getting modified and that brought additional fixup during
eliminateFrameIndex to work for all cases. This whole transformation
looks trivial and can be handled better.
This patch clearly defines the initial value for soffset and keeps it
unchanged before eliminateFrameIndex. The initial value must be zero
for MUBUF with a frame index. The non-frame index MUBUF forms that
use a raw offset from SP will have the stack register for soffset.
During frame elimination, the soffset remains zero for entry functions
with zero dynamic allocas and no callsites, or else is updated to the
appropriate frame/stack register.
Also, did some code clean up and made all asserts around soffset
stricter to match.
Reviewed By: scott.linder
Differential Revision: https://reviews.llvm.org/D95071
More information about the All-commits
mailing list