diff options
author | Matteo Franciolini <mfranciolini@tesla.com> | 2024-02-25 16:18:42 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-25 16:18:42 -0800 |
commit | da092e8808319b572fa9fea7eb74e55e7434a8b2 (patch) | |
tree | 85c3012c7e3df5191c91d68d0bcf4d266a8dc4a9 /llvm/lib/ProfileData/Coverage/CoverageMapping.cpp | |
parent | 085f9b0d146fc99bbb0e193593aad696fc50a056 (diff) | |
download | llvm-da092e8808319b572fa9fea7eb74e55e7434a8b2.zip llvm-da092e8808319b572fa9fea7eb74e55e7434a8b2.tar.gz llvm-da092e8808319b572fa9fea7eb74e55e7434a8b2.tar.bz2 |
Fix bytecode roundtrip of unregistered ops (#82932)
When roundtripping to bytecode an unregistered operation name that does
not contain any '.' separator, the bytecode writer will emit an op
encoding without a proper opName. In this case, the string just becomes
a possibly unknown dialect name. At parsing, this dialect name is
used as a proper operation name.
However, when the unregistered operation name coincidentally matches
that of a dialect, the parser would fail. That means we can't roundtrip
an unregistered op with a name that matches one of the registered
dialect names. For example,
```
"index"() : () -> ()
```
can be emitted but cannot be parsed, because its name is coincidentally
the same as that of the Index dialect. The patch removes such
inconsistency.
This patch specifically fixes the bytecode roundtrip of
`mlir/test/IR/parser.mlir`.
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMapping.cpp')
0 files changed, 0 insertions, 0 deletions