LLVM/project e65a864 — lldb/source/Core FormatEntity.cpp, lldb/test/API/functionalities/return-value-synthetic Makefile synthetic.py

Revert "[lldb] Show synthetic children in the return value of the thr… (#241947)

…ead desc…"

This reverts commit fd5f0a88dad6b034763b75bdc9e0021afc6634ab.

The test is failing on aarch64 ubuntu.
DeltaFile
+0-26lldb/test/API/functionalities/return-value-synthetic/TestReturnValueSynthetic.py
+0-14lldb/test/API/functionalities/return-value-synthetic/main.c
+0-9lldb/test/API/functionalities/return-value-synthetic/synthetic.py
+1-7lldb/source/Core/FormatEntity.cpp
+0-3lldb/test/API/functionalities/return-value-synthetic/Makefile
+1-595 files

LLVM/project 2fab133 — lld/MachO Options.td Driver.cpp, lld/docs ReleaseNotes.md

[lld][MachO] -objc_category_merging implies --check-category-conflicts
DeltaFile
+6-3lld/MachO/Driver.cpp
+8-0lld/test/MachO/objc-category-conflicts.s
+3-3lld/MachO/Options.td
+2-0lld/docs/ReleaseNotes.md
+19-64 files

LLVM/project d42fb58 — llvm/lib/Target/Sparc SparcInstrInfo.td SparcISelLowering.cpp, llvm/test/CodeGen/SPARC readcycle.ll

[SPARC] Read full LEON cycle counter (#240367)

Read the two cycle counter registers using a rollover-safe retry loop,
in a similar way to how it is done in RISC-V for cycleh/cycle on RV32.

The counter runs at a fixed CPU clock so llvm.readsteadycounter can use
the same counter.

Assisted-by: Claude
DeltaFile
+48-9llvm/lib/Target/Sparc/SparcISelLowering.cpp
+33-4llvm/test/CodeGen/SPARC/readcycle.ll
+10-0llvm/lib/Target/Sparc/SparcInstrInfo.td
+91-133 files

LLVM/project 27a633b — libc/src/__support/fixed_point fx_bits.h, libc/test/src/stdfix FxDiviTest.h

[libc][stdfix] Fix lrdivi saturation for huge quotients (#241213)

Issue #241209

`fixed_point::fxdivi` only did its early saturation check when
`OutRep::INTEGRAL_LEN > 0`. `long fract` has no integral bits, so it
went to
the `WF <= F` branch, where the 128-bit quotient is cast to the 64-bit
`WideStorage` before it is compared with MAX/MIN. For a huge quotient
the sign
of the saturated result then depended on the truncated bits, e.g.
`lrdivi(1L << 62, 3)` returned MIN instead of MAX.

Do the early saturation check for all output types `MAX_UNITS` is 1 for
types
without integral bits.

Add checks to `FxDiviTest.h` for 64-bit operands a huge numerator must
saturate according to the sign of the quotient.
AI usage for formatting the PR description.
DeltaFile
+12-0libc/test/src/stdfix/FxDiviTest.h
+4-7libc/src/__support/fixed_point/fx_bits.h
+16-72 files

LLVM/project 297f8b7 — llvm/test/tools/llubi metadata_phi.ll metadata_phi_ub.ll, llvm/tools/llubi/lib Interpreter.cpp

[llubi] Support metadata on phi nodes (#241949)

This is to support deb738d in llubi.

Assisted-By: LLM
DeltaFile
+50-0llvm/test/tools/llubi/metadata_phi_ub.ll
+37-0llvm/test/tools/llubi/metadata_phi.ll
+4-0llvm/tools/llubi/lib/Interpreter.cpp
+91-03 files

LLVM/project e526689 — llvm/lib/Transforms/Scalar ConstraintElimination.cpp, llvm/test/Transforms/ConstraintElimination minmax.ll

[ConstraintElim] Split signed min/max across their operands when checking a compare

The existing constraint systems only record the bounds that hold for both
operands of a min/max (smax(a, b) >= a and >= b, smin(a, b) <= a and <= b). The
other direction is a disjunction, which cannot be recorded as a fact. When a
compare of signed decompositions involves a min/max result, split it into its
operands: the decomposition is monotonic in that result, so it is the max or min
of its values on each side, and the relation holds for all or for either side
respectively.

https://alive2.llvm.org/ce/z/zsGkJ-
DeltaFile
+366-3llvm/test/Transforms/ConstraintElimination/minmax.ll
+155-0llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+521-32 files

LLVM/project ee50fc5 — llvm/test/MC/ELF dwarf5-duplicate-file-directive.s

[NVPTX][tests] Fix llvm/test/MC/ELF/dwarf5-duplicate-file-directive.s (#241775)

NVPTX does not support generating binary files, so require
object-emission in the test.
DeltaFile
+1-0llvm/test/MC/ELF/dwarf5-duplicate-file-directive.s
+1-01 files

LLVM/project 5c3918c — clang/lib/Headers riscv_packed_simd.h, clang/test/CodeGen/RISCV rvp-intrinsics.c

[RISCV][P-ext] Add Scalar Zip/UnZip Intrinsics (#241430)

This patch adds scalar zip/unzip intrinsics for P-ext. Also, it supports
missing codegen for zip*hp.
DeltaFile
+104-0clang/test/CodeGen/RISCV/rvp-intrinsics.c
+55-0clang/lib/Headers/riscv_packed_simd.h
+48-0cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+42-0llvm/test/CodeGen/RISCV/rvp-zip.ll
+8-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+3-0llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+260-06 files

LLVM/project 6b90c7e — clang/test/CodeGenHLSL/builtins f16tof32.hlsl f16tof32-builtin.hlsl, clang/test/SemaHLSL TruncationOverloadResolution.hlsl

[HLSL][NFC] Fix fragile tests (#241625)

- Remove unstable attribute-group number
- Add anchor for function declaration to scope the checks to the
intended function.
DeltaFile
+1-1clang/test/CodeGenHLSL/builtins/f16tof32.hlsl
+1-1clang/test/CodeGenHLSL/builtins/f16tof32-builtin.hlsl
+2-0clang/test/SemaHLSL/TruncationOverloadResolution.hlsl
+4-23 files

LLVM/project 65754eb — lldb/test/API/commands/expression/diagnostics TestExprDiagnostics.py

[lldb][test] Run TestExprDiagnostics with PDB debug info (#240854)

`test_command_expr_sbdata` checks the note `"Ran expression as
'C++...'"`. With DWARF, it names the standard of the CU ("C++17").
CodeView's `S_COMPILE3` only records that the language is C++, so with
PDB the expression is displayed as `"ISO C++"`.

This patch expects that with PDB.

rdar://192360644
DeltaFile
+9-3lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
+9-31 files

LLVM/project 2c7c89d — clang/test CMakeLists.txt, clang/test/Unit/CIR lit.cfg.py lit.site.cfg.py.in

[CIR] Add CIR unit tests to check-clang-cir (#238102)

This change updates the CMake handling of the check-clang-cir and adds
lit config files to include CIR unit tests with the check-clang-cir
build target. This will ensure that these tests are run as part of the
mlir CI testing, which uses on check-clang-cir and not the full
check-clang target.

Assisted-by: Cursor / Grok 4.7
DeltaFile
+26-7clang/test/CMakeLists.txt
+18-0clang/test/Unit/CIR/lit.site.cfg.py.in
+12-0clang/test/Unit/CIR/lit.cfg.py
+56-73 files

LLVM/project f42f116 — lldb/source/Plugins/Process/elf-core ProcessElfCore.h ProcessElfCore.cpp

[lldb][ELF core] Store NT_FILE file offsets in bytes (#241003)

Linux `NT_FILE` notes encode each file offset as a page offset and
provide the page size separately. `ProcessElfCore` currently stores that
raw page offset in `NT_FILE_Entry::file_ofs`, even though the entry's
address ranges use bytes.

No existing consumer depends on `file_ofs` remaining in page units.
Convert it to bytes while parsing the note and document the field's unit
explicitly. This keeps the entry's offsets and addresses in consistent
units and makes it safe to use `file_ofs` directly in address
calculations.
DeltaFile
+3-2lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
+3-1lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
+6-32 files

LLVM/project 34f2fb6 — clang/test/Driver hexagon-hmx.c, llvm/lib/Target/Hexagon HexagonDepInstrInfo.td HexagonDepIICScalar.td

Hexagon hmx (#240595)

Add driver options and assembler-level support for Hexagon Matrix
eXtensions (HMX), implemented in Hexagon v68 and v73. HMX is an
accelerator for matmul and convolution machine learning workloads.

There are several classes of instructions:

- matrix multiply: activation and weight; these two instructions must be
  paired in one packet,
- bias load and store,
- convert transfer,
- write convert state,
- accumulator clear.

Only IEEE fp16 (hf) ISA variant is supported at this time.

The new target feature "hmx" is added to enable the HMX extensions.
In addition, new command line options are added: "-mhmx" in llvm-mc and

    [8 lines not shown]
DeltaFile
+296-0llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
+111-0llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
+68-0llvm/test/MC/Hexagon/HexagonTestWriter/v73_hmx.s
+58-0llvm/test/MC/Hexagon/HexagonTestWriter/v68_hmx.s
+34-0clang/test/Driver/hexagon-hmx.c
+33-0llvm/test/MC/Hexagon/PacketRules/hmx_weight_act.s
+600-012 files not shown
+705-118 files

LLVM/project 8edf2ad — lld/test/ELF loongarch-relax-pcrel-stress.s loongarch-relax-call-stress.s

[ELF,test] Reduce the output size of some range extension tests (#241981)

For hexagon/loongarch/ppc64 tests, replace large .space fillers with
output section address (linker script), ensuring no test coverage loss
with mutation testing. Related to #202261
DeltaFile
+40-67lld/test/ELF/hexagon-thunks-packets.s
+56-50lld/test/ELF/hexagon-thunk-range-b22rel.s
+27-36lld/test/ELF/hexagon-thunk-range-plt.s
+23-18lld/test/ELF/hexagon-thunk-range-gdplt.s
+11-6lld/test/ELF/loongarch-relax-pcrel-stress.s
+11-6lld/test/ELF/loongarch-relax-call-stress.s
+168-1833 files not shown
+184-1999 files

LLVM/project acd1c6c — clang/lib/Sema SemaHLSL.cpp, clang/test/CodeGenHLSL/resources resources-in-structs-this-access.hlsl

[HLSL] Handle `this` in dynamic resource indexing validation (#239876)

Fixes an `llvm_unreachable` assert in dynamic resource index validation
when a resource member is accessed in a member function using `this`.

Fixes #239858
DeltaFile
+30-0clang/test/CodeGenHLSL/resources/resources-in-structs-this-access.hlsl
+2-0clang/lib/Sema/SemaHLSL.cpp
+32-02 files

LLVM/project 7703770 — libc/config/linux/arm entrypoints.txt, libc/include CMakeLists.txt malloc.yaml

[libc] Add mallinfo2() as external entrypoint. (#241662)

`mallinfo2` is the newer interface (available since glibc 2.33) that
replaces
legacy/deprecated `mallinfo`, and uses `struct mallinfo2` with properly
sized struct fields.

Scudo allocator implements this interface, and some of the code on Linux
tests for / uses this functionality from `<malloc.h>` header, so let us
define
it as an external entrypoint in LLVM-libc as well. One of such users
is LLVM itself, in `Process::GetMallocUsage()`.

Assisted-by: automated tooling, human-reviewed.
DeltaFile
+32-0libc/include/llvm-libc-types/struct_mallinfo2.h
+10-0libc/include/malloc.yaml
+8-0libc/src/stdlib/CMakeLists.txt
+2-1libc/config/linux/arm/entrypoints.txt
+2-0libc/include/CMakeLists.txt
+1-0libc/include/llvm-libc-types/CMakeLists.txt
+55-13 files not shown
+58-19 files

LLVM/project dcc766a — libc/cmake/caches baremetal_common.cmake

[libc] Enable -Werror in baremetal_common.cmake cache file

After recent fixes, all the warnings are gone in baremetal builds.

Enable -Werror again so that we can catch warnings as they come.
DeltaFile
+1-2libc/cmake/caches/baremetal_common.cmake
+1-21 files

LLVM/project e5f68de — libc/test/src/math/smoke expf16_test.cpp exp2f16_test.cpp

[libc] Fix -Wunused-variable warnings

These variables may end up unused depending on the rounding mode in
place.
DeltaFile
+1-1libc/test/src/math/smoke/expf16_test.cpp
+1-1libc/test/src/math/smoke/exp2f16_test.cpp
+2-22 files

LLVM/project ef6e898 — lldb/source/Core FormatEntity.cpp, lldb/test/API/functionalities/return-value-synthetic Makefile synthetic.py

Revert "[lldb] Show synthetic children in the return value of the thread desc…"

This reverts commit fd5f0a88dad6b034763b75bdc9e0021afc6634ab.
DeltaFile
+0-26lldb/test/API/functionalities/return-value-synthetic/TestReturnValueSynthetic.py
+0-14lldb/test/API/functionalities/return-value-synthetic/main.c
+0-9lldb/test/API/functionalities/return-value-synthetic/synthetic.py
+1-7lldb/source/Core/FormatEntity.cpp
+0-3lldb/test/API/functionalities/return-value-synthetic/Makefile
+1-595 files

LLVM/project fce6ce5 — lld/MachO Driver.cpp, lld/docs ReleaseNotes.md

[lld][MachO] -objc_category_merging implies --check-category-conflicts
DeltaFile
+6-3lld/MachO/Driver.cpp
+7-1lld/test/MachO/objc-category-conflicts.s
+2-0lld/docs/ReleaseNotes.md
+15-43 files

LLVM/project ab112ea — llvm/lib/Transforms/Utils SimplifyLibCalls.cpp, llvm/test/Transforms/InstCombine memset-returned.ll

[InstCombine] Fix invalid returned attribute on memset (#235490)

This pr fixes the problem in InstCombine where the memset with returned
attribute changes into llvm intrinsc memset call which is invalid
because the original memset function returns a pointer and its first
marked argument is returned atrribute however the problem is llvm.memset
returns void .when atrributes are merged from old to new call ,returned
attribute still attached to pinter arguement .
This results in Invalid LLVM error and causes to report incompatible
arguement .
Changes made :
Updated mergeAttributesAndFlags in SimplifyLibCalls.cpp to remove the
returned parameter attribute when the new call returns void.
Added a regression test in memset-returned.ll to verify that InstCombine
simplifies the memset call without preserving the invalid attribute.

---------

Co-authored-by: jayadevthamatam <jayadevthamatam at gmail.com>
DeltaFile
+21-0llvm/test/Transforms/InstCombine/memset-returned.ll
+4-0llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+25-02 files

LLVM/project 21b58bf — libcxxabi/src cxa_guard_impl.h

[libcxxabi] fix -Wunused-private-field (#241575)

-Wunused-private-field will soon be able to flag fields in instantiated
class templates. Land this in preparation.

The lone new instance is only defined when BUILDING_CXA_GUARD is
defined.

Link: #237374
DeltaFile
+1-1libcxxabi/src/cxa_guard_impl.h
+1-11 files

LLVM/project 70882fe — clang/include/clang/Basic HLSLIntrinsics.td, clang/test/CodeGenHLSL/builtins mad_mat.hlsl

[Matrix] Implement matrix support for the `mad` intrinsic (#239357)

Closes #184510.
 
This PR implements the matrix api for `mad` and adds matrix codegen
tests and matrix sema tests. Matrix backend tests were not added because
no DirectX or SPIRV backend changes were made.
 
Assisted-by: Claude Opus 5.5
DeltaFile
+58-0clang/test/CodeGenHLSL/builtins/mad_mat.hlsl
+31-0clang/test/SemaHLSL/BuiltIns/mad_mat-errors.hlsl
+0-1clang/include/clang/Basic/HLSLIntrinsics.td
+89-13 files

LLVM/project 8fefb2a — llvm/unittests/Transforms/Vectorize/SandboxVectorizer SchedulerTest.cpp

[SandboxVec][Scheduler] Fix IR in unit test (#241656)

The unittest forms a scheduling bundle of stores S0 and S1. But there
used to be a dependency S0->S1, which is not allowed in a bundle. This
patch removes the dependency by changing the store address pointers.
DeltaFile
+3-3llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
+3-31 files

LLVM/project e8e8a72 — mlir/include/mlir/Dialect/LLVMIR NVVMOps.td, mlir/lib/Dialect/LLVMIR/IR NVVMDialect.cpp

[MLIR][NVVM] Add support for .s8.s4 types in nvvm.ldmatrix (#241153)

This patch adds support for the `.s8.s4` types for the `ldmatrix` instruction with the `.m8n16` shape, introduced in PTX ISA 9.4. The source data is a sequence of signed 4-bit elements that are expanded to signed 8-bit values during the load.

PTX ISA Reference: https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#warp-level-matrix-instructions-ldmatrix

Assisted by: Claude (Opus 5.5)
DeltaFile
+49-1mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
+12-1mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+9-0mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
+4-3mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+7-0mlir/test/Target/LLVMIR/nvvmir.mlir
+81-55 files

LLVM/project 1f75b9c — llvm/test/TableGen AsmMatcherCoerceFromRegClass.td, llvm/utils/TableGen AsmMatcherEmitter.cpp

[nspr] initial commit
DeltaFile
+56-7llvm/utils/TableGen/AsmMatcherEmitter.cpp
+39-9llvm/test/TableGen/AsmMatcherCoerceFromRegClass.td
+95-162 files

LLVM/project 225f51a — llvm/test/TableGen AsmMatcherCoerceFromRegClass.td, llvm/utils/TableGen AsmMatcherEmitter.cpp

[nspr] initial commit
DeltaFile
+43-8llvm/utils/TableGen/AsmMatcherEmitter.cpp
+26-0llvm/test/TableGen/AsmMatcherCoerceFromRegClass.td
+69-82 files

LLVM/project 7bc4f4f — llvm/test/TableGen AsmMatcherCoerceFromRegClass.td, llvm/utils/TableGen AsmMatcherEmitter.cpp

improve comments, update commit message
DeltaFile
+26-7llvm/test/TableGen/AsmMatcherCoerceFromRegClass.td
+11-4llvm/utils/TableGen/AsmMatcherEmitter.cpp
+37-112 files

LLVM/project 7e66f83 — flang/lib/Lower ConvertExprToHLFIR.cpp, flang/lib/Optimizer/Builder HLFIRTools.cpp

[flang] Track character temporary lifetimes for safe stack placement

Dynamic character expression buffers could grow the stack on every
iteration of an unstructured loop because their lifetimes were hidden
from allocation placement. Emit hlfir.destroy for them, add an explicit
cleanup region to hlfir.yield_element, and preserve both through array
constructor lowering, elemental inlining, WHERE lowering and
bufferization, which now allocates these buffers with fir.allocmem.
When such an allocation cannot be hoisted out of the loop, reclaim its
stack space with one stacksave/stackrestore pair per block. Allocation
placement then keeps these temporaries on the stack in every mode,
including offload regions (except under -fdynamic-heap-array).
DeltaFile
+136-102flang/lib/Lower/ConvertExprToHLFIR.cpp
+142-0flang/test/Transforms/character-expression-storage.f90
+132-0flang/test/HLFIR/inline-elemental-cleanup-cfg.fir
+83-31flang/lib/Optimizer/Builder/HLFIRTools.cpp
+105-0flang/test/Transforms/stack-arrays-block-lifetime.fir
+86-0flang/test/Transforms/character-temporary-placement.fir
+684-13353 files not shown
+1,588-46959 files

LLVM/project 3207d81 — flang/lib/Optimizer/HLFIR/IR HLFIROps.cpp, flang/lib/Optimizer/Transforms StackArrays.cpp

[flang] Address review comments on character temporary lifetimes

- stack-arrays: accept blocks with properly nested stacksave/stackrestore
  pairs, such as the ones around calls with a runtime-length result, as
  long as the allocations made inside a pair are freed before its end.
  These allocations then reuse that pair.
  Document that the block scope makes the peak stack the sum of the
  promoted allocations.
- Only create a cleanup region from the current statement context scope,
  so that array constructors do not get empty cleanup regions that block
  elemental inlining.
- Always allocate kind conversion buffers on the heap and let allocation
  placement move them to the stack, so that constant-length ones are
  hoisted out of loops.
- Canonicalize away the hlfir.concat, hlfir.char_trim, hlfir.set_length
  and hlfir.char_extremum results whose only uses are hlfir.destroy, such
  as the SET_LENGTH bypassed by structure constructor lowering.
- Do not let hlfir.associate take over the storage of an hlfir.no_reassoc
  operand that has other uses.
- Use %flang_fc1 in the new Fortran tests.
DeltaFile
+105-0flang/test/Transforms/stack-arrays-block-lifetime.fir
+63-21flang/lib/Optimizer/Transforms/StackArrays.cpp
+63-0flang/test/HLFIR/destroy-canonicalize.fir
+32-1flang/test/Lower/HLFIR/character-expression-cleanup.f90
+25-0flang/test/HLFIR/associate-codegen.fir
+23-0flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
+311-2211 files not shown
+362-4917 files