[all-commits] [llvm/llvm-project] 8930a0: [clang] Ensure -mno-outline adds attributes

Sam Elliott via All-commits all-commits at lists.llvm.org
Tue Feb 10 20:23:50 PST 2026


  Branch: refs/heads/users/lenary/clangensure-mno-outlineaddsattributes
  Home:   https://github.com/llvm/llvm-project
  Commit: 8930a049a7e3b5bdb551235289f1a1376a7298c5
      https://github.com/llvm/llvm-project/commit/8930a049a7e3b5bdb551235289f1a1376a7298c5
  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: 7d98b0155d10d40bfea278fdb64d8965513ef1c6
      https://github.com/llvm/llvm-project/commit/7d98b0155d10d40bfea278fdb64d8965513ef1c6
  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/ae35e879a031...7d98b0155d10

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