[Mlir-commits] [mlir] a609f56 - [mlir] use raw function pointer instead of std::function
Alex Zinenko
llvmlistbot at llvm.org
Tue Oct 11 03:56:41 PDT 2022
Author: Alex Zinenko
Date: 2022-10-11T10:56:31Z
New Revision: a609f564b7b63897d05291e64e6e9813bbf382dd
URL: https://github.com/llvm/llvm-project/commit/a609f564b7b63897d05291e64e6e9813bbf382dd
DIFF: https://github.com/llvm/llvm-project/commit/a609f564b7b63897d05291e64e6e9813bbf382dd.diff
LOG: [mlir] use raw function pointer instead of std::function
Accessing the target of std::function apparently requires RTTI, use a
raw pointer instead.
Added:
Modified:
mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h
mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
Removed:
################################################################################
diff --git a/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h b/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h
index 80ff80e49639b..e386b355e83f9 100644
--- a/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h
+++ b/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h
@@ -212,7 +212,7 @@ void TransformDialect::addTypeIfNotRegistered() {
auto [it, inserted] = typeParsingHooks.try_emplace(mnemonic, Type::parse);
if (!inserted) {
const ExtensionTypeParsingHook &parsingHook = it->getValue();
- if (*parsingHook.target<mlir::Type (*)(AsmParser &)>() != &Type::parse)
+ if (parsingHook != &Type::parse)
reportDuplicateTypeRegistration(mnemonic);
else
return;
diff --git a/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td b/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
index bdb28f9605f59..cf5072bc5015e 100644
--- a/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
+++ b/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
@@ -324,8 +324,7 @@ def Transform_Dialect : Dialect {
/// Parser callback for an individual type registered by this dialect or
/// its extensions.
- using ExtensionTypeParsingHook =
- std::function<::mlir::Type (::mlir::AsmParser &)>;
+ using ExtensionTypeParsingHook = ::mlir::Type (*)(::mlir::AsmParser &);
/// Printer callback for an individual type registered by this dialect or
/// its extensions.
More information about the Mlir-commits
mailing list