[all-commits] [llvm/llvm-project] 4ae185: [MLIR][Presburger] Refactor looping strategy in co...

Michel Weber via All-commits all-commits at lists.llvm.org
Fri Feb 25 04:41:34 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4ae18553560256f08e7dd64fec3a97ca65eac138
      https://github.com/llvm/llvm-project/commit/4ae18553560256f08e7dd64fec3a97ca65eac138
  Author: Michel Weber <michel.weber at inf.ethz.ch>
  Date:   2022-02-25 (Fri, 25 Feb 2022)

  Changed paths:
    M mlir/lib/Analysis/Presburger/PresburgerSet.cpp
    M mlir/unittests/Analysis/Presburger/PresburgerSetTest.cpp

  Log Message:
  -----------
  [MLIR][Presburger] Refactor looping strategy in coalesce

This patch refactors the looping strategy of coalesce for future patches. The new strategy works in-place and uses IneqType to organize inequalities into vectors of the same type. Future coalesce cases will pattern match on this organization. E.g. the contained case needs all inequalities and equalities to be redundant, so this case becomes checking whether the respective vectors are empty. For other cases, the patterns consider the types of all inequalities of both sets making it wasteful to only consider whether a can be coalesced with b in one step, as inequalities would need to be typed again for the opposite case. Therefore, the new strategy tries to coalesce a with b and b with a in a single step.

Reviewed By: Groverkss, arjunp

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




More information about the All-commits mailing list