Finally got back to this after the holiday break. I managed to move all the ops (one patch still in flight) except for std.subtensor
(and std.subtensor_insert
, which I’m choosing to keep with it). std.subtensor
has a bunch of common helper code with the std.subview
op, and that common code relies on being able to create an std.constant
of index type.
-
std.subtensor
andstd.subview
depend on common code, which relies onstd.constant
1 - currently,
std
dialect depends ontensor
(for example, some std ops have canonicalization patterns that use tensor ops)
Thus, putting std.subtensor
into the tensor
dialect would create a circular dependency.
So that means that we need to wait on defragging std.constant
. The minimal change here would be to create an int
dialect and have int.constant
there that excises the int part of std.constant.