[Mlir-commits] [mlir] 04e32b8 - Revert "[MLIR][IRDL] Added IRDL to C++ Translation" (#138285)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Fri May 2 07:36:34 PDT 2025


Author: Théo Degioanni
Date: 2025-05-02T16:36:30+02:00
New Revision: 04e32b8a33bbbd184114aba23c017706b957fb95

URL: https://github.com/llvm/llvm-project/commit/04e32b8a33bbbd184114aba23c017706b957fb95
DIFF: https://github.com/llvm/llvm-project/commit/04e32b8a33bbbd184114aba23c017706b957fb95.diff

LOG: Revert "[MLIR][IRDL] Added IRDL to C++ Translation" (#138285)

Reverts llvm/llvm-project#133982

Added: 
    

Modified: 
    mlir/CMakeLists.txt
    mlir/cmake/modules/CMakeLists.txt
    mlir/cmake/modules/MLIRConfig.cmake.in
    mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    mlir/include/mlir/InitAllTranslations.h
    mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    mlir/lib/Target/CMakeLists.txt
    mlir/test/Dialect/IRDL/invalid.irdl.mlir
    mlir/test/Dialect/IRDL/regions-ops.irdl.mlir
    mlir/test/lib/Dialect/CMakeLists.txt
    mlir/test/tblgen-to-irdl/TestDialect.td
    mlir/tools/mlir-opt/CMakeLists.txt
    mlir/tools/mlir-opt/mlir-opt.cpp

Removed: 
    mlir/cmake/modules/IRDLToCpp.cmake
    mlir/include/mlir/Target/IRDLToCpp/IRDLToCpp.h
    mlir/include/mlir/Target/IRDLToCpp/TranslationRegistration.h
    mlir/lib/Target/IRDLToCpp/CMakeLists.txt
    mlir/lib/Target/IRDLToCpp/IRDLToCpp.cpp
    mlir/lib/Target/IRDLToCpp/Templates/DialectDecl.txt
    mlir/lib/Target/IRDLToCpp/Templates/DialectDef.txt
    mlir/lib/Target/IRDLToCpp/Templates/Header.txt
    mlir/lib/Target/IRDLToCpp/Templates/PerOperationDecl.txt
    mlir/lib/Target/IRDLToCpp/Templates/PerOperationDef.txt
    mlir/lib/Target/IRDLToCpp/Templates/TypeDecl.txt
    mlir/lib/Target/IRDLToCpp/Templates/TypeDef.txt
    mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDecl.txt
    mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDef.txt
    mlir/lib/Target/IRDLToCpp/TemplatingUtils.h
    mlir/lib/Target/IRDLToCpp/TranslationRegistration.cpp
    mlir/test/Dialect/IRDL/invalid_names.irdl.mlir
    mlir/test/lib/Dialect/TestIRDLToCpp/CMakeLists.txt
    mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.cpp
    mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.h
    mlir/test/lib/Dialect/TestIRDLToCpp/test.testd.mlir
    mlir/test/lib/Dialect/TestIRDLToCpp/test_conversion.testd.mlir
    mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp.irdl.mlir
    mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp_invalid_unsupported_types.irdl.mlir
    mlir/tools/mlir-irdl-to-cpp/CMakeLists.txt
    mlir/tools/mlir-irdl-to-cpp/mlir-irdl-to-cpp.cpp


################################################################################
diff  --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt
index 56e756d4ae55c..9e786154a2b40 100644
--- a/mlir/CMakeLists.txt
+++ b/mlir/CMakeLists.txt
@@ -63,7 +63,6 @@ list(INSERT CMAKE_MODULE_PATH 0
   )
 
 include(AddMLIR)
-include(IRDLToCpp)
 
 # -BSymbolic is incompatible with TypeID
 if("${CMAKE_SHARED_LINKER_FLAGS}" MATCHES "-Bsymbolic[^-]")
@@ -207,7 +206,6 @@ include_directories(BEFORE
 # Adding tools/mlir-tblgen here as calling add_tablegen sets some variables like
 # MLIR_TABLEGEN_EXE in PARENT_SCOPE which gets lost if that folder is included
 # from another directory like tools
-add_subdirectory(tools/mlir-irdl-to-cpp)
 add_subdirectory(tools/mlir-linalg-ods-gen)
 add_subdirectory(tools/mlir-pdll)
 add_subdirectory(tools/mlir-tblgen)

diff  --git a/mlir/cmake/modules/CMakeLists.txt b/mlir/cmake/modules/CMakeLists.txt
index 47349f0c7eb62..96c27044c4e8d 100644
--- a/mlir/cmake/modules/CMakeLists.txt
+++ b/mlir/cmake/modules/CMakeLists.txt
@@ -112,8 +112,6 @@ set(MLIR_CONFIG_TABLEGEN_EXE mlir-tblgen)
 set(MLIR_CONFIG_PDLL_TABLEGEN_EXE mlir-pdll)
 set(MLIR_CONFIG_SRC_SHARDER_TABLEGEN_EXE mlir-src-sharder)
 
-set(MLIR_CONFIG_IRDL_TO_CPP_EXE mlir-irdl-to-cpp)
-
 configure_file(
   ${CMAKE_CURRENT_SOURCE_DIR}/MLIRConfig.cmake.in
   ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MLIRConfig.cmake
@@ -137,7 +135,6 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
     ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MLIRConfigVersion.cmake
     ${CMAKE_CURRENT_SOURCE_DIR}/AddMLIR.cmake
     ${CMAKE_CURRENT_SOURCE_DIR}/AddMLIRPython.cmake
-    ${CMAKE_CURRENT_SOURCE_DIR}/IRDLToCpp.cmake
     ${CMAKE_CURRENT_SOURCE_DIR}/MLIRDetectPythonEnv.cmake
     DESTINATION ${MLIR_INSTALL_PACKAGE_DIR}
     COMPONENT mlir-cmake-exports)

diff  --git a/mlir/cmake/modules/IRDLToCpp.cmake b/mlir/cmake/modules/IRDLToCpp.cmake
deleted file mode 100644
index 8470ccdf55166..0000000000000
--- a/mlir/cmake/modules/IRDLToCpp.cmake
+++ /dev/null
@@ -1,12 +0,0 @@
-function(add_irdl_to_cpp_target target irdl_file)
-  add_custom_command(
-    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${irdl_file}.cpp.inc
-    COMMAND ${MLIR_IRDL_TO_CPP_EXE} ${CMAKE_CURRENT_SOURCE_DIR}/${irdl_file} -o ${CMAKE_CURRENT_BINARY_DIR}/${irdl_file}.cpp.inc
-
-    # The command output depends on the executable to ensure IRDL sources are properly rebuilt
-    # if the tool changes.
-    DEPENDS ${MLIR_IRDL_TO_CPP_EXE} ${CMAKE_CURRENT_SOURCE_DIR}/${irdl_file}
-    COMMENT "Building ${irdl_file}..."
-  )
-  add_custom_target(${target} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${irdl_file}.cpp.inc)
-endfunction()

diff  --git a/mlir/cmake/modules/MLIRConfig.cmake.in b/mlir/cmake/modules/MLIRConfig.cmake.in
index 71f3e028b1e88..c695b5787af66 100644
--- a/mlir/cmake/modules/MLIRConfig.cmake.in
+++ b/mlir/cmake/modules/MLIRConfig.cmake.in
@@ -12,7 +12,6 @@ set(MLIR_INCLUDE_DIRS "@MLIR_CONFIG_INCLUDE_DIRS@")
 set(MLIR_TABLEGEN_EXE "@MLIR_CONFIG_TABLEGEN_EXE@")
 set(MLIR_PDLL_TABLEGEN_EXE "@MLIR_CONFIG_PDLL_TABLEGEN_EXE@")
 set(MLIR_SRC_SHARDER_TABLEGEN_EXE "@MLIR_CONFIG_SRC_SHARDER_TABLEGEN_EXE@")
-set(MLIR_IRDL_TO_CPP_EXE "@MLIR_CONFIG_IRDL_TO_CPP_EXE@")
 set(MLIR_INSTALL_AGGREGATE_OBJECTS "@MLIR_INSTALL_AGGREGATE_OBJECTS@")
 set(MLIR_ENABLE_BINDINGS_PYTHON "@MLIR_ENABLE_BINDINGS_PYTHON@")
 set(MLIR_ENABLE_EXECUTION_ENGINE "@MLIR_ENABLE_EXECUTION_ENGINE@")

diff  --git a/mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td b/mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
index 40b13167a973d..f3bc3497500e7 100644
--- a/mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
+++ b/mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
@@ -91,7 +91,6 @@ def IRDL_TypeOp : IRDL_Op<"type",
   let regions = (region SizedRegion<1>:$body);
   let assemblyFormat =
     "$sym_name attr-dict-with-keyword custom<SingleBlockRegion>($body)";
-  let hasVerifier = 1;
 }
 
 def IRDL_AttributeOp : IRDL_Op<"attribute",
@@ -127,8 +126,6 @@ def IRDL_AttributeOp : IRDL_Op<"attribute",
   let regions = (region SizedRegion<1>:$body);
   let assemblyFormat =
     "$sym_name attr-dict-with-keyword custom<SingleBlockRegion>($body)";
-
-  let hasVerifier = 1;
 }
 
 def IRDL_ParametersOp : IRDL_Op<"parameters",
@@ -205,7 +202,6 @@ def IRDL_OperationOp : IRDL_Op<"operation",
   let assemblyFormat =
     "$sym_name attr-dict-with-keyword custom<SingleBlockRegion>($body)";
   let hasRegionVerifier = true;
-  let hasVerifier = 1;
 }
 
 def IRDL_OperandsOp : IRDL_Op<"operands", [HasParent<"OperationOp">]> {

diff  --git a/mlir/include/mlir/InitAllTranslations.h b/mlir/include/mlir/InitAllTranslations.h
index 1ab80fb27fa9a..3de3e02ff3f81 100644
--- a/mlir/include/mlir/InitAllTranslations.h
+++ b/mlir/include/mlir/InitAllTranslations.h
@@ -14,8 +14,6 @@
 #ifndef MLIR_INITALLTRANSLATIONS_H
 #define MLIR_INITALLTRANSLATIONS_H
 
-#include "mlir/Target/IRDLToCpp/TranslationRegistration.h"
-
 namespace mlir {
 
 void registerFromLLVMIRTranslation();
@@ -35,7 +33,6 @@ inline void registerAllTranslations() {
   static bool initOnce = []() {
     registerFromLLVMIRTranslation();
     registerFromSPIRVTranslation();
-    registerIRDLToCppTranslation();
     registerToCppTranslation();
     registerToLLVMIRTranslation();
     registerToSPIRVTranslation();

diff  --git a/mlir/include/mlir/Target/IRDLToCpp/IRDLToCpp.h b/mlir/include/mlir/Target/IRDLToCpp/IRDLToCpp.h
deleted file mode 100644
index 940ce5632cb41..0000000000000
--- a/mlir/include/mlir/Target/IRDLToCpp/IRDLToCpp.h
+++ /dev/null
@@ -1,38 +0,0 @@
-//===- IRDLToCpp.h - Register translation -----------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// This file defines the registration function for the IRDL to C++ translation.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef MLIR_TARGET_IRDLTOCPP_IRDLTOCPP_H
-#define MLIR_TARGET_IRDLTOCPP_IRDLTOCPP_H
-
-#include "mlir/Dialect/IRDL/IR/IRDL.h"
-
-namespace mlir {
-namespace irdl {
-
-/// Translates an IRDL dialect definition to a C++ definition that can be used
-/// with MLIR.
-///
-/// The following preprocessor macros will generate the following code:
-///
-///  // This define generates code for the dialect's class declarations
-///  #define GEN_DIALECT_DECL_HEADER
-///
-///  // This define generates code for the dialect's class definitions
-///  #define GEN_DIALECT_DEF
-LogicalResult
-translateIRDLDialectToCpp(llvm::ArrayRef<irdl::DialectOp> dialects,
-                          raw_ostream &output);
-
-} // namespace irdl
-} // namespace mlir
-
-#endif // MLIR_TARGET_IRDLTOCPP_IRDLTOCPP_H

diff  --git a/mlir/include/mlir/Target/IRDLToCpp/TranslationRegistration.h b/mlir/include/mlir/Target/IRDLToCpp/TranslationRegistration.h
deleted file mode 100644
index 430c519570862..0000000000000
--- a/mlir/include/mlir/Target/IRDLToCpp/TranslationRegistration.h
+++ /dev/null
@@ -1,22 +0,0 @@
-//===- TranslationRegistration.h - Register translation ---------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// This file defines the registration function for the IRDL to C++ translation.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef MLIR_TARGET_IRDLTOCPP_TRANSLATIONREGISTRATION_H
-#define MLIR_TARGET_IRDLTOCPP_TRANSLATIONREGISTRATION_H
-
-namespace mlir {
-
-void registerIRDLToCppTranslation();
-
-} // namespace mlir
-
-#endif // MLIR_TARGET_IRDLTOCPP_TRANSLATIONREGISTRATION_H

diff  --git a/mlir/lib/Dialect/IRDL/IR/IRDL.cpp b/mlir/lib/Dialect/IRDL/IR/IRDL.cpp
index bcc9f0b109ac2..c0778d478619a 100644
--- a/mlir/lib/Dialect/IRDL/IR/IRDL.cpp
+++ b/mlir/lib/Dialect/IRDL/IR/IRDL.cpp
@@ -74,62 +74,13 @@ static void printSingleBlockRegion(OpAsmPrinter &p, Operation *op,
   if (!region.getBlocks().front().empty())
     p.printRegion(region);
 }
-static llvm::LogicalResult isValidName(llvm::StringRef in, mlir::Operation *loc,
-                                       const Twine &label) {
-  if (in.empty())
-    return loc->emitError("name of ") << label << " is empty";
-
-  bool allowUnderscore = false;
-  for (auto &elem : in) {
-    if (elem == '_') {
-      if (!allowUnderscore)
-        return loc->emitError("name of ")
-               << label << " should not contain leading or double underscores";
-    } else {
-      if (!isalnum(elem))
-        return loc->emitError("name of ")
-               << label
-               << " must contain only lowercase letters, digits and "
-                  "underscores";
-
-      if (llvm::isUpper(elem))
-        return loc->emitError("name of ")
-               << label << " should not contain uppercase letters";
-    }
-
-    allowUnderscore = elem != '_';
-  }
-
-  return success();
-}
 
 LogicalResult DialectOp::verify() {
   if (!Dialect::isValidNamespace(getName()))
     return emitOpError("invalid dialect name");
-  if (failed(isValidName(getSymName(), getOperation(), "dialect")))
-    return failure();
-
   return success();
 }
 
-LogicalResult OperationOp::verify() {
-  return isValidName(getSymName(), getOperation(), "operation");
-}
-
-LogicalResult TypeOp::verify() {
-  auto symName = getSymName();
-  if (symName.front() == '!')
-    symName = symName.substr(1);
-  return isValidName(symName, getOperation(), "type");
-}
-
-LogicalResult AttributeOp::verify() {
-  auto symName = getSymName();
-  if (symName.front() == '#')
-    symName = symName.substr(1);
-  return isValidName(symName, getOperation(), "attribute");
-}
-
 LogicalResult OperationOp::verifyRegions() {
   // Stores pairs of value kinds and the list of names of values of this kind in
   // the operation.
@@ -182,10 +133,18 @@ static LogicalResult verifyNames(Operation *op, StringRef kindName,
   DenseMap<StringRef, size_t> nameMap;
   for (auto [i, name] : llvm::enumerate(names)) {
     StringRef nameRef = llvm::cast<StringAttr>(name).getValue();
-
-    if (failed(isValidName(nameRef, op, Twine(kindName) + " #" + Twine(i))))
-      return failure();
-
+    if (nameRef.empty())
+      return op->emitOpError()
+             << "name of " << kindName << " #" << i << " is empty";
+    if (!llvm::isAlpha(nameRef[0]) && nameRef[0] != '_')
+      return op->emitOpError()
+             << "name of " << kindName << " #" << i
+             << " must start with either a letter or an underscore";
+    if (llvm::any_of(nameRef,
+                     [](char c) { return !llvm::isAlnum(c) && c != '_'; }))
+      return op->emitOpError()
+             << "name of " << kindName << " #" << i
+             << " must contain only letters, digits and underscores";
     if (nameMap.contains(nameRef))
       return op->emitOpError() << "name of " << kindName << " #" << i
                                << " is a duplicate of the name of " << kindName

diff  --git a/mlir/lib/Target/CMakeLists.txt b/mlir/lib/Target/CMakeLists.txt
index 6eb0abc214d38..f14ec49b5a0c2 100644
--- a/mlir/lib/Target/CMakeLists.txt
+++ b/mlir/lib/Target/CMakeLists.txt
@@ -1,5 +1,4 @@
 add_subdirectory(Cpp)
-add_subdirectory(IRDLToCpp)
 add_subdirectory(SPIRV)
 add_subdirectory(LLVMIR)
 add_subdirectory(LLVM)

diff  --git a/mlir/lib/Target/IRDLToCpp/CMakeLists.txt b/mlir/lib/Target/IRDLToCpp/CMakeLists.txt
deleted file mode 100644
index 731f3fea37451..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-add_mlir_translation_library(MLIRTargetIRDLToCpp
-  TranslationRegistration.cpp
-  IRDLToCpp.cpp
-  Templates/DialectDecl.txt
-  Templates/DialectDef.txt
-  Templates/Header.txt
-  Templates/PerOperationDecl.txt
-  Templates/PerOperationDef.txt
-  Templates/TypeDecl.txt
-  Templates/TypeDef.txt
-  Templates/TypeHeaderDecl.txt
-  Templates/TypeHeaderDef.txt
-
-  LINK_LIBS PUBLIC
-  MLIRIR
-  MLIRIRDL
-  MLIRTranslateLib
-)

diff  --git a/mlir/lib/Target/IRDLToCpp/IRDLToCpp.cpp b/mlir/lib/Target/IRDLToCpp/IRDLToCpp.cpp
deleted file mode 100644
index 538ea4f450b29..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/IRDLToCpp.cpp
+++ /dev/null
@@ -1,585 +0,0 @@
-//===- IRDLToCpp.cpp - Converts IRDL definitions to C++ -------------------===//
-//
-// Part of the LLVM Project, under the A0ache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "mlir/Target/IRDLToCpp/IRDLToCpp.h"
-#include "mlir/Dialect/IRDL/IR/IRDL.h"
-#include "mlir/Support/LLVM.h"
-#include "llvm/ADT/STLExtras.h"
-#include "llvm/ADT/SmallString.h"
-#include "llvm/ADT/SmallVector.h"
-#include "llvm/ADT/StringExtras.h"
-#include "llvm/ADT/TypeSwitch.h"
-#include "llvm/Support/FormatVariadic.h"
-#include "llvm/Support/raw_ostream.h"
-
-#include "TemplatingUtils.h"
-
-using namespace mlir;
-
-constexpr char headerTemplateText[] =
-#include "Templates/Header.txt"
-    ;
-
-constexpr char declarationMacroFlag[] = "GEN_DIALECT_DECL_HEADER";
-constexpr char definitionMacroFlag[] = "GEN_DIALECT_DEF";
-
-namespace {
-
-/// The set of strings that can be generated from a Dialect declaraiton
-struct DialectStrings {
-  std::string dialectName;
-  std::string dialectCppName;
-  std::string dialectCppShortName;
-  std::string dialectBaseTypeName;
-
-  std::string namespaceOpen;
-  std::string namespaceClose;
-  std::string namespacePath;
-};
-
-/// The set of strings that can be generated from a Type declaraiton
-struct TypeStrings {
-  StringRef typeName;
-  std::string typeCppName;
-};
-
-/// The set of strings that can be generated from an Operation declaraiton
-struct OpStrings {
-  StringRef opName;
-  std::string opCppName;
-  SmallVector<std::string> opResultNames;
-  SmallVector<std::string> opOperandNames;
-};
-
-static std::string joinNameList(llvm::ArrayRef<std::string> names) {
-  std::string nameArray;
-  llvm::raw_string_ostream nameArrayStream(nameArray);
-  nameArrayStream << "{\"" << llvm::join(names, "\", \"") << "\"}";
-
-  return nameArray;
-}
-
-/// Generates the C++ type name for a TypeOp
-static std::string typeToCppName(irdl::TypeOp type) {
-  return llvm::formatv("{0}Type",
-                       convertToCamelFromSnakeCase(type.getSymName(), true));
-}
-
-/// Generates the C++ class name for an OperationOp
-static std::string opToCppName(irdl::OperationOp op) {
-  return llvm::formatv("{0}Op",
-                       convertToCamelFromSnakeCase(op.getSymName(), true));
-}
-
-/// Generates TypeStrings from a TypeOp
-static TypeStrings getStrings(irdl::TypeOp type) {
-  TypeStrings strings;
-  strings.typeName = type.getSymName();
-  strings.typeCppName = typeToCppName(type);
-  return strings;
-}
-
-/// Generates OpStrings from an OperatioOp
-static OpStrings getStrings(irdl::OperationOp op) {
-  auto operandOp = op.getOp<irdl::OperandsOp>();
-
-  auto resultOp = op.getOp<irdl::ResultsOp>();
-
-  OpStrings strings;
-  strings.opName = op.getSymName();
-  strings.opCppName = opToCppName(op);
-
-  if (operandOp) {
-    strings.opOperandNames = SmallVector<std::string>(
-        llvm::map_range(operandOp->getNames(), [](Attribute attr) {
-          return llvm::formatv("{0}", cast<StringAttr>(attr));
-        }));
-  }
-
-  if (resultOp) {
-    strings.opResultNames = SmallVector<std::string>(
-        llvm::map_range(resultOp->getNames(), [](Attribute attr) {
-          return llvm::formatv("{0}", cast<StringAttr>(attr));
-        }));
-  }
-
-  return strings;
-}
-
-/// Fills a dictionary with values from TypeStrings
-static void fillDict(irdl::detail::dictionary &dict,
-                     const TypeStrings &strings) {
-  dict["TYPE_NAME"] = strings.typeName;
-  dict["TYPE_CPP_NAME"] = strings.typeCppName;
-}
-
-/// Fills a dictionary with values from OpStrings
-static void fillDict(irdl::detail::dictionary &dict, const OpStrings &strings) {
-  const auto operandCount = strings.opOperandNames.size();
-  const auto resultCount = strings.opResultNames.size();
-
-  dict["OP_NAME"] = strings.opName;
-  dict["OP_CPP_NAME"] = strings.opCppName;
-  dict["OP_OPERAND_COUNT"] = std::to_string(strings.opOperandNames.size());
-  dict["OP_RESULT_COUNT"] = std::to_string(strings.opResultNames.size());
-  dict["OP_OPERAND_INITIALIZER_LIST"] =
-      operandCount ? joinNameList(strings.opOperandNames) : "{\"\"}";
-  dict["OP_RESULT_INITIALIZER_LIST"] =
-      resultCount ? joinNameList(strings.opResultNames) : "{\"\"}";
-}
-
-/// Fills a dictionary with values from DialectStrings
-static void fillDict(irdl::detail::dictionary &dict,
-                     const DialectStrings &strings) {
-  dict["DIALECT_NAME"] = strings.dialectName;
-  dict["DIALECT_BASE_TYPE_NAME"] = strings.dialectBaseTypeName;
-  dict["DIALECT_CPP_NAME"] = strings.dialectCppName;
-  dict["DIALECT_CPP_SHORT_NAME"] = strings.dialectCppShortName;
-  dict["NAMESPACE_OPEN"] = strings.namespaceOpen;
-  dict["NAMESPACE_CLOSE"] = strings.namespaceClose;
-  dict["NAMESPACE_PATH"] = strings.namespacePath;
-}
-
-static LogicalResult generateTypedefList(irdl::DialectOp &dialect,
-                                         SmallVector<std::string> &typeNames) {
-  auto typeOps = dialect.getOps<irdl::TypeOp>();
-  auto range = llvm::map_range(typeOps, typeToCppName);
-  typeNames = SmallVector<std::string>(range);
-  return success();
-}
-
-static LogicalResult generateOpList(irdl::DialectOp &dialect,
-                                    SmallVector<std::string> &opNames) {
-  auto operationOps = dialect.getOps<irdl::OperationOp>();
-  auto range = llvm::map_range(operationOps, opToCppName);
-  opNames = SmallVector<std::string>(range);
-  return success();
-}
-
-} // namespace
-
-static LogicalResult generateTypeInclude(irdl::TypeOp type, raw_ostream &output,
-                                         irdl::detail::dictionary &dict) {
-  static const auto typeDeclTemplate = irdl::detail::Template(
-#include "Templates/TypeDecl.txt"
-  );
-
-  fillDict(dict, getStrings(type));
-  typeDeclTemplate.render(output, dict);
-
-  return success();
-}
-
-static void generateOpGetterDeclarations(irdl::detail::dictionary &dict,
-                                         const OpStrings &opStrings) {
-  auto opGetters = std::string{};
-  auto resGetters = std::string{};
-
-  for (size_t i = 0, end = opStrings.opOperandNames.size(); i < end; ++i) {
-    const auto op =
-        llvm::convertToCamelFromSnakeCase(opStrings.opOperandNames[i], true);
-    opGetters += llvm::formatv("::mlir::Value get{0}() { return "
-                               "getStructuredOperands({1}).front(); }\n  ",
-                               op, i);
-  }
-  for (size_t i = 0, end = opStrings.opResultNames.size(); i < end; ++i) {
-    const auto op =
-        llvm::convertToCamelFromSnakeCase(opStrings.opResultNames[i], true);
-    resGetters += llvm::formatv(
-        R"(::mlir::Value get{0}() { return ::llvm::cast<::mlir::Value>(getStructuredResults({1}).front()); }
-  )",
-        op, i);
-  }
-
-  dict["OP_OPERAND_GETTER_DECLS"] = opGetters;
-  dict["OP_RESULT_GETTER_DECLS"] = resGetters;
-}
-
-static void generateOpBuilderDeclarations(irdl::detail::dictionary &dict,
-                                          const OpStrings &opStrings) {
-  std::string buildDecls;
-  llvm::raw_string_ostream stream{buildDecls};
-
-  auto resultParams =
-      llvm::join(llvm::map_range(opStrings.opResultNames,
-                                 [](StringRef name) -> std::string {
-                                   return llvm::formatv(
-                                       "::mlir::Type {0}, ",
-                                       llvm::convertToCamelFromSnakeCase(name));
-                                 }),
-                 "");
-
-  auto operandParams =
-      llvm::join(llvm::map_range(opStrings.opOperandNames,
-                                 [](StringRef name) -> std::string {
-                                   return llvm::formatv(
-                                       "::mlir::Value {0}, ",
-                                       llvm::convertToCamelFromSnakeCase(name));
-                                 }),
-                 "");
-
-  stream << llvm::formatv(
-      R"(static void build(::mlir::OpBuilder &opBuilder, ::mlir::OperationState &opState, {0} {1} ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {{});)",
-      resultParams, operandParams);
-  dict["OP_BUILD_DECLS"] = buildDecls;
-}
-
-static LogicalResult generateOperationInclude(irdl::OperationOp op,
-                                              raw_ostream &output,
-                                              irdl::detail::dictionary &dict) {
-  static const auto perOpDeclTemplate = irdl::detail::Template(
-#include "Templates/PerOperationDecl.txt"
-  );
-  const auto opStrings = getStrings(op);
-  fillDict(dict, opStrings);
-
-  generateOpGetterDeclarations(dict, opStrings);
-  generateOpBuilderDeclarations(dict, opStrings);
-
-  perOpDeclTemplate.render(output, dict);
-  return success();
-}
-
-static LogicalResult generateInclude(irdl::DialectOp dialect,
-                                     raw_ostream &output,
-                                     DialectStrings &dialectStrings) {
-  static const auto dialectDeclTemplate = irdl::detail::Template(
-#include "Templates/DialectDecl.txt"
-  );
-  static const auto typeHeaderDeclTemplate = irdl::detail::Template(
-#include "Templates/TypeHeaderDecl.txt"
-  );
-
-  irdl::detail::dictionary dict;
-  fillDict(dict, dialectStrings);
-
-  dialectDeclTemplate.render(output, dict);
-  typeHeaderDeclTemplate.render(output, dict);
-
-  auto typeOps = dialect.getOps<irdl::TypeOp>();
-  auto operationOps = dialect.getOps<irdl::OperationOp>();
-
-  for (auto &&typeOp : typeOps) {
-    if (failed(generateTypeInclude(typeOp, output, dict)))
-      return failure();
-  }
-
-  SmallVector<std::string> opNames;
-  if (failed(generateOpList(dialect, opNames)))
-    return failure();
-
-  auto classDeclarations =
-      llvm::join(llvm::map_range(opNames,
-                                 [](llvm::StringRef name) -> std::string {
-                                   return llvm::formatv("class {0};", name);
-                                 }),
-                 "\n");
-  const auto forwardDeclarations = llvm::formatv(
-      "{1}\n{0}\n{2}", std::move(classDeclarations),
-      dialectStrings.namespaceOpen, dialectStrings.namespaceClose);
-
-  output << forwardDeclarations;
-  for (auto &&operationOp : operationOps) {
-    if (failed(generateOperationInclude(operationOp, output, dict)))
-      return failure();
-  }
-
-  return success();
-}
-
-static std::string generateOpDefinition(irdl::detail::dictionary &dict,
-                                        irdl::OperationOp op) {
-  static const auto perOpDefTemplate = mlir::irdl::detail::Template{
-#include "Templates/PerOperationDef.txt"
-  };
-
-  auto opStrings = getStrings(op);
-  fillDict(dict, opStrings);
-
-  const auto operandCount = opStrings.opOperandNames.size();
-  const auto operandNames =
-      operandCount ? joinNameList(opStrings.opOperandNames) : "{\"\"}";
-
-  const auto resultNames = joinNameList(opStrings.opResultNames);
-
-  auto resultTypes = llvm::join(
-      llvm::map_range(opStrings.opResultNames,
-                      [](StringRef attr) -> std::string {
-                        return llvm::formatv("::mlir::Type {0}, ", attr);
-                      }),
-      "");
-  auto operandTypes = llvm::join(
-      llvm::map_range(opStrings.opOperandNames,
-                      [](StringRef attr) -> std::string {
-                        return llvm::formatv("::mlir::Value {0}, ", attr);
-                      }),
-      "");
-  auto operandAdder =
-      llvm::join(llvm::map_range(opStrings.opOperandNames,
-                                 [](StringRef attr) -> std::string {
-                                   return llvm::formatv(
-                                       "  opState.addOperands({0});", attr);
-                                 }),
-                 "\n");
-  auto resultAdder = llvm::join(
-      llvm::map_range(opStrings.opResultNames,
-                      [](StringRef attr) -> std::string {
-                        return llvm::formatv("  opState.addTypes({0});", attr);
-                      }),
-      "\n");
-
-  const auto buildDefinition = llvm::formatv(
-      R"(
-void {0}::build(::mlir::OpBuilder &opBuilder, ::mlir::OperationState &opState, {1} {2} ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {{
-{3}
-{4}
-}
-)",
-      opStrings.opCppName, std::move(resultTypes), std::move(operandTypes),
-      std::move(operandAdder), std::move(resultAdder));
-
-  dict["OP_BUILD_DEFS"] = buildDefinition;
-
-  std::string str;
-  llvm::raw_string_ostream stream{str};
-  perOpDefTemplate.render(stream, dict);
-  return str;
-}
-
-static std::string
-generateTypeVerifierCase(StringRef name, const DialectStrings &dialectStrings) {
-  return llvm::formatv(
-      R"(.Case({1}::{0}::getMnemonic(), [&](llvm::StringRef, llvm::SMLoc) {
-value = {1}::{0}::get(parser.getContext());
-return ::mlir::success(!!value);
-}))",
-      name, dialectStrings.namespacePath);
-}
-
-static LogicalResult generateLib(irdl::DialectOp dialect, raw_ostream &output,
-                                 DialectStrings &dialectStrings) {
-
-  static const auto typeHeaderDefTemplate = mlir::irdl::detail::Template{
-#include "Templates/TypeHeaderDef.txt"
-  };
-  static const auto typeDefTemplate = mlir::irdl::detail::Template{
-#include "Templates/TypeDef.txt"
-  };
-  static const auto dialectDefTemplate = mlir::irdl::detail::Template{
-#include "Templates/DialectDef.txt"
-  };
-
-  irdl::detail::dictionary dict;
-  fillDict(dict, dialectStrings);
-
-  typeHeaderDefTemplate.render(output, dict);
-
-  SmallVector<std::string> typeNames;
-  if (failed(generateTypedefList(dialect, typeNames)))
-    return failure();
-
-  dict["TYPE_LIST"] = llvm::join(
-      llvm::map_range(typeNames,
-                      [&dialectStrings](llvm::StringRef name) -> std::string {
-                        return llvm::formatv(
-                            "{0}::{1}", dialectStrings.namespacePath, name);
-                      }),
-      ",\n");
-
-  auto typeVerifierGenerator =
-      [&dialectStrings](llvm::StringRef name) -> std::string {
-    return generateTypeVerifierCase(name, dialectStrings);
-  };
-
-  auto typeCase =
-      llvm::join(llvm::map_range(typeNames, typeVerifierGenerator), "\n");
-
-  dict["TYPE_PARSER"] = llvm::formatv(
-      R"(static ::mlir::OptionalParseResult generatedTypeParser(::mlir::AsmParser &parser, ::llvm::StringRef *mnemonic, ::mlir::Type &value) {
-  return ::mlir::AsmParser::KeywordSwitch<::mlir::OptionalParseResult>(parser)
-    {0}    
-    .Default([&](llvm::StringRef keyword, llvm::SMLoc) {{
-      *mnemonic = keyword;
-      return std::nullopt;
-    });
-})",
-      std::move(typeCase));
-
-  auto typePrintCase =
-      llvm::join(llvm::map_range(typeNames,
-                                 [&](llvm::StringRef name) -> std::string {
-                                   return llvm::formatv(
-                                       R"(.Case<{1}::{0}>([&](auto t) {
-      printer << {1}::{0}::getMnemonic();
-      return ::mlir::success();
-    }))",
-                                       name, dialectStrings.namespacePath);
-                                 }),
-                 "\n");
-  dict["TYPE_PRINTER"] = llvm::formatv(
-      R"(static ::llvm::LogicalResult generatedTypePrinter(::mlir::Type def, ::mlir::AsmPrinter &printer) {
-  return ::llvm::TypeSwitch<::mlir::Type, ::llvm::LogicalResult>(def)
-    {0}
-    .Default([](auto) {{ return ::mlir::failure(); });
-})",
-      std::move(typePrintCase));
-
-  dict["TYPE_DEFINES"] =
-      join(map_range(typeNames,
-                     [&](StringRef name) -> std::string {
-                       return formatv("MLIR_DEFINE_EXPLICIT_TYPE_ID({1}::{0})",
-                                      name, dialectStrings.namespacePath);
-                     }),
-           "\n");
-
-  typeDefTemplate.render(output, dict);
-
-  auto operations = dialect.getOps<irdl::OperationOp>();
-  SmallVector<std::string> opNames;
-  if (failed(generateOpList(dialect, opNames)))
-    return failure();
-
-  const auto commaSeparatedOpList = llvm::join(
-      map_range(opNames,
-                [&dialectStrings](llvm::StringRef name) -> std::string {
-                  return llvm::formatv("{0}::{1}", dialectStrings.namespacePath,
-                                       name);
-                }),
-      ",\n");
-
-  const auto opDefinitionGenerator = [&dict](irdl::OperationOp op) {
-    return generateOpDefinition(dict, op);
-  };
-
-  const auto perOpDefinitions =
-      llvm::join(llvm::map_range(operations, opDefinitionGenerator), "\n");
-
-  dict["OP_LIST"] = commaSeparatedOpList;
-  dict["OP_CLASSES"] = perOpDefinitions;
-  output << perOpDefinitions;
-  dialectDefTemplate.render(output, dict);
-
-  return success();
-}
-
-static LogicalResult verifySupported(irdl::DialectOp dialect) {
-  LogicalResult res = success();
-  dialect.walk([&](mlir::Operation *op) {
-    res =
-        llvm::TypeSwitch<Operation *, LogicalResult>(op)
-            .Case<irdl::DialectOp>(([](irdl::DialectOp) { return success(); }))
-            .Case<irdl::OperationOp>(
-                ([](irdl::OperationOp) { return success(); }))
-            .Case<irdl::TypeOp>(([](irdl::TypeOp) { return success(); }))
-            .Case<irdl::OperandsOp>(([](irdl::OperandsOp op) -> LogicalResult {
-              if (llvm::all_of(
-                      op.getVariadicity(), [](irdl::VariadicityAttr attr) {
-                        return attr.getValue() == irdl::Variadicity::single;
-                      }))
-                return success();
-              return op.emitError("IRDL C++ translation does not yet support "
-                                  "variadic operations");
-            }))
-            .Case<irdl::ResultsOp>(([](irdl::ResultsOp op) -> LogicalResult {
-              if (llvm::all_of(
-                      op.getVariadicity(), [](irdl::VariadicityAttr attr) {
-                        return attr.getValue() == irdl::Variadicity::single;
-                      }))
-                return success();
-              return op.emitError(
-                  "IRDL C++ translation does not yet support variadic results");
-            }))
-            .Case<irdl::AnyOp>(([](irdl::AnyOp) { return success(); }))
-            .Default([](mlir::Operation *op) -> LogicalResult {
-              return op->emitError("IRDL C++ translation does not yet support "
-                                   "translation of ")
-                     << op->getName() << " operation";
-            });
-
-    if (failed(res))
-      return WalkResult::interrupt();
-
-    return WalkResult::advance();
-  });
-
-  return res;
-}
-
-LogicalResult
-irdl::translateIRDLDialectToCpp(llvm::ArrayRef<irdl::DialectOp> dialects,
-                                raw_ostream &output) {
-  static const auto typeDefTempl = detail::Template(
-#include "Templates/TypeDef.txt"
-  );
-
-  llvm::SmallMapVector<DialectOp, DialectStrings, 2> dialectStringTable;
-
-  for (auto dialect : dialects) {
-    if (failed(verifySupported(dialect)))
-      return failure();
-
-    StringRef dialectName = dialect.getSymName();
-
-    SmallVector<SmallString<8>> namespaceAbsolutePath{{"mlir"}, dialectName};
-    std::string namespaceOpen;
-    std::string namespaceClose;
-    std::string namespacePath;
-    llvm::raw_string_ostream namespaceOpenStream(namespaceOpen);
-    llvm::raw_string_ostream namespaceCloseStream(namespaceClose);
-    llvm::raw_string_ostream namespacePathStream(namespacePath);
-    for (auto &pathElement : namespaceAbsolutePath) {
-      namespaceOpenStream << "namespace " << pathElement << " {\n";
-      namespaceCloseStream << "} // namespace " << pathElement << "\n";
-      namespacePathStream << "::" << pathElement;
-    }
-
-    std::string cppShortName =
-        llvm::convertToCamelFromSnakeCase(dialectName, true);
-    std::string dialectBaseTypeName = llvm::formatv("{0}Type", cppShortName);
-    std::string cppName = llvm::formatv("{0}Dialect", cppShortName);
-
-    DialectStrings dialectStrings;
-    dialectStrings.dialectName = dialectName;
-    dialectStrings.dialectBaseTypeName = dialectBaseTypeName;
-    dialectStrings.dialectCppName = cppName;
-    dialectStrings.dialectCppShortName = cppShortName;
-    dialectStrings.namespaceOpen = namespaceOpen;
-    dialectStrings.namespaceClose = namespaceClose;
-    dialectStrings.namespacePath = namespacePath;
-
-    dialectStringTable[dialect] = std::move(dialectStrings);
-  }
-
-  // generate the actual header
-  output << headerTemplateText;
-
-  output << llvm::formatv("#ifdef {0}\n#undef {0}\n", declarationMacroFlag);
-  for (auto dialect : dialects) {
-
-    auto &dialectStrings = dialectStringTable[dialect];
-    auto &dialectName = dialectStrings.dialectName;
-
-    if (failed(generateInclude(dialect, output, dialectStrings)))
-      return dialect->emitError("Error in Dialect " + dialectName +
-                                " while generating headers");
-  }
-  output << llvm::formatv("#endif // #ifdef {}\n", declarationMacroFlag);
-
-  output << llvm::formatv("#ifdef {0}\n#undef {0}\n ", definitionMacroFlag);
-  for (auto &dialect : dialects) {
-    auto &dialectStrings = dialectStringTable[dialect];
-    auto &dialectName = dialectStrings.dialectName;
-
-    if (failed(generateLib(dialect, output, dialectStrings)))
-      return dialect->emitError("Error in Dialect " + dialectName +
-                                " while generating library");
-  }
-  output << llvm::formatv("#endif // #ifdef {}\n", definitionMacroFlag);
-
-  return success();
-}

diff  --git a/mlir/lib/Target/IRDLToCpp/Templates/DialectDecl.txt b/mlir/lib/Target/IRDLToCpp/Templates/DialectDecl.txt
deleted file mode 100644
index e0f85feadd196..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/Templates/DialectDecl.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-R"(
-__NAMESPACE_OPEN__
-
-class __DIALECT_CPP_NAME__ : public ::mlir::Dialect {
-  explicit __DIALECT_CPP_NAME__(::mlir::MLIRContext *context);
-
-  void initialize();
-  friend class ::mlir::MLIRContext;
-
-public:
-  ~__DIALECT_CPP_NAME__() override;
-  static constexpr ::llvm::StringLiteral getDialectNamespace() {
-    return ::llvm::StringLiteral("__DIALECT_NAME__");
-  }
-
-  /// Parse a type registered to this dialect.
-  ::mlir::Type parseType(::mlir::DialectAsmParser &parser) const override;
-
-  /// Print a type registered to this dialect.
-  void printType(::mlir::Type type,
-                 ::mlir::DialectAsmPrinter &os) const override;
-};
-
-__NAMESPACE_CLOSE__
-
-MLIR_DECLARE_EXPLICIT_TYPE_ID(__NAMESPACE_PATH__::__DIALECT_CPP_NAME__)
-
-)"

diff  --git a/mlir/lib/Target/IRDLToCpp/Templates/DialectDef.txt b/mlir/lib/Target/IRDLToCpp/Templates/DialectDef.txt
deleted file mode 100644
index cd52de11dd6b0..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/Templates/DialectDef.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-R"(
-
-__NAMESPACE_OPEN__
-
-__DIALECT_CPP_NAME__::__DIALECT_CPP_NAME__(::mlir::MLIRContext *context)
-    : ::mlir::Dialect(getDialectNamespace(), context,
-                      ::mlir::TypeID::get<__DIALECT_CPP_NAME__>())
-{
-  initialize();
-}
-
-__DIALECT_CPP_NAME__::~__DIALECT_CPP_NAME__() = default;
-
-
-void __DIALECT_CPP_NAME__::initialize() {
-    addOperations<
-      __OP_LIST__
-    >();
-    addTypes<
-      __TYPE_LIST__
-    >();
-}
-
-__NAMESPACE_CLOSE__
-
-MLIR_DEFINE_EXPLICIT_TYPE_ID(__NAMESPACE_PATH__::__DIALECT_CPP_NAME__)
-)"

diff  --git a/mlir/lib/Target/IRDLToCpp/Templates/Header.txt b/mlir/lib/Target/IRDLToCpp/Templates/Header.txt
deleted file mode 100644
index c081d6431778a..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/Templates/Header.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-R"(
-/*===- IRDL to C++ Generated file -------------------------------*- C++ -*-===*\
-|*                                                                            *|
-|* Dialect Declarations                                                       *|
-|*                                                                            *|
-|* Automatically generated file, do not edit!                                 *|
-|*                                                                            *|
-\*===----------------------------------------------------------------------===*/
-
-)"

diff  --git a/mlir/lib/Target/IRDLToCpp/Templates/PerOperationDecl.txt b/mlir/lib/Target/IRDLToCpp/Templates/PerOperationDecl.txt
deleted file mode 100644
index 9e787b8056a89..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/Templates/PerOperationDecl.txt
+++ /dev/null
@@ -1,185 +0,0 @@
-R"(
-//===----------------------------------------------------------------------===//
-// __NAMESPACE_PATH__::__OP_CPP_NAME__ declarations
-//===----------------------------------------------------------------------===//
-
-__NAMESPACE_OPEN__
-
-namespace detail {
-
-class __OP_CPP_NAME__GenericAdaptorBase {
-public:
-  struct Properties {
-  };
-public:
-  __OP_CPP_NAME__GenericAdaptorBase(::mlir::Operation *op) 
-    : odsAttrs(op->getRawDictionaryAttrs()), odsOpName(op->getName()), 
-               odsRegions(op->getRegions()) 
-  {}
-
-  /// Return the unstructured operand index of a structured operand along with
-  // the amount of unstructured operands it contains.
-  std::pair<unsigned, unsigned>
-  getStructuredOperandIndexAndLength (unsigned index, 
-                                      unsigned odsOperandsSize) {
-    return {index, 1};
-  }
-
-  const Properties &getProperties() {
-    return properties;
-  }
-
-  ::mlir::DictionaryAttr getAttributes() {
-    return odsAttrs;
-  }
-protected:
-  ::mlir::DictionaryAttr odsAttrs;
-  ::std::optional<::mlir::OperationName> odsOpName;
-  Properties properties;
-  ::mlir::RegionRange odsRegions;
-};
-
-} // namespace detail
-
-template <typename RangeT>
-class __OP_CPP_NAME__GenericAdaptor 
-  : public detail::__OP_CPP_NAME__GenericAdaptorBase {
-  using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
-  using Base = detail::__OP_CPP_NAME__GenericAdaptorBase;
-public:
-  __OP_CPP_NAME__GenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs,
-                                ::mlir::OpaqueProperties properties, 
-                                ::mlir::RegionRange regions = {}) 
-    : __OP_CPP_NAME__GenericAdaptor(values, attrs, 
-      (properties ? *properties.as<::mlir::EmptyProperties *>() 
-      : ::mlir::EmptyProperties{}), regions) {}
-
-  __OP_CPP_NAME__GenericAdaptor(RangeT values, 
-                                const __OP_CPP_NAME__GenericAdaptorBase &base)
-    : Base(base), odsOperands(values) {}
-
-  // This template parameter allows using __OP_CPP_NAME__ which is declared 
-  // later.
-  template <typename LateInst = __OP_CPP_NAME__,
-            typename = std::enable_if_t<
-                         std::is_same_v<LateInst, __OP_CPP_NAME__>>>
-  __OP_CPP_NAME__GenericAdaptor(RangeT values, LateInst op) 
-    : Base(op), odsOperands(values) {}
-
-  /// Return the unstructured operand index of a structured operand along with
-  // the amount of unstructured operands it contains.
-  std::pair<unsigned, unsigned>
-  getStructuredOperandIndexAndLength(unsigned index) {
-    return Base::getStructuredOperandIndexAndLength(index, odsOperands.size());
-  }
-
-  /// Get the n-th structured operand (single value, variadic or optional).
-  RangeT getStructuredOperands(unsigned index) {
-    auto valueRange = getStructuredOperandIndexAndLength(index);
-    return {std::next(odsOperands.begin(), valueRange.first),
-             std::next(odsOperands.begin(), 
-                       valueRange.first + valueRange.second)};
-  }
-
-  RangeT getOperands() {
-    return odsOperands;
-  }
-
-  __OP_OPERAND_GETTER_DECLS__
-
-private:
-  RangeT odsOperands;
-};
-
-class __OP_CPP_NAME__Adaptor 
-  : public __OP_CPP_NAME__GenericAdaptor<::mlir::ValueRange> {
-public:
-  using __OP_CPP_NAME__GenericAdaptor::__OP_CPP_NAME__GenericAdaptor;
-  __OP_CPP_NAME__Adaptor(__OP_CPP_NAME__ op);
-
-  ::llvm::LogicalResult verify(::mlir::Location loc);
-};
-
-class __OP_CPP_NAME__ : public ::mlir::Op<__OP_CPP_NAME__> {
-public:
-  using Op::Op;
-  using Op::print;
-  using Adaptor = __OP_CPP_NAME__Adaptor;
-  template <typename RangeT>
-  using GenericAdaptor = __OP_CPP_NAME__GenericAdaptor<RangeT>;
-  using FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>>;
-  static ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames() {
-    return {};
-  }
-
-  static constexpr ::llvm::StringLiteral getOperationName() {
-    return ::llvm::StringLiteral("__DIALECT_NAME__.__OP_NAME__");
-  }
-
-  static ::llvm::ArrayRef<::llvm::StringRef> getOperandNames() {
-    static ::llvm::StringRef operandNames[] = __OP_OPERAND_INITIALIZER_LIST__;
-    return operandNames;
-  }
-
-  static ::llvm::StringRef getOperandName(unsigned index) {
-    assert(index < __OP_OPERAND_COUNT__ && "invalid attribute index");
-    return getOperandNames()[index];
-  }
-
-  static ::llvm::ArrayRef<::llvm::StringRef> getResultNames() {
-    static ::llvm::StringRef resultNames[] = __OP_RESULT_INITIALIZER_LIST__;
-    return resultNames;
-  }
-
-  static ::llvm::StringRef getResultName(unsigned index) {
-    assert(index < __OP_RESULT_COUNT__ && "invalid attribute index");
-    return getResultNames()[index];
-  }
-
-  /// Return the unstructured operand index of a structured operand along with
-  // the amount of unstructured operands it contains.
-  std::pair<unsigned, unsigned>
-  getStructuredOperandIndexAndLength(unsigned index) {
-    return {index, 1};
-  }
-
-  /// Get the n-th structured operand (single value, variadic or optional).
-  ::mlir::Operation::operand_range getStructuredOperands(unsigned index) {
-    auto valueRange = getStructuredOperandIndexAndLength(index);
-    return {std::next(getOperation()->operand_begin(), valueRange.first),
-             std::next(getOperation()->operand_begin(), 
-                       valueRange.first + valueRange.second)};
-  }
-
-  /// Return the unstructured result index of a structured result along with
-  // the amount of unstructured results it contains.
-  std::pair<unsigned, unsigned>
-  getStructuredResultIndexAndLength(unsigned index) {
-    return {index, 1};
-  }
-
-  /// Get the n-th structured result (single value, variadic or optional).
-  ::mlir::Operation::result_range getStructuredResults(unsigned index) {
-    auto valueRange = getStructuredResultIndexAndLength(index);
-    return {std::next(getOperation()->result_begin(), valueRange.first),
-             std::next(getOperation()->result_begin(), 
-                       valueRange.first + valueRange.second)};
-  }
-
-  __OP_OPERAND_GETTER_DECLS__
-  __OP_RESULT_GETTER_DECLS__
-  
-  __OP_BUILD_DECLS__
-  static void build(::mlir::OpBuilder &odsBuilder, 
-                    ::mlir::OperationState &odsState, 
-                    ::mlir::TypeRange resultTypes, 
-                    ::mlir::ValueRange operands, 
-                    ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
-};
-
-
-__NAMESPACE_CLOSE__
-
-MLIR_DECLARE_EXPLICIT_TYPE_ID(__NAMESPACE_PATH__::__OP_CPP_NAME__)
-
-)"

diff  --git a/mlir/lib/Target/IRDLToCpp/Templates/PerOperationDef.txt b/mlir/lib/Target/IRDLToCpp/Templates/PerOperationDef.txt
deleted file mode 100644
index 88f19d0f22ca4..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/Templates/PerOperationDef.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-R"(
-
-//===----------------------------------------------------------------------===//
-// __NAMESPACE_PATH__::__OP_CPP_NAME__ definitions
-//===----------------------------------------------------------------------===//
-
-__NAMESPACE_OPEN__
-
-__OP_BUILD_DEFS__
-
-void __OP_CPP_NAME__::build(::mlir::OpBuilder &odsBuilder, 
-                            ::mlir::OperationState &odsState, 
-                            ::mlir::TypeRange resultTypes, 
-                            ::mlir::ValueRange operands, 
-                            ::llvm::ArrayRef<::mlir::NamedAttribute> attributes)
-{
-  assert(operands.size() == __OP_OPERAND_COUNT__);
-  assert(resultTypes.size() == __OP_RESULT_COUNT__);
-  odsState.addOperands(operands);
-  odsState.addAttributes(attributes);
-  odsState.addTypes(resultTypes);
-}
-
-
-__NAMESPACE_CLOSE__
-
-MLIR_DEFINE_EXPLICIT_TYPE_ID(__NAMESPACE_PATH__::__OP_CPP_NAME__)
-)"

diff  --git a/mlir/lib/Target/IRDLToCpp/Templates/TypeDecl.txt b/mlir/lib/Target/IRDLToCpp/Templates/TypeDecl.txt
deleted file mode 100644
index 201a550a29ef0..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/Templates/TypeDecl.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-R"(
-
-//===----------------------------------------------------------------------===//
-// __NAMESPACE_PATH__::__TYPE_CPP_NAME__ declarations
-//===----------------------------------------------------------------------===//
-
-__NAMESPACE_OPEN__
-
-class __TYPE_CPP_NAME__ 
-  : public ::mlir::Type::TypeBase<__TYPE_CPP_NAME__, 
-                                  __DIALECT_BASE_TYPE_NAME__, 
-                                  ::mlir::TypeStorage> {
-public:
-  using Base::Base;
-  static constexpr ::llvm::StringLiteral name = 
-    "__DIALECT_NAME__.__TYPE_NAME__";
-  static constexpr ::llvm::StringLiteral dialectName = "__DIALECT_NAME__";
-  static constexpr ::llvm::StringLiteral getMnemonic() {
-    return {"__TYPE_NAME__"};
-  }
-};
-
-__NAMESPACE_CLOSE__
-
-MLIR_DECLARE_EXPLICIT_TYPE_ID(__NAMESPACE_PATH__::__TYPE_CPP_NAME__)
-)"

diff  --git a/mlir/lib/Target/IRDLToCpp/Templates/TypeDef.txt b/mlir/lib/Target/IRDLToCpp/Templates/TypeDef.txt
deleted file mode 100644
index aaca4430507fb..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/Templates/TypeDef.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-R"(
-
-__TYPE_DEFINES__
-
-__NAMESPACE_OPEN__
-
-__TYPE_PARSER__
-
-__TYPE_PRINTER__
-
-/// Parse a type registered to this dialect.
-::mlir::Type __DIALECT_CPP_NAME__::parseType(::mlir::DialectAsmParser &parser) 
-  const
-{
-  ::llvm::SMLoc typeLoc = parser.getCurrentLocation();
-  ::llvm::StringRef mnemonic;
-  ::mlir::Type genType;
-  auto parseResult = generatedTypeParser(parser, &mnemonic, genType);
-  if (parseResult.has_value())
-    return genType;
-  
-  parser.emitError(typeLoc) << "unknown  type `"
-      << mnemonic << "` in dialect `" << getNamespace() << "`";
-  return {};
-}
-
-/// Print a type registered to this dialect.
-void __DIALECT_CPP_NAME__::printType(::mlir::Type type,
-                    ::mlir::DialectAsmPrinter &printer) const {
-  ((void) generatedTypePrinter(type, printer));
-  
-}
-
-__NAMESPACE_CLOSE__
-)"

diff  --git a/mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDecl.txt b/mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDecl.txt
deleted file mode 100644
index 878bbdb7d3bd2..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDecl.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-R"(
-__NAMESPACE_OPEN__
-
-class __DIALECT_BASE_TYPE_NAME__ : public ::mlir::Type {
-public:
-  using Type::Type;
-
-  static bool classof(Type type);
-};
-
-__NAMESPACE_CLOSE__
-
-MLIR_DECLARE_EXPLICIT_TYPE_ID(__NAMESPACE_PATH__::__DIALECT_BASE_TYPE_NAME__)
-)"

diff  --git a/mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDef.txt b/mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDef.txt
deleted file mode 100644
index be5ba2f390fce..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDef.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-R"(
-__NAMESPACE_OPEN__
-
-bool __DIALECT_BASE_TYPE_NAME__::classof(Type type) {
-  return llvm::isa<__DIALECT_CPP_NAME__>(type.getDialect());
-}
-
-__NAMESPACE_CLOSE__
-)"

diff  --git a/mlir/lib/Target/IRDLToCpp/TemplatingUtils.h b/mlir/lib/Target/IRDLToCpp/TemplatingUtils.h
deleted file mode 100644
index aeb3c09543213..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/TemplatingUtils.h
+++ /dev/null
@@ -1,89 +0,0 @@
-//===- TemplatingUtils.h - Templater for text templates -----------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef MLIR_LIB_TARGET_IRDLTOCPP_TEMPLATINGUTILS_H
-#define MLIR_LIB_TARGET_IRDLTOCPP_TEMPLATINGUTILS_H
-
-#include "llvm/ADT/SmallString.h"
-#include "llvm/ADT/StringMap.h"
-#include "llvm/ADT/StringRef.h"
-#include "llvm/Support/ErrorHandling.h"
-#include "llvm/Support/raw_ostream.h"
-#include <variant>
-
-namespace mlir::irdl::detail {
-
-/// A dictionary stores a mapping of template variable names to their assigned
-/// string values.
-using dictionary = llvm::StringMap<llvm::SmallString<8>>;
-
-/// Template Code as used by IRDL-to-Cpp.
-///
-/// For efficiency, produces a bytecode representation of an input template.
-///   - LiteralToken: A contiguous stream of characters to be printed
-///   - ReplacementToken: A template variable that will be replaced
-class Template {
-public:
-  Template(llvm::StringRef str) {
-    bool processingReplacementToken = false;
-    while (!str.empty()) {
-      auto [token, remainder] = str.split("__");
-
-      if (processingReplacementToken) {
-        assert(!token.empty() && "replacement name cannot be empty");
-        bytecode.emplace_back(ReplacementToken{token});
-      } else {
-        if (!token.empty())
-          bytecode.emplace_back(LiteralToken{token});
-      }
-
-      processingReplacementToken = !processingReplacementToken;
-      str = remainder;
-    }
-  }
-
-  /// Render will apply a dictionary to the Template and send the rendered
-  /// result to the specified output stream.
-  void render(llvm::raw_ostream &out, const dictionary &replacements) const {
-    for (auto instruction : bytecode) {
-      if (auto *inst = std::get_if<LiteralToken>(&instruction)) {
-        out << inst->text;
-        continue;
-      }
-
-      if (auto *inst = std::get_if<ReplacementToken>(&instruction)) {
-        auto replacement = replacements.find(inst->keyName);
-#ifndef NDEBUG
-        if (replacement == replacements.end()) {
-          llvm::errs() << "Missing template key: " << inst->keyName << "\n";
-          llvm_unreachable("Missing template key");
-        }
-#endif
-        out << replacement->second;
-        continue;
-      }
-
-      llvm_unreachable("non-exhaustive bytecode visit");
-    }
-  }
-
-private:
-  struct LiteralToken {
-    llvm::StringRef text;
-  };
-
-  struct ReplacementToken {
-    llvm::StringRef keyName;
-  };
-
-  std::vector<std::variant<LiteralToken, ReplacementToken>> bytecode;
-};
-
-} // namespace mlir::irdl::detail
-
-#endif // MLIR_LIB_TARGET_IRDLTOCPP_TEMPLATINGUTILS_H

diff  --git a/mlir/lib/Target/IRDLToCpp/TranslationRegistration.cpp b/mlir/lib/Target/IRDLToCpp/TranslationRegistration.cpp
deleted file mode 100644
index 2a991662738ba..0000000000000
--- a/mlir/lib/Target/IRDLToCpp/TranslationRegistration.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//===- TranslationRegistration.cpp - Register translation -----------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "mlir/Target/IRDLToCpp/TranslationRegistration.h"
-#include "mlir/Dialect/IRDL/IR/IRDL.h"
-#include "mlir/IR/BuiltinOps.h"
-#include "mlir/Target/IRDLToCpp/IRDLToCpp.h"
-#include "mlir/Tools/mlir-translate/Translation.h"
-#include "llvm/ADT/TypeSwitch.h"
-#include "llvm/Support/Casting.h"
-
-using namespace mlir;
-
-namespace mlir {
-
-//===----------------------------------------------------------------------===//
-// Translation registration
-//===----------------------------------------------------------------------===//
-
-void registerIRDLToCppTranslation() {
-  TranslateFromMLIRRegistration reg(
-      "irdl-to-cpp", "translate IRDL dialect definitions to C++ definitions",
-      [](Operation *op, raw_ostream &output) {
-        return TypeSwitch<Operation *, LogicalResult>(op)
-            .Case<irdl::DialectOp>([&](irdl::DialectOp dialectOp) {
-              return irdl::translateIRDLDialectToCpp(dialectOp, output);
-            })
-            .Case<ModuleOp>([&](ModuleOp moduleOp) {
-              for (Operation &op : moduleOp.getBody()->getOperations())
-                if (auto dialectOp = llvm::dyn_cast<irdl::DialectOp>(op))
-                  if (failed(
-                          irdl::translateIRDLDialectToCpp(dialectOp, output)))
-                    return failure();
-              return success();
-            })
-            .Default([](Operation *op) {
-              return op->emitError(
-                  "unsupported operation for IRDL to C++ translation");
-            });
-      },
-      [](DialectRegistry &registry) { registry.insert<irdl::IRDLDialect>(); });
-}
-
-} // namespace mlir

diff  --git a/mlir/test/Dialect/IRDL/invalid.irdl.mlir b/mlir/test/Dialect/IRDL/invalid.irdl.mlir
index 8a7fffe1a9cbd..1e66161b800df 100644
--- a/mlir/test/Dialect/IRDL/invalid.irdl.mlir
+++ b/mlir/test/Dialect/IRDL/invalid.irdl.mlir
@@ -25,7 +25,7 @@ irdl.dialect @testd {
 irdl.dialect @testd {
   irdl.type @type {
     %0 = irdl.any
-    // expected-error at +1 {{name of parameter #0 must contain only lowercase letters, digits and underscores}}
+    // expected-error at +1 {{name of parameter #0 must contain only letters, digits and underscores}}
     irdl.parameters(test$test: %0)
   }
 }
@@ -35,7 +35,7 @@ irdl.dialect @testd {
 irdl.dialect @testd {
   irdl.operation @op {
     %0 = irdl.any
-    // expected-error at +1 {{name of result #0 must contain only lowercase letters, digits and underscores}}
+    // expected-error at +1 {{name of result #0 must contain only letters, digits and underscores}}
     irdl.results(test$test: %0)
   }
 }
@@ -45,7 +45,7 @@ irdl.dialect @testd {
 irdl.dialect @testd {
   irdl.operation @op {
     %0 = irdl.any
-    // expected-error at +1 {{name of operand #0 must contain only lowercase letters, digits and underscores}}
+    // expected-error at +1 {{name of operand #0 must contain only letters, digits and underscores}}
     irdl.operands(test$test: %0)
   }
 }

diff  --git a/mlir/test/Dialect/IRDL/invalid_names.irdl.mlir b/mlir/test/Dialect/IRDL/invalid_names.irdl.mlir
deleted file mode 100644
index e2d2be52fc3db..0000000000000
--- a/mlir/test/Dialect/IRDL/invalid_names.irdl.mlir
+++ /dev/null
@@ -1,94 +0,0 @@
-// RUN: mlir-irdl-to-cpp %s --verify-diagnostics --split-input-file
-// expected-error at +1 {{name of dialect should not contain leading or double underscores}}
-irdl.dialect @_no_leading_underscore {
-}
-
-// -----
-
-// expected-error at +1 {{name of dialect should not contain leading or double underscores}}
-irdl.dialect @no__double__underscores {
-}
-
-// -----
-
-// expected-error at +1 {{name of dialect should not contain uppercase letters}}
-irdl.dialect @NoUpperCase {
-}
-
-// -----
-
-// expected-error at +1 {{name of dialect must contain only lowercase letters, digits and underscores}}
-irdl.dialect @no_weird_symbol$ {
-}
-
-// -----
-
-irdl.dialect @test_dialect {
-  // expected-error at +1 {{name of operation should not contain leading or double underscores}}
-  irdl.operation @_no_leading_underscore {
-    %0 = irdl.any
-    irdl.results(res: %0)
-  }
-}
-
-// -----
-
-irdl.dialect @test_dialect {
-  // expected-error at +1 {{name of operation should not contain leading or double underscores}}
-  irdl.operation @no__double__underscores {
-    %0 = irdl.any
-    irdl.results(res: %0)
-  }
-}
-
-// -----
-
-irdl.dialect @test_dialect {
-    // expected-error at +1 {{name of operation should not contain uppercase letters}}
-    irdl.operation @NoUpperCase {
-        %0 = irdl.any
-        irdl.results(res: %0)
-    }
-}
-
-// -----
-
-irdl.dialect @test_dialect {
-  // expected-error at +1 {{name of operation must contain only lowercase letters, digits and underscores}}
-  irdl.operation @no_weird_symbol$ {
-    %0 = irdl.any
-    irdl.results(res: %0)
-  }
-}
-
-// -----
-
-irdl.dialect @test_dialect {
-  irdl.operation @test_op {
-    %0 = irdl.any
-    // expected-error at +1 {{name of result #0 should not contain leading or double underscores}}
-    irdl.results(_no_leading_underscore: %0)
-  }
-}
-
-// -----
-
-irdl.dialect @test_dialect {
-  irdl.operation @test_op {
-    %0 = irdl.any
-    // expected-error at +1 {{name of result #0 should not contain leading or double underscores}}
-    irdl.results(no__double__underscores: %0)
-  }
-}
-
-// -----
-
-irdl.dialect @test_dialect {
-  irdl.operation @test_op {
-    %0 = irdl.any
-    // expected-error at +1 {{name of result #0 should not contain uppercase letters}}
-    irdl.results(NoUpperCase: %0)
-  }
-}
-
-// -----

diff  --git a/mlir/test/Dialect/IRDL/regions-ops.irdl.mlir b/mlir/test/Dialect/IRDL/regions-ops.irdl.mlir
index e5f884c99e5f4..7c2efc6c96e41 100644
--- a/mlir/test/Dialect/IRDL/regions-ops.irdl.mlir
+++ b/mlir/test/Dialect/IRDL/regions-ops.irdl.mlir
@@ -1,6 +1,6 @@
 // RUN: mlir-opt %s -verify-diagnostics -split-input-file
 
-irdl.dialect @test_region_op_negative_number {
+irdl.dialect @testRegionOpNegativeNumber {
     irdl.operation @op {
         // expected-error @below {{'irdl.region' op the number of blocks is expected to be >= 1 but got -42}}
         %r1 = irdl.region with size -42
@@ -9,7 +9,7 @@ irdl.dialect @test_region_op_negative_number {
 
 // -----
 
-irdl.dialect @test_regions_op_missing_name {
+irdl.dialect @testRegionsOpMissingName {
     irdl.operation @op {
         %r1 = irdl.region
         // expected-error @below {{expected valid keyword}}
@@ -19,17 +19,17 @@ irdl.dialect @test_regions_op_missing_name {
 
 // -----
 
-irdl.dialect @test_regions_op_wrong_name {
+irdl.dialect @testRegionsOpWrongName {
     irdl.operation @op {
         %r1 = irdl.region
-        // expected-error @below {{name of region #0 must contain only lowercase letters, digits and underscores}}
+        // expected-error @below {{name of region #0 must contain only letters, digits and underscores}}
         irdl.regions(test$test: %r1)
     }
 }
 
 // -----
 
-irdl.dialect @test_regions_duplicate_name {
+irdl.dialect @testRegionsDuplicateName {
     irdl.operation @op {
         %r1 = irdl.region
         // expected-error @below {{name of region #2 is a duplicate of the name of region #0}}
@@ -39,7 +39,7 @@ irdl.dialect @test_regions_duplicate_name {
 
 // -----
 
-irdl.dialect @test_regions_op_wrong_operation {
+irdl.dialect @testRegionsOpWrongOperation {
     irdl.operation @op {
         // expected-note @below {{prior use here}}
         %r1 = irdl.any

diff  --git a/mlir/test/lib/Dialect/CMakeLists.txt b/mlir/test/lib/Dialect/CMakeLists.txt
index b14448099e0c5..29fb4441a24fd 100644
--- a/mlir/test/lib/Dialect/CMakeLists.txt
+++ b/mlir/test/lib/Dialect/CMakeLists.txt
@@ -19,7 +19,6 @@ add_subdirectory(SPIRV)
 add_subdirectory(Tensor)
 add_subdirectory(Test)
 add_subdirectory(TestDyn)
-add_subdirectory(TestIRDLToCpp)
 add_subdirectory(Tosa)
 add_subdirectory(Transform)
 add_subdirectory(Vector)

diff  --git a/mlir/test/lib/Dialect/TestIRDLToCpp/CMakeLists.txt b/mlir/test/lib/Dialect/TestIRDLToCpp/CMakeLists.txt
deleted file mode 100644
index 98a4bd3058a2a..0000000000000
--- a/mlir/test/lib/Dialect/TestIRDLToCpp/CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-add_irdl_to_cpp_target(TestIRDLToCppGen test_irdl_to_cpp.irdl.mlir)
-
-add_mlir_library(MLIRTestIRDLToCppDialect
-  TestIRDLToCppDialect.cpp
-
-  EXCLUDE_FROM_LIBMLIR
-
-  DEPENDS
-  TestIRDLToCppGen
-
-  LINK_LIBS PUBLIC
-  MLIRIR
-  MLIRPass
-  MLIRTransforms
-)

diff  --git a/mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.cpp b/mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.cpp
deleted file mode 100644
index bda614a97ab42..0000000000000
--- a/mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//===- TestIRDLToCppDialect.cpp - MLIR Test Dialect Types ---------------*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// This file includes TestIRDLToCpp dialect.
-//
-//===----------------------------------------------------------------------===//
-
-// #include "mlir/IR/Dialect.h"
-#include "mlir/IR/Region.h"
-
-#include "mlir/IR/BuiltinTypes.h"
-#include "mlir/IR/DialectImplementation.h"
-#include "mlir/Interfaces/InferTypeOpInterface.h"
-#include "mlir/Pass/Pass.h"
-#include "mlir/Target/LLVMIR/Dialect/Builtin/BuiltinToLLVMIRTranslation.h"
-#include "mlir/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.h"
-#include "mlir/Target/LLVMIR/LLVMTranslationInterface.h"
-#include "mlir/Target/LLVMIR/ModuleTranslation.h"
-#include "mlir/Tools/mlir-translate/Translation.h"
-#include "mlir/Transforms/DialectConversion.h"
-#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
-#include "llvm/ADT/DenseSet.h"
-#include "llvm/ADT/TypeSwitch.h"
-
-#include "TestIRDLToCppDialect.h"
-
-#define GEN_DIALECT_DEF
-#include "test_irdl_to_cpp.irdl.mlir.cpp.inc"
-
-namespace test {
-using namespace mlir;
-struct TestOpConversion : public OpConversionPattern<test_irdl_to_cpp::BeefOp> {
-  using OpConversionPattern::OpConversionPattern;
-
-  LogicalResult
-  matchAndRewrite(mlir::test_irdl_to_cpp::BeefOp op, OpAdaptor adaptor,
-                  ConversionPatternRewriter &rewriter) const override {
-    assert(adaptor.getStructuredOperands(0).size() == 1);
-    assert(adaptor.getStructuredOperands(1).size() == 1);
-
-    auto bar = rewriter.replaceOpWithNewOp<test_irdl_to_cpp::BarOp>(
-        op, op->getResultTypes().front());
-    rewriter.setInsertionPointAfter(bar);
-
-    rewriter.create<test_irdl_to_cpp::HashOp>(
-        bar.getLoc(), rewriter.getIntegerType(32), adaptor.getLhs(),
-        adaptor.getRhs());
-    return success();
-  }
-};
-
-struct ConvertTestDialectToSomethingPass
-    : PassWrapper<ConvertTestDialectToSomethingPass, OperationPass<ModuleOp>> {
-  void runOnOperation() override {
-    MLIRContext *ctx = &getContext();
-    RewritePatternSet patterns(ctx);
-    patterns.add<TestOpConversion>(ctx);
-    ConversionTarget target(getContext());
-    target.addIllegalOp<test_irdl_to_cpp::BeefOp>();
-    target.addLegalOp<test_irdl_to_cpp::BarOp>();
-    target.addLegalOp<test_irdl_to_cpp::HashOp>();
-    if (failed(applyPartialConversion(getOperation(), target,
-                                      std::move(patterns))))
-      signalPassFailure();
-  }
-
-  StringRef getArgument() const final { return "test-irdl-conversion-check"; }
-  StringRef getDescription() const final {
-    return "Checks the convertability of an irdl dialect";
-  }
-};
-
-void registerIrdlTestDialect(mlir::DialectRegistry &registry) {
-  registry.insert<mlir::test_irdl_to_cpp::TestIrdlToCppDialect>();
-}
-
-} // namespace test
-
-namespace mlir::test {
-void registerTestIrdlTestDialectConversionPass() {
-  PassRegistration<::test::ConvertTestDialectToSomethingPass>();
-}
-} // namespace mlir::test

diff  --git a/mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.h b/mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.h
deleted file mode 100644
index 5d2e3d7b4cd48..0000000000000
--- a/mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.h
+++ /dev/null
@@ -1,23 +0,0 @@
-//===- TestIRDLToCppDialect.h - MLIR Test Dialect Types -----------------*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// This file includes TestIRDLToCpp dialect headers.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef MLIR_TEST_LIB_DIALECT_TESTIRDLTOCPP_TESTIRDLTOCPPDIALECT_H
-#define MLIR_TEST_LIB_DIALECT_TESTIRDLTOCPP_TESTIRDLTOCPPDIALECT_H
-
-#define GEN_DIALECT_DECL_HEADER
-#include "test_irdl_to_cpp.irdl.mlir.cpp.inc"
-
-namespace test {
-void registerConvertTestDialectPass();
-}
-
-#endif // MLIR_TEST_LIB_DIALECT_TESTIRDLTOCPP_TESTIRDLTOCPPDIALECT_H

diff  --git a/mlir/test/lib/Dialect/TestIRDLToCpp/test.testd.mlir b/mlir/test/lib/Dialect/TestIRDLToCpp/test.testd.mlir
deleted file mode 100644
index 30f27934857a5..0000000000000
--- a/mlir/test/lib/Dialect/TestIRDLToCpp/test.testd.mlir
+++ /dev/null
@@ -1,6 +0,0 @@
-// RUN: mlir-opt %s | FileCheck %s
-// CHECK:       module {
-// CHECK-NEXT:   [[v1:[^ ]+]] = "test_irdl_to_cpp.bar"() : () -> !test_irdl_to_cpp.foo
-module {
-  %0 = "test_irdl_to_cpp.bar"() : () -> !test_irdl_to_cpp.foo
-}

diff  --git a/mlir/test/lib/Dialect/TestIRDLToCpp/test_conversion.testd.mlir b/mlir/test/lib/Dialect/TestIRDLToCpp/test_conversion.testd.mlir
deleted file mode 100644
index f6233ee18190a..0000000000000
--- a/mlir/test/lib/Dialect/TestIRDLToCpp/test_conversion.testd.mlir
+++ /dev/null
@@ -1,17 +0,0 @@
-// RUN: mlir-opt %s --pass-pipeline="builtin.module(test-irdl-conversion-check)" | FileCheck %s
-// CHECK-LABEL: module {
-module {
-    // CHECK: func.func @test() {
-    // CHECK: %[[v0:[^ ]*]] = "test_irdl_to_cpp.bar"() : () -> i32
-    // CHECK: %[[v1:[^ ]*]] = "test_irdl_to_cpp.bar"() : () -> i32
-    // CHECK: %[[v2:[^ ]*]] = "test_irdl_to_cpp.hash"(%[[v0]], %[[v0]]) : (i32, i32) -> i32
-    // CHECK: return
-    // CHECK: }
-    func.func @test() {
-        %0 = "test_irdl_to_cpp.bar"() : () -> i32
-        %1 = "test_irdl_to_cpp.beef"(%0, %0) : (i32, i32) -> i32
-        return
-    }
-
-// CHECK: }
-}

diff  --git a/mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp.irdl.mlir b/mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp.irdl.mlir
deleted file mode 100644
index 42e713e0adecd..0000000000000
--- a/mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp.irdl.mlir
+++ /dev/null
@@ -1,35 +0,0 @@
-// RUN: mlir-irdl-to-cpp %s | FileCheck %s
-
-// CHECK: class TestIrdlToCpp
-irdl.dialect @test_irdl_to_cpp {
-    
-    // CHECK: class FooType
-    irdl.type @foo
-
-    // CHECK: class BarOp
-    // CHECK: ::mlir::Value getRes()
-    irdl.operation @bar {
-        %0 = irdl.any
-        irdl.results(res: %0)
-    }
-
-    // CHECK: class BeefOp
-    // CHECK: ::mlir::Value getLhs()
-    // CHECK: ::mlir::Value getRhs()
-    // CHECK: ::mlir::Value getRes()
-    irdl.operation @beef {
-        %0 = irdl.any
-        irdl.operands(lhs: %0, rhs: %0)
-        irdl.results(res: %0)
-    }
-
-    // CHECK: class HashOp
-    // CHECK: ::mlir::Value getLhs()
-    // CHECK: ::mlir::Value getRhs()
-    // CHECK: ::mlir::Value getRes()
-    irdl.operation @hash {
-        %0 = irdl.any
-        irdl.operands(lhs: %0, rhs: %0)
-        irdl.results(res: %0)
-    }
-}

diff  --git a/mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp_invalid_unsupported_types.irdl.mlir b/mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp_invalid_unsupported_types.irdl.mlir
deleted file mode 100644
index 403b49235467c..0000000000000
--- a/mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp_invalid_unsupported_types.irdl.mlir
+++ /dev/null
@@ -1,79 +0,0 @@
-// RUN: mlir-irdl-to-cpp %s --verify-diagnostics --split-input-file
-irdl.dialect @test_irdl_to_cpp {
-  irdl.operation @results_no_any_of {
-    %0 = irdl.any
-    // expected-error at +1 {{IRDL C++ translation does not yet support translation of irdl.any_of operation}}
-    %1 = irdl.any_of(%0, %0)
-    irdl.results(res: %1)
-  }
-}
-// ----- 
-
-irdl.dialect @test_irdl_to_cpp {
-  irdl.operation @operands_no_any_of {
-    %0 = irdl.any
-    // expected-error at +1 {{IRDL C++ translation does not yet support translation of irdl.all_of operation}}
-    %1 = irdl.all_of(%0, %0)
-    irdl.operands(test: %1)
-    irdl.results(res: %0)
-  }
-}
-
-// -----
-
-irdl.dialect @test_irdl_to_cpp {
-  // expected-error at +1 {{IRDL C++ translation does not yet support translation of irdl.attribute operation}}
-  irdl.attribute @no_attrs
-}
-
-// -----
-
-irdl.dialect @test_irdl_to_cpp {
-  irdl.operation @test_op {
-    %0 = irdl.any
-    // expected-error at +1 {{IRDL C++ translation does not yet support translation of irdl.attributes operation}}
-    irdl.attributes {
-      "attr" = %0
-    }
-  }
-}
-
-// -----
-
-irdl.dialect @test_irdl_to_cpp {
-  irdl.type @ty {
-    %0 = irdl.any 
-    // expected-error at +1 {{IRDL C++ translation does not yet support translation of irdl.parameters operation}}
-    irdl.parameters(ty: %0)
-  }
-}
-
-// -----
-
-irdl.dialect @test_irdl_to_cpp {
-  irdl.operation @test_op {
-    // expected-error at +1 {{IRDL C++ translation does not yet support translation of irdl.region operation}}
-    %0 = irdl.region()
-    irdl.regions(reg: %0)
-  }
-  
-}
-
-// -----
-
-irdl.dialect @test_irdl_to_cpp {
-  irdl.operation @test_op {
-    // expected-error at +1 {{IRDL C++ translation does not yet support translation of irdl.regions operation}}
-    irdl.regions()
-  }
-  
-}
-
-// -----
-
-irdl.dialect @test_irdl_to_cpp {
-  irdl.type @test_derived {
-    // expected-error at +1 {{IRDL C++ translation does not yet support translation of irdl.base operation}}
-    %0 = irdl.base "!builtin.integer"
-  }    
-}

diff  --git a/mlir/test/tblgen-to-irdl/TestDialect.td b/mlir/test/tblgen-to-irdl/TestDialect.td
index 4ab1750e30fb4..913b9b1b759e2 100644
--- a/mlir/test/tblgen-to-irdl/TestDialect.td
+++ b/mlir/test/tblgen-to-irdl/TestDialect.td
@@ -97,7 +97,7 @@ def Test_Integers : Test_Op<"integers"> {
 // Check that IRDL names are properly generated when needed.
 def Test_NamesOp : Test_Op<"names"> {
   let arguments = (ins I32:$a,
-                       I32:$hello,
+                       I32:$_hello,
                        I32:$unnamed0,
                        I32);
   let regions = (region AnyRegion:$unnamed1);
@@ -110,7 +110,7 @@ def Test_NamesOp : Test_Op<"names"> {
 // CHECK-NEXT:    %[[v3:[^ ]*]] = irdl.is i32
 // CHECK-NEXT:    %[[v4:[^ ]*]] = irdl.is i32
 // CHECK-NEXT:    %[[reg:[^ ]*]] = irdl.region
-// CHECK-NEXT:    irdl.operands(a: %[[v0]], hello: %[[v1]], unnamed0: %[[v2]], unnamed3: %[[v3]])
+// CHECK-NEXT:    irdl.operands(a: %[[v0]], _hello: %[[v1]], unnamed0: %[[v2]], unnamed3: %[[v3]])
 // CHECK-NEXT:    irdl.results(unnamed2: %[[v4]])
 // CHECK-NEXT:    irdl.regions(unnamed1: %[[reg]])
 // CHECK-NEXT:  }

diff  --git a/mlir/tools/mlir-irdl-to-cpp/CMakeLists.txt b/mlir/tools/mlir-irdl-to-cpp/CMakeLists.txt
deleted file mode 100644
index 3a0f77d856b44..0000000000000
--- a/mlir/tools/mlir-irdl-to-cpp/CMakeLists.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-add_llvm_executable(mlir-irdl-to-cpp
-    mlir-irdl-to-cpp.cpp
-  )
-mlir_target_link_libraries(mlir-irdl-to-cpp
-  PRIVATE
-  MLIRTargetIRDLToCpp
-  )
-
-# Set up a native build when cross-compiling.
-if(LLVM_USE_HOST_TOOLS)
-  build_native_tool(
-    mlir-irdl-to-cpp
-    MLIR_IRDL_TO_CPP_EXE
-
-    # Native tool must depend on target tool so that the native tool gets
-    # properly rebuilt when the target tool changes.
-    DEPENDS mlir-irdl-to-cpp
-  )
-  add_custom_target(mlir-irdl-to-cpp-host DEPENDS ${MLIR_IRDL_TO_CPP_EXE})
-  set(MLIR_IRDL_TO_CPP_TARGET mlir-irdl-to-cpp-host)
-else()
-  set(MLIR_IRDL_TO_CPP_EXE $<TARGET_FILE:mlir-irdl-to-cpp>)
-  set(MLIR_IRDL_TO_CPP_TARGET mlir-irdl-to-cpp)
-endif()
-
-# Save the executable path and target name to the cache to expose it globally.
-set(MLIR_IRDL_TO_CPP_EXE "${MLIR_IRDL_TO_CPP_EXE}" CACHE INTERNAL "")
-set(MLIR_IRDL_TO_CPP_TARGET "${MLIR_IRDL_TO_CPP_TARGET}" CACHE INTERNAL "")

diff  --git a/mlir/tools/mlir-irdl-to-cpp/mlir-irdl-to-cpp.cpp b/mlir/tools/mlir-irdl-to-cpp/mlir-irdl-to-cpp.cpp
deleted file mode 100644
index 38932fa88d575..0000000000000
--- a/mlir/tools/mlir-irdl-to-cpp/mlir-irdl-to-cpp.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-//===- mlir-irdl-to-cpp.cpp - IRDL to C++ conversion tool -----------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// This is a command line utility that translates an IRDL dialect definition
-// into a C++ implementation to be included in MLIR.
-//
-//===----------------------------------------------------------------------===//
-
-#include "mlir/Dialect/IRDL/IR/IRDL.h"
-#include "mlir/IR/AsmState.h"
-#include "mlir/IR/DialectRegistry.h"
-#include "mlir/IR/MLIRContext.h"
-#include "mlir/Support/FileUtilities.h"
-#include "mlir/Support/ToolUtilities.h"
-#include "mlir/Target/IRDLToCpp/IRDLToCpp.h"
-#include "mlir/Tools/ParseUtilities.h"
-#include "llvm/Support/Casting.h"
-#include "llvm/Support/CommandLine.h"
-#include "llvm/Support/InitLLVM.h"
-#include "llvm/Support/MemoryBuffer.h"
-#include "llvm/Support/SourceMgr.h"
-#include "llvm/Support/ToolOutputFile.h"
-
-using namespace mlir;
-
-static LogicalResult
-processBuffer(llvm::raw_ostream &os,
-              std::unique_ptr<llvm::MemoryBuffer> ownedBuffer,
-              bool verifyDiagnostics, llvm::ThreadPoolInterface *threadPool) {
-  // Tell sourceMgr about this buffer, which is what the parser will pick up.
-  auto sourceMgr = std::make_shared<llvm::SourceMgr>();
-  sourceMgr->AddNewSourceBuffer(std::move(ownedBuffer), SMLoc());
-
-  DialectRegistry registry;
-  registry.insert<irdl::IRDLDialect>();
-  MLIRContext ctx(registry);
-
-  ctx.printOpOnDiagnostic(!verifyDiagnostics);
-
-  auto runTranslation = [&]() {
-    ParserConfig parseConfig(&ctx);
-    OwningOpRef<Operation *> op =
-        parseSourceFileForTool(sourceMgr, parseConfig, true);
-    if (!op)
-      return failure();
-
-    auto moduleOp = llvm::cast<ModuleOp>(*op);
-    llvm::SmallVector<irdl::DialectOp> dialects{
-        moduleOp.getOps<irdl::DialectOp>(),
-    };
-
-    return irdl::translateIRDLDialectToCpp(dialects, os);
-  };
-
-  if (!verifyDiagnostics) {
-    // If no errors are expected, return translation result.
-    SourceMgrDiagnosticHandler srcManagerHandler(*sourceMgr, &ctx);
-    return runTranslation();
-  }
-
-  // If errors are expected, ignore translation result and check for
-  // diagnostics.
-  SourceMgrDiagnosticVerifierHandler srcManagerHandler(*sourceMgr, &ctx);
-  (void)runTranslation();
-  return srcManagerHandler.verify();
-}
-
-static LogicalResult translateIRDLToCpp(int argc, char **argv) {
-  static llvm::cl::opt<std::string> inputFilename(
-      llvm::cl::Positional, llvm::cl::desc("<input file>"),
-      llvm::cl::init("-"));
-
-  static llvm::cl::opt<std::string> outputFilename(
-      "o", llvm::cl::desc("Output filename"), llvm::cl::value_desc("filename"),
-      llvm::cl::init("-"));
-
-  bool verifyDiagnosticsFlag;
-  std::string splitInputFileFlag;
-  static llvm::cl::opt<bool, true> verifyDiagnostics(
-      "verify-diagnostics",
-      llvm::cl::desc("Check that emitted diagnostics match "
-                     "expected-* lines on the corresponding line"),
-      llvm::cl::location(verifyDiagnosticsFlag), llvm::cl::init(false));
-
-  static llvm::cl::opt<std::string, true> splitInputFile(
-      "split-input-file", llvm::cl::ValueOptional,
-      llvm::cl::callback([&](const std::string &str) {
-        // Implicit value: use default marker if flag was used without
-        // value.
-        if (str.empty())
-          splitInputFile.setValue(kDefaultSplitMarker);
-      }),
-      llvm::cl::desc("Split the input file into chunks using the given or "
-                     "default marker and process each chunk independently"),
-      llvm::cl::location(splitInputFileFlag), llvm::cl::init(""));
-
-  llvm::InitLLVM y(argc, argv);
-
-  llvm::cl::ParseCommandLineOptions(argc, argv, "mlir-irdl-to-cpp");
-
-  std::string errorMessage;
-  std::unique_ptr<llvm::MemoryBuffer> input =
-      openInputFile(inputFilename, &errorMessage);
-  if (!input) {
-    llvm::errs() << errorMessage << "\n";
-    return failure();
-  }
-
-  std::unique_ptr<llvm::ToolOutputFile> output =
-      openOutputFile(outputFilename, &errorMessage);
-
-  if (!output) {
-    llvm::errs() << errorMessage << "\n";
-    return failure();
-  }
-
-  auto chunkFn = [&](std::unique_ptr<llvm::MemoryBuffer> chunkBuffer,
-                     raw_ostream &os) {
-    return processBuffer(output->os(), std::move(chunkBuffer),
-                         verifyDiagnostics, nullptr);
-  };
-
-  if (splitInputFileFlag.size())
-    return splitAndProcessBuffer(std::move(input), chunkFn, output->os(),
-                                 splitInputFileFlag, splitInputFileFlag);
-
-  if (failed(chunkFn(std::move(input), output->os())))
-    return failure();
-
-  if (!verifyDiagnosticsFlag)
-    output->keep();
-
-  return success();
-}
-
-int main(int argc, char **argv) {
-  return failed(translateIRDLToCpp(argc, argv));
-}

diff  --git a/mlir/tools/mlir-opt/CMakeLists.txt b/mlir/tools/mlir-opt/CMakeLists.txt
index fb8fdd8c6f525..a5a442909fc6d 100644
--- a/mlir/tools/mlir-opt/CMakeLists.txt
+++ b/mlir/tools/mlir-opt/CMakeLists.txt
@@ -52,7 +52,6 @@ if(MLIR_INCLUDE_TESTS)
   set(test_libs ${test_libs}
     MLIRTestPDLL
     MLIRTestTransformDialect
-    MLIRTestIRDLToCppDialect
     )
 
   if (MLIR_ENABLE_PDL_IN_PATTERNMATCH)

diff  --git a/mlir/tools/mlir-opt/mlir-opt.cpp b/mlir/tools/mlir-opt/mlir-opt.cpp
index e47b3d400ac11..344576a44ca41 100644
--- a/mlir/tools/mlir-opt/mlir-opt.cpp
+++ b/mlir/tools/mlir-opt/mlir-opt.cpp
@@ -128,7 +128,6 @@ void registerTestMatchReductionPass();
 void registerTestMathAlgebraicSimplificationPass();
 void registerTestMathPolynomialApproximationPass();
 void registerTestMathToVCIXPass();
-void registerTestIrdlTestDialectConversionPass();
 void registerTestMemRefDependenceCheck();
 void registerTestMemRefStrideCalculation();
 void registerTestMeshReshardingSpmdizationPass();
@@ -172,7 +171,6 @@ void registerTestDialect(DialectRegistry &);
 void registerTestDynDialect(DialectRegistry &);
 void registerTestTilingInterfaceTransformDialectExtension(DialectRegistry &);
 void registerTestTransformDialectExtension(DialectRegistry &);
-void registerIrdlTestDialect(DialectRegistry &);
 void registerTestTransformsTransformDialectExtension(DialectRegistry &);
 } // namespace test
 
@@ -303,7 +301,6 @@ void registerTestPasses() {
   mlir::test::registerTestVectorReductionToSPIRVDotProd();
   mlir::test::registerTestVulkanRunnerPipeline();
   mlir::test::registerTestWrittenToPass();
-  mlir::test::registerTestIrdlTestDialectConversionPass();
 #if MLIR_ENABLE_PDL_IN_PATTERNMATCH
   mlir::test::registerTestDialectConversionPasses();
   mlir::test::registerTestPDLByteCodePass();
@@ -332,7 +329,6 @@ int main(int argc, char **argv) {
   ::test::registerTestTransformsTransformDialectExtension(registry);
   ::test::registerTestTilingInterfaceTransformDialectExtension(registry);
   ::test::registerTestDynDialect(registry);
-  ::test::registerIrdlTestDialect(registry);
 #endif
   return mlir::asMainReturnCode(mlir::MlirOptMain(
       argc, argv, "MLIR modular optimizer driver\n", registry));


        


More information about the Mlir-commits mailing list