OSDN Git Service

AMDGPU/GlobalISel: Fix G_IMPLICIT_DEF for pointers
[android-x86/external-llvm.git] / test / CMakeLists.txt
1 llvm_canonicalize_cmake_booleans(
2   LLVM_TOOL_LTO_BUILD
3   HAVE_OCAMLOPT
4   HAVE_OCAML_OUNIT
5   LLVM_INCLUDE_GO_TESTS
6   LLVM_USE_INTEL_JITEVENTS
7   HAVE_LIBZ
8   HAVE_LIBXAR
9   LLVM_ENABLE_DIA_SDK
10   LLVM_ENABLE_FFI
11   BUILD_SHARED_LIBS
12   LLVM_LINK_LLVM_DYLIB
13   )
14
15 configure_lit_site_cfg(
16   ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
17   ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py
18   MAIN_CONFIG
19   ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py
20   )
21 configure_lit_site_cfg(
22   ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.py.in
23   ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg.py
24   MAIN_CONFIG
25   ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.cfg.py
26   )
27
28 # Don't include check-llvm into check-all without LLVM_BUILD_TOOLS.
29 if(NOT LLVM_BUILD_TOOLS)
30   set(EXCLUDE_FROM_ALL ON)
31 endif()
32
33 # Set the depends list as a variable so that it can grow conditionally.
34 # NOTE: Sync the substitutions in test/lit.cfg when adding to this list.
35 set(LLVM_TEST_DEPENDS
36           BugpointPasses
37           FileCheck
38           LLVMHello
39           UnitTests
40           bugpoint
41           count
42           llc
43           lli
44           lli-child-target
45           llvm-ar
46           llvm-as
47           llvm-bcanalyzer
48           llvm-c-test
49           llvm-cat
50           llvm-cfi-verify
51           llvm-config
52           llvm-cov
53           llvm-cvtres
54           llvm-cxxdump
55           llvm-cxxfilt
56           llvm-diff
57           llvm-dis
58           llvm-dlltool
59           dsymutil
60           llvm-dwarfdump
61           llvm-dwp
62           llvm-extract
63           llvm-isel-fuzzer
64           llvm-lib
65           llvm-link
66           llvm-lto2
67           llvm-mc
68           llvm-mca
69           llvm-modextract
70           llvm-mt
71           llvm-nm
72           llvm-objcopy
73           llvm-objdump
74           llvm-opt-fuzzer
75           llvm-opt-report
76           llvm-pdbutil
77           llvm-profdata
78           llvm-ranlib
79           llvm-rc
80           llvm-readobj
81           llvm-readelf
82           llvm-rtdyld
83           llvm-size
84           llvm-split
85           llvm-strings
86           llvm-strip
87           llvm-symbolizer
88           llvm-tblgen
89           llvm-xray
90           not
91           obj2yaml
92           opt
93           sancov
94           sanstats
95           verify-uselistorder
96           yaml-bench
97           yaml2obj
98         )
99
100 if(TARGET llvm-lto)
101   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-lto)
102 endif()
103
104 # If Intel JIT events are supported, depend on a tool that tests the listener.
105 if( LLVM_USE_INTEL_JITEVENTS )
106   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-jitlistener)
107 endif( LLVM_USE_INTEL_JITEVENTS )
108
109 if(TARGET LLVMgold)
110   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LLVMgold)
111 endif()
112
113 if(TARGET llvm-go)
114   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-go)
115 endif()
116
117 if(TARGET LTO)
118   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LTO)
119 endif()
120
121 if(LLVM_BUILD_EXAMPLES)
122   list(APPEND LLVM_TEST_DEPENDS
123     Kaleidoscope-Ch3
124     Kaleidoscope-Ch4
125     Kaleidoscope-Ch5
126     Kaleidoscope-Ch6
127     Kaleidoscope-Ch7
128     )
129 endif()
130
131 if(TARGET ocaml_llvm)
132   # Clear all non-OCaml cross-target dependencies when building out-of-tree.
133   if(LLVM_OCAML_OUT_OF_TREE)
134     set(LLVM_TEST_DEPENDS)
135   endif()
136
137   set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS}
138           ocaml_llvm
139           ocaml_llvm_all_backends
140           ocaml_llvm_analysis
141           ocaml_llvm_bitreader
142           ocaml_llvm_bitwriter
143           ocaml_llvm_executionengine
144           ocaml_llvm_irreader
145           ocaml_llvm_linker
146           ocaml_llvm_target
147           ocaml_llvm_ipo
148           ocaml_llvm_passmgr_builder
149           ocaml_llvm_scalar_opts
150           ocaml_llvm_transform_utils
151           ocaml_llvm_vectorize
152         )
153 endif()
154
155 add_custom_target(llvm-test-depends DEPENDS ${LLVM_TEST_DEPENDS})
156 set_target_properties(llvm-test-depends PROPERTIES FOLDER "Tests")
157
158 add_lit_testsuite(check-llvm "Running the LLVM regression tests"
159   ${CMAKE_CURRENT_BINARY_DIR}
160   DEPENDS ${LLVM_TEST_DEPENDS}
161   )
162 set_target_properties(check-llvm PROPERTIES FOLDER "Tests")
163
164 add_lit_testsuites(LLVM ${CMAKE_CURRENT_SOURCE_DIR}
165   DEPENDS ${LLVM_TEST_DEPENDS}
166   )
167
168 # Setup a legacy alias for 'check-llvm'. This will likely change to be an
169 # alias for 'check-all' at some point in the future.
170 add_custom_target(check)
171 add_dependencies(check check-llvm)
172 set_target_properties(check PROPERTIES FOLDER "Tests")