LLVM/project 8b1d624clang/test/Driver serenity.cpp, clang/test/Driver/Inputs/empty_tree .keep

[clang] Make serenity.cpp more independent of the host (#193981)

Tests matching crt files previously relied on the host system not using
the same file paths as Serenity. This breaks on AIX, as both systems use
`/usr/lib/crt0.o`.

Redirect most tests to an empty sysroot so they match only on the
filename and remain independent of the host system. Also add a test that
verifies crt files can be found in a normal sysroot.
DeltaFile
+35-15clang/test/Driver/serenity.cpp
+0-0clang/test/Driver/Inputs/serenity_tree/usr/lib/crtendS.o
+0-0clang/test/Driver/Inputs/serenity_tree/usr/lib/crtbeginS.o
+0-0clang/test/Driver/Inputs/empty_tree/.keep
+35-154 files

LLVM/project 6de092dclang/lib/AST/ByteCode Interp.h Pointer.h, clang/test/AST/ByteCode c.c

[clang][bytecode] Fix crash involving labels and null sub (#194115)

For null pointers, getDeclDesc() may return null, so we can't call
asExpr() on it.
DeltaFile
+8-5clang/lib/AST/ByteCode/Interp.h
+6-0clang/lib/AST/ByteCode/Pointer.h
+4-0clang/test/AST/ByteCode/c.c
+18-53 files

LLVM/project 8e3fa95flang/lib/Semantics check-omp-structure.cpp check-omp-structure.h

[flang][OpenMP] Replace llvmOmpClause with llvm::omp::Clause (#194162)

Both types, llvmOmpClause (alias of const llvm::omp::Clause) and
llvm::omp::Clause are in use, let's just stick with one.
DeltaFile
+7-7flang/lib/Semantics/check-omp-structure.cpp
+3-5flang/lib/Semantics/check-omp-structure.h
+10-122 files

LLVM/project 764e10cllvm/lib/Target/AArch64 AArch64SIMDInstrOpt.cpp AArch64.h

[NewPM] Adds a port for AArch64SIMDInstrOpt (#188177)

Adds a port for AArch64SIMDInstrOpt

- Refactored to extract base logic as Impl.
- **Note**: Moved theI nstruction Replacement Table and cross-function
cached maps as members of the Impl class.
- **Note**: Updated `InstReplInfo::RC` to be a pointer rather than a
stack object, because we're putting it into MRI
[here](https://github.com/llvm/llvm-project/blob/704c60fe9110256d2698d8e56b8c44ec5d1e733f/llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp#L532).
- Renamed existing pass with "Legacy" suffix and updated references
- Added NewPM pass AArch64SIMDInstrOptPass
- Updated pass type to `aarch64-simd-instr-opt` (prev:
`aarch64-simdinstr-opt`)

No existing `.mir` tests to update.
DeltaFile
+138-97llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
+12-1llvm/lib/Target/AArch64/AArch64.h
+1-1llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+1-0llvm/lib/Target/AArch64/AArch64PassRegistry.def
+152-994 files

LLVM/project 0eae5cfllvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV/rvv setcc-int-vp.ll fixed-vectors-setcc-int-vp.ll

[RISCV] Remove codegen for vp.icmp (#193606)

Part of the work to remove trivial VP intrinsics from the RISC-V
backend, see
https://discourse.llvm.org/t/rfc-remove-codegen-support-for-trivial-vp-intrinsics-in-the-risc-v-backend/87999

This splits off vp.icmp from #179622
DeltaFile
+704-882llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
+345-558llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
+70-70llvm/test/CodeGen/RISCV/rvv/setcc-int-vp-mask.ll
+3-120llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+40-40llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp-mask.ll
+7-11llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
+1,169-1,6813 files not shown
+1,177-1,6899 files

LLVM/project 1d14d85libcxx/include span, libcxx/test/std/containers/views/views.span/span.cons initializer_list.pass.cpp initializer_list.verify.cpp

[libc++] P4144R1: Remove `span`'s `initializer_list` constructor for C++26 (#191428)

Reverts P2447R6 (implemented in
dbbeee6b8357c5a68543f612f3b2b607f1911b4c). Some test cases that indicate
"old" behavior mentioned in P2447R6 are kept.
DeltaFile
+5-73libcxx/test/std/containers/views/views.span/span.cons/initializer_list.pass.cpp
+0-48libcxx/test/std/containers/views/views.span/span.cons/initializer_list.verify.cpp
+0-32libcxx/test/std/containers/views/views.span/span.cons/initializer_list.assert.pass.cpp
+0-27libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
+0-27libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+1-17libcxx/include/span
+6-2247 files not shown
+10-24613 files

LLVM/project 25848e8flang/lib/Semantics check-omp-structure.cpp check-omp-structure.h

[flang][OpenMP] Replace llvmOmpClause with llvm::omp::Clause

Both types, llvmOmpClause (alias of const llvm::omp::Clause) and
llvm::omp::Clause are in use, let's just stick with one.
DeltaFile
+7-7flang/lib/Semantics/check-omp-structure.cpp
+3-5flang/lib/Semantics/check-omp-structure.h
+10-122 files

LLVM/project 109f2a2mlir/include/mlir/Dialect/Math/IR MathOps.td MathBase.td, mlir/lib/Conversion/MathToLLVM MathToLLVM.cpp

[mlir][math] Add rounding modes to `math.fma` (#192839)

Rounding modes have recently been added for `arith` FP operations
(#188458). This commit adds rounding modes to `math.fma`, following the
same design as for `arith` FP operations.

If a rounding mode is present, the LLVM lowering produces
`llvm.intr.experimental.constrained.fma`.

In the absence of a rounding mode, the rounding behavior is deferred to
the target backend.

Assisted-by: claude-opus-4.7-thinking-high
DeltaFile
+45-4mlir/include/mlir/Dialect/Math/IR/MathOps.td
+40-0mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
+37-2mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
+8-2mlir/test/Dialect/Math/ops.mlir
+7-0mlir/include/mlir/Dialect/Math/IR/MathBase.td
+137-85 files

LLVM/project 6855d70clang/lib/CIR/CodeGen CIRGenAtomic.cpp CIRGenExprScalar.cpp, clang/test/CIR/CodeGen atomic.c

[CIR] Add support for atomic-to-non-atomic cast (#193784)

This patch adds support for atomic-to-non-atomic casts in CIR.

Related to #192319 .

Assisted-by: Github Copilot / GPT-5.4
DeltaFile
+94-0clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
+16-0clang/test/CIR/CodeGen/atomic.c
+1-6clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+6-0clang/lib/CIR/CodeGen/CIRGenFunction.h
+1-1clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+118-75 files

LLVM/project fad6046llvm/test/CodeGen/RISCV/rvv vsrl-vp.ll vshl-vp.ll

[RISCV] Expand vp.shl, vp.lshr, vp.ashr (#193603)

Part of the work to remove trivial VP intrinsics from the RISC-V
backend, see
https://discourse.llvm.org/t/rfc-remove-codegen-support-for-trivial-vp-intrinsics-in-the-risc-v-backend/87999

This splits off 3 intrinsics from #179622. The codegen is left in for
now as other places can generate those nodes. performVP_TRUNCATECombine
needs to be updated to match the plain non-VP node when forming vaaddu.
DeltaFile
+236-281llvm/test/CodeGen/RISCV/rvv/vsrl-vp.ll
+233-278llvm/test/CodeGen/RISCV/rvv/vshl-vp.ll
+233-278llvm/test/CodeGen/RISCV/rvv/vsra-vp.ll
+181-227llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsrl-vp.ll
+180-226llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vshl-vp.ll
+180-226llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsra-vp.ll
+1,243-1,5169 files not shown
+1,445-1,73515 files

LLVM/project b1763eallvm/lib/Target/RISCV RISCVISelLowering.cpp RISCVISelLowering.h, llvm/test/CodeGen/RISCV/rvv vfptrunc-vp.ll fixed-vectors-fptrunc-vp.ll

[RISCV] Remove codegen for vp_fp_round, vp_fp_extend (#193219)

Part of the work to remove trivial VP intrinsics from the RISC-V
backend, see
https://discourse.llvm.org/t/rfc-remove-codegen-support-for-trivial-vp-intrinsics-in-the-risc-v-backend/87999

This splits off 2 intrinsics from #179622. vp.fpext was previously
expanded in #190589, we only need to expand vp.fptrunc in this PR.
DeltaFile
+37-102llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
+24-38llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
+6-28llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+1-1llvm/lib/Target/RISCV/RISCVISelLowering.h
+0-1llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
+68-1705 files

LLVM/project 4b87091llvm/include/llvm/IR IRBuilder.h, llvm/lib/Transforms/Utils ScalarEvolutionExpander.cpp

[SCEVExp] Use Builder.CreateBinOp in InsertBinOp. (#154148)

SCEVExpander's builder already uses InstSimplifyFolder. Use it to
construct binary ops via CreateBinOp instead of BinaryOperator::Create.

This helps to simplify away a few more instructions during SCEV
expansion.

PR: https://github.com/llvm/llvm-project/pull/154148
DeltaFile
+10-29llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
+9-27llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
+20-11llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
+16-3polly/lib/CodeGen/IslNodeBuilder.cpp
+12-0llvm/include/llvm/IR/IRBuilder.h
+3-9llvm/test/Transforms/LoopStrengthReduce/wrong-hoisting-iv.ll
+70-795 files not shown
+77-9311 files

LLVM/project 3551254llvm/test/Transforms/SLPVectorizer/X86 non-vectorizable-inst-operand.ll non-vectorizable-call-operand.ll

[SLP][NFC]Rename test, add other non-vectorizable inst candidates tests, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/194153
DeltaFile
+282-0llvm/test/Transforms/SLPVectorizer/X86/non-vectorizable-inst-operand.ll
+0-110llvm/test/Transforms/SLPVectorizer/X86/non-vectorizable-call-operand.ll
+282-1102 files

LLVM/project cabe29eflang/lib/Semantics check-omp-structure.cpp check-omp-structure.h, flang/test/Semantics/OpenMP branching-program-unit.f90

[flang][OpenMP] Clear branch labels in all program units (#194152)

The semantic check for branching in or out of an OpenMP construct did
not reset its label information in some cases, leading to false positive
error messages in valid Fortran code.
DeltaFile
+16-0flang/test/Semantics/OpenMP/branching-program-unit.f90
+4-0flang/lib/Semantics/check-omp-structure.cpp
+1-0flang/lib/Semantics/check-omp-structure.h
+21-03 files

LLVM/project 2a54476clang/test lit.cfg.py

[clang][lit] Substitute cir-opt when CIR is enabled (#194129)

Fix the CIR lit substitution introduced by #193665 to use `cir-opt`.
DeltaFile
+1-1clang/test/lit.cfg.py
+1-11 files

LLVM/project b8e2e2aflang/lib/Semantics check-omp-structure.cpp

format
DeltaFile
+1-1flang/lib/Semantics/check-omp-structure.cpp
+1-11 files

LLVM/project 9f31872flang/lib/Semantics check-omp-structure.cpp check-omp-structure.h, flang/test/Semantics/OpenMP branching-program-unit.f90

[flang][OpenMP] Clear branch labels in all program units

The semantic check for branching in or out of an OpenMP construct
did not reset its label information in some cases, leading to false
positive error messages in valid Fortran code.
DeltaFile
+16-0flang/test/Semantics/OpenMP/branching-program-unit.f90
+4-0flang/lib/Semantics/check-omp-structure.cpp
+1-0flang/lib/Semantics/check-omp-structure.h
+21-03 files

LLVM/project 65b9755llvm/test/CodeGen/WebAssembly strided-int-mac.ll

[NFC][WebAssembly] strided-int-mac.ll - regenerate test checks (#194146)

Use update_llc_test_checks regeneration
DeltaFile
+3,230-456llvm/test/CodeGen/WebAssembly/strided-int-mac.ll
+3,230-4561 files

LLVM/project 7dff689llvm/include/llvm/Target/GlobalISel Combine.td

[GlobalISel] Remove duplicate patterns. NFC (#194131)

This looks like a merge conflict from #194010 cause a duplicate line to
appear, causing warning about constant_fold_cast_op and fabs_fneg_fold
being used multiple times.
DeltaFile
+0-1llvm/include/llvm/Target/GlobalISel/Combine.td
+0-11 files

LLVM/project 22a2ff7llvm/test/Transforms/SLPVectorizer/X86 non-vectorizable-call-operand.ll

[SLP][NFC]Add a test with non-vectorizable functions/intrinsics, but vectorizable operands



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/194143
DeltaFile
+110-0llvm/test/Transforms/SLPVectorizer/X86/non-vectorizable-call-operand.ll
+110-01 files

LLVM/project 8cd9673llvm/lib/Target/AVR AVRInstrInfo.td AVRISelLowering.cpp, llvm/test/CodeGen/AVR issue-104032.ll

[AVR] Fix allocating DREGS (#193908)
DeltaFile
+86-0llvm/test/CodeGen/AVR/issue-104032.ll
+5-5llvm/lib/Target/AVR/AVRInstrInfo.td
+1-1llvm/lib/Target/AVR/AVRISelLowering.cpp
+92-63 files

LLVM/project 142a871llvm/lib/Target/ARM ARMISelLowering.cpp, llvm/test/CodeGen/Thumb2 mve-extbuildvec.ll

[ARM][MVE] Transform sext and zext of i1 buildvector (#192519)

This helps by avoiding the difficult predicate generation in scalar, using
natural extends to all-zero or all-ones in scalar as opposed to re-extending
them in vector registers.
DeltaFile
+159-221llvm/test/CodeGen/Thumb2/mve-extbuildvec.ll
+22-2llvm/lib/Target/ARM/ARMISelLowering.cpp
+181-2232 files

LLVM/project 5ee6e6dllvm/lib/Target/AArch64 AArch64InstrInfo.td, llvm/test/CodeGen/AArch64 uaddlp.ll

[AArch64] Use `AArch64ISD::UADDLP` for manual widening adjacent arithmetic (zext/shuffle combination) (#189255)
DeltaFile
+74-0llvm/test/CodeGen/AArch64/uaddlp.ll
+15-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+89-02 files

LLVM/project 228fabdclang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/overloaded vfncvtbf16.c, clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/non-overloaded vfncvtbf16.c vfncvt.c

[Clang][RISCV] Introduce OFP8(E4M3, E5M2) RISC-V vector types (#191349)

Currently there's no OFP8 scalar type supported in both clang and llvm
type system, the vector OFP8 RVV types are lowered to i8 llvm types for
now.
The reason to support only clang type is because of intrinsics
definition capability. If we make the clang type also using uint8 vector
types, it's not able to distinguish between E4M3 type and E5M2 type so
that we have to append additional type suffix to it.
intrinsic spec update pr:
https://github.com/riscv-non-isa/riscv-rvv-intrinsic-doc/pull/432
vreinterpret intrinsic PR:
https://github.com/llvm/llvm-project/pull/191626

DONT MERGE: We have to get the intrinsic spec merged first to be able to
make zvfofp8min change
DeltaFile
+472-472clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/overloaded/vfncvtbf16.c
+280-280clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/non-overloaded/vfncvtbf16.c
+192-192clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/overloaded/vfncvtbf16.c
+166-166clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/overloaded/vfncvt.c
+166-166clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/non-overloaded/vfncvt.c
+96-96clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/overloaded/vfwcvtbf16.c
+1,372-1,37216 files not shown
+1,993-1,77022 files

LLVM/project 4463349libcxx/include/__utility constant_wrapper.h, libcxx/test/libcxx/utilities/const.wrap.class nodiscard.verify.cpp

[libc++] Fix constant_wrapper::operator() (#193573)

As Tomasz pointed out on mattermost, 
given

```cpp
template <class T>
struct MustBeInt {
  static_assert(std::same_as<T, int>);
};

struct Poison {
  template <class T>
  constexpr auto operator()(T) const noexcept -> MustBeInt<T> {
    return {};
  }
};

std::cw<Poison{}>(std::cw<5>);

    [59 lines not shown]
DeltaFile
+36-38libcxx/include/__utility/constant_wrapper.h
+18-0libcxx/test/std/utilities/const.wrap.class/call.pass.cpp
+18-0libcxx/test/std/utilities/const.wrap.class/subscript.pass.cpp
+9-0libcxx/test/libcxx/utilities/const.wrap.class/nodiscard.verify.cpp
+81-384 files

LLVM/project e80d3a3llvm/test/CodeGen/Thumb2 mve-extbuildvec.ll

[ARM][MVE] Add tests for sext and zext of i1 buildvector. NFC (#194141)
DeltaFile
+372-0llvm/test/CodeGen/Thumb2/mve-extbuildvec.ll
+372-01 files

LLVM/project fed92a3llvm/lib/ExecutionEngine/Orc/TargetProcess JITLoaderPerf.cpp

[ORC] Wrap unconditional dbgs() in LLVM_DEBUG in JITLoaderPerf (#188903)

Fixes #188900
DeltaFile
+5-4llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
+5-41 files

LLVM/project f243698llvm/test/CodeGen/X86 dag-topological-sort.ll

[X86] dag-topological-sort.ll - add additional test coverage (#194135)

The PR134602 test codegen will converge after #193987

Ensure we test with -combiner-topological-sorting=false as well
DeltaFile
+40-2llvm/test/CodeGen/X86/dag-topological-sort.ll
+40-21 files

LLVM/project ada1b81llvm/test/CodeGen/AArch64 arm64-vmul.ll

[AArch64] Addition tests for add_like Or of smlal/umlal. NFC (#194138)
DeltaFile
+333-25llvm/test/CodeGen/AArch64/arm64-vmul.ll
+333-251 files

LLVM/project 3ad521ellvm/test/CodeGen/AMDGPU/NextUseAnalysis spill-vreg-many-lanes.mir acyclic-770bb.mir

Rebase

Created using spr 1.3.7
DeltaFile
+275,101-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/spill-vreg-many-lanes.mir
+144,679-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
+57,682-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/double-nested-loops-complex-cfg.mir
+41,844-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills2.mir
+40,613-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills1.mir
+37,209-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills3.mir
+597,128-09,624 files not shown
+1,444,005-273,9599,630 files