Ops can implement this interface to specify lower/upper bounds for their result values and block arguments. Bounds can be specified for:
- Index-type values
- Dimension sizes of shapes values
The bounds are added to a constraint set. Users can query this constraint set to compute bounds wrt. to a user-specified set of values. Only EQ bounds are supported at the moment.
A helper function is added to the Affine dialect to reify a computed bounds with an affine.apply op.
This revision also contains interface implementations for various tensor dialect ops, which illustrates how to implement this interface.
Depends On: D146869
I don't know what "columns" refers to? I suspect some examples here on top of what Diego mentions below would help