LLVM/project fabda14llvm/tools/llvm-readobj ELFDumper.cpp

[llvm-readobj][ELF] Remove flush from `GNUELFDumper::printField()` (#217602)

This dramatically improves the performance of the dumping of ELF
symbols. For `llvm-readelf -s UE5Demo.elf > symbols.txt`, example time
deltas are:

  Windows: ~32s -> ~1s
  Linux:   ~10s -> ~1s
DeltaFile
+0-1llvm/tools/llvm-readobj/ELFDumper.cpp
+0-11 files

LLVM/project c39041bclang/docs ClangFormatStyleOptions.rst ClangFormatStyleOptions.md, clang/include/clang/Basic AttrDocs.td

Merge remote-tracking branch 'upstream/main' into users/jrtc27/lld-handleNonPreemptibleIfunc-skip-pointless-alias
DeltaFile
+13,767-6,856llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
+6,347-3,146llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
+4,558-4,154clang/include/clang/Basic/AttrDocs.td
+8,235-0clang/docs/ClangFormatStyleOptions.md
+0-8,043clang/docs/ClangFormatStyleOptions.rst
+3,980-3,687llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
+36,887-25,88612,491 files not shown
+647,740-325,67312,497 files

LLVM/project 5a6c635clang/lib/Driver/ToolChains HIPUtility.cpp, clang/test/Driver hip-toolchain-no-rdc.hip hip-target-id.hip

clang: Emit legacy amdgcn triple in HIP fatbin bundle entries

hardcoding the amdgcn-amd-amdhsa-- prefix in the bundle ID, so
force these to the legacy name regardless of the active triple.
Hopefully clr will stop hardcoding these so we can drop this at
some point.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+8-6clang/lib/Driver/ToolChains/HIPUtility.cpp
+12-0clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
+3-3clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
+3-3clang/test/Driver/hip-toolchain-no-rdc.hip
+3-3clang/test/Driver/hip-target-id.hip
+2-2clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper.c
+31-176 files not shown
+37-2312 files

LLVM/project a37cd69llvm/include/llvm/Target TargetMachine.h, llvm/lib/CodeGen MachineModuleInfo.cpp

TargetMachine: Verify option/module-flag consistency once per module (#217597)

The -target-abi option / "target-abi" module flag conflict was reported
from the per-function getSubtargetImpl in RISCV and LoongArch, so a 
module with multiple subtargets would repeatedly diagnose. Introduce a 
new TargetMachine method to validate the module for the global options.

I wasn't sure the best place to actually perform this check. This is now
performing it in the earliest pass in codegen, MachineModuleInfo.
MachineModuleInfo is a glorified map from IR to MachineFunction, so I'm
not sure this is the right place. The other alternative I started with was
the AsmPrinter initialization.

Ideally we would eliminate the global options. In particular target-abi
is going to be a bit sticky, because it lives in MCOptions and is thus used
by non-codegen contexts which won't have an IR module to read a flag from.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+14-10llvm/lib/Target/TargetMachine.cpp
+24-0llvm/test/CodeGen/RISCV/module-target-abi-conflict.ll
+8-3llvm/include/llvm/Target/TargetMachine.h
+2-0llvm/lib/CodeGen/MachineModuleInfo.cpp
+48-134 files

LLVM/project 13c9f4bllvm/lib/Target/X86 X86ISelLowering.cpp

[X86] combineTargetShuffle - remove redundant INSERTPS shuffle folding (#217641)

This is handled more generally in combineX86ShufflesRecursively
DeltaFile
+0-68llvm/lib/Target/X86/X86ISelLowering.cpp
+0-681 files

LLVM/project 6b9e044flang/lib/Optimizer/Transforms FIRToSCF.cpp, flang/test/Fir/FirToSCF do-extra.fir normalize.fir

Revert "[flang][FIRToSCF] Recompute a typed induction variable in closed form (#217051)"

This reverts commit de79344abe04cab8fe538cdd0f975f78d941cd24.
DeltaFile
+19-85flang/test/Fir/FirToSCF/do-loop.fir
+19-20flang/lib/Optimizer/Transforms/FIRToSCF.cpp
+4-4flang/test/Fir/FirToSCF/normalize.fir
+3-3flang/test/Fir/FirToSCF/do-extra.fir
+45-1124 files

LLVM/project a40e2dbflang/include/flang/Evaluate tools.h, flang/lib/Evaluate tools.cpp

[flang][Lower] Reassociate sums containing pure calls (#217286)

Part 5/6 of generalisations requested in #207377

Allow pure procedure references to remain opaque terms while splitting
an additive expression. Continue rejecting impure calls and expressions
that reference volatile or asynchronous objects.

There are no known effects on benchmark scores as a result of this
patch.

Assisted-by: Codex

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
DeltaFile
+87-0flang/test/Lower/split-sum-expression-tree-lowering.f90
+2-2flang/lib/Lower/Bridge.cpp
+2-2flang/lib/Evaluate/tools.cpp
+1-1flang/include/flang/Evaluate/tools.h
+92-54 files

LLVM/project fe9fc46llvm/lib/Target/X86 X86ScheduleZnver2.td X86ScheduleZnver1.td, llvm/test/tools/llvm-mca/X86/Znver1 resources-avx2.s resources-avx1.s

[X86] Add correct model values for masked stores on Zen 1 and 2 (#217254)

Follow up to #214187 as requested.
DeltaFile
+8-10llvm/lib/Target/X86/X86ScheduleZnver2.td
+8-10llvm/lib/Target/X86/X86ScheduleZnver1.td
+9-9llvm/test/tools/llvm-mca/X86/Znver2/resources-avx2.s
+9-9llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
+9-9llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
+9-9llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
+52-566 files

FreeBSD/ports 68573c5www/chromium Makefile distinfo, www/chromium/files patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc patch-chrome_browser_first__run_first__run.h

www/chromium: update to 151.0.7922.169

Security:       https://vuxml.freebsd.org/freebsd/d14c86b6-9ca3-11f1-bf98-a8a1599412c6.html
DeltaFile
+5-5www/chromium/distinfo
+2-2www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc
+2-2www/chromium/files/patch-chrome_browser_first__run_first__run.h
+2-2www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
+1-2www/chromium/Makefile
+12-135 files

NetBSD/src pbn6bOBdistrib/sets/lists/etc mi, etc rc rc.subr

   Add an optional mechanism, enabled by setting rcorder_cache=YES in
   /etc/rc.conf, to precompute and cache the list of rc.d scripts that
   will actually result in useful boot-time work.  This cached list is
   then consulted on subsequent boots to reduce the number of scripts
   run during boot.  This can have a huge impact on boot time on machines
   with slow CPUs and/or highly constrained I/O.  On the machine that
   inspired this change, it reduced the number of scripts visited during
   boot from 130 to 45 and reduced the boot time from 13 minutes to 7.

   PR bin/60607
VersionDeltaFile
1.112+154-9etc/rc.subr
1.1+43-0etc/rc.d/rcorder_cache
1.176+23-11etc/rc
1.170+6-1etc/defaults/rc.conf
1.120+3-3etc/rc.d/Makefile
1.279+2-1distrib/sets/lists/etc/mi
+231-256 files

LLVM/project d5e2bc7mlir/include/mlir/Dialect/OpenACC OpenACCCGOps.td, mlir/test/Dialect/OpenACC acc-cg-to-gpu-worker-reduction-combine.mlir invalid-cg.mlir

[mlir][acc] Update par_dims format after strict property assembly format (#217643)

This makes the assembly format of par_dims explicit so that it gets
handled similarly to other acc IR and appears before the types.
DeltaFile
+15-20mlir/test/Dialect/OpenACC/acc-cg-to-gpu-reduction-array.mlir
+10-7mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
+8-8mlir/test/Dialect/OpenACC/ops-cg.mlir
+6-6mlir/test/Dialect/OpenACC/ops-cg-privatization.mlir
+5-5mlir/test/Dialect/OpenACC/invalid-cg.mlir
+4-4mlir/test/Dialect/OpenACC/acc-cg-to-gpu-worker-reduction-combine.mlir
+48-509 files not shown
+69-7115 files

LLVM/project 97d77f5mlir/lib/Target/LLVMIR ModuleImport.cpp, mlir/test/Target/LLVMIR/Import function-metadata.ll

[MLIR][LLVM] Preserve unknown function metadata on import

Import representable non-debug function metadata without a kind-specific
dialect conversion into `LLVMFuncOp` `function_metadata`. Preserve repeated
metadata kinds through the generic carrier so LLVM IR import and export can
round-trip the supported generic metadata subset.

Warn and drop attachments outside that subset while continuing to import the
function.
DeltaFile
+124-0mlir/test/Target/LLVMIR/Import/function-metadata.ll
+32-5mlir/lib/Target/LLVMIR/ModuleImport.cpp
+156-52 files

LLVM/project 1d15670mlir/lib/Target/LLVMIR ModuleTranslation.cpp, mlir/test/Target/LLVMIR function-metadata.mlir

[MLIR][LLVM] Translate LLVMFuncOp function metadata

Materialize LLVMFuncOp function_metadata through ModuleTranslation metadata conversion. Attach function metadata after module-level symbols are mapped so metadata references to functions, globals, aliases, and ifuncs can be resolved.
DeltaFile
+156-0mlir/test/Target/LLVMIR/function-metadata.mlir
+49-5mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+205-52 files

LLVM/project 2876299mlir/include/mlir/Dialect/LLVMIR LLVMOps.td LLVMAttrDefs.td, mlir/lib/Dialect/LLVMIR/IR LLVMAttrs.cpp

[MLIR][LLVM] Add function metadata to LLVMFuncOp (#203018)

Add a generic LLVM dialect carrier for LLVM IR function metadata on
LLVMFuncOp. Represent attachments as an ordered list so repeated
metadata kinds, such as multiple type metadata attachments, can be
preserved while keeping metadata names language-agnostic.
DeltaFile
+37-0mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
+22-0mlir/test/Dialect/LLVMIR/roundtrip.mlir
+22-0mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
+20-0mlir/test/Dialect/LLVMIR/invalid.mlir
+3-0mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+1-0mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
+105-06 files

FreeBSD/ports 85b5db5devel/jenkins Makefile distinfo

devel/jenkins: Update to 2.578

Sponsored by:   The FreeBSD Foundation
DeltaFile
+3-3devel/jenkins/distinfo
+1-1devel/jenkins/Makefile
+4-42 files

LLVM/project 144ce85clang/lib/Basic/Targets AArch64.cpp

fixup! Small tweaks
DeltaFile
+33-51clang/lib/Basic/Targets/AArch64.cpp
+33-511 files

LLVM/project 0343690clang/lib/Basic/Targets AArch64.h AArch64.cpp, clang/lib/Sema SemaARM.cpp

fixup! Address more CR comments
DeltaFile
+48-58clang/lib/Basic/Targets/AArch64.cpp
+19-14clang/lib/Sema/SemaARM.cpp
+5-2clang/lib/Basic/Targets/AArch64.h
+72-743 files

LLVM/project 7fbad4cclang/lib/Basic/Targets AArch64.h AArch64.cpp, clang/lib/Sema SemaARM.cpp

fixup! Address PR comments
DeltaFile
+61-110clang/lib/Basic/Targets/AArch64.cpp
+8-2clang/lib/Sema/SemaARM.cpp
+3-5llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
+1-4clang/lib/Basic/Targets/AArch64.h
+73-1214 files

LLVM/project 10e9fa6clang/lib/Basic/Targets AArch64TargetInfoFeatures.inc AArch64.h, clang/lib/Sema SemaARM.cpp

[AArch64][clang] Use tablegen rather than hard-coded feature dependencies

Refactor AArch64 frontend feature handling so extension relationships come
from the TargetParser extension graph instead of hand-written dependency
code in C++. This makes `llvm::AArch64::ExtensionSet` the source of
truth for dependency expansion while still keeping the short `Has...` names
used in the frontend code.

This removes a large amount of duplicated implication logic from
`handleTargetFeatures` and related feature queries. The frontend now
rebuilds its extension state from TableGen-derived data and then derives
its cached feature state from that, rather than maintaining parallel
dependency rules in C++.

I also preserved several pieces of historical frontend behaviour that are
not represented directly in the extension graph. Explicit disables such as
`no-sme` still win after implied-feature expansion, direct `+fullfp16` and
`+jscvt` still restore the expected NEON-facing state, and SME-family
features no longer incorrectly appear to enable AdvSIMD/NEON.

    [4 lines not shown]
DeltaFile
+239-295clang/lib/Basic/Targets/AArch64.cpp
+9-77clang/lib/Basic/Targets/AArch64.h
+75-0clang/lib/Basic/Targets/AArch64TargetInfoFeatures.inc
+22-0clang/test/Preprocessor/aarch64-target-features.c
+3-3clang/lib/Sema/SemaARM.cpp
+5-0clang/test/Sema/aarch64-sme-func-attrs-without-target-feature.cpp
+353-3751 files not shown
+354-3767 files

LLVM/project 22e9449clang/lib/Basic/Targets AArch64.cpp AArch64TargetInfoFeatures.inc, clang/test/Preprocessor aarch64-target-features.c

fixup! Don't checkin AArch64TargetInfoFeatures.inc but generate from tablegen
DeltaFile
+0-75clang/lib/Basic/Targets/AArch64TargetInfoFeatures.inc
+16-8clang/lib/Basic/Targets/AArch64.cpp
+23-0llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
+0-22clang/test/Preprocessor/aarch64-target-features.c
+0-5clang/test/Sema/aarch64-sme-func-attrs-without-target-feature.cpp
+39-1105 files

FreeBSD/ports d702e19security/vuxml/vuln 2026.xml

security/vuxml: add www/*chromium < 151.0.7922.169

Obtained from:  https://chromereleases.googleblog.com/2026/08/stable-channel-update-for-desktop_0826575033.html
DeltaFile
+61-0security/vuxml/vuln/2026.xml
+61-01 files

Dreckly/dreckly b84d4c8net/yt-dlp Makefile distinfo

yt-dlp: Update to 2026.8.19
DeltaFile
+6-9net/yt-dlp/PLIST
+3-3net/yt-dlp/distinfo
+1-1net/yt-dlp/Makefile
+10-133 files

LLVM/project 7989e4fflang/include/flang/Optimizer/Builder/Runtime Assign.h, flang/lib/Optimizer/Builder/Runtime Assign.cpp

[flang] - Call _FortranAAssignSimple instead of _FortranAAssign for intrinsic-type array assignments.

This patch adds support for calling _FortranAAssignSimple, a faster-path for array assignments.
`_FortranAAssignSimple` is called when ALL the following conditions are true:
1. Intrinsic element type (not derived type)
2. Matching ranks (no scalar-to-array broadcasting)
3. Non-volatile
4. Not polymorphic
5. Not explicit-length character
6. Not temporary LHS

Otherwise, uses `_FortranAAssign` (or specialized variants like `_FortranAAssignPolymorphic`, `_FortranAAssignExplicitLengthCharacter`).

This is a (perhaps final) part of the fix for https://github.com/llvm/llvm-project/issues/203915
DeltaFile
+287-0flang/test/HLFIR/assign-simple-routing.fir
+46-4flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
+19-13flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
+13-0flang/lib/Optimizer/Builder/Runtime/Assign.cpp
+12-0flang/include/flang/Optimizer/Builder/Runtime/Assign.h
+2-2flang/test/HLFIR/assign-codegen.fir
+379-192 files not shown
+381-218 files

LLVM/project d944f9bflang-rt/unittests/Runtime Assign.cpp

fix clang-format issues
DeltaFile
+4-2flang-rt/unittests/Runtime/Assign.cpp
+4-21 files

LLVM/project 44b135fflang-rt/lib/runtime assign.cpp, flang-rt/unittests/Runtime Assign.cpp

fix clang-format issues and flang-rt unittest for Assign.cpp
DeltaFile
+6-6flang-rt/unittests/Runtime/Assign.cpp
+3-2flang-rt/lib/runtime/assign.cpp
+9-82 files

LLVM/project cf28ed2flang-rt/lib/runtime assign.cpp

Address review comments from tblah and mjklemm
DeltaFile
+7-2flang-rt/lib/runtime/assign.cpp
+7-21 files

LLVM/project 0884ac9flang-rt/unittests/Runtime Assign.cpp

Add more tests per Michael Klemms request
DeltaFile
+164-0flang-rt/unittests/Runtime/Assign.cpp
+164-01 files

LLVM/project b39c0d8flang-rt/lib/runtime assign.cpp, flang-rt/unittests/Runtime Assign.cpp

Reject CHARACTER types in AssignSimple and add death tests

AssignSimple is only intended for trivial intrinsic types (integer, real,
complex, logical). Add a guard that crashes on CHARACTER type input,
matching the existing derived-type guard.

Add death tests covering all five crash paths in AssignSimple: rank
mismatch, element-bytes mismatch, derived type, character type, and
non-allocatable element count mismatch.

Co-Authored-By: Claude Opus 4 (1M context) <noreply at anthropic.com>
DeltaFile
+77-0flang-rt/unittests/Runtime/Assign.cpp
+3-0flang-rt/lib/runtime/assign.cpp
+80-02 files

LLVM/project a93159fflang-rt/unittests/Runtime Assign.cpp

fix clang-format issue
DeltaFile
+2-3flang-rt/unittests/Runtime/Assign.cpp
+2-31 files

LLVM/project f02b6acflang-rt/lib/runtime tools.cpp assign.cpp, flang-rt/unittests/Runtime Assign.cpp

[flang-rt] - Lightweight runtime assignment function (AssignSimple) for intrinsic-type assignments.

This PR introduces a lightweight assignment runtime path (`_FortranAAssignSimple`) for intrinsic-type arrays
with the goal of reducing compile-time overhead seen primarily in the form of severly increased time taken by LTO.
This PR includes only the changes to the runtime (flang-rt) and as such just with this PR compile-time improvements
will not be visible.

**Problem**

When compiling Fortran code with OpenMP GPU offload and `firstprivate(allocatable_array)`, LLVM's Attributor creates excessive abstract attributes analyzing complex runtime assignment machinery:

**Symptom:**
- **Test case:** 8-element allocatable integer array with `firstprivate` clause
- **Compile time:** 24.97s (vs 0.78s for `private` - **32x slower**)
- **Root cause:** LLVM Attributor analyzing complex Fortran runtime functions

**Why this happens:**

1. `firstprivate` requires copying arrays from host to device

    [43 lines not shown]
DeltaFile
+214-0flang-rt/lib/runtime/assign.cpp
+151-0flang-rt/unittests/Runtime/Assign.cpp
+4-0flang/include/flang/Runtime/assign.h
+1-0flang-rt/lib/runtime/tools.cpp
+370-04 files