Details
Details
- Reviewers
Joe_Nash rampitec arsenm piotr - Group Reviewers
Restricted Project - Commits
- rG7b9f620e7846: [AMDGPU] Work around GFX11 flat scratch SVS swizzling bug
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
I note that this includes global isel changes - but none of the tests are testing it?
Comment Actions
Well spotted. The problem is that it's difficult or impossible to persuade globalisel to use the svs addressing mode in the first place, because it assumes that frame offsets are divergent so doesn't put them in an sgpr for us. See AMDGPURegisterBankInfo.cpp:
case AMDGPU::G_FRAME_INDEX: { // TODO: This should be the same as other constants, but eliminateFrameIndex // currently assumes VALU uses. unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); OpdsMapping[0] = AMDGPU::getValueMapping(AMDGPU::VGPRRegBankID, Size); break; }
Comment Actions
Well spotted. The problem is that it's difficult or impossible to persuade globalisel to use the svs addressing mode in the first place, because it assumes that frame offsets are divergent so doesn't put them in an sgpr for us. See AMDGPURegisterBankInfo.cpp:
Fair enough