It does not seem to fold offsets but this is not specific
to the flat scratch as getPtrBaseWithConstantOffset() does
not return the split for these tests unlike its SDag
counterpart.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Not sure what you mean by the "split"
llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp | ||
---|---|---|
3644–3645 | Should hoist this up? |
llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp | ||
---|---|---|
3644–3645 | The block above processes G_PTR_ADD and reassigns SAddrs. G_PTR_ADD produces VGPR but resulting register can end up SGPR. |
llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp | ||
---|---|---|
3644–3645 | But the reassignment just creates an SGPR virt reg |
llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp | ||
---|---|---|
3644–3645 | It creates SGPR if all checks of G_PTR_ADD succeeded and it is proved uniform. If I move the check up we will have no chance to porcess G_PTR_ADD. |
Should hoist this up?