[all-commits] [llvm/llvm-project] 7d1452: [mlir] Refactor OpInterface internals to be faster...

River Riddle via All-commits all-commits at lists.llvm.org
Wed Jun 24 17:32:56 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7d1452d8373e5aaaa94b5d0d6c9a1dc4be457311
      https://github.com/llvm/llvm-project/commit/7d1452d8373e5aaaa94b5d0d6c9a1dc4be457311
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2020-06-24 (Wed, 24 Jun 2020)

  Changed paths:
    M mlir/docs/Interfaces.md
    M mlir/include/mlir/IR/OpDefinition.h
    M mlir/include/mlir/IR/OperationSupport.h
    A mlir/include/mlir/Support/InterfaceSupport.h
    M mlir/lib/IR/MLIRContext.cpp

  Log Message:
  -----------
  [mlir] Refactor OpInterface internals to be faster and factor out common bits.

This revision adds a new support header, InterfaceSupport, to contain various generic bits of functionality for implementing "Interfaces". Interfaces embody a mechanism for attaching concept-based polymorphism to a type system. With this refactoring a new InterfaceMap type is added to allow for efficient interface lookups without going through an indirect call. This should provide a decent performance speedup without changing the size of AbstractOperation.

In a future revision, this functionality will also be used to bring Interface like functionality to Attributes and Types.

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




More information about the All-commits mailing list