Skip to content

Commit 2409ff3

Browse files
committed
Add add_mlir_generic_tablegen_target macro and refactor
1 parent 0211d82 commit 2409ff3

File tree

11 files changed

+28
-52
lines changed

11 files changed

+28
-52
lines changed

mlir/cmake/modules/AddMLIR.cmake

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,15 +201,16 @@ function(add_mlir_interface interface)
201201
add_mlir_generic_tablegen_target(MLIR${interface}IncGen)
202202
endfunction()
203203

204-
# Add a dialect-specific tablegen target that generates headers in the include directory
204+
# Add a dialect-specific tablegen target that generates headers in the include directory.
205+
# In most cases, this is what should be used after invoking `mlir_tablegen`.
205206
macro(add_mlir_dialect_tablegen_target target)
206207
add_public_tablegen_target(${target})
207208
add_dependencies(mlir-headers ${target})
208209
endmacro()
209210

210-
# Add a dialect-independent tablegen target that generates headers in the include directory
211+
# Add a dialect-independent tablegen target that generates headers in the include directory.
211212
# Generally this is used for files outside of the Dialects/ folder, and also for interfaces
212-
# that are meant to be implemented by other/multiple dialects.
213+
# that do not depend on dialect-specific headers.
213214
macro(add_mlir_generic_tablegen_target target)
214215
add_public_tablegen_target(${target})
215216
add_dependencies(mlir-generic-headers ${target})

mlir/include/mlir/Conversion/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ set(LLVM_TARGET_DEFINITIONS Passes.td)
33
mlir_tablegen(Passes.h.inc -gen-pass-decls -name Conversion)
44
mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Conversion)
55
mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Conversion)
6-
add_public_tablegen_target(MLIRConversionPassIncGen)
7-
add_dependencies(mlir-generic-headers MLIRConversionPassIncGen)
6+
add_mlir_generic_tablegen_target(MLIRConversionPassIncGen)
87

98
add_mlir_doc(Passes ConversionPasses ./ -gen-pass-doc)
109

mlir/include/mlir/Conversion/ConvertToLLVM/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@ mlir_tablegen(ToLLVMAttrInterface.h.inc -gen-attr-interface-decls)
33
mlir_tablegen(ToLLVMAttrInterface.cpp.inc -gen-attr-interface-defs)
44
mlir_tablegen(ToLLVMOpInterface.h.inc -gen-op-interface-decls)
55
mlir_tablegen(ToLLVMOpInterface.cpp.inc -gen-op-interface-defs)
6-
add_public_tablegen_target(MLIRConvertToLLVMInterfaceIncGen)
7-
add_dependencies(mlir-generic-headers MLIRConvertToLLVMInterfaceIncGen)
6+
add_mlir_generic_tablegen_target(MLIRConvertToLLVMInterfaceIncGen)

mlir/include/mlir/Dialect/EmitC/IR/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ add_mlir_doc(EmitC EmitC Dialects/ -gen-dialect-doc -dialect emitc)
44
set(LLVM_TARGET_DEFINITIONS EmitCInterfaces.td)
55
mlir_tablegen(EmitCInterfaces.h.inc -gen-op-interface-decls)
66
mlir_tablegen(EmitCInterfaces.cpp.inc -gen-op-interface-defs)
7-
add_public_tablegen_target(MLIREmitCInterfacesIncGen)
8-
add_dependencies(mlir-generic-headers MLIREmitCInterfacesIncGen)
7+
add_mlir_generic_tablegen_target(MLIREmitCInterfacesIncGen)
98

109
set(LLVM_TARGET_DEFINITIONS EmitCAttributes.td)
1110
mlir_tablegen(EmitCEnums.h.inc -gen-enum-decls)

mlir/include/mlir/Dialect/IRDL/IR/CMakeLists.txt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,24 @@ add_mlir_doc(IRDLOps IRDL Dialects/ -gen-dialect-doc -dialect=irdl)
55
set(LLVM_TARGET_DEFINITIONS IRDLInterfaces.td)
66
mlir_tablegen(IRDLInterfaces.h.inc -gen-op-interface-decls)
77
mlir_tablegen(IRDLInterfaces.cpp.inc -gen-op-interface-defs)
8-
add_public_tablegen_target(MLIRIRDLInterfacesIncGen)
9-
add_dependencies(mlir-generic-headers MLIRIRDLInterfacesIncGen)
8+
add_mlir_generic_tablegen_target(MLIRIRDLInterfacesIncGen)
109

1110
# Add IRDL operations
1211
set(LLVM_TARGET_DEFINITIONS IRDLOps.td)
1312
mlir_tablegen(IRDLOps.h.inc -gen-op-decls)
1413
mlir_tablegen(IRDLOps.cpp.inc -gen-op-defs)
15-
add_public_tablegen_target(MLIRIRDLOpsIncGen)
16-
add_dependencies(mlir-generic-headers MLIRIRDLOpsIncGen)
14+
add_mlir_generic_tablegen_target(MLIRIRDLOpsIncGen)
1715

1816
# Add IRDL types
1917
set(LLVM_TARGET_DEFINITIONS IRDLTypes.td)
2018
mlir_tablegen(IRDLTypesGen.h.inc -gen-typedef-decls)
2119
mlir_tablegen(IRDLTypesGen.cpp.inc -gen-typedef-defs)
22-
add_public_tablegen_target(MLIRIRDLTypesIncGen)
23-
add_dependencies(mlir-generic-headers MLIRIRDLTypesIncGen)
20+
add_mlir_generic_tablegen_target(MLIRIRDLTypesIncGen)
2421

2522
# Add IRDL attributes
2623
set(LLVM_TARGET_DEFINITIONS IRDLAttributes.td)
2724
mlir_tablegen(IRDLEnums.h.inc -gen-enum-decls)
2825
mlir_tablegen(IRDLEnums.cpp.inc -gen-enum-defs)
2926
mlir_tablegen(IRDLAttributes.h.inc -gen-attrdef-decls)
3027
mlir_tablegen(IRDLAttributes.cpp.inc -gen-attrdef-defs)
31-
add_public_tablegen_target(MLIRIRDLAttributesIncGen)
32-
add_dependencies(mlir-generic-headers MLIRIRDLAttributesIncGen)
28+
add_mlir_generic_tablegen_target(MLIRIRDLAttributesIncGen)

mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,4 @@ add_mlir_interface(OpenMPOpsInterfaces)
3232
set(LLVM_TARGET_DEFINITIONS OpenMPTypeInterfaces.td)
3333
mlir_tablegen(OpenMPTypeInterfaces.h.inc -gen-type-interface-decls)
3434
mlir_tablegen(OpenMPTypeInterfaces.cpp.inc -gen-type-interface-defs)
35-
add_public_tablegen_target(MLIROpenMPTypeInterfacesIncGen)
36-
add_dependencies(mlir-generic-headers MLIROpenMPTypeInterfacesIncGen)
35+
add_mlir_generic_tablegen_target(MLIROpenMPTypeInterfacesIncGen)

mlir/include/mlir/Dialect/SCF/IR/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ mlir_tablegen(DeviceMappingAttrInterface.h.inc -gen-attr-interface-decls)
66
mlir_tablegen(DeviceMappingAttrInterface.cpp.inc -gen-attr-interface-defs)
77
mlir_tablegen(DeviceMappingAttributes.h.inc -gen-attrdef-decls)
88
mlir_tablegen(DeviceMappingAttributes.cpp.inc -gen-attrdef-defs)
9-
add_public_tablegen_target(MLIRDeviceMappingInterfacesIncGen)
10-
add_dependencies(mlir-generic-headers MLIRDeviceMappingInterfacesIncGen)
9+
add_mlir_generic_tablegen_target(MLIRDeviceMappingInterfacesIncGen)

mlir/include/mlir/Dialect/Vector/IR/CMakeLists.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,12 @@ add_mlir_doc(VectorOps VectorOps Dialects/ -gen-op-doc)
55
set(LLVM_TARGET_DEFINITIONS VectorOps.td)
66
mlir_tablegen(VectorOps.h.inc -gen-op-decls)
77
mlir_tablegen(VectorOps.cpp.inc -gen-op-defs)
8-
add_public_tablegen_target(MLIRVectorOpsIncGen)
9-
add_dependencies(mlir-generic-headers MLIRVectorOpsIncGen)
8+
add_mlir_generic_tablegen_target(MLIRVectorOpsIncGen)
109

1110
# Add Vector attributes
1211
set(LLVM_TARGET_DEFINITIONS VectorAttributes.td)
1312
mlir_tablegen(VectorEnums.h.inc -gen-enum-decls)
1413
mlir_tablegen(VectorEnums.cpp.inc -gen-enum-defs)
1514
mlir_tablegen(VectorAttributes.h.inc -gen-attrdef-decls)
1615
mlir_tablegen(VectorAttributes.cpp.inc -gen-attrdef-defs)
17-
add_public_tablegen_target(MLIRVectorAttributesIncGen)
18-
add_dependencies(mlir-generic-headers MLIRVectorAttributesIncGen)
16+
add_mlir_generic_tablegen_target(MLIRVectorAttributesIncGen)

mlir/include/mlir/IR/CMakeLists.txt

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,65 +8,54 @@ mlir_tablegen(OpAsmOpInterface.h.inc -gen-op-interface-decls)
88
mlir_tablegen(OpAsmOpInterface.cpp.inc -gen-op-interface-defs)
99
mlir_tablegen(OpAsmTypeInterface.h.inc -gen-type-interface-decls)
1010
mlir_tablegen(OpAsmTypeInterface.cpp.inc -gen-type-interface-defs)
11-
add_public_tablegen_target(MLIROpAsmInterfaceIncGen)
12-
add_dependencies(mlir-generic-headers MLIROpAsmInterfaceIncGen)
11+
add_mlir_generic_tablegen_target(MLIROpAsmInterfaceIncGen)
1312

1413
set(LLVM_TARGET_DEFINITIONS BuiltinAttributes.td)
1514
mlir_tablegen(BuiltinAttributes.h.inc -gen-attrdef-decls)
1615
mlir_tablegen(BuiltinAttributes.cpp.inc -gen-attrdef-defs)
17-
add_public_tablegen_target(MLIRBuiltinAttributesIncGen)
18-
add_dependencies(mlir-generic-headers MLIRBuiltinAttributesIncGen)
16+
add_mlir_generic_tablegen_target(MLIRBuiltinAttributesIncGen)
1917

2018
set(LLVM_TARGET_DEFINITIONS BuiltinAttributeInterfaces.td)
2119
mlir_tablegen(BuiltinAttributeInterfaces.h.inc -gen-attr-interface-decls)
2220
mlir_tablegen(BuiltinAttributeInterfaces.cpp.inc -gen-attr-interface-defs)
23-
add_public_tablegen_target(MLIRBuiltinAttributeInterfacesIncGen)
24-
add_dependencies(mlir-generic-headers MLIRBuiltinAttributeInterfacesIncGen)
21+
add_mlir_generic_tablegen_target(MLIRBuiltinAttributeInterfacesIncGen)
2522

2623
set(LLVM_TARGET_DEFINITIONS BuiltinDialect.td)
2724
mlir_tablegen(BuiltinDialect.h.inc -gen-dialect-decls)
2825
mlir_tablegen(BuiltinDialect.cpp.inc -gen-dialect-defs)
29-
add_public_tablegen_target(MLIRBuiltinDialectIncGen)
30-
add_dependencies(mlir-generic-headers MLIRBuiltinDialectIncGen)
26+
add_mlir_generic_tablegen_target(MLIRBuiltinDialectIncGen)
3127

3228
set(LLVM_TARGET_DEFINITIONS BuiltinDialectBytecode.td)
3329
mlir_tablegen(BuiltinDialectBytecode.cpp.inc -gen-bytecode -bytecode-dialect="Builtin")
34-
add_public_tablegen_target(MLIRBuiltinDialectBytecodeIncGen)
35-
add_dependencies(mlir-generic-headers MLIRBuiltinDialectBytecodeIncGen)
30+
add_mlir_generic_tablegen_target(MLIRBuiltinDialectBytecodeIncGen)
3631

3732
set(LLVM_TARGET_DEFINITIONS BuiltinLocationAttributes.td)
3833
mlir_tablegen(BuiltinLocationAttributes.h.inc -gen-attrdef-decls)
3934
mlir_tablegen(BuiltinLocationAttributes.cpp.inc -gen-attrdef-defs)
40-
add_public_tablegen_target(MLIRBuiltinLocationAttributesIncGen)
41-
add_dependencies(mlir-generic-headers MLIRBuiltinLocationAttributesIncGen)
35+
add_mlir_generic_tablegen_target(MLIRBuiltinLocationAttributesIncGen)
4236

4337
set(LLVM_TARGET_DEFINITIONS BuiltinOps.td)
4438
mlir_tablegen(BuiltinOps.h.inc -gen-op-decls)
4539
mlir_tablegen(BuiltinOps.cpp.inc -gen-op-defs)
46-
add_public_tablegen_target(MLIRBuiltinOpsIncGen)
47-
add_dependencies(mlir-generic-headers MLIRBuiltinOpsIncGen)
40+
add_mlir_generic_tablegen_target(MLIRBuiltinOpsIncGen)
4841

4942
set(LLVM_TARGET_DEFINITIONS BuiltinTypes.td)
5043
mlir_tablegen(BuiltinTypes.h.inc -gen-typedef-decls)
5144
mlir_tablegen(BuiltinTypes.cpp.inc -gen-typedef-defs)
5245
add_public_tablegen_target(MLIRBuiltinTypesIncGen)
53-
add_dependencies(mlir-generic-headers MLIRBuiltinTypesIncGen)
5446
mlir_tablegen(BuiltinTypeConstraints.h.inc -gen-type-constraint-decls)
5547
mlir_tablegen(BuiltinTypeConstraints.cpp.inc -gen-type-constraint-defs)
56-
add_public_tablegen_target(MLIRBuiltinTypeConstraintsIncGen)
57-
add_dependencies(mlir-generic-headers MLIRBuiltinTypeConstraintsIncGen)
48+
add_mlir_generic_tablegen_target(MLIRBuiltinTypeConstraintsIncGen)
5849

5950
set(LLVM_TARGET_DEFINITIONS BuiltinTypeInterfaces.td)
6051
mlir_tablegen(BuiltinTypeInterfaces.h.inc -gen-type-interface-decls)
6152
mlir_tablegen(BuiltinTypeInterfaces.cpp.inc -gen-type-interface-defs)
62-
add_public_tablegen_target(MLIRBuiltinTypeInterfacesIncGen)
63-
add_dependencies(mlir-generic-headers MLIRBuiltinTypeInterfacesIncGen)
53+
add_mlir_generic_tablegen_target(MLIRBuiltinTypeInterfacesIncGen)
6454

6555
set(LLVM_TARGET_DEFINITIONS TensorEncoding.td)
6656
mlir_tablegen(TensorEncInterfaces.h.inc -gen-attr-interface-decls)
6757
mlir_tablegen(TensorEncInterfaces.cpp.inc -gen-attr-interface-defs)
68-
add_public_tablegen_target(MLIRTensorEncodingIncGen)
69-
add_dependencies(mlir-generic-headers MLIRTensorEncodingIncGen)
58+
add_mlir_generic_tablegen_target(MLIRTensorEncodingIncGen)
7059

7160
add_mlir_doc(BuiltinAttributes BuiltinAttributes Dialects/ -gen-attrdef-doc)
7261
add_mlir_doc(BuiltinLocationAttributes BuiltinLocationAttributes Dialects/ -gen-attrdef-doc)

mlir/include/mlir/Interfaces/CMakeLists.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ mlir_tablegen(MemorySlotOpInterfaces.h.inc -gen-op-interface-decls)
2424
mlir_tablegen(MemorySlotOpInterfaces.cpp.inc -gen-op-interface-defs)
2525
mlir_tablegen(MemorySlotTypeInterfaces.h.inc -gen-type-interface-decls)
2626
mlir_tablegen(MemorySlotTypeInterfaces.cpp.inc -gen-type-interface-defs)
27-
add_public_tablegen_target(MLIRMemorySlotInterfacesIncGen)
28-
add_dependencies(mlir-generic-headers MLIRMemorySlotInterfacesIncGen)
27+
add_mlir_generic_tablegen_target(MLIRMemorySlotInterfacesIncGen)
2928

3029
set(LLVM_TARGET_DEFINITIONS DataLayoutInterfaces.td)
3130
mlir_tablegen(DataLayoutAttrInterface.h.inc -gen-attr-interface-decls)
@@ -34,8 +33,7 @@ mlir_tablegen(DataLayoutOpInterface.h.inc -gen-op-interface-decls)
3433
mlir_tablegen(DataLayoutOpInterface.cpp.inc -gen-op-interface-defs)
3534
mlir_tablegen(DataLayoutTypeInterface.h.inc -gen-type-interface-decls)
3635
mlir_tablegen(DataLayoutTypeInterface.cpp.inc -gen-type-interface-defs)
37-
add_public_tablegen_target(MLIRDataLayoutInterfacesIncGen)
38-
add_dependencies(mlir-generic-headers MLIRDataLayoutInterfacesIncGen)
36+
add_mlir_generic_tablegen_target(MLIRDataLayoutInterfacesIncGen)
3937

4038
add_mlir_doc(DataLayoutInterfaces
4139
DataLayoutAttrInterface

0 commit comments

Comments
 (0)