[bazel] Add support for SMT Dialect (#135454)

This fixes #131480
diff --git a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
index 5acdf7e..ebdbe77 100644
--- a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
@@ -6341,6 +6341,75 @@
     ],
 )
 
+
+td_library(
+    name = "SMTTdFiles",
+    srcs = [
+        "include/mlir/Dialect/SMT/IR/SMT.td",
+        "include/mlir/Dialect/SMT/IR/SMTArrayOps.td",
+        "include/mlir/Dialect/SMT/IR/SMTAttributes.td",
+        "include/mlir/Dialect/SMT/IR/SMTBitVectorOps.td",
+        "include/mlir/Dialect/SMT/IR/SMTDialect.td",
+        "include/mlir/Dialect/SMT/IR/SMTIntOps.td",
+        "include/mlir/Dialect/SMT/IR/SMTOps.td",
+        "include/mlir/Dialect/SMT/IR/SMTTypes.td",
+    ],
+    includes = ["include"],
+    deps = [
+        ":AttrTdFiles",
+        ":OpBaseTdFiles",
+        ":SideEffectInterfacesTdFiles",
+        ":BuiltinDialectTdFiles",
+        ":ControlFlowInterfacesTdFiles",
+        ":InferTypeOpInterfaceTdFiles",
+    ],
+)
+
+gentbl_cc_library(
+    name = "SMTIncGen",
+    tbl_outs = {
+        "include/mlir/Dialect/SMT/IR/SMT.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/SMT/IR/SMT.cpp.inc": ["-gen-op-defs"],
+          "include/mlir/Dialect/SMT/IR/SMTDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=smt",
+        ],
+        "include/mlir/Dialect/SMT/IR/SMTDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=smt",
+        ],
+        "g3doc/Dialects/SMT/SMT.md": ["-gen-op-doc"],
+        "include/mlir/Dialect/SMT/IR/SMTTypes.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/SMT/IR/SMTTypes.cpp.inc": ["-gen-typedef-defs"],
+        "include/mlir/Dialect/SMT/IR/SMTAttributes.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/SMT/IR/SMTAttributes.cpp.inc": ["-gen-attrdef-defs"],
+        "include/mlir/Dialect/SMT/IR/SMTEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/SMT/IR/SMTEnums.cpp.inc": ["-gen-enum-defs"],
+    },
+    tblgen = ":mlir-tblgen",
+    td_file = "include/mlir/Dialect/SMT/IR/SMT.td",
+    deps = [":SMTTdFiles"],
+)
+
+cc_library(
+    name = "SMTDialect",
+    srcs = glob([
+        "lib/Dialect/SMT/IR/*.cpp",
+    ]),
+    hdrs = glob([
+        "include/mlir/Dialect/SMT/IR/*.h",
+    ]),
+    includes = ["include"],
+    deps = [
+        ":ControlFlowInterfaces"
+        ":IR",
+        ":InferTypeOpInterface",
+        ":SMTIncGen",
+        ":Support",
+        "//llvm:Support",
+    ],
+)
+
 td_library(
     name = "SPIRVImageInterfacesTdFiles",
     srcs = ["include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.td"],
@@ -8769,6 +8838,7 @@
         ":ShapeToStandard",
         ":ShapeTransforms",
         ":ShapeTransformsPassIncGen",
+        ":SMTDialect",
         ":SparseTensorDialect",
         ":SparseTensorPipelines",
         ":SparseTensorTransformOps",