LLVM/project 76736f8 — flang/lib/Semantics check-omp-atomic.cpp check-omp-structure.h, flang/test/Semantics/OpenMP clause-validity01.f90 flush02.f90

[flang][OpenMP] Switch clause verification to descriptor-based

Delete all the scattered pieces of clause verification that are now
replaced by the unified handling.
DeltaFile
+57-273flang/lib/Semantics/check-omp-structure.cpp
+300-0flang/lib/Semantics/check-omp-syntax.cpp
+22-10flang/lib/Semantics/check-omp-structure.h
+0-31flang/lib/Semantics/check-omp-atomic.cpp
+8-8flang/test/Semantics/OpenMP/flush02.f90
+8-7flang/test/Semantics/OpenMP/clause-validity01.f90
+395-32937 files not shown
+517-38443 files

LLVM/project b63e8f6 — llvm/docs/CommandGuide llvm-readobj.md llvm-readelf.md

[llvm-readobj][docs] Update the --stack-sizes description

The description said that --stack-sizes is only implemented for GNU
style output, which hasn't been the case for a while. Describe the LLVM
and JSON output instead, including the address that each entry in a
linked file now has.

Assisted-by: Gemini
DeltaFile
+3-2llvm/docs/CommandGuide/llvm-readobj.md
+3-2llvm/docs/CommandGuide/llvm-readelf.md
+6-42 files

LLVM/project 15958e0 — llvm/tools/llvm-readobj ELFDumper.cpp

Pass the address to printStackSizeEntry only for a linked file

The printer no longer decides based on the file type, and the comments
no longer describe the value in a relocatable file.
DeltaFile
+18-15llvm/tools/llvm-readobj/ELFDumper.cpp
+18-151 files

LLVM/project 7283f09 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt sched_get_priority_min.h, libc/src/sched/linux CMakeLists.txt sched_get_priority_min.cpp

[libc] Use a syscall wrapper for sched_get_priority_min
DeltaFile
+34-0libc/src/__support/OSUtil/linux/syscall_wrappers/sched_get_priority_min.h
+28-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+5-8libc/src/sched/linux/sched_get_priority_min.cpp
+12-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+4-2libc/src/sched/linux/CMakeLists.txt
+83-105 files

LLVM/project 78f69c3 — llvm/lib/Transforms/Utils SimplifyCFG.cpp, llvm/test/Transforms/SimplifyCFG duplicate-landingpad.ll

[SimplifyCFG] Merge identical landing pads when the successor has phis (#230789)

tryToMergeLandingPad bailed out if the shared successor started with a phi.
Allow the merge when every phi gets the same value from both pads, or each
pad's own landingpad value, and the landingpads have no other uses (with a
loop through the successor such a use would be clobbered on re-entry).

Fixes #219628
DeltaFile
+288-0llvm/test/Transforms/SimplifyCFG/duplicate-landingpad.ll
+20-7llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+308-72 files

LLVM/project 3e2c27a — llvm/lib/Support UnicodeNameToCodepointGenerated.cpp, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.896bit.ll amdgcn.bitcast.960bit.ll

Merge branch 'main' into users/kosarev/regclass-superreg-mask-dedup
DeltaFile
+80,340-99,572llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+32,677-17,309llvm/test/CodeGen/AMDGPU/frem.ll
+21,540-27,245llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+23,347-23,371llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+16,761-20,379llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+15,630-19,063llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+190,295-206,93915,659 files not shown
+1,241,152-754,36015,665 files

LLVM/project 4c9a477 — clang/docs ReleaseNotes.md, clang/lib/Sema SemaDecl.cpp

[clang] __interface implies __declspec(novtable) (#232345)

According to MSDN
(https://learn.microsoft.com/en-us/cpp/cpp/interface?view=msvc-170), use
of __interface implies __declspec(novtable), which is now being applied
implicitly.

Fixes #232046
DeltaFile
+13-0clang/test/SemaCXX/ms-interface-novtable.cpp
+6-0clang/lib/Sema/SemaDecl.cpp
+3-0clang/docs/ReleaseNotes.md
+22-03 files

LLVM/project e99a641 — flang/lib/Semantics check-omp-atomic.cpp check-omp-structure.h, flang/test/Semantics/OpenMP declare-target02.f90 flush02.f90

[flang][OpenMP] Switch clause verification to descriptor-based

Delete all the scattered pieces of clause verification that are now
replaced by the unified handling.
DeltaFile
+57-273flang/lib/Semantics/check-omp-structure.cpp
+300-0flang/lib/Semantics/check-omp-syntax.cpp
+22-10flang/lib/Semantics/check-omp-structure.h
+0-31flang/lib/Semantics/check-omp-atomic.cpp
+8-8flang/test/Semantics/OpenMP/flush02.f90
+15-0flang/test/Semantics/OpenMP/declare-target02.f90
+402-32237 files not shown
+517-38443 files

LLVM/project cbe76c2 — flang/lib/Semantics check-omp-syntax.cpp, flang/test/Semantics/OpenMP uses-allocators-version51.f90 uses-allocators-version50.f90

[flang][OpenMP] Improve diagnostics about modifier properties (#229526)

Use OpenMPDeprecated and OpenMPFuture warning categories for modifier
diagnostics as well, analogously to how they are used for clauses.
DeltaFile
+67-31flang/lib/Semantics/check-omp-syntax.cpp
+4-4flang/test/Semantics/OpenMP/to-clause-v45.f90
+4-4flang/test/Semantics/OpenMP/map-modifiers-v60.f90
+4-4flang/test/Semantics/OpenMP/from-clause-v45.f90
+3-3flang/test/Semantics/OpenMP/uses-allocators-version50.f90
+2-2flang/test/Semantics/OpenMP/uses-allocators-version51.f90
+84-486 files not shown
+91-5512 files

LLVM/project 8329176 — llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU simulated-trap-debug.ll

[AMDGPU] Ignore trailing debug instructions after simulated traps (#233071)

`insertSimulatedTrap` treated a trailing debug instruction as executable
content, splitting the block and emitting a redundant
`s_cbranch_execnz`. This made debug information change generated code in
both SelectionDAG and GlobalISel.

Use `next_nodbg` when deciding whether instructions remain after the
trap, while keeping pseudo probes as split triggers. The trailing debug
record remains in the trap block. The regression test covers both
instruction selectors.
DeltaFile
+35-0llvm/test/CodeGen/AMDGPU/simulated-trap-debug.ll
+3-1llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+38-12 files

LLVM/project 22b9d12 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt getcpu.h, libc/src/sched/linux CMakeLists.txt sched_getcpu.cpp

[libc] Use a syscall wrapper for `sched_getcpu` (#233011)

This PR move `sched_getcpu` behind the centralized syscall wrappers,
following `libc/docs/dev/syscall_wrapper_refactor.md`.
DeltaFile
+38-0libc/src/__support/OSUtil/linux/syscall_wrappers/getcpu.h
+28-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+12-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+4-7libc/src/sched/linux/sched_getcpu.cpp
+4-1libc/src/sched/linux/CMakeLists.txt
+86-85 files

LLVM/project 7eb33fb — llvm/test/CodeGen/AArch64 sve2-sqabs.ll sqabs-fixed-length-sve.ll

[AArch64] Extend SQABS instruction-selection tests

Add baseline coverage for big-endian and fixed-length SVE lowering, 64-bit clamp controls and multiple uses, dynamic SVE predicates, and sign-bit folding.
DeltaFile
+366-17llvm/test/CodeGen/AArch64/sqabs.ll
+64-0llvm/test/CodeGen/AArch64/sve2-sqabs.ll
+64-0llvm/test/CodeGen/AArch64/sqabs-fixed-length-sve.ll
+494-173 files

LLVM/project 47d94eb — llvm/lib/Target/AArch64 AArch64SVEInstrInfo.td AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 sve2-sqabs.ll sqabs-fixed-length-sve.ll

[AArch64] Select vector SQABS with TableGen patterns

Keep umin(abs(X), signed_max) available to generic DAG combines until instruction selection. Match Neon and predicated SVE forms in TableGen, including expanded 64-bit min/max and fixed-length SVE lowering, and remove the early combine and its vector-only SQABS node support.

Preserve existing scalar and intrinsic selection. The late patterns also recognize matching dynamic SVE predicates and fixed vectors legalized through SVE.
DeltaFile
+32-11llvm/lib/Target/AArch64/AArch64InstrInfo.td
+0-34llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+29-0llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+4-9llvm/test/CodeGen/AArch64/sqabs-fixed-length-sve.ll
+2-6llvm/test/CodeGen/AArch64/sve2-sqabs.ll
+67-605 files

LLVM/project 9258880 — llvm/lib/Target/X86 X86TargetTransformInfo.cpp, llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

[SLP][X86]Model rsqrt estimate folding for vector square roots

Pass the scalar call as the context of the vector intrinsic cost, check
the estimate for the legalized type, and charge the insertion of the
folded square roots, which lose the folding.
Improves perf in gromacs

https://godbolt.org/z/j5396esfa

Assisted-by: Cursor

Reviewers: RKSimon, phoebewang

Pull Request: https://github.com/llvm/llvm-project/pull/232073
DeltaFile
+24-11llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+16-16llvm/test/Transforms/SLPVectorizer/X86/rsqrt-estimate-vector-users.ll
+2-1llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+1-1llvm/test/Analysis/CostModel/X86/sqrt-rsqrt-estimate.ll
+43-294 files

LLVM/project d5ec7eb — lld/MachO ExportTrie.cpp

Improve comments in ExportTrie.cpp

Refactor comments for clarity and optimization explanation.
DeltaFile
+3-2lld/MachO/ExportTrie.cpp
+3-21 files

LLVM/project e0e9780 — lld/MachO ExportTrie.cpp

[lld-macho] Build the export trie by edges, not bytes (NFC)

Emit singleton suffixes directly and scan common prefixes in one pass,
avoiding repeated byte-wise partitioning. Preserve radix traversal,
node allocation order, and terminal encoding.

On a Ryzen 7 7700, a rust-analyzer debug link with 248,607 exports
changes from 2079 to 1948 ms at one thread and 1269 to 1185 ms at
eight threads (median wall times over four interleaved pairs).
DeltaFile
+27-0lld/MachO/ExportTrie.cpp
+27-01 files

LLVM/project 4aecd4c — llvm/docs CallGraphSection.md, llvm/docs/CommandGuide llvm-readobj.md llvm-readelf.md

[docs][llvm-readobj] Document the --call-graph-info output format (#227386)
DeltaFile
+111-0llvm/docs/CallGraphSection.md
+2-1llvm/docs/CommandGuide/llvm-readobj.md
+2-1llvm/docs/CommandGuide/llvm-readelf.md
+115-23 files

LLVM/project 23eea55 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

move more things to shared
DeltaFile
+111-111llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+111-1111 files

LLVM/project f3d2d34 — llvm/lib/CodeGen/GlobalISel IRTranslator.cpp, llvm/test/CodeGen/AArch64/GlobalISel alloca-debug-loc.ll

[GlobalISel] Clear debug locations on static alloca frame indices (#232674)

Disabling Localizer at -O0 (#231406) exposed a case where a static
alloca’s frame address is materialized before the source line attached
to the alloca. Copying that location onto the frame index makes the
debug line table report the later line too early. Clear the frame
index’s debug location.

Assisted-by: codex
DeltaFile
+78-0llvm/test/CodeGen/AArch64/GlobalISel/alloca-debug-loc.ll
+5-1llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+83-12 files

LLVM/project 8a51425 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

[SLP][NFC]Name filter predicates nested in lambdas to fix MSVC build



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/233400
DeltaFile
+51-68llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+51-681 files

LLVM/project a1787b5 — openmp/runtime/test/tasking issue-94260-2.c

[OpenMP][lit] Disable flaky tasking/issue-94260-2.c on s390x too (#233384)

b217e5c5a035 marked this test UNSUPPORTED on x86 Linux because it fails
sporadically; the underlying problem is tracked in #176451, which is
still open. The arch qualifier keeps it enabled everywhere else, so the
s390x bot still runs it and hits the same failure. In the last 100
builds of openmp-s390x-linux (28089-28188), it was the only failing test
in each of the 4 failed builds:

  https://lab.llvm.org/buildbot/#/builders/88/builds/28117
  https://lab.llvm.org/buildbot/#/builders/88/builds/28151
  https://lab.llvm.org/buildbot/#/builders/88/builds/28186
  https://lab.llvm.org/buildbot/#/builders/88/builds/28188

In 28188 it crashed with SIGSEGV and no output, and the only change in
the blamelist was a documentation fix (#232296). Add s390x to the arch
list so the bot stops blaming unrelated commits while #176451 is open.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+1-1openmp/runtime/test/tasking/issue-94260-2.c
+1-11 files

LLVM/project 5db059a — llvm/lib/Target/AArch64 AArch64FrameLowering.cpp

[NFC][AArch64] Rename RegPairs to RegGroups (#233393)

This PR is preparation for 2 subsequent PRs which enable quad ZPR
spills.

This PR is purely cosmetic and no correctness change is included.
DeltaFile
+177-173llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
+177-1731 files

LLVM/project 5d66997 — llvm/test/Analysis/CostModel/AArch64 bsl.ll

[AArch64][TTI] Add pre-commit tests (NFC)
DeltaFile
+85-2llvm/test/Analysis/CostModel/AArch64/bsl.ll
+85-21 files

LLVM/project 32e4b14 — llvm/test/Analysis/CostModel/AArch64 bsl.ll

[AArch64][TTI] Add pre-commit tests (NFC)
DeltaFile
+184-0llvm/test/Analysis/CostModel/AArch64/bsl.ll
+184-01 files

LLVM/project bbb88fd — llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AArch64 bsl.ll

[AArch64][TTI] Cost NEON Nots absorbed by And/Or users as free
DeltaFile
+7-9llvm/test/Analysis/CostModel/AArch64/bsl.ll
+12-0llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+19-92 files

LLVM/project 184ba0e — llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AArch64 bsl.ll

[AArch64][TTI] Cost the Ands of a NEON bit select as free

Or(And(M, A), And(Not(M), B)) selects to a single BSL/BIT/BIF. Charge the
Or and treat the single-use Ands in its block as free, using the matcher
shared with operand sinking.
DeltaFile
+8-8llvm/test/Analysis/CostModel/AArch64/bsl.ll
+10-0llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+18-82 files

LLVM/project 14cd10a — llvm/test/CodeGen/AArch64 aarch64-bit-gen.ll, llvm/test/Transforms/CodeGenPrepare/AArch64 sink-free-instructions.ll

[AArch64][TTI] Add pre-commit tests (NFC)
DeltaFile
+45-0llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
+35-0llvm/test/Transforms/CodeGenPrepare/AArch64/sink-free-instructions.ll
+80-02 files

LLVM/project 8cfc910 — llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/test/CodeGen/AArch64 aarch64-bit-gen.ll

[AArch64][TTI] Drop single-use requirement on the mask from BSL sinking
DeltaFile
+6-7llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
+3-3llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+2-1llvm/test/Transforms/CodeGenPrepare/AArch64/sink-free-instructions.ll
+11-113 files

LLVM/project c6d1059 — llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/test/CodeGen/AArch64 aarch64-bit-gen.ll

[AArch64][TTI] Drop requirements for BSL non-mask operands for sinking (#232785)

This change moves the BSL matching into a matchBSL helper so later
patches can reuse it.
It also stops requiring the non-mask operands to be instructions in the
Or's block, since they're never sunk. This lets the not of the mask sink, 
so ISel forms bif/bsl.
DeltaFile
+35-27llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+43-0llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
+36-0llvm/test/Transforms/CodeGenPrepare/AArch64/sink-free-instructions.ll
+114-273 files

LLVM/project 128291d — llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/X86 merge-load-dependency.ll

[DAGCombiner] Fix pointer info for widened load from different objs (#231533)

Similarly to fc26ab36a20a63c5aef5c46e2b7815b5369025a0 but for loads: a
widened load may reference memory from different underlying objects
(e.g. when they're in adjacent fixed stack slots).

Reusing the pointer info from the first load on the widened load would
cause the machine scheduler to miss dependencies between the wide load
and operations involving the other objects.

Fixes #231135
DeltaFile
+67-0llvm/test/CodeGen/X86/merge-load-dependency.ll
+28-19llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+95-192 files