llvm-project/clang/lib/Driver/ToolChains
Ellis Hoag af58684f27 [InstrProf] Add options to profile function groups
Add two options, `-fprofile-function-groups=N` and `-fprofile-selected-function-group=i` used to partition functions into `N` groups and only instrument the functions in group `i`. Similar options were added to xray in https://reviews.llvm.org/D87953 and the goal is the same; to reduce instrumented size overhead by spreading the overhead across multiple builds. Raw profiles from different groups can be added like normal using the `llvm-profdata merge` command.

Reviewed By: ianlevesque

Differential Revision: https://reviews.llvm.org/D129594
2022-07-14 11:41:30 -07:00
..
Arch [Driver][ARM][AArch64] Use err_drv_unsupported_option_argument for -march=/-mcpu=/-mtune= diagnostics 2022-06-28 16:01:30 -07:00
AIX.cpp [AIX][PGO] Enable linux style PGO on AIX 2022-05-05 04:10:39 +00:00
AIX.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
AMDGPU.cpp [clang] Don't use Optional::getValue (NFC) 2022-06-20 22:59:26 -07:00
AMDGPU.h Revert "[AMDPU][Sanitizer] Refactor sanitizer options handling for AMDGPU Toolchain" 2022-04-02 13:25:50 +00:00
AMDGPUOpenMP.cpp [clang] Convert for_each to range-based for loops (NFC) 2022-06-10 22:39:45 -07:00
AMDGPUOpenMP.h Revert "[AMDPU][Sanitizer] Refactor sanitizer options handling for AMDGPU Toolchain" 2022-04-02 13:25:50 +00:00
AVR.cpp [clang] Use value instead of getValue (NFC) 2022-07-13 23:39:33 -07:00
AVR.h [Driver][AVR] Fix warn_drv_avr_stdlib_not_linked condition 2022-03-28 10:27:16 -07:00
Ananas.cpp [Driver][Ananas] -r: imply -nostdlib like GCC 2022-05-02 00:28:14 -04:00
Ananas.h
BareMetal.cpp Add basic aarch64-none-elf bare metal driver. 2021-10-22 08:06:17 +01:00
BareMetal.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
CSKYToolChain.cpp [Clang][CSKY] Add the CSKY target and compiler driver 2022-04-06 11:37:37 +08:00
CSKYToolChain.h [CSKY] Remove redundant enabling of IAS for Clang, NFC 2022-04-11 22:34:44 -04:00
Clang.cpp [InstrProf] Add options to profile function groups 2022-07-14 11:41:30 -07:00
Clang.h [Clang] Introduce clang-offload-packager tool to bundle device files 2022-05-11 09:39:13 -04:00
CloudABI.cpp [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
CloudABI.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
CommonArgs.cpp [OpenMP] Do not link static library with `-nogpulib` 2022-07-12 08:15:15 -04:00
CommonArgs.h Update link job for flang on windows 2022-06-20 07:25:10 +00:00
Contiki.cpp
Contiki.h
CrossWindows.cpp [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
CrossWindows.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
Cuda.cpp [CUDA] Stop adding CUDA features twice 2022-06-29 09:34:09 -04:00
Cuda.h [CUDA] Stop adding CUDA features twice 2022-06-29 09:34:09 -04:00
Darwin.cpp [clang/ios] Make -mios-version-min the canonical spelling over -miphoneos-version-min 2022-07-12 15:09:04 -04:00
Darwin.h [Clang] Add DriverKit support 2022-05-13 20:34:57 +01:00
DragonFly.cpp [Driver][DragonFly] -r: imply -nostdlib like GCC 2022-02-14 23:24:26 -05:00
DragonFly.h
Flang.cpp [flang][driver] Add support for `-O{0|1|2|3}` 2022-06-27 10:06:14 +00:00
Flang.h [flang][driver] Add support for `-J/-module-dir` 2021-02-04 16:31:40 +00:00
FreeBSD.cpp [Driver] Pass -X to ld for riscv*-{elf,freebsd,linux} 2022-06-16 23:33:48 -07:00
FreeBSD.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
Fuchsia.cpp [Driver] Pass -X to ld for riscv64-fuchsia 2022-06-20 21:05:01 -04:00
Fuchsia.h [Driver] Make -moutline-atomics default for aarch64-fuchsia targets 2022-03-28 16:51:55 -07:00
Gnu.cpp [clang] Use value instead of getValue (NFC) 2022-07-13 23:39:33 -07:00
Gnu.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
HIPAMD.cpp [clang] Don't use Optional::getValue (NFC) 2022-06-20 22:59:26 -07:00
HIPAMD.h [clang][HIP] Updating driver to enable archive/bitcode to bitcode linking when targeting HIPAMD toolchain 2022-04-21 09:24:33 -07:00
HIPSPV.cpp [HIPSPV][2/4] Add HIPSPV tool chain 2021-12-14 10:22:38 -08:00
HIPSPV.h [HIPSPV][2/4] Add HIPSPV tool chain 2021-12-14 10:22:38 -08:00
HIPUtility.cpp [clang-offload-bundler] add -input/-output options 2022-04-05 11:13:01 -04:00
HIPUtility.h [HIPSPV][1/4] Refactor HIP tool chain 2021-12-13 10:50:25 -05:00
HLSL.cpp [HLSL] Enable half type for hlsl. 2022-06-23 12:56:26 -07:00
HLSL.h [HLSL][clang][Driver] Parse target profile early to update Driver::TargetTriple. 2022-05-31 13:23:30 -07:00
Haiku.cpp [Driver] Detect Debian hack g++-multiarch-incdir.diff to simplify addLibStdCXXIncludePaths call sites 2021-03-21 17:33:31 -07:00
Haiku.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
Hexagon.cpp [clang] Use value instead of getValue (NFC) 2022-07-13 23:39:33 -07:00
Hexagon.h [Clang] Move Hexagon / VE IAS enabling to Generic_GCC::IsIntegratedAssemblerDefault, NFC 2022-04-13 23:56:09 -04:00
Hurd.cpp Hurd: Clean up Debian multiarch /usr/include/<triplet> 2021-04-27 13:36:12 -07:00
Hurd.h hurd: Detect libstdc++ include paths on Debian Hurd i386 2021-04-27 13:04:41 -07:00
InterfaceStubs.cpp [ifs][elfabi] Merge llvm-ifs/elfabi tools 2021-07-19 11:23:19 -07:00
InterfaceStubs.h
Lanai.h [Driver] Move Lanai IAS enabling to Generic_GCC::IsIntegratedAssemblerDefault, NFC 2022-04-15 03:55:59 -04:00
Linux.cpp [clang][flang] Disable defaulting to `-fpie` for LLVM Flang 2022-06-29 07:53:06 +00:00
Linux.h [HIP] Add HIP runtime library arguments for linker 2022-04-28 11:12:23 -04:00
MSP430.cpp [Driver] Prepend - to option name in err_drv_unsupported_option_argument diagnostic 2022-04-10 01:44:53 -07:00
MSP430.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
MSVC.cpp Update link job for flang on windows 2022-06-20 07:25:10 +00:00
MSVC.h [HIP] Add HIP runtime library arguments for linker 2022-04-28 11:12:23 -04:00
MinGW.cpp [clang] [MinGW] Fix paths on Gentoo 2022-07-08 00:37:08 +03:00
MinGW.h [clang] [MinGW] Fix paths on Gentoo 2022-07-08 00:37:08 +03:00
Minix.cpp [Driver][Minix] -r: imply -nostdlib like GCC 2022-06-25 16:16:38 -04:00
Minix.h
MipsLinux.cpp
MipsLinux.h
Myriad.cpp [Driver] Detect Debian hack g++-multiarch-incdir.diff to simplify addLibStdCXXIncludePaths call sites 2021-03-21 17:33:31 -07:00
Myriad.h
NaCl.cpp [clang][driver] NFC: Move InputInfo.h from lib to include 2021-07-27 09:17:39 +02:00
NaCl.h
NetBSD.cpp [Driver][NetBSD] -r: imply -nostdlib like GCC 2022-02-14 23:29:13 -05:00
NetBSD.h
OpenBSD.cpp [Driver] Use Component in OpenBSD::getCompilerRT to find libraries 2022-06-26 21:05:39 +02:00
OpenBSD.h [Driver][OpenBSD] Disable unwind tables on Arm 2022-03-09 20:33:16 -05:00
PPCFreeBSD.cpp [PowerPC] [Clang] Enable Intel intrinsics support on FreeBSD 2021-11-22 20:42:10 +00:00
PPCFreeBSD.h [PowerPC] [Clang] Enable Intel intrinsics support on FreeBSD 2021-11-22 20:42:10 +00:00
PPCLinux.cpp [clang][driver] Fix float128 diagnostics with glibc >= 2.32 2022-03-08 15:49:01 +01:00
PPCLinux.h [PowerPC] Emit warning for ieeelongdouble on older GNU toolchain 2022-01-24 15:23:28 +08:00
PS4CPU.cpp [PS4] Driver: use correct --shared option 2022-04-21 08:19:42 -07:00
PS4CPU.h [PS4][NFC] Rename classes to align with prevailing practice 2022-04-20 08:35:52 -07:00
RISCVToolchain.cpp [RISCV][Driver] Add libm linking to `RISCVToolchain` for C++ 2022-07-06 00:52:26 +03:00
RISCVToolchain.h [RISCV] Remove redundant enabling of IAS for Clang, NFC 2022-04-04 23:44:49 -04:00
ROCm.h [HIP] Support code object v5 2022-02-04 09:55:08 -05:00
SPIRV.cpp [SPIR-V] Remove unused variable 2022-01-11 13:45:59 +00:00
SPIRV.h [Clang] Added options for integrated backend. 2022-05-25 12:07:33 +01:00
Solaris.cpp [Driver][Solaris] -r: imply -nostdlib like GCC 2022-04-28 00:19:45 -04:00
Solaris.h
TCE.cpp [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
TCE.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
VEToolchain.cpp [clang] Fall back on Android triple w/o API level for runtimes search 2022-01-05 16:00:48 -05:00
VEToolchain.h [Clang] Move Hexagon / VE IAS enabling to Generic_GCC::IsIntegratedAssemblerDefault, NFC 2022-04-13 23:56:09 -04:00
WebAssembly.cpp [clang][driver][wasm] Fix libstdc++ target-dependent include dir 2022-02-23 14:38:34 +01:00
WebAssembly.h [clang][driver][wasm] Support -stdlib=libstdc++ for WebAssembly 2022-02-03 16:37:52 +01:00
XCore.cpp [Clang] Move XCore specific options from Clang.cpp to XCore.cpp 2022-01-30 02:24:35 +00:00
XCore.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
ZOS.cpp
ZOS.h [SystemZ/z/OS] Set DWARF version to 4 for z/OS. 2022-06-10 13:38:58 -04:00