Revert rGe6ccb57bb3f6b761f2310e97fd6ca99eff42f73e "[SLP] Add cost model for `llvm...
[llvm-project.git] / llvm / test / CMakeLists.txt
blobbc2869dc536b517d5aa3a0d871d4dac1efc71d3c
1 llvm_canonicalize_cmake_booleans(
2   BUILD_SHARED_LIBS
3   LLVM_HAVE_LIBXAR
4   HAVE_OCAMLOPT
5   LLVM_ENABLE_DIA_SDK
6   LLVM_ENABLE_FFI
7   LLVM_ENABLE_THREADS
8   LLVM_ENABLE_CURL
9   LLVM_ENABLE_ZLIB
10   LLVM_ENABLE_LIBXML2
11   LLVM_INCLUDE_GO_TESTS
12   LLVM_LINK_LLVM_DYLIB
13   LLVM_TOOL_LTO_BUILD
14   LLVM_USE_INTEL_JITEVENTS
15   LLVM_BUILD_EXAMPLES
16   LLVM_ENABLE_PLUGINS
17   LLVM_BYE_LINK_INTO_TOOLS
18   LLVM_HAVE_TF_AOT
19   LLVM_HAVE_TF_API
20   LLVM_INLINER_MODEL_AUTOGENERATED
21   LLVM_RAEVICT_MODEL_AUTOGENERATED
22   LLVM_ENABLE_EXPENSIVE_CHECKS
23   LLVM_INCLUDE_DXIL_TESTS
24   LLVM_TOOL_LLVM_DRIVER_BUILD
25   )
27 configure_lit_site_cfg(
28   ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
29   ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py
30   MAIN_CONFIG
31   ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py
32   PATHS
33   "CMAKE_OSX_SYSROOT"
34   "LLVM_SOURCE_DIR"
35   "LLVM_BINARY_DIR"
36   "LLVM_TOOLS_DIR"
37   "LLVM_LIBS_DIR"
38   "SHLIBDIR"
39   )
40 configure_lit_site_cfg(
41   ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.py.in
42   ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg.py
43   MAIN_CONFIG
44   ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.cfg.py
45   PATHS
46   "LLVM_SOURCE_DIR"
47   "LLVM_BINARY_DIR"
48   "LLVM_TOOLS_DIR"
49   "SHLIBDIR"
50   )
52 # Set the depends list as a variable so that it can grow conditionally.
53 # NOTE: Sync the substitutions in test/lit.cfg when adding to this list.
54 set(LLVM_TEST_DEPENDS
55           BugpointPasses
56           FileCheck
57           LLVMHello
58           LLVMWindowsDriver
59           UnitTests
60           bugpoint
61           count
62           llc
63           lli
64           lli-child-target
65           llvm-addr2line
66           llvm-ar
67           llvm-as
68           llvm-bcanalyzer
69           llvm-bitcode-strip
70           llvm-c-test
71           llvm-cat
72           llvm-cfi-verify
73           llvm-config
74           llvm-cov
75           llvm-cvtres
76           llvm-cxxdump
77           llvm-cxxfilt
78           llvm-cxxmap
79           llvm-debuginfod-find
80           llvm-diff
81           llvm-dis
82           llvm-dlltool
83           dsymutil
84           llvm-dwarfdump
85           llvm-dwp
86           llvm-exegesis
87           llvm-extract
88           llvm-gsymutil
89           llvm-isel-fuzzer
90           llvm-ifs
91           llvm-install-name-tool
92           llvm-jitlink
93           llvm-lib
94           llvm-libtool-darwin
95           llvm-link
96           llvm-lipo
97           llvm-locstats
98           llvm-lto2
99           llvm-mc
100           llvm-mca
101           llvm-ml
102           llvm-modextract
103           llvm-mt
104           llvm-nm
105           llvm-objcopy
106           llvm-objdump
107           llvm-opt-fuzzer
108           llvm-opt-report
109           llvm-otool
110           llvm-pdbutil
111           llvm-profdata
112           llvm-profgen
113           llvm-ranlib
114           llvm-rc
115           llvm-readobj
116           llvm-readelf
117           llvm-reduce
118           llvm-remark-size-diff
119           llvm-rtdyld
120           llvm-sim
121           llvm-size
122           llvm-split
123           llvm-stress
124           llvm-strings
125           llvm-strip
126           llvm-symbolizer
127           llvm-tblgen
128           llvm-tapi-diff
129           llvm-tli-checker
130           llvm-undname
131           llvm-windres
132           llvm-xray
133           not
134           obj2yaml
135           opt
136           sancov
137           sanstats
138           split-file
139           verify-uselistorder
140           yaml-bench
141           yaml2obj
142         )
144 if(TARGET llvm-lto)
145   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-lto)
146 endif()
148 if(TARGET llvm-driver)
149   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-driver)
150 endif()
152 # If Intel JIT events are supported, depend on a tool that tests the listener.
153 if( LLVM_USE_INTEL_JITEVENTS )
154   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-jitlistener)
155 endif( LLVM_USE_INTEL_JITEVENTS )
157 if(TARGET LLVMgold)
158   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LLVMgold)
159 endif()
161 if(TARGET llvm-go)
162   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-go)
163 endif()
165 if(TARGET LTO)
166   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LTO)
167 endif()
169 if(LLVM_BUILD_EXAMPLES)
170   list(APPEND LLVM_TEST_DEPENDS
171     Kaleidoscope-Ch3
172     Kaleidoscope-Ch4
173     Kaleidoscope-Ch5
174     Kaleidoscope-Ch6
175     Kaleidoscope-Ch7
176     LLJITWithThinLTOSummaries
177     OrcV2CBindingsBasicUsage
178     OrcV2CBindingsAddObjectFile
179     OrcV2CBindingsRemovableCode
180     OrcV2CBindingsReflectProcessSymbols
181     OrcV2CBindingsLazy
182     OrcV2CBindingsVeryLazy
183     )
184   if(CMAKE_HOST_UNIX)
185     list(APPEND LLVM_TEST_DEPENDS
186       LLJITWithRemoteDebugging
187       )
188   endif()
189   if (NOT WIN32)
190     list(APPEND LLVM_TEST_DEPENDS
191       Bye
192       )
193   endif()
194 endif()
196 if(TARGET ocaml_llvm)
197   # Clear all non-OCaml cross-target dependencies when building out-of-tree.
198   if(LLVM_OCAML_OUT_OF_TREE)
199     set(LLVM_TEST_DEPENDS)
200   endif()
202   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS}
203           ocaml_llvm
204           ocaml_llvm_all_backends
205           ocaml_llvm_analysis
206           ocaml_llvm_bitreader
207           ocaml_llvm_bitwriter
208           ocaml_llvm_executionengine
209           ocaml_llvm_irreader
210           ocaml_llvm_linker
211           ocaml_llvm_target
212           ocaml_llvm_ipo
213           ocaml_llvm_passmgr_builder
214           ocaml_llvm_scalar_opts
215           ocaml_llvm_transform_utils
216           ocaml_llvm_vectorize
217         )
218 endif()
220 if (LLVM_INCLUDE_DXIL_TESTS)
221   list(APPEND LLVM_TEST_DEPENDS dxil-dis)
222 endif()
224 add_custom_target(llvm-test-depends DEPENDS ${LLVM_TEST_DEPENDS})
225 set_target_properties(llvm-test-depends PROPERTIES FOLDER "Tests")
227 if(LLVM_BUILD_TOOLS)
228   set(exclude_from_check_all "")
229 else()
230   set(exclude_from_check_all "EXCLUDE_FROM_CHECK_ALL")
231 endif()
233 add_lit_testsuite(check-llvm "Running the LLVM regression tests"
234   ${CMAKE_CURRENT_BINARY_DIR}
235   ${exclude_from_check_all}
236   DEPENDS ${LLVM_TEST_DEPENDS}
237   )
238 set_target_properties(check-llvm PROPERTIES FOLDER "Tests")
240 add_lit_testsuites(LLVM ${CMAKE_CURRENT_SOURCE_DIR}
241   ${exclude_from_check_all}
242   DEPENDS ${LLVM_TEST_DEPENDS}
243   FOLDER "Tests/Subdirectories"
244   )
246 # Setup an alias for 'check-all'.
247 add_custom_target(check)
248 add_dependencies(check check-all)
249 set_target_properties(check PROPERTIES FOLDER "Tests")