| Issue |
53000
|
| Summary |
Factor ShapedType into an interface
|
| Labels |
new issue
|
| Assignees |
River707
|
| Reporter |
stellaraccident
|
Right now `ShapedType` is a closed type system that predates Type Interfaces (actually, it was an original motivation for Type Interfaces but we never got around to retrofitting it). This creates a number of organizational issues and weird incentives in the project, effectively making any dialect-specific type that wants to interop be a second class thing since it cannot adopt the ShapedType "interface". This also has the effect of driving types to the `builtin` dialect for no other reason than that they need to be a ShapedType.
Minimally, we should turn this into an interface and retrofit the existing types to adopt it. Separately, we should look at moving `tensor`, `memref`, and `vector` to their respective dialects (which did not exist at the time). Before doing such a move, though, we should have a look at ergonomics of assembly forms: it would be less than ideal if we ended up having to type `!tensor.tensor` everywhere.
Migrating such an old and ubiquitous part of the infra can be costly to users. We should see if there is a way to do this that minimizes disruption and/or provides time to adapt.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs