[all-commits] [llvm/llvm-project] 9d476e: [clang][FatLTO] Avoid UnifiedLTO until it can supp...
Paul Kirth via All-commits
all-commits at lists.llvm.org
Tue Jan 23 14:05:04 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9d476e1e1a18af390e3455a6622ee67a69c64103
https://github.com/llvm/llvm-project/commit/9d476e1e1a18af390e3455a6622ee67a69c64103
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/fat-lto-objects.c
M clang/test/Driver/fat-lto-objects.c
M llvm/docs/FatLTO.rst
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/Transforms/IPO/EmbedBitcodePass.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/EmbedBitcodePass.cpp
M llvm/test/CodeGen/X86/fat-lto-section.ll
M llvm/test/Transforms/EmbedBitcode/embed.ll
Log Message:
-----------
[clang][FatLTO] Avoid UnifiedLTO until it can support WPD/CFI (#79061)
Currently, the UnifiedLTO pipeline seems to have trouble with several
LTO features, like SplitLTO units, which means we cannot use important
optimizations like Whole Program Devirtualization or security hardening
instrumentation like CFI.
This patch reverts FatLTO to using distinct pipelines for Full LTO and
ThinLTO. It still avoids module cloning, since that was error prone.
More information about the All-commits
mailing list