diff --git a/mlir/test/mlir-tblgen/interfaces.mlir b/mlir/test/mlir-tblgen/mlir/interfaces.mlir
rename from mlir/test/mlir-tblgen/interfaces.mlir
rename to mlir/test/mlir-tblgen/mlir/interfaces.mlir
diff --git a/mlir/test/mlir-tblgen/op-derived-attribute.mlir b/mlir/test/mlir-tblgen/mlir/op-derived-attribute.mlir
rename from mlir/test/mlir-tblgen/op-derived-attribute.mlir
rename to mlir/test/mlir-tblgen/mlir/op-derived-attribute.mlir
diff --git a/mlir/test/mlir-tblgen/op-format.mlir b/mlir/test/mlir-tblgen/mlir/op-format.mlir
rename from mlir/test/mlir-tblgen/op-format.mlir
rename to mlir/test/mlir-tblgen/mlir/op-format.mlir
diff --git a/mlir/test/mlir-tblgen/pattern.mlir b/mlir/test/mlir-tblgen/mlir/pattern.mlir
rename from mlir/test/mlir-tblgen/pattern.mlir
rename to mlir/test/mlir-tblgen/mlir/pattern.mlir
diff --git a/mlir/test/mlir-tblgen/return-types.mlir b/mlir/test/mlir-tblgen/mlir/return-types.mlir
rename from mlir/test/mlir-tblgen/return-types.mlir
rename to mlir/test/mlir-tblgen/mlir/return-types.mlir
diff --git a/mlir/test/mlir-tblgen/types.mlir b/mlir/test/mlir-tblgen/mlir/types.mlir
rename from mlir/test/mlir-tblgen/types.mlir
rename to mlir/test/mlir-tblgen/mlir/types.mlir
diff --git a/mlir/test/mlir-tblgen/dialect.td b/mlir/test/mlir-tblgen/td/dialect.td
rename from mlir/test/mlir-tblgen/dialect.td
rename to mlir/test/mlir-tblgen/td/dialect.td
--- a/mlir/test/mlir-tblgen/dialect.td
+++ b/mlir/test/mlir-tblgen/td/dialect.td
@@ -1,5 +1,5 @@
-// RUN: mlir-tblgen -gen-op-decls -I %S/../../include %s | FileCheck %s --check-prefix=DECL
-// RUN: mlir-tblgen -gen-op-defs -I %S/../../include %s | FileCheck %s --check-prefix=DEF
+// RUN: mlir-tblgen -gen-op-decls -I %S/../../../include %s | FileCheck %s --check-prefix=DECL
+// RUN: mlir-tblgen -gen-op-defs -I %S/../../../include %s | FileCheck %s --check-prefix=DEF
 
 include "mlir/IR/OpBase.td"
 
diff --git a/mlir/test/mlir-tblgen/expect-symbol.td b/mlir/test/mlir-tblgen/td/expect-symbol.td
rename from mlir/test/mlir-tblgen/expect-symbol.td
rename to mlir/test/mlir-tblgen/td/expect-symbol.td
--- a/mlir/test/mlir-tblgen/expect-symbol.td
+++ b/mlir/test/mlir-tblgen/td/expect-symbol.td
@@ -1,4 +1,4 @@
-// RUN: not mlir-tblgen -gen-rewriters -I %S/../../include %s 2>&1 | FileCheck %s
+// RUN: not mlir-tblgen -gen-rewriters -I %S/../../../include %s 2>&1 | FileCheck %s
 
 include "mlir/IR/OpBase.td"
 
diff --git a/mlir/test/mlir-tblgen/llvm-intrinsics.td b/mlir/test/mlir-tblgen/td/llvm-intrinsics.td
rename from mlir/test/mlir-tblgen/llvm-intrinsics.td
rename to mlir/test/mlir-tblgen/td/llvm-intrinsics.td
--- a/mlir/test/mlir-tblgen/llvm-intrinsics.td
+++ b/mlir/test/mlir-tblgen/td/llvm-intrinsics.td
@@ -8,9 +8,9 @@
 // processed and we only check the output below.
 // We also verify emission of type specialization for overloadable intrinsics.
 //
-// RUN: cat %S/../../../llvm/include/llvm/IR/Intrinsics.td \
+// RUN: cat %S/../../../../llvm/include/llvm/IR/Intrinsics.td \
 // RUN: | grep -v "llvm/IR/Intrinsics" \
-// RUN: | mlir-tblgen -gen-llvmir-intrinsics -I %S/../../../llvm/include/ --llvmir-intrinsics-filter=ptrmask \
+// RUN: | mlir-tblgen -gen-llvmir-intrinsics -I %S/../../../../llvm/include/ --llvmir-intrinsics-filter=ptrmask \
 // RUN: | FileCheck %s
 
 // CHECK-LABEL: def LLVM_ptrmask
@@ -32,17 +32,17 @@
 // make sure the entire process does not fail and produces some C++. The shape
 // of this C++ code is tested by ODS tests.
 
-// RUN: cat %S/../../../llvm/include/llvm/IR/Intrinsics.td \
+// RUN: cat %S/../../../../llvm/include/llvm/IR/Intrinsics.td \
 // RUN: | grep -v "llvm/IR/Intrinsics" \
-// RUN: | mlir-tblgen -gen-llvmir-intrinsics -I %S/../../../llvm/include/ --llvmir-intrinsics-filter=vastart \
-// RUN: | mlir-tblgen -gen-op-decls -I %S/../../include \
+// RUN: | mlir-tblgen -gen-llvmir-intrinsics -I %S/../../../../llvm/include/ --llvmir-intrinsics-filter=vastart \
+// RUN: | mlir-tblgen -gen-op-decls -I %S/../../../include \
 // RUN: | FileCheck --check-prefix=ODS %s
 
 // ODS-LABEL: class vastart
 
-// RUN: cat %S/../../../llvm/include/llvm/IR/Intrinsics.td \
+// RUN: cat %S/../../../../llvm/include/llvm/IR/Intrinsics.td \
 // RUN: | grep -v "llvm/IR/Intrinsics" \
-// RUN: | mlir-tblgen -gen-llvmir-intrinsics -I %S/../../../llvm/include/ --llvmir-intrinsics-filter=ptrmask -dialect-opclass-base My_OpBase \
+// RUN: | mlir-tblgen -gen-llvmir-intrinsics -I %S/../../../../llvm/include/ --llvmir-intrinsics-filter=ptrmask -dialect-opclass-base My_OpBase \
 // RUN: | FileCheck %s --check-prefix=DIALECT-OPBASE
 
 // DIALECT-OPBASE-LABEL: def LLVM_ptrmask
diff --git a/mlir/test/mlir-tblgen/op-attribute.td b/mlir/test/mlir-tblgen/td/op-attribute.td
rename from mlir/test/mlir-tblgen/op-attribute.td
rename to mlir/test/mlir-tblgen/td/op-attribute.td
--- a/mlir/test/mlir-tblgen/op-attribute.td
+++ b/mlir/test/mlir-tblgen/td/op-attribute.td
@@ -1,6 +1,6 @@
-// RUN: mlir-tblgen -gen-op-decls -I %S/../../include %s | FileCheck %s --check-prefix=DECL
-// RUN: mlir-tblgen -gen-op-defs -I %S/../../include %s | FileCheck %s --check-prefix=DEF
-// RUN: mlir-tblgen -print-records -I %S/../../include %s | FileCheck %s --check-prefix=RECORD
+// RUN: mlir-tblgen -gen-op-decls -I %S/../../../include %s | FileCheck %s --check-prefix=DECL
+// RUN: mlir-tblgen -gen-op-defs -I %S/../../../include %s | FileCheck %s --check-prefix=DEF
+// RUN: mlir-tblgen -print-records -I %S/../../../include %s | FileCheck %s --check-prefix=RECORD
 
 include "mlir/IR/OpBase.td"
 
diff --git a/mlir/test/mlir-tblgen/op-decl.td b/mlir/test/mlir-tblgen/td/op-decl.td
rename from mlir/test/mlir-tblgen/op-decl.td
rename to mlir/test/mlir-tblgen/td/op-decl.td
--- a/mlir/test/mlir-tblgen/op-decl.td
+++ b/mlir/test/mlir-tblgen/td/op-decl.td
@@ -1,6 +1,6 @@
-// RUN: mlir-tblgen -gen-op-decls -I %S/../../include %s | FileCheck  %s
-// RUN: mlir-tblgen -gen-op-decls -op-include-regex="test.a_op" -I %S/../../include %s | FileCheck  %s --check-prefix=REDUCE_INC
-// RUN: mlir-tblgen -gen-op-decls -op-exclude-regex="test.a_op" -I %S/../../include %s | FileCheck  %s --check-prefix=REDUCE_EXC
+// RUN: mlir-tblgen -gen-op-decls -I %S/../../../include %s | FileCheck  %s
+// RUN: mlir-tblgen -gen-op-decls -op-include-regex="test.a_op" -I %S/../../../include %s | FileCheck  %s --check-prefix=REDUCE_INC
+// RUN: mlir-tblgen -gen-op-decls -op-exclude-regex="test.a_op" -I %S/../../../include %s | FileCheck  %s --check-prefix=REDUCE_EXC
 
 include "mlir/IR/OpBase.td"
 include "mlir/Interfaces/InferTypeOpInterface.td"
diff --git a/mlir/test/mlir-tblgen/op-format-spec.td b/mlir/test/mlir-tblgen/td/op-format-spec.td
rename from mlir/test/mlir-tblgen/op-format-spec.td
rename to mlir/test/mlir-tblgen/td/op-format-spec.td
--- a/mlir/test/mlir-tblgen/op-format-spec.td
+++ b/mlir/test/mlir-tblgen/td/op-format-spec.td
@@ -1,4 +1,4 @@
-// RUN: mlir-tblgen -gen-op-decls -asmformat-error-is-fatal=false -I %S/../../include %s -o=%t 2>&1 | FileCheck %s
+// RUN: mlir-tblgen -gen-op-decls -asmformat-error-is-fatal=false -I %S/../../../include %s -o=%t 2>&1 | FileCheck %s
 
 // This file contains tests for the specification of the declarative op format.
 
diff --git a/mlir/test/mlir-tblgen/op-interface.td b/mlir/test/mlir-tblgen/td/op-interface.td
rename from mlir/test/mlir-tblgen/op-interface.td
rename to mlir/test/mlir-tblgen/td/op-interface.td
--- a/mlir/test/mlir-tblgen/op-interface.td
+++ b/mlir/test/mlir-tblgen/td/op-interface.td
@@ -1,5 +1,5 @@
-// RUN: mlir-tblgen -gen-op-interface-decls -I %S/../../include %s | FileCheck %s --check-prefix=DECL
-// RUN: mlir-tblgen -gen-op-decls -I %S/../../include %s | FileCheck %s --check-prefix=OP_DECL
+// RUN: mlir-tblgen -gen-op-interface-decls -I %S/../../../include %s | FileCheck %s --check-prefix=DECL
+// RUN: mlir-tblgen -gen-op-decls -I %S/../../../include %s | FileCheck %s --check-prefix=OP_DECL
 
 include "mlir/IR/OpBase.td"
 
diff --git a/mlir/test/mlir-tblgen/op-operand.td b/mlir/test/mlir-tblgen/td/op-operand.td
rename from mlir/test/mlir-tblgen/op-operand.td
rename to mlir/test/mlir-tblgen/td/op-operand.td
--- a/mlir/test/mlir-tblgen/op-operand.td
+++ b/mlir/test/mlir-tblgen/td/op-operand.td
@@ -1,4 +1,4 @@
-// RUN: mlir-tblgen -gen-op-defs -I %S/../../include %s | FileCheck %s
+// RUN: mlir-tblgen -gen-op-defs -I %S/../../../include %s | FileCheck %s
 
 include "mlir/IR/OpBase.td"
 
diff --git a/mlir/test/mlir-tblgen/op-result.td b/mlir/test/mlir-tblgen/td/op-result.td
rename from mlir/test/mlir-tblgen/op-result.td
rename to mlir/test/mlir-tblgen/td/op-result.td
--- a/mlir/test/mlir-tblgen/op-result.td
+++ b/mlir/test/mlir-tblgen/td/op-result.td
@@ -1,4 +1,4 @@
-// RUN: mlir-tblgen -gen-op-defs -I %S/../../include %s | FileCheck %s
+// RUN: mlir-tblgen -gen-op-defs -I %S/../../../include %s | FileCheck %s
 
 include "mlir/IR/OpBase.td"
 include "mlir/Interfaces/InferTypeOpInterface.td"
diff --git a/mlir/test/mlir-tblgen/op-side-effects.td b/mlir/test/mlir-tblgen/td/op-side-effects.td
rename from mlir/test/mlir-tblgen/op-side-effects.td
rename to mlir/test/mlir-tblgen/td/op-side-effects.td
--- a/mlir/test/mlir-tblgen/op-side-effects.td
+++ b/mlir/test/mlir-tblgen/td/op-side-effects.td
@@ -1,4 +1,4 @@
-// RUN: mlir-tblgen -gen-op-defs -I %S/../../include %s | FileCheck %s
+// RUN: mlir-tblgen -gen-op-defs -I %S/../../../include %s | FileCheck %s
 
 include "mlir/Interfaces/SideEffectInterfaces.td"
 
diff --git a/mlir/test/mlir-tblgen/predicate.td b/mlir/test/mlir-tblgen/td/predicate.td
rename from mlir/test/mlir-tblgen/predicate.td
rename to mlir/test/mlir-tblgen/td/predicate.td
--- a/mlir/test/mlir-tblgen/predicate.td
+++ b/mlir/test/mlir-tblgen/td/predicate.td
@@ -1,4 +1,4 @@
-// RUN: mlir-tblgen -gen-op-defs -I %S/../../include %s | FileCheck %s
+// RUN: mlir-tblgen -gen-op-defs -I %S/../../../include %s | FileCheck %s
 
 include "mlir/IR/OpBase.td"