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

LLVM/project 78d94b2llvm/test/CodeGen/AArch64 sve-fixed-length-masked-expandloads.ll sve-streaming-mode-fixed-length-masked-expandload.ll, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll

Rebase

Created using spr 1.3.7
DeltaFile
+26,606-0llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
+4,811-4,818llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+326-4,626llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
+4,078-0llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-expandload.ll
+1,872-1,883llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+565-2,727llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
+38,258-14,0544,949 files not shown
+239,959-113,9694,955 files

LLVM/project cfbd321llvm/test/CodeGen/AArch64 sve-fixed-length-masked-expandloads.ll sve-streaming-mode-fixed-length-masked-expandload.ll, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll

Rebase

Created using spr 1.3.7
DeltaFile
+26,606-0llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
+4,811-4,818llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+326-4,626llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
+4,078-0llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-expandload.ll
+1,872-1,883llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+565-2,727llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
+38,258-14,0544,948 files not shown
+239,722-113,9664,954 files

LLVM/project 6f0b55eclang/lib/CIR/CodeGen CIRGenTypes.cpp CIRGenExprScalar.cpp, clang/test/CIR/CodeGen fixed-point-literal.c

[CIR] Upstream missing support for fixed point literal (#193445)

- Upstream CIR CodeGen for fixed point builtin types `_Fract`, `_Accum`
and `_Sat`.
- Upstream CIR CodeGen for fixed point literal
- Part of task https://github.com/llvm/llvm-project/issues/192316
DeltaFile
+208-0clang/test/CIR/CodeGen/fixed-point-literal.c
+26-0clang/lib/CIR/CodeGen/CIRGenTypes.cpp
+3-3clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+237-33 files

LLVM/project cbc2c22llvm/test/CodeGen/AArch64 sve-fixed-length-masked-expandloads.ll sve-streaming-mode-fixed-length-masked-expandload.ll, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll

Rebase

Created using spr 1.3.7
DeltaFile
+26,606-0llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
+4,811-4,818llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+326-4,626llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
+4,078-0llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-expandload.ll
+1,872-1,883llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+565-2,727llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
+38,258-14,0544,288 files not shown
+210,973-103,5244,294 files

LLVM/project 1348766llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer revec-shufflevector.ll shuffle-mask-resized.ll

[SLP]Initial support for non-power-of-2 vectorization

Enables non-power-of-2 vectorization within the SLP tree. The root nodes
are still required to be power-of-2, will be addressed in a follow-up
patches.

Reviewers: bababuck, RKSimon, preames, hiraditya, HanKuanChen

Pull Request: https://github.com/llvm/llvm-project/pull/151530
DeltaFile
+439-220llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+64-154llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
+26-44llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll
+50-14llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
+29-33llvm/test/Transforms/SLPVectorizer/X86/parent-node-schedulable-with-multi-copyables.ll
+31-16llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
+639-48162 files not shown
+959-91968 files

LLVM/project 0ad0e89libcxx/include __assert

[libc++] Remove full header path from assertion messages (#190060)

This creates additional bloat in programs or debug info, without much
additional value beyond just the file name.

Fixes #190058
DeltaFile
+1-1libcxx/include/__assert
+1-11 files

LLVM/project 2f28e1dlibcxx/include/__ranges stride_view.h, libcxx/test/std/ranges/range.adaptors/range.stride.view types.h end.pass.cpp

[libc++] Implement P1899 `ranges::stride_view` (#65200)

Implement `ranges::stride_view` in libc++. This PR was migrated from
Phabricator (https://reviews.llvm.org/D156924).

Closes #105198

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Co-authored-by: A. Jiang <de34 at live.cn>
DeltaFile
+410-0libcxx/include/__ranges/stride_view.h
+290-0libcxx/test/std/ranges/range.adaptors/range.stride.view/types.h
+222-0libcxx/test/std/ranges/range.adaptors/range.stride.view/end.pass.cpp
+211-0libcxx/test/std/ranges/range.adaptors/range.stride.view/iterator/increment.pass.cpp
+194-0libcxx/test/std/ranges/range.adaptors/range.stride.view/iterator/minus.pass.cpp
+165-0libcxx/test/std/ranges/range.adaptors/range.stride.view/iterator/ctor.copy.pass.cpp
+1,492-039 files not shown
+3,929-245 files

LLVM/project 3e10b2fclang/lib/Basic/Targets AVR.h, clang/test/CodeGen/avr issue-176830.c

[clang] Fix incorrect register information for AVR (#193940)
DeltaFile
+17-0clang/test/CodeGen/avr/issue-176830.c
+6-8clang/lib/Basic/Targets/AVR.h
+23-82 files