diff options
author | Mathieu Fehr <mathieu.fehr@gmail.com> | 2023-03-08 21:21:54 +0100 |
---|---|---|
committer | Mathieu Fehr <mathieu.fehr@gmail.com> | 2023-05-17 21:57:16 +0100 |
commit | 42987dfa3a85e0cec987b9f07a8ffe61073ddc52 (patch) | |
tree | b560ec140543acdd22a79a7f8ff1e46436d2a4e7 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 6dcad42acbd5d047ac276ca73f1dc0012a39e99e (diff) | |
download | llvm-42987dfa3a85e0cec987b9f07a8ffe61073ddc52.zip llvm-42987dfa3a85e0cec987b9f07a8ffe61073ddc52.tar.gz llvm-42987dfa3a85e0cec987b9f07a8ffe61073ddc52.tar.bz2 |
[mlir][irdl] Add `irdl.any_of` operation
The `irdl.any_of` operation represent a constraint that is satisfied
if any of its subconstraint is satisfied.
For instance, in the following example:
```
%0 = irdl.is f32
%1 = irdl.is f64
%2 = irdl.any_of(f32, f64)
```
`%2` can only be satisfied by `f32` or `f64`.
Note that the verification algorithm required by `irdl.any_of` is
non-trivial, since we want that the order of arguments of
`irdl.any_of` to not matter. For this reason, our registration
algorithm fails if two constraints used by `any_of` might be
satisfied by the same `Attribute`. This is approximated by checking
the possible `Attribute` bases of each constraints.
Depends on D145734
Reviewed By: Mogball
Differential Revision: https://reviews.llvm.org/D145735
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions