[llvm] [bazel] Add build files for transform examples (PR #151351)

Jordan Rupprecht via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 30 08:22:37 PDT 2025


https://github.com/rupprecht created https://github.com/llvm/llvm-project/pull/151351

None

>From 5eb1db18878507f737bd8eb8adb37a37249c7ae2 Mon Sep 17 00:00:00 2001
From: Jordan Rupprecht <rupprecht at google.com>
Date: Wed, 30 Jul 2025 08:21:11 -0700
Subject: [PATCH] [bazel] Add build files for transform examples

---
 .../mlir/examples/transform-opt/BUILD.bazel   | 22 +++++
 .../mlir/examples/transform/Ch2/BUILD.bazel   | 74 +++++++++++++++
 .../mlir/examples/transform/Ch3/BUILD.bazel   | 93 +++++++++++++++++++
 .../mlir/examples/transform/Ch4/BUILD.bazel   | 73 +++++++++++++++
 4 files changed, 262 insertions(+)
 create mode 100644 utils/bazel/llvm-project-overlay/mlir/examples/transform-opt/BUILD.bazel
 create mode 100644 utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch2/BUILD.bazel
 create mode 100644 utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch3/BUILD.bazel
 create mode 100644 utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch4/BUILD.bazel

diff --git a/utils/bazel/llvm-project-overlay/mlir/examples/transform-opt/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/examples/transform-opt/BUILD.bazel
new file mode 100644
index 0000000000000..22670bddb6d33
--- /dev/null
+++ b/utils/bazel/llvm-project-overlay/mlir/examples/transform-opt/BUILD.bazel
@@ -0,0 +1,22 @@
+# MLIR transform dialect standalone example.
+
+package(default_visibility = ["//visibility:public"])
+
+cc_binary(
+    name = "mlir-transform-opt",
+    srcs = ["mlir-transform-opt.cpp"],
+    deps = [
+        "//llvm:Support",
+        "//mlir:AllExtensions",
+        "//mlir:AllPassesAndDialects",
+        "//mlir:IR",
+        "//mlir:MlirOptLib",
+        "//mlir:Parser",
+        "//mlir:RegisterAllDialects",
+        "//mlir:RegisterAllExtensions",
+        "//mlir:RegisterAllPasses",
+        "//mlir:Support",
+        "//mlir:TransformDialect",
+        "//mlir:TransformDialectTransforms",
+    ],
+)
diff --git a/utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch2/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch2/BUILD.bazel
new file mode 100644
index 0000000000000..a6f120cdca3f1
--- /dev/null
+++ b/utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch2/BUILD.bazel
@@ -0,0 +1,74 @@
+# Description:
+#   MLIR Tutorial
+
+load("//mlir:tblgen.bzl", "gentbl_cc_library", "td_library")
+
+licenses(["notice"])
+
+package(default_visibility = ["//visibility:public"])
+
+td_library(
+    name = "TransformTdFiles",
+    srcs = [
+        "include/MyExtension.td",
+    ],
+    includes = ["include"],
+    deps = [
+        "//mlir:OpBaseTdFiles",
+        "//mlir:SideEffectInterfacesTdFiles",
+        "//mlir:TransformDialectTdFiles",
+    ],
+)
+
+gentbl_cc_library(
+    name = "TransformIncGen",
+    tbl_outs = [
+        (
+            ["-gen-op-decls"],
+            "include/MyExtension.h.inc",
+        ),
+        (
+            ["-gen-op-defs"],
+            "include/MyExtension.cpp.inc",
+        ),
+    ],
+    tblgen = "//mlir:mlir-tblgen",
+    td_file = "include/MyExtension.td",
+    deps = [":TransformTdFiles"],
+)
+
+cc_library(
+    name = "MyExtension",
+    srcs = glob(["lib/*.cpp"]),
+    hdrs = glob(["include/*.h"]),
+    includes = ["include"],
+    deps = [
+        ":TransformIncGen",
+        "//llvm:Support",
+        "//mlir:FuncDialect",
+        "//mlir:IR",
+        "//mlir:SCFDialect",
+        "//mlir:SideEffectInterfaces",
+        "//mlir:Support",
+        "//mlir:TransformDialect",
+        "//mlir:TransformDialectInterfaces",
+    ],
+)
+
+cc_binary(
+    name = "transform-opt-ch2",
+    srcs = glob(["transform-opt/*.cpp"]),
+    local_defines = ["MLIR_INCLUDE_TESTS"],
+    deps = [
+        ":MyExtension",
+        "//mlir:AllExtensions",
+        "//mlir:AllPassesAndDialects",
+        "//mlir:IR",
+        "//mlir:MlirOptLib",
+        "//mlir:RegisterAllDialects",
+        "//mlir:RegisterAllExtensions",
+        "//mlir:TransformDialectTransforms",
+        "//mlir:Transforms",
+        "//mlir/test:TestTransformDialect",
+    ],
+)
diff --git a/utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch3/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch3/BUILD.bazel
new file mode 100644
index 0000000000000..cba4339c2f83f
--- /dev/null
+++ b/utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch3/BUILD.bazel
@@ -0,0 +1,93 @@
+# Description:
+#   MLIR Tutorial
+
+load("//mlir:tblgen.bzl", "gentbl_cc_library", "td_library")
+
+licenses(["notice"])
+
+package(default_visibility = ["//visibility:public"])
+
+td_library(
+    name = "TransformTdFiles",
+    srcs = [
+        "include/MyExtension.td",
+        "include/MyExtensionTypes.td",
+    ],
+    includes = ["include"],
+    deps = [
+        "//mlir:OpBaseTdFiles",
+        "//mlir:SideEffectInterfacesTdFiles",
+        "//mlir:TransformDialectTdFiles",
+    ],
+)
+
+gentbl_cc_library(
+    name = "TransformIncGen",
+    tbl_outs = [
+        (
+            ["-gen-op-decls"],
+            "include/MyExtension.h.inc",
+        ),
+        (
+            ["-gen-op-defs"],
+            "include/MyExtension.cpp.inc",
+        ),
+    ],
+    tblgen = "//mlir:mlir-tblgen",
+    td_file = "include/MyExtension.td",
+    deps = [":TransformTdFiles"],
+)
+
+gentbl_cc_library(
+    name = "TransformTypesIncGen",
+    tbl_outs = [
+        (
+            ["-gen-typedef-decls"],
+            "include/MyExtensionTypes.h.inc",
+        ),
+        (
+            ["-gen-typedef-defs"],
+            "include/MyExtensionTypes.cpp.inc",
+        ),
+    ],
+    tblgen = "//mlir:mlir-tblgen",
+    td_file = "include/MyExtensionTypes.td",
+    deps = [":TransformTdFiles"],
+)
+
+cc_library(
+    name = "MyExtension",
+    srcs = glob(["lib/*.cpp"]),
+    hdrs = glob(["include/*.h"]),
+    includes = ["include"],
+    deps = [
+        ":TransformIncGen",
+        ":TransformTypesIncGen",
+        "//llvm:Support",
+        "//mlir:CallOpInterfaces",
+        "//mlir:FuncDialect",
+        "//mlir:IR",
+        "//mlir:SCFDialect",
+        "//mlir:Support",
+        "//mlir:TransformDialect",
+        "//mlir:TransformDialectInterfaces",
+    ],
+)
+
+cc_binary(
+    name = "transform-opt-ch3",
+    srcs = glob(["transform-opt/*.cpp"]),
+    local_defines = ["MLIR_INCLUDE_TESTS"],
+    deps = [
+        ":MyExtension",
+        "//mlir:AllExtensions",
+        "//mlir:AllPassesAndDialects",
+        "//mlir:IR",
+        "//mlir:MlirOptLib",
+        "//mlir:RegisterAllDialects",
+        "//mlir:RegisterAllExtensions",
+        "//mlir:TransformDialectTransforms",
+        "//mlir:Transforms",
+        "//mlir/test:TestTransformDialect",
+    ],
+)
diff --git a/utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch4/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch4/BUILD.bazel
new file mode 100644
index 0000000000000..81c0161be118e
--- /dev/null
+++ b/utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch4/BUILD.bazel
@@ -0,0 +1,73 @@
+# Description:
+#   MLIR Tutorial
+
+load("//mlir:tblgen.bzl", "gentbl_cc_library", "td_library")
+
+licenses(["notice"])
+
+package(default_visibility = ["//visibility:public"])
+
+td_library(
+    name = "TransformTdFiles",
+    srcs = [
+        "include/MyExtension.td",
+    ],
+    includes = ["include"],
+    deps = [
+        "//mlir:OpBaseTdFiles",
+        "//mlir:SideEffectInterfacesTdFiles",
+        "//mlir:TransformDialectTdFiles",
+    ],
+)
+
+gentbl_cc_library(
+    name = "TransformIncGen",
+    tbl_outs = [
+        (
+            ["-gen-op-decls"],
+            "include/MyExtension.h.inc",
+        ),
+        (
+            ["-gen-op-defs"],
+            "include/MyExtension.cpp.inc",
+        ),
+    ],
+    tblgen = "//mlir:mlir-tblgen",
+    td_file = "include/MyExtension.td",
+    deps = [":TransformTdFiles"],
+)
+
+cc_library(
+    name = "MyExtension",
+    srcs = glob(["lib/*.cpp"]),
+    hdrs = glob(["include/*.h"]),
+    includes = ["include"],
+    deps = [
+        ":TransformIncGen",
+        "//llvm:Support",
+        "//mlir:FuncDialect",
+        "//mlir:IR",
+        "//mlir:SCFDialect",
+        "//mlir:Support",
+        "//mlir:TransformDialect",
+        "//mlir:TransformDialectInterfaces",
+    ],
+)
+
+cc_binary(
+    name = "transform-opt-ch4",
+    srcs = glob(["transform-opt/*.cpp"]),
+    local_defines = ["MLIR_INCLUDE_TESTS"],
+    deps = [
+        ":MyExtension",
+        "//mlir:AllExtensions",
+        "//mlir:AllPassesAndDialects",
+        "//mlir:IR",
+        "//mlir:MlirOptLib",
+        "//mlir:RegisterAllDialects",
+        "//mlir:RegisterAllExtensions",
+        "//mlir:TransformDialectTransforms",
+        "//mlir:Transforms",
+        "//mlir/test:TestTransformDialect",
+    ],
+)



More information about the llvm-commits mailing list