| [AMD] Add pass to convert tt.load/tt.store to buffer operations (#4966)
This PR is only introducing a ttgir pass to convert tt.load/tt.store
to amdgpu.buffer_load/amdgpu.buffer_load, _when this is possible_ :
this means we need to check for 3 conditions:
1. The pointer arithmetic has been canonicalized
(scalarPtr->splat->addptr->load/store)
2. The offsets are 32-bits
3. The offsets are non-negative. We use a mix of analysis and
assumptions to verify this condition
Right now the functionality is gated behind an AMDGCN_USE_BUFFER_OPS,
which now also covers the pointer canonicalization pass which is mostly
meant to handle this.
| 1 年前 |