Setting attributes on operations results in an assertion failure, but
this could be missed currently by adding a null attribute to an
OperationState and building an Operation with that. This change adds
some additional assertions to make these different locations consistent
with each other.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/include/mlir/IR/OperationSupport.h | ||
---|---|---|
486 ↗ | (On Diff #368159) | If we are going to assert when adding attributes, I would instead add asserts to NamedAttrList. Asserts there would catch more cases. |
mlir/lib/IR/Operation.cpp | ||
179 ↗ | (On Diff #368159) | This should be guaranteed on construction by DictionaryAttr. Is there a case that isn't being caught? |
mlir/lib/IR/Operation.cpp | ||
---|---|---|
179 ↗ | (On Diff #368159) | I'm removing this one. The case that was not handled was appending to a NamedAttrList and then calling NamedAttrList::getDictionary(MLIRContext *context). That is handled by your suggestion above though, so I'll remove this one. |
mlir/include/mlir/IR/OperationSupport.h | ||
---|---|---|
275 ↗ | (On Diff #368330) | Should we move this to push_back instead? (The method that this bottoms out to) |