[all-commits] [llvm/llvm-project] 628a2c: [MLIR][Presburger] introduce SlowMPInt, an auto-re...

Arjun P via All-commits all-commits at lists.llvm.org
Wed Jun 22 09:37:31 PDT 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 628a2c14e3e94442672bb3b07cd42ec9cca04531
  Author: Arjun P <arjunpitchanathan at gmail.com>
  Date:   2022-06-22 (Wed, 22 Jun 2022)

  Changed paths:
    A mlir/include/mlir/Analysis/Presburger/SlowMPInt.h
    M mlir/lib/Analysis/Presburger/CMakeLists.txt
    A mlir/lib/Analysis/Presburger/SlowMPInt.cpp
    M mlir/unittests/Analysis/Presburger/CMakeLists.txt
    A mlir/unittests/Analysis/Presburger/SlowMPIntTest.cpp

  Log Message:
  [MLIR][Presburger] introduce SlowMPInt, an auto-resizing APInt for fully correct signed integer computations

The Presburger library currently uses int64_t throughout for its integers.
This runs the risk of silently producing incorrect results when overflows occur.
Fixing this issue requires some sort of multiprecision integer
that transparently supports aribtrary arithmetic computations.

The class SlowMPInt provides this functionality, and is intended to be used
as the slow path fallback for a more optimized upcoming class, MPInt, that optimizes
for the Presburger library's workloads.

Reviewed By: ftynse

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

More information about the All-commits mailing list