diff --git a/mlir/docs/Interfaces.md b/mlir/docs/Interfaces.md --- a/mlir/docs/Interfaces.md +++ b/mlir/docs/Interfaces.md @@ -63,7 +63,7 @@ }; /// Register the interface with the dialect. -AffineOpsDialect::AffineOpsDialect(MLIRContext *context) ... { +AffineDialect::AffineDialect(MLIRContext *context) ... { addInterfaces(); } ``` diff --git a/mlir/docs/Tutorials/Toy/Ch-5.md b/mlir/docs/Tutorials/Toy/Ch-5.md --- a/mlir/docs/Tutorials/Toy/Ch-5.md +++ b/mlir/docs/Tutorials/Toy/Ch-5.md @@ -62,7 +62,7 @@ // We define the specific operations, or dialects, that are legal targets for // this lowering. In our case, we are lowering to a combination of the // `Affine` and `Standard` dialects. - target.addLegalDialect(); + target.addLegalDialect(); // We also define the Toy dialect as Illegal so that the conversion will fail // if any of these operations are *not* converted. Given that we actually want diff --git a/mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp b/mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp --- a/mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp +++ b/mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp @@ -15,7 +15,7 @@ #include "toy/Dialect.h" #include "toy/Passes.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/Pass/Pass.h" #include "mlir/Transforms/DialectConversion.h" @@ -280,7 +280,7 @@ // We define the specific operations, or dialects, that are legal targets for // this lowering. In our case, we are lowering to a combination of the // `Affine` and `Standard` dialects. - target.addLegalDialect(); + target.addLegalDialect(); // We also define the Toy dialect as Illegal so that the conversion will fail // if any of these operations are *not* converted. Given that we actually want diff --git a/mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp b/mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp --- a/mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp +++ b/mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp @@ -15,7 +15,7 @@ #include "toy/Dialect.h" #include "toy/Passes.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/Pass/Pass.h" #include "mlir/Transforms/DialectConversion.h" @@ -280,7 +280,7 @@ // We define the specific operations, or dialects, that are legal targets for // this lowering. In our case, we are lowering to a combination of the // `Affine` and `Standard` dialects. - target.addLegalDialect(); + target.addLegalDialect(); // We also define the Toy dialect as Illegal so that the conversion will fail // if any of these operations are *not* converted. Given that we actually want diff --git a/mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp b/mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp --- a/mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp +++ b/mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp @@ -19,7 +19,7 @@ #include "mlir/Conversion/LoopToStandard/ConvertLoopToStandard.h" #include "mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h" #include "mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/LLVMIR/LLVMDialect.h" #include "mlir/Dialect/LoopOps/LoopOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" diff --git a/mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp b/mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp --- a/mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp +++ b/mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp @@ -15,7 +15,7 @@ #include "toy/Dialect.h" #include "toy/Passes.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/Pass/Pass.h" #include "mlir/Transforms/DialectConversion.h" @@ -280,7 +280,7 @@ // We define the specific operations, or dialects, that are legal targets for // this lowering. In our case, we are lowering to a combination of the // `Affine` and `Standard` dialects. - target.addLegalDialect(); + target.addLegalDialect(); // We also define the Toy dialect as Illegal so that the conversion will fail // if any of these operations are *not* converted. Given that we actually want diff --git a/mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp b/mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp --- a/mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp +++ b/mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp @@ -19,7 +19,7 @@ #include "mlir/Conversion/LoopToStandard/ConvertLoopToStandard.h" #include "mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h" #include "mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/LLVMIR/LLVMDialect.h" #include "mlir/Dialect/LoopOps/LoopOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" diff --git a/mlir/include/mlir/Dialect/Affine/CMakeLists.txt b/mlir/include/mlir/Dialect/Affine/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/mlir/include/mlir/Dialect/Affine/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(IR) diff --git a/mlir/include/mlir/Dialect/AffineOps/EDSC/Builders.h b/mlir/include/mlir/Dialect/Affine/EDSC/Builders.h rename from mlir/include/mlir/Dialect/AffineOps/EDSC/Builders.h rename to mlir/include/mlir/Dialect/Affine/EDSC/Builders.h --- a/mlir/include/mlir/Dialect/AffineOps/EDSC/Builders.h +++ b/mlir/include/mlir/Dialect/Affine/EDSC/Builders.h @@ -14,7 +14,7 @@ #ifndef MLIR_DIALECT_AFFINEOPS_EDSC_BUILDERS_H_ #define MLIR_DIALECT_AFFINEOPS_EDSC_BUILDERS_H_ -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/EDSC/Builders.h" #include "mlir/IR/Builders.h" #include "mlir/IR/Types.h" diff --git a/mlir/include/mlir/Dialect/AffineOps/EDSC/Intrinsics.h b/mlir/include/mlir/Dialect/Affine/EDSC/Intrinsics.h rename from mlir/include/mlir/Dialect/AffineOps/EDSC/Intrinsics.h rename to mlir/include/mlir/Dialect/Affine/EDSC/Intrinsics.h --- a/mlir/include/mlir/Dialect/AffineOps/EDSC/Intrinsics.h +++ b/mlir/include/mlir/Dialect/Affine/EDSC/Intrinsics.h @@ -8,7 +8,7 @@ #ifndef MLIR_DIALECT_AFFINEOPS_EDSC_INTRINSICS_H_ #define MLIR_DIALECT_AFFINEOPS_EDSC_INTRINSICS_H_ -#include "mlir/Dialect/AffineOps/EDSC/Builders.h" +#include "mlir/Dialect/Affine/EDSC/Builders.h" #include "mlir/EDSC/Intrinsics.h" namespace mlir { diff --git a/mlir/include/mlir/Dialect/AffineOps/AffineOps.h b/mlir/include/mlir/Dialect/Affine/IR/AffineOps.h rename from mlir/include/mlir/Dialect/AffineOps/AffineOps.h rename to mlir/include/mlir/Dialect/Affine/IR/AffineOps.h --- a/mlir/include/mlir/Dialect/AffineOps/AffineOps.h +++ b/mlir/include/mlir/Dialect/Affine/IR/AffineOps.h @@ -11,8 +11,8 @@ // //===----------------------------------------------------------------------===// -#ifndef MLIR_DIALECT_AFFINEOPS_AFFINEOPS_H -#define MLIR_DIALECT_AFFINEOPS_AFFINEOPS_H +#ifndef MLIR_DIALECT_AFFINEOPS_IR_AFFINEOPS_H +#define MLIR_DIALECT_AFFINEOPS_IR_AFFINEOPS_H #include "mlir/IR/AffineMap.h" #include "mlir/IR/Builders.h" @@ -36,9 +36,9 @@ /// symbol. bool isTopLevelValue(Value value); -class AffineOpsDialect : public Dialect { +class AffineDialect : public Dialect { public: - AffineOpsDialect(MLIRContext *context); + AffineDialect(MLIRContext *context); static StringRef getDialectNamespace() { return "affine"; } /// Materialize a single constant operation from a given attribute value with @@ -505,7 +505,7 @@ SmallVectorImpl *operands); #define GET_OP_CLASSES -#include "mlir/Dialect/AffineOps/AffineOps.h.inc" +#include "mlir/Dialect/Affine/IR/AffineOps.h.inc" /// Returns if the provided value is the induction variable of a AffineForOp. bool isForInductionVar(Value val); diff --git a/mlir/include/mlir/Dialect/AffineOps/AffineOps.td b/mlir/include/mlir/Dialect/Affine/IR/AffineOps.td rename from mlir/include/mlir/Dialect/AffineOps/AffineOps.td rename to mlir/include/mlir/Dialect/Affine/IR/AffineOps.td --- a/mlir/include/mlir/Dialect/AffineOps/AffineOps.td +++ b/mlir/include/mlir/Dialect/Affine/IR/AffineOps.td @@ -13,7 +13,7 @@ #ifndef AFFINE_OPS #define AFFINE_OPS -include "mlir/Dialect/AffineOps/AffineOpsBase.td" +include "mlir/Dialect/Affine/IR/AffineOpsBase.td" include "mlir/Interfaces/SideEffects.td" include "mlir/Transforms/LoopLikeInterface.td" diff --git a/mlir/include/mlir/Dialect/AffineOps/AffineOpsBase.td b/mlir/include/mlir/Dialect/Affine/IR/AffineOpsBase.td rename from mlir/include/mlir/Dialect/AffineOps/AffineOpsBase.td rename to mlir/include/mlir/Dialect/Affine/IR/AffineOpsBase.td diff --git a/mlir/include/mlir/Dialect/AffineOps/AffineValueMap.h b/mlir/include/mlir/Dialect/Affine/IR/AffineValueMap.h rename from mlir/include/mlir/Dialect/AffineOps/AffineValueMap.h rename to mlir/include/mlir/Dialect/Affine/IR/AffineValueMap.h --- a/mlir/include/mlir/Dialect/AffineOps/AffineValueMap.h +++ b/mlir/include/mlir/Dialect/Affine/IR/AffineValueMap.h @@ -10,8 +10,8 @@ // analysis purposes. //===----------------------------------------------------------------------===// -#ifndef MLIR_DIALECT_AFFINEOPS_AFFINEVALUEMAP_H -#define MLIR_DIALECT_AFFINEOPS_AFFINEVALUEMAP_H +#ifndef MLIR_DIALECT_AFFINEOPS_IR_AFFINEVALUEMAP_H +#define MLIR_DIALECT_AFFINEOPS_IR_AFFINEVALUEMAP_H #include "mlir/IR/AffineMap.h" #include "mlir/IR/OperationSupport.h" @@ -87,4 +87,4 @@ } // namespace mlir -#endif // MLIR_DIALECT_AFFINEOPS_AFFINEVALUEMAP_H +#endif // MLIR_DIALECT_AFFINEOPS_IR_AFFINEVALUEMAP_H diff --git a/mlir/include/mlir/Dialect/AffineOps/CMakeLists.txt b/mlir/include/mlir/Dialect/Affine/IR/CMakeLists.txt rename from mlir/include/mlir/Dialect/AffineOps/CMakeLists.txt rename to mlir/include/mlir/Dialect/Affine/IR/CMakeLists.txt diff --git a/mlir/include/mlir/Dialect/Affine/Passes.h b/mlir/include/mlir/Dialect/Affine/Passes.h new file mode 100644 --- /dev/null +++ b/mlir/include/mlir/Dialect/Affine/Passes.h @@ -0,0 +1,49 @@ +//===- Passes.h - Pass Entrypoints ------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This header file defines a set of transforms specific for the AffineOps +// dialect. +// +//===----------------------------------------------------------------------===// + +#ifndef MLIR_DIALECT_AFFINEOPS_TRANSFORMS_PASSES_H +#define MLIR_DIALECT_AFFINEOPS_TRANSFORMS_PASSES_H + +#include "mlir/Support/LLVM.h" +#include +#include + +namespace mlir { + +class AffineForOp; +class FuncOp; +class ModuleOp; +class Pass; +template +class OpPassBase; + +/// Creates a simplification pass for affine structures (maps and sets). In +/// addition, this pass also normalizes memrefs to have the trivial (identity) +/// layout map. +std::unique_ptr> createSimplifyAffineStructuresPass(); + +/// Creates a loop invariant code motion pass that hoists loop invariant +/// instructions out of affine loop. +std::unique_ptr> createAffineLoopInvariantCodeMotionPass(); + +/// Performs packing (or explicit copying) of accessed memref regions into +/// buffers in the specified faster memory space through either pointwise copies +/// or DMA operations. +std::unique_ptr> createAffineDataCopyGenerationPass( + unsigned slowMemorySpace, unsigned fastMemorySpace, + unsigned tagMemorySpace = 0, int minDmaTransferSize = 1024, + uint64_t fastMemCapacityBytes = std::numeric_limits::max()); + +} // end namespace mlir + +#endif // MLIR_DIALECT_AFFINEOPS_RANSFORMS_PASSES_H diff --git a/mlir/include/mlir/Dialect/CMakeLists.txt b/mlir/include/mlir/Dialect/CMakeLists.txt --- a/mlir/include/mlir/Dialect/CMakeLists.txt +++ b/mlir/include/mlir/Dialect/CMakeLists.txt @@ -1,4 +1,4 @@ -add_subdirectory(AffineOps) +add_subdirectory(Affine) add_subdirectory(FxpMathOps) add_subdirectory(GPU) add_subdirectory(Linalg) diff --git a/mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td b/mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td --- a/mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td +++ b/mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td @@ -13,7 +13,7 @@ #ifndef LINALG_OPS #define LINALG_OPS -include "mlir/Dialect/AffineOps/AffineOpsBase.td" +include "mlir/Dialect/Affine/IR/AffineOpsBase.td" include "mlir/Dialect/Linalg/IR/LinalgBase.td" include "mlir/Interfaces/SideEffects.td" diff --git a/mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td b/mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td --- a/mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td +++ b/mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td @@ -14,7 +14,7 @@ #ifndef LINALG_STRUCTURED_OPS #define LINALG_STRUCTURED_OPS -include "mlir/Dialect/AffineOps/AffineOpsBase.td" +include "mlir/Dialect/Affine/IR/AffineOpsBase.td" include "mlir/Dialect/Linalg/IR/LinalgBase.td" include "mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td" diff --git a/mlir/include/mlir/Dialect/Linalg/Transforms/LinalgTransformPatterns.td b/mlir/include/mlir/Dialect/Linalg/Transforms/LinalgTransformPatterns.td --- a/mlir/include/mlir/Dialect/Linalg/Transforms/LinalgTransformPatterns.td +++ b/mlir/include/mlir/Dialect/Linalg/Transforms/LinalgTransformPatterns.td @@ -15,7 +15,7 @@ include "mlir/Dialect/Linalg/IR/LinalgOps.td" include "mlir/Dialect/Linalg/IR/LinalgStructuredOps.td" -include "mlir/Dialect/AffineOps/AffineOps.td" +include "mlir/Dialect/Affine/IR/AffineOps.td" def HasNoLinalgTransformMarker : CPred<[{ !op.getAttrOfType(LinalgTransforms::kLinalgTransformMarker) diff --git a/mlir/include/mlir/Dialect/VectorOps/VectorOps.td b/mlir/include/mlir/Dialect/VectorOps/VectorOps.td --- a/mlir/include/mlir/Dialect/VectorOps/VectorOps.td +++ b/mlir/include/mlir/Dialect/VectorOps/VectorOps.td @@ -13,9 +13,10 @@ #ifndef VECTOR_OPS #define VECTOR_OPS -include "mlir/Dialect/AffineOps/AffineOpsBase.td" +include "mlir/Dialect/Affine/IR/AffineOpsBase.td" include "mlir/Interfaces/SideEffects.td" + def Vector_Dialect : Dialect { let name = "vector"; let cppNamespace = "vector"; diff --git a/mlir/include/mlir/InitAllDialects.h b/mlir/include/mlir/InitAllDialects.h --- a/mlir/include/mlir/InitAllDialects.h +++ b/mlir/include/mlir/InitAllDialects.h @@ -14,7 +14,7 @@ #ifndef MLIR_INITALLDIALECTS_H_ #define MLIR_INITALLDIALECTS_H_ -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/FxpMathOps/FxpMathOps.h" #include "mlir/Dialect/GPU/GPUDialect.h" #include "mlir/Dialect/LLVMIR/LLVMDialect.h" @@ -36,7 +36,7 @@ // all the possible dialects to be made available to the context automatically. inline void registerAllDialects() { static bool init_once = []() { - registerDialect(); + registerDialect(); registerDialect(); registerDialect(); registerDialect(); diff --git a/mlir/include/mlir/InitAllPasses.h b/mlir/include/mlir/InitAllPasses.h --- a/mlir/include/mlir/InitAllPasses.h +++ b/mlir/include/mlir/InitAllPasses.h @@ -24,6 +24,7 @@ #include "mlir/Conversion/LinalgToSPIRV/LinalgToSPIRVPass.h" #include "mlir/Conversion/LoopsToGPU/LoopsToGPUPass.h" #include "mlir/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.h" +#include "mlir/Dialect/Affine/Passes.h" #include "mlir/Dialect/FxpMathOps/Passes.h" #include "mlir/Dialect/GPU/Passes.h" #include "mlir/Dialect/Linalg/Passes.h" diff --git a/mlir/include/mlir/Transforms/Passes.h b/mlir/include/mlir/Transforms/Passes.h --- a/mlir/include/mlir/Transforms/Passes.h +++ b/mlir/include/mlir/Transforms/Passes.h @@ -53,11 +53,6 @@ std::unique_ptr> createLoopUnrollAndJamPass(int unrollJamFactor = -1); -/// Creates a simplification pass for affine structures (maps and sets). In -/// addition, this pass also normalizes memrefs to have the trivial (identity) -/// layout map. -std::unique_ptr> createSimplifyAffineStructuresPass(); - /// Creates a loop fusion pass which fuses loops. Buffers of size less than or /// equal to `localBufSizeThreshold` are promoted to memory space /// `fastMemorySpace'. @@ -91,14 +86,6 @@ /// bounds into a single loop. std::unique_ptr> createLoopCoalescingPass(); -/// Performs packing (or explicit copying) of accessed memref regions into -/// buffers in the specified faster memory space through either pointwise copies -/// or DMA operations. -std::unique_ptr> createAffineDataCopyGenerationPass( - unsigned slowMemorySpace, unsigned fastMemorySpace, - unsigned tagMemorySpace = 0, int minDmaTransferSize = 1024, - uint64_t fastMemCapacityBytes = std::numeric_limits::max()); - /// Creates a pass to perform optimizations relying on memref dataflow such as /// store to load forwarding, elimination of dead stores, and dead allocs. std::unique_ptr> createMemRefDataFlowOptPass(); diff --git a/mlir/lib/Analysis/AffineAnalysis.cpp b/mlir/lib/Analysis/AffineAnalysis.cpp --- a/mlir/lib/Analysis/AffineAnalysis.cpp +++ b/mlir/lib/Analysis/AffineAnalysis.cpp @@ -14,8 +14,8 @@ #include "mlir/Analysis/AffineAnalysis.h" #include "mlir/Analysis/AffineStructures.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" -#include "mlir/Dialect/AffineOps/AffineValueMap.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineValueMap.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/IR/AffineExprVisitor.h" #include "mlir/IR/Builders.h" diff --git a/mlir/lib/Analysis/AffineStructures.cpp b/mlir/lib/Analysis/AffineStructures.cpp --- a/mlir/lib/Analysis/AffineStructures.cpp +++ b/mlir/lib/Analysis/AffineStructures.cpp @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// #include "mlir/Analysis/AffineStructures.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" -#include "mlir/Dialect/AffineOps/AffineValueMap.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineValueMap.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/IR/AffineExprVisitor.h" #include "mlir/IR/IntegerSet.h" diff --git a/mlir/lib/Analysis/LoopAnalysis.cpp b/mlir/lib/Analysis/LoopAnalysis.cpp --- a/mlir/lib/Analysis/LoopAnalysis.cpp +++ b/mlir/lib/Analysis/LoopAnalysis.cpp @@ -15,8 +15,8 @@ #include "mlir/Analysis/AffineAnalysis.h" #include "mlir/Analysis/AffineStructures.h" #include "mlir/Analysis/NestedMatcher.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" -#include "mlir/Dialect/AffineOps/AffineValueMap.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineValueMap.h" #include "mlir/Support/MathExtras.h" #include "llvm/ADT/DenseSet.h" diff --git a/mlir/lib/Analysis/NestedMatcher.cpp b/mlir/lib/Analysis/NestedMatcher.cpp --- a/mlir/lib/Analysis/NestedMatcher.cpp +++ b/mlir/lib/Analysis/NestedMatcher.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// #include "mlir/Analysis/NestedMatcher.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "llvm/ADT/ArrayRef.h" diff --git a/mlir/lib/Analysis/SliceAnalysis.cpp b/mlir/lib/Analysis/SliceAnalysis.cpp --- a/mlir/lib/Analysis/SliceAnalysis.cpp +++ b/mlir/lib/Analysis/SliceAnalysis.cpp @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// #include "mlir/Analysis/SliceAnalysis.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/LoopOps/LoopOps.h" #include "mlir/IR/Function.h" #include "mlir/IR/Operation.h" diff --git a/mlir/lib/Analysis/Utils.cpp b/mlir/lib/Analysis/Utils.cpp --- a/mlir/lib/Analysis/Utils.cpp +++ b/mlir/lib/Analysis/Utils.cpp @@ -14,8 +14,8 @@ #include "mlir/Analysis/Utils.h" #include "mlir/Analysis/AffineAnalysis.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" -#include "mlir/Dialect/AffineOps/AffineValueMap.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineValueMap.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/Support/Debug.h" diff --git a/mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp b/mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp --- a/mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp +++ b/mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp @@ -13,7 +13,7 @@ #include "mlir/Conversion/AffineToStandard/AffineToStandard.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/LoopOps/LoopOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/IR/AffineExprVisitor.h" diff --git a/mlir/lib/Conversion/LoopsToGPU/LoopsToGPU.cpp b/mlir/lib/Conversion/LoopsToGPU/LoopsToGPU.cpp --- a/mlir/lib/Conversion/LoopsToGPU/LoopsToGPU.cpp +++ b/mlir/lib/Conversion/LoopsToGPU/LoopsToGPU.cpp @@ -15,7 +15,7 @@ #include "mlir/Conversion/LoopsToGPU/LoopsToGPU.h" #include "mlir/Conversion/AffineToStandard/AffineToStandard.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/GPU/GPUDialect.h" #include "mlir/Dialect/GPU/ParallelLoopMapper.h" #include "mlir/Dialect/LoopOps/LoopOps.h" diff --git a/mlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp b/mlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp --- a/mlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp +++ b/mlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp @@ -8,7 +8,7 @@ #include "mlir/Conversion/LoopsToGPU/LoopsToGPUPass.h" #include "mlir/Conversion/LoopsToGPU/LoopsToGPU.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/GPU/GPUDialect.h" #include "mlir/Dialect/LoopOps/LoopOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" @@ -123,7 +123,7 @@ populateParallelLoopToGPUPatterns(patterns, &getContext()); ConversionTarget target(getContext()); target.addLegalDialect(); - target.addLegalDialect(); + target.addLegalDialect(); target.addLegalDialect(); target.addLegalDialect(); target.addIllegalOp(); diff --git a/mlir/lib/Conversion/VectorToLoops/ConvertVectorToLoops.cpp b/mlir/lib/Conversion/VectorToLoops/ConvertVectorToLoops.cpp --- a/mlir/lib/Conversion/VectorToLoops/ConvertVectorToLoops.cpp +++ b/mlir/lib/Conversion/VectorToLoops/ConvertVectorToLoops.cpp @@ -13,7 +13,7 @@ #include #include "mlir/Conversion/VectorToLoops/ConvertVectorToLoops.h" -#include "mlir/Dialect/AffineOps/EDSC/Intrinsics.h" +#include "mlir/Dialect/Affine/EDSC/Intrinsics.h" #include "mlir/Dialect/LoopOps/EDSC/Builders.h" #include "mlir/Dialect/StandardOps/EDSC/Intrinsics.h" #include "mlir/Dialect/VectorOps/VectorOps.h" diff --git a/mlir/lib/Dialect/AffineOps/CMakeLists.txt b/mlir/lib/Dialect/Affine/CMakeLists.txt rename from mlir/lib/Dialect/AffineOps/CMakeLists.txt rename to mlir/lib/Dialect/Affine/CMakeLists.txt --- a/mlir/lib/Dialect/AffineOps/CMakeLists.txt +++ b/mlir/lib/Dialect/Affine/CMakeLists.txt @@ -1,6 +1,6 @@ add_mlir_dialect_library(MLIRAffineOps - AffineOps.cpp - AffineValueMap.cpp + IR/AffineOps.cpp + IR/AffineValueMap.cpp EDSC/Builders.cpp ADDITIONAL_HEADER_DIRS @@ -17,3 +17,5 @@ MLIRSideEffects MLIRStandardOps ) + +add_subdirectory(Transforms) diff --git a/mlir/lib/Dialect/AffineOps/EDSC/Builders.cpp b/mlir/lib/Dialect/Affine/EDSC/Builders.cpp rename from mlir/lib/Dialect/AffineOps/EDSC/Builders.cpp rename to mlir/lib/Dialect/Affine/EDSC/Builders.cpp --- a/mlir/lib/Dialect/AffineOps/EDSC/Builders.cpp +++ b/mlir/lib/Dialect/Affine/EDSC/Builders.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -#include "mlir/Dialect/AffineOps/EDSC/Builders.h" +#include "mlir/Dialect/Affine/EDSC/Builders.h" #include "mlir/Dialect/StandardOps/EDSC/Builders.h" #include "mlir/IR/AffineExpr.h" #include "mlir/IR/AffineMap.h" diff --git a/mlir/lib/Dialect/AffineOps/CMakeLists.txt b/mlir/lib/Dialect/Affine/EDSC/CMakeLists.txt copy from mlir/lib/Dialect/AffineOps/CMakeLists.txt copy to mlir/lib/Dialect/Affine/EDSC/CMakeLists.txt --- a/mlir/lib/Dialect/AffineOps/CMakeLists.txt +++ b/mlir/lib/Dialect/Affine/EDSC/CMakeLists.txt @@ -1,6 +1,4 @@ add_mlir_dialect_library(MLIRAffineOps - AffineOps.cpp - AffineValueMap.cpp EDSC/Builders.cpp ADDITIONAL_HEADER_DIRS diff --git a/mlir/lib/Dialect/AffineOps/AffineOps.cpp b/mlir/lib/Dialect/Affine/IR/AffineOps.cpp rename from mlir/lib/Dialect/AffineOps/AffineOps.cpp rename to mlir/lib/Dialect/Affine/IR/AffineOps.cpp --- a/mlir/lib/Dialect/AffineOps/AffineOps.cpp +++ b/mlir/lib/Dialect/Affine/IR/AffineOps.cpp @@ -6,8 +6,8 @@ // //===----------------------------------------------------------------------===// -#include "mlir/Dialect/AffineOps/AffineOps.h" -#include "mlir/Dialect/AffineOps/AffineValueMap.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineValueMap.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/IR/Function.h" #include "mlir/IR/IntegerSet.h" @@ -25,7 +25,7 @@ #define DEBUG_TYPE "affine-analysis" //===----------------------------------------------------------------------===// -// AffineOpsDialect Interfaces +// AffineDialect Interfaces //===----------------------------------------------------------------------===// namespace { @@ -64,21 +64,21 @@ } // end anonymous namespace //===----------------------------------------------------------------------===// -// AffineOpsDialect +// AffineDialect //===----------------------------------------------------------------------===// -AffineOpsDialect::AffineOpsDialect(MLIRContext *context) +AffineDialect::AffineDialect(MLIRContext *context) : Dialect(getDialectNamespace(), context) { addOperations(); addInterfaces(); } /// Materialize a single constant operation from a given attribute value with /// the desired resultant type. -Operation *AffineOpsDialect::materializeConstant(OpBuilder &builder, +Operation *AffineDialect::materializeConstant(OpBuilder &builder, Attribute value, Type type, Location loc) { return builder.create(loc, type, value); @@ -2369,4 +2369,4 @@ //===----------------------------------------------------------------------===// #define GET_OP_CLASSES -#include "mlir/Dialect/AffineOps/AffineOps.cpp.inc" +#include "mlir/Dialect/Affine/IR/AffineOps.cpp.inc" diff --git a/mlir/lib/Dialect/AffineOps/AffineValueMap.cpp b/mlir/lib/Dialect/Affine/IR/AffineValueMap.cpp rename from mlir/lib/Dialect/AffineOps/AffineValueMap.cpp rename to mlir/lib/Dialect/Affine/IR/AffineValueMap.cpp --- a/mlir/lib/Dialect/AffineOps/AffineValueMap.cpp +++ b/mlir/lib/Dialect/Affine/IR/AffineValueMap.cpp @@ -6,8 +6,8 @@ // //===----------------------------------------------------------------------===// -#include "mlir/Dialect/AffineOps/AffineValueMap.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineValueMap.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" using namespace mlir; diff --git a/mlir/lib/Dialect/AffineOps/CMakeLists.txt b/mlir/lib/Dialect/Affine/IR/CMakeLists.txt copy from mlir/lib/Dialect/AffineOps/CMakeLists.txt copy to mlir/lib/Dialect/Affine/IR/CMakeLists.txt --- a/mlir/lib/Dialect/AffineOps/CMakeLists.txt +++ b/mlir/lib/Dialect/Affine/IR/CMakeLists.txt @@ -1,7 +1,6 @@ add_mlir_dialect_library(MLIRAffineOps AffineOps.cpp AffineValueMap.cpp - EDSC/Builders.cpp ADDITIONAL_HEADER_DIRS ${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/AffineOps diff --git a/mlir/lib/Transforms/AffineDataCopyGeneration.cpp b/mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp rename from mlir/lib/Transforms/AffineDataCopyGeneration.cpp rename to mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp --- a/mlir/lib/Transforms/AffineDataCopyGeneration.cpp +++ b/mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp @@ -20,11 +20,11 @@ //===----------------------------------------------------------------------===// #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" +#include "mlir/Dialect/Affine/Passes.h" #include "mlir/IR/Builders.h" #include "mlir/Pass/Pass.h" #include "mlir/Transforms/LoopUtils.h" -#include "mlir/Transforms/Passes.h" #include "mlir/Transforms/Utils.h" #include "llvm/ADT/MapVector.h" #include "llvm/Support/CommandLine.h" diff --git a/mlir/lib/Transforms/AffineLoopInvariantCodeMotion.cpp b/mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp rename from mlir/lib/Transforms/AffineLoopInvariantCodeMotion.cpp rename to mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp --- a/mlir/lib/Transforms/AffineLoopInvariantCodeMotion.cpp +++ b/mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp @@ -15,7 +15,7 @@ #include "mlir/Analysis/LoopAnalysis.h" #include "mlir/Analysis/SliceAnalysis.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/IR/AffineExpr.h" #include "mlir/IR/AffineMap.h" #include "mlir/IR/Builders.h" diff --git a/mlir/lib/Dialect/AffineOps/CMakeLists.txt b/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt rename from mlir/lib/Dialect/AffineOps/CMakeLists.txt rename to mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt --- a/mlir/lib/Dialect/AffineOps/CMakeLists.txt +++ b/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt @@ -1,7 +1,7 @@ -add_mlir_dialect_library(MLIRAffineOps - AffineOps.cpp - AffineValueMap.cpp - EDSC/Builders.cpp +add_mlir_dialect_library(MLIRAffineTransforms + AffineDataCopyGeneration.cpp + AffineLoopInvariantCodeMotion.cpp + SimplifyAffineStructures.cpp ADDITIONAL_HEADER_DIRS ${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/AffineOps @@ -10,10 +10,12 @@ MLIRAffineOpsIncGen MLIRLoopLikeInterfaceIncGen ) -target_link_libraries(MLIRAffineOps +target_link_libraries(MLIRAffineTransforms PUBLIC + MLIRAffineOps MLIREDSC MLIRIR MLIRSideEffects MLIRStandardOps ) + diff --git a/mlir/lib/Transforms/SimplifyAffineStructures.cpp b/mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp rename from mlir/lib/Transforms/SimplifyAffineStructures.cpp rename to mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp --- a/mlir/lib/Transforms/SimplifyAffineStructures.cpp +++ b/mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp @@ -11,9 +11,12 @@ //===----------------------------------------------------------------------===// #include "mlir/Analysis/AffineStructures.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineValueMap.h" +#include "mlir/Dialect/Affine/Passes.h" +#include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/IR/IntegerSet.h" #include "mlir/Pass/Pass.h" -#include "mlir/Transforms/Passes.h" #include "mlir/Transforms/Utils.h" #define DEBUG_TYPE "simplify-affine-structure" diff --git a/mlir/lib/Dialect/CMakeLists.txt b/mlir/lib/Dialect/CMakeLists.txt --- a/mlir/lib/Dialect/CMakeLists.txt +++ b/mlir/lib/Dialect/CMakeLists.txt @@ -1,4 +1,4 @@ -add_subdirectory(AffineOps) +add_subdirectory(Affine) add_subdirectory(FxpMathOps) add_subdirectory(GPU) add_subdirectory(Linalg) diff --git a/mlir/lib/Dialect/Linalg/EDSC/Builders.cpp b/mlir/lib/Dialect/Linalg/EDSC/Builders.cpp --- a/mlir/lib/Dialect/Linalg/EDSC/Builders.cpp +++ b/mlir/lib/Dialect/Linalg/EDSC/Builders.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// #include "mlir/IR/Builders.h" -#include "mlir/Dialect/AffineOps/EDSC/Intrinsics.h" +#include "mlir/Dialect/Affine/EDSC/Intrinsics.h" #include "mlir/Dialect/Linalg/EDSC/Intrinsics.h" #include "mlir/Dialect/LoopOps/EDSC/Builders.h" #include "mlir/Dialect/StandardOps/EDSC/Intrinsics.h" diff --git a/mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp b/mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp --- a/mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp +++ b/mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -#include "mlir/Dialect/AffineOps/EDSC/Intrinsics.h" +#include "mlir/Dialect/Affine/EDSC/Intrinsics.h" #include "mlir/Dialect/Linalg/EDSC/Intrinsics.h" #include "mlir/Dialect/Linalg/IR/LinalgOps.h" #include "mlir/Dialect/Linalg/IR/LinalgTypes.h" diff --git a/mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp b/mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp --- a/mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp +++ b/mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -#include "mlir/Dialect/AffineOps/EDSC/Intrinsics.h" +#include "mlir/Dialect/Affine/EDSC/Intrinsics.h" #include "mlir/Dialect/Linalg/EDSC/Intrinsics.h" #include "mlir/Dialect/Linalg/IR/LinalgOps.h" #include "mlir/Dialect/Linalg/IR/LinalgTypes.h" diff --git a/mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp b/mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp --- a/mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp +++ b/mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -#include "mlir/Dialect/AffineOps/EDSC/Intrinsics.h" +#include "mlir/Dialect/Affine/EDSC/Intrinsics.h" #include "mlir/Dialect/Linalg/EDSC/Intrinsics.h" #include "mlir/Dialect/Linalg/IR/LinalgTypes.h" #include "mlir/Dialect/Linalg/Passes.h" diff --git a/mlir/lib/Dialect/Linalg/Utils/Utils.cpp b/mlir/lib/Dialect/Linalg/Utils/Utils.cpp --- a/mlir/lib/Dialect/Linalg/Utils/Utils.cpp +++ b/mlir/lib/Dialect/Linalg/Utils/Utils.cpp @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// #include "mlir/Dialect/Linalg/Utils/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/Linalg/IR/LinalgOps.h" #include "mlir/Dialect/Linalg/IR/LinalgTypes.h" #include "mlir/Dialect/LoopOps/LoopOps.h" diff --git a/mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopSpecialization.cpp b/mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopSpecialization.cpp --- a/mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopSpecialization.cpp +++ b/mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopSpecialization.cpp @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/LoopOps/LoopOps.h" #include "mlir/Dialect/LoopOps/Passes.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" diff --git a/mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopTiling.cpp b/mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopTiling.cpp --- a/mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopTiling.cpp +++ b/mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopTiling.cpp @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/LoopOps/LoopOps.h" #include "mlir/Dialect/LoopOps/Passes.h" #include "mlir/Dialect/LoopOps/Transforms.h" diff --git a/mlir/lib/Dialect/VectorOps/VectorTransforms.cpp b/mlir/lib/Dialect/VectorOps/VectorTransforms.cpp --- a/mlir/lib/Dialect/VectorOps/VectorTransforms.cpp +++ b/mlir/lib/Dialect/VectorOps/VectorTransforms.cpp @@ -12,7 +12,7 @@ #include -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/Dialect/Utils/StructuredOpsUtils.h" #include "mlir/Dialect/VectorOps/VectorOps.h" diff --git a/mlir/lib/Dialect/VectorOps/VectorUtils.cpp b/mlir/lib/Dialect/VectorOps/VectorUtils.cpp --- a/mlir/lib/Dialect/VectorOps/VectorUtils.cpp +++ b/mlir/lib/Dialect/VectorOps/VectorUtils.cpp @@ -12,7 +12,7 @@ #include "mlir/Dialect/VectorOps/VectorUtils.h" #include "mlir/Analysis/LoopAnalysis.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/Dialect/VectorOps/VectorOps.h" #include "mlir/IR/Builders.h" diff --git a/mlir/lib/Transforms/CMakeLists.txt b/mlir/lib/Transforms/CMakeLists.txt --- a/mlir/lib/Transforms/CMakeLists.txt +++ b/mlir/lib/Transforms/CMakeLists.txt @@ -1,8 +1,6 @@ add_subdirectory(Utils) add_mlir_library(MLIRTransforms - AffineDataCopyGeneration.cpp - AffineLoopInvariantCodeMotion.cpp Canonicalizer.cpp CSE.cpp DialectConversion.cpp @@ -17,7 +15,6 @@ MemRefDataFlowOpt.cpp OpStats.cpp PipelineDataTransfer.cpp - SimplifyAffineStructures.cpp StripDebugInfo.cpp SymbolDCE.cpp Vectorize.cpp diff --git a/mlir/lib/Transforms/LoopFusion.cpp b/mlir/lib/Transforms/LoopFusion.cpp --- a/mlir/lib/Transforms/LoopFusion.cpp +++ b/mlir/lib/Transforms/LoopFusion.cpp @@ -14,7 +14,7 @@ #include "mlir/Analysis/AffineStructures.h" #include "mlir/Analysis/LoopAnalysis.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/IR/AffineExpr.h" #include "mlir/IR/AffineMap.h" #include "mlir/IR/Builders.h" diff --git a/mlir/lib/Transforms/LoopTiling.cpp b/mlir/lib/Transforms/LoopTiling.cpp --- a/mlir/lib/Transforms/LoopTiling.cpp +++ b/mlir/lib/Transforms/LoopTiling.cpp @@ -14,7 +14,7 @@ #include "mlir/Analysis/AffineStructures.h" #include "mlir/Analysis/LoopAnalysis.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/IR/Builders.h" #include "mlir/Pass/Pass.h" #include "mlir/Transforms/LoopUtils.h" diff --git a/mlir/lib/Transforms/LoopUnroll.cpp b/mlir/lib/Transforms/LoopUnroll.cpp --- a/mlir/lib/Transforms/LoopUnroll.cpp +++ b/mlir/lib/Transforms/LoopUnroll.cpp @@ -13,7 +13,7 @@ #include "mlir/Transforms/Passes.h" #include "mlir/Analysis/LoopAnalysis.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/IR/AffineExpr.h" #include "mlir/IR/AffineMap.h" #include "mlir/IR/Builders.h" diff --git a/mlir/lib/Transforms/LoopUnrollAndJam.cpp b/mlir/lib/Transforms/LoopUnrollAndJam.cpp --- a/mlir/lib/Transforms/LoopUnrollAndJam.cpp +++ b/mlir/lib/Transforms/LoopUnrollAndJam.cpp @@ -35,7 +35,7 @@ #include "mlir/Transforms/Passes.h" #include "mlir/Analysis/LoopAnalysis.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/IR/AffineExpr.h" #include "mlir/IR/AffineMap.h" #include "mlir/IR/BlockAndValueMapping.h" diff --git a/mlir/lib/Transforms/MemRefDataFlowOpt.cpp b/mlir/lib/Transforms/MemRefDataFlowOpt.cpp --- a/mlir/lib/Transforms/MemRefDataFlowOpt.cpp +++ b/mlir/lib/Transforms/MemRefDataFlowOpt.cpp @@ -16,7 +16,7 @@ #include "mlir/Analysis/AffineAnalysis.h" #include "mlir/Analysis/Dominance.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/Pass/Pass.h" #include "mlir/Transforms/Passes.h" diff --git a/mlir/lib/Transforms/PipelineDataTransfer.cpp b/mlir/lib/Transforms/PipelineDataTransfer.cpp --- a/mlir/lib/Transforms/PipelineDataTransfer.cpp +++ b/mlir/lib/Transforms/PipelineDataTransfer.cpp @@ -15,7 +15,7 @@ #include "mlir/Analysis/AffineAnalysis.h" #include "mlir/Analysis/LoopAnalysis.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/IR/Builders.h" #include "mlir/Pass/Pass.h" #include "mlir/Transforms/LoopUtils.h" diff --git a/mlir/lib/Transforms/Utils/LoopFusionUtils.cpp b/mlir/lib/Transforms/Utils/LoopFusionUtils.cpp --- a/mlir/lib/Transforms/Utils/LoopFusionUtils.cpp +++ b/mlir/lib/Transforms/Utils/LoopFusionUtils.cpp @@ -16,7 +16,7 @@ #include "mlir/Analysis/AffineStructures.h" #include "mlir/Analysis/LoopAnalysis.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/IR/AffineExpr.h" #include "mlir/IR/AffineMap.h" #include "mlir/IR/BlockAndValueMapping.h" diff --git a/mlir/lib/Transforms/Utils/LoopUtils.cpp b/mlir/lib/Transforms/Utils/LoopUtils.cpp --- a/mlir/lib/Transforms/Utils/LoopUtils.cpp +++ b/mlir/lib/Transforms/Utils/LoopUtils.cpp @@ -16,7 +16,7 @@ #include "mlir/Analysis/LoopAnalysis.h" #include "mlir/Analysis/SliceAnalysis.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/LoopOps/LoopOps.h" #include "mlir/IR/AffineMap.h" #include "mlir/IR/BlockAndValueMapping.h" diff --git a/mlir/lib/Transforms/Utils/Utils.cpp b/mlir/lib/Transforms/Utils/Utils.cpp --- a/mlir/lib/Transforms/Utils/Utils.cpp +++ b/mlir/lib/Transforms/Utils/Utils.cpp @@ -18,7 +18,7 @@ #include "mlir/Analysis/AffineStructures.h" #include "mlir/Analysis/Dominance.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/IR/Builders.h" #include "mlir/IR/Function.h" #include "mlir/IR/Module.h" diff --git a/mlir/lib/Transforms/Vectorize.cpp b/mlir/lib/Transforms/Vectorize.cpp --- a/mlir/lib/Transforms/Vectorize.cpp +++ b/mlir/lib/Transforms/Vectorize.cpp @@ -15,7 +15,7 @@ #include "mlir/Analysis/NestedMatcher.h" #include "mlir/Analysis/SliceAnalysis.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/Dialect/VectorOps/VectorOps.h" #include "mlir/Dialect/VectorOps/VectorUtils.h" diff --git a/mlir/test/Dialect/AffineOps/canonicalize.mlir b/mlir/test/Dialect/Affine/canonicalize.mlir rename from mlir/test/Dialect/AffineOps/canonicalize.mlir rename to mlir/test/Dialect/Affine/canonicalize.mlir diff --git a/mlir/test/Dialect/AffineOps/dma.mlir b/mlir/test/Dialect/Affine/dma.mlir rename from mlir/test/Dialect/AffineOps/dma.mlir rename to mlir/test/Dialect/Affine/dma.mlir diff --git a/mlir/test/Dialect/AffineOps/inlining.mlir b/mlir/test/Dialect/Affine/inlining.mlir rename from mlir/test/Dialect/AffineOps/inlining.mlir rename to mlir/test/Dialect/Affine/inlining.mlir diff --git a/mlir/test/Dialect/AffineOps/invalid.mlir b/mlir/test/Dialect/Affine/invalid.mlir rename from mlir/test/Dialect/AffineOps/invalid.mlir rename to mlir/test/Dialect/Affine/invalid.mlir diff --git a/mlir/test/Dialect/AffineOps/load-store-invalid.mlir b/mlir/test/Dialect/Affine/load-store-invalid.mlir rename from mlir/test/Dialect/AffineOps/load-store-invalid.mlir rename to mlir/test/Dialect/Affine/load-store-invalid.mlir diff --git a/mlir/test/Dialect/AffineOps/load-store.mlir b/mlir/test/Dialect/Affine/load-store.mlir rename from mlir/test/Dialect/AffineOps/load-store.mlir rename to mlir/test/Dialect/Affine/load-store.mlir diff --git a/mlir/test/Dialect/AffineOps/memref-stride-calculation.mlir b/mlir/test/Dialect/Affine/memref-stride-calculation.mlir rename from mlir/test/Dialect/AffineOps/memref-stride-calculation.mlir rename to mlir/test/Dialect/Affine/memref-stride-calculation.mlir diff --git a/mlir/test/Dialect/AffineOps/ops.mlir b/mlir/test/Dialect/Affine/ops.mlir rename from mlir/test/Dialect/AffineOps/ops.mlir rename to mlir/test/Dialect/Affine/ops.mlir diff --git a/mlir/test/EDSC/builder-api-test.cpp b/mlir/test/EDSC/builder-api-test.cpp --- a/mlir/test/EDSC/builder-api-test.cpp +++ b/mlir/test/EDSC/builder-api-test.cpp @@ -8,7 +8,7 @@ // RUN: mlir-edsc-builder-api-test | FileCheck %s -dump-input-on-failure -#include "mlir/Dialect/AffineOps/EDSC/Intrinsics.h" +#include "mlir/Dialect/Affine/EDSC/Intrinsics.h" #include "mlir/Dialect/Linalg/EDSC/Intrinsics.h" #include "mlir/Dialect/LoopOps/EDSC/Builders.h" #include "mlir/Dialect/StandardOps/EDSC/Intrinsics.h" @@ -38,7 +38,7 @@ static MLIRContext &globalContext() { static bool init_once = []() { - registerDialect(); + registerDialect(); registerDialect(); registerDialect(); registerDialect(); diff --git a/mlir/test/lib/Dialect/Affine/CMakeLists.txt b/mlir/test/lib/Dialect/Affine/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/mlir/test/lib/Dialect/Affine/CMakeLists.txt @@ -0,0 +1,15 @@ +add_llvm_library(MLIRAffineTransformsTestPasses + TestAffineDataCopy.cpp + + ADDITIONAL_HEADER_DIRS + ${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/AffineOps + ${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/AffineTransforms + ${MLIR_MAIN_INCLUDE_DIR}/mlir/IR + ) + +target_link_libraries(MLIRAffineTransformsTestPasses PRIVATE + MLIRIR + MLIRPass + MLIRAffineTransforms + MLIRSupport + ) diff --git a/mlir/test/lib/Transforms/TestAffineDataCopy.cpp b/mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp rename from mlir/test/lib/Transforms/TestAffineDataCopy.cpp rename to mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp --- a/mlir/test/lib/Transforms/TestAffineDataCopy.cpp +++ b/mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp @@ -13,7 +13,7 @@ #include "mlir/Analysis/Passes.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Pass/Pass.h" #include "mlir/Transforms/LoopUtils.h" #include "mlir/Transforms/Passes.h" diff --git a/mlir/test/lib/Dialect/CMakeLists.txt b/mlir/test/lib/Dialect/CMakeLists.txt --- a/mlir/test/lib/Dialect/CMakeLists.txt +++ b/mlir/test/lib/Dialect/CMakeLists.txt @@ -1 +1,2 @@ +add_subdirectory(Affine) add_subdirectory(SPIRV) diff --git a/mlir/test/lib/Transforms/CMakeLists.txt b/mlir/test/lib/Transforms/CMakeLists.txt --- a/mlir/test/lib/Transforms/CMakeLists.txt +++ b/mlir/test/lib/Transforms/CMakeLists.txt @@ -1,5 +1,4 @@ add_llvm_library(MLIRTestTransforms - TestAffineDataCopy.cpp TestAllReduceLowering.cpp TestCallGraph.cpp TestConstantFold.cpp diff --git a/mlir/test/lib/Transforms/TestConstantFold.cpp b/mlir/test/lib/Transforms/TestConstantFold.cpp --- a/mlir/test/lib/Transforms/TestConstantFold.cpp +++ b/mlir/test/lib/Transforms/TestConstantFold.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/IR/Builders.h" #include "mlir/IR/Function.h" diff --git a/mlir/test/lib/Transforms/TestLoopFusion.cpp b/mlir/test/lib/Transforms/TestLoopFusion.cpp --- a/mlir/test/lib/Transforms/TestLoopFusion.cpp +++ b/mlir/test/lib/Transforms/TestLoopFusion.cpp @@ -14,7 +14,7 @@ #include "mlir/Analysis/AffineStructures.h" #include "mlir/Analysis/Passes.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/IR/Builders.h" #include "mlir/Pass/Pass.h" diff --git a/mlir/test/lib/Transforms/TestMemRefBoundCheck.cpp b/mlir/test/lib/Transforms/TestMemRefBoundCheck.cpp --- a/mlir/test/lib/Transforms/TestMemRefBoundCheck.cpp +++ b/mlir/test/lib/Transforms/TestMemRefBoundCheck.cpp @@ -16,7 +16,7 @@ #include "mlir/Analysis/AffineStructures.h" #include "mlir/Analysis/Passes.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/IR/Builders.h" #include "mlir/Pass/Pass.h" diff --git a/mlir/test/lib/Transforms/TestMemRefDependenceCheck.cpp b/mlir/test/lib/Transforms/TestMemRefDependenceCheck.cpp --- a/mlir/test/lib/Transforms/TestMemRefDependenceCheck.cpp +++ b/mlir/test/lib/Transforms/TestMemRefDependenceCheck.cpp @@ -14,7 +14,7 @@ #include "mlir/Analysis/AffineStructures.h" #include "mlir/Analysis/Passes.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/IR/Builders.h" #include "mlir/Pass/Pass.h" diff --git a/mlir/test/lib/Transforms/TestParallelismDetection.cpp b/mlir/test/lib/Transforms/TestParallelismDetection.cpp --- a/mlir/test/lib/Transforms/TestParallelismDetection.cpp +++ b/mlir/test/lib/Transforms/TestParallelismDetection.cpp @@ -12,7 +12,7 @@ #include "mlir/Analysis/Passes.h" #include "mlir/Analysis/Utils.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/IR/Builders.h" #include "mlir/Pass/Pass.h" diff --git a/mlir/test/lib/Transforms/TestVectorizationUtils.cpp b/mlir/test/lib/Transforms/TestVectorizationUtils.cpp --- a/mlir/test/lib/Transforms/TestVectorizationUtils.cpp +++ b/mlir/test/lib/Transforms/TestVectorizationUtils.cpp @@ -13,7 +13,7 @@ #include "mlir/Analysis/AffineAnalysis.h" #include "mlir/Analysis/NestedMatcher.h" #include "mlir/Analysis/SliceAnalysis.h" -#include "mlir/Dialect/AffineOps/AffineOps.h" +#include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/VectorOps/VectorUtils.h" #include "mlir/IR/Builders.h" #include "mlir/IR/Diagnostics.h" diff --git a/mlir/tools/mlir-opt/CMakeLists.txt b/mlir/tools/mlir-opt/CMakeLists.txt --- a/mlir/tools/mlir-opt/CMakeLists.txt +++ b/mlir/tools/mlir-opt/CMakeLists.txt @@ -9,6 +9,7 @@ ${conversion_libs} MLIRLoopOpsTransforms MLIRLoopAnalysis + MLIRAffineTransformsTestPasses MLIRAnalysis MLIRDialect MLIREDSC diff --git a/mlir/tools/mlir-vulkan-runner/CMakeLists.txt b/mlir/tools/mlir-vulkan-runner/CMakeLists.txt --- a/mlir/tools/mlir-vulkan-runner/CMakeLists.txt +++ b/mlir/tools/mlir-vulkan-runner/CMakeLists.txt @@ -60,6 +60,7 @@ LLVMCore LLVMSupport MLIRJitRunner + MLIRAffineTransforms MLIRAnalysis MLIREDSC MLIRExecutionEngine