/// Return the index at which the specified kind of id starts.
unsigned getIdKindOffset(IdKind kind) const;
- /// Assert that `value` is at most the number of ids of the specified kind.
- void assertAtMostNumIdKind(unsigned value, IdKind kind) const;
+ /// Get the number of ids of the specified kind.
+ unsigned getNumIdKind(IdKind kind) const;
/// Removes identifiers in the column range [idStart, idLimit), and copies any
/// remaining valid data into place, updates member variables, and resizes
}
unsigned IntegerPolyhedron::insertId(IdKind kind, unsigned pos, unsigned num) {
- assertAtMostNumIdKind(pos, kind);
+ assert(pos <= getNumIdKind(kind));
unsigned absolutePos = getIdKindOffset(kind) + pos;
if (kind == IdKind::Dimension)
void IntegerPolyhedron::removeIdRange(IdKind kind, unsigned idStart,
unsigned idLimit) {
- assertAtMostNumIdKind(idLimit, kind);
+ assert(idLimit <= getNumIdKind(kind));
removeIdRange(getIdKindOffset(kind) + idStart,
getIdKindOffset(kind) + idLimit);
}
llvm_unreachable("IdKind expected to be Dimension, Symbol or Local!");
}
-void IntegerPolyhedron::assertAtMostNumIdKind(unsigned val, IdKind kind) const {
+unsigned IntegerPolyhedron::getNumIdKind(IdKind kind) const {
if (kind == IdKind::Dimension)
- assert(val <= getNumDimIds());
- else if (kind == IdKind::Symbol)
- assert(val <= getNumSymbolIds());
- else if (kind == IdKind::Local)
- assert(val <= getNumLocalIds());
- else
- llvm_unreachable("IdKind expected to be Dimension, Symbol or Local!");
+ return getNumDimIds();
+ if (kind == IdKind::Symbol)
+ return getNumSymbolIds();
+ if (kind == IdKind::Local)
+ return getNumLocalIds();
+ llvm_unreachable("IdKind expected to be Dimension, Symbol or Local!");
}
void IntegerPolyhedron::clearConstraints() {