[PATCH] D80860: Exact integer emptiness checks for FlatAffineConstraints

Uday Bondhugula via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 15:11:42 PDT 2020


bondhugula added a comment.

Thank you for submitting this revision! I'll be able to review this on Thursday.  Quick comment in the meanwhile: please do add integer empty / rational non-empty test cases where the space spans integer points along all of the dimensions when projected along any of the canonical directions, as opposed to those that are completely "in-between" / tightly nestled between integer values along a dimension -- the latter are often easily caught in linear time by GCD tightening. Such test cases are essential to test the implementation thoroughly. I can provide a couple of examples if you need.

Also, isEmptyByGCD isn't the only existing simple check for emptiness. GCDTightenInequalities and hasInvalidConstraint are single pass linear time methods that easily catch  integer-empty rational non-empty cases in conjunction with FM (like the first one in your FindSampleTest), albeit FM can be expensive depending on other things. One could consider trying the inexpensive among these before using GBR in isIntegerEmpty().


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80860/new/

https://reviews.llvm.org/D80860





More information about the llvm-commits mailing list