[all-commits] [llvm/llvm-project] 11067d: [mlir] Optimize OperationName construction and usage

River Riddle via All-commits all-commits at lists.llvm.org
Thu Jan 13 21:22:01 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 11067d711bca10ce740d0673073576bb81f50e06
      https://github.com/llvm/llvm-project/commit/11067d711bca10ce740d0673073576bb81f50e06
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-01-13 (Thu, 13 Jan 2022)

  Changed paths:
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/lib/Dialect/Vector/VectorUnrollDistribute.cpp
    M mlir/lib/IR/MLIRContext.cpp
    M mlir/lib/IR/OperationSupport.cpp

  Log Message:
  -----------
  [mlir] Optimize OperationName construction and usage

When constructing an OperationName, the overwhelming majority of
cases are from registered operations. This revision adds a non-locked
lookup into the currently registered operations, which prevents locking
in the common case. This revision also optimizes several uses of
RegisteredOperationName that expect the operation to be registered,
e.g. such as in OpBuilder.

These changes provides a reasonable speedup (5-10%) in some
compilations, especially on platforms where locking is expensive.

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




More information about the All-commits mailing list