LLVM/project 7901e2d.github/workflows release-tasks.yml

workflows/release-tasks: Add missing needs tag to release-lit job (#178224)

The job references variables from the validate-tag job, so it needs to
have it listed in the 'needs' tag. This is why this job failed for the
22.1.0-rc2 release.
DeltaFile
+2-0.github/workflows/release-tasks.yml
+2-01 files

LLVM/project f86fab6clang/lib/CodeGen CGStmt.cpp CoverageMappingGen.cpp, clang/test/CoverageMapping single-byte-counters.cpp

[Coverage][Single] Enable Branch coverage for IfStmt (#113111)

Depends on: #112730 #113114


https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492
DeltaFile
+32-36llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
+31-31llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
+23-23clang/test/CoverageMapping/single-byte-counters.cpp
+14-22clang/lib/CodeGen/CGStmt.cpp
+12-12llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
+5-16clang/lib/CodeGen/CoverageMappingGen.cpp
+117-14010 files not shown
+154-19516 files

LLVM/project 7dfa132lld/ELF/Arch RISCV.cpp, lld/test/ELF riscv-vendor-relocations.s

[ELF,RISCV] Fix code style after #169273 (#178365)

DeltaFile
+2-5lld/ELF/Arch/RISCV.cpp
+1-1lld/test/ELF/riscv-vendor-relocations.s
+3-62 files

LLVM/project b7c1a6fllvm/lib/CodeGen SafeStack.cpp, llvm/lib/CodeGen/GlobalISel IRTranslator.cpp

[CodeGen] Only use actual alloca alignment (#178361)

Remove getPrefTypeAlign calls and use only the alloca's explicit
alignment, since the type may not be semantically useful, there is no
useful reason to change alignment to support it.

The alloca's explicit alignment (from getAlign()) is already optimally
correct; we don't need to derive alignment from the allocated type.

Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
DeltaFile
+4-11llvm/lib/CodeGen/SafeStack.cpp
+1-2llvm/test/Transforms/SafeStack/X86/debug-loc.ll
+1-1llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+1-1llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+7-154 files

LLVM/project 218d0c2llvm/lib/CodeGen/GlobalISel IRTranslator.cpp, llvm/lib/CodeGen/SelectionDAG FunctionLoweringInfo.cpp

[NFC][CodeGen] Use getAllocationSize instead of manual size computation (#178360)

Replace manual alloca size computation with `getAllocationSize` API.
This reduces dependency on `getAllocatedType` when just needed for size
and vscale queries.

Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
DeltaFile
+4-4llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
+1-2llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+5-62 files

LLVM/project bacba06llvm/lib/Analysis Lint.cpp

[Lint] Replace getAllocatedType with getAllocationSize (#178353)

This now also handles constant array allocations (getAllocationSize
returns total size for constant array allocations, whereas the old code
explicitly excluded isArrayAllocation from linting support).

Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
DeltaFile
+3-3llvm/lib/Analysis/Lint.cpp
+3-31 files

LLVM/project 46606bbutils/bazel/llvm-project-overlay/mlir BUILD.bazel

[bazel] Fix formatting for #178527 (#178582)

Fixes 5b9751b99b6bf37eb8d2d7d0e5085a4b560544b6.
DeltaFile
+2-2utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+2-21 files

LLVM/project eef6b62llvm/lib/Analysis MemoryBuiltins.cpp, llvm/lib/IR IRBuilder.cpp

[NFCI][IRBuilder] Add CreateAllocationSize helper (#178346)

Create a new `IRBuilderBase::CreateAllocationSize` method to compute the
runtime size of an alloca as a Value*. This handles both static and
dynamic allocas by computing `ArraySize * ElementSize`, and using
CreateTypeSize to properly handle scalable vectors.

This de-duplicates code across multiple instrumentation and analysis
passes and increases consistency.

Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
DeltaFile
+10-10llvm/test/Instrumentation/BoundsChecking/runtimes.ll
+7-8llvm/test/Instrumentation/BoundsChecking/simple.ll
+2-9llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
+3-7llvm/lib/Analysis/MemoryBuiltins.cpp
+9-0llvm/lib/IR/IRBuilder.cpp
+1-6llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+32-405 files not shown
+42-5511 files

FreeBSD/ports c67fce6editors/featherpad distinfo Makefile

editors/featherpad: Update to 1.6.3

ChangeLog at:  https://github.com/tsujan/FeatherPad/releases/tag/V1.6.3
With hat:       lxqt
DeltaFile
+3-3editors/featherpad/distinfo
+1-1editors/featherpad/Makefile
+4-42 files

FreeBSD/ports 8513735x11-wm/lxqt-wayland-session distinfo pkg-plist

x11-wm/lxqt-wayland-session: Update to 0.3.1

ChangeLog at:   https://lxqt-project.org/release/2025/12/21/point-releases-lxqt-panel-and-lxqt-wayland-session/
With hat:       lxqt
DeltaFile
+3-3x11-wm/lxqt-wayland-session/distinfo
+6-0x11-wm/lxqt-wayland-session/pkg-plist
+1-2x11-wm/lxqt-wayland-session/Makefile
+10-53 files

FreeBSD/ports 9d88e10x11-wm/lxqt-panel distinfo Makefile

x11-wm/lxqt-panel: Update to 2.3.2

ChangeLog at:   https://lxqt-project.org/release/2025/12/21/point-releases-lxqt-panel-and-lxqt-wayland-session/
With hat:       lxqt
DeltaFile
+3-3x11-wm/lxqt-panel/distinfo
+1-1x11-wm/lxqt-panel/Makefile
+4-42 files

LLVM/project 03406e9clang/docs ReleaseNotes.rst, clang/lib/CodeGen CoverageMappingGen.cpp

Merge branch 'users/chapuni/cov/single/trunk' into users/chapuni/cov/single/binop

Conflicts:
        llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
DeltaFile
+0-10clang/lib/CodeGen/CoverageMappingGen.cpp
+3-0clang/docs/ReleaseNotes.rst
+3-102 files

LLVM/project ea0f657llvm/test/Transforms/InstCombine select_frexp.ll

Add prof data for all test cases
DeltaFile
+25-27llvm/test/Transforms/InstCombine/select_frexp.ll
+25-271 files

LLVM/project 3905784llvm/test/Transforms/InstCombine select_frexp.ll

Add prof data for all test cases
DeltaFile
+32-30llvm/test/Transforms/InstCombine/select_frexp.ll
+32-301 files

LLVM/project 1ed22f8llvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine select_frexp.ll

[InstCombine][profcheck] Preserve !prof data when creating select.
DeltaFile
+10-4llvm/test/Transforms/InstCombine/select_frexp.ll
+2-1llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+12-52 files

LLVM/project 67c7b3dllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll

Merge branch 'users/chapuni/cov/single/if' into users/chapuni/cov/single/binop

Conflicts:
        llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
DeltaFile
+74,257-82,975llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+26,135-30,267llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+9,044-11,203llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
+5,872-6,681llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
+2,674-3,346llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
+1,521-1,873llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
+119,503-136,345545 files not shown
+141,934-145,773551 files

LLVM/project 3404537libc/shared/math sqrt.h, libc/src/__support/math sqrt.h CMakeLists.txt

[libc][math] Refactor sqrt to header-only (#178335)

This refactors `sqrt` to be header-only, following the libc math
refactoring plan.

Part of #147386  
Closes #177648
DeltaFile
+24-0libc/src/__support/math/sqrt.h
+23-0libc/shared/math/sqrt.h
+9-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+8-0libc/src/__support/math/CMakeLists.txt
+2-4libc/src/math/generic/sqrt.cpp
+1-1libc/src/math/generic/CMakeLists.txt
+67-63 files not shown
+70-69 files

LLVM/project d978663clang/lib/CodeGen CGStmt.cpp

Merge branch 'users/chapuni/cov/single/binop-base' into users/chapuni/cov/single/if

Conflicts:
        llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
        llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
        llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.yaml
DeltaFile
+0-4clang/lib/CodeGen/CGStmt.cpp
+0-41 files

LLVM/project e448fb2llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll

Merge branch 'users/chapuni/cov/single/switch' into users/chapuni/cov/single/if

Conflicts:
        clang/test/CoverageMapping/single-byte-counters.cpp
        llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
        llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
        llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
        llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.proftext
        llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.yaml
DeltaFile
+74,257-82,975llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+26,135-30,267llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+9,044-11,203llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
+5,872-6,681llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
+2,674-3,346llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
+1,521-1,873llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
+119,503-136,345547 files not shown
+142,051-146,090553 files

OpenBSD/ports FmsrQjRdevel/alex distinfo Makefile

   devel/alex: update to 3.5.4.0

   OK kili@
VersionDeltaFile
1.19+2-2devel/alex/distinfo
1.46+1-2devel/alex/Makefile
+3-42 files

LLVM/project e481f65lldb/include/lldb/Interpreter/Interfaces ScriptedFrameInterface.h, lldb/source/Plugins/Process/scripted ScriptedFrame.cpp ScriptedFrame.h

[lldb] Add support for ScriptedFrame to provide values/variables.

This patch adds plumbing to support the implementations of StackFrame::Get{*}Variable{*} on ScriptedFrame. The major pieces required are:
- A modification to ScriptedFrameInterface, so that we can actually call the python methods.
- A corresponding update to the python implementation to call the python methods.
- An implementation in ScriptedFrame that can get the variable list on construction inside ScriptedFrame::Create, and pass that list into the ScriptedFrame so it can get those values on request.

There is a major caveat, which is that if the values from the python side don't have variables attached, right now, they won't be passed into the scripted frame to be stored in the variable list. Future discussions around adding support for 'extended variables' when printing frame variables may create a reason to change the VariableListSP into a ValueObjectListSP, and generate the VariableListSP on the fly, but that should be addressed at a later time.

This patch also adds tests to the frame provider test suite to prove these changes all plumb together correctly.

stack-info: PR: https://github.com/llvm/llvm-project/pull/178575, branch: users/bzcheeseman/stack/6
DeltaFile
+82-0lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py
+72-5lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
+53-0lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
+27-0lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
+20-1lldb/source/Plugins/Process/scripted/ScriptedFrame.h
+11-0lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameInterface.h
+265-62 files not shown
+275-68 files

LLVM/project be1b9d1lldb/bindings/python python-wrapper.swig, lldb/include/lldb/Interpreter ScriptInterpreter.h

[lldb] Add conversions for SBValueList and SBValue to the python bridge.

This patch adds support for:
- PyObject -> SBValueList (which was surprisingly not there before!)
- PyObject -> SBValue
- SBValue -> ValueObjectSP using the ScriptInterpreter

These three are the main remaining plumbing changes necessary before we can get to the meat of actually using ScriptedFrame to provide values to the printer/etc. Future patches build off this change in order to allow ScriptedFrames to provide variables and get values for variable expressions.

stack-info: PR: https://github.com/llvm/llvm-project/pull/178574, branch: users/bzcheeseman/stack/5
DeltaFile
+38-0lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
+14-0lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
+12-0lldb/bindings/python/python-wrapper.swig
+10-0lldb/source/Interpreter/ScriptInterpreter.cpp
+3-0lldb/include/lldb/Interpreter/ScriptInterpreter.h
+1-0lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
+78-06 files

LLVM/project 880679flldb/include/lldb/API SBValue.h, lldb/include/lldb/ValueObject ValueObject.h

[lldb] Move ValueImpl and ValueLocker to ValueObject, NFC.

This patch moves ValueImpl and ValueLocker to ValueObject.{h,cpp}. This follows the example set in TypeImpl/SBType, where we have something that SBType uses internally that needs to be exposed in the layer below. In this case, SBValue uses ValueImpl, which wraps ValueObject. The wrapper helps avoid bugs, so we want to keep it, but the script interpreter needs to use it and said interpreter is conceptually *below* the SB layer...which means we can't use methods on SBValue.

This patch is purely the code motion part of that, future patches will actually make use of this moved code.

stack-info: PR: https://github.com/llvm/llvm-project/pull/178573, branch: users/bzcheeseman/stack/4
DeltaFile
+0-166lldb/source/API/SBValue.cpp
+92-0lldb/source/ValueObject/ValueObject.cpp
+90-0lldb/include/lldb/ValueObject/ValueObject.h
+6-4lldb/include/lldb/API/SBValue.h
+188-1704 files

OpenBSD/ports zIhn81fdevel/cpphs distinfo Makefile

   devel/cpphs: update to 1.20.10

   OK kili@
VersionDeltaFile
1.15+4-8devel/cpphs/distinfo
1.56+1-3devel/cpphs/Makefile
1.2+2-1devel/cpphs/cabal.inc
+7-123 files

OpenBSD/ports ITNbDD1devel/happy distinfo cabal.inc

   devel/happy: update to 2.2

   OK kili@
VersionDeltaFile
1.19+4-4devel/happy/distinfo
1.2+2-1devel/happy/cabal.inc
1.44+1-1devel/happy/Makefile
+7-63 files

OpenBSD/ports Q4b3lx7productivity/hledger distinfo cabal.inc

   productivity/hledger: update to 1.51.2

   OK kili@
VersionDeltaFile
1.15+122-114productivity/hledger/distinfo
1.2+52-47productivity/hledger/cabal.inc
1.19+2-1productivity/hledger/Makefile
+176-1623 files

LLVM/project 428a900llvm/test/Transforms/InstCombine select_frexp.ll

Add prof data for all test cases
DeltaFile
+32-30llvm/test/Transforms/InstCombine/select_frexp.ll
+32-301 files

LLVM/project 5a00664lldb/include/lldb/Interpreter/Interfaces ScriptedFrameInterface.h, lldb/source/Plugins/Process/scripted ScriptedFrame.cpp ScriptedFrame.h

[lldb] Add support for ScriptedFrame to provide values/variables.

This patch adds plumbing to support the implementations of StackFrame::Get{*}Variable{*} on ScriptedFrame. The major pieces required are:
- A modification to ScriptedFrameInterface, so that we can actually call the python methods.
- A corresponding update to the python implementation to call the python methods.
- An implementation in ScriptedFrame that can get the variable list on construction inside ScriptedFrame::Create, and pass that list into the ScriptedFrame so it can get those values on request.

There is a major caveat, which is that if the values from the python side don't have variables attached, right now, they won't be passed into the scripted frame to be stored in the variable list. Future discussions around adding support for 'extended variables' when printing frame variables may create a reason to change the VariableListSP into a ValueObjectListSP, and generate the VariableListSP on the fly, but that should be addressed at a later time.

This patch also adds tests to the frame provider test suite to prove these changes all plumb together correctly.

stack-info: PR: https://github.com/llvm/llvm-project/pull/178571, branch: users/bzcheeseman/stack/3
DeltaFile
+82-0lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py
+72-5lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
+53-0lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
+27-0lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
+20-1lldb/source/Plugins/Process/scripted/ScriptedFrame.h
+11-0lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameInterface.h
+265-62 files not shown
+275-68 files

LLVM/project a3f3a54lldb/bindings/python python-wrapper.swig, lldb/include/lldb/Interpreter ScriptInterpreter.h

[lldb] Add conversions for SBValueList and SBValue to the python bridge.

This patch adds support for:
- PyObject -> SBValueList (which was surprisingly not there before!)
- PyObject -> SBValue
- SBValue -> ValueObjectSP using the ScriptInterpreter

These three are the main remaining plumbing changes necessary before we can get to the meat of actually using ScriptedFrame to provide values to the printer/etc. Future patches build off this change in order to allow ScriptedFrames to provide variables and get values for variable expressions.

stack-info: PR: https://github.com/llvm/llvm-project/pull/178570, branch: users/bzcheeseman/stack/2
DeltaFile
+38-0lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
+14-0lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
+12-0lldb/bindings/python/python-wrapper.swig
+10-0lldb/source/Interpreter/ScriptInterpreter.cpp
+3-0lldb/include/lldb/Interpreter/ScriptInterpreter.h
+1-0lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
+78-06 files

LLVM/project e065648lldb/include/lldb/API SBValue.h, lldb/include/lldb/ValueObject ValueObject.h

[lldb] Move ValueImpl and ValueLocker to ValueObject, NFC.

This patch moves ValueImpl and ValueLocker to ValueObject.{h,cpp}. This follows the example set in TypeImpl/SBType, where we have something that SBType uses internally that needs to be exposed in the layer below. In this case, SBValue uses ValueImpl, which wraps ValueObject. The wrapper helps avoid bugs, so we want to keep it, but the script interpreter needs to use it and said interpreter is conceptually *below* the SB layer...which means we can't use methods on SBValue.

This patch is purely the code motion part of that, future patches will actually make use of this moved code.

stack-info: PR: https://github.com/llvm/llvm-project/pull/178569, branch: users/bzcheeseman/stack/1
DeltaFile
+0-166lldb/source/API/SBValue.cpp
+92-0lldb/source/ValueObject/ValueObject.cpp
+90-0lldb/include/lldb/ValueObject/ValueObject.h
+6-4lldb/include/lldb/API/SBValue.h
+188-1704 files