This is an archive of the discontinued LLVM Phabricator instance.

[mlir][linalg] Remove `linalg::getUpperBoundForIndex` util
ClosedPublic

Authored by springerm on Mar 18 2023, 1:59 AM.

Details

Summary

Use reifyValueBound instead, which is more general not hard-coded to a specific list supported ops.

Also add a closedUB parameter to the ValueBoundsOpInterface API.

Depends On: D147769

Diff Detail

Event Timeline

springerm created this revision.Mar 18 2023, 1:59 AM
springerm requested review of this revision.Mar 18 2023, 1:59 AM
dcaballe accepted this revision.Apr 6 2023, 4:09 PM

Mask this as NFC?

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

Mask this as NFC?

I don't think you can mark it as NFC if it is dropping an API method

This change cannot be landed yet. There are certain inputs where it triggers an assertion in FlatLinearValueConstraints.cpp:

LLVM_DEBUG(llvm::dbgs()
           << "composition unimplemented for semi-affine maps\n");

This change cannot be landed yet. There are certain inputs where it triggers an assertion in FlatLinearValueConstraints.cpp:

LLVM_DEBUG(llvm::dbgs()
           << "composition unimplemented for semi-affine maps\n");

Actually, it can be landed. We have the same limitation in linalg::getUpperBoundForIndex. We just need better error handling: D147769