#include "mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Interfaces/ValueBoundsOpInterface.h"
usingnamespacemlir;
usingnamespacemlir::affine;
namespace mlir {
namespace {
struct AffineApplyOpInterface
: public ValueBoundsOpInterface::ExternalModel<AffineApplyOpInterface,
AffineApplyOp> { … };
struct AffineMinOpInterface
: public ValueBoundsOpInterface::ExternalModel<AffineMinOpInterface,
AffineMinOp> { … };
struct AffineMaxOpInterface
: public ValueBoundsOpInterface::ExternalModel<AffineMaxOpInterface,
AffineMaxOp> { … };
}
}
void mlir::affine::registerValueBoundsOpInterfaceExternalModels(
DialectRegistry ®istry) { … }
FailureOr<int64_t>
mlir::affine::fullyComposeAndComputeConstantDelta(Value value1, Value value2) { … }