LLVM/project 1919358mlir/lib/Transforms/Utils CFGToSCF.cpp

fix
DeltaFile
+22-1mlir/lib/Transforms/Utils/CFGToSCF.cpp
+22-11 files

LLVM/project 6288b77mlir/lib/Transforms/Utils CFGToSCF.cpp

[SCF][CF] Optimize cf to scf.if to avoid emitting redundant results
DeltaFile
+99-36mlir/lib/Transforms/Utils/CFGToSCF.cpp
+99-361 files

LLVM/project 6fd79a2llvm/lib/Target/SPIRV SPIRVInstructionSelector.cpp SPIRVBuiltins.cpp, llvm/test/CodeGen/SPIRV select.ll select-invalid-vector-cond.ll

[SPIR-V] Reject OpSelect with scalar result and vector condition (#193745)

Per SPIR-V spec, scalar Result Type requires a scalar bool condition.
So, vector cond branches under a scalar result are unreachable
DeltaFile
+77-0llvm/test/CodeGen/SPIRV/select.ll
+16-0llvm/test/CodeGen/SPIRV/select-invalid-vector-cond.ll
+5-3llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+6-0llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
+104-34 files

LLVM/project 33972d3compiler-rt/test/safestack sigaltstack.c

fix clang-format

Created using spr 1.3.7
DeltaFile
+2-2compiler-rt/test/safestack/sigaltstack.c
+2-21 files

LLVM/project 8d98bd4llvm/lib/Transforms/Vectorize VPlan.h

[VPlan] Avoid erroneously marking PredPHI as using scalars (#195511)

PredInstPHIRecipe can use wide values, and indeed, we have several tests
demonstrating this behavior. Strip the erroenous always-true usesScalars
member, falling back to usesFirstLaneOnly as usual.
DeltaFile
+0-7llvm/lib/Transforms/Vectorize/VPlan.h
+0-71 files

LLVM/project cbf814dclang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp, clang/test/CodeGen/AArch64 neon-intrinsics.c v8.2a-neon-intrinsics.c

[CIR][AArch64] Lower vfmaq_v f32/f64 (#195602)

Lower `BI__builtin_neon_vfmaq_v` in CIR for the `vfmaq_f32` and
`vfmaq_f64` ACLE wrappers.

This is split out from the broader fused multiply-accumulate work and
only covers `BI__builtin_neon_vfmaq_v`. The related `vfma_v`,
`vfmaq_f16`, lane, laneq, and scalar forms remain outside this PR.

Tests move the existing `vfmaq_f32` and `vfmaq_f64` coverage from
`neon-intrinsics.c` into `neon/vfmaq.c`, preserve the original LLVM
checks, and add ClangIR coverage.

Validation: rebuilt `clang` and ran the focused `vfmaq.c` lit test.

Part of #185382
Split from feedback on #188190
DeltaFile
+67-0clang/test/CodeGen/AArch64/neon/fused-multiply.c
+47-0clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
+26-12clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+0-38clang/test/CodeGen/AArch64/neon-intrinsics.c
+0-19clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
+140-695 files

LLVM/project b018d3allvm/test/tools/llvm-objdump/Offloading nested-offload-binary.test, llvm/test/tools/llvm-objdump/Offloading/Inputs inner.yaml

[llvm][tools][llvm-objdump] Fix nested-offload-binary.test  (#196912)

In little endian systems the embedded image hex is incorrect and the
test fails on Solaris/sparcv9.
Switching to generate the inner image on the fly and patch the outer
image CONTENT field.
DeltaFile
+4-21llvm/test/tools/llvm-objdump/Offloading/nested-offload-binary.test
+16-0llvm/test/tools/llvm-objdump/Offloading/Inputs/inner.yaml
+20-212 files

LLVM/project 15af691llvm/test/CodeGen/AMDGPU srem.ll load-global-i8.ll

DAGCombiner: (srl/sra (add nuw/nsw X, c), d) --> (add nuw/nsw (srl/sra X, d), c >> d)

Additional precondition:
* The LSBs of c are 0; equivalently: c >> d is exact

Alive2 for
* unsigned case: https://alive2.llvm.org/ce/z/YcJ8qA
* signed case: https://alive2.llvm.org/ce/z/fgpvyE

We already canonicalize (shl (add ...) ...) to (add (shl ...) ...).

Restrict this combine to the single-use case to minimize risk for now.
The main target of this combine is a fan-out tree of `add`s that all end
up being shifted by the same amount at the leaves. This change happens to
improve a bunch of existing CodeGen tests in AMDGPU.

v2:
- remove a redundant check on the shift amount -- large shift amounts
  results in poison anyway

    [2 lines not shown]
DeltaFile
+2,123-2,126llvm/test/CodeGen/AMDGPU/srem.ll
+1,647-1,991llvm/test/CodeGen/AMDGPU/load-global-i8.ll
+1,469-1,786llvm/test/CodeGen/AMDGPU/load-global-i16.ll
+860-1,133llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
+743-910llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
+682-844llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
+7,524-8,79024 files not shown
+10,300-11,93430 files

LLVM/project 5b6b401clang/lib/Driver/ToolChains Hexagon.cpp, clang/test/Driver hexagon-toolchain-picolibc.c

[Clang][Hexagon] Driver changes for H2+Picolibc (#195795)

depends on https://github.com/llvm/llvm-project/pull/195621

Signed-off-by: Kushal Pal <kushpal at qti.qualcomm.com>
DeltaFile
+118-0clang/test/Driver/hexagon-toolchain-picolibc.c
+15-3clang/lib/Driver/ToolChains/Hexagon.cpp
+0-0clang/test/Driver/Inputs/hexagon_tree/Tools/target/picolibc/hexagon-unknown-h2-elf/include/c++/v1/.keep
+133-33 files

LLVM/project a0da4a5llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp

address review comments
DeltaFile
+2-1llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+2-11 files

LLVM/project 056d6e0llvm/lib/Target/AMDGPU VOP1Instructions.td VOPInstructions.td

[AMDGPU] Add VOP1 DPP8 pseudo infrastructure (#196736)
DeltaFile
+20-17llvm/lib/Target/AMDGPU/VOP1Instructions.td
+25-0llvm/lib/Target/AMDGPU/VOPInstructions.td
+45-172 files

LLVM/project 2b16484compiler-rt/lib/safestack safestack.cpp

Fix typo

Created using spr 1.3.7
DeltaFile
+5-5compiler-rt/lib/safestack/safestack.cpp
+5-51 files

LLVM/project baf184ccompiler-rt/lib/safestack safestack.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+4-4compiler-rt/lib/safestack/safestack.cpp
+4-41 files

LLVM/project 3119832compiler-rt/lib/safestack safestack.cpp

fix clang-format

Created using spr 1.3.7
DeltaFile
+4-4compiler-rt/lib/safestack/safestack.cpp
+4-41 files

LLVM/project 92dad13llvm/lib/Target/AArch64 AArch64InstrInfo.td, llvm/test/CodeGen/AArch64 uaddlp.ll addp-shuffle.ll

[AArch64] Additional Tablegen patterns for `shuffle(zext(...))` and `shuffle(sext(...))` to `uaddlp` (#195120)
DeltaFile
+111-0llvm/test/CodeGen/AArch64/uaddlp.ll
+16-48llvm/test/CodeGen/AArch64/addp-shuffle.ll
+39-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+166-483 files

LLVM/project 6d6858allvm/test/CodeGen/AArch64 bf16-v8-instructions.ll bf16-v4-instructions.ll, llvm/test/CodeGen/RISCV/rvv fixed-vectors-reduction-fp.ll

Merge branch 'main' into fix-blockfreq-unroll-unconditional-latches--uniform
DeltaFile
+7,584-740llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
+6,873-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-sve-instructions.s
+4,634-367llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
+4,174-657llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
+2,928-1,388llvm/test/CodeGen/X86/vector-reduce-smin.ll
+2,924-1,389llvm/test/CodeGen/X86/vector-reduce-smax.ll
+29,117-4,5415,437 files not shown
+210,493-68,3055,443 files

LLVM/project bedac40flang/include/flang/Optimizer/Dialect FIROps.td FIROps.h, flang/lib/Optimizer/Dialect FIROps.cpp

[flang][mem2reg] promote memory slots through declares
DeltaFile
+195-16flang/test/Fir/mem2reg.mlir
+87-24flang/lib/Optimizer/Dialect/FIROps.cpp
+9-4flang/include/flang/Optimizer/Dialect/FIROps.td
+1-0flang/include/flang/Optimizer/Dialect/FIROps.h
+292-444 files

LLVM/project 5e8f473libc/src/__support big_int.h

[libc] Fix BigInt shift on big-endian platforms (#196957)

BigInt<128> stores the value in two separate word sized array slots
with the low 64 bits being stored in val[0] and high 64 bits in val[1].
This can't be reinterpreted as a 128 bit value on big-endian platforms
because the values are reversed.

This has caused test failures on s390x builds of V8:
https://issues.chromium.org/issues/511831894

---------

Co-authored-by: Guillaume Chatelet <gchatelet at google.com>
DeltaFile
+2-1libc/src/__support/big_int.h
+2-11 files

LLVM/project 8b6c62fllvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp

address review comments
DeltaFile
+3-2llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+3-21 files

LLVM/project 9a52253llvm/test/CodeGen/X86 argument-range-attr.ll

add test
DeltaFile
+123-0llvm/test/CodeGen/X86/argument-range-attr.ll
+123-01 files

LLVM/project 5b97b57llvm/test/CodeGen/AMDGPU bit-op-reduce-width-known-bits.ll

Apply suggestions from code review

Co-authored-by: Simon Pilgrim <git at redking.me.uk>
Co-authored-by: Iris Shi <0.0 at owo.li>
DeltaFile
+2-2llvm/test/CodeGen/AMDGPU/bit-op-reduce-width-known-bits.ll
+2-21 files

LLVM/project 7a90f7dllvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp, llvm/test/CodeGen/X86 argument-range-attr.ll

address review comment
DeltaFile
+11-0llvm/test/CodeGen/X86/argument-range-attr.ll
+1-1llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+12-12 files

LLVM/project 12ac449llvm/test/CodeGen/AMDGPU bit-op-reduce-width-known-bits.ll, llvm/test/CodeGen/X86 argument-range-attr.ll

update test
DeltaFile
+12-14llvm/test/CodeGen/X86/argument-range-attr.ll
+3-3llvm/test/CodeGen/AMDGPU/bit-op-reduce-width-known-bits.ll
+15-172 files

LLVM/project 6e48a7dllvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp SelectionDAGBuilder.h

[SelectionDAG] Emit `AssertZext` for function argument range attributes
DeltaFile
+6-1llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+2-0llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
+8-12 files

LLVM/project 0237e9aflang/lib/Optimizer/Transforms FIRToMemRef.cpp, flang/test/Transforms/FIRToMemRef slice-projected.mlir

[flang][FIRToMemRef] [flang][fir-to-memref] Lower complex projected slices via memref<...x2xT> reinterpretation (#196123)

At the `fir.array_coor` site, reinterpret the
`memref<d0×...×complex<T>>` as `memref<d0×...×2×T>` via `fir.convert`,
then append the component index (0=re, 1=im) as the final memref index.
Loads and stores then operate directly on a scalar `T`-sized location.
DeltaFile
+110-44flang/test/Transforms/FIRToMemRef/slice-projected.mlir
+53-28flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
+163-722 files

LLVM/project fca1083lldb/tools/driver Driver.cpp

[lldb] Handle SIGINT via the MainLoop signal thread (on POSIX) (#196687)

The driver's async SIGINT handler called
SBDebugger::DispatchInputInterrupt directly. That is not
async-signal-safe and can lead to a crash.

Register SIGINT with the existing signal-thread MainLoop instead so
DispatchInputInterrupt runs in normal thread context. The Windows path
is unchanged and keeps the legacy async handler.

While DispatchInputInterrupt runs, the callback temporarily installs
SIG_DFL so a second Ctrl-C still hard-terminates the process, preserving
the escape hatch users rely on when the debugger is unresponsive.

Moving SIGINT off the main thread means a Ctrl-C no longer interrupts
blocking syscalls there (e.g. a Python REPL waiting on input or
sleeping), so Python never observes the queued interrupt and
KeyboardInterrupt is not raised. To restore that behavior, after
dispatching the interrupt the callback re-raises SIGINT on the main

    [6 lines not shown]
DeltaFile
+56-4lldb/tools/driver/Driver.cpp
+56-41 files

LLVM/project bf0adaaclang/include/clang/Basic Builtins.td, compiler-rt/lib/safestack safestack.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+269-4compiler-rt/lib/safestack/safestack.cpp
+171-0compiler-rt/test/safestack/sigaltstack.c
+6-0clang/include/clang/Basic/Builtins.td
+446-43 files

LLVM/project 3f8e889clang/include/clang/Basic Builtins.td, compiler-rt/lib/safestack safestack.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+230-4compiler-rt/lib/safestack/safestack.cpp
+147-0compiler-rt/test/safestack/sigaltstack.c
+6-0clang/include/clang/Basic/Builtins.td
+383-43 files

LLVM/project 6c47c94clang/include/clang/Basic Builtins.td, compiler-rt/lib/safestack safestack.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+230-4compiler-rt/lib/safestack/safestack.cpp
+147-0compiler-rt/test/safestack/sigaltstack.c
+6-0clang/include/clang/Basic/Builtins.td
+383-43 files

LLVM/project b5887a7clang/include/clang/Basic Builtins.td, compiler-rt/lib/safestack safestack.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+147-0compiler-rt/test/safestack/sigaltstack.c
+92-4compiler-rt/lib/safestack/safestack.cpp
+6-0clang/include/clang/Basic/Builtins.td
+245-43 files