[mlir] Verify TestBuiltinAttributeInterfaces eltype #69878
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #61871 and fixes #60581.
This PR fixes two small things. First and foremost, it throws a clear error in the
-test-elements-attr-interface
when those tests are called on elements which are not an integer. I've looked through the introduction of the attribute interface (https://reviews.llvm.org/D109190) and later commits and see no evidence that the interface (attr.tryGetValues<T>()
) is expected to handle mismatching types.For example, the case which is given in #61871 is:
So, a sparse vector containing
f16
elements. This will crash at various locations when called in the test because the test introduces integer types (int64_t
,uint64_t
,APInt
,IntegerAttr
), but as I said in the previous paragraph: I see no reason to believe that the implementation of the interface is wrong here. The interface just assumes that clients don't do things likeattr.tryGetValues<APInt>()
on a floating pointattr
.Also I've added a test for the implementation of this interface by the
sparse
dialect. There were no problems there. Still, probably good to increase code coverage on that one.