diff options
Diffstat (limited to 'mlir/lib/Analysis/Presburger/IntegerRelation.cpp')
| -rw-r--r-- | mlir/lib/Analysis/Presburger/IntegerRelation.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mlir/lib/Analysis/Presburger/IntegerRelation.cpp b/mlir/lib/Analysis/Presburger/IntegerRelation.cpp index 3724df5abccc..0109384f1689 100644 --- a/mlir/lib/Analysis/Presburger/IntegerRelation.cpp +++ b/mlir/lib/Analysis/Presburger/IntegerRelation.cpp @@ -449,6 +449,12 @@ void IntegerRelation::swapVar(unsigned posA, unsigned posB) { if (posA == posB) return; + VarKind kindA = space.getVarKindAt(posA); + VarKind kindB = space.getVarKindAt(posB); + unsigned relativePosA = posA - getVarKindOffset(kindA); + unsigned relativePosB = posB - getVarKindOffset(kindB); + space.swapVar(kindA, kindB, relativePosA, relativePosB); + inequalities.swapColumns(posA, posB); equalities.swapColumns(posA, posB); } |
