[all-commits] [llvm/llvm-project] 6635c1: [mlir] Use SmallBitVector instead of SmallDenseSet...

Benjamin Kramer via All-commits all-commits at lists.llvm.org
Sun Feb 6 15:24:51 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6635c12ada0d2d4f2e3b579e818980d0a587135f
      https://github.com/llvm/llvm-project/commit/6635c12ada0d2d4f2e3b579e818980d0a587135f
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2022-02-07 (Mon, 07 Feb 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/Arithmetic/Utils/Utils.h
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/IR/AffineMap.h
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Dialect/Arithmetic/Utils/Utils.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/MemRef/Transforms/FoldSubViewOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/IR/AffineMap.cpp
    M mlir/test/Dialect/MemRef/fold-subview-ops.mlir

  Log Message:
  -----------
  [mlir] Use SmallBitVector instead of SmallDenseSet for AffineMap::compressSymbols

This is both more efficient and more ergonomic to use, as inverting a
bit vector is trivial while inverting a set is annoying.

Sadly this leaks into a bunch of APIs downstream, so adapt them as well.

This would be NFC, but there is an ordering dependency in MemRefOps's
computeMemRefRankReductionMask. This is now deterministic, previously it
was dependent on SmallDenseSet's unspecified iteration order.

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




More information about the All-commits mailing list