]> granicus.if.org Git - clang/commit
[clang-scan-deps] initial outline of the tool that runs preprocessor to find
authorAlex Lorenz <arphaman@gmail.com>
Wed, 12 Jun 2019 21:32:49 +0000 (21:32 +0000)
committerAlex Lorenz <arphaman@gmail.com>
Wed, 12 Jun 2019 21:32:49 +0000 (21:32 +0000)
commit7872ff0089a788244196bb5920251e514bb012e5
tree8edf5fdfd02d3d5ea6919c5d5340e9cbbab9a25b
parent3e2811672412a66b5f43f5f613a824e12276d694
[clang-scan-deps] initial outline of the tool that runs preprocessor to find
dependencies over a JSON compilation database

This commit introduces an outline for the clang-scan-deps tool that will be
used to implement fast dependency discovery phase using implicit modules for
explicit module builds.

The initial version of the tool works by computing non-modular header dependencies
for files in the compilation database without any optimizations
(i.e. without source minimization from r362459).
The tool spawns a number of worker threads to run the clang compiler workers in parallel.

The immediate goal for clang-scan-deps is to create a ClangScanDeps library
which will be used to build up this tool to use the source minimization and
caching multi-threaded filesystem to implement the optimized non-incremental
dependency scanning phase for a non-modular build. This will allow us to do
benchmarks and comparisons for performance that the minimization and caching give us

Differential Revision: https://reviews.llvm.org/D60233

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@363204 91177308-0d34-0410-b5e6-96231b3b80d8
test/CMakeLists.txt
test/ClangScanDeps/Inputs/header.h [new file with mode: 0644]
test/ClangScanDeps/Inputs/header2.h [new file with mode: 0644]
test/ClangScanDeps/Inputs/regular_cdb.json [new file with mode: 0644]
test/ClangScanDeps/regular_cdb.cpp [new file with mode: 0644]
tools/CMakeLists.txt
tools/clang-scan-deps/CMakeLists.txt [new file with mode: 0644]
tools/clang-scan-deps/ClangScanDeps.cpp [new file with mode: 0644]