Fix GCC build problem with 288f05f related to SmallVector. (#116958)
[llvm-project.git] / mlir / lib / Interfaces / CMakeLists.txt
blobd3b7bf65ad3e7394e9693fa22b2e327afb65d771
1 set(LLVM_OPTIONAL_SOURCES
2   CallInterfaces.cpp
3   CastInterfaces.cpp
4   ControlFlowInterfaces.cpp
5   CopyOpInterface.cpp
6   DataLayoutInterfaces.cpp
7   DerivedAttributeOpInterface.cpp
8   DestinationStyleOpInterface.cpp
9   FunctionImplementation.cpp
10   FunctionInterfaces.cpp
11   InferIntRangeInterface.cpp
12   InferTypeOpInterface.cpp
13   LoopLikeInterface.cpp
14   MemorySlotInterfaces.cpp
15   ParallelCombiningOpInterface.cpp
16   RuntimeVerifiableOpInterface.cpp
17   ShapedOpInterfaces.cpp
18   SideEffectInterfaces.cpp
19   SubsetOpInterface.cpp
20   TilingInterface.cpp
21   ValueBoundsOpInterface.cpp
22   VectorInterfaces.cpp
23   ViewLikeInterface.cpp
24   )
26 function(add_mlir_interface_library name)
27   add_mlir_library(MLIR${name}
28     ${name}.cpp
30     ADDITIONAL_HEADER_DIRS
31     ${MLIR_MAIN_INCLUDE_DIR}/mlir/Interfaces
33     DEPENDS
34     MLIR${name}IncGen
36     LINK_LIBS PUBLIC
37     MLIRIR
38     )
39 endfunction(add_mlir_interface_library)
42 add_mlir_interface_library(CallInterfaces)
43 add_mlir_interface_library(CastInterfaces)
44 add_mlir_interface_library(ControlFlowInterfaces)
45 add_mlir_interface_library(CopyOpInterface)
46 add_mlir_interface_library(DataLayoutInterfaces)
47 add_mlir_interface_library(DerivedAttributeOpInterface)
48 add_mlir_interface_library(DestinationStyleOpInterface)
50 add_mlir_library(MLIRFunctionInterfaces
51   FunctionInterfaces.cpp
52   FunctionImplementation.cpp
54   ADDITIONAL_HEADER_DIRS
55   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Interfaces
57   DEPENDS
58   MLIRFunctionInterfacesIncGen
60   LINK_LIBS PUBLIC
61   MLIRIR
64 add_mlir_interface_library(InferIntRangeInterface)
65 add_mlir_interface_library(InferTypeOpInterface)
67 add_mlir_library(MLIRLoopLikeInterface
68   LoopLikeInterface.cpp
70   ADDITIONAL_HEADER_DIRS
71   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Interfaces
73   DEPENDS
74   MLIRLoopLikeInterfaceIncGen
76   LINK_LIBS PUBLIC
77   MLIRIR
78   MLIRFunctionInterfaces
81 add_mlir_interface_library(MemorySlotInterfaces)
82 add_mlir_interface_library(ParallelCombiningOpInterface)
83 add_mlir_interface_library(RuntimeVerifiableOpInterface)
84 add_mlir_interface_library(ShapedOpInterfaces)
85 add_mlir_interface_library(SideEffectInterfaces)
87 add_mlir_library(MLIRSubsetOpInterface
88   SubsetOpInterface.cpp
90   ADDITIONAL_HEADER_DIRS
91   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Interfaces
93   DEPENDS
94   MLIRDestinationStyleOpInterface
95   MLIRSubsetOpInterfaceIncGen
96   MLIRValueBoundsOpInterface
98   LINK_LIBS PUBLIC
99   MLIRDestinationStyleOpInterface
100   MLIRIR
101   MLIRValueBoundsOpInterface
102   )
104 add_mlir_library(MLIRTilingInterface
105   TilingInterface.cpp
107   ADDITIONAL_HEADER_DIRS
108   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Interfaces
110   DEPENDS
111   MLIRTilingInterfaceIncGen
112   MLIRDialectUtils
114   LINK_LIBS PUBLIC
115   MLIRIR
118 add_mlir_interface_library(VectorInterfaces)
119 add_mlir_interface_library(ViewLikeInterface)
121 add_mlir_library(MLIRValueBoundsOpInterface
122   ValueBoundsOpInterface.cpp
124   ADDITIONAL_HEADER_DIRS
125   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Interfaces
127   DEPENDS
128   MLIRDestinationStyleOpInterface
129   MLIRValueBoundsOpInterfaceIncGen
130   MLIRViewLikeInterface
132   LINK_LIBS PUBLIC
133   MLIRAnalysis
134   MLIRDestinationStyleOpInterface
135   MLIRIR
136   )
138 add_subdirectory(Utils)