summaryrefslogtreecommitdiffstats
path: root/mlir/lib/Analysis/AffineStructures.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mlir/lib/Analysis/AffineStructures.cpp')
-rw-r--r--mlir/lib/Analysis/AffineStructures.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/mlir/lib/Analysis/AffineStructures.cpp b/mlir/lib/Analysis/AffineStructures.cpp
index de7c5db3e07..52c15bb9237 100644
--- a/mlir/lib/Analysis/AffineStructures.cpp
+++ b/mlir/lib/Analysis/AffineStructures.cpp
@@ -493,6 +493,22 @@ FlatAffineConstraints::FlatAffineConstraints(IntegerSet set)
}
}
+void FlatAffineConstraints::reset(unsigned numReservedInequalities,
+ unsigned numReservedEqualities,
+ unsigned newNumReservedCols,
+ unsigned newNumDims, unsigned newNumSymbols,
+ unsigned newNumLocals) {
+ assert(newNumReservedCols >= 1 && "minimum 1 column");
+ numReservedCols = newNumReservedCols;
+ numDims = newNumDims;
+ numSymbols = newNumSymbols;
+ numIds = numDims + numSymbols + newNumLocals;
+ equalities.clear();
+ inequalities.clear();
+ equalities.reserve(newNumReservedCols * numReservedEqualities);
+ inequalities.reserve(newNumReservedCols * numReservedInequalities);
+}
+
/// Adds a dimensional identifier. The added column is initialized to
/// zero.
void FlatAffineConstraints::addDimId(unsigned pos) {
OpenPOWER on IntegriCloud