LLVM/project c4a6fe7lld/ELF/Arch LoongArch.cpp, lld/test/ELF loongarch-tls-dtprel.s

[lld][LoongArch] Handle DTPREL relocations in debug sections (#199327)

Teach the LoongArch lld backend to classify R_LARCH_TLS_DTPREL32 and
R_LARCH_TLS_DTPREL64 as R_DTPREL.

This allows linker processing of TLS debug info references emitted into
.debug_info via .dtprelword/.dtpreldword. Add 32-bit and 64-bit tests
that assemble objects with DTPREL relocations in debug sections.
DeltaFile
+26-0lld/test/ELF/loongarch-tls-dtprel.s
+3-0lld/ELF/Arch/LoongArch.cpp
+29-02 files

LLVM/project 170bdf5llvm/lib/Target/AMDGPU AMDGPUISelDAGToDAG.cpp AMDGPUInstructionSelector.cpp

[NFC][AMDGPU] Introduce AMDGPU::FlatVariant enum to replace uint64_t FLAT discriminant (#200396)

Replace the uint64_t parameter used as a FLAT address-space segment
discriminant in isLegalFLATOffset, splitFlatOffset,
allowNegativeFlatOffset with a typed enum class to prevent usage of raw
TSFlags.

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+22-16llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
+13-12llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+10-8llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+5-5llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+5-5llvm/lib/Target/AMDGPU/SIInstrInfo.h
+5-4llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+60-505 files not shown
+74-5711 files

LLVM/project bdcce4allvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 avx512-mask-op.ll fold-select.ll

[X86] combineMaskBitOp - fold vXi1 logicop(truncate(N0),truncate(N1)) -> truncate(logicop(X,Y)) (#200385)

Replace costly predicate logic when possible - generic 128/256/512 vector types are always cheaper

Part of #198162
DeltaFile
+39-92llvm/test/CodeGen/X86/avx512-mask-op.ll
+44-0llvm/lib/Target/X86/X86ISelLowering.cpp
+2-7llvm/test/CodeGen/X86/fold-select.ll
+85-993 files

LLVM/project 4db74c0llvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp

[NFC][AMDGPU] Replace uint64_t SDWA inst-type discriminant with typed enum (#200388)

cvtSDWA() previously took a uint64_t BasicInstType parameter and callers
passed raw TSFlag bit values (SIInstrFlags::VOP1/VOP2/VOPC) as a
discriminant. Introduce a private AMDGPUAsmParser::SDWAInstType enum
class to remove the raw-flag dependency.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+15-17llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+15-171 files

LLVM/project 3e4226acompiler-rt/lib/builtins/arm floatunsdidf.S floatundidf.S

Use the proper libgcc spelling for the function names
DeltaFile
+0-184compiler-rt/lib/builtins/arm/floatunsdidf.S
+184-0compiler-rt/lib/builtins/arm/floatundidf.S
+0-103compiler-rt/lib/builtins/arm/floatunssisf.S
+103-0compiler-rt/lib/builtins/arm/floatunsisf.S
+64-0compiler-rt/lib/builtins/arm/floatunsidf.S
+0-64compiler-rt/lib/builtins/arm/floatunssidf.S
+351-35110 files not shown
+563-56316 files

LLVM/project a8a91c0clang/lib/Driver/ToolChains Clang.cpp Linux.cpp, clang/test/Driver sycl-offload-jit-unix.cpp sycl-offload-jit.cpp

[SYCL] Fix -nolibsycl and spurious spirv-link flags for SYCL offloading (#200252)

Two related driver fixes for SYCL offloading on Linux:

1. Honor -nolibsycl during linking: the SYCL runtime library
(libLLVMSYCL.so) was unconditionally added to the link line even when
-nolibsycl was passed. The flag was recognized but silently ignored at
the point where the library path is emitted.

2. Do not forward spirv-link flags to clang-sycl-linker: the driver was
passing --allow-partial-linkage and --create-library to
clang-sycl-linker for all SPIR-V offload targets, but these flags are
only meaningful to the out-of-tree spirv-link tool used by OpenMP. SYCL
uses clang-sycl-linker which does not accept them, causing a link
failure. The flags are now restricted to non-SYCL SPIR-V offload kinds.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+8-0clang/test/Driver/sycl-offload-jit-unix.cpp
+7-0clang/test/Driver/sycl-offload-jit.cpp
+5-0clang/test/Driver/sycl-windows.cpp
+3-2clang/lib/Driver/ToolChains/Clang.cpp
+2-1clang/lib/Driver/ToolChains/Linux.cpp
+25-35 files

LLVM/project afe6165clang/docs ReleaseNotes.rst, clang/lib/Sema SemaChecking.cpp

[Clang][Sema] Fix crash when calling EvaluateForOverflow for UnaryOpe… (#200317)

…rator that can not overflow

A while ago I added checking for overflow in unary operators during
constant evaluation:

https://reviews.llvm.org/D142867

This created some new bug opportunities. I am now checking if the
UnaryOperator can overflow before calling EvaluateForOverflow in
Sema::CheckForIntOverflow.

Fixes: https://github.com/llvm/llvm-project/issues/170072
DeltaFile
+8-0clang/test/Sema/gh170072.c
+2-1clang/lib/Sema/SemaChecking.cpp
+1-0clang/docs/ReleaseNotes.rst
+11-13 files

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

[flang][FIRToMemRef] Non-box complex slices use shapeVec strides, not `fir.box_dims` (#200285)

FIRToMemRef now lowers `fir.array_coor` on projected complex %re / %im
when the base is a contiguous `!fir.ref` with `fir.shape` (e.g. a static
component array in a derived type), without calling `fir.box_dims` on
the ref and with strides that match the memref<…×2×T> view.

Previously, any projected slice is lowered through the descriptor path
and produced invalid `fir.box_dims` on a ref. Fixed to take descriptor
strides only when the coor base is actually a box. For ref + shape, it
keeps the synthesized row-major layout and scales array strides by two
scalar slots per complex, with a re/im dimension (extent 2, stride 1).
DeltaFile
+46-0flang/test/Transforms/FIRToMemRef/slice-projected.mlir
+26-7flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
+72-72 files

LLVM/project 6f5c584llvm/lib/Target/AMDGPU AMDGPUInstructionSelector.h, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-merge-values-build-vector-s16.mir true16-merge-values-s16.ll

PR feedback
DeltaFile
+0-149llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values-build-vector-s16.mir
+61-0llvm/test/CodeGen/AMDGPU/GlobalISel/true16-merge-values-s16.ll
+14-16llvm/test/CodeGen/AMDGPU/GlobalISel/select-merge-values-build-vector-s16.mir
+1-2llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
+76-1674 files

LLVM/project 409361cllvm/lib/Transforms/Scalar LoopBoundSplit.cpp

Revert "[LoopBoundSplit] Fix edge connections during transformation (#192106)"

This reverts commit fa44ca8e5ef6f57c03ba55a4c7b944c9a3ee633e.
DeltaFile
+11-25llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
+11-251 files

LLVM/project 33cd157clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

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

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,139-433openmp/runtime/src/kmp_tasking.cpp
+865-222clang/lib/CodeGen/CGOpenMPRuntime.cpp
+199-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+199-3clang/include/clang/AST/OpenMPClause.h
+5,535-952120 files not shown
+11,144-1,436126 files

LLVM/project 6b8386cclang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,139-433openmp/runtime/src/kmp_tasking.cpp
+865-222clang/lib/CodeGen/CGOpenMPRuntime.cpp
+199-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+199-3clang/include/clang/AST/OpenMPClause.h
+5,535-952122 files not shown
+11,253-1,436128 files

LLVM/project ff9aba2clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,139-433openmp/runtime/src/kmp_tasking.cpp
+865-222clang/lib/CodeGen/CGOpenMPRuntime.cpp
+199-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+199-3clang/include/clang/AST/OpenMPClause.h
+5,535-952120 files not shown
+11,144-1,436126 files

LLVM/project 34edf39clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

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

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,094-431openmp/runtime/src/kmp_tasking.cpp
+755-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+198-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+199-3clang/include/clang/AST/OpenMPClause.h
+5,379-945116 files not shown
+10,510-1,429122 files

LLVM/project 58b51f9clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,094-431openmp/runtime/src/kmp_tasking.cpp
+755-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+198-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+199-3clang/include/clang/AST/OpenMPClause.h
+5,379-945116 files not shown
+10,510-1,429122 files

LLVM/project 81ef055clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

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

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,094-431openmp/runtime/src/kmp_tasking.cpp
+755-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+198-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+199-3clang/include/clang/AST/OpenMPClause.h
+5,379-945115 files not shown
+10,340-1,429121 files

LLVM/project 6270ec7clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,094-431openmp/runtime/src/kmp_tasking.cpp
+755-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+198-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+199-3clang/include/clang/AST/OpenMPClause.h
+5,379-945115 files not shown
+10,340-1,429121 files

LLVM/project 32d745eclang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

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

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,094-431openmp/runtime/src/kmp_tasking.cpp
+755-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+198-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+164-0clang/include/clang/AST/OpenMPClause.h
+5,344-942112 files not shown
+10,168-1,402118 files

LLVM/project 24b11c6clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,094-431openmp/runtime/src/kmp_tasking.cpp
+755-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+198-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+164-0clang/include/clang/AST/OpenMPClause.h
+5,344-942112 files not shown
+10,168-1,402118 files

LLVM/project b33b585clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

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

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,091-431openmp/runtime/src/kmp_tasking.cpp
+751-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+199-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+164-0clang/include/clang/AST/OpenMPClause.h
+5,338-942102 files not shown
+9,510-1,402108 files

LLVM/project 885bbbbclang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,091-431openmp/runtime/src/kmp_tasking.cpp
+751-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+199-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+164-0clang/include/clang/AST/OpenMPClause.h
+5,338-942102 files not shown
+9,510-1,402108 files

LLVM/project 06fdc44clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

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

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,070-431openmp/runtime/src/kmp_tasking.cpp
+582-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+196-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+164-0clang/include/clang/AST/OpenMPClause.h
+5,145-94289 files not shown
+8,494-1,40295 files

LLVM/project e6491d5clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,070-431openmp/runtime/src/kmp_tasking.cpp
+582-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+196-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+164-0clang/include/clang/AST/OpenMPClause.h
+5,145-94289 files not shown
+8,494-1,40295 files

LLVM/project 1b08d6eclang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

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

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,070-431openmp/runtime/src/kmp_tasking.cpp
+582-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+196-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+164-0clang/include/clang/AST/OpenMPClause.h
+5,145-94289 files not shown
+8,494-1,40295 files

LLVM/project 6e062f6clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,070-431openmp/runtime/src/kmp_tasking.cpp
+582-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+196-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+164-0clang/include/clang/AST/OpenMPClause.h
+5,145-94289 files not shown
+8,494-1,40295 files

LLVM/project db3c6c3clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

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

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,900-220openmp/runtime/src/kmp_taskdeps.cpp
+1,068-431openmp/runtime/src/kmp_tasking.cpp
+582-217clang/lib/CodeGen/CGOpenMPRuntime.cpp
+201-74openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+164-0clang/include/clang/AST/OpenMPClause.h
+5,148-94289 files not shown
+8,497-1,40295 files

LLVM/project e62afcfclang/lib/CodeGen CGOpenMPRuntime.cpp CGStmtOpenMP.cpp, openmp/runtime/src kmp_settings.cpp

rebase

Created using spr 1.3.5
DeltaFile
+147-0openmp/runtime/test/taskgraph/taskgraph_replayable_nonlexical_recursive_reduction.cpp
+107-0openmp/runtime/test/taskgraph/taskgraph_replayable_nonlexical_reduction_minimal_taskloop.cpp
+12-5clang/lib/CodeGen/CGOpenMPRuntime.cpp
+8-0clang/lib/CodeGen/CGStmtOpenMP.cpp
+6-0openmp/runtime/src/kmp_settings.cpp
+280-55 files

LLVM/project 367e7f6clang/lib/CodeGen CGOpenMPRuntime.cpp CGStmtOpenMP.cpp, openmp/runtime/src kmp_settings.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5

[skip ci]
DeltaFile
+147-0openmp/runtime/test/taskgraph/taskgraph_replayable_nonlexical_recursive_reduction.cpp
+107-0openmp/runtime/test/taskgraph/taskgraph_replayable_nonlexical_reduction_minimal_taskloop.cpp
+12-5clang/lib/CodeGen/CGOpenMPRuntime.cpp
+8-0clang/lib/CodeGen/CGStmtOpenMP.cpp
+6-0openmp/runtime/src/kmp_settings.cpp
+280-55 files

LLVM/project 2cb5a37clang/lib/CodeGen CGOpenMPRuntime.cpp CGStmtOpenMP.cpp, openmp/runtime/src kmp_settings.cpp

rebase

Created using spr 1.3.5
DeltaFile
+147-0openmp/runtime/test/taskgraph/taskgraph_replayable_nonlexical_recursive_reduction.cpp
+107-0openmp/runtime/test/taskgraph/taskgraph_replayable_nonlexical_reduction_minimal_taskloop.cpp
+12-5clang/lib/CodeGen/CGOpenMPRuntime.cpp
+8-0clang/lib/CodeGen/CGStmtOpenMP.cpp
+6-0openmp/runtime/src/kmp_settings.cpp
+280-55 files

LLVM/project bfaf4e6clang/lib/CodeGen CGOpenMPRuntime.cpp CGStmtOpenMP.cpp, openmp/runtime/src kmp_settings.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5

[skip ci]
DeltaFile
+147-0openmp/runtime/test/taskgraph/taskgraph_replayable_nonlexical_recursive_reduction.cpp
+107-0openmp/runtime/test/taskgraph/taskgraph_replayable_nonlexical_reduction_minimal_taskloop.cpp
+12-5clang/lib/CodeGen/CGOpenMPRuntime.cpp
+8-0clang/lib/CodeGen/CGStmtOpenMP.cpp
+6-0openmp/runtime/src/kmp_settings.cpp
+280-55 files