// Constraints are added for all loop IV bounds (dim or symbol), and
// constraints are added for slice bounds in 'lbs'/'ubs'.
// Returns failure if we cannot add loop bounds because of unsupported cases.
- LogicalResult getAsConstraints(FlatAffineValueConstraints *cst);
+ LogicalResult getAsConstraints(FlatAffineValueConstraints *cst) const;
/// Adds to 'cst' constraints which represent the original loop bounds on
/// 'ivs' in 'this'. This corresponds to the original domain of the loop nest
/// from which the slice is being computed. Returns failure if we cannot add
/// loop bounds because of unsupported cases.
- LogicalResult getSourceAsConstraints(FlatAffineValueConstraints &cst);
+ LogicalResult getSourceAsConstraints(FlatAffineValueConstraints &cst) const;
// Clears all bounds and operands in slice state.
void clearBounds();
// Populates 'cst' with FlatAffineValueConstraints which represent original
// domain of the loop bounds that define 'ivs'.
-LogicalResult
-ComputationSliceState::getSourceAsConstraints(FlatAffineValueConstraints &cst) {
+LogicalResult ComputationSliceState::getSourceAsConstraints(
+ FlatAffineValueConstraints &cst) const {
assert(!ivs.empty() && "Cannot have a slice without its IVs");
cst = FlatAffineValueConstraints(/*numDims=*/ivs.size(), /*numSymbols=*/0,
/*numLocals=*/0, ivs);
// Populates 'cst' with FlatAffineValueConstraints which represent slice bounds.
LogicalResult
-ComputationSliceState::getAsConstraints(FlatAffineValueConstraints *cst) {
+ComputationSliceState::getAsConstraints(FlatAffineValueConstraints *cst) const {
assert(!lbOperands.empty());
// Adds src 'ivs' as dimension variables in 'cst'.
unsigned numDims = ivs.size();