diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-05-17 12:02:31 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-05-17 12:02:31 +0000 |
| commit | a3b5a386fa7b8bbb8c156131146b037a5b8a3daf (patch) | |
| tree | daef5733c8c0ce5199db304839445b2db77005c4 /llvm/lib/Target | |
| parent | b3dc73634c492085c861127953ed2f4ccade2fcc (diff) | |
| download | bcm5719-llvm-a3b5a386fa7b8bbb8c156131146b037a5b8a3daf.tar.gz bcm5719-llvm-a3b5a386fa7b8bbb8c156131146b037a5b8a3daf.zip | |
AMDGPU/GlobalISel: Use subreg index instead of extra unmerge
This saves instructions and extra steps, but I'm not sure about
introducing subregister indexes at this point.
llvm-svn: 361022
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp index 5ae472cd514..6a3e216a4f5 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp @@ -589,21 +589,15 @@ void AMDGPURegisterBankInfo::executeInWaterfallLoop( MRI.setRegClass(CurrentLaneOpRegLo, &AMDGPU::SReg_32_XM0RegClass); MRI.setRegClass(CurrentLaneOpRegHi, &AMDGPU::SReg_32_XM0RegClass); - // FIXME: Should be able to just use a subreg index here. - auto Unmerge32 = B.buildUnmerge(S32, UnmergePiece); - - MRI.setRegClass(Unmerge32.getReg(0), &AMDGPU::VGPR_32RegClass); - MRI.setRegClass(Unmerge32.getReg(1), &AMDGPU::VGPR_32RegClass); - // Read the next variant <- also loop target. BuildMI(*LoopBB, I, DL, TII->get(AMDGPU::V_READFIRSTLANE_B32), CurrentLaneOpRegLo) - .addReg(Unmerge32.getReg(0)); + .addReg(UnmergePiece, 0, AMDGPU::sub0); // Read the next variant <- also loop target. BuildMI(*LoopBB, I, DL, TII->get(AMDGPU::V_READFIRSTLANE_B32), CurrentLaneOpRegHi) - .addReg(Unmerge32.getReg(1)); + .addReg(UnmergePiece, 0, AMDGPU::sub1); CurrentLaneOpReg = B.buildMerge(LLT::scalar(64), |

