diff --git a/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt --- a/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt +++ b/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt @@ -29,7 +29,7 @@ MLIRIR MLIRMemRef MLIRPass - MLIRSCFTransforms + MLIRSCFUtils MLIRSideEffectInterfaces MLIRStandard MLIRTransformUtils diff --git a/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt --- a/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt +++ b/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt @@ -49,6 +49,7 @@ MLIRSCF MLIRSCFBufferizableOpInterfaceImpl MLIRSCFTransforms + MLIRSCFUtils MLIRStdBufferizableOpInterfaceImpl MLIRPass MLIRStandard diff --git a/mlir/lib/Dialect/SCF/CMakeLists.txt b/mlir/lib/Dialect/SCF/CMakeLists.txt --- a/mlir/lib/Dialect/SCF/CMakeLists.txt +++ b/mlir/lib/Dialect/SCF/CMakeLists.txt @@ -17,3 +17,4 @@ ) add_subdirectory(Transforms) +add_subdirectory(Utils) diff --git a/mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt b/mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt --- a/mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt +++ b/mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt @@ -1,5 +1,4 @@ add_mlir_dialect_library(MLIRSCFTransforms - AffineCanonicalizationUtils.cpp Bufferize.cpp ForToWhile.cpp LoopCanonicalization.cpp @@ -10,7 +9,6 @@ ParallelLoopFusion.cpp ParallelLoopTiling.cpp StructuralTypeConversions.cpp - Utils.cpp ADDITIONAL_HEADER_DIRS ${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/SCF @@ -23,10 +21,12 @@ MLIRAffineAnalysis MLIRArithmetic MLIRBufferizationTransforms + MLIRDialectUtils MLIRIR MLIRMemRef MLIRPass MLIRSCF + MLIRSCFUtils MLIRStandard MLIRSupport MLIRTensor diff --git a/mlir/lib/Dialect/SCF/Transforms/AffineCanonicalizationUtils.cpp b/mlir/lib/Dialect/SCF/Utils/AffineCanonicalizationUtils.cpp rename from mlir/lib/Dialect/SCF/Transforms/AffineCanonicalizationUtils.cpp rename to mlir/lib/Dialect/SCF/Utils/AffineCanonicalizationUtils.cpp diff --git a/mlir/lib/Dialect/SCF/Utils/CMakeLists.txt b/mlir/lib/Dialect/SCF/Utils/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/mlir/lib/Dialect/SCF/Utils/CMakeLists.txt @@ -0,0 +1,19 @@ +add_mlir_dialect_library(MLIRSCFUtils + AffineCanonicalizationUtils.cpp + Utils.cpp + + ADDITIONAL_HEADER_DIRS + ${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/SCF + + LINK_LIBS PUBLIC + MLIRAffine + MLIRAffineAnalysis + MLIRAnalysis + MLIRArithmetic + MLIRDialectUtils + MLIRIR + MLIRSCF + MLIRStandard + MLIRSupport + MLIRTransforms + ) diff --git a/mlir/lib/Dialect/SCF/Transforms/Utils.cpp b/mlir/lib/Dialect/SCF/Utils/Utils.cpp rename from mlir/lib/Dialect/SCF/Transforms/Utils.cpp rename to mlir/lib/Dialect/SCF/Utils/Utils.cpp diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt b/mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt --- a/mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt +++ b/mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt @@ -20,6 +20,8 @@ MLIRMemRef MLIRPass MLIRSCF + MLIRSCFTransforms + MLIRSCFUtils MLIRStandard MLIRSparseTensor MLIRSparseTensorUtils diff --git a/mlir/test/lib/Dialect/SCF/CMakeLists.txt b/mlir/test/lib/Dialect/SCF/CMakeLists.txt --- a/mlir/test/lib/Dialect/SCF/CMakeLists.txt +++ b/mlir/test/lib/Dialect/SCF/CMakeLists.txt @@ -10,5 +10,6 @@ MLIRPass MLIRSCF MLIRSCFTransforms + MLIRSCFUtils MLIRTransformUtils ) diff --git a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel --- a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel @@ -1799,6 +1799,7 @@ ":Pass", ":SCFDialect", ":SCFPassIncGen", + ":SCFUtils", ":StandardOps", ":Support", ":TensorDialect", @@ -1966,6 +1967,8 @@ ":MemRefDialect", ":Pass", ":SCFDialect", + ":SCFTransforms", + ":SCFUtils", ":SparseTensor", ":SparseTensorPassIncGen", ":SparseTensorUtils", @@ -2241,6 +2244,7 @@ ":MemRefDialect", ":Pass", ":SCFDialect", + ":SCFUtils", ":StandardOps", ":Support", ":Transforms", @@ -2412,9 +2416,16 @@ "lib/Dialect/SCF/*.h", ], ), - hdrs = glob([ - "include/mlir/Dialect/SCF/*.h", - ]), + hdrs = glob( + [ + "include/mlir/Dialect/SCF/*.h", + ], + exclude = [ + "include/mlir/Dialect/SCF/AffineCanonicalizationUtils.h", + "include/mlir/Dialect/SCF/Utils.h", + "include/mlir/Dialect/SCF/Transforms.h", + ], + ), includes = ["include"], deps = [ ":ArithmeticDialect", @@ -2433,6 +2444,33 @@ ], ) +cc_library( + name = "SCFUtils", + srcs = glob( + [ + "lib/Dialect/SCF/Utils/*.cpp", + ], + ), + hdrs = [ + "include/mlir/Dialect/SCF/AffineCanonicalizationUtils.h", + "include/mlir/Dialect/SCF/Utils.h", + ], + includes = ["include"], + deps = [ + ":Affine", + ":AffineAnalysis", + ":Analysis", + ":ArithmeticDialect", + ":DialectUtils", + ":IR", + ":SCFDialect", + ":StandardOps", + ":Support", + ":Transforms", + "//llvm:Support", + ], +) + cc_library( name = "LinalgInterfaces", srcs = ["lib/Dialect/Linalg/IR/LinalgInterfaces.cpp"], @@ -6912,6 +6950,7 @@ ":SCFBufferizableOpInterfaceImpl", ":SCFDialect", ":SCFTransforms", + ":SCFUtils", ":StandardOps", ":StandardOpsTransforms", ":StdBufferizableOpInterfaceImpl", diff --git a/utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel --- a/utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel @@ -442,6 +442,7 @@ "//mlir:Pass", "//mlir:SCFDialect", "//mlir:SCFTransforms", + "//mlir:SCFUtils", "//mlir:StandardOps", "//mlir:TransformUtils", ],