diff options
author | Alex Zinenko <zinenko@google.com> | 2023-02-03 14:00:33 +0000 |
---|---|---|
committer | Alex Zinenko <zinenko@google.com> | 2023-02-09 12:11:24 +0000 |
commit | a702628843befd93e7ac074c299254ff90b9de63 (patch) | |
tree | 35f797dbc28d03ae36efca917d33781e3ed95f4c /clang/tools/include-mapping/cppreference_parser.py | |
parent | ed66b81f7a8085a8ff3da4175a1fff1f78924dc1 (diff) | |
download | llvm-a702628843befd93e7ac074c299254ff90b9de63.zip llvm-a702628843befd93e7ac074c299254ff90b9de63.tar.gz llvm-a702628843befd93e7ac074c299254ff90b9de63.tar.bz2 |
[mlir] add support for transform dialect value handles
Introduce support for the third kind of values in the transform dialect:
value handles. Similarly to operation handles, value handles are
pointing to a set of values in the payload IR. This enables
transformation to be targeted at specific values, such as individual
results of a multi-result payload operation without indirecting through
the producing op or block arguments that previously could not be easily
addressed. This is expected to support a broad class of memory-oriented
transformations such as selective bufferization, buffer assignment, and
memory transfer management.
Value handles are functionally similar to operation handles and require
similar implementation logic. The most important change concerns the
handle invalidation mechanism where operation and value handles can
affect each other.
This patch includes two cleanups that make it easier to introduce value
handles:
- `RaggedArray` structure that encapsulates the SmallVector of
ArrayRef backed by flat SmallVector logic, frequently used in the
transform interfaces implementation;
- rewrite the tests that associated payload handles with an integer
value `reinterpret_cast`ed as a pointer, which were a frequent
source of confusion and crashes when adding more debugging
facilities that can inspect the payload.
Reviewed By: springerm
Differential Revision: https://reviews.llvm.org/D143385
Diffstat (limited to 'clang/tools/include-mapping/cppreference_parser.py')
0 files changed, 0 insertions, 0 deletions