Postsread more
C++ Code Coverage with Bazel
Recently, it was reported that C++20 module interface files generate no code coverage data. Upon investigating, I discovered that this is due to an instrumentation file that only accounts for explicitly instrumented files. If a file is not listed, its coverage data is skipped. For more details, refer to CoverageOutputGenerator–Main.java#L151-L155.
To address this, I’ve created a patch to include module interfaces in the instrumentation file. Below is the fix:
Posts
Bazel collect2: fatal error: cannot find 'ld' with build
The issue at hand stems from the linker ld.lld, which is specified by the -fuse-ld=lld option, not being present in the PATH during the binary linking process. The error message “cannot find ’ld’” can be misleading; it does not refer to /usr/bin/ld, but rather indicates a failure to locate ld.lld. The resolution involves adding the directory containing ld.lld to your PATH, either by overriding the PATH variable directly or by using --host_action_env=PATH=xxx.
read morePostsread more
Summary of 2024
Overview
In 2024, I continued to explore various areas within the compiler field. My focus this year included the Bazel Build System, LLVM JIT integration with our internal database, Sanitizers, and ClangIR. Below is a detailed summary of my work and achievements in each of these areas.
Posts
Commemorating the First LLVM Patch
This is my first patch contributed to LLVM project.
[mlir][llvm] Add support for memset.inline
🎉🎉🎉
read more