Skip to content

Commit 365777e

Browse files
authored
[mlir][sparse] refactor utilities into transform/utils dir (#75250)
Separates actual transformation files from supporting utility files in the transforms directory. Includes a bazel overlay fix for the build (as well as a bit of cleanup of that file to be less verbose and more flexible).
1 parent 8eff570 commit 365777e

21 files changed

+76
-85
lines changed

mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
add_mlir_dialect_library(MLIRSparseTensorTransforms
2+
# Rewriting.
23
BufferizableOpInterfaceImpl.cpp
3-
CodegenEnv.cpp
4-
CodegenUtils.cpp
5-
IterationGraphSorter.cpp
6-
LoopEmitter.cpp
74
SparseBufferRewriting.cpp
85
SparseGPUCodegen.cpp
96
SparseReinterpretMap.cpp
@@ -12,11 +9,16 @@ add_mlir_dialect_library(MLIRSparseTensorTransforms
129
SparseTensorConversion.cpp
1310
SparseTensorPasses.cpp
1411
SparseTensorRewriting.cpp
15-
SparseTensorDescriptor.cpp
1612
SparseVectorization.cpp
1713
Sparsification.cpp
1814
SparsificationAndBufferizationPass.cpp
1915
StageSparseOperations.cpp
16+
# Utilities.
17+
Utils/CodegenEnv.cpp
18+
Utils/CodegenUtils.cpp
19+
Utils/IterationGraphSorter.cpp
20+
Utils/LoopEmitter.cpp
21+
Utils/SparseTensorDescriptor.cpp
2022

2123
ADDITIONAL_HEADER_DIRS
2224
${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/SparseTensor

mlir/lib/Dialect/SparseTensor/Transforms/SparseBufferRewriting.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
//
1212
//===----------------------------------------------------------------------===//
1313

14-
#include "CodegenUtils.h"
14+
#include "Utils/CodegenUtils.h"
1515

1616
#include "mlir/Dialect/Arith/IR/Arith.h"
1717
#include "mlir/Dialect/Func/IR/FuncOps.h"

mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
//
1414
//===----------------------------------------------------------------------===//
1515

16-
#include "CodegenUtils.h"
17-
#include "LoopEmitter.h"
16+
#include "Utils/CodegenUtils.h"
17+
#include "Utils/LoopEmitter.h"
1818

1919
#include "mlir/Dialect/Bufferization/IR/Bufferization.h"
2020
#include "mlir/Dialect/GPU/IR/GPUDialect.h"

mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "CodegenUtils.h"
10-
#include "IterationGraphSorter.h"
9+
#include "Utils/CodegenUtils.h"
10+
#include "Utils/IterationGraphSorter.h"
1111

1212
#include "mlir/Dialect/Affine/IR/AffineOps.h"
1313
#include "mlir/Dialect/Bufferization/IR/Bufferization.h"

mlir/lib/Dialect/SparseTensor/Transforms/SparseStorageSpecifierToLLVM.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "CodegenUtils.h"
9+
#include "Utils/CodegenUtils.h"
1010

1111
#include "mlir/Conversion/LLVMCommon/StructBuilder.h"
1212
#include "mlir/Dialect/SparseTensor/IR/SparseTensorStorageLayout.h"

mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
//
1616
//===----------------------------------------------------------------------===//
1717

18-
#include "CodegenUtils.h"
19-
#include "SparseTensorDescriptor.h"
18+
#include "Utils/CodegenUtils.h"
19+
#include "Utils/SparseTensorDescriptor.h"
2020

2121
#include "mlir/Dialect/Arith/Utils/Utils.h"
2222
#include "mlir/Dialect/Bufferization/IR/Bufferization.h"

mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
//
1717
//===----------------------------------------------------------------------===//
1818

19-
#include "CodegenUtils.h"
19+
#include "Utils/CodegenUtils.h"
2020

2121
#include "mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h"
2222
#include "mlir/Dialect/Bufferization/IR/Bufferization.h"

mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
#include "CodegenUtils.h"
14-
#include "LoopEmitter.h"
13+
#include "Utils/CodegenUtils.h"
14+
#include "Utils/LoopEmitter.h"
1515

1616
#include "mlir/Dialect/Affine/IR/AffineOps.h"
1717
#include "mlir/Dialect/Arith/IR/Arith.h"

mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
//
1717
//===----------------------------------------------------------------------===//
1818

19-
#include "CodegenUtils.h"
20-
#include "LoopEmitter.h"
19+
#include "Utils/CodegenUtils.h"
20+
#include "Utils/LoopEmitter.h"
2121

2222
#include "mlir/Dialect/Affine/IR/AffineOps.h"
2323
#include "mlir/Dialect/Arith/IR/Arith.h"

mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
#include "CodegenEnv.h"
14-
#include "CodegenUtils.h"
15-
#include "LoopEmitter.h"
13+
#include "Utils/CodegenEnv.h"
14+
#include "Utils/CodegenUtils.h"
15+
#include "Utils/LoopEmitter.h"
1616

1717
#include "mlir/Dialect/Affine/IR/AffineOps.h"
1818
#include "mlir/Dialect/Arith/IR/Arith.h"

utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

Lines changed: 53 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -2773,13 +2773,9 @@ cc_library(
27732773

27742774
td_library(
27752775
name = "SparseTensorTdFiles",
2776-
srcs = [
2777-
"include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td",
2778-
"include/mlir/Dialect/SparseTensor/IR/SparseTensorBase.td",
2779-
"include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.td",
2780-
"include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td",
2781-
"include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td",
2782-
],
2776+
srcs = glob([
2777+
"include/mlir/Dialect/SparseTensor/IR/*.td",
2778+
]),
27832779
includes = ["include"],
27842780
deps = [
27852781
":InferTypeOpInterfaceTdFiles",
@@ -2788,15 +2784,6 @@ td_library(
27882784
],
27892785
)
27902786

2791-
td_library(
2792-
name = "SparseTensorInterfacesTdFiles",
2793-
srcs = [
2794-
"include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.td",
2795-
],
2796-
includes = ["include"],
2797-
deps = [":OpBaseTdFiles"],
2798-
)
2799-
28002787
gentbl_cc_library(
28012788
name = "SparseTensorAttrDefsIncGen",
28022789
tbl_outs = [
@@ -2918,7 +2905,37 @@ gentbl_cc_library(
29182905
],
29192906
tblgen = ":mlir-tblgen",
29202907
td_file = "include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.td",
2921-
deps = [":SparseTensorInterfacesTdFiles"],
2908+
deps = [":SparseTensorTdFiles"],
2909+
)
2910+
2911+
td_library(
2912+
name = "SparseTensorTransformOpsTdFiles",
2913+
srcs = glob([
2914+
"include/mlir/Dialect/SparseTensor/TransformOps/*.td",
2915+
]),
2916+
includes = ["include"],
2917+
deps = [
2918+
":TransformDialectTdFiles",
2919+
],
2920+
)
2921+
2922+
gentbl_cc_library(
2923+
name = "SparseTensorTransformOpsIncGen",
2924+
tbl_outs = [
2925+
(
2926+
["-gen-op-decls"],
2927+
"include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h.inc",
2928+
),
2929+
(
2930+
["-gen-op-defs"],
2931+
"include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.cpp.inc",
2932+
),
2933+
],
2934+
tblgen = ":mlir-tblgen",
2935+
td_file = "include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.td",
2936+
deps = [
2937+
":SparseTensorTransformOpsTdFiles",
2938+
],
29222939
)
29232940

29242941
# This library is shared by both SparseTensorDialect and
@@ -2932,19 +2949,11 @@ cc_library(
29322949

29332950
cc_library(
29342951
name = "SparseTensorDialect",
2935-
srcs = [
2936-
"lib/Dialect/SparseTensor/IR/Detail/DimLvlMap.cpp",
2937-
"lib/Dialect/SparseTensor/IR/Detail/DimLvlMap.h",
2938-
"lib/Dialect/SparseTensor/IR/Detail/DimLvlMapParser.cpp",
2939-
"lib/Dialect/SparseTensor/IR/Detail/DimLvlMapParser.h",
2940-
"lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp",
2941-
"lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.h",
2942-
"lib/Dialect/SparseTensor/IR/Detail/TemplateExtras.h",
2943-
"lib/Dialect/SparseTensor/IR/Detail/Var.cpp",
2944-
"lib/Dialect/SparseTensor/IR/Detail/Var.h",
2945-
"lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp",
2946-
"lib/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp",
2947-
],
2952+
srcs = glob([
2953+
"lib/Dialect/SparseTensor/IR/*.cpp",
2954+
"lib/Dialect/SparseTensor/IR/Detail/*.cpp",
2955+
"lib/Dialect/SparseTensor/IR/Detail/*.h",
2956+
]),
29482957
hdrs = [
29492958
"include/mlir/Dialect/SparseTensor/IR/SparseTensor.h",
29502959
"include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.h",
@@ -2987,40 +2996,14 @@ cc_library(
29872996
],
29882997
)
29892998

2990-
td_library(
2991-
name = "SparseTensorTransformOpsTdFiles",
2992-
srcs = glob([
2993-
"include/mlir/Dialect/SparseTensor/TransformOps/*.td",
2994-
]),
2995-
includes = ["include"],
2996-
deps = [
2997-
":TransformDialectTdFiles",
2998-
],
2999-
)
3000-
3001-
gentbl_cc_library(
3002-
name = "SparseTensorTransformOpsIncGen",
3003-
tbl_outs = [
3004-
(
3005-
["-gen-op-decls"],
3006-
"include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h.inc",
3007-
),
3008-
(
3009-
["-gen-op-defs"],
3010-
"include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.cpp.inc",
3011-
),
3012-
],
3013-
tblgen = ":mlir-tblgen",
3014-
td_file = "include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.td",
3015-
deps = [
3016-
":SparseTensorTransformOpsTdFiles",
3017-
],
3018-
)
3019-
30202999
cc_library(
30213000
name = "SparseTensorUtils",
3022-
srcs = glob(["lib/Dialect/SparseTensor/Utils/*.cpp"]),
3023-
hdrs = glob(["include/mlir/Dialect/SparseTensor/Utils/*.h"]),
3001+
srcs = glob([
3002+
"lib/Dialect/SparseTensor/Utils/*.cpp",
3003+
]),
3004+
hdrs = glob([
3005+
"include/mlir/Dialect/SparseTensor/Utils/*.h",
3006+
]),
30243007
includes = ["include"],
30253008
deps = [
30263009
":ArithDialect",
@@ -3039,6 +3022,8 @@ cc_library(
30393022
srcs = glob([
30403023
"lib/Dialect/SparseTensor/Transforms/*.cpp",
30413024
"lib/Dialect/SparseTensor/Transforms/*.h",
3025+
"lib/Dialect/SparseTensor/Transforms/Utils/*.cpp",
3026+
"lib/Dialect/SparseTensor/Transforms/Utils/*.h",
30423027
]),
30433028
hdrs = [
30443029
"include/mlir/Dialect/SparseTensor/Transforms/BufferizableOpInterfaceImpl.h",
@@ -3081,8 +3066,12 @@ cc_library(
30813066

30823067
cc_library(
30833068
name = "SparseTensorPipelines",
3084-
srcs = glob(["lib/Dialect/SparseTensor/Pipelines/*.cpp"]),
3085-
hdrs = ["include/mlir/Dialect/SparseTensor/Pipelines/Passes.h"],
3069+
srcs = glob([
3070+
"lib/Dialect/SparseTensor/Pipelines/*.cpp",
3071+
]),
3072+
hdrs = [
3073+
"include/mlir/Dialect/SparseTensor/Pipelines/Passes.h",
3074+
],
30863075
includes = ["include"],
30873076
local_defines = if_cuda_available(["MLIR_GPU_TO_CUBIN_PASS_ENABLE"]),
30883077
deps = [

0 commit comments

Comments
 (0)