[all-commits] [llvm/llvm-project] 93b9f5: [MLIR][Presburger] IntegerRelation: implement part...

Arjun P via All-commits all-commits at lists.llvm.org
Wed Mar 23 17:27:18 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 93b9f50b4c6e84626f976df95602af3ecbb98ce4
      https://github.com/llvm/llvm-project/commit/93b9f50b4c6e84626f976df95602af3ecbb98ce4
  Author: Arjun P <arjunpitchanathan at gmail.com>
  Date:   2022-03-24 (Thu, 24 Mar 2022)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
    M mlir/include/mlir/Analysis/Presburger/PresburgerSpace.h
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
    M mlir/lib/Analysis/Presburger/PresburgerSpace.cpp

  Log Message:
  -----------
  [MLIR][Presburger] IntegerRelation: implement partial rollback support

It is often necessary to "rollback" IntegerRelations to an earlier state. Although providing full rollback support is non-trivial, we really only need to support the case where the only changes made are to append ids or append constraints, and then rollback these additions. This patch adds support to rollback in such situations by recording the number of ids and constraints of each kind and providing support to truncate the IntegerRelation to those counts by removing appended ids and constraints. This already simplifies subtraction a little bit and will also be useful in the implementation of symbolic integer lexmin.

Reviewed By: Groverkss

Differential Revision: https://reviews.llvm.org/D122178




More information about the All-commits mailing list