[MLIR][Presburger] introduce SetCoalescer
authorMichel Weber <michel.weber@inf.ethz.ch>
Thu, 17 Mar 2022 19:50:38 +0000 (19:50 +0000)
committerArjun P <arjunpitchanathan@gmail.com>
Thu, 17 Mar 2022 19:52:01 +0000 (19:52 +0000)
commitdad80e97109afda17a278a5c1a87b2c595aa01a6
treeed7defcb44b6ee7bd00d5034cb8b00bbf034f3ba
parentd80210fc905781780979fe22070f94dea8c86115
[MLIR][Presburger] introduce SetCoalescer

This patch refactors the current coalesce implementation. It introduces
the `SetCoalescer`, a class in which all coalescing functionality lives.
The main advantage over the old design is the fact that the vectors of
constraints do not have to be passed around, but are implemented as
private fields of the SetCoalescer. This will become especially
important once more inequality types are introduced.

Reviewed By: arjunp

Differential Revision: https://reviews.llvm.org/D121364
mlir/include/mlir/Analysis/Presburger/PresburgerRelation.h
mlir/lib/Analysis/Presburger/PresburgerRelation.cpp