[all-commits] [llvm/llvm-project] f40af3: [MLIR][Presburger] Optimize for union & subtract

gilsaia via All-commits all-commits at lists.llvm.org
Wed Aug 2 03:03:00 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f40af3b351a9f282edd414d2ebf20a9fcd74d8f1
      https://github.com/llvm/llvm-project/commit/f40af3b351a9f282edd414d2ebf20a9fcd74d8f1
  Author: gilsaia <794433219 at qq.com>
  Date:   2023-08-02 (Wed, 02 Aug 2023)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
    M mlir/include/mlir/Analysis/Presburger/PresburgerRelation.h
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp

  Log Message:
  -----------
  [MLIR][Presburger] Optimize for union & subtract

Added a series of optimization to the Subtract & Union function of PresburgerRelation, referring to the ISL implementation.
Add isPlainEqual to Subtract & union,also some basic check to union.
Tested it on a simple Benchmark implemented by myself to see that it can speed up the Subtract operation and Union operation, also decrease the result size.

The Benchmark can be found here: [[ https://github.com/gilsaia/llvm-project-test-fpl/blob/develop_benchmark/mlir/benchmark/presburger/Benchmark.cpp | benchmark]]

The overall results for Union & Subtract are as follows (previous benchmark has a bug,after fix that,the figure below is new)
{F28455229}

The results for each case are as follows
{F28455234}
{F28455239}

{F28455245}
{F28455246}

Reviewed By: Groverkss

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




More information about the All-commits mailing list