LLVM/project 91ac959 — clang/test/Driver opencl_aot_save_temps.cl opencl-aot-compilation.cl

[clang][Driver] Fix driver tests for in-process cc1 (#240520)

After #222531, multi-job `-###` driver invocations emit `(in-process)`
before each `-cc1` and `-cc1as` job when built with
`LLVM_TOOL_LLVM_DRIVER_BUILD=ON`.

Relax `*-NEXT` checks across consecutive cc1 jobs in the remaining
driver tests so they pass with and without in-process cc1.

Assisted by Gemini
DeltaFile
+10-10clang/test/Driver/no-integrated-cpp.c
+2-1clang/test/Driver/hip-offload-arch.hip
+1-1clang/test/Driver/opencl_aot_save_temps.cl
+1-1clang/test/Driver/opencl-aot-compilation.cl
+1-1clang/test/Driver/offloading-interoperability.c
+1-1clang/test/Driver/mtargetos-darwin.c
+16-156 files

LLVM/project 6afc02b — clang/test/CodeGen/RISCV rvp-intrinsics.c

[RISCV][P-ext] Regenerate scalar widening zip checks. NFC (#240255)

Regenerate the scalar widening zip checks added in #238758 with
`update_cc_test_checks.py`, preserving the script output for RV32 and
RV64.
DeltaFile
+32-16clang/test/CodeGen/RISCV/rvp-intrinsics.c
+32-161 files

LLVM/project ff2b41c — llvm/lib/Target/DirectX DirectXTargetMachine.cpp DirectXPassRegistry.def

[DirectX] Port AsmPrinter

Standard NewPM pass porting.

Reviewers: bogner

Pull Request: https://github.com/llvm/llvm-project/pull/238188
DeltaFile
+39-0llvm/lib/Target/DirectX/DirectXAsmPrinter.h
+33-0llvm/lib/Target/DirectX/DirectXAsmPrinter.cpp
+8-0llvm/lib/Target/DirectX/DirectXPassRegistry.def
+1-0llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
+81-04 files

GhostBSD/networkmgr c7768b7 — po pl.po

Merge pull request #132 from ppekala/master

Add Polish translation
DeltaFile
+243-0po/pl.po
+243-01 files

LLVM/project 89817da — llvm/lib/Transforms/Utils LoopSimplify.cpp, llvm/test/CodeGen/X86 code-align-loops.ll

[LoopSimplify] Only keep shared llvm.loop metadata on the merged latch (#238256)

When `insertUniqueBackedgeBlock` merges multiple backedges, it moves the
first non-null `!llvm.loop` it finds to the new latch, even if other
backedges have no metadata or different metadata. A loop property such
as `llvm.loop.mustprogress` that only held for one of the backedges then
applies to the whole loop.

Use `L->getLoopID()` instead, which returns the metadata only if all
latches share it.

Split out from #235627.
DeltaFile
+85-0llvm/test/Transforms/LoopSimplify/unique-backedge-loop-metadata.ll
+5-5llvm/lib/Transforms/Utils/LoopSimplify.cpp
+1-1llvm/test/CodeGen/X86/code-align-loops.ll
+91-63 files

FreeBSD/src d02883b — tools/tools/git/ghpr README ghpr-init.sh

tools/git/ghpr: retire

The project under the .../ghpr subdirectory is an earlier version of the
tool. A newer/supported iteration of the tool can be found on
[GitHub][ghpr-repo].

`ghpr` can be installed via `pkg`, e.g., `pkg install py312-ghpr-5`.

Please see the [README.md][readme] for further details.

MFC after:      1 month

[ghpr-repo]: https://github.com/bsdimp/ghpr/
[readme]: https://github.com/bsdimp/ghpr/blob/main/README.md

Reviewed by:    dteske
Differential Revision:  https://reviews.freebsd.org/D61086
DeltaFile
+0-72tools/tools/git/ghpr/ghpr-stage.sh
+0-51tools/tools/git/ghpr/ghpr-push.sh
+0-29tools/tools/git/ghpr/ghpr-init.sh
+0-5tools/tools/git/ghpr/README
+0-1574 files

LLVM/project 4d97c9a — llvm/lib/Target/DirectX DirectXTargetMachine.cpp, llvm/lib/Target/DirectX/DXILWriter DXILWriterPass.h DXILWriterPass.cpp

[DirectX] Port DXILEmbedder to NewPM

Standard NewPM pass porting.

Reviewers: bogner

Pull Request: https://github.com/llvm/llvm-project/pull/238185
DeltaFile
+125-112llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
+7-3llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.h
+3-3llvm/test/CodeGen/DirectX/legalize-lifetimes-valver-1.6.ll
+2-2llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
+1-1llvm/test/CodeGen/DirectX/embed-ildb.ll
+1-1llvm/test/CodeGen/DirectX/embed-dxil.ll
+139-12218 files not shown
+157-13924 files

LLVM/project a8265ef — llvm/test/CodeGen/X86 vector-deinterleave7-i16.ll vector-deinterleave8-i64.ll

rebase

Created using spr 1.3.7
DeltaFile
+29,293-0llvm/test/CodeGen/X86/vector-interleave7-i16.ll
+29,228-0llvm/test/CodeGen/X86/vector-interleaved7-i8.ll
+27,225-0llvm/test/CodeGen/X86/vector-interleave7-i32.ll
+26,140-0llvm/test/CodeGen/X86/vector-deinterleave7-i8.ll
+25,861-0llvm/test/CodeGen/X86/vector-deinterleave8-i64.ll
+25,769-0llvm/test/CodeGen/X86/vector-deinterleave7-i16.ll
+163,516-012,207 files not shown
+1,137,238-163,32512,213 files

FreeBSD/ports fc6c5ae — math/octave-forge-general distinfo Makefile

math/octave-forge-general: Update to 2.1.5.
DeltaFile
+9-5math/octave-forge-general/Makefile
+3-3math/octave-forge-general/distinfo
+12-82 files

FreeBSD/ports 5f5ff26 — math/octave-forge-biosig Makefile distinfo

math/octave-forge-biosig: Update to 4.0.0.
DeltaFile
+3-3math/octave-forge-biosig/distinfo
+1-2math/octave-forge-biosig/Makefile
+4-52 files

LLVM/project 4737011 — llvm/lib/Target/DirectX DirectX.h DirectXTargetMachine.cpp, llvm/lib/Target/DirectX/DXILWriter DXILWriterPass.h DXILWriterPass.cpp

[DirectX] Port DXILWriter to NewPM

Standard NewPM pass porting.

Reviewers: hekota, bogner

Pull Request: https://github.com/llvm/llvm-project/pull/238183
DeltaFile
+17-11llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
+11-3llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.h
+2-2llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
+1-1llvm/test/CodeGen/DirectX/Bitcode/byte.ll
+1-1llvm/test/CodeGen/DirectX/Bitcode/atomicrmw.ll
+1-1llvm/lib/Target/DirectX/DirectX.h
+33-193 files not shown
+36-219 files

FreeBSD/src 71eddb4 — tests/sys/capsicum capsicum-freebsd.h

capsicum-test: Disable `HAVE_SEND_RECV_MMSG` again

04c4b2084eb9 accidentally added some changes from another WIP commit into that
diff. Instead of wholesale reverting the change, just revert the part that's
currently broken (`HAVE_SEND_RECV_MMSG`). While some of the related tests pass,
one of the testcases (`capmode.cc:AllowedMmsgSendRecv`) doesn't currently pass.

Revert the change to make the CI run more green again.

MFC after:      1 week
Fixes:  04c4b2084eb9 ("capsicum-test: make the code WARNS=6 clean")
DeltaFile
+4-0tests/sys/capsicum/capsicum-freebsd.h
+4-01 files

LLVM/project f30f672 — llvm/lib/CodeGen SafeStack.cpp TargetLoweringBase.cpp, llvm/test/Transforms/SafeStack/ARM existing-libcall-decls.ll

SafeStack: Take libcall declarations from RuntimeLibcallsInfo

Stop declaring __stack_chk_fail and __safestack_pointer_address
manually and construct them with the correct type automatically.

A function with the variable's name is now reported as not being a
global variable, rather than a renamed copy of the variable being
inserted. -safestack-use-pointer-address now requires
__safestack_pointer_address to be available for the target, instead of
unconditionally emitting a call to it. The tests using it on
non-Android triples move to Android.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+93-0llvm/test/Transforms/SafeStack/ARM/existing-libcall-decls.ll
+36-36llvm/lib/CodeGen/TargetLoweringBase.cpp
+12-21llvm/lib/CodeGen/SafeStack.cpp
+19-0llvm/test/Transforms/SafeStack/X86/unsafe-stack-ptr-not-thread-local-error.ll
+19-0llvm/test/Transforms/SafeStack/X86/unsafe-stack-ptr-function-error.ll
+13-0llvm/test/Transforms/SafeStack/X86/pointer-address-unavailable-error.ll
+192-578 files not shown
+221-7414 files

LLVM/project b2bec3c — llvm/test/Transforms/SafeStack/ARM existing-libcall-decls.ll

Move checks
DeltaFile
+19-19llvm/test/Transforms/SafeStack/ARM/existing-libcall-decls.ll
+19-191 files

LLVM/project 41b47a8 — llvm/include/llvm/IR RuntimeLibcalls.h, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Add helper methods to insert declarations (#240444)

Add methods to get or insert the declaration of a libcall
implementation in a module with the appropriate type and
annotations. A (potentially incorrectly declared) global that already
has the name is returned unmodified

Use them in DeclareRuntimeLibcalls, which no longer merges attributes
into or replaces the calling convention of existing functions, and no
longer crashes on a global variable with the name of a libcall
function.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+4-62llvm/lib/Transforms/Utils/DeclareRuntimeLibcalls.cpp
+42-0llvm/lib/IR/RuntimeLibcalls.cpp
+40-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/existing_globals.ll
+22-0llvm/include/llvm/IR/RuntimeLibcalls.h
+0-11llvm/test/Transforms/Util/DeclareRuntimeLibcalls/merge_attributes.ll
+108-735 files

LLVM/project 7714363 — llvm/test/CodeGen/AArch64 div-i256.ll, llvm/test/CodeGen/AMDGPU splitkit-getsubrangeformask-phi-extend.ll

[SelectionDAG] Don't assume a value from another block is frozen

A virtual register from another block can hold an undefined
value. We can only treat CopyFromReg of a physical register or of a
live-in virtual register as not undef or poison so that a freeze of
a value from another block is kept and selected as FREEZE.
DeltaFile
+110-110llvm/test/CodeGen/RISCV/idiv_large.ll
+106-106llvm/test/CodeGen/AArch64/div-i256.ll
+92-91llvm/test/CodeGen/X86/bittest-big-integer.ll
+67-67llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
+45-48llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
+44-44llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
+464-46615 files not shown
+705-66421 files

LLVM/project d733f9e — llvm/test/CodeGen/AArch64 freeze-multi-use.ll, llvm/test/CodeGen/AMDGPU freeze-multi-use.ll

Precommit cross-block freeze tests

Assisted-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+94-0llvm/test/CodeGen/AMDGPU/freeze-multi-use.ll
+32-0llvm/test/CodeGen/RISCV/freeze-multi-use.ll
+23-0llvm/test/CodeGen/AArch64/freeze-multi-use.ll
+20-0llvm/test/CodeGen/X86/freeze-multi-use.ll
+169-04 files

LLVM/project f2327d2 — llvm/test/CodeGen/AArch64 freeze.ll freeze-multi-use.ll, llvm/test/CodeGen/AMDGPU freeze-multi-use.ll

Precommit miscompiling FREEZE tests

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+137-0llvm/test/CodeGen/RISCV/freeze-multi-use.ll
+117-0llvm/test/CodeGen/AArch64/freeze-multi-use.ll
+94-0llvm/test/CodeGen/AMDGPU/freeze-multi-use.ll
+85-0llvm/test/CodeGen/X86/freeze-multi-use.ll
+43-0llvm/test/CodeGen/RISCV/rvv/freeze-multi-use.ll
+14-0llvm/test/CodeGen/AArch64/freeze.ll
+490-01 files not shown
+498-07 files

LLVM/project 240683d — llvm/lib/Target/AMDGPU SILowerI1Copies.cpp, llvm/test/CodeGen/AMDGPU lower-i1-copies-freeze.mir

[AMDGPU] Lower FREEZE of i1 in SILowerI1Copies

A FREEZE of a vreg_1 was left as is, which fails the verifier. Freeze
the lane mask, and lower the rest like a copy.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+143-0llvm/test/CodeGen/AMDGPU/lower-i1-copies-freeze.mir
+15-3llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
+158-32 files

LLVM/project 5e799a3 — llvm/test/CodeGen/AArch64 neon-shuffle-vector-tbl.ll freeze.ll, llvm/test/CodeGen/AMDGPU llvm.amdgcn.permlane16.var.ll promote-alloca-vector-dynamic-idx-bitcasts-llc.ll

[SelectionDAG] Select the FREEZE target opcode

Selecting freeze as a COPY is wrong if the value may be undefined.
Now we can select ISD::FREEZE as FREEZE instead. Targets that don't
have physical registers can keep selecting COPY since there is no
regalloc to observe the difference.

Fixes #58321, #60429, #144780.

Assisted-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+2,088-1,048llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
+515-123llvm/test/CodeGen/AMDGPU/promote-alloca-vector-dynamic-idx-bitcasts-llc.ll
+307-275llvm/test/CodeGen/X86/vector-compress.ll
+203-76llvm/test/CodeGen/AArch64/freeze.ll
+48-32llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.var.ll
+35-35llvm/test/CodeGen/AArch64/neon-shuffle-vector-tbl.ll
+3,196-1,58943 files not shown
+3,688-1,90249 files

LLVM/project cb10166 — llvm/test/CodeGen/AMDGPU fix-sgpr-copies-freeze.mir

Precommit SIFixSGPRCopies test

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+58-0llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-freeze.mir
+58-01 files

LLVM/project 7acc4d6 — llvm/test/CodeGen/X86 freeze-pseudo.mir

Precommit regalloc test
DeltaFile
+32-0llvm/test/CodeGen/X86/freeze-pseudo.mir
+32-01 files

LLVM/project 647c4a4 — llvm/lib/Target/AMDGPU SIFixSGPRCopies.cpp SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU fix-sgpr-copies-freeze.mir

[AMDGPU] Handle FREEZE like COPY in SIFixSGPRCopies

An SGPR FREEZE of a VGPR value cannot be lowered after register
allocation. We should treat FREEZE like the other single-input pseudos
(WQM and friends) when fixing SGPR copies and when moving instructions to
the VALU, so that its result is moved to a VGPR along with its users.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+6-6llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-freeze.mir
+4-1llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+1-0llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
+11-73 files

LLVM/project 9d663d2 — llvm/lib/CodeGen CalcSpillWeights.cpp, llvm/test/CodeGen/X86 freeze-pseudo.mir

[CodeGen] Hint to register allocator that FREEZE will become a copy

A FREEZE is lowered to a COPY after register allocation, so we should give
its operands the same allocation hint as a COPY. When both get the same
register, the FREEZE can be removed.
DeltaFile
+3-2llvm/lib/CodeGen/CalcSpillWeights.cpp
+2-2llvm/test/CodeGen/X86/freeze-pseudo.mir
+5-42 files

LLVM/project 9138fbe — llvm/test/CodeGen/AArch64 freeze.ll, llvm/test/CodeGen/AMDGPU promote-alloca-vector-dynamic-idx-bitcasts-llc.ll

[SelectionDAG] Don't CSE freeze of undef

Each freeze of undef may have its own arbitrary value.

This also folds a bitcast of a one-use frozen undef into a frozen undef.

Assisted-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+20-114llvm/test/CodeGen/AMDGPU/promote-alloca-vector-dynamic-idx-bitcasts-llc.ll
+49-24llvm/test/CodeGen/AArch64/freeze.ll
+14-27llvm/test/CodeGen/Hexagon/pr196966.ll
+21-18llvm/test/CodeGen/X86/freeze-vector.ll
+0-32llvm/test/CodeGen/SystemZ/pr60413.ll
+20-0llvm/unittests/CodeGen/SelectionDAGCSETest.cpp
+124-2154 files not shown
+138-22210 files

LLVM/project efc58f4 — llvm/test/CodeGen/X86 freeze-vector.ll

Precommit X86 BUILD_VECTOR freeze tests

Assisted-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+74-0llvm/test/CodeGen/X86/freeze-vector.ll
+74-01 files

LLVM/project f4a41ce — llvm/lib/CodeGen FinalizeISel.cpp, llvm/lib/CodeGen/SelectionDAG InstrEmitter.cpp

[CodeGen] Lower FREEZE of a defined value to COPY

A FREEZE is only needed when its operand may be undefined. FinalizeISel
now turns every other FREEZE into a COPY, right after instruction
selection.

Assisted-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+116-0llvm/lib/CodeGen/FinalizeISel.cpp
+36-36llvm/test/CodeGen/AArch64/finalize-isel-freeze.mir
+20-0llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
+172-363 files

LLVM/project 9a29347 — llvm/test/CodeGen/AArch64 finalize-isel-freeze.mir

Precommit FinalizeISel FREEZE tests

Assisted-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+411-0llvm/test/CodeGen/AArch64/finalize-isel-freeze.mir
+411-01 files

LLVM/project c5d7a7c — llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 freeze-vector.ll

[X86] Don't let BUILD_VECTOR pick a value for multi-use freeze(undef)

LowerBUILD_VECTOR treats freeze(undef) operands as free to choose. It
folds them to zero, blends in a new freeze, or zeroes them in the upper
half. If the freeze has other users, they may see a different value
than the BUILD_VECTOR does. Only treat a freeze(undef) as free when the
BUILD_VECTOR is its only user, and only zero the upper half when each
one has a single use, so that a freeze used by several lanes keeps one
value.

Assisted-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+37-33llvm/test/CodeGen/X86/freeze-vector.ll
+5-2llvm/lib/Target/X86/X86ISelLowering.cpp
+42-352 files

LLVM/project c7100f6 — llvm/test/CodeGen/AMDGPU hazard-freeze.mir, llvm/test/CodeGen/Mips delay-slot-filler-freeze.mir

[CodeGen] Add FREEZE target opcode

Machine IR equivalent of `freeze` instruction. Unlike COPY, 
ProcessImplicitDefs does not turn a `FREEZE` of an `IMPLICIT_DEF` into an
`IMPLICIT_DEF` and the register coalescer does not join it.

After register allocation, a `FREEZE` of a defined value is lowered to a
COPY. A `FREEZE` of an undefined value is kept until code emission, so
that no later pass sees the register as undefined. It emits a comment in
verbose asm (like `IMPLICIT_DEF`).

This PR doesn't select `freeze` -> `FREEZE` yet because there's some work to
do to avoid regressions.

Assisted-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+134-0llvm/test/CodeGen/X86/freeze-pseudo.mir
+22-22llvm/test/TableGen/get-named-operand-idx.td
+29-0llvm/test/CodeGen/X86/freeze-pseudo-expand.mir
+22-0llvm/test/CodeGen/AMDGPU/hazard-freeze.mir
+21-0llvm/test/CodeGen/Mips/delay-slot-filler-freeze.mir
+20-0llvm/test/CodeGen/X86/freeze-pseudo-asm.mir
+248-2211 files not shown
+323-3317 files