diff options
author | Hongren Zheng <i@zenithal.me> | 2025-03-06 01:20:15 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-06 01:20:15 +0800 |
commit | c3c1230e731af9e989c4235e451d3d4b35adc512 (patch) | |
tree | 8cb99774e018d8bc500fae406572d0ce5d94aaca /llvm/lib/Transforms/Utils/LoopUtils.cpp | |
parent | d4ab3df320f9eebf11cc5fb600a0919f93678abe (diff) | |
download | llvm-c3c1230e731af9e989c4235e451d3d4b35adc512.zip llvm-c3c1230e731af9e989c4235e451d3d4b35adc512.tar.gz llvm-c3c1230e731af9e989c4235e451d3d4b35adc512.tar.bz2 |
[mlir][NFC] Migrate to OpAsmAttrInterface for some Builtin Attributes for alias (#128191)
After the introduction of `OpAsmAttrInterface` for alias in #124721, the
natural thought to exercise it would be migrating the MLIR existing
alias generation method, i.e. `OpAsmDialectInterface`, to use the new
interface.
There is a `BuiltinOpAsmDialectInterface` that generates aliases for
`AffineMapAttr` and `IntegerSetAttr`, and these attributes could be
migrated to use `OpAsmAttrInterface`.
However, the tricky part is that `OpAsmAttrInterface` lives in
`OpImplementation.h`. If `BuiltinAttributes.h` includes that, it would
become a cyclic inclusion.
Note that only BuiltinAttribute/Type would face such issue as outside
user can just include `OpImplementation.h` (see downstream example
https://github.com/google/heir/pull/1437)
The dependency is introduced by the fact that `OpAsmAttrInterface` uses
`OpAsmDialectInterface::AliasResult`.
The solution to is: Put the `AliasResult` in `OpAsmSupport.h` that all
interfaces can include that header safely. The API wont break as
`mlir::OpAsmDialectInterface::AliasResult` is a typedef of this class.
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
0 files changed, 0 insertions, 0 deletions