diff options
| author | Nicolas Vasilache <nicolas.vasilache@gmail.com> | 2021-02-02 11:19:21 +0000 |
|---|---|---|
| committer | Nicolas Vasilache <nicolas.vasilache@gmail.com> | 2021-02-02 11:31:09 +0000 |
| commit | 0a2a260aab177bfbdef5829ea16e39323ce50916 (patch) | |
| tree | f739aeba0325c993df2cf08637b41849db03cba0 /lldb/test/API/python_api | |
| parent | 4d904776a77aa80342c65cf72a962920cc9d1fa9 (diff) | |
| download | llvm-0a2a260aab177bfbdef5829ea16e39323ce50916.zip llvm-0a2a260aab177bfbdef5829ea16e39323ce50916.tar.gz llvm-0a2a260aab177bfbdef5829ea16e39323ce50916.tar.bz2 | |
[mlir][Linalg] Refactor Linalg vectorization for better reuse and extensibility.
This revision unifies Linalg vectorization and paves the way for vectorization of Linalg ops with mixed-precision operations.
The new algorithm traverses the ops in the linalg block in order and avoids recursion.
It uses a BlockAndValueMapping to keep track of vectorized operations.
The revision makes the following modifications but is otherwise NFC:
1. vector.transfer_read are created eagerly and may appear in a different order than the original order.
2. a more progressive vectorization to vector.contract results in only the multiply operation being converted to `vector.contract %a, %b, %zero`, where `%zero` is a
constant of the proper type. Later vector canonicalizations are assumed to rewrite vector.contract %a, %b, %zero + add to a proper accumulate form.
Differential revision: https://reviews.llvm.org/D95797
Diffstat (limited to 'lldb/test/API/python_api')
0 files changed, 0 insertions, 0 deletions
