[all-commits] [llvm/llvm-project] 186a2b: [clang] Ensure -mno-outline adds attributes

Sam Elliott via All-commits all-commits at lists.llvm.org
Tue Feb 10 21:47:32 PST 2026


  Branch: refs/heads/users/lenary/clangensure-mno-outlineaddsattributes
  Home:   https://github.com/llvm/llvm-project
  Commit: 186a2bf7f7046929b039d8e1fc43aec71a4290a4
      https://github.com/llvm/llvm-project/commit/186a2bf7f7046929b039d8e1fc43aec71a4290a4
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-02-11 (Wed, 11 Feb 2026)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/CodeGen/attr-no-outline.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.


  Commit: 67acd02f5a1605f0308b6856fbb7964afee8fbbd
      https://github.com/llvm/llvm-project/commit/67acd02f5a1605f0308b6856fbb7964afee8fbbd
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-02-11 (Wed, 11 Feb 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  Release Note


Compare: https://github.com/llvm/llvm-project/compare/f1dc20d67fba...67acd02f5a16

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