The current implementation used explicit index->int64_t casts for some, but
not all instances of passing values of type "index" in and from the sparse
support library. This revision makes the situation more consistent by
using new "index_t" type at all such places (which allows for less trivial
casting in the generated MLIR code). Note that the current revision still
assumes that "index" is 64-bit wide. If we want to support targets with
alternative "index" bit widths, we need to build the support library different.
But the current revision is a step forward by making this requirement explicit
and more visible.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/lib/ExecutionEngine/SparseUtils.cpp | ||
---|---|---|
526–528 | Wait, L537 is uint32_t too, right? Or are you talking about the defs in sparseconversion.cpp (these are all unsigned, I changed them to uint32_t for consistency) |
Why use uint32_t for these two enums but unsigned for the Action enum?