This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG8b68da2c7d97: [mlir] move SCF headers to SCF/{IR,Transforms} 
respectively (authored by ftynse).

Changed prior to commit:
  https://reviews.llvm.org/D128049?vs=437955&id=438286#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D128049/new/

https://reviews.llvm.org/D128049

Files:
  flang/lib/Optimizer/Transforms/AffineDemotion.cpp
  flang/lib/Optimizer/Transforms/AffinePromotion.cpp
  flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
  mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
  mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
  mlir/include/mlir/Dialect/Async/Transforms.h
  mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
  mlir/include/mlir/Dialect/SCF/BufferizableOpInterfaceImpl.h
  mlir/include/mlir/Dialect/SCF/CMakeLists.txt
  mlir/include/mlir/Dialect/SCF/IR/CMakeLists.txt
  mlir/include/mlir/Dialect/SCF/IR/SCF.h
  mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
  mlir/include/mlir/Dialect/SCF/Passes.h
  mlir/include/mlir/Dialect/SCF/Passes.td
  mlir/include/mlir/Dialect/SCF/Patterns.h
  mlir/include/mlir/Dialect/SCF/SCF.h
  mlir/include/mlir/Dialect/SCF/SCFOps.td
  mlir/include/mlir/Dialect/SCF/TileUsingInterface.h
  mlir/include/mlir/Dialect/SCF/Transforms.h
  mlir/include/mlir/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.h
  mlir/include/mlir/Dialect/SCF/Transforms/CMakeLists.txt
  mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
  mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
  mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
  mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
  mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
  mlir/include/mlir/Dialect/SCF/Utils/Utils.h
  mlir/include/mlir/InitAllDialects.h
  mlir/include/mlir/InitAllPasses.h
  mlir/lib/CAPI/Dialect/SCF.cpp
  mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
  mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
  mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
  mlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
  mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
  mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
  mlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
  mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
  mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
  mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRVPass.cpp
  mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
  mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
  mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
  mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
  mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
  mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
  mlir/lib/Conversion/TosaToSCF/TosaToSCF.cpp
  mlir/lib/Conversion/TosaToSCF/TosaToSCFPass.cpp
  mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
  mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
  mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp
  mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
  mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
  mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
  mlir/lib/Dialect/Func/Transforms/PassDetail.h
  mlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
  mlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
  mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
  mlir/lib/Dialect/Linalg/Transforms/CodegenStrategy.cpp
  mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
  mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
  mlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
  mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
  mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
  mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
  mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
  mlir/lib/Dialect/Linalg/Utils/Utils.cpp
  mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
  mlir/lib/Dialect/SCF/CMakeLists.txt
  mlir/lib/Dialect/SCF/IR/CMakeLists.txt
  mlir/lib/Dialect/SCF/IR/SCF.cpp
  mlir/lib/Dialect/SCF/SCF.cpp
  mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
  mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
  mlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
  mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
  mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp
  mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
  mlir/lib/Dialect/SCF/Transforms/LoopRangeFolding.cpp
  mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
  mlir/lib/Dialect/SCF/Transforms/ParallelLoopCollapsing.cpp
  mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
  mlir/lib/Dialect/SCF/Transforms/ParallelLoopTiling.cpp
  mlir/lib/Dialect/SCF/Transforms/PassDetail.h
  mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
  mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
  mlir/lib/Dialect/SCF/Utils/AffineCanonicalizationUtils.cpp
  mlir/lib/Dialect/SCF/Utils/Utils.cpp
  mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
  mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
  mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
  mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
  mlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
  mlir/lib/Dialect/Tensor/Transforms/SplitPadding.cpp
  mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
  mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
  mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
  mlir/lib/Target/Cpp/TranslateRegistration.cpp
  mlir/lib/Target/Cpp/TranslateToCpp.cpp
  mlir/python/mlir/dialects/SCFOps.td
  mlir/test/lib/Dialect/Affine/TestLoopMapping.cpp
  mlir/test/lib/Dialect/GPU/TestGpuMemoryPromotion.cpp
  mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
  mlir/test/lib/Dialect/Math/TestExpandMath.cpp
  mlir/test/lib/Dialect/SCF/TestLoopParametricTiling.cpp
  mlir/test/lib/Dialect/SCF/TestLoopUnrolling.cpp
  mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
  mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
  mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
  mlir/test/lib/Interfaces/TilingInterface/TestTilingInterface.cpp
  utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

Index: utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
===================================================================
--- utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+++ utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
@@ -1802,7 +1802,7 @@
 
 td_library(
     name = "SCFTdFiles",
-    srcs = ["include/mlir/Dialect/SCF/SCFOps.td"],
+    srcs = ["include/mlir/Dialect/SCF/IR/SCFOps.td"],
     includes = ["include"],
     deps = [
         ":ControlFlowInterfacesTdFiles",
@@ -1818,23 +1818,23 @@
     tbl_outs = [
         (
             ["-gen-op-decls"],
-            "include/mlir/Dialect/SCF/SCFOps.h.inc",
+            "include/mlir/Dialect/SCF/IR/SCFOps.h.inc",
         ),
         (
             ["-gen-op-defs"],
-            "include/mlir/Dialect/SCF/SCFOps.cpp.inc",
+            "include/mlir/Dialect/SCF/IR/SCFOps.cpp.inc",
         ),
         (
             ["-gen-dialect-decls"],
-            "include/mlir/Dialect/SCF/SCFOpsDialect.h.inc",
+            "include/mlir/Dialect/SCF/IR/SCFOpsDialect.h.inc",
         ),
         (
             ["-gen-dialect-defs"],
-            "include/mlir/Dialect/SCF/SCFOpsDialect.cpp.inc",
+            "include/mlir/Dialect/SCF/IR/SCFOpsDialect.cpp.inc",
         ),
     ],
     tblgen = ":mlir-tblgen",
-    td_file = "include/mlir/Dialect/SCF/SCFOps.td",
+    td_file = "include/mlir/Dialect/SCF/IR/SCFOps.td",
     deps = [":SCFTdFiles"],
 )
 
@@ -1847,11 +1847,11 @@
                 "-gen-pass-decls",
                 "-name=SCF",
             ],
-            "include/mlir/Dialect/SCF/Passes.h.inc",
+            "include/mlir/Dialect/SCF/Transforms/Passes.h.inc",
         ),
     ],
     tblgen = ":mlir-tblgen",
-    td_file = "include/mlir/Dialect/SCF/Passes.td",
+    td_file = "include/mlir/Dialect/SCF/Transforms/Passes.td",
     deps = [":PassBaseTdFiles"],
 )
 
@@ -1861,13 +1861,9 @@
         "lib/Dialect/SCF/Transforms/*.cpp",
         "lib/Dialect/SCF/Transforms/*.h",
     ]),
-    hdrs = [
-        "include/mlir/Dialect/SCF/BufferizableOpInterfaceImpl.h",
-        "include/mlir/Dialect/SCF/Passes.h",
-        "include/mlir/Dialect/SCF/Patterns.h",
-        "include/mlir/Dialect/SCF/TileUsingInterface.h",
-        "include/mlir/Dialect/SCF/Transforms.h",
-    ],
+    hdrs = glob([
+        "include/mlir/Dialect/SCF/Transforms/*.h",
+    ]),
     includes = ["include"],
     deps = [
         ":AffineAnalysis",
@@ -2685,19 +2681,13 @@
     name = "SCFDialect",
     srcs = glob(
         [
-            "lib/Dialect/SCF/*.cpp",
-            "lib/Dialect/SCF/*.h",
+            "lib/Dialect/SCF/IR/*.cpp",
+            "lib/Dialect/SCF/IR/*.h",
         ],
     ),
     hdrs = glob(
         [
-            "include/mlir/Dialect/SCF/*.h",
-        ],
-        exclude = [
-            "include/mlir/Dialect/SCF/BufferizableOpInterfaceImpl.h",
-            "include/mlir/Dialect/SCF/Patterns.h",
-            "include/mlir/Dialect/SCF/TileUsingInterface.h",
-            "include/mlir/Dialect/SCF/Transforms.h",
+            "include/mlir/Dialect/SCF/IR/*.h",
         ],
     ),
     includes = ["include"],
Index: mlir/test/lib/Interfaces/TilingInterface/TestTilingInterface.cpp
===================================================================
--- mlir/test/lib/Interfaces/TilingInterface/TestTilingInterface.cpp
+++ mlir/test/lib/Interfaces/TilingInterface/TestTilingInterface.cpp
@@ -16,8 +16,8 @@
 #include "mlir/Dialect/Linalg/Transforms/TilingInterfaceImpl.h"
 #include "mlir/Dialect/Linalg/Transforms/Transforms.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/TileUsingInterface.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/TileUsingInterface.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Interfaces/TilingInterface.h"
 #include "mlir/Pass/Pass.h"
Index: mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
===================================================================
--- mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
+++ mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
@@ -17,7 +17,7 @@
 #include "mlir/Dialect/Linalg/Passes.h"
 #include "mlir/Dialect/Linalg/Transforms/Transforms.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Vector/IR/VectorOps.h"
 #include "mlir/Dialect/Vector/Transforms/VectorDistribution.h"
 #include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"
Index: mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
===================================================================
--- mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
+++ mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
@@ -11,7 +11,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Tensor/Transforms/Transforms.h"
 #include "mlir/Pass/Pass.h"
Index: mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
===================================================================
--- mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
+++ mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
@@ -12,8 +12,8 @@
 
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/SCF/Utils/Utils.h"
 #include "mlir/IR/Builders.h"
 #include "mlir/IR/PatternMatch.h"
Index: mlir/test/lib/Dialect/SCF/TestLoopUnrolling.cpp
===================================================================
--- mlir/test/lib/Dialect/SCF/TestLoopUnrolling.cpp
+++ mlir/test/lib/Dialect/SCF/TestLoopUnrolling.cpp
@@ -11,7 +11,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SCF/Utils/Utils.h"
 #include "mlir/IR/Builders.h"
 #include "mlir/Pass/Pass.h"
Index: mlir/test/lib/Dialect/SCF/TestLoopParametricTiling.cpp
===================================================================
--- mlir/test/lib/Dialect/SCF/TestLoopParametricTiling.cpp
+++ mlir/test/lib/Dialect/SCF/TestLoopParametricTiling.cpp
@@ -10,7 +10,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SCF/Utils/Utils.h"
 #include "mlir/IR/Builders.h"
 #include "mlir/Pass/Pass.h"
Index: mlir/test/lib/Dialect/Math/TestExpandMath.cpp
===================================================================
--- mlir/test/lib/Dialect/Math/TestExpandMath.cpp
+++ mlir/test/lib/Dialect/Math/TestExpandMath.cpp
@@ -12,7 +12,7 @@
 
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Math/Transforms/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Pass/Pass.h"
 #include "mlir/Transforms/GreedyPatternRewriteDriver.h"
 
Index: mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
===================================================================
--- mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
+++ mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
@@ -14,7 +14,7 @@
 #include "mlir/Dialect/Func/IR/FuncOps.h"
 #include "mlir/Dialect/Linalg/Analysis/DependenceAnalysis.h"
 #include "mlir/Dialect/Linalg/Transforms/Transforms.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Pass/Pass.h"
 #include "mlir/Pass/PassManager.h"
 #include "mlir/Transforms/GreedyPatternRewriteDriver.h"
Index: mlir/test/lib/Dialect/GPU/TestGpuMemoryPromotion.cpp
===================================================================
--- mlir/test/lib/Dialect/GPU/TestGpuMemoryPromotion.cpp
+++ mlir/test/lib/Dialect/GPU/TestGpuMemoryPromotion.cpp
@@ -15,7 +15,7 @@
 #include "mlir/Dialect/GPU/IR/GPUDialect.h"
 #include "mlir/Dialect/GPU/Transforms/MemoryPromotion.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SPIRV/IR/SPIRVDialect.h"
 #include "mlir/IR/Attributes.h"
 #include "mlir/Pass/Pass.h"
Index: mlir/test/lib/Dialect/Affine/TestLoopMapping.cpp
===================================================================
--- mlir/test/lib/Dialect/Affine/TestLoopMapping.cpp
+++ mlir/test/lib/Dialect/Affine/TestLoopMapping.cpp
@@ -13,7 +13,7 @@
 
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
 #include "mlir/Dialect/Affine/LoopUtils.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/Builders.h"
 #include "mlir/Pass/Pass.h"
 
Index: mlir/python/mlir/dialects/SCFOps.td
===================================================================
--- mlir/python/mlir/dialects/SCFOps.td
+++ mlir/python/mlir/dialects/SCFOps.td
@@ -10,6 +10,6 @@
 #define PYTHON_BINDINGS_SCF_OPS
 
 include "mlir/Bindings/Python/Attributes.td"
-include "mlir/Dialect/SCF/SCFOps.td"
+include "mlir/Dialect/SCF/IR/SCFOps.td"
 
 #endif
Index: mlir/lib/Target/Cpp/TranslateToCpp.cpp
===================================================================
--- mlir/lib/Target/Cpp/TranslateToCpp.cpp
+++ mlir/lib/Target/Cpp/TranslateToCpp.cpp
@@ -10,7 +10,7 @@
 #include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
 #include "mlir/Dialect/EmitC/IR/EmitC.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/BuiltinOps.h"
 #include "mlir/IR/BuiltinTypes.h"
 #include "mlir/IR/Dialect.h"
Index: mlir/lib/Target/Cpp/TranslateRegistration.cpp
===================================================================
--- mlir/lib/Target/Cpp/TranslateRegistration.cpp
+++ mlir/lib/Target/Cpp/TranslateRegistration.cpp
@@ -11,7 +11,7 @@
 #include "mlir/Dialect/EmitC/IR/EmitC.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
 #include "mlir/Dialect/Math/IR/Math.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/BuiltinOps.h"
 #include "mlir/IR/Dialect.h"
 #include "mlir/Target/Cpp/CppEmitter.h"
Index: mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
===================================================================
--- mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
+++ mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
@@ -19,7 +19,7 @@
 #include "mlir/Dialect/Arithmetic/Utils/Utils.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Utils/IndexingUtils.h"
 #include "mlir/Dialect/Utils/StructuredOpsUtils.h"
 #include "mlir/Dialect/Vector/Utils/VectorUtils.h"
Index: mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
===================================================================
--- mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
+++ mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
@@ -17,7 +17,7 @@
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Utils/StructuredOpsUtils.h"
 
 #include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"
Index: mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
===================================================================
--- mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
+++ mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
@@ -9,7 +9,7 @@
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Vector/Transforms/VectorDistribution.h"
 #include "mlir/Dialect/Vector/Utils/VectorUtils.h"
 #include "mlir/IR/BlockAndValueMapping.h"
Index: mlir/lib/Dialect/Tensor/Transforms/SplitPadding.cpp
===================================================================
--- mlir/lib/Dialect/Tensor/Transforms/SplitPadding.cpp
+++ mlir/lib/Dialect/Tensor/Transforms/SplitPadding.cpp
@@ -13,7 +13,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Tensor/Transforms/Transforms.h"
 #include "mlir/Dialect/Utils/StaticValueUtils.h"
Index: mlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
===================================================================
--- mlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
+++ mlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
@@ -16,7 +16,7 @@
 #include "mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h"
 #include "mlir/Dialect/Bufferization/IR/Bufferization.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.h"
 #include "mlir/Dialect/Tensor/Transforms/Passes.h"
Index: mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
===================================================================
--- mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
+++ mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
@@ -11,7 +11,7 @@
 #include "mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h"
 #include "mlir/Dialect/Bufferization/IR/Bufferization.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/IR/Dialect.h"
 #include "mlir/IR/Operation.h"
Index: mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
===================================================================
--- mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
+++ mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
@@ -10,7 +10,7 @@
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
 #include "mlir/Dialect/Arithmetic/Utils/Utils.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Interfaces/TilingInterface.h"
 
Index: mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
===================================================================
--- mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
+++ mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
@@ -21,8 +21,8 @@
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/Linalg/Utils/Utils.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/SparseTensor/IR/SparseTensor.h"
 #include "mlir/Dialect/SparseTensor/Transforms/Passes.h"
 #include "mlir/Dialect/SparseTensor/Utils/Merger.h"
Index: mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
===================================================================
--- mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
+++ mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
@@ -21,7 +21,7 @@
 #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
 #include "mlir/Dialect/Linalg/Utils/Utils.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SparseTensor/IR/SparseTensor.h"
 #include "mlir/Dialect/SparseTensor/Transforms/Passes.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
Index: mlir/lib/Dialect/SCF/Utils/Utils.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Utils/Utils.cpp
+++ mlir/lib/Dialect/SCF/Utils/Utils.cpp
@@ -14,7 +14,7 @@
 #include "mlir/Analysis/SliceAnalysis.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/BlockAndValueMapping.h"
 #include "mlir/IR/BuiltinOps.h"
 #include "mlir/IR/PatternMatch.h"
Index: mlir/lib/Dialect/SCF/Utils/AffineCanonicalizationUtils.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Utils/AffineCanonicalizationUtils.cpp
+++ mlir/lib/Dialect/SCF/Utils/AffineCanonicalizationUtils.cpp
@@ -13,7 +13,7 @@
 #include "mlir/Dialect/SCF/Utils/AffineCanonicalizationUtils.h"
 #include "mlir/Dialect/Affine/Analysis/AffineStructures.h"
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Utils/StaticValueUtils.h"
 #include "mlir/IR/AffineMap.h"
 #include "mlir/IR/Matchers.h"
Index: mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
+++ mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
@@ -10,7 +10,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "mlir/Dialect/SCF/TileUsingInterface.h"
+#include "mlir/Dialect/SCF/Transforms/TileUsingInterface.h"
 
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
Index: mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
+++ mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
@@ -7,9 +7,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "PassDetail.h"
-#include "mlir/Dialect/SCF/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Passes.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Transforms/DialectConversion.h"
 
 using namespace mlir;
Index: mlir/lib/Dialect/SCF/Transforms/PassDetail.h
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/PassDetail.h
+++ mlir/lib/Dialect/SCF/Transforms/PassDetail.h
@@ -36,7 +36,7 @@
 } // namespace tensor
 
 #define GEN_PASS_CLASSES
-#include "mlir/Dialect/SCF/Passes.h.inc"
+#include "mlir/Dialect/SCF/Transforms/Passes.h.inc"
 
 } // namespace mlir
 
Index: mlir/lib/Dialect/SCF/Transforms/ParallelLoopTiling.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/ParallelLoopTiling.cpp
+++ mlir/lib/Dialect/SCF/Transforms/ParallelLoopTiling.cpp
@@ -13,9 +13,9 @@
 #include "PassDetail.h"
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
-#include "mlir/Dialect/SCF/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Passes.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/SCF/Utils/Utils.h"
 
 using namespace mlir;
Index: mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
+++ mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
@@ -12,9 +12,9 @@
 
 #include "PassDetail.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Passes.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/IR/BlockAndValueMapping.h"
 #include "mlir/IR/Builders.h"
 #include "mlir/IR/OpDefinition.h"
Index: mlir/lib/Dialect/SCF/Transforms/ParallelLoopCollapsing.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/ParallelLoopCollapsing.cpp
+++ mlir/lib/Dialect/SCF/Transforms/ParallelLoopCollapsing.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "PassDetail.h"
-#include "mlir/Dialect/SCF/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Passes.h"
 #include "mlir/Dialect/SCF/Utils/Utils.h"
 #include "mlir/Transforms/RegionUtils.h"
 #include "llvm/Support/CommandLine.h"
Index: mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
+++ mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
@@ -15,9 +15,9 @@
 #include "mlir/Dialect/Affine/Analysis/AffineStructures.h"
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
-#include "mlir/Dialect/SCF/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Passes.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/SCF/Utils/AffineCanonicalizationUtils.h"
 #include "mlir/Dialect/Utils/StaticValueUtils.h"
 #include "mlir/IR/AffineExpr.h"
Index: mlir/lib/Dialect/SCF/Transforms/LoopRangeFolding.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/LoopRangeFolding.cpp
+++ mlir/lib/Dialect/SCF/Transforms/LoopRangeFolding.cpp
@@ -12,9 +12,9 @@
 
 #include "PassDetail.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
-#include "mlir/Dialect/SCF/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Passes.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/SCF/Utils/Utils.h"
 #include "mlir/IR/BlockAndValueMapping.h"
 
Index: mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
+++ mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
@@ -12,9 +12,9 @@
 
 #include "PassDetail.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
-#include "mlir/Dialect/SCF/Patterns.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Patterns.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/SCF/Utils/Utils.h"
 #include "mlir/IR/BlockAndValueMapping.h"
 #include "mlir/IR/PatternMatch.h"
Index: mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp
+++ mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp
@@ -14,9 +14,9 @@
 #include "PassDetail.h"
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Passes.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/SCF/Utils/AffineCanonicalizationUtils.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/IR/PatternMatch.h"
Index: mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
+++ mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
@@ -12,9 +12,9 @@
 
 #include "PassDetail.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
-#include "mlir/Dialect/SCF/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Passes.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/IR/PatternMatch.h"
 #include "mlir/Transforms/GreedyPatternRewriteDriver.h"
 
Index: mlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
+++ mlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
@@ -10,9 +10,9 @@
 #include "PassDetail.h"
 #include "mlir/Dialect/Bufferization/IR/Bufferization.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Passes.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Transforms/DialectConversion.h"
 
 using namespace mlir;
Index: mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
===================================================================
--- mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
+++ mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
@@ -6,13 +6,13 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "mlir/Dialect/SCF/BufferizableOpInterfaceImpl.h"
+#include "mlir/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.h"
 
 #include "mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h"
 #include "mlir/Dialect/Bufferization/IR/Bufferization.h"
 #include "mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/IR/Dialect.h"
 #include "mlir/IR/Operation.h"
Index: mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
===================================================================
--- mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
+++ mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
@@ -9,9 +9,9 @@
 #include "mlir/Dialect/SCF/TransformOps/SCFTransformOps.h"
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "mlir/Dialect/SCF/Patterns.h"
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Patterns.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/SCF/Utils/Utils.h"
 #include "mlir/Dialect/Transform/IR/TransformDialect.h"
 #include "mlir/Dialect/Transform/IR/TransformInterfaces.h"
Index: mlir/lib/Dialect/SCF/IR/SCF.cpp
===================================================================
--- mlir/lib/Dialect/SCF/IR/SCF.cpp
+++ mlir/lib/Dialect/SCF/IR/SCF.cpp
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Arithmetic/Utils/Utils.h"
 #include "mlir/Dialect/Bufferization/IR/Bufferization.h"
@@ -23,7 +23,7 @@
 using namespace mlir;
 using namespace mlir::scf;
 
-#include "mlir/Dialect/SCF/SCFOpsDialect.cpp.inc"
+#include "mlir/Dialect/SCF/IR/SCFOpsDialect.cpp.inc"
 
 //===----------------------------------------------------------------------===//
 // SCFDialect Dialect Interfaces
@@ -66,7 +66,7 @@
 void SCFDialect::initialize() {
   addOperations<
 #define GET_OP_LIST
-#include "mlir/Dialect/SCF/SCFOps.cpp.inc"
+#include "mlir/Dialect/SCF/IR/SCFOps.cpp.inc"
       >();
   addInterfaces<SCFInlinerInterface>();
 }
@@ -3325,4 +3325,4 @@
 //===----------------------------------------------------------------------===//
 
 #define GET_OP_CLASSES
-#include "mlir/Dialect/SCF/SCFOps.cpp.inc"
+#include "mlir/Dialect/SCF/IR/SCFOps.cpp.inc"
Index: mlir/lib/Dialect/SCF/IR/CMakeLists.txt
===================================================================
--- mlir/lib/Dialect/SCF/IR/CMakeLists.txt
+++ mlir/lib/Dialect/SCF/IR/CMakeLists.txt
@@ -2,7 +2,7 @@
   SCF.cpp
 
   ADDITIONAL_HEADER_DIRS
-  ${MLIR_MAIN_INCLUDE_DIR}/mlir/LoopOps
+  ${MLIR_MAIN_INCLUDE_DIR}/mlir/SCF
 
   DEPENDS
   MLIRSCFOpsIncGen
@@ -16,6 +16,3 @@
   MLIRSideEffectInterfaces
   )
 
-add_subdirectory(TransformOps)
-add_subdirectory(Transforms)
-add_subdirectory(Utils)
Index: mlir/lib/Dialect/SCF/CMakeLists.txt
===================================================================
--- mlir/lib/Dialect/SCF/CMakeLists.txt
+++ mlir/lib/Dialect/SCF/CMakeLists.txt
@@ -1,21 +1,4 @@
-add_mlir_dialect_library(MLIRSCFDialect
-  SCF.cpp
-
-  ADDITIONAL_HEADER_DIRS
-  ${MLIR_MAIN_INCLUDE_DIR}/mlir/LoopOps
-
-  DEPENDS
-  MLIRSCFOpsIncGen
-
-  LINK_LIBS PUBLIC
-  MLIRArithmeticDialect
-  MLIRBufferizationDialect
-  MLIRControlFlowDialect
-  MLIRIR
-  MLIRLoopLikeInterface
-  MLIRSideEffectInterfaces
-  )
-
+add_subdirectory(IR)
 add_subdirectory(TransformOps)
 add_subdirectory(Transforms)
 add_subdirectory(Utils)
Index: mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
===================================================================
--- mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
+++ mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
@@ -13,7 +13,7 @@
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Math/IR/Math.h"
 #include "mlir/Dialect/Math/Transforms/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/Builders.h"
 #include "mlir/Transforms/DialectConversion.h"
 
Index: mlir/lib/Dialect/Linalg/Utils/Utils.cpp
===================================================================
--- mlir/lib/Dialect/Linalg/Utils/Utils.cpp
+++ mlir/lib/Dialect/Linalg/Utils/Utils.cpp
@@ -21,7 +21,7 @@
 #include "mlir/Dialect/Arithmetic/Utils/Utils.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Tensor/Utils/Utils.h"
 #include "mlir/Dialect/Utils/StaticValueUtils.h"
Index: mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
===================================================================
--- mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
+++ mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
@@ -19,7 +19,7 @@
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/Linalg/Transforms/HoistPadding.h"
 #include "mlir/Dialect/Linalg/Utils/Utils.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Tensor/IR/TensorTilingInterfaceImpl.h"
 #include "mlir/Dialect/Utils/StaticValueUtils.h"
Index: mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
===================================================================
--- mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
+++ mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
@@ -18,7 +18,7 @@
 #include "mlir/Dialect/Linalg/Transforms/Transforms.h"
 #include "mlir/Dialect/Linalg/Utils/Utils.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Utils/IndexingUtils.h"
 #include "mlir/IR/AffineExpr.h"
Index: mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
===================================================================
--- mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
+++ mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
@@ -17,7 +17,7 @@
 #include "mlir/Dialect/Linalg/Passes.h"
 #include "mlir/Dialect/Linalg/Transforms/Transforms.h"
 #include "mlir/Dialect/Linalg/Utils/Utils.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/AffineExpr.h"
 #include "mlir/IR/AffineExprVisitor.h"
 #include "mlir/IR/AffineMap.h"
Index: mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
===================================================================
--- mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
+++ mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
@@ -13,7 +13,7 @@
 #include "mlir/Dialect/Linalg/Passes.h"
 #include "mlir/Dialect/Linalg/Transforms/Transforms.h"
 #include "mlir/Dialect/Linalg/Utils/Utils.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/SCF/Utils/AffineCanonicalizationUtils.h"
 #include "mlir/IR/AffineExpr.h"
 #include "mlir/IR/AffineMap.h"
Index: mlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
===================================================================
--- mlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
+++ mlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
@@ -23,7 +23,7 @@
 #include "mlir/Dialect/Linalg/Transforms/Hoisting.h"
 #include "mlir/Dialect/Linalg/Transforms/Transforms.h"
 #include "mlir/Dialect/Linalg/Utils/Utils.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"
 #include "mlir/IR/AffineExpr.h"
Index: mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
===================================================================
--- mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
+++ mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
@@ -19,7 +19,7 @@
 #include "mlir/Dialect/Func/IR/FuncOps.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/Linalg/Transforms/Transforms.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SCF/Utils/Utils.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Vector/IR/VectorOps.h"
Index: mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
===================================================================
--- mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
+++ mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
@@ -16,7 +16,7 @@
 #include "mlir/Dialect/Func/IR/FuncOps.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/Linalg/Transforms/Transforms.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SCF/Utils/Utils.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Utils/IndexingUtils.h"
Index: mlir/lib/Dialect/Linalg/Transforms/CodegenStrategy.cpp
===================================================================
--- mlir/lib/Dialect/Linalg/Transforms/CodegenStrategy.cpp
+++ mlir/lib/Dialect/Linalg/Transforms/CodegenStrategy.cpp
@@ -14,7 +14,7 @@
 #include "mlir/Dialect/Linalg/Transforms/CodegenStrategy.h"
 #include "mlir/Dialect/Linalg/Passes.h"
 #include "mlir/Dialect/Linalg/Transforms/Hoisting.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/Dialect/Vector/IR/VectorOps.h"
 #include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"
 #include "mlir/Pass/PassManager.h"
Index: mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
===================================================================
--- mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
+++ mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
@@ -18,7 +18,7 @@
 #include "mlir/Dialect/Complex/IR/Complex.h"
 #include "mlir/Dialect/Math/IR/Math.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SparseTensor/IR/SparseTensor.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Utils/ReshapeOpsUtils.h"
Index: mlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
===================================================================
--- mlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
+++ mlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
@@ -16,7 +16,7 @@
 #include "PassDetail.h"
 #include "mlir/Dialect/GPU/IR/GPUDialect.h"
 #include "mlir/Dialect/GPU/Transforms/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/AffineMap.h"
 
 namespace mlir {
Index: mlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
===================================================================
--- mlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
+++ mlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
@@ -17,7 +17,7 @@
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/GPU/IR/GPUDialect.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/ImplicitLocOpBuilder.h"
 #include "mlir/Pass/Pass.h"
 
Index: mlir/lib/Dialect/Func/Transforms/PassDetail.h
===================================================================
--- mlir/lib/Dialect/Func/Transforms/PassDetail.h
+++ mlir/lib/Dialect/Func/Transforms/PassDetail.h
@@ -9,7 +9,7 @@
 #ifndef DIALECT_FUNC_TRANSFORMS_PASSDETAIL_H_
 #define DIALECT_FUNC_TRANSFORMS_PASSDETAIL_H_
 
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/BuiltinOps.h"
 #include "mlir/Pass/Pass.h"
 
Index: mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
===================================================================
--- mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
+++ mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
@@ -18,7 +18,7 @@
 #include "mlir/Dialect/Async/Passes.h"
 #include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/BlockAndValueMapping.h"
 #include "mlir/IR/ImplicitLocOpBuilder.h"
 #include "mlir/IR/PatternMatch.h"
Index: mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
===================================================================
--- mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
+++ mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
@@ -18,7 +18,7 @@
 #include "mlir/Dialect/Async/Passes.h"
 #include "mlir/Dialect/Async/Transforms.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/BlockAndValueMapping.h"
 #include "mlir/IR/ImplicitLocOpBuilder.h"
 #include "mlir/IR/Matchers.h"
Index: mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
===================================================================
--- mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
+++ mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
@@ -20,7 +20,7 @@
 #include "mlir/Dialect/Affine/Utils.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/BlockAndValueMapping.h"
 #include "mlir/IR/IntegerSet.h"
 #include "mlir/Support/MathExtras.h"
Index: mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp
===================================================================
--- mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp
+++ mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp
@@ -10,7 +10,7 @@
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
 #include "mlir/Dialect/Affine/LoopUtils.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SCF/Utils/Utils.h"
 #include "mlir/Transforms/Passes.h"
 #include "mlir/Transforms/RegionUtils.h"
Index: mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
===================================================================
--- mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
+++ mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
@@ -18,7 +18,7 @@
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"
 #include "mlir/IR/Builders.h"
 #include "mlir/IR/ImplicitLocOpBuilder.h"
Index: mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
===================================================================
--- mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
+++ mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
@@ -21,7 +21,7 @@
 #include "mlir/Dialect/GPU/IR/GPUDialect.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
 #include "mlir/Dialect/NVGPU/IR/NVGPUDialect.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Utils/StructuredOpsUtils.h"
 #include "mlir/Dialect/Vector/IR/VectorOps.h"
 #include "mlir/Dialect/Vector/Utils/VectorUtils.h"
Index: mlir/lib/Conversion/TosaToSCF/TosaToSCFPass.cpp
===================================================================
--- mlir/lib/Conversion/TosaToSCF/TosaToSCFPass.cpp
+++ mlir/lib/Conversion/TosaToSCF/TosaToSCFPass.cpp
@@ -12,7 +12,7 @@
 
 #include "../PassDetail.h"
 #include "mlir/Conversion/TosaToSCF/TosaToSCF.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Tosa/IR/TosaOps.h"
 #include "mlir/Dialect/Tosa/Transforms/PassDetail.h"
Index: mlir/lib/Conversion/TosaToSCF/TosaToSCF.cpp
===================================================================
--- mlir/lib/Conversion/TosaToSCF/TosaToSCF.cpp
+++ mlir/lib/Conversion/TosaToSCF/TosaToSCF.cpp
@@ -11,7 +11,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "mlir/Conversion/TosaToSCF/TosaToSCF.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Tosa/IR/TosaOps.h"
 #include "mlir/IR/BlockAndValueMapping.h"
Index: mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
===================================================================
--- mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
+++ mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
@@ -15,7 +15,7 @@
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/Math/IR/Math.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Tosa/IR/TosaOps.h"
 #include "mlir/Dialect/Tosa/Transforms/PassDetail.h"
Index: mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
===================================================================
--- mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
+++ mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
@@ -15,7 +15,7 @@
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/Math/IR/Math.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Tosa/IR/TosaOps.h"
 #include "mlir/Dialect/Tosa/Transforms/PassDetail.h"
Index: mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
===================================================================
--- mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
+++ mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
@@ -14,7 +14,7 @@
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/Math/IR/Math.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Tensor/Utils/Utils.h"
 #include "mlir/Dialect/Tosa/IR/TosaOps.h"
Index: mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
===================================================================
--- mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
+++ mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
@@ -14,7 +14,7 @@
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/Math/IR/Math.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/Dialect/Tensor/Utils/Utils.h"
 #include "mlir/Dialect/Tosa/IR/TosaOps.h"
Index: mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
===================================================================
--- mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
+++ mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
@@ -11,7 +11,7 @@
 #include "../PassDetail.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Shape/IR/Shape.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/IR/BlockAndValueMapping.h"
Index: mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
===================================================================
--- mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
+++ mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
@@ -10,7 +10,7 @@
 
 #include "../PassDetail.h"
 #include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Shape/IR/Shape.h"
 #include "mlir/Dialect/Tensor/IR/Tensor.h"
 #include "mlir/IR/PatternMatch.h"
Index: mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRVPass.cpp
===================================================================
--- mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRVPass.cpp
+++ mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRVPass.cpp
@@ -17,7 +17,7 @@
 #include "mlir/Conversion/FuncToSPIRV/FuncToSPIRV.h"
 #include "mlir/Conversion/MemRefToSPIRV/MemRefToSPIRV.h"
 #include "mlir/Conversion/SCFToSPIRV/SCFToSPIRV.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SPIRV/IR/SPIRVDialect.h"
 #include "mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h"
 
Index: mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
===================================================================
--- mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
+++ mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
@@ -11,7 +11,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "mlir/Conversion/SCFToSPIRV/SCFToSPIRV.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SPIRV/IR/SPIRVDialect.h"
 #include "mlir/Dialect/SPIRV/IR/SPIRVOps.h"
 #include "mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h"
Index: mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
===================================================================
--- mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
+++ mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
@@ -19,7 +19,7 @@
 #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
 #include "mlir/Dialect/OpenMP/OpenMPDialect.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/ImplicitLocOpBuilder.h"
 #include "mlir/IR/SymbolTable.h"
 #include "mlir/Transforms/DialectConversion.h"
Index: mlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
===================================================================
--- mlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
+++ mlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
@@ -13,7 +13,7 @@
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/Complex/IR/Complex.h"
 #include "mlir/Dialect/GPU/IR/GPUDialect.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Transforms/DialectConversion.h"
 
 #include "llvm/ADT/ArrayRef.h"
Index: mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
===================================================================
--- mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
+++ mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
@@ -20,7 +20,7 @@
 #include "mlir/Dialect/GPU/IR/GPUDialect.h"
 #include "mlir/Dialect/GPU/Transforms/ParallelLoopMapper.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/AffineExpr.h"
 #include "mlir/IR/BlockAndValueMapping.h"
 #include "mlir/IR/Builders.h"
Index: mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
===================================================================
--- mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
+++ mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
@@ -15,7 +15,7 @@
 #include "../PassDetail.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/BlockAndValueMapping.h"
 #include "mlir/IR/Builders.h"
 #include "mlir/IR/BuiltinOps.h"
Index: mlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
===================================================================
--- mlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
+++ mlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
@@ -10,7 +10,7 @@
 #include "mlir/Conversion/OpenACCToSCF/ConvertOpenACCToSCF.h"
 #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
 #include "mlir/Dialect/OpenACC/OpenACC.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Transforms/DialectConversion.h"
 
 using namespace mlir;
Index: mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
===================================================================
--- mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
+++ mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
@@ -15,7 +15,7 @@
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/Linalg/Transforms/Transforms.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 
 using namespace mlir;
 using namespace mlir::linalg;
Index: mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
===================================================================
--- mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
+++ mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
@@ -20,7 +20,7 @@
 #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/Linalg/Passes.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/AffineExpr.h"
 #include "mlir/IR/AffineMap.h"
 #include "mlir/IR/Attributes.h"
Index: mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
===================================================================
--- mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
+++ mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
@@ -17,7 +17,7 @@
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
 #include "mlir/Dialect/Affine/Utils.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/Vector/IR/VectorOps.h"
 #include "mlir/IR/BlockAndValueMapping.h"
 #include "mlir/IR/IntegerSet.h"
Index: mlir/lib/CAPI/Dialect/SCF.cpp
===================================================================
--- mlir/lib/CAPI/Dialect/SCF.cpp
+++ mlir/lib/CAPI/Dialect/SCF.cpp
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir-c/Dialect/SCF.h"
 #include "mlir/CAPI/Registration.h"
 
Index: mlir/include/mlir/InitAllPasses.h
===================================================================
--- mlir/include/mlir/InitAllPasses.h
+++ mlir/include/mlir/InitAllPasses.h
@@ -26,7 +26,7 @@
 #include "mlir/Dialect/MemRef/Transforms/Passes.h"
 #include "mlir/Dialect/NVGPU/Passes.h"
 #include "mlir/Dialect/Quant/Passes.h"
-#include "mlir/Dialect/SCF/Passes.h"
+#include "mlir/Dialect/SCF/Transforms/Passes.h"
 #include "mlir/Dialect/SPIRV/Transforms/Passes.h"
 #include "mlir/Dialect/Shape/Transforms/Passes.h"
 #include "mlir/Dialect/SparseTensor/Pipelines/Passes.h"
Index: mlir/include/mlir/InitAllDialects.h
===================================================================
--- mlir/include/mlir/InitAllDialects.h
+++ mlir/include/mlir/InitAllDialects.h
@@ -46,9 +46,9 @@
 #include "mlir/Dialect/PDL/IR/PDL.h"
 #include "mlir/Dialect/PDLInterp/IR/PDLInterp.h"
 #include "mlir/Dialect/Quant/QuantOps.h"
-#include "mlir/Dialect/SCF/BufferizableOpInterfaceImpl.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SCF/TransformOps/SCFTransformOps.h"
+#include "mlir/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.h"
 #include "mlir/Dialect/SPIRV/IR/SPIRVDialect.h"
 #include "mlir/Dialect/Shape/IR/Shape.h"
 #include "mlir/Dialect/Shape/Transforms/BufferizableOpInterfaceImpl.h"
Index: mlir/include/mlir/Dialect/SCF/Utils/Utils.h
===================================================================
--- mlir/include/mlir/Dialect/SCF/Utils/Utils.h
+++ mlir/include/mlir/Dialect/SCF/Utils/Utils.h
@@ -13,7 +13,7 @@
 #ifndef MLIR_DIALECT_SCF_UTILS_UTILS_H_
 #define MLIR_DIALECT_SCF_UTILS_UTILS_H_
 
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/PatternMatch.h"
 #include "mlir/Support/LLVM.h"
 #include "mlir/Support/LogicalResult.h"
Index: mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
===================================================================
--- mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
+++ mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
@@ -10,8 +10,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef MLIR_DIALECT_SCF_TRANSFORMS_H_
-#define MLIR_DIALECT_SCF_TRANSFORMS_H_
+#ifndef MLIR_DIALECT_SCF_TRANSFORMS_TRANSFORMS_H_
+#define MLIR_DIALECT_SCF_TRANSFORMS_TRANSFORMS_H_
 
 #include "mlir/Dialect/SCF/Utils/AffineCanonicalizationUtils.h"
 #include "mlir/Support/LLVM.h"
@@ -171,4 +171,4 @@
 } // namespace scf
 } // namespace mlir
 
-#endif // MLIR_DIALECT_SCF_TRANSFORMS_H_
+#endif // MLIR_DIALECT_SCF_TRANSFORMS_TRANSFORMS_H_
Index: mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
===================================================================
--- mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
+++ mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
@@ -6,10 +6,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef MLIR_DIALECT_SCF_TILEUSINGINTERFACE_H
-#define MLIR_DIALECT_SCF_TILEUSINGINTERFACE_H
+#ifndef MLIR_DIALECT_SCF_TRANSFORMS_TILEUSINGINTERFACE_H
+#define MLIR_DIALECT_SCF_TRANSFORMS_TILEUSINGINTERFACE_H
 
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/PatternMatch.h"
 #include "mlir/Interfaces/TilingInterface.h"
 
@@ -84,4 +84,4 @@
 } // namespace scf
 } // namespace mlir
 
-#endif // MLIR_DIALECT_SCF_TILEUSINGINTERFACE_H
+#endif // MLIR_DIALECT_SCF_TRANSFORMS_TILEUSINGINTERFACE_H
Index: mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
===================================================================
--- mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
+++ mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
@@ -6,11 +6,11 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef MLIR_DIALECT_SCF_PATTERNS_H
-#define MLIR_DIALECT_SCF_PATTERNS_H
+#ifndef MLIR_DIALECT_SCF_TRANSFORMS_PATTERNS_H
+#define MLIR_DIALECT_SCF_TRANSFORMS_PATTERNS_H
 
-#include "mlir/Dialect/SCF/SCF.h"
-#include "mlir/Dialect/SCF/Transforms.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
+#include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/IR/PatternMatch.h"
 
 namespace mlir {
@@ -51,4 +51,4 @@
 } // namespace scf
 } // namespace mlir
 
-#endif // MLIR_DIALECT_SCF_PATTERNS_H
+#endif // MLIR_DIALECT_SCF_TRANSFORMS_PATTERNS_H
Index: mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
===================================================================
--- mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
+++ mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
@@ -10,8 +10,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef MLIR_DIALECT_SCF_PASSES_H_
-#define MLIR_DIALECT_SCF_PASSES_H_
+#ifndef MLIR_DIALECT_SCF_TRANSFORMS_PASSES_H_
+#define MLIR_DIALECT_SCF_TRANSFORMS_PASSES_H_
 
 #include "mlir/Pass/Pass.h"
 
@@ -65,8 +65,8 @@
 
 /// Generate the code for registering passes.
 #define GEN_PASS_REGISTRATION
-#include "mlir/Dialect/SCF/Passes.h.inc"
+#include "mlir/Dialect/SCF/Transforms/Passes.h.inc"
 
 } // namespace mlir
 
-#endif // MLIR_DIALECT_SCF_PASSES_H_
+#endif // MLIR_DIALECT_SCF_TRANSFORMS_PASSES_H_
Index: mlir/include/mlir/Dialect/SCF/Transforms/CMakeLists.txt
===================================================================
--- mlir/include/mlir/Dialect/SCF/Transforms/CMakeLists.txt
+++ mlir/include/mlir/Dialect/SCF/Transforms/CMakeLists.txt
@@ -1,6 +1,3 @@
-add_mlir_dialect(SCFOps scf Ops)
-add_mlir_doc(SCFOps SCFDialect Dialects/ -gen-dialect-doc)
-
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name SCF)
 add_public_tablegen_target(MLIRSCFPassIncGen)
@@ -8,4 +5,3 @@
 
 add_mlir_doc(Passes SCFPasses ./ -gen-pass-doc)
 
-add_subdirectory(TransformOps)
Index: mlir/include/mlir/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.h
===================================================================
--- mlir/include/mlir/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.h
+++ mlir/include/mlir/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef MLIR_DIALECT_SCF_BUFFERIZABLEOPINTERFACEIMPL_H
-#define MLIR_DIALECT_SCF_BUFFERIZABLEOPINTERFACEIMPL_H
+#ifndef MLIR_DIALECT_SCF_TRANSFORMS_BUFFERIZABLEOPINTERFACEIMPL_H
+#define MLIR_DIALECT_SCF_TRANSFORMS_BUFFERIZABLEOPINTERFACEIMPL_H
 
 namespace mlir {
 class DialectRegistry;
Index: mlir/include/mlir/Dialect/SCF/IR/SCF.h
===================================================================
--- mlir/include/mlir/Dialect/SCF/IR/SCF.h
+++ mlir/include/mlir/Dialect/SCF/IR/SCF.h
@@ -27,10 +27,10 @@
 } // namespace scf
 } // namespace mlir
 
-#include "mlir/Dialect/SCF/SCFOpsDialect.h.inc"
+#include "mlir/Dialect/SCF/IR/SCFOpsDialect.h.inc"
 
 #define GET_OP_CLASSES
-#include "mlir/Dialect/SCF/SCFOps.h.inc"
+#include "mlir/Dialect/SCF/IR/SCFOps.h.inc"
 
 namespace mlir {
 namespace scf {
Index: mlir/include/mlir/Dialect/SCF/IR/CMakeLists.txt
===================================================================
--- /dev/null
+++ mlir/include/mlir/Dialect/SCF/IR/CMakeLists.txt
@@ -0,0 +1,3 @@
+add_mlir_dialect(SCFOps scf Ops)
+add_mlir_doc(SCFOps SCFDialect Dialects/ -gen-dialect-doc)
+
Index: mlir/include/mlir/Dialect/SCF/CMakeLists.txt
===================================================================
--- mlir/include/mlir/Dialect/SCF/CMakeLists.txt
+++ mlir/include/mlir/Dialect/SCF/CMakeLists.txt
@@ -1,11 +1,3 @@
-add_mlir_dialect(SCFOps scf Ops)
-add_mlir_doc(SCFOps SCFDialect Dialects/ -gen-dialect-doc)
-
-set(LLVM_TARGET_DEFINITIONS Passes.td)
-mlir_tablegen(Passes.h.inc -gen-pass-decls -name SCF)
-add_public_tablegen_target(MLIRSCFPassIncGen)
-add_dependencies(mlir-headers MLIRSCFPassIncGen)
-
-add_mlir_doc(Passes SCFPasses ./ -gen-pass-doc)
-
+add_subdirectory(IR)
 add_subdirectory(TransformOps)
+add_subdirectory(Transforms)
Index: mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
===================================================================
--- mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
+++ mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
@@ -11,7 +11,7 @@
 
 #include "mlir/Dialect/Linalg/Analysis/DependenceAnalysis.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "llvm/ADT/MapVector.h"
 #include "llvm/ADT/SetVector.h"
 
Index: mlir/include/mlir/Dialect/Async/Transforms.h
===================================================================
--- mlir/include/mlir/Dialect/Async/Transforms.h
+++ mlir/include/mlir/Dialect/Async/Transforms.h
@@ -13,7 +13,7 @@
 #ifndef MLIR_DIALECT_ASYNC_TRANSFORMS_H_
 #define MLIR_DIALECT_ASYNC_TRANSFORMS_H_
 
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/ImplicitLocOpBuilder.h"
 
 namespace mlir {
Index: mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
===================================================================
--- mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
+++ mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
@@ -39,7 +39,7 @@
 #include "mlir/Dialect/Func/IR/FuncOps.h"
 #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Pass/Pass.h"
 #include "mlir/Transforms/DialectConversion.h"
 #include "llvm/ADT/Sequence.h"
Index: mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
===================================================================
--- mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
+++ mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
@@ -39,7 +39,7 @@
 #include "mlir/Dialect/Func/IR/FuncOps.h"
 #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Pass/Pass.h"
 #include "mlir/Transforms/DialectConversion.h"
 #include "llvm/ADT/Sequence.h"
Index: flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
===================================================================
--- flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
+++ flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
@@ -18,7 +18,7 @@
 #include "flang/Optimizer/Support/FIRContext.h"
 #include "flang/Optimizer/Transforms/Passes.h"
 #include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Transforms/DialectConversion.h"
 #include "llvm/Support/Debug.h"
 
Index: flang/lib/Optimizer/Transforms/AffinePromotion.cpp
===================================================================
--- flang/lib/Optimizer/Transforms/AffinePromotion.cpp
+++ flang/lib/Optimizer/Transforms/AffinePromotion.cpp
@@ -22,7 +22,7 @@
 #include "flang/Optimizer/Transforms/Passes.h"
 #include "mlir/Dialect/Affine/IR/AffineOps.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/BuiltinAttributes.h"
 #include "mlir/IR/IntegerSet.h"
 #include "mlir/IR/Visitors.h"
Index: flang/lib/Optimizer/Transforms/AffineDemotion.cpp
===================================================================
--- flang/lib/Optimizer/Transforms/AffineDemotion.cpp
+++ flang/lib/Optimizer/Transforms/AffineDemotion.cpp
@@ -25,7 +25,7 @@
 #include "mlir/Dialect/Affine/Utils.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
-#include "mlir/Dialect/SCF/SCF.h"
+#include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/IR/BuiltinAttributes.h"
 #include "mlir/IR/IntegerSet.h"
 #include "mlir/IR/Visitors.h"
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to