[all-commits] [llvm/llvm-project] be8091: [clang] Ensure -mno-outline adds attributes
Sam Elliott via All-commits
all-commits at lists.llvm.org
Thu Oct 16 13:43:23 PDT 2025
Branch: refs/heads/users/lenary/clangensure-mno-outlineaddsattributes
Home: https://github.com/llvm/llvm-project
Commit: be8091b4488d3450237e84b5bbf26e0c79357791
https://github.com/llvm/llvm-project/commit/be8091b4488d3450237e84b5bbf26e0c79357791
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2025-10-16 (Thu, 16 Oct 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/CodeGen/attr-nooutline.c
M clang/test/Driver/aarch64-outliner.c
M clang/test/Driver/arm-machine-outliner.c
M clang/test/Driver/riscv-outliner.c
M clang/test/Driver/x86-outliner.c
Log Message:
-----------
[clang] Ensure -mno-outline adds attributes
Before this change, `-mno-outline` and `-moutline` only controlled the
pass pipelines for the invoked compiler/linker.
The drawback of this implementation is that, when using LTO, only the
flag provided to the linker invocation is honoured (and any files which
individually use `-mno-outline` will have that flag ignored).
This change serialises the `-mno-outline` flag into each function's
IR/Bitcode, so that we can correctly disable outlining from functions in
files which disabled outlining, without affecting outlining choices for
functions from other files. This matches how other optimisation flags
are handled so the IR/Bitcode can be correctly merged during LTO.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list