This is an archive of the discontinued LLVM Phabricator instance.

[mlir][Interfaces] ValueBoundsOpInterface: Support LB and UB bounds
ClosedPublic

Authored by springerm on Mar 10 2023, 5:50 AM.

Details

Summary

This change also adds support for affine.min and affine.max ops.

Depends On: D145696

Diff Detail

Event Timeline

springerm created this revision.Mar 10 2023, 5:50 AM
springerm requested review of this revision.Mar 10 2023, 5:50 AM
springerm edited the summary of this revision. (Show Details)Mar 10 2023, 7:42 AM
springerm edited the summary of this revision. (Show Details)
springerm edited the summary of this revision. (Show Details)
springerm retitled this revision from [mlir][linalg] ValueBoundsOpInterface: Support LB and UB bounds to [mlir][Interfaces] ValueBoundsOpInterface: Support LB and UB bounds.Mar 16 2023, 8:16 AM
springerm updated this revision to Diff 509966.Mar 31 2023, 3:29 AM

update API

springerm added inline comments.Apr 5 2023, 6:52 PM
mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
273–278

Note: FlatLinearConstraints sometimes returns an affine_map with multiple results when requesting LB/UB bounds. These cases are not yet supported, so we just assert for now. We can add support when needed. (It won't be difficult, we just have to emit an affine.min/affine.max instead of affine.apply.)

dcaballe accepted this revision.Apr 6 2023, 1:24 PM
dcaballe added inline comments.
mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
273–278

Thanks for anticipating my questions! This makes sense.

This revision is now accepted and ready to land.Apr 6 2023, 1:24 PM