[llvm] [bazel] Change `gentbl_cc_library(tbl_outs)` to dicts (PR #134349)

Christian Sigg via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 3 23:45:42 PDT 2025


https://github.com/chsigg created https://github.com/llvm/llvm-project/pull/134349

Follow up from https://github.com/llvm/llvm-project/pull/134271

>From ae0f2fec340a21091e9dc15604902aa19c35cc91 Mon Sep 17 00:00:00 2001
From: Christian Sigg <csigg at google.com>
Date: Fri, 4 Apr 2025 08:43:11 +0200
Subject: [PATCH] [bazel] Change `gentbl_cc_library(tbl_outs)` to dicts

Follow up from https://github.com/llvm/llvm-project/pull/134271
---
 .../llvm-project-overlay/clang/BUILD.bazel    |  473 +-
 .../llvm-project-overlay/lldb/BUILD.bazel     |   64 +-
 .../lldb/source/Plugins/BUILD.bazel           |  173 +-
 .../llvm-project-overlay/llvm/BUILD.bazel     |  339 +-
 .../llvm/unittests/BUILD.bazel                |   19 +-
 .../llvm-project-overlay/mlir/BUILD.bazel     | 5112 +++++------------
 .../mlir/examples/toy/Ch2/BUILD.bazel         |   24 +-
 .../mlir/examples/toy/Ch3/BUILD.bazel         |   31 +-
 .../mlir/examples/toy/Ch4/BUILD.bazel         |   45 +-
 .../mlir/examples/toy/Ch5/BUILD.bazel         |   45 +-
 .../mlir/examples/toy/Ch6/BUILD.bazel         |   45 +-
 .../mlir/examples/toy/Ch7/BUILD.bazel         |   45 +-
 .../mlir/test/BUILD.bazel                     |  223 +-
 .../mlir/unittests/BUILD.bazel                |   21 +-
 14 files changed, 1931 insertions(+), 4728 deletions(-)

diff --git a/utils/bazel/llvm-project-overlay/clang/BUILD.bazel b/utils/bazel/llvm-project-overlay/clang/BUILD.bazel
index 7e0c18e69e316..90637864498cf 100644
--- a/utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/clang/BUILD.bazel
@@ -111,10 +111,7 @@ td_library(
 
 gentbl_cc_library(
     name = "basic_arm_neon_inc_gen",
-    tbl_outs = [(
-        ["-gen-arm-neon-sema"],
-        "include/clang/Basic/arm_neon.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_neon.inc": ["-gen-arm-neon-sema"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_neon.td",
     deps = [":ArmTdFiles"],
@@ -122,10 +119,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_fp16_inc_gen",
-    tbl_outs = [(
-        ["-gen-arm-neon-sema"],
-        "include/clang/Basic/arm_fp16.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_fp16.inc": ["-gen-arm-neon-sema"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_fp16.td",
     deps = [":ArmTdFiles"],
@@ -133,10 +127,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_mve_aliases_gen",
-    tbl_outs = [(
-        ["-gen-arm-mve-builtin-aliases"],
-        "include/clang/Basic/arm_mve_builtin_aliases.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_mve_builtin_aliases.inc": ["-gen-arm-mve-builtin-aliases"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_mve.td",
     deps = [":ArmTdFiles"],
@@ -144,10 +135,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_sve_builtins_gen",
-    tbl_outs = [(
-        ["-gen-arm-sve-builtins"],
-        "include/clang/Basic/arm_sve_builtins.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_sve_builtins.inc": ["-gen-arm-sve-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sve.td",
     deps = [":ArmTdFiles"],
@@ -155,10 +143,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_sve_builtin_cg_gen",
-    tbl_outs = [(
-        ["-gen-arm-sve-builtin-codegen"],
-        "include/clang/Basic/arm_sve_builtin_cg.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_sve_builtin_cg.inc": ["-gen-arm-sve-builtin-codegen"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sve.td",
     deps = [":ArmTdFiles"],
@@ -166,10 +151,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_sve_immcheck_types_gen",
-    tbl_outs = [(
-        ["-gen-arm-immcheck-types"],
-        "include/clang/Basic/arm_immcheck_types.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_immcheck_types.inc": ["-gen-arm-immcheck-types"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sve.td",
     deps = [":ArmTdFiles"],
@@ -177,10 +159,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_sve_typeflags_gen",
-    tbl_outs = [(
-        ["-gen-arm-sve-typeflags"],
-        "include/clang/Basic/arm_sve_typeflags.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_sve_typeflags.inc": ["-gen-arm-sve-typeflags"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sve.td",
     deps = [":ArmTdFiles"],
@@ -188,10 +167,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_sve_sema_rangechecks_gen",
-    tbl_outs = [(
-        ["-gen-arm-sve-sema-rangechecks"],
-        "include/clang/Basic/arm_sve_sema_rangechecks.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_sve_sema_rangechecks.inc": ["-gen-arm-sve-sema-rangechecks"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sve.td",
     deps = [":ArmTdFiles"],
@@ -199,10 +175,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_sve_streaming_attrs_gen",
-    tbl_outs = [(
-        ["-gen-arm-sve-streaming-attrs"],
-        "include/clang/Basic/arm_sve_streaming_attrs.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_sve_streaming_attrs.inc": ["-gen-arm-sve-streaming-attrs"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sve.td",
     deps = [":ArmTdFiles"],
@@ -210,10 +183,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_sme_builtins_gen",
-    tbl_outs = [(
-        ["-gen-arm-sme-builtins"],
-        "include/clang/Basic/arm_sme_builtins.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_sme_builtins.inc": ["-gen-arm-sme-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sme.td",
     deps = [":ArmTdFiles"],
@@ -221,10 +191,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_sme_builtin_cg_gen",
-    tbl_outs = [(
-        ["-gen-arm-sme-builtin-codegen"],
-        "include/clang/Basic/arm_sme_builtin_cg.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_sme_builtin_cg.inc": ["-gen-arm-sme-builtin-codegen"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sme.td",
     deps = [":ArmTdFiles"],
@@ -232,10 +199,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_sme_builtins_za_state_gen",
-    tbl_outs = [(
-        ["-gen-arm-sme-builtin-za-state"],
-        "include/clang/Basic/arm_sme_builtins_za_state.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_sme_builtins_za_state.inc": ["-gen-arm-sme-builtin-za-state"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sme.td",
     deps = [":ArmTdFiles"],
@@ -243,10 +207,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_sme_sema_rangechecks_gen",
-    tbl_outs = [(
-        ["-gen-arm-sme-sema-rangechecks"],
-        "include/clang/Basic/arm_sme_sema_rangechecks.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_sme_sema_rangechecks.inc": ["-gen-arm-sme-sema-rangechecks"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sme.td",
     deps = [":ArmTdFiles"],
@@ -254,10 +215,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_sme_streaming_attrs_gen",
-    tbl_outs = [(
-        ["-gen-arm-sme-streaming-attrs"],
-        "include/clang/Basic/arm_sme_streaming_attrs.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_sme_streaming_attrs.inc": ["-gen-arm-sme-streaming-attrs"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sme.td",
     deps = [":ArmTdFiles"],
@@ -265,10 +223,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_mve_cg_gen",
-    tbl_outs = [(
-        ["-gen-arm-mve-builtin-codegen"],
-        "include/clang/Basic/arm_mve_builtin_cg.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_mve_builtin_cg.inc": ["-gen-arm-mve-builtin-codegen"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_mve.td",
     deps = [":ArmTdFiles"],
@@ -276,10 +231,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_mve_inc_gen",
-    tbl_outs = [(
-        ["-gen-arm-mve-builtin-def"],
-        "include/clang/Basic/arm_mve_builtins.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_mve_builtins.inc": ["-gen-arm-mve-builtin-def"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_mve.td",
     deps = [":ArmTdFiles"],
@@ -287,10 +239,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_mve_sema_gen",
-    tbl_outs = [(
-        ["-gen-arm-mve-builtin-sema"],
-        "include/clang/Basic/arm_mve_builtin_sema.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_mve_builtin_sema.inc": ["-gen-arm-mve-builtin-sema"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_mve.td",
     deps = [":ArmTdFiles"],
@@ -316,10 +265,7 @@ td_library(
 
 gentbl_cc_library(
     name = "basic_builtins_bpf_gen",
-    tbl_outs = [(
-        ["-gen-clang-builtins"],
-        "include/clang/Basic/BuiltinsBPF.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/BuiltinsBPF.inc": ["-gen-clang-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/BuiltinsBPF.td",
     deps = [":BuiltinsBaseTdFiles"],
@@ -327,10 +273,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_builtins_hexagon_gen",
-    tbl_outs = [(
-        ["-gen-clang-builtins"],
-        "include/clang/Basic/BuiltinsHexagon.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/BuiltinsHexagon.inc": ["-gen-clang-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/BuiltinsHexagon.td",
     deps = [":BuiltinsBaseTdFiles"],
@@ -338,10 +281,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_builtins_nvptx_gen",
-    tbl_outs = [(
-        ["-gen-clang-builtins"],
-        "include/clang/Basic/BuiltinsNVPTX.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/BuiltinsNVPTX.inc": ["-gen-clang-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/BuiltinsNVPTX.td",
     deps = [":BuiltinsBaseTdFiles"],
@@ -349,10 +289,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_builtins_spirv_gen",
-    tbl_outs = [(
-        ["-gen-clang-builtins"],
-        "include/clang/Basic/BuiltinsSPIRV.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/BuiltinsSPIRV.inc": ["-gen-clang-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/BuiltinsSPIRV.td",
     deps = [":BuiltinsBaseTdFiles"],
@@ -360,10 +297,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_builtins_riscv_gen",
-    tbl_outs = [(
-        ["-gen-clang-builtins"],
-        "include/clang/Basic/BuiltinsRISCV.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/BuiltinsRISCV.inc": ["-gen-clang-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/BuiltinsRISCV.td",
     deps = [
@@ -374,10 +308,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_builtins_x86_gen",
-    tbl_outs = [(
-        ["-gen-clang-builtins"],
-        "include/clang/Basic/BuiltinsX86.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/BuiltinsX86.inc": ["-gen-clang-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/BuiltinsX86.td",
     deps = [
@@ -388,10 +319,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_builtins_x86_64_gen",
-    tbl_outs = [(
-        ["-gen-clang-builtins"],
-        "include/clang/Basic/BuiltinsX86_64.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/BuiltinsX86_64.inc": ["-gen-clang-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/BuiltinsX86_64.td",
     deps = [
@@ -402,10 +330,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_builtins_gen",
-    tbl_outs = [(
-        ["-gen-clang-builtins"],
-        "include/clang/Basic/Builtins.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/Builtins.inc": ["-gen-clang-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/Builtins.td",
     deps = [":BuiltinsBaseTdFiles"],
@@ -413,10 +338,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_builtin_templates_gen",
-    tbl_outs = [(
-        ["-gen-clang-builtin-templates"],
-        "include/clang/Basic/BuiltinTemplates.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/BuiltinTemplates.inc": ["-gen-clang-builtin-templates"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/BuiltinTemplates.td",
     deps = [
@@ -434,10 +356,7 @@ td_library(
 
 gentbl_cc_library(
     name = "basic_riscv_vector_builtins_gen",
-    tbl_outs = [(
-        ["-gen-riscv-vector-builtins"],
-        "include/clang/Basic/riscv_vector_builtins.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/riscv_vector_builtins.inc": ["-gen-riscv-vector-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/riscv_vector.td",
     deps = [":RiscvTdFiles"],
@@ -445,10 +364,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_riscv_vector_builtin_cg_gen",
-    tbl_outs = [(
-        ["-gen-riscv-vector-builtin-codegen"],
-        "include/clang/Basic/riscv_vector_builtin_cg.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/riscv_vector_builtin_cg.inc": ["-gen-riscv-vector-builtin-codegen"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/riscv_vector.td",
     deps = [":RiscvTdFiles"],
@@ -456,10 +372,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_riscv_vector_builtin_sema_gen",
-    tbl_outs = [(
-        ["-gen-riscv-vector-builtin-sema"],
-        "include/clang/Basic/riscv_vector_builtin_sema.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/riscv_vector_builtin_sema.inc": ["-gen-riscv-vector-builtin-sema"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/riscv_vector.td",
     deps = [":RiscvTdFiles"],
@@ -467,10 +380,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_riscv_sifive_vector_builtins_gen",
-    tbl_outs = [(
-        ["-gen-riscv-sifive-vector-builtins"],
-        "include/clang/Basic/riscv_sifive_vector_builtins.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/riscv_sifive_vector_builtins.inc": ["-gen-riscv-sifive-vector-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/riscv_sifive_vector.td",
     deps = [":RiscvTdFiles"],
@@ -478,10 +388,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_riscv_sifive_vector_builtin_cg_gen",
-    tbl_outs = [(
-        ["-gen-riscv-sifive-vector-builtin-codegen"],
-        "include/clang/Basic/riscv_sifive_vector_builtin_cg.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/riscv_sifive_vector_builtin_cg.inc": ["-gen-riscv-sifive-vector-builtin-codegen"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/riscv_sifive_vector.td",
     deps = [":RiscvTdFiles"],
@@ -489,10 +396,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_riscv_sifive_vector_builtin_sema_gen",
-    tbl_outs = [(
-        ["-gen-riscv-sifive-vector-builtin-sema"],
-        "include/clang/Basic/riscv_sifive_vector_builtin_sema.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/riscv_sifive_vector_builtin_sema.inc": ["-gen-riscv-sifive-vector-builtin-sema"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/riscv_sifive_vector.td",
     deps = [":RiscvTdFiles"],
@@ -500,10 +404,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_cde_gen",
-    tbl_outs = [(
-        ["-gen-arm-cde-builtin-def"],
-        "include/clang/Basic/arm_cde_builtins.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_cde_builtins.inc": ["-gen-arm-cde-builtin-def"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_cde.td",
     deps = [":ArmTdFiles"],
@@ -511,10 +412,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_cde_aliases_gen",
-    tbl_outs = [(
-        ["-gen-arm-cde-builtin-aliases"],
-        "include/clang/Basic/arm_cde_builtin_aliases.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_cde_builtin_aliases.inc": ["-gen-arm-cde-builtin-aliases"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_cde.td",
     deps = [":ArmTdFiles"],
@@ -522,10 +420,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_cde_cg_gen",
-    tbl_outs = [(
-        ["-gen-arm-cde-builtin-codegen"],
-        "include/clang/Basic/arm_cde_builtin_cg.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_cde_builtin_cg.inc": ["-gen-arm-cde-builtin-codegen"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_cde.td",
     deps = [":ArmTdFiles"],
@@ -533,10 +428,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "basic_arm_cde_sema_gen",
-    tbl_outs = [(
-        ["-gen-arm-cde-builtin-sema"],
-        "include/clang/Basic/arm_cde_builtin_sema.inc",
-    )],
+    tbl_outs = {"include/clang/Basic/arm_cde_builtin_sema.inc": ["-gen-arm-cde-builtin-sema"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_cde.td",
     deps = [":ArmTdFiles"],
@@ -567,32 +459,14 @@ td_library(
 
 gentbl_cc_library(
     name = "basic_attr_gen",
-    tbl_outs = [
-        (
-            ["-gen-clang-attr-has-attribute-impl"],
-            "include/clang/Basic/AttrHasAttributeImpl.inc",
-        ),
-        (
-            ["-gen-clang-attr-list"],
-            "include/clang/Basic/AttrList.inc",
-        ),
-        (
-            ["-gen-clang-attr-parsed-attr-list"],
-            "include/clang/Basic/AttrParsedAttrList.inc",
-        ),
-        (
-            ["-gen-clang-attr-subject-match-rule-list"],
-            "include/clang/Basic/AttrSubMatchRulesList.inc",
-        ),
-        (
-            ["-gen-clang-regular-keyword-attr-info"],
-            "include/clang/Basic/RegularKeywordAttrInfo.inc",
-        ),
-        (
-            ["-gen-cxx11-attribute-info"],
-            "include/clang/Basic/CXX11AttributeInfo.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/clang/Basic/AttrHasAttributeImpl.inc": ["-gen-clang-attr-has-attribute-impl"],
+        "include/clang/Basic/AttrList.inc": ["-gen-clang-attr-list"],
+        "include/clang/Basic/AttrParsedAttrList.inc": ["-gen-clang-attr-parsed-attr-list"],
+        "include/clang/Basic/AttrSubMatchRulesList.inc": ["-gen-clang-attr-subject-match-rule-list"],
+        "include/clang/Basic/RegularKeywordAttrInfo.inc": ["-gen-clang-regular-keyword-attr-info"],
+        "include/clang/Basic/CXX11AttributeInfo.inc": ["-gen-cxx11-attribute-info"],
+    },
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/Attr.td",
     deps = [":BasicCoreTdFiles"],
@@ -601,10 +475,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "libsema_openclbuiltins_inc_gen",
     strip_include_prefix = "lib/Sema",
-    tbl_outs = [(
-        ["-gen-clang-opencl-builtins"],
-        "lib/Sema/OpenCLBuiltins.inc",
-    )],
+    tbl_outs = {"lib/Sema/OpenCLBuiltins.inc": ["-gen-clang-opencl-builtins"]},
     tblgen = ":clang-tblgen",
     td_file = "lib/Sema/OpenCLBuiltins.td",
 )
@@ -791,28 +662,13 @@ cc_library(
 
 gentbl_cc_library(
     name = "ast_attr_gen",
-    tbl_outs = [
-        (
-            ["-gen-clang-attr-ast-visitor"],
-            "include/clang/AST/AttrVisitor.inc",
-        ),
-        (
-            ["-gen-clang-attr-classes"],
-            "include/clang/AST/Attrs.inc",
-        ),
-        (
-            ["-gen-clang-attr-text-node-dump"],
-            "include/clang/AST/AttrTextNodeDump.inc",
-        ),
-        (
-            ["-gen-clang-attr-node-traverse"],
-            "include/clang/AST/AttrNodeTraverse.inc",
-        ),
-        (
-            ["-gen-clang-attr-impl"],
-            "include/clang/AST/AttrImpl.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/clang/AST/AttrVisitor.inc": ["-gen-clang-attr-ast-visitor"],
+        "include/clang/AST/Attrs.inc": ["-gen-clang-attr-classes"],
+        "include/clang/AST/AttrTextNodeDump.inc": ["-gen-clang-attr-text-node-dump"],
+        "include/clang/AST/AttrNodeTraverse.inc": ["-gen-clang-attr-node-traverse"],
+        "include/clang/AST/AttrImpl.inc": ["-gen-clang-attr-impl"],
+    },
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/Attr.td",
     deps = [":BasicCoreTdFiles"],
@@ -821,12 +677,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "ast_attr_doc_table_gen",
     strip_include_prefix = "lib/AST",
-    tbl_outs = [
-        (
-            ["-gen-clang-attr-doc-table"],
-            "lib/AST/AttrDocTable.inc",
-        ),
-    ],
+    tbl_outs = {"lib/AST/AttrDocTable.inc": ["-gen-clang-attr-doc-table"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/Attr.td",
     deps = [":BasicCoreTdFiles"],
@@ -834,10 +685,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ast_decl_nodes_gen",
-    tbl_outs = [(
-        ["-gen-clang-decl-nodes"],
-        "include/clang/AST/DeclNodes.inc",
-    )],
+    tbl_outs = {"include/clang/AST/DeclNodes.inc": ["-gen-clang-decl-nodes"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/DeclNodes.td",
     deps = [":ASTNodeTdFiles"],
@@ -845,10 +693,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ast_stmt_nodes_gen",
-    tbl_outs = [(
-        ["-gen-clang-stmt-nodes"],
-        "include/clang/AST/StmtNodes.inc",
-    )],
+    tbl_outs = {"include/clang/AST/StmtNodes.inc": ["-gen-clang-stmt-nodes"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/StmtNodes.td",
     deps = [":ASTNodeTdFiles"],
@@ -856,10 +701,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ast_comment_nodes_gen",
-    tbl_outs = [(
-        ["-gen-clang-comment-nodes"],
-        "include/clang/AST/CommentNodes.inc",
-    )],
+    tbl_outs = {"include/clang/AST/CommentNodes.inc": ["-gen-clang-comment-nodes"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/CommentNodes.td",
     deps = [":ASTNodeTdFiles"],
@@ -867,56 +709,38 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ast_comment_command_info_gen",
-    tbl_outs = [
-        (
-            ["-gen-clang-comment-command-info"],
-            "include/clang/AST/CommentCommandInfo.inc",
-        ),
-        (
-            ["-gen-clang-comment-command-list"],
-            "include/clang/AST/CommentCommandList.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/clang/AST/CommentCommandInfo.inc": ["-gen-clang-comment-command-info"],
+        "include/clang/AST/CommentCommandList.inc": ["-gen-clang-comment-command-list"],
+    },
     tblgen = ":clang-tblgen",
     td_file = "include/clang/AST/CommentCommands.td",
 )
 
 gentbl_cc_library(
     name = "ast_comment_html_tags_gen",
-    tbl_outs = [(
-        ["-gen-clang-comment-html-tags"],
-        "include/clang/AST/CommentHTMLTags.inc",
-    )],
+    tbl_outs = {"include/clang/AST/CommentHTMLTags.inc": ["-gen-clang-comment-html-tags"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/AST/CommentHTMLTags.td",
 )
 
 gentbl_cc_library(
     name = "ast_comment_html_tags_properties_gen",
-    tbl_outs = [(
-        ["-gen-clang-comment-html-tags-properties"],
-        "include/clang/AST/CommentHTMLTagsProperties.inc",
-    )],
+    tbl_outs = {"include/clang/AST/CommentHTMLTagsProperties.inc": ["-gen-clang-comment-html-tags-properties"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/AST/CommentHTMLTags.td",
 )
 
 gentbl_cc_library(
     name = "ast_comment_html_named_character_references_gen",
-    tbl_outs = [(
-        ["-gen-clang-comment-html-named-character-references"],
-        "include/clang/AST/CommentHTMLNamedCharacterReferences.inc",
-    )],
+    tbl_outs = {"include/clang/AST/CommentHTMLNamedCharacterReferences.inc": ["-gen-clang-comment-html-named-character-references"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/AST/CommentHTMLNamedCharacterReferences.td",
 )
 
 gentbl_cc_library(
     name = "ast_stmt_data_collectors_gen",
-    tbl_outs = [(
-        ["-gen-clang-data-collectors"],
-        "include/clang/AST/StmtDataCollectors.inc",
-    )],
+    tbl_outs = {"include/clang/AST/StmtDataCollectors.inc": ["-gen-clang-data-collectors"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/AST/StmtDataCollectors.td",
 )
@@ -924,42 +748,27 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "ast_bytecode_opcodes_gen",
     strip_include_prefix = "lib/AST/ByteCode",
-    tbl_outs = [(
-        ["-gen-clang-opcodes"],
-        "lib/AST/ByteCode/Opcodes.inc",
-    )],
+    tbl_outs = {"lib/AST/ByteCode/Opcodes.inc": ["-gen-clang-opcodes"]},
     tblgen = ":clang-tblgen",
     td_file = "lib/AST/ByteCode/Opcodes.td",
 )
 
 gentbl_cc_library(
     name = "ast_properties_base_gen",
-    tbl_outs = [
-        (
-            ["-gen-clang-basic-reader"],
-            "include/clang/AST/AbstractBasicReader.inc",
-        ),
-        (
-            ["-gen-clang-basic-writer"],
-            "include/clang/AST/AbstractBasicWriter.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/clang/AST/AbstractBasicReader.inc": ["-gen-clang-basic-reader"],
+        "include/clang/AST/AbstractBasicWriter.inc": ["-gen-clang-basic-writer"],
+    },
     tblgen = ":clang-tblgen",
     td_file = "include/clang/AST/PropertiesBase.td",
 )
 
 gentbl_cc_library(
     name = "ast_type_properties_gen",
-    tbl_outs = [
-        (
-            ["-gen-clang-type-reader"],
-            "include/clang/AST/AbstractTypeReader.inc",
-        ),
-        (
-            ["-gen-clang-type-writer"],
-            "include/clang/AST/AbstractTypeWriter.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/clang/AST/AbstractTypeReader.inc": ["-gen-clang-type-reader"],
+        "include/clang/AST/AbstractTypeWriter.inc": ["-gen-clang-type-writer"],
+    },
     tblgen = ":clang-tblgen",
     td_file = "include/clang/AST/TypeProperties.td",
     td_srcs = [
@@ -971,10 +780,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "type_nodes_gen",
-    tbl_outs = [(
-        ["-gen-clang-type-nodes"],
-        "include/clang/AST/TypeNodes.inc",
-    )],
+    tbl_outs = {"include/clang/AST/TypeNodes.inc": ["-gen-clang-type-nodes"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/TypeNodes.td",
     deps = [":ASTNodeTdFiles"],
@@ -1124,24 +930,12 @@ cc_library(
 
 gentbl_cc_library(
     name = "sema_attr_gen",
-    tbl_outs = [
-        (
-            ["-gen-clang-attr-parsed-attr-impl"],
-            "include/clang/Sema/AttrParsedAttrImpl.inc",
-        ),
-        (
-            ["-gen-clang-attr-parsed-attr-kinds"],
-            "include/clang/Sema/AttrParsedAttrKinds.inc",
-        ),
-        (
-            ["-gen-clang-attr-spelling-index"],
-            "include/clang/Sema/AttrSpellingListIndex.inc",
-        ),
-        (
-            ["-gen-clang-attr-template-instantiate"],
-            "include/clang/Sema/AttrTemplateInstantiate.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/clang/Sema/AttrParsedAttrImpl.inc": ["-gen-clang-attr-parsed-attr-impl"],
+        "include/clang/Sema/AttrParsedAttrKinds.inc": ["-gen-clang-attr-parsed-attr-kinds"],
+        "include/clang/Sema/AttrSpellingListIndex.inc": ["-gen-clang-attr-spelling-index"],
+        "include/clang/Sema/AttrTemplateInstantiate.inc": ["-gen-clang-attr-template-instantiate"],
+    },
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/Attr.td",
     deps = [":BasicCoreTdFiles"],
@@ -1204,16 +998,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "parse_attr_gen",
-    tbl_outs = [
-        (
-            ["-gen-clang-attr-parser-string-switches"],
-            "include/clang/Parse/AttrParserStringSwitches.inc",
-        ),
-        (
-            ["-gen-clang-attr-subject-match-rules-parser-string-switches"],
-            "include/clang/Parse/AttrSubMatchRulesParserStringSwitches.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/clang/Parse/AttrParserStringSwitches.inc": ["-gen-clang-attr-parser-string-switches"],
+        "include/clang/Parse/AttrSubMatchRulesParserStringSwitches.inc": ["-gen-clang-attr-subject-match-rules-parser-string-switches"],
+    },
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/Attr.td",
     deps = [":BasicCoreTdFiles"],
@@ -1405,16 +1193,10 @@ td_library(
 
 gentbl_cc_library(
     name = "tooling_syntax_gen",
-    tbl_outs = [
-        (
-            ["-gen-clang-syntax-node-list"],
-            "include/clang/Tooling/Syntax/Nodes.inc",
-        ),
-        (
-            ["-gen-clang-syntax-node-classes"],
-            "include/clang/Tooling/Syntax/NodeClasses.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/clang/Tooling/Syntax/Nodes.inc": ["-gen-clang-syntax-node-list"],
+        "include/clang/Tooling/Syntax/NodeClasses.inc": ["-gen-clang-syntax-node-classes"],
+    },
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Tooling/Syntax/Nodes.td",
     deps = [":ToolingSyntaxTdFiles"],
@@ -1584,10 +1366,7 @@ td_library(
 
 gentbl_cc_library(
     name = "static_analyzer_checkers_gen",
-    tbl_outs = [(
-        ["-gen-clang-sa-checkers"],
-        "include/clang/StaticAnalyzer/Checkers/Checkers.inc",
-    )],
+    tbl_outs = {"include/clang/StaticAnalyzer/Checkers/Checkers.inc": ["-gen-clang-sa-checkers"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/StaticAnalyzer/Checkers/Checkers.td",
     deps = [":CheckerBaseTdFiles"],
@@ -1621,10 +1400,7 @@ cc_library(
 
 gentbl_cc_library(
     name = "driver_options_inc_gen",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "include/clang/Driver/Options.inc",
-    )],
+    tbl_outs = {"include/clang/Driver/Options.inc": ["-gen-opt-parser-defs"]},
     tblgen = "//llvm:llvm-tblgen",
     td_file = "include/clang/Driver/Options.td",
     deps = ["//llvm:OptParserTdFiles"],
@@ -1685,10 +1461,7 @@ cc_library(
 
 gentbl_cc_library(
     name = "headers_arm_neon_gen",
-    tbl_outs = [(
-        ["-gen-arm-neon"],
-        "lib/Headers/arm_neon.h",
-    )],
+    tbl_outs = {"lib/Headers/arm_neon.h": ["-gen-arm-neon"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_neon.td",
     deps = [":ArmTdFiles"],
@@ -1696,10 +1469,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "headers_arm_fp16_gen",
-    tbl_outs = [(
-        ["-gen-arm-fp16"],
-        "lib/Headers/arm_fp16.h",
-    )],
+    tbl_outs = {"lib/Headers/arm_fp16.h": ["-gen-arm-fp16"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_fp16.td",
     deps = [":ArmTdFiles"],
@@ -1707,10 +1477,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "headers_arm_mve_gen",
-    tbl_outs = [(
-        ["-gen-arm-mve-header"],
-        "lib/Headers/arm_mve.h",
-    )],
+    tbl_outs = {"lib/Headers/arm_mve.h": ["-gen-arm-mve-header"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_mve.td",
     deps = [":ArmTdFiles"],
@@ -1718,10 +1485,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "headers_arm_cde_gen",
-    tbl_outs = [(
-        ["-gen-arm-cde-header"],
-        "lib/Headers/arm_cde.h",
-    )],
+    tbl_outs = {"lib/Headers/arm_cde.h": ["-gen-arm-cde-header"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_cde.td",
     deps = [":ArmTdFiles"],
@@ -1729,10 +1493,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "headers_arm_sve_gen",
-    tbl_outs = [(
-        ["-gen-arm-sve-header"],
-        "lib/Headers/arm_sve.h",
-    )],
+    tbl_outs = {"lib/Headers/arm_sve.h": ["-gen-arm-sve-header"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sve.td",
     deps = [":ArmTdFiles"],
@@ -1740,10 +1501,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "headers_arm_bf16_gen",
-    tbl_outs = [(
-        ["-gen-arm-bf16"],
-        "lib/Headers/arm_bf16.h",
-    )],
+    tbl_outs = {"lib/Headers/arm_bf16.h": ["-gen-arm-bf16"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_bf16.td",
     deps = [":ArmTdFiles"],
@@ -1751,10 +1509,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "headers_arm_sme_gen",
-    tbl_outs = [(
-        ["-gen-arm-sme-header"],
-        "lib/Headers/arm_sme.h",
-    )],
+    tbl_outs = {"lib/Headers/arm_sme.h": ["-gen-arm-sme-header"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_sme.td",
     deps = [":ArmTdFiles"],
@@ -1762,10 +1517,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "headers_arm_vector_type_gen",
-    tbl_outs = [(
-        ["-gen-arm-vector-type"],
-        "lib/Headers/arm_vector_types.h",
-    )],
+    tbl_outs = {"lib/Headers/arm_vector_types.h": ["-gen-arm-vector-type"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/arm_neon.td",
     deps = [":ArmTdFiles"],
@@ -1773,10 +1525,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "headers_riscv_vector",
-    tbl_outs = [(
-        ["-gen-riscv-vector-header"],
-        "lib/Headers/riscv_vector.h",
-    )],
+    tbl_outs = {"lib/Headers/riscv_vector.h": ["-gen-riscv-vector-header"]},
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/riscv_vector.td",
     deps = [":RiscvTdFiles"],
@@ -2031,16 +1780,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "serialization_attr_gen",
-    tbl_outs = [
-        (
-            ["-gen-clang-attr-pch-read"],
-            "include/clang/Serialization/AttrPCHRead.inc",
-        ),
-        (
-            ["-gen-clang-attr-pch-write"],
-            "include/clang/Serialization/AttrPCHWrite.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/clang/Serialization/AttrPCHRead.inc": ["-gen-clang-attr-pch-read"],
+        "include/clang/Serialization/AttrPCHWrite.inc": ["-gen-clang-attr-pch-write"],
+    },
     tblgen = ":clang-tblgen",
     td_file = "include/clang/Basic/Attr.td",
     deps = [":BasicCoreTdFiles"],
@@ -2455,10 +2198,7 @@ cc_binary(
 gentbl_cc_library(
     name = "linker_wrapper_opts_gen",
     strip_include_prefix = "tools/clang-linker-wrapper",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/clang-linker-wrapper/LinkerWrapperOpts.inc",
-    )],
+    tbl_outs = {"tools/clang-linker-wrapper/LinkerWrapperOpts.inc": ["-gen-opt-parser-defs"]},
     tblgen = "//llvm:llvm-tblgen",
     td_file = "tools/clang-linker-wrapper/LinkerWrapperOpts.td",
     deps = ["//llvm:OptParserTdFiles"],
@@ -2554,10 +2294,7 @@ cc_binary(
 gentbl_cc_library(
     name = "ScanDepsTableGen",
     strip_include_prefix = "tools/clang-scan-deps",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/clang-scan-deps/Opts.inc",
-    )],
+    tbl_outs = {"tools/clang-scan-deps/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = "//llvm:llvm-tblgen",
     td_file = "tools/clang-scan-deps/Opts.td",
     deps = ["//llvm:OptParserTdFiles"],
diff --git a/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel b/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
index 0f59718782b01..06a79d0045e16 100644
--- a/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
@@ -331,16 +331,10 @@ cc_library(
 gentbl_cc_library(
     name = "InterpreterProperties",
     strip_include_prefix = "source/Interpreter",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "source/Interpreter/InterpreterProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "source/Interpreter/InterpreterPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "source/Interpreter/InterpreterProperties.inc": ["-gen-lldb-property-defs"],
+        "source/Interpreter/InterpreterPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = ":lldb-tblgen",
     td_file = "source/Interpreter/InterpreterProperties.td",
     deps = [":CoreTdFiles"],
@@ -406,12 +400,7 @@ td_library(
 gentbl_cc_library(
     name = "CommandOptions",
     strip_include_prefix = "source/Commands",
-    tbl_outs = [
-        (
-            ["-gen-lldb-option-defs"],
-            "source/Commands/CommandOptions.inc",
-        ),
-    ],
+    tbl_outs = {"source/Commands/CommandOptions.inc": ["-gen-lldb-option-defs"]},
     tblgen = ":lldb-tblgen",
     td_file = "source/Commands/Options.td",
     deps = [":CommandsTdFiles"],
@@ -595,16 +584,10 @@ td_library(
 gentbl_cc_library(
     name = "CoreProperties",
     strip_include_prefix = "source/Core",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "source/Core/CoreProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "source/Core/CorePropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "source/Core/CoreProperties.inc": ["-gen-lldb-property-defs"],
+        "source/Core/CorePropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = ":lldb-tblgen",
     td_file = "source/Core/CoreProperties.td",
     deps = [":CoreTdFiles"],
@@ -676,16 +659,10 @@ cc_library(
 gentbl_cc_library(
     name = "TargetProperties",
     strip_include_prefix = "source/Target",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "source/Target/TargetProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "source/Target/TargetPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "source/Target/TargetProperties.inc": ["-gen-lldb-property-defs"],
+        "source/Target/TargetPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = ":lldb-tblgen",
     td_file = "source/Target/TargetProperties.td",
     deps = [":CoreTdFiles"],
@@ -832,10 +809,7 @@ cc_import(
 gentbl_cc_library(
     name = "lldb_options_inc_gen",
     strip_include_prefix = ".",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "Options.inc",
-    )],
+    tbl_outs = {"Options.inc": ["-gen-opt-parser-defs"]},
     tblgen = "//llvm:llvm-tblgen",
     td_file = "tools/driver/Options.td",
     deps = ["//llvm:OptParserTdFiles"],
@@ -981,10 +955,7 @@ cc_binary(
 gentbl_cc_library(
     name = "lldb_server_opts_gen",
     strip_include_prefix = ".",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "LLGSOptions.inc",
-    )],
+    tbl_outs = {"LLGSOptions.inc": ["-gen-opt-parser-defs"]},
     tblgen = "//llvm:llvm-tblgen",
     td_file = "tools/lldb-server/LLGSOptions.td",
     deps = ["//llvm:OptParserTdFiles"],
@@ -1051,10 +1022,7 @@ expand_template(
 gentbl_cc_library(
     name = "lldb_dap_opts_gen",
     strip_include_prefix = "tools/lldb-dap",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/lldb-dap/Options.inc",
-    )],
+    tbl_outs = {"tools/lldb-dap/Options.inc": ["-gen-opt-parser-defs"]},
     tblgen = "//llvm:llvm-tblgen",
     td_file = "tools/lldb-dap/Options.td",
     deps = ["//llvm:OptParserTdFiles"],
diff --git a/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel b/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
index 7d0a4112ac312..a4b51463a9241 100644
--- a/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
@@ -215,16 +215,10 @@ cc_library(
 gentbl_cc_library(
     name = "PlatformMacOSXProperties",
     strip_include_prefix = "Platform/MacOSX",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "Platform/MacOSX/PlatformMacOSXProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "Platform/MacOSX/PlatformMacOSXPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "Platform/MacOSX/PlatformMacOSXProperties.inc": ["-gen-lldb-property-defs"],
+        "Platform/MacOSX/PlatformMacOSXPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = "//lldb:lldb-tblgen",
     td_file = "Platform/MacOSX/PlatformMacOSXProperties.td",
     deps = ["//lldb:CoreTdFiles"],
@@ -301,16 +295,10 @@ cc_library(
 gentbl_cc_library(
     name = "SymbolFileDWARFProperties",
     strip_include_prefix = "SymbolFile/DWARF",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "SymbolFile/DWARF/SymbolFileDWARFProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "SymbolFile/DWARF/SymbolFileDWARFPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "SymbolFile/DWARF/SymbolFileDWARFProperties.inc": ["-gen-lldb-property-defs"],
+        "SymbolFile/DWARF/SymbolFileDWARFPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = "//lldb:lldb-tblgen",
     td_file = "SymbolFile/DWARF/SymbolFileDWARFProperties.td",
     deps = ["//lldb:CoreTdFiles"],
@@ -454,16 +442,10 @@ cc_library(
 gentbl_cc_library(
     name = "ProcessGDBRemoteProperties",
     strip_include_prefix = "Process/gdb-remote",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "Process/gdb-remote/ProcessGDBRemoteProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "Process/gdb-remote/ProcessGDBRemotePropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "Process/gdb-remote/ProcessGDBRemoteProperties.inc": ["-gen-lldb-property-defs"],
+        "Process/gdb-remote/ProcessGDBRemotePropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = "//lldb:lldb-tblgen",
     td_file = "Process/gdb-remote/ProcessGDBRemoteProperties.td",
     deps = ["//lldb:CoreTdFiles"],
@@ -548,16 +530,10 @@ cc_library(
 gentbl_cc_library(
     name = "StructuredDataDarwinLogProperties",
     strip_include_prefix = "StructuredData/DarwinLog",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "StructuredData/DarwinLog/StructuredDataDarwinLogProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "StructuredData/DarwinLog/StructuredDataDarwinLogPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "StructuredData/DarwinLog/StructuredDataDarwinLogProperties.inc": ["-gen-lldb-property-defs"],
+        "StructuredData/DarwinLog/StructuredDataDarwinLogPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = "//lldb:lldb-tblgen",
     td_file = "StructuredData/DarwinLog/StructuredDataDarwinLogProperties.td",
     deps = ["//lldb:CoreTdFiles"],
@@ -617,16 +593,10 @@ cc_library(
 gentbl_cc_library(
     name = "PlatformQemuUserProperties",
     strip_include_prefix = "Platform/QemuUser",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "Platform/QemuUser/PlatformQemuUserProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "Platform/QemuUser/PlatformQemuUserPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "Platform/QemuUser/PlatformQemuUserProperties.inc": ["-gen-lldb-property-defs"],
+        "Platform/QemuUser/PlatformQemuUserPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = "//lldb:lldb-tblgen",
     td_file = "Platform/QemuUser/PlatformQemuUserProperties.td",
     deps = ["//lldb:CoreTdFiles"],
@@ -690,16 +660,10 @@ cc_library(
 gentbl_cc_library(
     name = "PlatformAndroidProperties",
     strip_include_prefix = "Platform/Android",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "Platform/Android/PlatformAndroidProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "Platform/Android/PlatformAndroidPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "Platform/Android/PlatformAndroidProperties.inc": ["-gen-lldb-property-defs"],
+        "Platform/Android/PlatformAndroidPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = "//lldb:lldb-tblgen",
     td_file = "Platform/Android/PlatformAndroidProperties.td",
     deps = ["//lldb:CoreTdFiles"],
@@ -902,10 +866,7 @@ cc_library(
 gentbl_cc_library(
     name = "TraceExporterCTFOptions",
     strip_include_prefix = "TraceExporter/ctf",
-    tbl_outs = [(
-        ["-gen-lldb-option-defs"],
-        "TraceExporter/ctf/TraceExporterCTFCommandOptions.inc",
-    )],
+    tbl_outs = {"TraceExporter/ctf/TraceExporterCTFCommandOptions.inc": ["-gen-lldb-option-defs"]},
     tblgen = "//lldb:lldb-tblgen",
     td_file = "TraceExporter/ctf/TraceExporterCTFOptions.td",
     deps = [
@@ -1228,16 +1189,10 @@ cc_library(
 gentbl_cc_library(
     name = "DynamicLoaderMacOSXDYLDProperties",
     strip_include_prefix = "DynamicLoader/MacOSX-DYLD",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.inc": ["-gen-lldb-property-defs"],
+        "DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = "//lldb:lldb-tblgen",
     td_file = "DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.td",
     deps = ["//lldb:CoreTdFiles"],
@@ -1270,16 +1225,10 @@ cc_library(
 gentbl_cc_library(
     name = "DynamicLoaderDarwinKernelProperties",
     strip_include_prefix = "DynamicLoader/Darwin-Kernel",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernelProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernelPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernelProperties.inc": ["-gen-lldb-property-defs"],
+        "DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernelPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = "//lldb:lldb-tblgen",
     td_file = "DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernelProperties.td",
     deps = ["//lldb:CoreTdFiles"],
@@ -1692,16 +1641,10 @@ cc_library(
 gentbl_cc_library(
     name = "JITLoaderGDBProperties",
     strip_include_prefix = "JITLoader/GDB",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "JITLoader/GDB/JITLoaderGDBProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "JITLoader/GDB/JITLoaderGDBPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "JITLoader/GDB/JITLoaderGDBProperties.inc": ["-gen-lldb-property-defs"],
+        "JITLoader/GDB/JITLoaderGDBPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = "//lldb:lldb-tblgen",
     td_file = "JITLoader/GDB/JITLoaderGDBProperties.td",
     deps = ["//lldb:CoreTdFiles"],
@@ -1748,16 +1691,10 @@ cc_library(
 gentbl_cc_library(
     name = "SymbolLocatorDebuginfodProperties",
     strip_include_prefix = "SymbolLocator/Debuginfod",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "SymbolLocator/Debuginfod/SymbolLocatorDebuginfodPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.inc": ["-gen-lldb-property-defs"],
+        "SymbolLocator/Debuginfod/SymbolLocatorDebuginfodPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = "//lldb:lldb-tblgen",
     td_file = "SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td",
     deps = ["//lldb:CoreTdFiles"],
@@ -2014,16 +1951,10 @@ cc_library(
 gentbl_cc_library(
     name = "ObjectFilePECOFFProperties",
     strip_include_prefix = "ObjectFile/PECOFF",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "ObjectFile/PECOFF/ObjectFilePECOFFProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "ObjectFile/PECOFF/ObjectFilePECOFFPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "ObjectFile/PECOFF/ObjectFilePECOFFProperties.inc": ["-gen-lldb-property-defs"],
+        "ObjectFile/PECOFF/ObjectFilePECOFFPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = "//lldb:lldb-tblgen",
     td_file = "ObjectFile/PECOFF/ObjectFilePECOFFProperties.td",
     deps = ["//lldb:CoreTdFiles"],
@@ -2225,16 +2156,10 @@ cc_library(
 gentbl_cc_library(
     name = "ProcessKDPProperties",
     strip_include_prefix = "Process/MacOSX-Kernel",
-    tbl_outs = [
-        (
-            ["-gen-lldb-property-defs"],
-            "Process/MacOSX-Kernel/ProcessKDPProperties.inc",
-        ),
-        (
-            ["-gen-lldb-property-enum-defs"],
-            "Process/MacOSX-Kernel/ProcessKDPPropertiesEnum.inc",
-        ),
-    ],
+    tbl_outs = {
+        "Process/MacOSX-Kernel/ProcessKDPProperties.inc": ["-gen-lldb-property-defs"],
+        "Process/MacOSX-Kernel/ProcessKDPPropertiesEnum.inc": ["-gen-lldb-property-enum-defs"],
+    },
     tblgen = "//lldb:lldb-tblgen",
     td_file = "Process/MacOSX-Kernel/ProcessKDPProperties.td",
     deps = ["//lldb:CoreTdFiles"],
diff --git a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
index 44fb4357c1e1f..7431ff306b4d7 100644
--- a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
@@ -740,10 +740,7 @@ cc_binary(
 
 gentbl_cc_library(
     name = "intrinsic_enums_gen",
-    tbl_outs = [(
-        ["-gen-intrinsic-enums"],
-        "include/llvm/IR/IntrinsicEnums.inc",
-    )],
+    tbl_outs = {"include/llvm/IR/IntrinsicEnums.inc": ["-gen-intrinsic-enums"]},
     tblgen = ":llvm-min-tblgen",
     td_file = "include/llvm/IR/Intrinsics.td",
     deps = [":CommonTargetTdFiles"],
@@ -751,10 +748,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "intrinsics_impl_gen",
-    tbl_outs = [(
-        ["-gen-intrinsic-impl"],
-        "include/llvm/IR/IntrinsicImpl.inc",
-    )],
+    tbl_outs = {"include/llvm/IR/IntrinsicImpl.inc": ["-gen-intrinsic-impl"]},
     tblgen = ":llvm-min-tblgen",
     td_file = "include/llvm/IR/Intrinsics.td",
     deps = [":CommonTargetTdFiles"],
@@ -762,10 +756,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "vt_gen",
-    tbl_outs = [(
-        ["-gen-vt"],
-        "include/llvm/CodeGen/GenVT.inc",
-    )],
+    tbl_outs = {"include/llvm/CodeGen/GenVT.inc": ["-gen-vt"]},
     tblgen = ":llvm-min-tblgen",
     td_file = "include/llvm/CodeGen/ValueTypes.td",
 )
@@ -851,13 +842,10 @@ llvm_target_intrinsics_list = [
     gentbl_cc_library(
         name = "intrinsic_" + target["name"] + "_gen",
         includes = ["include"],
-        tbl_outs = [(
-            [
-                "-gen-intrinsic-enums",
-                "-intrinsic-prefix=" + target["intrinsic_prefix"],
-            ],
-            "include/llvm/IR/Intrinsics" + target["name"] + ".h",
-        )],
+        tbl_outs = {"include/llvm/IR/Intrinsics" + target["name"] + ".h": [
+            "-gen-intrinsic-enums",
+            "-intrinsic-prefix=" + target["intrinsic_prefix"],
+        ]},
         tblgen = ":llvm-min-tblgen",
         td_file = "include/llvm/IR/Intrinsics.td",
         deps = [
@@ -869,10 +857,7 @@ llvm_target_intrinsics_list = [
 
 gentbl_cc_library(
     name = "attributes_gen",
-    tbl_outs = [(
-        ["-gen-attrs"],
-        "include/llvm/IR/Attributes.inc",
-    )],
+    tbl_outs = {"include/llvm/IR/Attributes.inc": ["-gen-attrs"]},
     tblgen = ":llvm-min-tblgen",
     td_file = "include/llvm/IR/Attributes.td",
 )
@@ -1309,10 +1294,7 @@ td_library(
 
 gentbl_cc_library(
     name = "ARMTargetParserDefGen",
-    tbl_outs = [(
-        ["-gen-arm-target-def"],
-        "include/llvm/TargetParser/ARMTargetParserDef.inc",
-    )],
+    tbl_outs = {"include/llvm/TargetParser/ARMTargetParserDef.inc": ["-gen-arm-target-def"]},
     tblgen = ":llvm-min-tblgen",
     td_file = "lib/Target/ARM/ARM.td",
     deps = [
@@ -1330,10 +1312,7 @@ td_library(
 
 gentbl_cc_library(
     name = "AArch64TargetParserDefGen",
-    tbl_outs = [(
-        ["-gen-arm-target-def"],
-        "include/llvm/TargetParser/AArch64TargetParserDef.inc",
-    )],
+    tbl_outs = {"include/llvm/TargetParser/AArch64TargetParserDef.inc": ["-gen-arm-target-def"]},
     tblgen = ":llvm-min-tblgen",
     td_file = "lib/Target/AArch64/AArch64.td",
     deps = [
@@ -1351,10 +1330,7 @@ td_library(
 
 gentbl_cc_library(
     name = "RISCVTargetParserDefGen",
-    tbl_outs = [(
-        ["-gen-riscv-target-def"],
-        "include/llvm/TargetParser/RISCVTargetParserDef.inc",
-    )],
+    tbl_outs = {"include/llvm/TargetParser/RISCVTargetParserDef.inc": ["-gen-riscv-target-def"]},
     tblgen = ":llvm-min-tblgen",
     td_file = "lib/Target/RISCV/RISCV.td",
     deps = [
@@ -1443,10 +1419,7 @@ td_library(
 gentbl_cc_library(
     name = "InstCombineTableGen",
     strip_include_prefix = "lib/Target/AMDGPU",
-    tbl_outs = [(
-        ["-gen-searchable-tables"],
-        "lib/Target/AMDGPU/InstCombineTables.inc",
-    )],
+    tbl_outs = {"lib/Target/AMDGPU/InstCombineTables.inc": ["-gen-searchable-tables"]},
     tblgen = ":llvm-tblgen",
     td_file = "lib/Target/AMDGPU/InstCombineTables.td",
     deps = [
@@ -3138,33 +3111,21 @@ cc_library(
 gentbl_cc_library(
     name = "amdgpu_isel_target_gen",
     strip_include_prefix = "lib/Target/AMDGPU",
-    tbl_outs = [
-        (
-            ["-gen-global-isel"],
-            "lib/Target/AMDGPU/AMDGPUGenGlobalISel.inc",
-        ),
-        (
-            [
-                "-gen-global-isel-combiner",
-                "-combiners=AMDGPUPreLegalizerCombiner",
-            ],
-            "lib/Target/AMDGPU/AMDGPUGenPreLegalizeGICombiner.inc",
-        ),
-        (
-            [
-                "-gen-global-isel-combiner",
-                "-combiners=AMDGPUPostLegalizerCombiner",
-            ],
-            "lib/Target/AMDGPU/AMDGPUGenPostLegalizeGICombiner.inc",
-        ),
-        (
-            [
-                "-gen-global-isel-combiner",
-                "-combiners=AMDGPURegBankCombiner",
-            ],
-            "lib/Target/AMDGPU/AMDGPUGenRegBankGICombiner.inc",
-        ),
-    ],
+    tbl_outs = {
+        "lib/Target/AMDGPU/AMDGPUGenGlobalISel.inc": ["-gen-global-isel"],
+        "lib/Target/AMDGPU/AMDGPUGenPreLegalizeGICombiner.inc": [
+            "-gen-global-isel-combiner",
+            "-combiners=AMDGPUPreLegalizerCombiner",
+        ],
+        "lib/Target/AMDGPU/AMDGPUGenPostLegalizeGICombiner.inc": [
+            "-gen-global-isel-combiner",
+            "-combiners=AMDGPUPostLegalizerCombiner",
+        ],
+        "lib/Target/AMDGPU/AMDGPUGenRegBankGICombiner.inc": [
+            "-gen-global-isel-combiner",
+            "-combiners=AMDGPURegBankCombiner",
+        ],
+    },
     tblgen = ":llvm-tblgen",
     td_file = "lib/Target/AMDGPU/AMDGPUGISel.td",
     deps = [
@@ -3176,40 +3137,16 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "r600_target_gen",
     strip_include_prefix = "lib/Target/AMDGPU",
-    tbl_outs = [
-        (
-            ["-gen-asm-writer"],
-            "lib/Target/AMDGPU/R600GenAsmWriter.inc",
-        ),
-        (
-            ["-gen-callingconv"],
-            "lib/Target/AMDGPU/R600GenCallingConv.inc",
-        ),
-        (
-            ["-gen-dag-isel"],
-            "lib/Target/AMDGPU/R600GenDAGISel.inc",
-        ),
-        (
-            ["-gen-dfa-packetizer"],
-            "lib/Target/AMDGPU/R600GenDFAPacketizer.inc",
-        ),
-        (
-            ["-gen-instr-info"],
-            "lib/Target/AMDGPU/R600GenInstrInfo.inc",
-        ),
-        (
-            ["-gen-emitter"],
-            "lib/Target/AMDGPU/R600GenMCCodeEmitter.inc",
-        ),
-        (
-            ["-gen-register-info"],
-            "lib/Target/AMDGPU/R600GenRegisterInfo.inc",
-        ),
-        (
-            ["-gen-subtarget"],
-            "lib/Target/AMDGPU/R600GenSubtargetInfo.inc",
-        ),
-    ],
+    tbl_outs = {
+        "lib/Target/AMDGPU/R600GenAsmWriter.inc": ["-gen-asm-writer"],
+        "lib/Target/AMDGPU/R600GenCallingConv.inc": ["-gen-callingconv"],
+        "lib/Target/AMDGPU/R600GenDAGISel.inc": ["-gen-dag-isel"],
+        "lib/Target/AMDGPU/R600GenDFAPacketizer.inc": ["-gen-dfa-packetizer"],
+        "lib/Target/AMDGPU/R600GenInstrInfo.inc": ["-gen-instr-info"],
+        "lib/Target/AMDGPU/R600GenMCCodeEmitter.inc": ["-gen-emitter"],
+        "lib/Target/AMDGPU/R600GenRegisterInfo.inc": ["-gen-register-info"],
+        "lib/Target/AMDGPU/R600GenSubtargetInfo.inc": ["-gen-subtarget"],
+    },
     tblgen = ":llvm-tblgen",
     td_file = "lib/Target/AMDGPU/R600.td",
     deps = [
@@ -3221,33 +3158,21 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "riscv_isel_target_gen",
     strip_include_prefix = "lib/Target/RISCV",
-    tbl_outs = [
-        (
-            ["-gen-global-isel"],
-            "lib/Target/RISCV/RISCVGenGlobalISel.inc",
-        ),
-        (
-            [
-                "-gen-global-isel-combiner",
-                "-combiners=RISCVO0PreLegalizerCombiner",
-            ],
-            "lib/Target/RISCV/RISCVGenO0PreLegalizeGICombiner.inc",
-        ),
-        (
-            [
-                "-gen-global-isel-combiner",
-                "-combiners=RISCVPostLegalizerCombiner",
-            ],
-            "lib/Target/RISCV/RISCVGenPostLegalizeGICombiner.inc",
-        ),
-        (
-            [
-                "-gen-global-isel-combiner",
-                "-combiners=RISCVPreLegalizerCombiner",
-            ],
-            "lib/Target/RISCV/RISCVGenPreLegalizeGICombiner.inc",
-        ),
-    ],
+    tbl_outs = {
+        "lib/Target/RISCV/RISCVGenGlobalISel.inc": ["-gen-global-isel"],
+        "lib/Target/RISCV/RISCVGenO0PreLegalizeGICombiner.inc": [
+            "-gen-global-isel-combiner",
+            "-combiners=RISCVO0PreLegalizerCombiner",
+        ],
+        "lib/Target/RISCV/RISCVGenPostLegalizeGICombiner.inc": [
+            "-gen-global-isel-combiner",
+            "-combiners=RISCVPostLegalizerCombiner",
+        ],
+        "lib/Target/RISCV/RISCVGenPreLegalizeGICombiner.inc": [
+            "-gen-global-isel-combiner",
+            "-combiners=RISCVPreLegalizerCombiner",
+        ],
+    },
     tblgen = ":llvm-tblgen",
     td_file = "lib/Target/RISCV/RISCVGISel.td",
     deps = [
@@ -3692,10 +3617,7 @@ cc_library(
 gentbl_cc_library(
     name = "JITLinkTableGen",
     strip_include_prefix = "lib/ExecutionEngine/JITLink",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "lib/ExecutionEngine/JITLink/COFFOptions.inc",
-    )],
+    tbl_outs = {"lib/ExecutionEngine/JITLink/COFFOptions.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "lib/ExecutionEngine/JITLink/COFFOptions.td",
     deps = [":OptParserTdFiles"],
@@ -3935,10 +3857,7 @@ cc_library(
 gentbl_cc_library(
     name = "DllOptionsTableGen",
     strip_include_prefix = "lib/ToolDrivers/llvm-dlltool",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "lib/ToolDrivers/llvm-dlltool/Options.inc",
-    )],
+    tbl_outs = {"lib/ToolDrivers/llvm-dlltool/Options.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "lib/ToolDrivers/llvm-dlltool/Options.td",
     deps = [":OptParserTdFiles"],
@@ -3961,10 +3880,7 @@ cc_library(
 gentbl_cc_library(
     name = "LibOptionsTableGen",
     strip_include_prefix = "lib/ToolDrivers/llvm-lib",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "lib/ToolDrivers/llvm-lib/Options.inc",
-    )],
+    tbl_outs = {"lib/ToolDrivers/llvm-lib/Options.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "lib/ToolDrivers/llvm-lib/Options.td",
     deps = [":OptParserTdFiles"],
@@ -4188,10 +4104,7 @@ cc_library(
 gentbl_cc_library(
     name = "DsymutilTableGen",
     strip_include_prefix = "tools/dsymutil",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/dsymutil/Options.inc",
-    )],
+    tbl_outs = {"tools/dsymutil/Options.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/dsymutil/Options.td",
     deps = [":OptParserTdFiles"],
@@ -4400,10 +4313,7 @@ cc_binary(
 gentbl_cc_library(
     name = "CGDataOptsTableGen",
     strip_include_prefix = "tools/llvm-cgdata",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-cgdata/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-cgdata/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-cgdata/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -4477,10 +4387,7 @@ cc_binary(
 gentbl_cc_library(
     name = "CvtResTableGen",
     strip_include_prefix = "tools/llvm-cvtres",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-cvtres/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-cvtres/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-cvtres/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -4535,10 +4442,7 @@ cc_binary(
 gentbl_cc_library(
     name = "CxxfiltOptsTableGen",
     strip_include_prefix = "tools/llvm-cxxfilt",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-cxxfilt/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-cxxfilt/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-cxxfilt/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -4582,10 +4486,7 @@ cc_binary(
 gentbl_cc_library(
     name = "DebugInfodFindOptsTableGen",
     strip_include_prefix = "tools/llvm-debuginfod-find",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-debuginfod-find/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-debuginfod-find/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-debuginfod-find/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -4652,10 +4553,7 @@ cc_binary(
 gentbl_cc_library(
     name = "DwarfutilOptionsTableGen",
     strip_include_prefix = "tools/llvm-dwarfutil",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-dwarfutil/Options.inc",
-    )],
+    tbl_outs = {"tools/llvm-dwarfutil/Options.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-dwarfutil/Options.td",
     deps = [":OptParserTdFiles"],
@@ -4690,10 +4588,7 @@ cc_binary(
 gentbl_cc_library(
     name = "DwpOptionsTableGen",
     strip_include_prefix = "tools/llvm-dwp",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-dwp/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-dwp/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-dwp/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -4764,10 +4659,7 @@ cc_binary(
 gentbl_cc_library(
     name = "GSYMUtilOptionsTableGen",
     strip_include_prefix = "tools/llvm-gsymutil",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-gsymutil/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-gsymutil/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-gsymutil/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -4801,10 +4693,7 @@ llvm_driver_cc_binary(
 gentbl_cc_library(
     name = "IfsOptionsTableGen",
     strip_include_prefix = "tools/llvm-ifs",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-ifs/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-ifs/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-ifs/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -4884,10 +4773,7 @@ cc_binary(
 gentbl_cc_library(
     name = "LibtoolDarwinOptionsTableGen",
     strip_include_prefix = "tools/llvm-libtool-darwin",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-libtool-darwin/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-libtool-darwin/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-libtool-darwin/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -4945,10 +4831,7 @@ cc_binary(
 gentbl_cc_library(
     name = "LipoOptsTableGen",
     strip_include_prefix = "tools/llvm-lipo",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-lipo/LipoOpts.inc",
-    )],
+    tbl_outs = {"tools/llvm-lipo/LipoOpts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-lipo/LipoOpts.td",
     deps = [":OptParserTdFiles"],
@@ -5064,10 +4947,7 @@ cc_binary(
 gentbl_cc_library(
     name = "MlTableGen",
     strip_include_prefix = "tools/llvm-ml",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-ml/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-ml/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-ml/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -5124,10 +5004,7 @@ cc_binary(
 gentbl_cc_library(
     name = "MtTableGen",
     strip_include_prefix = "tools/llvm-mt",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-mt/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-mt/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-mt/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -5155,10 +5032,7 @@ llvm_driver_cc_binary(
 gentbl_cc_library(
     name = "NmOptsTableGen",
     strip_include_prefix = "tools/llvm-nm",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-nm/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-nm/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-nm/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -5198,10 +5072,7 @@ td_library(
 gentbl_cc_library(
     name = "llvm-objcopy-opts",
     strip_include_prefix = "tools/llvm-objcopy",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-objcopy/ObjcopyOpts.inc",
-    )],
+    tbl_outs = {"tools/llvm-objcopy/ObjcopyOpts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-objcopy/ObjcopyOpts.td",
     deps = [
@@ -5213,10 +5084,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "llvm-installnametool-opts",
     strip_include_prefix = "tools/llvm-objcopy",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-objcopy/InstallNameToolOpts.inc",
-    )],
+    tbl_outs = {"tools/llvm-objcopy/InstallNameToolOpts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-objcopy/InstallNameToolOpts.td",
     deps = [
@@ -5228,10 +5096,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "llvm-strip-opts",
     strip_include_prefix = "tools/llvm-objcopy",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-objcopy/StripOpts.inc",
-    )],
+    tbl_outs = {"tools/llvm-objcopy/StripOpts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-objcopy/StripOpts.td",
     deps = [
@@ -5243,10 +5108,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "llvm-bitcode-strip-opts",
     strip_include_prefix = "tools/llvm-objcopy",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-objcopy/BitcodeStripOpts.inc",
-    )],
+    tbl_outs = {"tools/llvm-objcopy/BitcodeStripOpts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-objcopy/BitcodeStripOpts.td",
     deps = [
@@ -5353,10 +5215,7 @@ llvm_driver_cc_binary(
 gentbl_cc_library(
     name = "ObjdumpOptsTableGen",
     strip_include_prefix = "tools/llvm-objdump",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-objdump/ObjdumpOpts.inc",
-    )],
+    tbl_outs = {"tools/llvm-objdump/ObjdumpOpts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-objdump/ObjdumpOpts.td",
     deps = [":OptParserTdFiles"],
@@ -5370,10 +5229,7 @@ binary_alias(
 gentbl_cc_library(
     name = "OtoolOptsTableGen",
     strip_include_prefix = "tools/llvm-objdump",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-objdump/OtoolOpts.inc",
-    )],
+    tbl_outs = {"tools/llvm-objdump/OtoolOpts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-objdump/OtoolOpts.td",
     deps = [":OptParserTdFiles"],
@@ -5462,10 +5318,7 @@ cc_binary(
 gentbl_cc_library(
     name = "RcTableGen",
     strip_include_prefix = "tools/llvm-rc",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-rc/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-rc/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-rc/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -5474,10 +5327,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "WindresTableGen",
     strip_include_prefix = "tools/llvm-rc",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-rc/WindresOpts.inc",
-    )],
+    tbl_outs = {"tools/llvm-rc/WindresOpts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-rc/WindresOpts.td",
     deps = [":OptParserTdFiles"],
@@ -5522,10 +5372,7 @@ binary_alias(
 gentbl_cc_library(
     name = "ReadobjOptsTableGen",
     strip_include_prefix = "tools/llvm-readobj",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-readobj/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-readobj/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-readobj/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -5625,10 +5472,7 @@ cc_binary(
 gentbl_cc_library(
     name = "SizeOptsTableGen",
     strip_include_prefix = "tools/llvm-size",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-size/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-size/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-size/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -5677,10 +5521,7 @@ cc_binary(
 gentbl_cc_library(
     name = "StringsOptsTableGen",
     strip_include_prefix = "tools/llvm-strings",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-strings/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-strings/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-strings/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -5704,10 +5545,7 @@ cc_binary(
 gentbl_cc_library(
     name = "SymbolizerOptsTableGen",
     strip_include_prefix = "tools/llvm-symbolizer",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-symbolizer/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-symbolizer/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-symbolizer/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -5818,10 +5656,7 @@ cc_binary(
 gentbl_cc_library(
     name = "SancovOptsTableGen",
     strip_include_prefix = "tools/sancov",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/sancov/Opts.inc",
-    )],
+    tbl_outs = {"tools/sancov/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/sancov/Opts.td",
     deps = [":OptParserTdFiles"],
@@ -6212,10 +6047,7 @@ cc_binary(
 gentbl_cc_library(
     name = "ReadTAPIOptsTableGen",
     strip_include_prefix = "tools/llvm-readtapi",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-readtapi/TapiOpts.inc",
-    )],
+    tbl_outs = {"tools/llvm-readtapi/TapiOpts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-readtapi/TapiOpts.td",
     deps = [":OptParserTdFiles"],
@@ -6244,10 +6076,7 @@ cc_binary(
 gentbl_cc_library(
     name = "TLICheckerOptsTableGen",
     strip_include_prefix = "tools/llvm-tli-checker",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "tools/llvm-tli-checker/Opts.inc",
-    )],
+    tbl_outs = {"tools/llvm-tli-checker/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = ":llvm-tblgen",
     td_file = "tools/llvm-tli-checker/Opts.td",
     deps = [":OptParserTdFiles"],
diff --git a/utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel b/utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
index 561f2b8f408f0..3b778fc90fe1a 100644
--- a/utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
@@ -563,10 +563,7 @@ cc_test(
 gentbl_cc_library(
     name = "option_tests_gen",
     strip_include_prefix = "Option",
-    tbl_outs = [(
-        ["-gen-opt-parser-defs"],
-        "Option/Opts.inc",
-    )],
+    tbl_outs = {"Option/Opts.inc": ["-gen-opt-parser-defs"]},
     tblgen = "//llvm:llvm-tblgen",
     td_file = "Option/Opts.td",
     deps = ["//llvm:OptParserTdFiles"],
@@ -575,16 +572,10 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "automata_gen",
     strip_include_prefix = "TableGen",
-    tbl_outs = [
-        (
-            ["-gen-automata"],
-            "TableGen/AutomataAutomata.inc",
-        ),
-        (
-            ["-gen-searchable-tables"],
-            "TableGen/AutomataTables.inc",
-        ),
-    ],
+    tbl_outs = {
+        "TableGen/AutomataAutomata.inc": ["-gen-automata"],
+        "TableGen/AutomataTables.inc": ["-gen-searchable-tables"],
+    },
     tblgen = "//llvm:llvm-tblgen",
     td_file = "TableGen/Automata.td",
     deps = ["//llvm:CommonTargetTdFiles"],
diff --git a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
index e0f072d769f31..141986392917e 100644
--- a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
@@ -73,16 +73,10 @@ exports_files(glob(["include/**/*.td"]))
 [
     gentbl_cc_library(
         name = name + "IncGen",
-        tbl_outs = [
-            (
-                ["-gen-op-interface-decls"],
-                "include/mlir/IR/" + name + ".h.inc",
-            ),
-            (
-                ["-gen-op-interface-defs"],
-                "include/mlir/IR/" + name + ".cpp.inc",
-            ),
-        ],
+        tbl_outs = {
+            "include/mlir/IR/" + name + ".h.inc": ["-gen-op-interface-decls"],
+            "include/mlir/IR/" + name + ".cpp.inc": ["-gen-op-interface-defs"],
+        },
         tblgen = ":mlir-tblgen",
         td_file = "include/mlir/IR/" + name + ".td",
         deps = [":OpBaseTdFiles"],
@@ -95,32 +89,14 @@ exports_files(glob(["include/**/*.td"]))
 
 gentbl_cc_library(
     name = "OpAsmInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-attr-interface-decls"],
-            "include/mlir/IR/OpAsmAttrInterface.h.inc",
-        ),
-        (
-            ["-gen-attr-interface-defs"],
-            "include/mlir/IR/OpAsmAttrInterface.cpp.inc",
-        ),
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/IR/OpAsmOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/IR/OpAsmOpInterface.cpp.inc",
-        ),
-        (
-            ["-gen-type-interface-decls"],
-            "include/mlir/IR/OpAsmTypeInterface.h.inc",
-        ),
-        (
-            ["-gen-type-interface-defs"],
-            "include/mlir/IR/OpAsmTypeInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/IR/OpAsmAttrInterface.h.inc": ["-gen-attr-interface-decls"],
+        "include/mlir/IR/OpAsmAttrInterface.cpp.inc": ["-gen-attr-interface-defs"],
+        "include/mlir/IR/OpAsmOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/IR/OpAsmOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+        "include/mlir/IR/OpAsmTypeInterface.h.inc": ["-gen-type-interface-decls"],
+        "include/mlir/IR/OpAsmTypeInterface.cpp.inc": ["-gen-type-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/IR/OpAsmInterface.td",
     deps = [":OpBaseTdFiles"],
@@ -170,16 +146,10 @@ td_library(
 
 gentbl_cc_library(
     name = "BuiltinDialectIncGen",
-    tbl_outs = [
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/IR/BuiltinDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/IR/BuiltinDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/IR/BuiltinDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/IR/BuiltinDialect.cpp.inc": ["-gen-dialect-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/IR/BuiltinDialect.td",
     deps = [":BuiltinDialectTdFiles"],
@@ -187,15 +157,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "BuiltinDialectBytecodeGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-bytecode",
-                "-bytecode-dialect=Builtin",
-            ],
-            "include/mlir/IR/BuiltinDialectBytecode.cpp.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/IR/BuiltinDialectBytecode.cpp.inc": [
+        "-gen-bytecode",
+        "-bytecode-dialect=Builtin",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/IR/BuiltinDialectBytecode.td",
     deps = [":BuiltinDialectTdFiles"],
@@ -203,16 +168,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "BuiltinAttributesIncGen",
-    tbl_outs = [
-        (
-            ["--gen-attrdef-decls"],
-            "include/mlir/IR/BuiltinAttributes.h.inc",
-        ),
-        (
-            ["--gen-attrdef-defs"],
-            "include/mlir/IR/BuiltinAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/IR/BuiltinAttributes.h.inc": ["--gen-attrdef-decls"],
+        "include/mlir/IR/BuiltinAttributes.cpp.inc": ["--gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/IR/BuiltinAttributes.td",
     deps = [":BuiltinDialectTdFiles"],
@@ -220,16 +179,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "BuiltinAttributeInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["--gen-attr-interface-decls"],
-            "include/mlir/IR/BuiltinAttributeInterfaces.h.inc",
-        ),
-        (
-            ["--gen-attr-interface-defs"],
-            "include/mlir/IR/BuiltinAttributeInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/IR/BuiltinAttributeInterfaces.h.inc": ["--gen-attr-interface-decls"],
+        "include/mlir/IR/BuiltinAttributeInterfaces.cpp.inc": ["--gen-attr-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/IR/BuiltinAttributeInterfaces.td",
     deps = [":BuiltinDialectTdFiles"],
@@ -237,16 +190,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "BuiltinLocationAttributesIncGen",
-    tbl_outs = [
-        (
-            ["--gen-attrdef-decls"],
-            "include/mlir/IR/BuiltinLocationAttributes.h.inc",
-        ),
-        (
-            ["--gen-attrdef-defs"],
-            "include/mlir/IR/BuiltinLocationAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/IR/BuiltinLocationAttributes.h.inc": ["--gen-attrdef-decls"],
+        "include/mlir/IR/BuiltinLocationAttributes.cpp.inc": ["--gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/IR/BuiltinLocationAttributes.td",
     deps = [":BuiltinDialectTdFiles"],
@@ -254,16 +201,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "BuiltinOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/IR/BuiltinOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/IR/BuiltinOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/IR/BuiltinOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/IR/BuiltinOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/IR/BuiltinOps.td",
     deps = [
@@ -274,24 +215,12 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "BuiltinTypesIncGen",
-    tbl_outs = [
-        (
-            ["--gen-typedef-decls"],
-            "include/mlir/IR/BuiltinTypes.h.inc",
-        ),
-        (
-            ["--gen-typedef-defs"],
-            "include/mlir/IR/BuiltinTypes.cpp.inc",
-        ),
-        (
-            ["-gen-type-constraint-decls"],
-            "include/mlir/IR/BuiltinTypeConstraints.h.inc",
-        ),
-        (
-            ["-gen-type-constraint-defs"],
-            "include/mlir/IR/BuiltinTypeConstraints.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/IR/BuiltinTypes.h.inc": ["--gen-typedef-decls"],
+        "include/mlir/IR/BuiltinTypes.cpp.inc": ["--gen-typedef-defs"],
+        "include/mlir/IR/BuiltinTypeConstraints.h.inc": ["-gen-type-constraint-decls"],
+        "include/mlir/IR/BuiltinTypeConstraints.cpp.inc": ["-gen-type-constraint-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/IR/BuiltinTypes.td",
     deps = [":BuiltinDialectTdFiles"],
@@ -299,16 +228,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "BuiltinTypeInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["--gen-type-interface-decls"],
-            "include/mlir/IR/BuiltinTypeInterfaces.h.inc",
-        ),
-        (
-            ["--gen-type-interface-defs"],
-            "include/mlir/IR/BuiltinTypeInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/IR/BuiltinTypeInterfaces.h.inc": ["--gen-type-interface-decls"],
+        "include/mlir/IR/BuiltinTypeInterfaces.cpp.inc": ["--gen-type-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/IR/BuiltinTypeInterfaces.td",
     deps = [
@@ -328,16 +251,10 @@ td_library(
 
 gentbl_cc_library(
     name = "FunctionInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/FunctionInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/FunctionInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/FunctionInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/FunctionInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/FunctionInterfaces.td",
     deps = [
@@ -375,16 +292,10 @@ td_library(
 
 gentbl_cc_library(
     name = "RelayoutOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Linalg/IR/RelayoutOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Linalg/IR/RelayoutOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Linalg/IR/RelayoutOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Linalg/IR/RelayoutOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Linalg/IR/RelayoutOpInterface.td",
     deps = [
@@ -1488,30 +1399,18 @@ td_library(
 
 gentbl_cc_library(
     name = "AffineOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Affine/IR/AffineOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Affine/IR/AffineOps.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=affine",
-            ],
-            "include/mlir/Dialect/Affine/IR/AffineOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=affine",
-            ],
-            "include/mlir/Dialect/Affine/IR/AffineOpsDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Affine/IR/AffineOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Affine/IR/AffineOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/Affine/IR/AffineOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=affine",
+        ],
+        "include/mlir/Dialect/Affine/IR/AffineOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=affine",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Affine/IR/AffineOps.td",
     deps = [":AffineOpsTdFiles"],
@@ -1519,16 +1418,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "AffineMemoryOpInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.td",
     deps = [":AffineOpsTdFiles"],
@@ -1547,16 +1440,10 @@ td_library(
 
 gentbl_cc_library(
     name = "AffineTransformOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.td",
     deps = [
@@ -1600,56 +1487,29 @@ td_library(
 
 gentbl_cc_library(
     name = "AMDGPUIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-attrdef-decls",
-                "-dialect=amdgpu",
-            ],
-            "include/mlir/Dialect/AMDGPU/IR/AMDGPUAttributes.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-dialect=amdgpu",
-            ],
-            "include/mlir/Dialect/AMDGPU/IR/AMDGPUAttributes.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=amdgpu",
-            ],
-            "include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=amdgpu",
-            ],
-            "include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/AMDGPU/IR/AMDGPU.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/AMDGPU/IR/AMDGPU.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/AMDGPU/IR/AMDGPU.md",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/AMDGPU/IR/AMDGPUAttributes.h.inc": [
+            "-gen-attrdef-decls",
+            "-dialect=amdgpu",
+        ],
+        "include/mlir/Dialect/AMDGPU/IR/AMDGPUAttributes.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-dialect=amdgpu",
+        ],
+        "include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=amdgpu",
+        ],
+        "include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=amdgpu",
+        ],
+        "include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/AMDGPU/IR/AMDGPU.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/AMDGPU/IR/AMDGPU.cpp.inc": ["-gen-op-defs"],
+        "g3doc/Dialects/AMDGPU/IR/AMDGPU.md": ["-gen-op-doc"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/AMDGPU/IR/AMDGPU.td",
     deps = [":AMDGPUTdFiles"],
@@ -1679,15 +1539,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "AMDGPUPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=AMDGPU",
-            ],
-            "include/mlir/Dialect/AMDGPU/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/AMDGPU/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=AMDGPU",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/AMDGPU/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -1757,16 +1612,10 @@ td_library(
 
 gentbl_cc_library(
     name = "EmitCAttributesIncGen",
-    tbl_outs = [
-        (
-            ["--gen-attrdef-decls"],
-            "include/mlir/Dialect/EmitC/IR/EmitCAttributes.h.inc",
-        ),
-        (
-            ["--gen-attrdef-defs"],
-            "include/mlir/Dialect/EmitC/IR/EmitCAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/EmitC/IR/EmitCAttributes.h.inc": ["--gen-attrdef-decls"],
+        "include/mlir/Dialect/EmitC/IR/EmitCAttributes.cpp.inc": ["--gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/EmitC/IR/EmitCAttributes.td",
     deps = [":EmitCTdFiles"],
@@ -1774,46 +1623,22 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "EmitCOpsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=emitc",
-            ],
-            "include/mlir/Dialect/EmitC/IR/EmitCDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=emitc",
-            ],
-            "include/mlir/Dialect/EmitC/IR/EmitCDialect.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/EmitC/IR/EmitCEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/EmitC/IR/EmitCEnums.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/EmitC/IR/EmitC.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/EmitC/IR/EmitC.cpp.inc",
-        ),
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/EmitC/IR/EmitCTypes.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/EmitC/IR/EmitCTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/EmitC/IR/EmitCDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=emitc",
+        ],
+        "include/mlir/Dialect/EmitC/IR/EmitCDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=emitc",
+        ],
+        "include/mlir/Dialect/EmitC/IR/EmitCEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/EmitC/IR/EmitCEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/EmitC/IR/EmitC.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/EmitC/IR/EmitC.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/EmitC/IR/EmitCTypes.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/EmitC/IR/EmitCTypes.cpp.inc": ["-gen-typedef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/EmitC/IR/EmitC.td",
     deps = [":EmitCTdFiles"],
@@ -1821,15 +1646,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "EmitCPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=EmitC",
-            ],
-            "include/mlir/Dialect/EmitC/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/EmitC/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=EmitC",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/EmitC/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -1876,32 +1696,14 @@ td_library(
 
 gentbl_cc_library(
     name = "AsyncOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Async/IR/AsyncOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Async/IR/AsyncOps.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/Async/IR/AsyncOpsDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/Async/IR/AsyncOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/Async/IR/AsyncOpsTypes.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/Async/IR/AsyncOpsTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Async/IR/AsyncOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Async/IR/AsyncOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/Async/IR/AsyncOpsDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/Async/IR/AsyncOpsDialect.cpp.inc": ["-gen-dialect-defs"],
+        "include/mlir/Dialect/Async/IR/AsyncOpsTypes.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/Async/IR/AsyncOpsTypes.cpp.inc": ["-gen-typedef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Async/IR/AsyncOps.td",
     deps = [":AsyncOpsTdFiles"],
@@ -1909,29 +1711,20 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "AsyncPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Async",
-            ],
-            "include/mlir/Dialect/Async/Passes.h.inc",
-        ),
-        (
-            [
-                "-gen-pass-capi-header",
-                "--prefix=Async",
-            ],
-            "include/mlir/Dialect/Async/Passes.capi.h.inc",
-        ),
-        (
-            [
-                "-gen-pass-capi-impl",
-                "--prefix=Async",
-            ],
-            "include/mlir/Dialect/Async/Passes.capi.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Async/Passes.h.inc": [
+            "-gen-pass-decls",
+            "-name=Async",
+        ],
+        "include/mlir/Dialect/Async/Passes.capi.h.inc": [
+            "-gen-pass-capi-header",
+            "--prefix=Async",
+        ],
+        "include/mlir/Dialect/Async/Passes.capi.cpp.inc": [
+            "-gen-pass-capi-impl",
+            "--prefix=Async",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Async/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -1954,34 +1747,19 @@ td_library(
 
 gentbl_cc_library(
     name = "ArmNeonIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=arm_neon",
-            ],
-            "include/mlir/Dialect/ArmNeon/ArmNeonDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=arm_neon",
-            ],
-            "include/mlir/Dialect/ArmNeon/ArmNeonDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/ArmNeon/ArmNeon.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/ArmNeon/ArmNeon.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/ArmNeon/ArmNeon.md",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/ArmNeon/ArmNeonDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=arm_neon",
+        ],
+        "include/mlir/Dialect/ArmNeon/ArmNeonDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=arm_neon",
+        ],
+        "include/mlir/Dialect/ArmNeon/ArmNeon.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/ArmNeon/ArmNeon.cpp.inc": ["-gen-op-defs"],
+        "g3doc/Dialects/ArmNeon/ArmNeon.md": ["-gen-op-doc"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/ArmNeon/ArmNeon.td",
     deps = [":ArmNeonTdFiles"],
@@ -2021,12 +1799,7 @@ cc_library(
 
 gentbl_cc_library(
     name = "ArmNeonConversionIncGen",
-    tbl_outs = [
-        (
-            ["-gen-llvmir-conversions"],
-            "include/mlir/Dialect/ArmNeon/ArmNeonConversions.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/ArmNeon/ArmNeonConversions.inc": ["-gen-llvmir-conversions"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/ArmNeon/ArmNeon.td",
     deps = [":ArmNeonTdFiles"],
@@ -2072,23 +1845,14 @@ td_library(
 
 gentbl_cc_library(
     name = "ArmSMETransformsPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=ArmSME",
-            ],
-            "include/mlir/Dialect/ArmSME/Transforms/Passes.h.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/ArmSME/Transforms/PassesEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/ArmSME/Transforms/PassesEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/ArmSME/Transforms/Passes.h.inc": [
+            "-gen-pass-decls",
+            "-name=ArmSME",
+        ],
+        "include/mlir/Dialect/ArmSME/Transforms/PassesEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/ArmSME/Transforms/PassesEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/ArmSME/Transforms/Passes.td",
     deps = [
@@ -2099,38 +1863,20 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ArmSMEIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSME.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSME.cpp.inc",
-        ),
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMETypes.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMETypes.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=arm_sme",
-            ],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=arm_sme",
-            ],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/ArmSME/IR/ArmSME.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/ArmSME/IR/ArmSME.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/ArmSME/IR/ArmSMETypes.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/ArmSME/IR/ArmSMETypes.cpp.inc": ["-gen-typedef-defs"],
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=arm_sme",
+        ],
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=arm_sme",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/ArmSME/IR/ArmSME.td",
     deps = [":ArmSMETdFiles"],
@@ -2138,38 +1884,20 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ArmSMEOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEOps.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEEnums.cpp.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-decls",
-                "-attrdefs-dialect=arm_sme",
-            ],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEAttrDefs.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-attrdefs-dialect=arm_sme",
-            ],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEAttrDefs.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEAttrDefs.h.inc": [
+            "-gen-attrdef-decls",
+            "-attrdefs-dialect=arm_sme",
+        ],
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEAttrDefs.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-attrdefs-dialect=arm_sme",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td",
     deps = [":ArmSMETdFiles"],
@@ -2177,12 +1905,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ArmSMEConversionIncGen",
-    tbl_outs = [
-        (
-            ["-gen-llvmir-conversions"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEOpsConversions.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/ArmSME/IR/ArmSMEOpsConversions.inc": ["-gen-llvmir-conversions"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td",
     deps = [":ArmSMETdFiles"],
@@ -2190,16 +1913,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ArmSMEOpInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEOpInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEOpInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEOpInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEOpInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td",
     deps = [":ArmSMETdFiles"],
@@ -2222,20 +1939,11 @@ cc_library(
 
 gentbl_cc_library(
     name = "ArmSMEIntrinsicOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.cpp.inc",
-        ),
-        (
-            ["-gen-llvmir-conversions"],
-            "include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicConversions.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicConversions.inc": ["-gen-llvmir-conversions"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td",
     deps = [":ArmSMETdFiles"],
@@ -2368,38 +2076,20 @@ td_library(
 
 gentbl_cc_library(
     name = "ArmSVEIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/ArmSVE/IR/ArmSVE.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/ArmSVE/IR/ArmSVE.cpp.inc",
-        ),
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/ArmSVE/IR/ArmSVETypes.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/ArmSVE/IR/ArmSVETypes.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=arm_sve",
-            ],
-            "include/mlir/Dialect/ArmSVE/IR/ArmSVEDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=arm_sve",
-            ],
-            "include/mlir/Dialect/ArmSVE/IR/ArmSVEDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/ArmSVE/IR/ArmSVE.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/ArmSVE/IR/ArmSVE.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/ArmSVE/IR/ArmSVETypes.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/ArmSVE/IR/ArmSVETypes.cpp.inc": ["-gen-typedef-defs"],
+        "include/mlir/Dialect/ArmSVE/IR/ArmSVEDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=arm_sve",
+        ],
+        "include/mlir/Dialect/ArmSVE/IR/ArmSVEDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=arm_sve",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/ArmSVE/IR/ArmSVE.td",
     deps = [":ArmSVETdFiles"],
@@ -2423,15 +2113,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "ArmSVEPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=ArmSVE",
-            ],
-            "include/mlir/Dialect/ArmSVE/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/ArmSVE/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=ArmSVE",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/ArmSVE/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -2459,12 +2144,7 @@ cc_library(
 
 gentbl_cc_library(
     name = "ArmSVEConversionIncGen",
-    tbl_outs = [
-        (
-            ["-gen-llvmir-conversions"],
-            "include/mlir/Dialect/ArmSVE/IR/ArmSVEConversions.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/ArmSVE/IR/ArmSVEConversions.inc": ["-gen-llvmir-conversions"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/ArmSVE/IR/ArmSVE.td",
     deps = [":ArmSVETdFiles"],
@@ -2487,48 +2167,27 @@ td_library(
 
 gentbl_cc_library(
     name = "AMXIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=amx",
-            ],
-            "include/mlir/Dialect/AMX/AMXDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=amx",
-            ],
-            "include/mlir/Dialect/AMX/AMXDialect.cpp.inc",
-        ),
-        (
-            [
-                "-gen-typedef-decls",
-                "-typedefs-dialect=amx",
-            ],
-            "include/mlir/Dialect/AMX/AMXTypes.h.inc",
-        ),
-        (
-            [
-                "-gen-typedef-defs",
-                "-typedefs-dialect=amx",
-            ],
-            "include/mlir/Dialect/AMX/AMXTypes.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/AMX/AMX.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/AMX/AMX.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/AMX/AMX.md",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/AMX/AMXDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=amx",
+        ],
+        "include/mlir/Dialect/AMX/AMXDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=amx",
+        ],
+        "include/mlir/Dialect/AMX/AMXTypes.h.inc": [
+            "-gen-typedef-decls",
+            "-typedefs-dialect=amx",
+        ],
+        "include/mlir/Dialect/AMX/AMXTypes.cpp.inc": [
+            "-gen-typedef-defs",
+            "-typedefs-dialect=amx",
+        ],
+        "include/mlir/Dialect/AMX/AMX.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/AMX/AMX.cpp.inc": ["-gen-op-defs"],
+        "g3doc/Dialects/AMX/AMX.md": ["-gen-op-doc"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/AMX/AMX.td",
     deps = [":AMXTdFiles"],
@@ -2565,12 +2224,7 @@ cc_library(
 
 gentbl_cc_library(
     name = "AMXConversionIncGen",
-    tbl_outs = [
-        (
-            ["-gen-llvmir-conversions"],
-            "include/mlir/Dialect/AMX/AMXConversions.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/AMX/AMXConversions.inc": ["-gen-llvmir-conversions"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/AMX/AMX.td",
     deps = [":AMXTdFiles"],
@@ -2593,34 +2247,19 @@ td_library(
 
 gentbl_cc_library(
     name = "X86VectorIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=x86vector",
-            ],
-            "include/mlir/Dialect/X86Vector/X86VectorDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=x86vector",
-            ],
-            "include/mlir/Dialect/X86Vector/X86VectorDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/X86Vector/X86Vector.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/X86Vector/X86Vector.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/X86Vector/X86Vector.md",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/X86Vector/X86VectorDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=x86vector",
+        ],
+        "include/mlir/Dialect/X86Vector/X86VectorDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=x86vector",
+        ],
+        "include/mlir/Dialect/X86Vector/X86Vector.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/X86Vector/X86Vector.cpp.inc": ["-gen-op-defs"],
+        "g3doc/Dialects/X86Vector/X86Vector.md": ["-gen-op-doc"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/X86Vector/X86Vector.td",
     deps = [":X86VectorTdFiles"],
@@ -2660,12 +2299,7 @@ cc_library(
 
 gentbl_cc_library(
     name = "X86VectorConversionIncGen",
-    tbl_outs = [
-        (
-            ["-gen-llvmir-conversions"],
-            "include/mlir/Dialect/X86Vector/X86VectorConversions.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/X86Vector/X86VectorConversions.inc": ["-gen-llvmir-conversions"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/X86Vector/X86Vector.td",
     deps = [":X86VectorTdFiles"],
@@ -2695,38 +2329,20 @@ td_library(
 
 gentbl_cc_library(
     name = "IRDLIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=irdl",
-            ],
-            "include/mlir/Dialect/IRDL/IR/IRDLDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=irdl",
-            ],
-            "include/mlir/Dialect/IRDL/IR/IRDLDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/IRDL/IR/IRDL.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/IRDL/IR/IRDL.cpp.inc",
-        ),
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/IRDL/IR/IRDLTypes.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/IRDL/IR/IRDLTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/IRDL/IR/IRDLDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=irdl",
+        ],
+        "include/mlir/Dialect/IRDL/IR/IRDLDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=irdl",
+        ],
+        "include/mlir/Dialect/IRDL/IR/IRDL.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/IRDL/IR/IRDL.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/IRDL/IR/IRDLTypes.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/IRDL/IR/IRDLTypes.cpp.inc": ["-gen-typedef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/IRDL/IR/IRDLOps.td",
     deps = [":IRDLTdFiles"],
@@ -2734,16 +2350,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "IRDLInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/IRDL/IR/IRDLInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/IRDL/IR/IRDLInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/IRDL/IR/IRDLInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/IRDL/IR/IRDLInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/IRDL/IR/IRDLInterfaces.td",
     deps = [":IRDLTdFiles"],
@@ -2751,16 +2361,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "IRDLAttributesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/IRDL/IR/IRDLAttributes.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/IRDL/IR/IRDLAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/IRDL/IR/IRDLAttributes.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/IRDL/IR/IRDLAttributes.cpp.inc": ["-gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/IRDL/IR/IRDLAttributes.td",
     deps = [":IRDLTdFiles"],
@@ -2768,16 +2372,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "IRDLEnumsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/IRDL/IR/IRDLEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/IRDL/IR/IRDLEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/IRDL/IR/IRDLEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/IRDL/IR/IRDLEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/IRDL/IR/IRDLAttributes.td",
     deps = [":IRDLTdFiles"],
@@ -2785,16 +2383,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "IRDLOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/IRDL/IR/IRDLOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/IRDL/IR/IRDLOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/IRDL/IR/IRDLOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/IRDL/IR/IRDLOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/IRDL/IR/IRDLOps.td",
     deps = [":IRDLTdFiles"],
@@ -2802,16 +2394,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "IRDLTypesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/IRDL/IR/IRDLTypesGen.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/IRDL/IR/IRDLTypesGen.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/IRDL/IR/IRDLTypesGen.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/IRDL/IR/IRDLTypesGen.cpp.inc": ["-gen-typedef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/IRDL/IR/IRDLTypes.td",
     deps = [":IRDLTdFiles"],
@@ -2877,24 +2463,12 @@ td_library(
 
 gentbl_cc_library(
     name = "SCFIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/SCF/IR/SCFOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/SCF/IR/SCFOps.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/SCF/IR/SCFOpsDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/SCF/IR/SCFOpsDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/SCF/IR/SCFOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/SCF/IR/SCFOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/SCF/IR/SCFOpsDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/SCF/IR/SCFOpsDialect.cpp.inc": ["-gen-dialect-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SCF/IR/SCFOps.td",
     deps = [":SCFTdFiles"],
@@ -2902,24 +2476,12 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "SCFDeviceMappingInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-attr-interface-decls"],
-            "include/mlir/Dialect/SCF/IR/DeviceMappingAttrInterface.h.inc",
-        ),
-        (
-            ["-gen-attr-interface-defs"],
-            "include/mlir/Dialect/SCF/IR/DeviceMappingAttrInterface.cpp.inc",
-        ),
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/SCF/IR/DeviceMappingAttributes.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/SCF/IR/DeviceMappingAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/SCF/IR/DeviceMappingAttrInterface.h.inc": ["-gen-attr-interface-decls"],
+        "include/mlir/Dialect/SCF/IR/DeviceMappingAttrInterface.cpp.inc": ["-gen-attr-interface-defs"],
+        "include/mlir/Dialect/SCF/IR/DeviceMappingAttributes.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/SCF/IR/DeviceMappingAttributes.cpp.inc": ["-gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SCF/IR/DeviceMappingInterface.td",
     deps = [":SCFTdFiles"],
@@ -2927,15 +2489,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "SCFPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=SCF",
-            ],
-            "include/mlir/Dialect/SCF/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/SCF/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=SCF",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SCF/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -2995,16 +2552,10 @@ td_library(
 
 gentbl_cc_library(
     name = "SCFTransformOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td",
     deps = [
@@ -3059,24 +2610,12 @@ td_library(
 
 gentbl_cc_library(
     name = "SparseTensorAttrDefsIncGen",
-    tbl_outs = [
-        (
-            ["--gen-attrdef-decls"],
-            "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.h.inc",
-        ),
-        (
-            ["--gen-attrdef-defs"],
-            "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.cpp.inc",
-        ),
-        (
-            ["--gen-enum-decls"],
-            "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrEnums.h.inc",
-        ),
-        (
-            ["--gen-enum-defs"],
-            "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.h.inc": ["--gen-attrdef-decls"],
+        "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.cpp.inc": ["--gen-attrdef-defs"],
+        "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrEnums.h.inc": ["--gen-enum-decls"],
+        "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrEnums.cpp.inc": ["--gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td",
     deps = [":SparseTensorTdFiles"],
@@ -3084,34 +2623,19 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "SparseTensorOpsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=sparse_tensor",
-            ],
-            "include/mlir/Dialect/SparseTensor/IR/SparseTensorOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=sparse_tensor",
-            ],
-            "include/mlir/Dialect/SparseTensor/IR/SparseTensorOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/SparseTensor/SparseTensor.md",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/SparseTensor/IR/SparseTensorOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=sparse_tensor",
+        ],
+        "include/mlir/Dialect/SparseTensor/IR/SparseTensorOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=sparse_tensor",
+        ],
+        "include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.cpp.inc": ["-gen-op-defs"],
+        "g3doc/Dialects/SparseTensor/SparseTensor.md": ["-gen-op-doc"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td",
     deps = [":SparseTensorTdFiles"],
@@ -3119,16 +2643,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "SparseTensorTypesIncGen",
-    tbl_outs = [
-        (
-            ["--gen-typedef-decls"],
-            "include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.h.inc",
-        ),
-        (
-            ["--gen-typedef-defs"],
-            "include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.h.inc": ["--gen-typedef-decls"],
+        "include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.cpp.inc": ["--gen-typedef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td",
     deps = [":SparseTensorTdFiles"],
@@ -3136,29 +2654,20 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "SparseTensorPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=SparseTensor",
-            ],
-            "include/mlir/Dialect/SparseTensor/Transforms/Passes.h.inc",
-        ),
-        (
-            [
-                "-gen-pass-capi-header",
-                "--prefix=SparseTensor",
-            ],
-            "include/mlir/Dialect/SparseTensor/Transforms/Passes.capi.h.inc",
-        ),
-        (
-            [
-                "-gen-pass-capi-impl",
-                "--prefix=SparseTensor",
-            ],
-            "include/mlir/Dialect/SparseTensor/Transforms/Passes.capi.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/SparseTensor/Transforms/Passes.h.inc": [
+            "-gen-pass-decls",
+            "-name=SparseTensor",
+        ],
+        "include/mlir/Dialect/SparseTensor/Transforms/Passes.capi.h.inc": [
+            "-gen-pass-capi-header",
+            "--prefix=SparseTensor",
+        ],
+        "include/mlir/Dialect/SparseTensor/Transforms/Passes.capi.cpp.inc": [
+            "-gen-pass-capi-impl",
+            "--prefix=SparseTensor",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SparseTensor/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -3166,16 +2675,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "SparseTensorInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.td",
     deps = [":SparseTensorTdFiles"],
@@ -3194,16 +2697,10 @@ td_library(
 
 gentbl_cc_library(
     name = "SparseTensorTransformOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.td",
     deps = [
@@ -3395,78 +2892,48 @@ td_library(
 
 gentbl_cc_library(
     name = "MeshIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-op-decls",
-                "-dialect=mesh",
-            ],
-            "include/mlir/Dialect/Mesh/IR/MeshOps.h.inc",
-        ),
-        (
-            [
-                "-gen-op-defs",
-                "-dialect=mesh",
-            ],
-            "include/mlir/Dialect/Mesh/IR/MeshOps.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=mesh",
-            ],
-            "include/mlir/Dialect/Mesh/IR/MeshDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=mesh",
-            ],
-            "include/mlir/Dialect/Mesh/IR/MeshDialect.cpp.inc",
-        ),
-        (
-            [
-                "-gen-enum-decls",
-                "-dialect=mesh",
-            ],
-            "include/mlir/Dialect/Mesh/IR/MeshEnums.h.inc",
-        ),
-        (
-            [
-                "-gen-enum-defs",
-                "-dialect=mesh",
-            ],
-            "include/mlir/Dialect/Mesh/IR/MeshEnums.cpp.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-decls",
-                "-dialect=mesh",
-            ],
-            "include/mlir/Dialect/Mesh/IR/MeshAttributes.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-dialect=mesh",
-            ],
-            "include/mlir/Dialect/Mesh/IR/MeshAttributes.cpp.inc",
-        ),
-        (
-            [
-                "-gen-typedef-decls",
-                "-typedefs-dialect=mesh",
-            ],
-            "include/mlir/Dialect/Mesh/IR/MeshTypes.h.inc",
-        ),
-        (
-            [
-                "-gen-typedef-defs",
-                "-typedefs-dialect=mesh",
-            ],
-            "include/mlir/Dialect/Mesh/IR/MeshTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Mesh/IR/MeshOps.h.inc": [
+            "-gen-op-decls",
+            "-dialect=mesh",
+        ],
+        "include/mlir/Dialect/Mesh/IR/MeshOps.cpp.inc": [
+            "-gen-op-defs",
+            "-dialect=mesh",
+        ],
+        "include/mlir/Dialect/Mesh/IR/MeshDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=mesh",
+        ],
+        "include/mlir/Dialect/Mesh/IR/MeshDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=mesh",
+        ],
+        "include/mlir/Dialect/Mesh/IR/MeshEnums.h.inc": [
+            "-gen-enum-decls",
+            "-dialect=mesh",
+        ],
+        "include/mlir/Dialect/Mesh/IR/MeshEnums.cpp.inc": [
+            "-gen-enum-defs",
+            "-dialect=mesh",
+        ],
+        "include/mlir/Dialect/Mesh/IR/MeshAttributes.h.inc": [
+            "-gen-attrdef-decls",
+            "-dialect=mesh",
+        ],
+        "include/mlir/Dialect/Mesh/IR/MeshAttributes.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-dialect=mesh",
+        ],
+        "include/mlir/Dialect/Mesh/IR/MeshTypes.h.inc": [
+            "-gen-typedef-decls",
+            "-typedefs-dialect=mesh",
+        ],
+        "include/mlir/Dialect/Mesh/IR/MeshTypes.cpp.inc": [
+            "-gen-typedef-defs",
+            "-typedefs-dialect=mesh",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Mesh/IR/MeshOps.td",
     deps = [
@@ -3477,16 +2944,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "MeshShardingInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td",
     deps = [":OpBaseTdFiles"],
@@ -3537,15 +2998,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "MeshTransformsPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Mesh",
-            ],
-            "include/mlir/Dialect/Mesh/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Mesh/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=Mesh",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Mesh/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -3647,58 +3103,25 @@ td_library(
 
 gentbl_cc_library(
     name = "NVGPUIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=nvgpu",
-            ],
-            "include/mlir/Dialect/NVGPU/IR/NVGPUDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=nvgpu",
-            ],
-            "include/mlir/Dialect/NVGPU/IR/NVGPUDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/NVGPU/IR/NVGPUOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/NVGPU/IR/NVGPUOps.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/NVGPU/NVGPU.md",
-        ),
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/NVGPU/IR/NVGPUTypeDefs.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/NVGPU/IR/NVGPUTypeDefs.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/NVGPU/IR/NVGPUEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/NVGPU/IR/NVGPUEnums.cpp.inc",
-        ),
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/NVGPU/IR/NVGPUAttrDefs.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/NVGPU/IR/NVGPUAttrDefs.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/NVGPU/IR/NVGPUDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=nvgpu",
+        ],
+        "include/mlir/Dialect/NVGPU/IR/NVGPUDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=nvgpu",
+        ],
+        "include/mlir/Dialect/NVGPU/IR/NVGPUOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/NVGPU/IR/NVGPUOps.cpp.inc": ["-gen-op-defs"],
+        "g3doc/Dialects/NVGPU/NVGPU.md": ["-gen-op-doc"],
+        "include/mlir/Dialect/NVGPU/IR/NVGPUTypeDefs.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/NVGPU/IR/NVGPUTypeDefs.cpp.inc": ["-gen-typedef-defs"],
+        "include/mlir/Dialect/NVGPU/IR/NVGPUEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/NVGPU/IR/NVGPUEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/NVGPU/IR/NVGPUAttrDefs.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/NVGPU/IR/NVGPUAttrDefs.cpp.inc": ["-gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/NVGPU/IR/NVGPUOps.td",
     deps = [
@@ -3710,15 +3133,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "NVGPUPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=NVGPU",
-            ],
-            "include/mlir/Dialect/NVGPU/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/NVGPU/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=NVGPU",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/NVGPU/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -3789,16 +3207,10 @@ td_library(
 
 gentbl_cc_library(
     name = "NVGPUTransformOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.td",
     deps = [
@@ -3863,62 +3275,35 @@ td_library(
 
 gentbl_cc_library(
     name = "XeGPUIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=xegpu",
-            ],
-            "include/mlir/Dialect/XeGPU/IR/XeGPUDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=xegpu",
-            ],
-            "include/mlir/Dialect/XeGPU/IR/XeGPUDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/XeGPU/IR/XeGPU.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/XeGPU/IR/XeGPU.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/XeGPU/XeGPU.md",
-        ),
-        (
-            [
-                "-gen-typedef-decls",
-                "-typedefs-dialect=xegpu",
-            ],
-            "include/mlir/Dialect/XeGPU/IR/XeGPUTypes.h.inc",
-        ),
-        (
-            [
-                "-gen-typedef-defs",
-                "-typedefs-dialect=xegpu",
-            ],
-            "include/mlir/Dialect/XeGPU/IR/XeGPUTypes.cpp.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-decls",
-                "-attrdefs-dialect=xegpu",
-            ],
-            "include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-attrdefs-dialect=xegpu",
-            ],
-            "include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/XeGPU/IR/XeGPUDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=xegpu",
+        ],
+        "include/mlir/Dialect/XeGPU/IR/XeGPUDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=xegpu",
+        ],
+        "include/mlir/Dialect/XeGPU/IR/XeGPU.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/XeGPU/IR/XeGPU.cpp.inc": ["-gen-op-defs"],
+        "g3doc/Dialects/XeGPU/XeGPU.md": ["-gen-op-doc"],
+        "include/mlir/Dialect/XeGPU/IR/XeGPUTypes.h.inc": [
+            "-gen-typedef-decls",
+            "-typedefs-dialect=xegpu",
+        ],
+        "include/mlir/Dialect/XeGPU/IR/XeGPUTypes.cpp.inc": [
+            "-gen-typedef-defs",
+            "-typedefs-dialect=xegpu",
+        ],
+        "include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.h.inc": [
+            "-gen-attrdef-decls",
+            "-attrdefs-dialect=xegpu",
+        ],
+        "include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-attrdefs-dialect=xegpu",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/XeGPU/IR/XeGPU.td",
     deps = [
@@ -3946,16 +3331,10 @@ td_library(
 # duplicate declarations with the Arith enums.
 gentbl_cc_library(
     name = "XeGPUEnumsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/XeGPU/IR/XeGPUEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/XeGPU/IR/XeGPUEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/XeGPU/IR/XeGPUEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/XeGPU/IR/XeGPUEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td",
     deps = [":XeGPUAttrTdFiles"],
@@ -3989,15 +3368,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "XeGPUPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=XeGPU",
-            ],
-            "include/mlir/Dialect/XeGPU/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/XeGPU/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=XeGPU",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/XeGPU/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -4051,32 +3425,14 @@ td_library(
 
 gentbl_cc_library(
     name = "FuncIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Func/IR/FuncOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Func/IR/FuncOps.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/Func/IR/FuncOpsDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/Func/IR/FuncOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/Func/IR/FuncOpsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/Func/IR/FuncOpsEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Func/IR/FuncOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Func/IR/FuncOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/Func/IR/FuncOpsDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/Func/IR/FuncOpsDialect.cpp.inc": ["-gen-dialect-defs"],
+        "include/mlir/Dialect/Func/IR/FuncOpsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/Func/IR/FuncOpsEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Func/IR/FuncOps.td",
     deps = [":FuncTdFiles"],
@@ -4109,16 +3465,10 @@ td_library(
 
 gentbl_cc_library(
     name = "DialectUtilsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/Utils/DialectUtilsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/Utils/DialectUtilsEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Utils/DialectUtilsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/Utils/DialectUtilsEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Utils/StructuredOpsUtils.td",
     deps = [":DialectUtilsTdFiles"],
@@ -4313,15 +3663,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "AffinePassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Affine",
-            ],
-            "include/mlir/Dialect/Affine/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Affine/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=Affine",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Affine/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -4366,29 +3711,20 @@ cc_library(
 
 gentbl_cc_library(
     name = "ConversionPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Conversion",
-            ],
-            "include/mlir/Conversion/Passes.h.inc",
-        ),
-        (
-            [
-                "-gen-pass-capi-header",
-                "--prefix=Conversion",
-            ],
-            "include/mlir/Conversion/Passes.capi.h.inc",
-        ),
-        (
-            [
-                "-gen-pass-capi-impl",
-                "--prefix=Conversion",
-            ],
-            "include/mlir/Conversion/Passes.capi.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Conversion/Passes.h.inc": [
+            "-gen-pass-decls",
+            "-name=Conversion",
+        ],
+        "include/mlir/Conversion/Passes.capi.h.inc": [
+            "-gen-pass-capi-header",
+            "--prefix=Conversion",
+        ],
+        "include/mlir/Conversion/Passes.capi.cpp.inc": [
+            "-gen-pass-capi-impl",
+            "--prefix=Conversion",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Conversion/Passes.td",
     deps = [
@@ -4739,32 +4075,14 @@ td_library(
 
 gentbl_cc_library(
     name = "ShapeOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Shape/IR/ShapeOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Shape/IR/ShapeOps.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/Shape/IR/ShapeOpsDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/Shape/IR/ShapeOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/Shape/IR/ShapeOpsTypes.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/Shape/IR/ShapeOpsTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Shape/IR/ShapeOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Shape/IR/ShapeOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/Shape/IR/ShapeOpsDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/Shape/IR/ShapeOpsDialect.cpp.inc": ["-gen-dialect-defs"],
+        "include/mlir/Dialect/Shape/IR/ShapeOpsTypes.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/Shape/IR/ShapeOpsTypes.cpp.inc": ["-gen-typedef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Shape/IR/ShapeOps.td",
     deps = [":ShapeOpsTdFiles"],
@@ -4773,12 +4091,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "MLIRShapeCanonicalizationIncGen",
     strip_include_prefix = "include/mlir/Dialect/Shape/IR",
-    tbl_outs = [
-        (
-            ["-gen-rewriters"],
-            "include/mlir/Dialect/Shape/IR/ShapeCanonicalization.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Shape/IR/ShapeCanonicalization.inc": ["-gen-rewriters"]},
     tblgen = ":mlir-tblgen",
     td_file = "lib/Dialect/Shape/IR/ShapeCanonicalization.td",
     deps = [
@@ -4818,12 +4131,7 @@ cc_library(
 gentbl_cc_library(
     name = "ShapeToStandardGen",
     strip_include_prefix = "lib/Conversion/ShapeToStandard",
-    tbl_outs = [
-        (
-            ["-gen-rewriters"],
-            "lib/Conversion/ShapeToStandard/ShapeToStandard.cpp.inc",
-        ),
-    ],
+    tbl_outs = {"lib/Conversion/ShapeToStandard/ShapeToStandard.cpp.inc": ["-gen-rewriters"]},
     tblgen = ":mlir-tblgen",
     td_file = "lib/Conversion/ShapeToStandard/ShapeToStandard.td",
     deps = [":ShapeOpsTdFiles"],
@@ -4854,13 +4162,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "ShapeTransformsPassIncGen",
-    tbl_outs = [(
-        [
-            "-gen-pass-decls",
-            "-name=Shape",
-        ],
-        "include/mlir/Dialect/Shape/Transforms/Passes.h.inc",
-    )],
+    tbl_outs = {"include/mlir/Dialect/Shape/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=Shape",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Shape/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -4913,32 +4218,14 @@ td_library(
 
 gentbl_cc_library(
     name = "ControlFlowOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/ControlFlow/IR/ControlFlowOpsDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/ControlFlow/IR/ControlFlowOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/ControlFlow/IR/ControlFlowOpsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/ControlFlow/IR/ControlFlowOpsEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/ControlFlow/IR/ControlFlowOpsDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/ControlFlow/IR/ControlFlowOpsDialect.cpp.inc": ["-gen-dialect-defs"],
+        "include/mlir/Dialect/ControlFlow/IR/ControlFlowOpsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/ControlFlow/IR/ControlFlowOpsEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td",
     deps = [
@@ -5048,16 +4335,10 @@ td_library(
 gentbl_cc_library(
     name = "FuncTransformOpsIncGen",
     strip_include_prefix = "include",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Func/TransformOps/FuncTransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Func/TransformOps/FuncTransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Func/TransformOps/FuncTransformOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Func/TransformOps/FuncTransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Func/TransformOps/FuncTransformOps.td",
     deps = [
@@ -5140,13 +4421,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "FuncTransformsPassIncGen",
-    tbl_outs = [(
-        [
-            "-gen-pass-decls",
-            "-name=Func",
-        ],
-        "include/mlir/Dialect/Func/Transforms/Passes.h.inc",
-    )],
+    tbl_outs = {"include/mlir/Dialect/Func/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=Func",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Func/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -5250,16 +4528,10 @@ td_library(
 
 gentbl_cc_library(
     name = "VectorEnumsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/Vector/Transforms/VectorTransformsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/Vector/Transforms/VectorTransformsEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Vector/Transforms/VectorTransformsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/Vector/Transforms/VectorTransformsEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Vector/Transforms/VectorTransformsBase.td",
     deps = [
@@ -5269,15 +4541,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "VectorPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Vector",
-            ],
-            "include/mlir/Dialect/Vector/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Vector/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=Vector",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Vector/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -5556,32 +4823,14 @@ cc_library(
 
 gentbl_cc_library(
     name = "LLVMDialectInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/LLVMIR/LLVMInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/LLVMIR/LLVMInterfaces.cpp.inc",
-        ),
-        (
-            ["-gen-attr-interface-decls"],
-            "include/mlir/Dialect/LLVMIR/LLVMAttrInterfaces.h.inc",
-        ),
-        (
-            ["-gen-attr-interface-defs"],
-            "include/mlir/Dialect/LLVMIR/LLVMAttrInterfaces.cpp.inc",
-        ),
-        (
-            ["-gen-type-interface-decls"],
-            "include/mlir/Dialect/LLVMIR/LLVMTypeInterfaces.h.inc",
-        ),
-        (
-            ["-gen-type-interface-defs"],
-            "include/mlir/Dialect/LLVMIR/LLVMTypeInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/LLVMIR/LLVMInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/LLVMIR/LLVMInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+        "include/mlir/Dialect/LLVMIR/LLVMAttrInterfaces.h.inc": ["-gen-attr-interface-decls"],
+        "include/mlir/Dialect/LLVMIR/LLVMAttrInterfaces.cpp.inc": ["-gen-attr-interface-defs"],
+        "include/mlir/Dialect/LLVMIR/LLVMTypeInterfaces.h.inc": ["-gen-type-interface-decls"],
+        "include/mlir/Dialect/LLVMIR/LLVMTypeInterfaces.cpp.inc": ["-gen-type-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/LLVMInterfaces.td",
     deps = [":LLVMOpsTdFiles"],
@@ -5652,15 +4901,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "LLVMPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=LLVM",
-            ],
-            "include/mlir/Dialect/LLVMIR/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/LLVMIR/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=LLVM",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -5769,16 +5013,10 @@ td_library(
 
 gentbl_cc_library(
     name = "GPUDeviceMapperEnumsGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/GPU/TransformOps/GPUDeviceMapperEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/GPU/TransformOps/GPUDeviceMapperEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/GPU/TransformOps/GPUDeviceMapperEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/GPU/TransformOps/GPUDeviceMapperEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/GPU/IR/GPUDeviceMappingAttr.td",
     deps = [
@@ -5789,16 +5027,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "GPUCompilationAttrInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-attr-interface-decls"],
-            "include/mlir/Dialect/GPU/IR/CompilationAttrInterfaces.h.inc",
-        ),
-        (
-            ["-gen-attr-interface-defs"],
-            "include/mlir/Dialect/GPU/IR/CompilationAttrInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/GPU/IR/CompilationAttrInterfaces.h.inc": ["-gen-attr-interface-decls"],
+        "include/mlir/Dialect/GPU/IR/CompilationAttrInterfaces.cpp.inc": ["-gen-attr-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/GPU/IR/CompilationAttrInterfaces.td",
     deps = [
@@ -5809,16 +5041,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "GPUBaseIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/GPU/IR/GPUOpInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/GPU/IR/GPUOpInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/GPU/IR/GPUOpInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/GPU/IR/GPUOpInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/GPU/IR/GPUBase.td",
     deps = [":OpBaseTdFiles"],
@@ -5826,46 +5052,22 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "GPUOpsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=gpu",
-            ],
-            "include/mlir/Dialect/GPU/IR/GPUOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=gpu",
-            ],
-            "include/mlir/Dialect/GPU/IR/GPUOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/GPU/IR/GPUOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/GPU/IR/GPUOps.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/GPU/IR/GPUOpsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/GPU/IR/GPUOpsEnums.cpp.inc",
-        ),
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/GPU/IR/GPUOpsAttributes.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/GPU/IR/GPUOpsAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/GPU/IR/GPUOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=gpu",
+        ],
+        "include/mlir/Dialect/GPU/IR/GPUOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=gpu",
+        ],
+        "include/mlir/Dialect/GPU/IR/GPUOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/GPU/IR/GPUOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/GPU/IR/GPUOpsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/GPU/IR/GPUOpsEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/GPU/IR/GPUOpsAttributes.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/GPU/IR/GPUOpsAttributes.cpp.inc": ["-gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/GPU/IR/GPUOps.td",
     deps = [
@@ -5909,29 +5111,20 @@ cc_library(
 
 gentbl_cc_library(
     name = "GPUPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=GPU",
-            ],
-            "include/mlir/Dialect/GPU/Transforms/Passes.h.inc",
-        ),
-        (
-            [
-                "-gen-pass-capi-header",
-                "--prefix=GPU",
-            ],
-            "include/mlir/Dialect/GPU/Transforms/Passes.capi.h.inc",
-        ),
-        (
-            [
-                "-gen-pass-capi-impl",
-                "--prefix=GPU",
-            ],
-            "include/mlir/Dialect/GPU/Transforms/Passes.capi.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/GPU/Transforms/Passes.h.inc": [
+            "-gen-pass-decls",
+            "-name=GPU",
+        ],
+        "include/mlir/Dialect/GPU/Transforms/Passes.capi.h.inc": [
+            "-gen-pass-capi-header",
+            "--prefix=GPU",
+        ],
+        "include/mlir/Dialect/GPU/Transforms/Passes.capi.cpp.inc": [
+            "-gen-pass-capi-impl",
+            "--prefix=GPU",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/GPU/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -6059,16 +5252,10 @@ td_library(
 
 gentbl_cc_library(
     name = "GPUTransformOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td",
     deps = [
@@ -6156,12 +5343,7 @@ cc_library(
 gentbl_cc_library(
     name = "GPUToNVVMGen",
     strip_include_prefix = "lib/Conversion/GPUToNVVM",
-    tbl_outs = [
-        (
-            ["-gen-rewriters"],
-            "lib/Conversion/GPUToNVVM/GPUToNVVM.cpp.inc",
-        ),
-    ],
+    tbl_outs = {"lib/Conversion/GPUToNVVM/GPUToNVVM.cpp.inc": ["-gen-rewriters"]},
     tblgen = ":mlir-tblgen",
     td_file = "lib/Conversion/GPUToNVVM/GPUToNVVM.td",
     deps = [
@@ -6308,12 +5490,7 @@ cc_library(
 gentbl_cc_library(
     name = "GPUToROCDLTGen",
     strip_include_prefix = "lib/Conversion/GPUToROCDL",
-    tbl_outs = [
-        (
-            ["-gen-rewriters"],
-            "lib/Conversion/GPUToROCDL/GPUToROCDL.cpp.inc",
-        ),
-    ],
+    tbl_outs = {"lib/Conversion/GPUToROCDL/GPUToROCDL.cpp.inc": ["-gen-rewriters"]},
     tblgen = ":mlir-tblgen",
     td_file = "lib/Conversion/GPUToROCDL/GPUToROCDL.td",
     deps = [
@@ -6490,46 +5667,22 @@ cc_library(
 
 gentbl_cc_library(
     name = "LLVMOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/LLVMIR/LLVMOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/LLVMIR/LLVMOps.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/LLVMIR/LLVMOpsDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/LLVMIR/LLVMOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/LLVMIR/LLVMOpsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/LLVMIR/LLVMOpsEnums.cpp.inc",
-        ),
-        (
-            [
-                "--gen-attrdef-decls",
-                "-attrdefs-dialect=llvm",
-            ],
-            "include/mlir/Dialect/LLVMIR/LLVMOpsAttrDefs.h.inc",
-        ),
-        (
-            [
-                "--gen-attrdef-defs",
-                "-attrdefs-dialect=llvm",
-            ],
-            "include/mlir/Dialect/LLVMIR/LLVMOpsAttrDefs.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/LLVMIR/LLVMOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/LLVMIR/LLVMOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/LLVMIR/LLVMOpsDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/LLVMIR/LLVMOpsDialect.cpp.inc": ["-gen-dialect-defs"],
+        "include/mlir/Dialect/LLVMIR/LLVMOpsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/LLVMIR/LLVMOpsEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/LLVMIR/LLVMOpsAttrDefs.h.inc": [
+            "--gen-attrdef-decls",
+            "-attrdefs-dialect=llvm",
+        ],
+        "include/mlir/Dialect/LLVMIR/LLVMOpsAttrDefs.cpp.inc": [
+            "--gen-attrdef-defs",
+            "-attrdefs-dialect=llvm",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/LLVMOps.td",
     deps = [":LLVMOpsTdFiles"],
@@ -6537,22 +5690,16 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "LLVMTypesIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-typedef-decls",
-                "-typedefs-dialect=llvm",
-            ],
-            "include/mlir/Dialect/LLVMIR/LLVMTypes.h.inc",
-        ),
-        (
-            [
-                "-gen-typedef-defs",
-                "-typedefs-dialect=llvm",
-            ],
-            "include/mlir/Dialect/LLVMIR/LLVMTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/LLVMIR/LLVMTypes.h.inc": [
+            "-gen-typedef-decls",
+            "-typedefs-dialect=llvm",
+        ],
+        "include/mlir/Dialect/LLVMIR/LLVMTypes.cpp.inc": [
+            "-gen-typedef-defs",
+            "-typedefs-dialect=llvm",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/LLVMTypes.td",
     deps = [":LLVMOpsTdFiles"],
@@ -6560,16 +5707,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "LLVMIntrinsicOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td",
     deps = [":LLVMOpsTdFiles"],
@@ -6577,24 +5718,12 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "LLVMConversionIncGen",
-    tbl_outs = [
-        (
-            ["-gen-llvmir-conversions"],
-            "include/mlir/Dialect/LLVMIR/LLVMConversions.inc",
-        ),
-        (
-            ["-gen-enum-to-llvmir-conversions"],
-            "include/mlir/Dialect/LLVMIR/LLVMConversionEnumsToLLVM.inc",
-        ),
-        (
-            ["-gen-enum-from-llvmir-conversions"],
-            "include/mlir/Dialect/LLVMIR/LLVMConversionEnumsFromLLVM.inc",
-        ),
-        (
-            ["-gen-op-from-llvmir-conversions"],
-            "include/mlir/Dialect/LLVMIR/LLVMOpFromLLVMIRConversions.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/LLVMIR/LLVMConversions.inc": ["-gen-llvmir-conversions"],
+        "include/mlir/Dialect/LLVMIR/LLVMConversionEnumsToLLVM.inc": ["-gen-enum-to-llvmir-conversions"],
+        "include/mlir/Dialect/LLVMIR/LLVMConversionEnumsFromLLVM.inc": ["-gen-enum-from-llvmir-conversions"],
+        "include/mlir/Dialect/LLVMIR/LLVMOpFromLLVMIRConversions.inc": ["-gen-op-from-llvmir-conversions"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/LLVMOps.td",
     deps = [":LLVMOpsTdFiles"],
@@ -6602,20 +5731,11 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "LLVMIntrinsicConversionIncGen",
-    tbl_outs = [
-        (
-            ["-gen-llvmir-conversions"],
-            "include/mlir/Dialect/LLVMIR/LLVMIntrinsicConversions.inc",
-        ),
-        (
-            ["-gen-intr-from-llvmir-conversions"],
-            "include/mlir/Dialect/LLVMIR/LLVMIntrinsicFromLLVMIRConversions.inc",
-        ),
-        (
-            ["-gen-convertible-llvmir-intrinsics"],
-            "include/mlir/Dialect/LLVMIR/LLVMConvertibleLLVMIRIntrinsics.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/LLVMIR/LLVMIntrinsicConversions.inc": ["-gen-llvmir-conversions"],
+        "include/mlir/Dialect/LLVMIR/LLVMIntrinsicFromLLVMIRConversions.inc": ["-gen-intr-from-llvmir-conversions"],
+        "include/mlir/Dialect/LLVMIR/LLVMConvertibleLLVMIRIntrinsics.inc": ["-gen-convertible-llvmir-intrinsics"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td",
     deps = [":LLVMOpsTdFiles"],
@@ -6721,20 +5841,14 @@ td_library(
 
 gentbl_cc_library(
     name = "BasicPtxBuilderIntGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-op-interface-decls",
-            ],
-            "include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h.inc",
-        ),
-        (
-            [
-                "-gen-op-interface-defs",
-            ],
-            "include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h.inc": [
+            "-gen-op-interface-decls",
+        ],
+        "include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.cpp.inc": [
+            "-gen-op-interface-defs",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.td",
     deps = [
@@ -6746,52 +5860,28 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "NVVMOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/LLVMIR/NVVMOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/LLVMIR/NVVMOps.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=nvvm",
-            ],
-            "include/mlir/Dialect/LLVMIR/NVVMOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=nvvm",
-            ],
-            "include/mlir/Dialect/LLVMIR/NVVMOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/LLVMIR/NVVMOpsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/LLVMIR/NVVMOpsEnums.cpp.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-decls",
-                "-attrdefs-dialect=nvvm",
-            ],
-            "include/mlir/Dialect/LLVMIR/NVVMOpsAttributes.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-attrdefs-dialect=nvvm",
-            ],
-            "include/mlir/Dialect/LLVMIR/NVVMOpsAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/LLVMIR/NVVMOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/LLVMIR/NVVMOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/LLVMIR/NVVMOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=nvvm",
+        ],
+        "include/mlir/Dialect/LLVMIR/NVVMOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=nvvm",
+        ],
+        "include/mlir/Dialect/LLVMIR/NVVMOpsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/LLVMIR/NVVMOpsEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/LLVMIR/NVVMOpsAttributes.h.inc": [
+            "-gen-attrdef-decls",
+            "-attrdefs-dialect=nvvm",
+        ],
+        "include/mlir/Dialect/LLVMIR/NVVMOpsAttributes.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-attrdefs-dialect=nvvm",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td",
     deps = [":NVVMOpsTdFiles"],
@@ -6799,12 +5889,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "NVVMConversionIncGen",
-    tbl_outs = [
-        (
-            ["-gen-llvmir-conversions"],
-            "include/mlir/Dialect/LLVMIR/NVVMConversions.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/LLVMIR/NVVMConversions.inc": ["-gen-llvmir-conversions"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td",
     deps = [":NVVMOpsTdFiles"],
@@ -6812,12 +5897,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "NVVMFromLLVMIRConversionsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-intr-from-llvmir-conversions"],
-            "include/mlir/Dialect/LLVMIR/NVVMFromLLVMIRConversions.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/LLVMIR/NVVMFromLLVMIRConversions.inc": ["-gen-intr-from-llvmir-conversions"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td",
     deps = [":NVVMOpsTdFiles"],
@@ -6825,12 +5905,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "NVVMConvertibleLLVMIRIntrinsicsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-convertible-llvmir-intrinsics"],
-            "include/mlir/Dialect/LLVMIR/NVVMConvertibleLLVMIRIntrinsics.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/LLVMIR/NVVMConvertibleLLVMIRIntrinsics.inc": ["-gen-convertible-llvmir-intrinsics"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td",
     deps = [":NVVMOpsTdFiles"],
@@ -6914,44 +5989,26 @@ td_library(
 
 gentbl_cc_library(
     name = "ROCDLOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/LLVMIR/ROCDLOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/LLVMIR/ROCDLOps.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=rocdl",
-            ],
-            "include/mlir/Dialect/LLVMIR/ROCDLOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=rocdl",
-            ],
-            "include/mlir/Dialect/LLVMIR/ROCDLOpsDialect.cpp.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-decls",
-                "-attrdefs-dialect=rocdl",
-            ],
-            "include/mlir/Dialect/LLVMIR/ROCDLOpsAttributes.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-attrdefs-dialect=rocdl",
-            ],
-            "include/mlir/Dialect/LLVMIR/ROCDLOpsAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/LLVMIR/ROCDLOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/LLVMIR/ROCDLOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/LLVMIR/ROCDLOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=rocdl",
+        ],
+        "include/mlir/Dialect/LLVMIR/ROCDLOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=rocdl",
+        ],
+        "include/mlir/Dialect/LLVMIR/ROCDLOpsAttributes.h.inc": [
+            "-gen-attrdef-decls",
+            "-attrdefs-dialect=rocdl",
+        ],
+        "include/mlir/Dialect/LLVMIR/ROCDLOpsAttributes.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-attrdefs-dialect=rocdl",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/ROCDLOps.td",
     deps = [":ROCDLOpsTdFiles"],
@@ -6959,12 +6016,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ROCDLConversionIncGen",
-    tbl_outs = [
-        (
-            ["-gen-llvmir-conversions"],
-            "include/mlir/Dialect/LLVMIR/ROCDLConversions.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/LLVMIR/ROCDLConversions.inc": ["-gen-llvmir-conversions"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/ROCDLOps.td",
     deps = [":ROCDLOpsTdFiles"],
@@ -7005,24 +6057,12 @@ td_library(
 
 gentbl_cc_library(
     name = "PDLOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/PDL/IR/PDLOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/PDL/IR/PDLOps.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/PDL/IR/PDLOpsDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/PDL/IR/PDLOpsDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/PDL/IR/PDLOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/PDL/IR/PDLOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/PDL/IR/PDLOpsDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/PDL/IR/PDLOpsDialect.cpp.inc": ["-gen-dialect-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/PDL/IR/PDLOps.td",
     deps = [":PDLDialectTdFiles"],
@@ -7030,16 +6070,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "PDLTypesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/PDL/IR/PDLOpsTypes.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/PDL/IR/PDLOpsTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/PDL/IR/PDLOpsTypes.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/PDL/IR/PDLOpsTypes.cpp.inc": ["-gen-typedef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/PDL/IR/PDLTypes.td",
     deps = [":PDLDialectTdFiles"],
@@ -7079,30 +6113,18 @@ td_library(
 
 gentbl_cc_library(
     name = "PDLInterpOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=pdl_interp",
-            ],
-            "include/mlir/Dialect/PDLInterp/IR/PDLInterpOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=pdl_interp",
-            ],
-            "include/mlir/Dialect/PDLInterp/IR/PDLInterpOpsDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/PDLInterp/IR/PDLInterpOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=pdl_interp",
+        ],
+        "include/mlir/Dialect/PDLInterp/IR/PDLInterpOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=pdl_interp",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td",
     deps = [":PDLInterpOpsTdFiles"],
@@ -7143,48 +6165,27 @@ td_library(
 
 gentbl_cc_library(
     name = "PolynomialIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Polynomial/IR/Polynomial.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Polynomial/IR/Polynomial.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=polynomial",
-            ],
-            "include/mlir/Dialect/Polynomial/IR/PolynomialDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=polynomial",
-            ],
-            "include/mlir/Dialect/Polynomial/IR/PolynomialDialect.cpp.inc",
-        ),
-        (
-            [
-                "--gen-typedef-decls",
-                "-typedefs-dialect=polynomial",
-            ],
-            "include/mlir/Dialect/Polynomial/IR/PolynomialTypes.h.inc",
-        ),
-        (
-            [
-                "--gen-typedef-defs",
-                "-typedefs-dialect=polynomial",
-            ],
-            "include/mlir/Dialect/Polynomial/IR/PolynomialTypes.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/Polynomial/Polynomial.md",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Polynomial/IR/Polynomial.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Polynomial/IR/Polynomial.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/Polynomial/IR/PolynomialDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=polynomial",
+        ],
+        "include/mlir/Dialect/Polynomial/IR/PolynomialDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=polynomial",
+        ],
+        "include/mlir/Dialect/Polynomial/IR/PolynomialTypes.h.inc": [
+            "--gen-typedef-decls",
+            "-typedefs-dialect=polynomial",
+        ],
+        "include/mlir/Dialect/Polynomial/IR/PolynomialTypes.cpp.inc": [
+            "--gen-typedef-defs",
+            "-typedefs-dialect=polynomial",
+        ],
+        "g3doc/Dialects/Polynomial/Polynomial.md": ["-gen-op-doc"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Polynomial/IR/Polynomial.td",
     deps = [":PolynomialTdFiles"],
@@ -7192,22 +6193,16 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "PolynomialAttributesIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-attrdef-decls",
-                "-attrdefs-dialect=polynomial",
-            ],
-            "include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-attrdefs-dialect=polynomial",
-            ],
-            "include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.h.inc": [
+            "-gen-attrdef-decls",
+            "-attrdefs-dialect=polynomial",
+        ],
+        "include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-attrdefs-dialect=polynomial",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Polynomial/IR/Polynomial.td",
     deps = [":PolynomialTdFiles"],
@@ -7216,12 +6211,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "PolynomialCanonicalizationIncGen",
     strip_include_prefix = "include/mlir/Dialect/Polynomial/IR",
-    tbl_outs = [
-        (
-            ["-gen-rewriters"],
-            "include/mlir/Dialect/Polynomial/IR/PolynomialCanonicalization.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Polynomial/IR/PolynomialCanonicalization.inc": ["-gen-rewriters"]},
     tblgen = ":mlir-tblgen",
     td_file = "lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td",
     deps = [
@@ -7250,24 +6240,12 @@ td_library(
 
 gentbl_cc_library(
     name = "PtrDialectIncGen",
-    tbl_outs = [
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/Ptr/IR/PtrOpsDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/Ptr/IR/PtrOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/Ptr/IR/PtrOpsTypes.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/Ptr/IR/PtrOpsTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Ptr/IR/PtrOpsDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/Ptr/IR/PtrOpsDialect.cpp.inc": ["-gen-dialect-defs"],
+        "include/mlir/Dialect/Ptr/IR/PtrOpsTypes.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/Ptr/IR/PtrOpsTypes.cpp.inc": ["-gen-typedef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Ptr/IR/PtrDialect.td",
     deps = [
@@ -7277,16 +6255,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "PtrOpsEnumsGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/Ptr/IR/PtrOpsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/Ptr/IR/PtrOpsEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Ptr/IR/PtrOpsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/Ptr/IR/PtrOpsEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Ptr/IR/PtrEnums.td",
     deps = [
@@ -7296,24 +6268,12 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "PtrMemorySpaceInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.cpp.inc",
-        ),
-        (
-            ["-gen-attr-interface-decls"],
-            "include/mlir/Dialect/Ptr/IR/MemorySpaceAttrInterfaces.h.inc",
-        ),
-        (
-            ["-gen-attr-interface-defs"],
-            "include/mlir/Dialect/Ptr/IR/MemorySpaceAttrInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+        "include/mlir/Dialect/Ptr/IR/MemorySpaceAttrInterfaces.h.inc": ["-gen-attr-interface-decls"],
+        "include/mlir/Dialect/Ptr/IR/MemorySpaceAttrInterfaces.cpp.inc": ["-gen-attr-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.td",
     deps = [
@@ -7323,16 +6283,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "PtrOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Ptr/IR/PtrOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Ptr/IR/PtrOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Ptr/IR/PtrOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Ptr/IR/PtrOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Ptr/IR/PtrOps.td",
     deps = [
@@ -7342,16 +6296,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "PtrAttrsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/Ptr/IR/PtrOpsAttrs.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/Ptr/IR/PtrOpsAttrs.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Ptr/IR/PtrOpsAttrs.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/Ptr/IR/PtrOpsAttrs.cpp.inc": ["-gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Ptr/IR/PtrAttrDefs.td",
     deps = [
@@ -7409,17 +6357,11 @@ td_library(
 
 gentbl_cc_library(
     name = "SPIRVImageInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp.inc",
-        ),
-    ],
-    tblgen = ":mlir-tblgen",
+    tbl_outs = {
+        "include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
+    tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.td",
     deps = [
         ":SPIRVImageInterfacesTdFiles",
@@ -7441,48 +6383,18 @@ cc_library(
 
 gentbl_cc_library(
     name = "SPIRVOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVOps.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVOpsDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/SPIRV/SPIRVOps.md",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVEnums.cpp.inc",
-        ),
-        (
-            ["-gen-spirv-enum-avail-decls"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVEnumAvailability.h.inc",
-        ),
-        (
-            ["-gen-spirv-enum-avail-defs"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVEnumAvailability.cpp.inc",
-        ),
-        (
-            ["-gen-spirv-capability-implication"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVCapabilityImplication.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/SPIRV/IR/SPIRVOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/SPIRV/IR/SPIRVOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/SPIRV/IR/SPIRVOpsDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/SPIRV/IR/SPIRVOpsDialect.cpp.inc": ["-gen-dialect-defs"],
+        "g3doc/Dialects/SPIRV/SPIRVOps.md": ["-gen-op-doc"],
+        "include/mlir/Dialect/SPIRV/IR/SPIRVEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/SPIRV/IR/SPIRVEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/SPIRV/IR/SPIRVEnumAvailability.h.inc": ["-gen-spirv-enum-avail-decls"],
+        "include/mlir/Dialect/SPIRV/IR/SPIRVEnumAvailability.cpp.inc": ["-gen-spirv-enum-avail-defs"],
+        "include/mlir/Dialect/SPIRV/IR/SPIRVCapabilityImplication.inc": ["-gen-spirv-capability-implication"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVOps.td",
     deps = [":SPIRVOpsTdFiles"],
@@ -7490,16 +6402,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "SPIRVAttributesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.cpp.inc": ["-gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td",
     deps = [":SPIRVOpsTdFiles"],
@@ -7508,12 +6414,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "SPIRVCanonicalizationIncGen",
     strip_include_prefix = "lib/Dialect/SPIRV/IR",
-    tbl_outs = [
-        (
-            ["-gen-rewriters"],
-            "lib/Dialect/SPIRV/IR/SPIRVCanonicalization.inc",
-        ),
-    ],
+    tbl_outs = {"lib/Dialect/SPIRV/IR/SPIRVCanonicalization.inc": ["-gen-rewriters"]},
     tblgen = ":mlir-tblgen",
     td_file = "lib/Dialect/SPIRV/IR/SPIRVCanonicalization.td",
     deps = [":SPIRVOpsTdFiles"],
@@ -7521,20 +6422,11 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "SPIRVAvailabilityIncGen",
-    tbl_outs = [
-        (
-            ["-gen-avail-interface-decls"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVAvailability.h.inc",
-        ),
-        (
-            ["-gen-avail-interface-defs"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVAvailability.cpp.inc",
-        ),
-        (
-            ["-gen-spirv-avail-impls"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVOpAvailabilityImpl.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/SPIRV/IR/SPIRVAvailability.h.inc": ["-gen-avail-interface-decls"],
+        "include/mlir/Dialect/SPIRV/IR/SPIRVAvailability.cpp.inc": ["-gen-avail-interface-defs"],
+        "include/mlir/Dialect/SPIRV/IR/SPIRVOpAvailabilityImpl.inc": ["-gen-spirv-avail-impls"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVOps.td",
     deps = [":SPIRVOpsTdFiles"],
@@ -7542,12 +6434,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "SPIRVAttrUtilsGen",
-    tbl_outs = [
-        (
-            ["-gen-spirv-attr-utils"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVAttrUtils.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/SPIRV/IR/SPIRVAttrUtils.inc": ["-gen-spirv-attr-utils"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVBase.td",
     deps = [":SPIRVOpsTdFiles"],
@@ -7555,12 +6442,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "SPIRVSerializationGen",
-    tbl_outs = [
-        (
-            ["-gen-spirv-serialization"],
-            "include/mlir/Dialect/SPIRV/IR/SPIRVSerialization.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/SPIRV/IR/SPIRVSerialization.inc": ["-gen-spirv-serialization"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVOps.td",
     deps = [":SPIRVOpsTdFiles"],
@@ -7614,15 +6496,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "SPIRVPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=SPIRV",
-            ],
-            "include/mlir/Dialect/SPIRV/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/SPIRV/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=SPIRV",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/SPIRV/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -7968,30 +6845,18 @@ td_library(
 
 gentbl_cc_library(
     name = "TensorOpsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=tensor",
-            ],
-            "include/mlir/Dialect/Tensor/IR/TensorOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=tensor",
-            ],
-            "include/mlir/Dialect/Tensor/IR/TensorOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Tensor/IR/TensorOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Tensor/IR/TensorOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Tensor/IR/TensorOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=tensor",
+        ],
+        "include/mlir/Dialect/Tensor/IR/TensorOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=tensor",
+        ],
+        "include/mlir/Dialect/Tensor/IR/TensorOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Tensor/IR/TensorOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Tensor/IR/TensorOps.td",
     deps = [":TensorOpsTdFiles"],
@@ -8114,15 +6979,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "TensorPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Tensor",
-            ],
-            "include/mlir/Dialect/Tensor/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Tensor/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=Tensor",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Tensor/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -8180,16 +7040,10 @@ td_library(
 
 gentbl_cc_library(
     name = "TensorTransformOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td",
     deps = [
@@ -8277,16 +7131,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "DerivedAttributeOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/DerivedAttributeOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/DerivedAttributeOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/DerivedAttributeOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/DerivedAttributeOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/DerivedAttributeOpInterface.td",
     deps = [":DerivedAttributeOpInterfaceTdFiles"],
@@ -8305,16 +7153,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "DestinationStyleOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/DestinationStyleOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/DestinationStyleOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/DestinationStyleOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/DestinationStyleOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/DestinationStyleOpInterface.td",
     deps = [":DestinationStyleOpInterfaceTdFiles"],
@@ -8334,16 +7176,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "InferIntRangeInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/InferIntRangeInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/InferIntRangeInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/InferIntRangeInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/InferIntRangeInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/InferIntRangeInterface.td",
     deps = [":InferIntRangeInterfaceTdFiles"],
@@ -8368,32 +7204,14 @@ td_library(
 
 gentbl_cc_library(
     name = "DataLayoutInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-attr-interface-decls"],
-            "include/mlir/Interfaces/DataLayoutAttrInterface.h.inc",
-        ),
-        (
-            ["-gen-attr-interface-defs"],
-            "include/mlir/Interfaces/DataLayoutAttrInterface.cpp.inc",
-        ),
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/DataLayoutOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/DataLayoutOpInterface.cpp.inc",
-        ),
-        (
-            ["-gen-type-interface-decls"],
-            "include/mlir/Interfaces/DataLayoutTypeInterface.h.inc",
-        ),
-        (
-            ["-gen-type-interface-defs"],
-            "include/mlir/Interfaces/DataLayoutTypeInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/DataLayoutAttrInterface.h.inc": ["-gen-attr-interface-decls"],
+        "include/mlir/Interfaces/DataLayoutAttrInterface.cpp.inc": ["-gen-attr-interface-defs"],
+        "include/mlir/Interfaces/DataLayoutOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/DataLayoutOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+        "include/mlir/Interfaces/DataLayoutTypeInterface.h.inc": ["-gen-type-interface-decls"],
+        "include/mlir/Interfaces/DataLayoutTypeInterface.cpp.inc": ["-gen-type-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/DataLayoutInterfaces.td",
     deps = [":OpBaseTdFiles"],
@@ -8401,16 +7219,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "LoopLikeInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/LoopLikeInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/LoopLikeInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/LoopLikeInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/LoopLikeInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/LoopLikeInterface.td",
     deps = [":LoopLikeInterfaceTdFiles"],
@@ -8418,24 +7230,12 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "MemorySlotInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/MemorySlotOpInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/MemorySlotOpInterfaces.cpp.inc",
-        ),
-        (
-            ["-gen-type-interface-decls"],
-            "include/mlir/Interfaces/MemorySlotTypeInterfaces.h.inc",
-        ),
-        (
-            ["-gen-type-interface-defs"],
-            "include/mlir/Interfaces/MemorySlotTypeInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/MemorySlotOpInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/MemorySlotOpInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+        "include/mlir/Interfaces/MemorySlotTypeInterfaces.h.inc": ["-gen-type-interface-decls"],
+        "include/mlir/Interfaces/MemorySlotTypeInterfaces.cpp.inc": ["-gen-type-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/MemorySlotInterfaces.td",
     deps = [":MemorySlotInterfacesTdFiles"],
@@ -8443,16 +7243,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ShapedOpInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/ShapedOpInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/ShapedOpInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/ShapedOpInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/ShapedOpInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/ShapedOpInterfaces.td",
     deps = [":ShapedOpInterfacesTdFiles"],
@@ -8460,16 +7254,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ParallelCombiningOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/ParallelCombiningOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/ParallelCombiningOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/ParallelCombiningOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/ParallelCombiningOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/ParallelCombiningOpInterface.td",
     deps = [":ParallelCombiningOpInterfaceTdFiles"],
@@ -8477,16 +7265,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "RuntimeVerifiableOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/RuntimeVerifiableOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/RuntimeVerifiableOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/RuntimeVerifiableOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/RuntimeVerifiableOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/RuntimeVerifiableOpInterface.td",
     deps = [":RuntimeVerifiableOpInterfaceTdFiles"],
@@ -8494,16 +7276,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "VectorInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/VectorInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/VectorInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/VectorInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/VectorInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/VectorInterfaces.td",
     deps = [":VectorInterfacesTdFiles"],
@@ -8511,16 +7287,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ViewLikeInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/ViewLikeInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/ViewLikeInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/ViewLikeInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/ViewLikeInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/ViewLikeInterface.td",
     deps = [":ViewLikeInterfaceTdFiles"],
@@ -8528,16 +7298,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "CopyOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/CopyOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/CopyOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/CopyOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/CopyOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/CopyOpInterface.td",
     deps = [":CopyOpInterfaceTdFiles"],
@@ -8545,29 +7309,20 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "TransformsPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Transforms",
-            ],
-            "include/mlir/Transforms/Passes.h.inc",
-        ),
-        (
-            [
-                "-gen-pass-capi-header",
-                "--prefix=Transforms",
-            ],
-            "include/mlir/Transforms/Transforms.capi.h.inc",
-        ),
-        (
-            [
-                "-gen-pass-capi-impl",
-                "--prefix=Transforms",
-            ],
-            "include/mlir/Transforms/Transforms.capi.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Transforms/Passes.h.inc": [
+            "-gen-pass-decls",
+            "-name=Transforms",
+        ],
+        "include/mlir/Transforms/Transforms.capi.h.inc": [
+            "-gen-pass-capi-header",
+            "--prefix=Transforms",
+        ],
+        "include/mlir/Transforms/Transforms.capi.cpp.inc": [
+            "-gen-pass-capi-impl",
+            "--prefix=Transforms",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Transforms/Passes.td",
     deps = [
@@ -8767,24 +7522,12 @@ cc_library(
 
 gentbl_cc_library(
     name = "ToLLVMInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["--gen-attr-interface-decls"],
-            "include/mlir/Conversion/ConvertToLLVM/ToLLVMAttrInterface.h.inc",
-        ),
-        (
-            ["--gen-attr-interface-defs"],
-            "include/mlir/Conversion/ConvertToLLVM/ToLLVMAttrInterface.cpp.inc",
-        ),
-        (
-            ["--gen-op-interface-decls"],
-            "include/mlir/Conversion/ConvertToLLVM/ToLLVMOpInterface.h.inc",
-        ),
-        (
-            ["--gen-op-interface-defs"],
-            "include/mlir/Conversion/ConvertToLLVM/ToLLVMOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Conversion/ConvertToLLVM/ToLLVMAttrInterface.h.inc": ["--gen-attr-interface-decls"],
+        "include/mlir/Conversion/ConvertToLLVM/ToLLVMAttrInterface.cpp.inc": ["--gen-attr-interface-defs"],
+        "include/mlir/Conversion/ConvertToLLVM/ToLLVMOpInterface.h.inc": ["--gen-op-interface-decls"],
+        "include/mlir/Conversion/ConvertToLLVM/ToLLVMOpInterface.cpp.inc": ["--gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Conversion/ConvertToLLVM/ToLLVMInterface.td",
     deps = [":UBDialectTdFiles"],
@@ -9185,16 +7928,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "BytecodeOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Bytecode/BytecodeOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Bytecode/BytecodeOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Bytecode/BytecodeOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Bytecode/BytecodeOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Bytecode/BytecodeOpInterface.td",
     deps = [":BytecodeOpInterfaceTdFiles"],
@@ -9219,16 +7956,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "CallOpInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/CallInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/CallInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/CallInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/CallInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/CallInterfaces.td",
     deps = [":CallInterfacesTdFiles"],
@@ -9248,16 +7979,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "CastInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/CastInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/CastInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/CastInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/CastInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/CastInterfaces.td",
     deps = [":CastInterfacesTdFiles"],
@@ -9276,16 +8001,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "ControlFlowInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/ControlFlowInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/ControlFlowInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/ControlFlowInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/ControlFlowInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/ControlFlowInterfaces.td",
     deps = [":ControlFlowInterfacesTdFiles"],
@@ -9305,16 +8024,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "InferTypeOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/InferTypeOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/InferTypeOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/InferTypeOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/InferTypeOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/InferTypeOpInterface.td",
     deps = [":InferTypeOpInterfaceTdFiles"],
@@ -9335,16 +8048,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "SideEffectInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/SideEffectInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/SideEffectInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/SideEffectInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/SideEffectInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/SideEffectInterfaces.td",
     deps = [":SideEffectInterfacesTdFiles"],
@@ -9364,16 +8071,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "TilingInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/TilingInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/TilingInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/TilingInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/TilingInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/TilingInterface.td",
     deps = [":TilingInterfaceTdFiles"],
@@ -10564,16 +9265,10 @@ td_library(
 
 gentbl_cc_library(
     name = "AtomicInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.td",
     deps = [
@@ -10600,15 +9295,10 @@ cc_library(
 gentbl_cc_library(
     name = "AccCommonGen",
     includes = ["/llvm/include"],
-    tbl_outs = [
-        (
-            [
-                "-gen-directive-decl",
-                "-directives-dialect=OpenACC",
-            ],
-            "include/mlir/Dialect/OpenACC/AccCommon.td",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/OpenACC/AccCommon.td": [
+        "-gen-directive-decl",
+        "-directives-dialect=OpenACC",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "//llvm:include/llvm/Frontend/OpenACC/ACC.td",
     deps = ["//llvm:AccTdFiles"],
@@ -10636,16 +9326,10 @@ td_library(
 
 gentbl_cc_library(
     name = "OpenACCOpsInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td",
     deps = [":OpenAccOpsTdFiles"],
@@ -10653,16 +9337,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "OpenACCMPOpsInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.td",
     deps = [":OpenAccOpsTdFiles"],
@@ -10670,56 +9348,29 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "OpenACCOpsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=acc",
-            ],
-            "include/mlir/Dialect/OpenACC/OpenACCOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=acc",
-            ],
-            "include/mlir/Dialect/OpenACC/OpenACCOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/OpenACC/OpenACCOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/OpenACC/OpenACCOps.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/OpenACC/OpenACCOpsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/OpenACC/OpenACCOpsEnums.cpp.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-decls",
-                "-attrdefs-dialect=acc",
-            ],
-            "include/mlir/Dialect/OpenACC/OpenACCOpsAttributes.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-attrdefs-dialect=acc",
-            ],
-            "include/mlir/Dialect/OpenACC/OpenACCOpsAttributes.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/OpenACC/OpenACCOps.md",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/OpenACC/OpenACCOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=acc",
+        ],
+        "include/mlir/Dialect/OpenACC/OpenACCOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=acc",
+        ],
+        "include/mlir/Dialect/OpenACC/OpenACCOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/OpenACC/OpenACCOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/OpenACC/OpenACCOpsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/OpenACC/OpenACCOpsEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/OpenACC/OpenACCOpsAttributes.h.inc": [
+            "-gen-attrdef-decls",
+            "-attrdefs-dialect=acc",
+        ],
+        "include/mlir/Dialect/OpenACC/OpenACCOpsAttributes.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-attrdefs-dialect=acc",
+        ],
+        "g3doc/Dialects/OpenACC/OpenACCOps.md": ["-gen-op-doc"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/OpenACC/OpenACCOps.td",
     deps = [
@@ -10732,22 +9383,16 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "OpenACCTypesIncGen",
-    tbl_outs = [
-        (
-            [
-                "--gen-typedef-decls",
-                "-typedefs-dialect=acc",
-            ],
-            "include/mlir/Dialect/OpenACC/OpenACCOpsTypes.h.inc",
-        ),
-        (
-            [
-                "--gen-typedef-defs",
-                "-typedefs-dialect=acc",
-            ],
-            "include/mlir/Dialect/OpenACC/OpenACCOpsTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/OpenACC/OpenACCOpsTypes.h.inc": [
+            "--gen-typedef-decls",
+            "-typedefs-dialect=acc",
+        ],
+        "include/mlir/Dialect/OpenACC/OpenACCOpsTypes.cpp.inc": [
+            "--gen-typedef-defs",
+            "-typedefs-dialect=acc",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/OpenACC/OpenACCOpsTypes.td",
     deps = [":OpenAccOpsTdFiles"],
@@ -10755,16 +9400,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "OpenACCTypeInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-type-interface-decls"],
-            "include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.h.inc",
-        ),
-        (
-            ["-gen-type-interface-defs"],
-            "include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.h.inc": ["-gen-type-interface-decls"],
+        "include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.cpp.inc": ["-gen-type-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.td",
     deps = [":OpenAccOpsTdFiles"],
@@ -10806,15 +9445,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "OpenACCPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=OpenACC",
-            ],
-            "include/mlir/Dialect/OpenACC/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/OpenACC/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=OpenACC",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/OpenACC/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -10845,15 +9479,10 @@ cc_library(
 gentbl_cc_library(
     name = "OmpCommonTdGen",
     includes = ["/llvm/include"],
-    tbl_outs = [
-        (
-            [
-                "-gen-directive-decl",
-                "-directives-dialect=OpenMP",
-            ],
-            "include/mlir/Dialect/OpenMP/OmpCommon.td",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/OpenMP/OmpCommon.td": [
+        "-gen-directive-decl",
+        "-directives-dialect=OpenMP",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "//llvm:include/llvm/Frontend/OpenMP/OMP.td",
     deps = [
@@ -10886,74 +9515,38 @@ td_library(
 
 gentbl_cc_library(
     name = "OpenMPOpsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-typedef-decls",
-                "-typedefs-dialect=omp",
-            ],
-            "include/mlir/Dialect/OpenMP/OpenMPOpsTypes.h.inc",
-        ),
-        (
-            [
-                "-gen-typedef-defs",
-                "-typedefs-dialect=omp",
-            ],
-            "include/mlir/Dialect/OpenMP/OpenMPOpsTypes.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/OpenMP/OpenMPOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/OpenMP/OpenMPOps.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/OpenMP/OpenMPOpsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/OpenMP/OpenMPOpsEnums.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=omp",
-            ],
-            "include/mlir/Dialect/OpenMP/OpenMPOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=omp",
-            ],
-            "include/mlir/Dialect/OpenMP/OpenMPOpsDialect.cpp.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-decls",
-                "-attrdefs-dialect=omp",
-            ],
-            "include/mlir/Dialect/OpenMP/OpenMPOpsAttributes.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-attrdefs-dialect=omp",
-            ],
-            "include/mlir/Dialect/OpenMP/OpenMPOpsAttributes.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/OpenMP/OpenMPOps.md",
-        ),
-        (
-            ["-gen-openmp-clause-ops"],
-            "include/mlir/Dialect/OpenMP/OpenMPClauseOps.h.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/OpenMP/OpenMPOpsTypes.h.inc": [
+            "-gen-typedef-decls",
+            "-typedefs-dialect=omp",
+        ],
+        "include/mlir/Dialect/OpenMP/OpenMPOpsTypes.cpp.inc": [
+            "-gen-typedef-defs",
+            "-typedefs-dialect=omp",
+        ],
+        "include/mlir/Dialect/OpenMP/OpenMPOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/OpenMP/OpenMPOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/OpenMP/OpenMPOpsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/OpenMP/OpenMPOpsEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/OpenMP/OpenMPOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=omp",
+        ],
+        "include/mlir/Dialect/OpenMP/OpenMPOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=omp",
+        ],
+        "include/mlir/Dialect/OpenMP/OpenMPOpsAttributes.h.inc": [
+            "-gen-attrdef-decls",
+            "-attrdefs-dialect=omp",
+        ],
+        "include/mlir/Dialect/OpenMP/OpenMPOpsAttributes.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-attrdefs-dialect=omp",
+        ],
+        "g3doc/Dialects/OpenMP/OpenMPOps.md": ["-gen-op-doc"],
+        "include/mlir/Dialect/OpenMP/OpenMPClauseOps.h.inc": ["-gen-openmp-clause-ops"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/OpenMP/OpenMPOps.td",
     deps = [":OpenMPOpsTdFiles"],
@@ -10961,16 +9554,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "OpenMPTypeInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-type-interface-decls"],
-            "include/mlir/Dialect/OpenMP/OpenMPTypeInterfaces.h.inc",
-        ),
-        (
-            ["-gen-type-interface-defs"],
-            "include/mlir/Dialect/OpenMP/OpenMPTypeInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/OpenMP/OpenMPTypeInterfaces.h.inc": ["-gen-type-interface-decls"],
+        "include/mlir/Dialect/OpenMP/OpenMPTypeInterfaces.cpp.inc": ["-gen-type-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/OpenMP/OpenMPTypeInterfaces.td",
     deps = [":OpenMPOpsTdFiles"],
@@ -10978,16 +9565,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "OpenMPInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td",
     deps = [":OpenMPOpsTdFiles"],
@@ -11085,28 +9666,13 @@ td_library(
 
 gentbl_cc_library(
     name = "QuantOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Quant/IR/QuantOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Quant/IR/QuantOps.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/Quant/IR/QuantOpsDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/Quant/IR/QuantOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/QuantOps/QuantOps.md",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Quant/IR/QuantOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Quant/IR/QuantOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/Quant/IR/QuantOpsDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/Quant/IR/QuantOpsDialect.cpp.inc": ["-gen-dialect-defs"],
+        "g3doc/Dialects/QuantOps/QuantOps.md": ["-gen-op-doc"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Quant/IR/QuantOps.td",
     deps = [":QuantizationOpsTdFiles"],
@@ -11114,15 +9680,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "QuantDialectBytecodeGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-bytecode",
-                "-bytecode-dialect=Quant",
-            ],
-            "include/mlir/Dialect/Quant/IR/QuantDialectBytecode.cpp.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Quant/IR/QuantDialectBytecode.cpp.inc": [
+        "-gen-bytecode",
+        "-bytecode-dialect=Quant",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Quant/IR/QuantDialectBytecode.td",
     deps = [
@@ -11181,38 +9742,20 @@ td_library(
 
 gentbl_cc_library(
     name = "IndexOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Index/IR/IndexOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Index/IR/IndexOps.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=index",
-            ],
-            "include/mlir/Dialect/Index/IR/IndexOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=index",
-            ],
-            "include/mlir/Dialect/Index/IR/IndexOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/Index/IR/IndexOpsAttrDefs.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/Index/IR/IndexOpsAttrDefs.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Index/IR/IndexOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Index/IR/IndexOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/Index/IR/IndexOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=index",
+        ],
+        "include/mlir/Dialect/Index/IR/IndexOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=index",
+        ],
+        "include/mlir/Dialect/Index/IR/IndexOpsAttrDefs.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/Index/IR/IndexOpsAttrDefs.cpp.inc": ["-gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Index/IR/IndexOps.td",
     deps = [":IndexOpsTdFiles"],
@@ -11220,30 +9763,18 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "IndexEnumsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/Index/IR/IndexEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/Index/IR/IndexEnums.cpp.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-decls",
-                "-attrdefs-dialect=index",
-            ],
-            "include/mlir/Dialect/Index/IR/IndexAttrs.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-attrdefs-dialect=index",
-            ],
-            "include/mlir/Dialect/Index/IR/IndexAttrs.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Index/IR/IndexEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/Index/IR/IndexEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/Index/IR/IndexAttrs.h.inc": [
+            "-gen-attrdef-decls",
+            "-attrdefs-dialect=index",
+        ],
+        "include/mlir/Dialect/Index/IR/IndexAttrs.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-attrdefs-dialect=index",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Index/IR/IndexEnums.td",
     deps = [":IndexOpsTdFiles"],
@@ -11346,38 +9877,20 @@ td_library(
 
 gentbl_cc_library(
     name = "LinalgOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Linalg/IR/LinalgOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Linalg/IR/LinalgOps.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=linalg",
-            ],
-            "include/mlir/Dialect/Linalg/IR/LinalgOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=linalg",
-            ],
-            "include/mlir/Dialect/Linalg/IR/LinalgOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/Linalg/IR/LinalgOpsAttrDefs.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/Linalg/IR/LinalgOpsAttrDefs.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Linalg/IR/LinalgOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Linalg/IR/LinalgOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/Linalg/IR/LinalgOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=linalg",
+        ],
+        "include/mlir/Dialect/Linalg/IR/LinalgOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=linalg",
+        ],
+        "include/mlir/Dialect/Linalg/IR/LinalgOpsAttrDefs.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/Linalg/IR/LinalgOpsAttrDefs.cpp.inc": ["-gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Linalg/IR/LinalgOps.td",
     deps = [":LinalgOpsTdFiles"],
@@ -11385,16 +9898,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "LinalgRelayoutOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td",
     deps = [":LinalgOpsTdFiles"],
@@ -11402,16 +9909,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "LinalgEnumsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/Linalg/IR/LinalgOpsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/Linalg/IR/LinalgOpsEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Linalg/IR/LinalgOpsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/Linalg/IR/LinalgOpsEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Linalg/IR/LinalgEnums.td",
     deps = [":LinalgOpsTdFiles"],
@@ -11419,16 +9920,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "LinalgMatchOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.td",
     deps = [
@@ -11441,16 +9936,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "LinalgTransformEnumsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOpsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOpsEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOpsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOpsEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformEnums.td",
     deps = [
@@ -11461,16 +9950,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "LinalgTransformOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td",
     deps = [
@@ -11515,16 +9998,10 @@ td_library(
 
 gentbl_cc_library(
     name = "LinalgStructuredOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td",
     deps = [":LinalgStructuredOpsTdFiles"],
@@ -11532,16 +10009,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "LinalgInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Linalg/IR/LinalgInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Linalg/IR/LinalgInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td",
     deps = [":LinalgStructuredOpsTdFiles"],
@@ -11560,16 +10031,10 @@ td_library(
 
 gentbl_cc_library(
     name = "BufferizableOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td",
     deps = [
@@ -11590,16 +10055,10 @@ td_library(
 
 gentbl_cc_library(
     name = "BufferDeallocationOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.td",
     deps = [
@@ -11620,16 +10079,10 @@ td_library(
 
 gentbl_cc_library(
     name = "BufferViewFlowOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.td",
     deps = [
@@ -11650,16 +10103,10 @@ td_library(
 
 gentbl_cc_library(
     name = "SubsetOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/SubsetOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/SubsetOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/SubsetOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/SubsetOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/SubsetOpInterface.td",
     deps = [
@@ -11692,12 +10139,7 @@ td_library(
 
 gentbl_cc_library(
     name = "LinalgDocIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/Linalg/LinalgOps.md",
-        ),
-    ],
+    tbl_outs = {"g3doc/Dialects/Linalg/LinalgOps.md": ["-gen-op-doc"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Linalg/IR/LinalgDoc.td",
     deps = [":LinalgDocTdFiles"],
@@ -11849,29 +10291,20 @@ cc_library(
 
 gentbl_cc_library(
     name = "LinalgPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Linalg",
-            ],
-            "include/mlir/Dialect/Linalg/Passes.h.inc",
-        ),
-        (
-            [
-                "-gen-pass-capi-header",
-                "--prefix=Linalg",
-            ],
-            "include/mlir/Dialect/Linalg/Passes.capi.h.inc",
-        ),
-        (
-            [
-                "-gen-pass-capi-impl",
-                "--prefix=Linalg",
-            ],
-            "include/mlir/Dialect/Linalg/Passes.capi.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Linalg/Passes.h.inc": [
+            "-gen-pass-decls",
+            "-name=Linalg",
+        ],
+        "include/mlir/Dialect/Linalg/Passes.capi.h.inc": [
+            "-gen-pass-capi-header",
+            "--prefix=Linalg",
+        ],
+        "include/mlir/Dialect/Linalg/Passes.capi.cpp.inc": [
+            "-gen-pass-capi-impl",
+            "--prefix=Linalg",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Linalg/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -11985,16 +10418,10 @@ td_library(
 
 gentbl_cc_library(
     name = "ValueBoundsOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Interfaces/ValueBoundsOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Interfaces/ValueBoundsOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Interfaces/ValueBoundsOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Interfaces/ValueBoundsOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Interfaces/ValueBoundsOpInterface.td",
     deps = [
@@ -12097,16 +10524,10 @@ td_library(
 
 gentbl_cc_library(
     name = "MaskableOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Vector/Interfaces/MaskableOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Vector/Interfaces/MaskableOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Vector/Interfaces/MaskableOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Vector/Interfaces/MaskableOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Vector/Interfaces/MaskableOpInterface.td",
     deps = [":MaskableOpInterfaceTdFiles"],
@@ -12114,16 +10535,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "MaskingOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Vector/Interfaces/MaskingOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Vector/Interfaces/MaskingOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Vector/Interfaces/MaskingOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Vector/Interfaces/MaskingOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Vector/Interfaces/MaskingOpInterface.td",
     deps = [":MaskingOpInterfaceTdFiles"],
@@ -12131,26 +10546,17 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "VectorDialectIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=vector",
-            ],
-            "include/mlir/Dialect/Vector/IR/VectorDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=vector",
-            ],
-            "include/mlir/Dialect/Vector/IR/VectorDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/Vector/Vector.md",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Vector/IR/VectorDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=vector",
+        ],
+        "include/mlir/Dialect/Vector/IR/VectorDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=vector",
+        ],
+        "g3doc/Dialects/Vector/Vector.md": ["-gen-op-doc"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Vector/IR/Vector.td",
     deps = [
@@ -12161,16 +10567,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "VectorOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Vector/IR/VectorOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Vector/IR/VectorOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Vector/IR/VectorOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Vector/IR/VectorOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Vector/IR/VectorOps.td",
     deps = [
@@ -12181,24 +10581,12 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "VectorAttributesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/Vector/IR/VectorEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/Vector/IR/VectorEnums.cpp.inc",
-        ),
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/Vector/IR/VectorAttributes.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/Vector/IR/VectorAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Vector/IR/VectorEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/Vector/IR/VectorEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/Vector/IR/VectorAttributes.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/Vector/IR/VectorAttributes.cpp.inc": ["-gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Vector/IR/VectorAttributes.td",
     deps = [
@@ -12209,16 +10597,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "VectorTransformOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td",
     deps = [
@@ -12381,44 +10763,17 @@ td_library(
 
 gentbl_cc_library(
     name = "TosaDialectIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Tosa/IR/TosaOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Tosa/IR/TosaOps.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/Tosa/IR/TosaOpsDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/Tosa/IR/TosaOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/Tosa/IR/TosaOpsTypesBase.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/Tosa/IR/TosaOpsTypesBase.cpp.inc",
-        ),
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/Tosa/IR/TosaAttributes.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/Tosa/IR/TosaAttributes.cpp.inc",
-        ),
-        (
-            ["-gen-op-doc"],
-            "g3doc/Dialects/Tosa/TosaOps.md",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Tosa/IR/TosaOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Tosa/IR/TosaOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/Tosa/IR/TosaOpsDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/Tosa/IR/TosaOpsDialect.cpp.inc": ["-gen-dialect-defs"],
+        "include/mlir/Dialect/Tosa/IR/TosaOpsTypesBase.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/Tosa/IR/TosaOpsTypesBase.cpp.inc": ["-gen-typedef-defs"],
+        "include/mlir/Dialect/Tosa/IR/TosaAttributes.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/Tosa/IR/TosaAttributes.cpp.inc": ["-gen-attrdef-defs"],
+        "g3doc/Dialects/Tosa/TosaOps.md": ["-gen-op-doc"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Tosa/IR/TosaOps.td",
     deps = [":TosaDialectTdFiles"],
@@ -12426,16 +10781,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "TosaEnumsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/Tosa/IR/TosaEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/Tosa/IR/TosaEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Tosa/IR/TosaEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/Tosa/IR/TosaEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Tosa/IR/TosaOpBase.td",
     deps = [":TosaDialectTdFiles"],
@@ -12443,20 +10792,11 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "TosaAvailabilityIncGen",
-    tbl_outs = [
-        (
-            ["-gen-avail-interface-decls"],
-            "include/mlir/Dialect/Tosa/IR/TosaAvailability.h.inc",
-        ),
-        (
-            ["-gen-avail-interface-defs"],
-            "include/mlir/Dialect/Tosa/IR/TosaAvailability.cpp.inc",
-        ),
-        (
-            ["-gen-tosa-avail-impls"],
-            "include/mlir/Dialect/Tosa/IR/TosaOpAvailabilityImpl.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Tosa/IR/TosaAvailability.h.inc": ["-gen-avail-interface-decls"],
+        "include/mlir/Dialect/Tosa/IR/TosaAvailability.cpp.inc": ["-gen-avail-interface-defs"],
+        "include/mlir/Dialect/Tosa/IR/TosaOpAvailabilityImpl.inc": ["-gen-tosa-avail-impls"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Tosa/IR/TosaOps.td",
     deps = [":TosaDialectTdFiles"],
@@ -12465,15 +10805,10 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "TosaDialectBytecodeGen",
     strip_include_prefix = "include",
-    tbl_outs = [
-        (
-            [
-                "-gen-bytecode",
-                "-bytecode-dialect=Tosa",
-            ],
-            "include/mlir/Dialect/Tosa/IR/TosaDialectBytecode.cpp.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Tosa/IR/TosaDialectBytecode.cpp.inc": [
+        "-gen-bytecode",
+        "-bytecode-dialect=Tosa",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Tosa/IR/TosaDialectBytecode.td",
     deps = [
@@ -12483,16 +10818,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "TosaInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Tosa/IR/TosaInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Tosa/IR/TosaInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Tosa/IR/TosaInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Tosa/IR/TosaInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Tosa/IR/TosaInterfaces.td",
     deps = [":TosaDialectTdFiles"],
@@ -12500,29 +10829,20 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "TosaPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=TosaOpt",
-            ],
-            "include/mlir/Dialect/Tosa/Transforms/Passes.h.inc",
-        ),
-        (
-            [
-                "-gen-enum-decls",
-                "-name=TosaOpt",
-            ],
-            "include/mlir/Dialect/Tosa/Transforms/PassesEnums.h.inc",
-        ),
-        (
-            [
-                "-gen-enum-defs",
-                "-name=TosaOpt",
-            ],
-            "include/mlir/Dialect/Tosa/Transforms/PassesEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Tosa/Transforms/Passes.h.inc": [
+            "-gen-pass-decls",
+            "-name=TosaOpt",
+        ],
+        "include/mlir/Dialect/Tosa/Transforms/PassesEnums.h.inc": [
+            "-gen-enum-decls",
+            "-name=TosaOpt",
+        ],
+        "include/mlir/Dialect/Tosa/Transforms/PassesEnums.cpp.inc": [
+            "-gen-enum-defs",
+            "-name=TosaOpt",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Tosa/Transforms/Passes.td",
     deps = [
@@ -12726,20 +11046,14 @@ td_library(
 
 gentbl_cc_library(
     name = "TransformDialectEnumsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-enum-decls",
-            ],
-            "include/mlir/Dialect/Transform/IR/TransformDialectEnums.h.inc",
-        ),
-        (
-            [
-                "-gen-enum-defs",
-            ],
-            "include/mlir/Dialect/Transform/IR/TransformDialectEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Transform/IR/TransformDialectEnums.h.inc": [
+            "-gen-enum-decls",
+        ],
+        "include/mlir/Dialect/Transform/IR/TransformDialectEnums.cpp.inc": [
+            "-gen-enum-defs",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Transform/IR/TransformAttrs.td",
     deps = [":TransformDialectTdFiles"],
@@ -12747,20 +11061,14 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "TransformDialectMatchInterfacesIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-op-interface-decls",
-            ],
-            "include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.h.inc",
-        ),
-        (
-            [
-                "-gen-op-interface-defs",
-            ],
-            "include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.h.inc": [
+            "-gen-op-interface-decls",
+        ],
+        "include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.cpp.inc": [
+            "-gen-op-interface-defs",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.td",
     deps = [
@@ -12771,32 +11079,20 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "TransformDialectInterfacesIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-op-interface-decls",
-            ],
-            "include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h.inc",
-        ),
-        (
-            [
-                "-gen-op-interface-defs",
-            ],
-            "include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.cpp.inc",
-        ),
-        (
-            [
-                "-gen-type-interface-decls",
-            ],
-            "include/mlir/Dialect/Transform/Interfaces/TransformTypeInterfaces.h.inc",
-        ),
-        (
-            [
-                "-gen-type-interface-defs",
-            ],
-            "include/mlir/Dialect/Transform/Interfaces/TransformTypeInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h.inc": [
+            "-gen-op-interface-decls",
+        ],
+        "include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.cpp.inc": [
+            "-gen-op-interface-defs",
+        ],
+        "include/mlir/Dialect/Transform/Interfaces/TransformTypeInterfaces.h.inc": [
+            "-gen-type-interface-decls",
+        ],
+        "include/mlir/Dialect/Transform/Interfaces/TransformTypeInterfaces.cpp.inc": [
+            "-gen-type-interface-defs",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.td",
     deps = [":TransformDialectTdFiles"],
@@ -12804,20 +11100,14 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "TransformDialectIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-            ],
-            "include/mlir/Dialect/Transform/IR/TransformDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-            ],
-            "include/mlir/Dialect/Transform/IR/TransformDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Transform/IR/TransformDialect.h.inc": [
+            "-gen-dialect-decls",
+        ],
+        "include/mlir/Dialect/Transform/IR/TransformDialect.cpp.inc": [
+            "-gen-dialect-defs",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Transform/IR/TransformDialect.td",
     deps = [":TransformDialectTdFiles"],
@@ -12825,16 +11115,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "TransformOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Transform/IR/TransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Transform/IR/TransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Transform/IR/TransformOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Transform/IR/TransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Transform/IR/TransformOps.td",
     deps = [
@@ -12846,16 +11130,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "TransformTypesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/Transform/IR/TransformTypes.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/Transform/IR/TransformTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Transform/IR/TransformTypes.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/Transform/IR/TransformTypes.cpp.inc": ["-gen-typedef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Transform/IR/TransformTypes.td",
     deps = [":TransformDialectTdFiles"],
@@ -12923,20 +11201,14 @@ td_library(
 
 gentbl_cc_library(
     name = "TransformPDLExtensionOpsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-op-decls",
-            ],
-            "include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.h.inc",
-        ),
-        (
-            [
-                "-gen-op-defs",
-            ],
-            "include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.h.inc": [
+            "-gen-op-decls",
+        ],
+        "include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.cpp.inc": [
+            "-gen-op-defs",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.td",
     deps = [":TransformPDLExtensionTdFiles"],
@@ -12962,20 +11234,14 @@ cc_library(
 
 gentbl_cc_library(
     name = "TransformIRDLExtensionOpsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-op-decls",
-            ],
-            "include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.h.inc",
-        ),
-        (
-            [
-                "-gen-op-defs",
-            ],
-            "include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.h.inc": [
+            "-gen-op-decls",
+        ],
+        "include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.cpp.inc": [
+            "-gen-op-defs",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.td",
     deps = [":TransformPDLExtensionTdFiles"],
@@ -13009,20 +11275,14 @@ td_library(
 
 gentbl_cc_library(
     name = "TransformDebugExtensionOpsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-op-decls",
-            ],
-            "include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h.inc",
-        ),
-        (
-            [
-                "-gen-op-defs",
-            ],
-            "include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h.inc": [
+            "-gen-op-decls",
+        ],
+        "include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp.inc": [
+            "-gen-op-defs",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td",
     deps = [":TransformDebugExtensionTdFiles"],
@@ -13052,20 +11312,14 @@ td_library(
 
 gentbl_cc_library(
     name = "TransformLoopExtensionOpsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-op-decls",
-            ],
-            "include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.h.inc",
-        ),
-        (
-            [
-                "-gen-op-defs",
-            ],
-            "include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.h.inc": [
+            "-gen-op-decls",
+        ],
+        "include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.cpp.inc": [
+            "-gen-op-defs",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.td",
     deps = [":TransformLoopExtensionTdFiles"],
@@ -13101,15 +11355,10 @@ td_library(
 
 gentbl_cc_library(
     name = "TransformDialectTransformsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Transform",
-            ],
-            "include/mlir/Dialect/Transform/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Transform/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=Transform",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Transform/Transforms/Passes.td",
     deps = [":TransformDialectTransformsTdFiles"],
@@ -13166,24 +11415,12 @@ td_library(
 
 gentbl_cc_library(
     name = "ComplexAttributesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/Complex/IR/ComplexAttributes.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/Complex/IR/ComplexAttributes.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/Complex/IR/ComplexEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/Complex/IR/ComplexEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Complex/IR/ComplexAttributes.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/Complex/IR/ComplexAttributes.cpp.inc": ["-gen-attrdef-defs"],
+        "include/mlir/Dialect/Complex/IR/ComplexEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/Complex/IR/ComplexEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Complex/IR/ComplexAttributes.td",
     deps = [":ComplexOpsTdFiles"],
@@ -13191,22 +11428,16 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ComplexBaseIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=complex",
-            ],
-            "include/mlir/Dialect/Complex/IR/ComplexOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=complex",
-            ],
-            "include/mlir/Dialect/Complex/IR/ComplexOpsDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Complex/IR/ComplexOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=complex",
+        ],
+        "include/mlir/Dialect/Complex/IR/ComplexOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=complex",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Complex/IR/ComplexBase.td",
     deps = [":ComplexOpsTdFiles"],
@@ -13214,16 +11445,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ComplexOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Complex/IR/ComplexOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Complex/IR/ComplexOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Complex/IR/ComplexOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Complex/IR/ComplexOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Complex/IR/ComplexOps.td",
     deps = [":ComplexOpsTdFiles"],
@@ -13395,30 +11620,18 @@ td_library(
 
 gentbl_cc_library(
     name = "ArithBaseIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=arith",
-            ],
-            "include/mlir/Dialect/Arith/IR/ArithOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=arith",
-            ],
-            "include/mlir/Dialect/Arith/IR/ArithOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/Arith/IR/ArithOpsEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/Arith/IR/ArithOpsEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Arith/IR/ArithOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=arith",
+        ],
+        "include/mlir/Dialect/Arith/IR/ArithOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=arith",
+        ],
+        "include/mlir/Dialect/Arith/IR/ArithOpsEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/Arith/IR/ArithOpsEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Arith/IR/ArithBase.td",
     deps = [":ArithOpsTdFiles"],
@@ -13426,30 +11639,18 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ArithOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Arith/IR/ArithOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Arith/IR/ArithOps.cpp.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-decls",
-                "-attrdefs-dialect=arith",
-            ],
-            "include/mlir/Dialect/Arith/IR/ArithOpsAttributes.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-attrdefs-dialect=arith",
-            ],
-            "include/mlir/Dialect/Arith/IR/ArithOpsAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Arith/IR/ArithOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Arith/IR/ArithOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/Arith/IR/ArithOpsAttributes.h.inc": [
+            "-gen-attrdef-decls",
+            "-attrdefs-dialect=arith",
+        ],
+        "include/mlir/Dialect/Arith/IR/ArithOpsAttributes.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-attrdefs-dialect=arith",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Arith/IR/ArithOps.td",
     deps = [
@@ -13459,16 +11660,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ArithOpsInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td",
     deps = [
@@ -13479,12 +11674,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "ArithCanonicalizationIncGen",
     strip_include_prefix = "include/mlir/Dialect/Arith/IR",
-    tbl_outs = [
-        (
-            ["-gen-rewriters"],
-            "include/mlir/Dialect/Arith/IR/ArithCanonicalization.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Arith/IR/ArithCanonicalization.inc": ["-gen-rewriters"]},
     tblgen = ":mlir-tblgen",
     td_file = "lib/Dialect/Arith/IR/ArithCanonicalization.td",
     deps = [
@@ -13539,15 +11729,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "ArithPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Arith",
-            ],
-            "include/mlir/Dialect/Arith/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Arith/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=Arith",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Arith/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -13621,22 +11806,16 @@ td_library(
 
 gentbl_cc_library(
     name = "MathBaseIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=math",
-            ],
-            "include/mlir/Dialect/Math/IR/MathOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=math",
-            ],
-            "include/mlir/Dialect/Math/IR/MathOpsDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Math/IR/MathOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=math",
+        ],
+        "include/mlir/Dialect/Math/IR/MathOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=math",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Math/IR/MathBase.td",
     deps = [":MathOpsTdFiles"],
@@ -13644,16 +11823,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "MathOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Math/IR/MathOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Math/IR/MathOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Math/IR/MathOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Math/IR/MathOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Math/IR/MathOps.td",
     deps = [":MathOpsTdFiles"],
@@ -13661,15 +11834,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "MathPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Math",
-            ],
-            "include/mlir/Dialect/Math/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Math/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=Math",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Math/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -13771,22 +11939,16 @@ td_library(
 
 gentbl_cc_library(
     name = "MemRefBaseIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=memref",
-            ],
-            "include/mlir/Dialect/MemRef/IR/MemRefOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=memref",
-            ],
-            "include/mlir/Dialect/MemRef/IR/MemRefOpsDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/MemRef/IR/MemRefOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=memref",
+        ],
+        "include/mlir/Dialect/MemRef/IR/MemRefOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=memref",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/MemRef/IR/MemRefBase.td",
     deps = [":MemRefOpsTdFiles"],
@@ -13794,16 +11956,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "MemRefOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/MemRef/IR/MemRefOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/MemRef/IR/MemRefOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/MemRef/IR/MemRefOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/MemRef/IR/MemRefOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/MemRef/IR/MemRefOps.td",
     deps = [
@@ -13876,15 +12032,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "MemRefPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=MemRef",
-            ],
-            "include/mlir/Dialect/MemRef/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/MemRef/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=MemRef",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/MemRef/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -13945,16 +12096,10 @@ td_library(
 
 gentbl_cc_library(
     name = "MemRefTransformOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td",
     deps = [
@@ -14016,24 +12161,12 @@ td_library(
 
 gentbl_cc_library(
     name = "MLProgramOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/MLProgram/IR/MLProgramOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/MLProgram/IR/MLProgramOps.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/MLProgram/IR/MLProgramOpsDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/MLProgram/IR/MLProgramOpsDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/MLProgram/IR/MLProgramOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/MLProgram/IR/MLProgramOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/MLProgram/IR/MLProgramOpsDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/MLProgram/IR/MLProgramOpsDialect.cpp.inc": ["-gen-dialect-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/MLProgram/IR/MLProgramOps.td",
     deps = [":MLProgramOpsTdFiles"],
@@ -14041,16 +12174,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "MLProgramAttributesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/MLProgram/IR/MLProgramAttributes.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/MLProgram/IR/MLProgramAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/MLProgram/IR/MLProgramAttributes.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/MLProgram/IR/MLProgramAttributes.cpp.inc": ["-gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/MLProgram/IR/MLProgramAttributes.td",
     deps = [":MLProgramOpsTdFiles"],
@@ -14058,15 +12185,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "MLProgramPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=MLProgram",
-            ],
-            "include/mlir/Dialect/MLProgram/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/MLProgram/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=MLProgram",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/MLProgram/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -14074,16 +12196,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "MLProgramTypesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/MLProgram/IR/MLProgramTypes.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/MLProgram/IR/MLProgramTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/MLProgram/IR/MLProgramTypes.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/MLProgram/IR/MLProgramTypes.cpp.inc": ["-gen-typedef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/MLProgram/IR/MLProgramTypes.td",
     deps = [":MLProgramOpsTdFiles"],
@@ -14150,24 +12266,12 @@ td_library(
 
 gentbl_cc_library(
     name = "MPIIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/MPI/IR/MPI.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/MPI/IR/MPI.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/mlir/Dialect/MPI/IR/MPIDialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/mlir/Dialect/MPI/IR/MPIDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/MPI/IR/MPI.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/MPI/IR/MPI.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/MPI/IR/MPIDialect.h.inc": ["-gen-dialect-decls"],
+        "include/mlir/Dialect/MPI/IR/MPIDialect.cpp.inc": ["-gen-dialect-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/MPI/IR/MPI.td",
     deps = [":MPITdFiles"],
@@ -14175,16 +12279,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "MPIOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/MPI/IR/MPIOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/MPI/IR/MPIOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/MPI/IR/MPIOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/MPI/IR/MPIOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/MPI/IR/MPIOps.td",
     deps = [":MPITdFiles"],
@@ -14192,16 +12290,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "MPITypesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-typedef-decls"],
-            "include/mlir/Dialect/MPI/IR/MPITypesGen.h.inc",
-        ),
-        (
-            ["-gen-typedef-defs"],
-            "include/mlir/Dialect/MPI/IR/MPITypesGen.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/MPI/IR/MPITypesGen.h.inc": ["-gen-typedef-decls"],
+        "include/mlir/Dialect/MPI/IR/MPITypesGen.cpp.inc": ["-gen-typedef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/MPI/IR/MPITypes.td",
     deps = [":MPITdFiles"],
@@ -14209,24 +12301,12 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "MPIAttrsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/MPI/IR/MPIEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/MPI/IR/MPIEnums.cpp.inc",
-        ),
-        (
-            ["-gen-attrdef-decls"],
-            "include/mlir/Dialect/MPI/IR/MPIAttrDefs.h.inc",
-        ),
-        (
-            ["-gen-attrdef-defs"],
-            "include/mlir/Dialect/MPI/IR/MPIAttrDefs.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/MPI/IR/MPIEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/MPI/IR/MPIEnums.cpp.inc": ["-gen-enum-defs"],
+        "include/mlir/Dialect/MPI/IR/MPIAttrDefs.h.inc": ["-gen-attrdef-decls"],
+        "include/mlir/Dialect/MPI/IR/MPIAttrDefs.cpp.inc": ["-gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/MPI/IR/MPI.td",
     deps = [":MPITdFiles"],
@@ -14279,16 +12359,10 @@ td_library(
 
 gentbl_cc_library(
     name = "AllocationOpInterfaceIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.h.inc": ["-gen-op-interface-decls"],
+        "include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.td",
     deps = [":AllocationOpInterfaceTdFiles"],
@@ -14328,22 +12402,16 @@ td_library(
 
 gentbl_cc_library(
     name = "BufferizationBaseIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=bufferization",
-            ],
-            "include/mlir/Dialect/Bufferization/IR/BufferizationOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=bufferization",
-            ],
-            "include/mlir/Dialect/Bufferization/IR/BufferizationOpsDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Bufferization/IR/BufferizationOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=bufferization",
+        ],
+        "include/mlir/Dialect/Bufferization/IR/BufferizationOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=bufferization",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Bufferization/IR/BufferizationBase.td",
     deps = [":BufferizationOpsTdFiles"],
@@ -14362,16 +12430,10 @@ td_library(
 
 gentbl_cc_library(
     name = "BufferizationEnumsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "include/mlir/Dialect/Bufferization/IR/BufferizationEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "include/mlir/Dialect/Bufferization/IR/BufferizationEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Bufferization/IR/BufferizationEnums.h.inc": ["-gen-enum-decls"],
+        "include/mlir/Dialect/Bufferization/IR/BufferizationEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Bufferization/IR/BufferizationEnums.td",
     deps = [":BufferizationEnumsTdFiles"],
@@ -14391,16 +12453,10 @@ td_library(
 
 gentbl_cc_library(
     name = "BufferizationTransformOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.td",
     deps = [
@@ -14436,16 +12492,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "BufferizationOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/Bufferization/IR/BufferizationOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/Bufferization/IR/BufferizationOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/Bufferization/IR/BufferizationOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/Bufferization/IR/BufferizationOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Bufferization/IR/BufferizationOps.td",
     deps = [
@@ -14521,15 +12571,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "BufferizationPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Bufferization",
-            ],
-            "include/mlir/Dialect/Bufferization/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Bufferization/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=Bufferization",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Bufferization/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
@@ -14627,22 +12672,16 @@ td_library(
 
 gentbl_cc_library(
     name = "DLTIBaseIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=dlti",
-            ],
-            "include/mlir/Dialect/DLTI/DLTIDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=dlti",
-            ],
-            "include/mlir/Dialect/DLTI/DLTIDialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/DLTI/DLTIDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=dlti",
+        ],
+        "include/mlir/Dialect/DLTI/DLTIDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=dlti",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/DLTI/DLTIBase.td",
     deps = [":OpBaseTdFiles"],
@@ -14650,22 +12689,16 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "DLTIAttrsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-attrdef-decls",
-                "-dialect=dlti",
-            ],
-            "include/mlir/Dialect/DLTI/DLTIAttrs.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-dialect=dlti",
-            ],
-            "include/mlir/Dialect/DLTI/DLTIAttrs.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/DLTI/DLTIAttrs.h.inc": [
+            "-gen-attrdef-decls",
+            "-dialect=dlti",
+        ],
+        "include/mlir/Dialect/DLTI/DLTIAttrs.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-dialect=dlti",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/DLTI/DLTIAttrs.td",
     deps = [
@@ -14699,22 +12732,16 @@ td_library(
 
 gentbl_cc_library(
     name = "DLTITransformOpsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-op-decls",
-                "-dialect=dlti",
-            ],
-            "include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.h.inc",
-        ),
-        (
-            [
-                "-gen-op-defs",
-                "-dialect=dlti",
-            ],
-            "include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.h.inc": [
+            "-gen-op-decls",
+            "-dialect=dlti",
+        ],
+        "include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.cpp.inc": [
+            "-gen-op-defs",
+            "-dialect=dlti",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.td",
     deps = [
@@ -14739,15 +12766,10 @@ cc_library(
 
 gentbl_cc_library(
     name = "ReducerIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Reducer",
-            ],
-            "include/mlir/Reducer/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Reducer/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=Reducer",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Reducer/Passes.td",
     deps = [
@@ -14982,16 +13004,10 @@ td_library(
 
 gentbl_cc_library(
     name = "UBOpsInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["--gen-attr-interface-decls"],
-            "include/mlir/Dialect/UB/IR/UBOpsInterfaces.h.inc",
-        ),
-        (
-            ["--gen-attr-interface-defs"],
-            "include/mlir/Dialect/UB/IR/UBOpsInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/UB/IR/UBOpsInterfaces.h.inc": ["--gen-attr-interface-decls"],
+        "include/mlir/Dialect/UB/IR/UBOpsInterfaces.cpp.inc": ["--gen-attr-interface-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/UB/IR/UBOpsInterfaces.td",
     deps = [":UBDialectTdFiles"],
@@ -14999,38 +13015,20 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "UBOpsIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=ub",
-            ],
-            "include/mlir/Dialect/UB/IR/UBOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=ub",
-            ],
-            "include/mlir/Dialect/UB/IR/UBOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/UB/IR/UBOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/UB/IR/UBOps.cpp.inc",
-        ),
-        (
-            ["--gen-attrdef-decls"],
-            "include/mlir/Dialect/UB/IR/UBOpsAttributes.h.inc",
-        ),
-        (
-            ["--gen-attrdef-defs"],
-            "include/mlir/Dialect/UB/IR/UBOpsAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/UB/IR/UBOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=ub",
+        ],
+        "include/mlir/Dialect/UB/IR/UBOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=ub",
+        ],
+        "include/mlir/Dialect/UB/IR/UBOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/UB/IR/UBOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/UB/IR/UBOpsAttributes.h.inc": ["--gen-attrdef-decls"],
+        "include/mlir/Dialect/UB/IR/UBOpsAttributes.cpp.inc": ["--gen-attrdef-defs"],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/UB/IR/UBOps.td",
     deps = [":UBDialectTdFiles"],
@@ -15123,44 +13121,26 @@ td_library(
 
 gentbl_cc_library(
     name = "VCIXOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/mlir/Dialect/LLVMIR/VCIXOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/mlir/Dialect/LLVMIR/VCIXOps.cpp.inc",
-        ),
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=vcix",
-            ],
-            "include/mlir/Dialect/LLVMIR/VCIXOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=vcix",
-            ],
-            "include/mlir/Dialect/LLVMIR/VCIXOpsDialect.cpp.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-decls",
-                "-attrdefs-dialect=vcix",
-            ],
-            "include/mlir/Dialect/LLVMIR/VCIXOpsAttributes.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "-attrdefs-dialect=vcix",
-            ],
-            "include/mlir/Dialect/LLVMIR/VCIXOpsAttributes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/mlir/Dialect/LLVMIR/VCIXOps.h.inc": ["-gen-op-decls"],
+        "include/mlir/Dialect/LLVMIR/VCIXOps.cpp.inc": ["-gen-op-defs"],
+        "include/mlir/Dialect/LLVMIR/VCIXOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=vcix",
+        ],
+        "include/mlir/Dialect/LLVMIR/VCIXOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=vcix",
+        ],
+        "include/mlir/Dialect/LLVMIR/VCIXOpsAttributes.h.inc": [
+            "-gen-attrdef-decls",
+            "-attrdefs-dialect=vcix",
+        ],
+        "include/mlir/Dialect/LLVMIR/VCIXOpsAttributes.cpp.inc": [
+            "-gen-attrdef-defs",
+            "-attrdefs-dialect=vcix",
+        ],
+    },
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/VCIXOps.td",
     deps = [":VCIXTdFiles"],
@@ -15183,12 +13163,7 @@ cc_library(
 
 gentbl_cc_library(
     name = "VCIXConversionIncGen",
-    tbl_outs = [
-        (
-            ["-gen-llvmir-conversions"],
-            "include/mlir/Dialect/LLVMIR/VCIXConversions.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/LLVMIR/VCIXConversions.inc": ["-gen-llvmir-conversions"]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/LLVMIR/VCIXOps.td",
     deps = [":VCIXTdFiles"],
@@ -15196,15 +13171,10 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "QuantPassIncGen",
-    tbl_outs = [
-        (
-            [
-                "-gen-pass-decls",
-                "-name=Quant",
-            ],
-            "include/mlir/Dialect/Quant/Transforms/Passes.h.inc",
-        ),
-    ],
+    tbl_outs = {"include/mlir/Dialect/Quant/Transforms/Passes.h.inc": [
+        "-gen-pass-decls",
+        "-name=Quant",
+    ]},
     tblgen = ":mlir-tblgen",
     td_file = "include/mlir/Dialect/Quant/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
diff --git a/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
index 321b8d7cb232e..0fdda77771438 100644
--- a/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
@@ -22,24 +22,12 @@ td_library(
 
 gentbl_cc_library(
     name = "ToyOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/toy/Ops.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/toy/Ops.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/toy/Dialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/toy/Dialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/toy/Ops.h.inc": ["-gen-op-decls"],
+        "include/toy/Ops.cpp.inc": ["-gen-op-defs"],
+        "include/toy/Dialect.h.inc": ["-gen-dialect-decls"],
+        "include/toy/Dialect.cpp.inc": ["-gen-dialect-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "include/toy/Ops.td",
     deps = [":ToyOpsTdFiles"],
diff --git a/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
index b776bedab46f9..62e1d68cf6860 100644
--- a/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
@@ -22,24 +22,12 @@ td_library(
 
 gentbl_cc_library(
     name = "ToyOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/toy/Ops.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/toy/Ops.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/toy/Dialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/toy/Dialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/toy/Ops.h.inc": ["-gen-op-decls"],
+        "include/toy/Ops.cpp.inc": ["-gen-op-defs"],
+        "include/toy/Dialect.h.inc": ["-gen-dialect-decls"],
+        "include/toy/Dialect.cpp.inc": ["-gen-dialect-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "include/toy/Ops.td",
     deps = [":ToyOpsTdFiles"],
@@ -48,12 +36,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "ToyCombineIncGen",
     strip_include_prefix = "mlir",
-    tbl_outs = [
-        (
-            ["-gen-rewriters"],
-            "mlir/ToyCombine.inc",
-        ),
-    ],
+    tbl_outs = {"mlir/ToyCombine.inc": ["-gen-rewriters"]},
     tblgen = "//mlir:mlir-tblgen",
     td_file = "mlir/ToyCombine.td",
     deps = [":ToyOpsTdFiles"],
diff --git a/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
index 68639df2aa2ca..3ac6ddca29818 100644
--- a/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
@@ -25,16 +25,10 @@ td_library(
 
 gentbl_cc_library(
     name = "ToyInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/toy/ShapeInferenceOpInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/toy/ShapeInferenceOpInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/toy/ShapeInferenceOpInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/toy/ShapeInferenceOpInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "include/toy/ShapeInferenceInterface.td",
     deps = [":ToyOpsTdFiles"],
@@ -42,24 +36,12 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ToyOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/toy/Ops.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/toy/Ops.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/toy/Dialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/toy/Dialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/toy/Ops.h.inc": ["-gen-op-decls"],
+        "include/toy/Ops.cpp.inc": ["-gen-op-defs"],
+        "include/toy/Dialect.h.inc": ["-gen-dialect-decls"],
+        "include/toy/Dialect.cpp.inc": ["-gen-dialect-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "include/toy/Ops.td",
     deps = [":ToyOpsTdFiles"],
@@ -68,12 +50,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "ToyCombineIncGen",
     strip_include_prefix = "mlir",
-    tbl_outs = [
-        (
-            ["-gen-rewriters"],
-            "mlir/ToyCombine.inc",
-        ),
-    ],
+    tbl_outs = {"mlir/ToyCombine.inc": ["-gen-rewriters"]},
     tblgen = "//mlir:mlir-tblgen",
     td_file = "mlir/ToyCombine.td",
     deps = [":ToyOpsTdFiles"],
diff --git a/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
index 9ce23b5d97547..34b7487bdf69c 100644
--- a/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
@@ -25,16 +25,10 @@ td_library(
 
 gentbl_cc_library(
     name = "ToyInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/toy/ShapeInferenceOpInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/toy/ShapeInferenceOpInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/toy/ShapeInferenceOpInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/toy/ShapeInferenceOpInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "include/toy/ShapeInferenceInterface.td",
     deps = [":ToyOpsTdFiles"],
@@ -42,24 +36,12 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ToyOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/toy/Ops.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/toy/Ops.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/toy/Dialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/toy/Dialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/toy/Ops.h.inc": ["-gen-op-decls"],
+        "include/toy/Ops.cpp.inc": ["-gen-op-defs"],
+        "include/toy/Dialect.h.inc": ["-gen-dialect-decls"],
+        "include/toy/Dialect.cpp.inc": ["-gen-dialect-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "include/toy/Ops.td",
     deps = [":ToyOpsTdFiles"],
@@ -68,12 +50,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "ToyCombineIncGen",
     strip_include_prefix = "mlir",
-    tbl_outs = [
-        (
-            ["-gen-rewriters"],
-            "mlir/ToyCombine.inc",
-        ),
-    ],
+    tbl_outs = {"mlir/ToyCombine.inc": ["-gen-rewriters"]},
     tblgen = "//mlir:mlir-tblgen",
     td_file = "mlir/ToyCombine.td",
     deps = [":ToyOpsTdFiles"],
diff --git a/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
index 86925aa0662c7..ea1ef88151891 100644
--- a/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
@@ -25,16 +25,10 @@ td_library(
 
 gentbl_cc_library(
     name = "ToyInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/toy/ShapeInferenceOpInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/toy/ShapeInferenceOpInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/toy/ShapeInferenceOpInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/toy/ShapeInferenceOpInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "include/toy/ShapeInferenceInterface.td",
     deps = [":ToyOpsTdFiles"],
@@ -42,24 +36,12 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ToyOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/toy/Ops.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/toy/Ops.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/toy/Dialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/toy/Dialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/toy/Ops.h.inc": ["-gen-op-decls"],
+        "include/toy/Ops.cpp.inc": ["-gen-op-defs"],
+        "include/toy/Dialect.h.inc": ["-gen-dialect-decls"],
+        "include/toy/Dialect.cpp.inc": ["-gen-dialect-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "include/toy/Ops.td",
     deps = [":ToyOpsTdFiles"],
@@ -68,12 +50,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "ToyCombineIncGen",
     strip_include_prefix = "mlir",
-    tbl_outs = [
-        (
-            ["-gen-rewriters"],
-            "mlir/ToyCombine.inc",
-        ),
-    ],
+    tbl_outs = {"mlir/ToyCombine.inc": ["-gen-rewriters"]},
     tblgen = "//mlir:mlir-tblgen",
     td_file = "mlir/ToyCombine.td",
     deps = [":ToyOpsTdFiles"],
diff --git a/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
index bf9ab79529b8d..6e67715468c05 100644
--- a/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
@@ -25,16 +25,10 @@ td_library(
 
 gentbl_cc_library(
     name = "ToyInterfacesIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-interface-decls"],
-            "include/toy/ShapeInferenceOpInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "include/toy/ShapeInferenceOpInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/toy/ShapeInferenceOpInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "include/toy/ShapeInferenceOpInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "include/toy/ShapeInferenceInterface.td",
     deps = [":ToyOpsTdFiles"],
@@ -42,24 +36,12 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "ToyOpsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "include/toy/Ops.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "include/toy/Ops.cpp.inc",
-        ),
-        (
-            ["-gen-dialect-decls"],
-            "include/toy/Dialect.h.inc",
-        ),
-        (
-            ["-gen-dialect-defs"],
-            "include/toy/Dialect.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "include/toy/Ops.h.inc": ["-gen-op-decls"],
+        "include/toy/Ops.cpp.inc": ["-gen-op-defs"],
+        "include/toy/Dialect.h.inc": ["-gen-dialect-decls"],
+        "include/toy/Dialect.cpp.inc": ["-gen-dialect-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "include/toy/Ops.td",
     deps = [":ToyOpsTdFiles"],
@@ -68,12 +50,7 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "ToyCombineIncGen",
     strip_include_prefix = "mlir",
-    tbl_outs = [
-        (
-            ["-gen-rewriters"],
-            "mlir/ToyCombine.inc",
-        ),
-    ],
+    tbl_outs = {"mlir/ToyCombine.inc": ["-gen-rewriters"]},
     tblgen = "//mlir:mlir-tblgen",
     td_file = "mlir/ToyCombine.td",
     deps = [":ToyOpsTdFiles"],
diff --git a/utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
index f29cc028c52c0..611fbecd215cd 100644
--- a/utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
@@ -132,16 +132,10 @@ td_library(
 gentbl_cc_library(
     name = "TestOpsSyntaxIncGen",
     strip_include_prefix = "lib/Dialect/Test",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "lib/Dialect/Test/TestOpsSyntax.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "lib/Dialect/Test/TestOpsSyntax.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "lib/Dialect/Test/TestOpsSyntax.h.inc": ["-gen-op-decls"],
+        "lib/Dialect/Test/TestOpsSyntax.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "lib/Dialect/Test/TestOpsSyntax.td",
     test = True,
@@ -153,26 +147,17 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "TestOpsIncGen",
     strip_include_prefix = "lib/Dialect/Test",
-    tbl_outs = [
-        (
-            [
-                "-gen-dialect-decls",
-                "-dialect=test",
-            ],
-            "lib/Dialect/Test/TestOpsDialect.h.inc",
-        ),
-        (
-            [
-                "-gen-dialect-defs",
-                "-dialect=test",
-            ],
-            "lib/Dialect/Test/TestOpsDialect.cpp.inc",
-        ),
-        (
-            ["-gen-rewriters"],
-            "lib/Dialect/Test/TestPatterns.inc",
-        ),
-    ],
+    tbl_outs = {
+        "lib/Dialect/Test/TestOpsDialect.h.inc": [
+            "-gen-dialect-decls",
+            "-dialect=test",
+        ],
+        "lib/Dialect/Test/TestOpsDialect.cpp.inc": [
+            "-gen-dialect-defs",
+            "-dialect=test",
+        ],
+        "lib/Dialect/Test/TestPatterns.inc": ["-gen-rewriters"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "lib/Dialect/Test/TestOps.td",
     test = True,
@@ -184,32 +169,14 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "TestInterfacesIncGen",
     strip_include_prefix = "lib/Dialect/Test",
-    tbl_outs = [
-        (
-            ["-gen-attr-interface-decls"],
-            "lib/Dialect/Test/TestAttrInterfaces.h.inc",
-        ),
-        (
-            ["-gen-attr-interface-defs"],
-            "lib/Dialect/Test/TestAttrInterfaces.cpp.inc",
-        ),
-        (
-            ["-gen-type-interface-decls"],
-            "lib/Dialect/Test/TestTypeInterfaces.h.inc",
-        ),
-        (
-            ["-gen-type-interface-defs"],
-            "lib/Dialect/Test/TestTypeInterfaces.cpp.inc",
-        ),
-        (
-            ["-gen-op-interface-decls"],
-            "lib/Dialect/Test/TestOpInterfaces.h.inc",
-        ),
-        (
-            ["-gen-op-interface-defs"],
-            "lib/Dialect/Test/TestOpInterfaces.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "lib/Dialect/Test/TestAttrInterfaces.h.inc": ["-gen-attr-interface-decls"],
+        "lib/Dialect/Test/TestAttrInterfaces.cpp.inc": ["-gen-attr-interface-defs"],
+        "lib/Dialect/Test/TestTypeInterfaces.h.inc": ["-gen-type-interface-decls"],
+        "lib/Dialect/Test/TestTypeInterfaces.cpp.inc": ["-gen-type-interface-defs"],
+        "lib/Dialect/Test/TestOpInterfaces.h.inc": ["-gen-op-interface-decls"],
+        "lib/Dialect/Test/TestOpInterfaces.cpp.inc": ["-gen-op-interface-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "lib/Dialect/Test/TestInterfaces.td",
     test = True,
@@ -222,22 +189,16 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "TestAttrDefsIncGen",
     strip_include_prefix = "lib/Dialect/Test",
-    tbl_outs = [
-        (
-            [
-                "-gen-attrdef-decls",
-                "--attrdefs-dialect=test",
-            ],
-            "lib/Dialect/Test/TestAttrDefs.h.inc",
-        ),
-        (
-            [
-                "-gen-attrdef-defs",
-                "--attrdefs-dialect=test",
-            ],
-            "lib/Dialect/Test/TestAttrDefs.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "lib/Dialect/Test/TestAttrDefs.h.inc": [
+            "-gen-attrdef-decls",
+            "--attrdefs-dialect=test",
+        ],
+        "lib/Dialect/Test/TestAttrDefs.cpp.inc": [
+            "-gen-attrdef-defs",
+            "--attrdefs-dialect=test",
+        ],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "lib/Dialect/Test/TestOps.td",
     test = True,
@@ -249,16 +210,10 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "TestEnumDefsIncGen",
     strip_include_prefix = "lib/Dialect/Test",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "lib/Dialect/Test/TestOpEnums.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "lib/Dialect/Test/TestOpEnums.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "lib/Dialect/Test/TestOpEnums.h.inc": ["-gen-enum-decls"],
+        "lib/Dialect/Test/TestOpEnums.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "lib/Dialect/Test/TestEnumDefs.td",
     test = True,
@@ -270,22 +225,16 @@ gentbl_cc_library(
 gentbl_cc_library(
     name = "TestTypeDefsIncGen",
     strip_include_prefix = "lib/Dialect/Test",
-    tbl_outs = [
-        (
-            [
-                "-gen-typedef-decls",
-                "--typedefs-dialect=test",
-            ],
-            "lib/Dialect/Test/TestTypeDefs.h.inc",
-        ),
-        (
-            [
-                "-gen-typedef-defs",
-                "--typedefs-dialect=test",
-            ],
-            "lib/Dialect/Test/TestTypeDefs.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "lib/Dialect/Test/TestTypeDefs.h.inc": [
+            "-gen-typedef-decls",
+            "--typedefs-dialect=test",
+        ],
+        "lib/Dialect/Test/TestTypeDefs.cpp.inc": [
+            "-gen-typedef-defs",
+            "--typedefs-dialect=test",
+        ],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "lib/Dialect/Test/TestTypeDefs.td",
     test = True,
@@ -316,30 +265,18 @@ td_library(
 gentbl_cc_library(
     name = "TestTransformDialectExtensionIncGen",
     strip_include_prefix = "lib/Dialect/Transform",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "lib/Dialect/Transform/TestTransformDialectExtension.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "lib/Dialect/Transform/TestTransformDialectExtension.cpp.inc",
-        ),
-        (
-            [
-                "-gen-typedef-decls",
-                "-typedefs-dialect=transform",
-            ],
-            "lib/Dialect/Transform/TestTransformDialectExtensionTypes.h.inc",
-        ),
-        (
-            [
-                "-gen-typedef-defs",
-                "-typedefs-dialect=transform",
-            ],
-            "lib/Dialect/Transform/TestTransformDialectExtensionTypes.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "lib/Dialect/Transform/TestTransformDialectExtension.h.inc": ["-gen-op-decls"],
+        "lib/Dialect/Transform/TestTransformDialectExtension.cpp.inc": ["-gen-op-defs"],
+        "lib/Dialect/Transform/TestTransformDialectExtensionTypes.h.inc": [
+            "-gen-typedef-decls",
+            "-typedefs-dialect=transform",
+        ],
+        "lib/Dialect/Transform/TestTransformDialectExtensionTypes.cpp.inc": [
+            "-gen-typedef-defs",
+            "-typedefs-dialect=transform",
+        ],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "lib/Dialect/Transform/TestTransformDialectExtension.td",
     test = True,
@@ -496,16 +433,10 @@ gentbl_cc_library(
     name = "TestTilingInterfaceTransformOpsIncGen",
     includes = ["lib/Interfaces/TilingInterface"],
     strip_include_prefix = "lib",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.h.inc": ["-gen-op-decls"],
+        "lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td",
     deps = [
@@ -622,16 +553,10 @@ gentbl_cc_library(
     name = "TestTransformsOpsIncGen",
     includes = ["lib/Dialect/Test"],
     strip_include_prefix = "lib",
-    tbl_outs = [
-        (
-            ["-gen-op-decls"],
-            "lib/TestTransformsOps.h.inc",
-        ),
-        (
-            ["-gen-op-defs"],
-            "lib/TestTransformsOps.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "lib/TestTransformsOps.h.inc": ["-gen-op-decls"],
+        "lib/TestTransformsOps.cpp.inc": ["-gen-op-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "lib/Transforms/TestTransformsOps.td",
     deps = [
@@ -1200,12 +1125,7 @@ gentbl_cc_library(
     name = "TestPDLLPatternsIncGen",
     includes = ["lib/Dialect/Test"],
     strip_include_prefix = "lib",
-    tbl_outs = [
-        (
-            ["-x=cpp"],
-            "lib/Tools/PDLL/TestPDLLPatterns.h.inc",
-        ),
-    ],
+    tbl_outs = {"lib/Tools/PDLL/TestPDLLPatterns.h.inc": ["-x=cpp"]},
     tblgen = "//mlir:mlir-pdll",
     td_file = "lib/Tools/PDLL/TestPDLL.pdll",
     deps = [
@@ -1218,12 +1138,7 @@ gentbl_cc_library(
     name = "TestDialectConversionPDLLPatternsIncGen",
     includes = ["lib/Dialect/Test"],
     strip_include_prefix = "lib",
-    tbl_outs = [
-        (
-            ["-x=cpp"],
-            "lib/TestDialectConversionPDLLPatterns.h.inc",
-        ),
-    ],
+    tbl_outs = {"lib/TestDialectConversionPDLLPatterns.h.inc": ["-x=cpp"]},
     tblgen = "//mlir:mlir-pdll",
     td_file = "lib/Transforms/TestDialectConversion.pdll",
     deps = [
diff --git a/utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
index a55c6f50118dc..4539341fe9acd 100644
--- a/utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
@@ -264,16 +264,10 @@ cc_test(
 
 gentbl_cc_library(
     name = "EnumsIncGen",
-    tbl_outs = [
-        (
-            ["-gen-enum-decls"],
-            "TableGen/EnumsGenTest.h.inc",
-        ),
-        (
-            ["-gen-enum-defs"],
-            "TableGen/EnumsGenTest.cpp.inc",
-        ),
-    ],
+    tbl_outs = {
+        "TableGen/EnumsGenTest.h.inc": ["-gen-enum-decls"],
+        "TableGen/EnumsGenTest.cpp.inc": ["-gen-enum-defs"],
+    },
     tblgen = "//mlir:mlir-tblgen",
     td_file = "TableGen/enums.td",
     deps = [
@@ -283,12 +277,7 @@ gentbl_cc_library(
 
 gentbl_cc_library(
     name = "PassIncGen",
-    tbl_outs = [
-        (
-            ["-gen-pass-decls"],
-            "TableGen/PassGenTest.h.inc",
-        ),
-    ],
+    tbl_outs = {"TableGen/PassGenTest.h.inc": ["-gen-pass-decls"]},
     tblgen = "//mlir:mlir-tblgen",
     td_file = "TableGen/passes.td",
     deps = [



More information about the llvm-commits mailing list