2010-10-28 22:38:35 +08:00
|
|
|
add_custom_target(UnitTests)
|
2011-02-21 06:06:10 +08:00
|
|
|
set_target_properties(UnitTests PROPERTIES FOLDER "Tests")
|
2010-10-28 22:38:35 +08:00
|
|
|
|
2012-06-21 13:16:58 +08:00
|
|
|
function(add_llvm_unittest test_dirname)
|
|
|
|
add_unittest(UnitTests ${test_dirname} ${ARGN})
|
|
|
|
endfunction()
|
2018-09-15 01:34:46 +08:00
|
|
|
function(add_llvm_unittest_with_input_files test_dirname)
|
|
|
|
add_unittest_with_input_files(UnitTests ${test_dirname} ${ARGN})
|
|
|
|
endfunction()
|
2010-12-07 18:22:07 +08:00
|
|
|
|
CMake: Make most target symbols hidden by default
Summary:
For builds with LLVM_BUILD_LLVM_DYLIB=ON and BUILD_SHARED_LIBS=OFF
this change makes all symbols in the target specific libraries hidden
by default.
A new macro called LLVM_EXTERNAL_VISIBILITY has been added to mark symbols in these
libraries public, which is mainly needed for the definitions of the
LLVMInitialize* functions.
This patch reduces the number of public symbols in libLLVM.so by about
25%. This should improve load times for the dynamic library and also
make abi checker tools, like abidiff require less memory when analyzing
libLLVM.so
One side-effect of this change is that for builds with
LLVM_BUILD_LLVM_DYLIB=ON and LLVM_LINK_LLVM_DYLIB=ON some unittests that
access symbols that are no longer public will need to be statically linked.
Before and after public symbol counts (using gcc 8.2.1, ld.bfd 2.31.1):
nm before/libLLVM-9svn.so | grep ' [A-Zuvw] ' | wc -l
36221
nm after/libLLVM-9svn.so | grep ' [A-Zuvw] ' | wc -l
26278
Reviewers: chandlerc, beanz, mgorny, rnk, hans
Reviewed By: rnk, hans
Subscribers: merge_guards_bot, luismarques, smeenai, ldionne, lenary, s.egerton, pzheng, sameer.abuasal, MaskRay, wuzish, echristo, Jim, hiraditya, michaelplatings, chapuni, jholewinski, arsenm, dschuff, jyknight, dylanmckay, sdardis, nemanjai, jvesely, javed.absar, sbc100, jgravelle-google, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, zzheng, edward-jones, mgrang, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, kristina, jsji, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D54439
2020-01-15 11:15:07 +08:00
|
|
|
# The target unittests may test APIs that aren't exported in libLLVM.so, so
|
|
|
|
# we need to always link against the static libraries.
|
|
|
|
function(add_llvm_target_unittest test_dir_name)
|
|
|
|
add_llvm_unittest(${test_dir_name} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN})
|
|
|
|
endfunction()
|
|
|
|
|
2012-06-21 17:51:26 +08:00
|
|
|
add_subdirectory(ADT)
|
|
|
|
add_subdirectory(Analysis)
|
2015-05-21 04:41:27 +08:00
|
|
|
add_subdirectory(AsmParser)
|
2018-05-15 02:23:05 +08:00
|
|
|
add_subdirectory(BinaryFormat)
|
2012-06-21 17:51:26 +08:00
|
|
|
add_subdirectory(Bitcode)
|
2019-07-04 06:40:07 +08:00
|
|
|
add_subdirectory(Bitstream)
|
2013-09-04 05:57:57 +08:00
|
|
|
add_subdirectory(CodeGen)
|
2013-09-04 04:51:14 +08:00
|
|
|
add_subdirectory(DebugInfo)
|
2018-04-13 04:41:38 +08:00
|
|
|
add_subdirectory(Demangle)
|
2013-09-04 04:51:14 +08:00
|
|
|
add_subdirectory(ExecutionEngine)
|
[OpenMP] Introduce the OpenMP-IR-Builder
This is the initial patch for the OpenMP-IR-Builder, as discussed on the
mailing list ([1] and later) and at the US Dev Meeting'19.
The design is similar to D61953 but:
- in a non-WIP status, with proper documentation and working.
- using a OpenMPKinds.def file to manage lists of directives, runtime
functions, types, ..., similar to the current Clang implementation.
- restricted to handle only (simple) barriers, to implement most
`#pragma omp barrier` directives and most implicit barriers.
- properly hooked into Clang to be used if possible (D69922).
- compatible with the remaining code generation.
Parts have been extracted into D69853.
The plan is to have multiple people working on moving logic from Clang
here once the initial scaffolding (=this patch) landed.
[1] http://lists.flang-compiler.org/pipermail/flang-dev_lists.flang-compiler.org/2019-May/000197.html
Reviewers: kiranchandramohan, ABataev, RaviNarayanaswamy, gtbercea, grokos, sdmitriev, JonChesterfield, hfinkel, fghanim
Subscribers: mgorny, hiraditya, bollu, guansong, jfb, cfe-commits, llvm-commits, penzn, ppenzin
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D69785
2019-11-06 08:57:44 +08:00
|
|
|
add_subdirectory(Frontend)
|
2017-08-22 06:57:06 +08:00
|
|
|
add_subdirectory(FuzzMutate)
|
2013-09-04 04:51:14 +08:00
|
|
|
add_subdirectory(IR)
|
2014-02-01 07:46:14 +08:00
|
|
|
add_subdirectory(LineEditor)
|
2014-04-29 23:52:36 +08:00
|
|
|
add_subdirectory(Linker)
|
2013-10-17 02:26:16 +08:00
|
|
|
add_subdirectory(MC)
|
2016-02-18 15:37:17 +08:00
|
|
|
add_subdirectory(MI)
|
2016-11-16 05:07:03 +08:00
|
|
|
add_subdirectory(Object)
|
2016-03-02 03:15:06 +08:00
|
|
|
add_subdirectory(ObjectYAML)
|
2012-12-05 08:29:32 +08:00
|
|
|
add_subdirectory(Option)
|
2019-03-06 04:45:17 +08:00
|
|
|
add_subdirectory(Remarks)
|
2018-04-05 23:04:13 +08:00
|
|
|
add_subdirectory(Passes)
|
2015-02-04 08:15:12 +08:00
|
|
|
add_subdirectory(ProfileData)
|
2012-06-21 17:51:26 +08:00
|
|
|
add_subdirectory(Support)
|
2019-10-04 03:13:39 +08:00
|
|
|
add_subdirectory(TableGen)
|
2019-10-03 19:04:48 +08:00
|
|
|
add_subdirectory(Target)
|
2019-10-04 03:13:39 +08:00
|
|
|
add_subdirectory(TextAPI)
|
2012-06-21 17:51:26 +08:00
|
|
|
add_subdirectory(Transforms)
|
2017-02-10 14:36:08 +08:00
|
|
|
add_subdirectory(XRay)
|
2017-10-12 04:35:01 +08:00
|
|
|
add_subdirectory(tools)
|