[cfe-dev] speed up clang build after modifying checker code of static analyzer

Reid Kleckner via cfe-dev cfe-dev at lists.llvm.org
Tue Sep 18 18:25:17 PDT 2018


If the clang binary is 2GB, I would recommend building in Release mode with
assertions enabled. Linking binaries without debug information is
dramatically faster. This means passing -DCMAKE_BUILD_TYPE=Release
-DLLVM_ENABLE_ASSERTIONS=ON to cmake.

If you use debug information, I recommend explicitly building one target,
the target you are testing (usually clang), until you feel the need to run
the complete clang test suite.

On Tue, Sep 18, 2018 at 5:42 PM Lou Wynn via cfe-dev <cfe-dev at lists.llvm.org>
wrote:

> Hi,
>
> I'm writing my first clang static analyzer checker. I wrote the scaffold
> code to add the checker into clang. But every time when I change the
> checker implementation code, the build process after generating the
> checker object file is very slow. It's over 4 minutes in my laptop,
> which has the i7-6820HQ four core CPU and 32G memory. The generated
> clang binary is over 2G. The affected artifacts are as follows:
>
> ---------------------
>
> Scanning dependencies of target clangStaticAnalyzerCheckers
> [ 95%] Building CXX object
>
> tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/clangStaticAnalyzerCheckers.dir/IntegerOverflowChecker.cpp.o
> [ 95%] Linking CXX static library
> ../../../../../lib/libclangStaticAnalyzerCheckers.a
> [ 98%] Built target clangStaticAnalyzerCheckers
> [ 98%] Linking CXX executable ../../../../bin/arcmt-test
> [ 98%] Linking CXX executable ../../../../bin/clang-check
> [ 98%] Linking CXX executable ../../../../bin/clang
> [ 98%] Linking CXX shared library ../../../../lib/libclang.so
> [ 98%] Built target arcmt-test   <--- this seems to take the most time
> [ 98%] Built target libclang
> [ 98%] Linking CXX executable ../../../../bin/c-arcmt-test
> [ 98%] Linking CXX executable ../../../../bin/c-index-test
> [ 98%] Built target c-arcmt-test
> [ 98%] Built target clang-check
> [ 98%] Built target clang
> [100%] Built target c-index-test
>
> real    4m23.014s
> user    8m4.032s
> sys     0m51.992s
>
> ---------------------
>
> How can I speed up the build process so that I don't have to wait for
> almost 4.5 minute for a single change in the implementation code? I only
> work on the checker of the static analyzer.
>
> --
> Thanks,
> Lou
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180918/a41d7226/attachment.html>


More information about the cfe-dev mailing list