[all-commits] [llvm/llvm-project] d5a294: [MLIR][Presburger] Add support for piece-wise mult...

Arjun P via All-commits all-commits at lists.llvm.org
Mon Feb 7 11:14:12 PST 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d5a29442191066b70176e59260288d8cb08bd602
  Author: Arjun P <arjunpitchanathan at gmail.com>
  Date:   2022-02-08 (Tue, 08 Feb 2022)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/IntegerPolyhedron.h
    A mlir/include/mlir/Analysis/Presburger/PWMAFunction.h
    M mlir/lib/Analysis/Presburger/CMakeLists.txt
    M mlir/lib/Analysis/Presburger/IntegerPolyhedron.cpp
    A mlir/lib/Analysis/Presburger/PWMAFunction.cpp
    M mlir/unittests/Analysis/Presburger/CMakeLists.txt
    A mlir/unittests/Analysis/Presburger/PWMAFunctionTest.cpp

  Log Message:
  [MLIR][Presburger] Add support for piece-wise multi-affine functions

Add the class MultiAffineFunction which represents functions whose domain is an
IntegerPolyhedron and which produce an output given by a tuple of affine
expressions in the IntegerPolyhedron's ids.

Also add support for piece-wise MultiAffineFunctions, which are defined on a
union of IntegerPolyhedrons, and may have different output affine expressions
on each IntegerPolyhedron. Thus the function is affine on each individual
IntegerPolyhedron piece in the domain.

This is part of a series of patches leading up to parametric integer programming.

Depends on D118778.

Reviewed By: Groverkss

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

More information about the All-commits mailing list