This is an archive of the discontinued LLVM Phabricator instance.

[MLIR][Presburger] Add support for PresburgerRelation
ClosedPublic

Authored by Groverkss on Mar 10 2022, 3:05 PM.

Details

Summary

This patch adds supports for union of relations (PresburgerRelation). Along
with this, support for PresburgerSet is also maintained.

This patch is part of a series of patches to add support for relations in
Presburger library.

Diff Detail

Event Timeline

Groverkss created this revision.Mar 10 2022, 3:05 PM
Herald added a project: Restricted Project. · View Herald Transcript
Groverkss requested review of this revision.Mar 10 2022, 3:05 PM
arjunp added inline comments.Mar 12 2022, 3:51 PM
mlir/include/mlir/Analysis/Presburger/PresburgerRelation.h
9
25
31
39

Since the call will be PresburgerRelation::getEmpty() I think it's clear enough what it is

134–146

Maybe just write a common doc that says these operations are the same as on Relations, they just forward the argument and return the result as a set. And you can drop the blank lines in between IMO

mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
372–373

Please change these everywhere

Groverkss updated this revision to Diff 414920.Mar 13 2022, 4:07 AM
Groverkss marked 6 inline comments as done.
  • Address Arjun's comments
Groverkss added inline comments.Mar 13 2022, 4:08 AM
mlir/include/mlir/Analysis/Presburger/PresburgerRelation.h
25

I replaced this with "relations" as I think the "polyhedrons" name was only for doc.

arjunp accepted this revision.Mar 13 2022, 4:32 AM
arjunp added inline comments.
mlir/include/mlir/Analysis/Presburger/PresburgerRelation.h
140
This revision is now accepted and ready to land.Mar 13 2022, 4:32 AM
Groverkss updated this revision to Diff 414922.Mar 13 2022, 4:35 AM
Groverkss marked an inline comment as done.
  • Address Arjun's comment
This revision was automatically updated to reflect the committed changes.