LLVM/project 6949da0 — clang/include/clang/Lex MacroInfo.h, clang/lib/Lex PPMacroExpansion.cpp MacroInfo.cpp

[clang] Preserve the no-argument MacroDirective::dump overload
DeltaFile
+9-4clang/lib/Lex/MacroInfo.cpp
+2-1clang/include/clang/Lex/MacroInfo.h
+1-1clang/lib/Lex/PPMacroExpansion.cpp
+12-63 files

LLVM/project cd61be6 — llvm/docs ReleaseNotes.md, llvm/include/llvm-c Core.h

[llvm-c] Add function to print a `LLVMMetadataRef` directly (#238847)

I noticed that `LLVMMetadataRef`s cannot be printed directly via the C
API and must instead be done through `LLVMPrintValueAsString` and
`LLVMMetadataAsValue`, even though no such workaround is needed in C++.
This PR adds a `char *LLVMPrintMetadataToString(LLVMMetadataRef)`
function, similar to the other `LLVMPrint*ToString`s.

Those printing functions do not really have full tests, so I simply
tucked an assertion into `llvm-c-test --is-a-value-as-metadata`.
DeltaFile
+12-0llvm/lib/IR/Core.cpp
+8-0llvm/include/llvm-c/Core.h
+5-0llvm/tools/llvm-c-test/metadata.c
+3-0llvm/docs/ReleaseNotes.md
+28-04 files

LLVM/project 56077b8 — clang/lib/AST/ByteCode Interp.h

[clang][bytecode] Optimize `OffsetHelper` usage (#240908)

Do (most of) the checks outside of the helper. Most of the checks are
only possible on a subset of call sites.
DeltaFile
+39-32clang/lib/AST/ByteCode/Interp.h
+39-321 files

LLVM/project 3e6ef56 — lld/Common Strings.cpp, llvm/lib/Support GlobPattern.cpp

[Support][LLD] Fast-path literal patterns in GlobPattern (#240639)

When `GlobPattern::create` parses a pattern with no glob metacharacters
or escape sequences, `SubGlobs` is empty and `PrefixSize` equals
`Pattern.size()`. Check `SubGlobs.empty()` at the start of
`GlobPattern::match` to compare `S == Pattern` directly instead of
calling `consume_front` and `consume_back`.

Also, in `lld::SingleStringMatcher`, add a check such that unquoted
literal section and file patterns in linker scripts use the existing
`ExactMatch` fast path.

Linking lld's own objects with the GNU ld default linker script (`ld
--verbose`), which contains various literal patterns before .text (from
@MaskRay):

```
                  wall (--threads=8)   Assign sections   instructions
main              237.6 ± 7.5 ms       149 ms            3.106e9

    [3 lines not shown]
DeltaFile
+10-0llvm/unittests/Support/GlobPatternTest.cpp
+7-1lld/Common/Strings.cpp
+2-2llvm/lib/Support/GlobPattern.cpp
+19-33 files

LLVM/project 9176d18 — llvm/test/tools/llubi intr_vp_store.ll intr_vp_load.ll, llvm/tools/llubi/lib Interpreter.cpp

[llubi] Add support for vp.load and vp.store

These follow the semantics of llvm.masked.load/llvm.masked.store, just with a EVL-specific mask, so it reuses their code. The tests mostly follow the same format too.

The one extra-bit of immediate UB is that EVL > num vector elements is immediate UB, so that's handled explicitly.
DeltaFile
+74-0llvm/test/tools/llubi/intr_vp_load_ub.ll
+62-0llvm/test/tools/llubi/intr_vp_store_ub.ll
+45-3llvm/tools/llubi/lib/Interpreter.cpp
+39-0llvm/test/tools/llubi/intr_vp_load.ll
+31-0llvm/test/tools/llubi/intr_vp_store.ll
+251-35 files

LLVM/project 2cf78de — llvm/docs LangRef.md, llvm/lib/CodeGen/SelectionDAG LegalizeVectorOps.cpp

[LangRef] Make the VP effective mask logical-and
DeltaFile
+18-18llvm/test/Transforms/PreISelIntrinsicLowering/expand-vp.ll
+8-8llvm/test/Transforms/PreISelIntrinsicLowering/expand-vp-load-store.ll
+8-8llvm/test/Transforms/PreISelIntrinsicLowering/expand-vp-gather-scatter.ll
+4-4llvm/test/CodeGen/RISCV/rvv/expand-no-v.ll
+3-3llvm/docs/LangRef.md
+2-1llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+43-421 files not shown
+44-437 files

LLVM/project 42afa09 — llvm/lib/Transforms/Scalar GVN.cpp, llvm/test/Transforms/GVN/PRE pre-loop-load.ll

[GVN] Allow loop-load PRE when the blocker is in an inner loop (#229580)

performLoopLoadPRE does not perform PRE when the blocker is inside an
inner loop. Allow it, and insert the reload in the exit block of the
inner loop that is directly nested in the loop being optimized, so the
reload runs at most once per iteration of that outer loop rather than
once per inner iteration.
PRE is not performed if the inner loop's exit edges do not all go to one
block, or if that block is not directly inside the loop being optimized
(for example, it exits into a sibling loop, where the reload could run
more often than the header load it replaces).

This is the follow-up to #228033, split from #227983 as suggested in
review. With #228033, `canBeFreed` no longer blocks the aliasing cases
this targets.

RFC: https://discourse.llvm.org/t/rfc-extending-gvns-loop-load-pre/91740

Assisted-by: Claude Opus 5
DeltaFile
+332-0llvm/test/Transforms/GVN/PRE/pre-loop-load.ll
+24-6llvm/lib/Transforms/Scalar/GVN.cpp
+12-7llvm/test/Transforms/LoopUnroll/unroll-cleanup.ll
+368-133 files

LLVM/project 400525e — llvm/docs LangRef.md, llvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp

[LangRef] Make speculatable VP intrinsics with EVL > num elements non-UB (#240774)

For the remaining VP intrinsics which don't access memory:

- vp.merge
- vp.reduce.*
- vp.cttz.elts
- vp.splice
- vp.reverse

These are marked as speculatable. However the LangRef states that if the
EVL > the number of elements in the vector then the behaviour is
undefined. The two are inconsistent, so this PR tightens the result in
this scenario to be poison.

As a result the vp.reverse (and vp.splice) splitting needs to be updated
to clamp and freeze the EVL so it doesn't read outside of the stack
object.


    [6 lines not shown]
DeltaFile
+12-9llvm/docs/LangRef.md
+10-5llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
+8-3llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
+4-4llvm/lib/IR/IntrinsicInst.cpp
+5-1llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+39-225 files

LLVM/project 3d0a4be — llvm/lib/Target/AArch64 AArch64RegisterBanks.td AArch64GenRegisterBankInfo.def, llvm/lib/Target/AArch64/GISel AArch64RegisterBankInfo.h AArch64RegisterBankInfo.cpp

[AArch64] Use generated instruction mappings
DeltaFile
+87-406llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
+0-278llvm/lib/Target/AArch64/AArch64GenRegisterBankInfo.def
+136-1llvm/lib/Target/AArch64/AArch64RegisterBanks.td
+2-79llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h
+225-7644 files

LLVM/project 19e1f2e — llvm/lib/Target/BPF/GISel BPFRegisterBankInfo.cpp, llvm/lib/Target/SPIRV SPIRVRegisterBankInfo.cpp

fix ci
DeltaFile
+7-3llvm/utils/TableGen/RegisterBankEmitter.cpp
+1-0llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.cpp
+1-0llvm/lib/Target/BPF/GISel/BPFRegisterBankInfo.cpp
+9-33 files

LLVM/project 4b02ca9 — llvm/test/CodeGen/AMDGPU iglp-cache-serialization.mir llvm.amdgcn.iglp.opt.exp.two-regions.mir

implement feedback
DeltaFile
+348-2,936llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.two-regions.mir
+1-1llvm/test/CodeGen/AMDGPU/iglp-cache-serialization.mir
+349-2,9372 files

LLVM/project 749ede3 — llvm/include/llvm/Support RISCVISAUtils.h, llvm/lib/Support RISCVISAUtils.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.6-beta.1
DeltaFile
+5-5llvm/lib/TargetParser/RISCVISAInfo.cpp
+4-2llvm/include/llvm/Support/RISCVISAUtils.h
+2-3llvm/lib/Support/RISCVISAUtils.cpp
+1-0llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
+12-104 files

LLVM/project 8207e91 — llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 fixed-masked-scatter.ll fixed-masked-gather.ll

[AArch64] Lower fixed-width masked gather/scatter using SVE (#240440)

This PR adds tests for the base cases of the masked gather/scatter
intrinsics. These operations are currently marked as illegal in the TTI
hooks isLegalMaskedGather/isLegalMaskedScatter, which means we scalarise
the intrinsics in IR before hitting SelectionDAG. The tests therefore
use the flag `-start-after codegenprepare` to avoid this so that we can
see how the intrinsics get lowered.

I've tried to add tests that take us down the widening, splitting and
promotion paths. I had to change the asserts in LowerMGATHER and
LowerMSCATTER so that we only require SVE to be available. I've also
commented out the half and bfloat element types, which currently get
stuck in an infinite legalisation loop. These will be handled in a
follow-on PR.

Once the codegen is solid and the cost model is representative of the
generated code I intend to mark all fixed-width gathers and scatters as
legal when SVE is available.
DeltaFile
+1,161-0llvm/test/CodeGen/AArch64/fixed-masked-gather.ll
+1,064-0llvm/test/CodeGen/AArch64/fixed-masked-scatter.ll
+4-4llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+2,229-43 files

LLVM/project 9218ff7 — clang/lib/CodeGen CodeGenModule.h CodeGenModule.cpp

[clang] Cache default target feature attributes

Reuse the canonical default target-features attribute for functions
without per-function target settings. Keep target-specific overrides
separate from the default cache.

Three interleaved CTMark pairs reduce median compile time by 1.505%
and geomean by 1.950%.

Assisted-by: TRAE CLI (GPT-6)

Reviewers:
kito-cheng, nikic, AaronBallman, mshockwave, lukel97, asl, hubert-reinterpretcast, efriedma-quic

Pull Request: https://github.com/llvm/llvm-project/pull/240338
DeltaFile
+23-8clang/lib/CodeGen/CodeGenModule.cpp
+4-0clang/lib/CodeGen/CodeGenModule.h
+27-82 files

LLVM/project bc128fb — clang/include/clang/Sema Overload.h, clang/lib/Sema SemaOverload.cpp SemaInit.cpp

[clang][NFC] Don't track OpaqueValueExpr in bad conversion sequence (#238243)

Those OVE might be allocated on stack and we have already tracked their
types for diagnostics. So let's leave them null.
DeltaFile
+5-7clang/lib/Sema/SemaInit.cpp
+4-6clang/include/clang/Sema/Overload.h
+3-6clang/lib/Sema/SemaOverload.cpp
+1-1clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
+13-204 files

FreeBSD/ports 6c76724 — cad/hs-verismith Makefile

cad/hs-verismith: broken on aarch64

Reported by:    fallout

(cherry picked from commit 3a42356697cb8905bf17f60ba48adbf2579c2d33)
DeltaFile
+2-0cad/hs-verismith/Makefile
+2-01 files

FreeBSD/ports cb75f58 — math/giacxcas Makefile pkg-plist

math/giacxcas: fix plist

Differential Revision:  https://reviews.freebsd.org/D61428
DeltaFile
+2-0math/giacxcas/pkg-plist
+1-0math/giacxcas/Makefile
+3-02 files

FreeBSD/ports 3a42356 — cad/hs-verismith Makefile

cad/hs-verismith: broken on aarch64

Reported by:    fallout
DeltaFile
+2-0cad/hs-verismith/Makefile
+2-01 files

FreeBSD/ports 60dbae3 — www/cpp-httplib distinfo Makefile

www/cpp-httplib: update 0.65.0 → 0.66.0
DeltaFile
+4-4www/cpp-httplib/Makefile
+3-3www/cpp-httplib/distinfo
+7-72 files

FreeBSD/ports 5a8c84c — net-p2p/aeron Makefile, net-p2p/aeron/files patch-aeron-client_src_main_c_util_aeron__clock.c patch-aeron-client_src_test_c_util_aeron__fileutil__test.cpp

net-p2p/aeron: update 1.53.3 → 1.54.1
DeltaFile
+68-0net-p2p/aeron/files/patch-aeron-client_src_main_c_uri_aeron__uri__string__builder.c
+26-0net-p2p/aeron/files/patch-aeron-client_src_main_c_util_aeron__fileutil.c
+22-0net-p2p/aeron/files/patch-aeron-system-tests_CMakeLists.txt
+12-0net-p2p/aeron/files/patch-aeron-client_src_test_c_util_aeron__fileutil__test.cpp
+8-2net-p2p/aeron/Makefile
+3-3net-p2p/aeron/files/patch-aeron-client_src_main_c_util_aeron__clock.c
+139-52 files not shown
+142-98 files

FreeBSD/ports 6b1818f — devel/xsimd Makefile distinfo, devel/xsimd/files patch-include_xsimd_types_xsimd__vsx__register.hpp

devel/xsimd: update 14.0.0 → 14.3.0
DeltaFile
+23-1devel/xsimd/pkg-plist
+0-16devel/xsimd/files/patch-include_xsimd_types_xsimd__vsx__register.hpp
+3-3devel/xsimd/distinfo
+1-2devel/xsimd/Makefile
+27-224 files

FreeBSD/ports d5cf37a — math/faiss Makefile distinfo, math/py-faiss Makefile distinfo

math/{,py-}faiss: update 1.15.1 → 1.16.0
DeltaFile
+26-1math/py-faiss/pkg-plist
+17-0math/faiss/pkg-plist
+3-5math/faiss/distinfo
+1-5math/faiss/Makefile
+3-3math/py-faiss/distinfo
+1-1math/py-faiss/Makefile
+51-156 files

FreeBSD/ports a456683 — astro/py-pykep Makefile distinfo, astro/py-pykep/files patch-CMakeLists.txt

astro/{,py-}pykep: update 3.0.0 → 3.1.0

ChangeLog: https://github.com/esa/pykep/releases/tag/v3.1.0
DeltaFile
+10-10astro/py-pykep/files/patch-CMakeLists.txt
+3-3astro/pykep/distinfo
+3-3astro/py-pykep/distinfo
+2-3astro/pykep/Makefile
+2-2astro/py-pykep/Makefile
+2-1astro/pykep/pkg-plist
+22-221 files not shown
+24-227 files

FreeBSD/ports 6358cc0 — finance/electrs Makefile distinfo

finance/electrs: update 0.12.0 → 0.12.1

ChangeLog: https://github.com/romanz/electrs/releases/tag/v0.12.1
DeltaFile
+17-17finance/electrs/distinfo
+8-9finance/electrs/Makefile
+25-262 files

FreeBSD/ports 8fcf6bf — graphics/f3d distinfo Makefile, graphics/f3d/files patch-plugins_occt_module_vtkF3DOCCTReader.cxx

graphics/{,py-}f3d: update 3.5.0 → 4.0.1
DeltaFile
+0-148graphics/f3d/files/patch-plugins_occt_module_vtkF3DOCCTReader.cxx
+37-2graphics/f3d/pkg-plist
+4-3graphics/f3d/Makefile
+3-3graphics/py-f3d/distinfo
+3-3graphics/f3d/distinfo
+2-2graphics/py-f3d/files/patch-CMakeLists.txt
+49-1611 files not shown
+50-1627 files

FreeBSD/ports b45d36c — shells/meka Makefile distinfo

shells/meka: update 0.91.0 → 0.92.0

ChangeLog: https://github.com/k4yt3x/meka/releases/tag/0.92.0
DeltaFile
+209-219shells/meka/distinfo
+104-109shells/meka/Makefile
+313-3282 files

FreeBSD/ports 2d9df4c — lang/amber Makefile distinfo

lang/amber: update 0.4.0-alpha → 0.6.0.a
DeltaFile
+273-157lang/amber/distinfo
+141-81lang/amber/Makefile
+414-2382 files

FreeBSD/ports e0461af — net/ecal Makefile

net/ecal: update x11-toolkits/qwt6 dependency to use the qt6 flavor

Reported by:    Max Brazhnikov <makc at freebsd.org>
DeltaFile
+4-4net/ecal/Makefile
+4-41 files

LLVM/project be06553 — llvm/include/llvm/Frontend/OpenMP OMPKinds.def, llvm/test/Transforms/OpenMP add_attributes.ll

[OpenMP] Drop optimistic attributes from taskloop bound arguments

Under the default off -openmp-ir-builder-optimistic-attributes flag the
loop bounds get attributed as captures(none) nofree.
Changing them to AttributeSet() removes those claims from the
__kmpc_taskloop and __kmpc_taskloop_5 declarations. The runtime uses
the bounds' addresses to locate the bounds for each task it creates.
Even though the memory also reachtes the runtime through the task
argument the claims in the IR about the arguments are still wrong.
DeltaFile
+4-3llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
+2-2llvm/test/Transforms/OpenMP/add_attributes.ll
+6-52 files

LLVM/project 3482889 — clang/include/clang/Basic BuiltinsHexagon.td BuiltinsHexagonDep.td, libcxx/lib/abi arm64-apple-darwin.libcxxabi.v1.stable.noexceptions.nonew.abilist

Merge branch 'users/void/asm-goto-_Complext-types' into users/void/cir-complex-asm-operands
DeltaFile
+5,423-1,585llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir
+2,968-0llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/is_fpclass.ll
+2,631-0libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.noexceptions.nonew.abilist
+2,316-0clang/include/clang/Basic/BuiltinsHexagonDep.td
+2,305-0llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
+1-2,137clang/include/clang/Basic/BuiltinsHexagon.td
+15,644-3,7224,932 files not shown
+125,357-57,0484,938 files