[all-commits] [llvm/llvm-project] 85af42: [lld] add context-sensitive PGO options for MachO
Ellis Hoag via All-commits
all-commits at lists.llvm.org
Wed May 31 17:54:00 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 85af42df5dbb964d767feb16a5551dddb36fd4f1
https://github.com/llvm/llvm-project/commit/85af42df5dbb964d767feb16a5551dddb36fd4f1
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2023-05-31 (Wed, 31 May 2023)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/cspgo-lto.c
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/LTO.cpp
M lld/MachO/Options.td
A lld/test/MachO/cspgo-gen.ll
A lld/test/MachO/cspgo-use.ll
M lld/test/lit.cfg.py
Log Message:
-----------
[lld] add context-sensitive PGO options for MachO
Enable support for CSPGO for lld MachO targets.
Since lld MachO does not support `-plugin-opt=`, we need to create the `--cs-profile-generate` and `--cs-profile-path=` options and propagate them in `Darwin.cpp`. These flags are not supported by ld64.
Also outline code into `getLastCSProfileGenerateArg()` to share between `CommonArgs.cpp` and `Darwin.cpp`.
CSPGO is already implemented for ELF (https://reviews.llvm.org/D56675) and COFF (https://reviews.llvm.org/D98763).
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D151589
More information about the All-commits
mailing list