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

Reply via email to