tree 1617502815d7688262e8e88ab06761a4304e27c7
parent dc68166912baf5120389304ba317f818f406b4bd
author Alan Li <me@alanli.org> 1747933537 -0400
committer GitHub <noreply@github.com> 1747933537 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJoL1lhCRC1aQ7uu5UhlAAA+mQQAJASH3Jx2fNv8KCqDW8OOdJH
 OdVcOjW8LY5XjWKQgaDvRXzrTpCxcW5Gg92Oy8wa6xYM8fJG5Fzol0BpIQMcsx6C
 CYA/qthKOu70McBJifrq6FSQ9e9NJ2EA8AsVUtZpdDZEsOvmoKkC5WJQfMklxmYN
 04LdVXfrcR/pp9k5UN/psZQGTheJokKC3zHDSlHD9sP+ESItEMEAfAoZaOrkX6Er
 tiARQ9shuIa3ErvgXpmklxUt97MquykuloKI5x+Y9VpM74gI2g0thvXcX/f3144Q
 pfU7SfSCJ6jEnZTBQL7hl/NO85CNb3ShzB2/cTN5sODMrTzoVhV1ll9pxVJIVQAr
 fgSK61cN1kPyncVDV71CNw4hXeOc3NFUNDKXjwNcgiDBiY4LMv99iWbqpu7+99nq
 xtfl61hYp4jZ3PVDmzgmMMjtZxTMeGPDXic7YqvQHCbsJpkGLAYI8YFdkiXP2zHc
 66dJU6e3QWI7IlFHpTC9QVrczTVzwDGKfNhZCnzszSHTPwqEgMe0XGnTbid6RmD3
 5AXXVefjmvuFoEF2eFktd5gXIrOwiEKoPyy3kDRCLuMlM/kZ8pv3tcog6d0XAdlF
 /ase2z1xDgx14nmOZWsBu2upHLWoKdN15RnGpBziEa0K66+FMo6I2JzUzPjwP3vo
 rgTWw7FbW9MpLOoGykFC
 =Y3d8
 -----END PGP SIGNATURE-----
 

[MLIR] Add a utility pass to linearize `memref` (#136797)

To add a transformation that simplifies memory access patterns, this PR
adds a memref linearizer which is based on the GPU/DecomposeMemRefs
pass, with the following changes:
* support vector dialect ops
* instead of decompose memrefs to rank-0 memrefs, flatten higher-ranked
memrefs to rank-1.

Notes:
* After the linearization, a MemRef's offset is kept, so a
`memref<4x8xf32, strided<[8, 1], offset: 100>>` becomes `memref<32xf32,
strided<[1], offset: 100>>`.
* It also works with dynamic shapes and strides and offsets (see test
cases for details).
* The shape of the casted memref is computed as 1d, flattened.