llvm-project/clang/lib/Driver
Petr Hosek 5fbd1a333a [Coverage] Store compilation dir separately in coverage mapping
We currently always store absolute filenames in coverage mapping.  This
is problematic for several reasons. It poses a problem for distributed
compilation as source location might vary across machines.  We are also
duplicating the path prefix potentially wasting space.

This change modifies how we store filenames in coverage mapping. Rather
than absolute paths, it stores the compilation directory and file paths
as given to the compiler, either relative or absolute. Later when
reading the coverage mapping information, we recombine relative paths
with the working directory. This approach is similar to handling
ofDW_AT_comp_dir in DWARF.

Finally, we also provide a new option, -fprofile-compilation-dir akin
to -fdebug-compilation-dir which can be used to manually override the
compilation directory which is useful in distributed compilation cases.

Differential Revision: https://reviews.llvm.org/D95753
2021-02-18 14:34:39 -08:00
..
ToolChains [Coverage] Store compilation dir separately in coverage mapping 2021-02-18 14:34:39 -08:00
Action.cpp [CUDA][HIP] Add -fuse-cuid 2021-02-08 22:26:12 -05:00
CMakeLists.txt [OpenMP] Add OpenMP offloading toolchain for AMDGPU 2021-02-03 00:42:52 -05:00
Compilation.cpp [Driver] Add callback to Command execution 2020-11-05 12:21:40 +07:00
DarwinSDKInfo.cpp
Distro.cpp Add support of the next Ubuntu (Ubuntu 21.04 - Hirsute Hippo) 2020-10-29 19:11:32 +01:00
Driver.cpp [Driver] Clean up some Separate form options 2021-02-17 13:49:41 -08:00
DriverOptions.cpp [Driver] Use shared singleton instance of DriverOptTable 2019-09-04 14:26:28 +00:00
InputInfo.h
Job.cpp [clang-cl] Remove the /fallback option 2021-02-04 10:33:16 +01:00
Multilib.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
OptionUtils.cpp [NFC] Move OptionUtils from Basic to Driver 2019-12-23 08:11:23 -05:00
Phases.cpp [clang][ifs] Clang Interface Stubs ToolChain plumbing. 2019-10-08 15:23:14 +00:00
SanitizerArgs.cpp [MemProf] Pass down memory profile name with optional path from clang 2020-11-01 17:38:23 -08:00
Tool.cpp Clang Driver: refactor support for writing response files to be 2020-06-29 18:27:02 -04:00
ToolChain.cpp Revert "Revert "[clang][driver] Only warn once about invalid library values"" 2021-02-10 16:40:07 +00:00
Types.cpp [Flang][Driver] Add infrastructure for basic frontend actions and file I/O 2020-10-24 14:58:32 +01:00
XRayArgs.cpp [xray] Function coverage groups 2020-09-24 22:09:53 -04:00