Revert "Revert "Refactor OperationName to use virtual tables for dispatch (NFC)""
authorMehdi Amini <joker.eph@gmail.com>
Mon, 16 Jan 2023 23:26:28 +0000 (23:26 +0000)
committerMehdi Amini <joker.eph@gmail.com>
Mon, 16 Jan 2023 23:58:48 +0000 (23:58 +0000)
commit0441272c4501a72b86cd5c0b8ab96802d1abb8d9
tree4c6fae5d1a2ab7b1d34a2edcaddda2bf760c4fcf
parent52f6ed099cba5c67bbcc8f993a6ed29d124ccce5
Revert "Revert "Refactor OperationName to use virtual tables for dispatch (NFC)""

This streamlines the implementation and makes it so that the virtual
tables are in the binary instead of dynamically assembled during initialization.
The dynamic allocation size of op registration is also smaller with this
change.

This reverts commit 7bf1e441da6b59a25495fde8e34939f93548cc6d
and re-introduce e055aad5ffb348472c65dfcbede85f39efe8f906
after fixing the windows crash by making ParseAssemblyFn a
unique_function again

Differential Revision: https://reviews.llvm.org/D141492
12 files changed:
mlir/include/mlir/IR/ExtensibleDialect.h
mlir/include/mlir/IR/OpDefinition.h
mlir/include/mlir/IR/Operation.h
mlir/include/mlir/IR/OperationSupport.h
mlir/lib/AsmParser/Parser.cpp
mlir/lib/IR/AsmPrinter.cpp
mlir/lib/IR/ExtensibleDialect.cpp
mlir/lib/IR/MLIRContext.cpp
mlir/lib/IR/Operation.cpp
mlir/lib/Rewrite/ByteCode.cpp
mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
mlir/unittests/Interfaces/InferTypeOpInterfaceTest.cpp