LLVM/project 925c63c — llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h, llvm/lib/Support SourceMgrDiagnosticVerifier.cpp

[nspr] initial commit
DeltaFile
+16-3llvm/test/tools/llvm-mc/verify/basic.s
+12-4llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+6-6llvm/test/MC/RISCV/rv64c-invalid.s
+6-6llvm/test/MC/RISCV/rv32zalasr-invalid.s
+6-6llvm/test/MC/RISCV/rv32i-invalid.s
+6-6llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+52-3112 files not shown
+89-5718 files

LLVM/project e5d567f — clang/include/clang/Basic BuiltinsAMDGPU.td

AMDGPU: Add named ArgRange classes for common builtin operands

Name the ranges shared by many builtins after the operand they
constrain: byte/word select indexes, scale_sel, f8f6f4 matrix formats,
and wmma neg flags on variants that do not support negation. NFC.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+58-53clang/include/clang/Basic/BuiltinsAMDGPU.td
+58-531 files

FreeBSD/ports d2a63fe — astro/stellarsolver pkg-plist Makefile

astro/stellarsolver: Update to 2.9
DeltaFile
+3-3astro/stellarsolver/distinfo
+1-1astro/stellarsolver/pkg-plist
+1-1astro/stellarsolver/Makefile
+5-53 files

FreeBSD/ports 2a3a8fd — www/moodle53 Makefile distinfo

www/moodle53: Update to 5.3.1

(cherry picked from commit ce82bf445d88b48aaa43de660bd2e49995a53e46)
DeltaFile
+3-3www/moodle53/distinfo
+2-2www/moodle53/Makefile
+5-52 files

FreeBSD/ports 1577a1f — www/moodle52 Makefile distinfo

www/moodle52: Update to 5.2.5

(cherry picked from commit 30775302c6de75f2e8ca424e4b2c2afa8bd04683)
DeltaFile
+3-3www/moodle52/distinfo
+2-2www/moodle52/Makefile
+5-52 files

FreeBSD/ports 8fbb30c — www/moodle51 Makefile distinfo

www/moodle51: Update to 5.1.9

(cherry picked from commit 4b4a1a9d0f24f3af968f9be0b85770805dd00763)
DeltaFile
+3-3www/moodle51/distinfo
+2-2www/moodle51/Makefile
+5-52 files

LLVM/project 4d0eb36 — clang/include/clang/Basic BuiltinsAMDGPU.td, clang/lib/Sema SemaAMDGPU.cpp

AMDGPU: Use ArgRange for prefetch cache policy bounds

Only the reserved th value check remains in Sema.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+1-3clang/lib/Sema/SemaAMDGPU.cpp
+2-2clang/include/clang/Basic/BuiltinsAMDGPU.td
+3-52 files

FreeBSD/ports 3077530 — www/moodle52 Makefile distinfo

www/moodle52: Update to 5.2.5
DeltaFile
+3-3www/moodle52/distinfo
+2-2www/moodle52/Makefile
+5-52 files

FreeBSD/ports ce82bf4 — www/moodle53 Makefile distinfo

www/moodle53: Update to 5.3.1
DeltaFile
+3-3www/moodle53/distinfo
+2-2www/moodle53/Makefile
+5-52 files

FreeBSD/ports 4b4a1a9 — www/moodle51 Makefile distinfo

www/moodle51: Update to 5.1.9
DeltaFile
+3-3www/moodle51/distinfo
+2-2www/moodle51/Makefile
+5-52 files

LLVM/project b5aef8c — clang/include/clang/Basic BuiltinsAMDGPU.td, clang/lib/Sema SemaAMDGPU.cpp

AMDGPU: Use ArgRange for builtin constant argument range checks (#241585)

Replace the manual Sema range checks of constant builtin arguments
with the new ArgRange annotation on the builtin definitions.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+28-28clang/include/clang/Basic/BuiltinsAMDGPU.td
+0-35clang/lib/Sema/SemaAMDGPU.cpp
+28-632 files

LLVM/project 108dc88 — llvm/include/llvm/Analysis VectorUtils.h, llvm/lib/IR MemCacheHint.cpp

[VectorUtils] Propagate cache hint metadata (#241114)

Update `propagateMetadata` in VectorUtils to propagate common cache
hints from the value array. This allows preserving cache hints through
the LoadStoreVectorizer and the SLPVectorizer.
DeltaFile
+303-0llvm/test/Transforms/LoadStoreVectorizer/NVPTX/cache-hint.ll
+234-0llvm/test/Transforms/SLPVectorizer/X86/cache-hint.ll
+103-0llvm/unittests/IR/MemCacheHintTest.cpp
+85-1llvm/unittests/Analysis/VectorUtilsTest.cpp
+52-1llvm/lib/IR/MemCacheHint.cpp
+3-8llvm/include/llvm/Analysis/VectorUtils.h
+780-102 files not shown
+796-108 files

LLVM/project d2c9cc6 — llvm/include/llvm/IR MemCacheHint.h, llvm/lib/CodeGen CodeGenCommonISel.cpp

[IR] Centralize cache-hint metadata helpers (#242154)

Cache hint metadata helpers exist in multiple places in LLVM. Centralize
them to a shared location.
DeltaFile
+145-0llvm/unittests/IR/MemCacheHintTest.cpp
+64-0llvm/lib/IR/MemCacheHint.cpp
+32-0llvm/include/llvm/IR/MemCacheHint.h
+3-20llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
+0-19llvm/lib/CodeGen/CodeGenCommonISel.cpp
+9-10llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+253-495 files not shown
+261-6211 files

LLVM/project 7b808dc — flang/lib/Lower Bridge.cpp, flang/test/Lower select-case-statement.f90

[Flang] Fix crash and precision loss in SELECT CASE lowering (#240149)

Lowering INTEGER(16) case values may cause an assertion failure for
negative values and lose precision for large values.

Use createFIRExpr to lower all non-character case values.

Add regression tests for INTEGER(16) case values.

Fixes https://github.com/llvm/llvm-project/issues/239226
DeltaFile
+49-0flang/test/Lower/select-case-statement.f90
+1-5flang/lib/Lower/Bridge.cpp
+50-52 files

LLVM/project 2641789 — llvm/lib/Target/SPIRV SPIRVPrepareFunctions.cpp SPIRVISelLowering.cpp, llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array vararr.ll

[SPIRV] Remove redundant bitcasts for OpLifetimeStart/Stop. (#230623)

These bitcasts were introduced at a time when LLVM lifetime intrinsics
allowed partial coverage of objects whose lifetimes were being
annotated. Now that LLVM `lifetime.start`/`lifetime.stop` annotations
only apply to `alloca`s and do not take in the size argument, it's
easier to follow the SPIR-V spec by emitting `Size = 0` directly on the
`OpVariable` instead. As per SPIR-V spec, void pointers must still be
annotated with their size.

This is similar to the changes at
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/3278 and is
meant to reduce the output and match the SPIR-V - LLVM translator
implementation.
DeltaFile
+78-0llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime-typed-alloca.ll
+37-11llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
+10-16llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
+18-0llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr.ll
+6-1llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
+149-285 files

LLVM/project c080a0b — clang/lib/Sema SemaBPF.cpp, clang/test/CodeGen bpf-attr-preserve-access-index-enum-constant.c bpf-attr-preserve-access-index-enum.c

[BPF] Support preserve_access_index attribute for enum (#232498)

An enum value can only be relocated with __builtin_preserve_enum_value()
or bpf_core_enum_value(), which is easy to forget. Allow the
preserve_access_index attribute on an enum, so that with -g each use of
its enumerators becomes an ENUM_VALUE relocation:
```
  enum cgroup_subsys_id {
    cpuset_cgrp_id = 0,
    memory_cgrp_id = 4,
  } __attribute__((preserve_access_index));

  struct css_set {
    void *subsys[10];
  } __attribute__((preserve_access_index));

  void *get_mem_css(struct css_set *cset) {
    return cset->subsys[memory_cgrp_id];
  }

    [42 lines not shown]
DeltaFile
+269-0clang/test/CodeGen/bpf-attr-preserve-access-index-enum.c
+223-6clang/lib/Sema/SemaBPF.cpp
+86-0clang/test/Sema/bpf-preserve-enum-value-parity.c
+71-5clang/test/Sema/bpf-attr-preserve-access-index.c
+71-0clang/test/Sema/bpf-attr-preserve-access-index-enum-constant.c
+50-0clang/test/CodeGen/bpf-attr-preserve-access-index-enum-constant.c
+770-1121 files not shown
+944-2427 files

FreeBSD/ports 66475d0 — mail/mu pkg-plist distinfo, mail/mu/files patch-mu4e_meson.build extra-patch-meson.build

mail/mu: Update to 1.14.4

Changelog: https://github.com/djcb/mu/releases#release-v1.14.4

Approved by: osa, fluffy (mentors, implicit)
DeltaFile
+5-5mail/mu/Makefile
+3-3mail/mu/distinfo
+2-2mail/mu/files/patch-mu4e_meson.build
+2-2mail/mu/files/extra-patch-meson.build
+2-0mail/mu/pkg-plist
+14-125 files

LLVM/project 56fa645 — llvm/lib/Target/RISCV RISCVInstrInfoZclsd.td RISCVInstrInfoP.td, llvm/lib/Target/RISCV/AsmParser RISCVAsmParser.cpp

[RISC-V][MC] Use CoerceFromRegClass for GPRPair operands (#241443)

Avoiding mutation of operands during parsing allows us to retire the
`GPRPair*RV{32,64}` operands that were only needed to avoid pruning
valid match candidates from the matcher search: `parseGPRPair<false>`
had to bail out on RV64 so RV32 pair variants would not prevent matching
RV64 instructions with the same mnemonic (such as `(c.)ld`, P-extension
ops, etc.).

Setting `CoerceFromRegClass = GPR` on `GPRPair*` ensures the register
remains a `GPR` during match and only converts it in `convertToMCInst`.
This allows remonving these old workarounds and fixes some TODOs with
bad diagnostics.

Also fix the malformed `(4)a0`/`(10)s2` memory operands in
`rv32zilsd-invalid.s` that were masked by `parseGPRPair` failing on the
first operand before parsing the memory operand.

Assisted-by: AI tooling
Pull-Request: https://github.com/llvm/llvm-project/pull/241443
DeltaFile
+57-57llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+0-55llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+12-29llvm/lib/Target/RISCV/RISCVInstrInfoZclsd.td
+32-8llvm/test/MC/RISCV/rv32zacas-invalid.s
+26-8llvm/test/MC/RISCV/rv64c-valid.s
+18-12llvm/test/MC/RISCV/rv32zclsd-invalid.s
+145-1697 files not shown
+198-23713 files

LLVM/project fbc92f4 — llvm/lib/Target/RISCV RISCVRegisterInfo.td, llvm/lib/Target/RISCV/AsmParser RISCVAsmParser.cpp

[RISC-V][MC] Mostly avoid mutating RegisterOperands during validation (#241023)

Declare `CoerceFromRegClass` on `YGPRRegisterClass`, the non-64-bit
`FPR` classes, and the `VRM2`/`VRM4`/`VRM8` classes so the generated
`AsmMatcher` validates and coerces matched `GPR`/`FPR64`/`VR` operands
during `convertToMCInst` instead of mutating `RISCVOperand`
in-place inside `RISCVAsmParser::validateTargetOperandClass`.

The MCK_GPRAsFPR16/MCK_GPRAsFPR32 cases will be handled in a follow-up
commit.

This will eventually allow us to pass a const operand which will make
these mutation bugs impossible.

Assisted-by: AI tooling
Pull-Request: https://github.com/llvm/llvm-project/pull/241023
DeltaFile
+6-104llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+44-31llvm/lib/Target/RISCV/RISCVRegisterInfo.td
+7-11llvm/test/MC/RISCV/asm-matcher-no-mutation.s
+57-1463 files

LLVM/project c5aac53 — llvm/include/llvm/Target Target.td, llvm/test/TableGen AsmMatcherCoerceFromRegClass.td

[TableGen][AsmMatcher] Support generated register coercion logic (#241022)

When multiple `RegisterClass`es share assembly register names (for
example as the RISC-V sub/super-register FP classes, vector register
groups, or GPR/YGPR), this currently needs to be resolved inside
`validateTargetOperandClass`. One downside of the current approach is
that we end up mutating a RegisterOperand before we have determined
whether it will actually end up being used by the instruction we end
up selecting.

Add a new `CoerceFromRegClass` field on `RegisterClass` so TableGen can
generate the `MCRegister` conversion in `convertToMCInst` automatically.
Once all operands pass `validateOperandClass`, the matched instruction's
ConversionTable row knows the target RegisterClass and emits the
appropriate `convertTo*` call in `convertToMCInst` (without ever calling
validateTargetOperandClass), which avoids mutating partially parsed
operands. Follow-up commits will use this feature to simplify the RISC-V
AsmParser, and I also have changes for other targets.

Assisted-by: AI tooling
Pull-Request: https://github.com/llvm/llvm-project/pull/241022
DeltaFile
+118-32llvm/utils/TableGen/AsmMatcherEmitter.cpp
+118-0llvm/test/TableGen/AsmMatcherCoerceFromRegClass.td
+12-3llvm/include/llvm/Target/Target.td
+248-353 files

LLVM/project d9a04fd — llvm/test/MC/RISCV rv32i-invalid.s asm-matcher-no-mutation.s

[RISC-V][MC] Add baseline tests for operand mutation during matching (#241021)

Mutating `RISCVOperand` in-place inside `validateTargetOperandClass` or
custom operand parsers (`parseGPRPair` and `parseGPRPairAsFPR64`)
corrupts operand state across subsequent match table rows when an
earlier row fails on a later operand or feature predicate.

My AI tool wasn't able to come up with a seriously bad mistake that
this causes, but the baseline tests do show a bug here.

Assisted-by: AI tooling
Pull-Request: https://github.com/llvm/llvm-project/pull/241021
DeltaFile
+51-0llvm/test/MC/RISCV/asm-matcher-no-mutation.s
+4-0llvm/test/MC/RISCV/rv32i-invalid.s
+55-02 files

LLVM/project 424b675 — clang/unittests/DependencyScanning InProcessModuleCacheTest.cpp

Tweak assertions
DeltaFile
+8-5clang/unittests/DependencyScanning/InProcessModuleCacheTest.cpp
+8-51 files

LLVM/project c78c52d — clang/unittests/DependencyScanning InProcessModuleCacheTest.cpp

Simplify test
DeltaFile
+5-10clang/unittests/DependencyScanning/InProcessModuleCacheTest.cpp
+5-101 files

LLVM/project d556a38 — llvm/lib/IR Verifier.cpp

IR: Skip parameter attribute combination checks for single attributes

The Verifier checks many pairs of parameter attributes for
incompatibility. Most sets have a single attribute, so only do these
checks when there are multiple.

Whole O3 instructions in opt: kimwitu++ k.bc -0.16%, SPASS cnf.bc
-0.12%, consumer-typeset z08.bc -0.07%, sqlite3 -0.05%.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+73-69llvm/lib/IR/Verifier.cpp
+73-691 files

LLVM/project 362d151 — llvm/test/Transforms/LoadStoreVectorizer/NVPTX cache-hint.ll, llvm/test/Transforms/SLPVectorizer/X86 cache-hint.ll

[VectorUtils] Stabilize cache-hint vectorizer tests

Use the byte-array GEP element type emitted on main so the gather checks also pass in premerge CI. Document that sm_100 and ptx88 are necessary to exercise 256-bit masked stores.
DeltaFile
+9-9llvm/test/Transforms/SLPVectorizer/X86/cache-hint.ll
+1-0llvm/test/Transforms/LoadStoreVectorizer/NVPTX/cache-hint.ll
+10-92 files

LLVM/project e712ed2 — llvm/lib/IR Verifier.cpp, llvm/test/CodeGen/X86 coff-comdat3.ll

[IR] Strengthen COFF IR verifier check (#159203)

Find issues like the whole-program-vtables one (#87503) earlier.

Also, combine a few of the comdat*.ll verifier checks into one file while I'm adding a diagnostic.

---------

Co-authored-by: Matheus Izvekov <mizvekov at gmail.com>
DeltaFile
+38-2llvm/test/Verifier/comdat.ll
+13-4llvm/lib/IR/Verifier.cpp
+0-7llvm/test/Verifier/comdat2.ll
+5-1llvm/test/CodeGen/X86/coff-comdat3.ll
+0-5llvm/test/Verifier/comdat3.ll
+56-195 files

LLVM/project d79b869 — llvm/unittests/IR MemCacheHintTest.cpp

Merge branch 'users/yonahgoldberg/cache-hint-helper-ci-fix' into users/yonahgoldberg/vector-utils-cache-hints
DeltaFile
+1-1llvm/unittests/IR/MemCacheHintTest.cpp
+1-11 files

LLVM/project b65c967 — llvm/unittests/IR MemCacheHintTest.cpp

[IR] Use module constructor in cache-hint tests
DeltaFile
+1-1llvm/unittests/IR/MemCacheHintTest.cpp
+1-11 files

LLVM/project 77654ba — llvm/include/llvm/Analysis MetadataUtils.h, llvm/lib/Analysis MetadataUtils.cpp

some fixes and comments to make things clearer
DeltaFile
+84-58llvm/lib/Analysis/MetadataUtils.cpp
+66-0llvm/unittests/Analysis/MetadataUtilsTest.cpp
+13-12llvm/include/llvm/Analysis/MetadataUtils.h
+8-8llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
+2-2llvm/test/Transforms/SROA/memory-metadata.ll
+173-805 files

LLVM/project 50e681b — clang/include/clang/Basic BuiltinsAMDGPU.td, clang/lib/Sema SemaAMDGPU.cpp

AMDGPU: Use ArgRange for builtin constant argument range checks

Replace the manual Sema range checks of constant builtin arguments
with the new ArgRange annotation on the builtin definitions.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+28-28clang/include/clang/Basic/BuiltinsAMDGPU.td
+0-35clang/lib/Sema/SemaAMDGPU.cpp
+28-632 files