[all-commits] [llvm/llvm-project] 71db29: [mlir][sparse] Handle dense iterators in sparse it...

Steven Wu via All-commits all-commits at lists.llvm.org
Tue Jul 14 15:57:01 PDT 2026


  Branch: refs/heads/users/cachemeifyoucan/spr/semaserialization-emit-unused-local-typedefs-in-a-deterministic-order
  Home:   https://github.com/llvm/llvm-project
  Commit: 71db296bc0f847220e41bd913b6cce4031a23492
      https://github.com/llvm/llvm-project/commit/71db296bc0f847220e41bd913b6cce4031a23492
  Author: qyingwu <46992476+qyingwu at users.noreply.github.com>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
    M mlir/test/Dialect/SparseTensor/sparse_iteration_to_scf.mlir

  Log Message:
  -----------
  [mlir][sparse] Handle dense iterators in sparse iteration lowering (#208963)

Fixes #205980.

`lower-sparse-iteration-to-scf` always called `linkNewScope()` when
lowering
iterators handled by `scf.for`. Dense levels are random-access
iterators, and
`linkNewScope()` asserts for random-access iterators because those
should be
  traversed by coordinate.

Use `locate()` for random-access iterators and keep `linkNewScope()` for
  non-random-access iterators.

  Verification:
  - `cmake --build /tmp/mlir-208198 --target mlir-opt`
- `/tmp/mlir-208198/bin/mlir-opt -lower-sparse-iteration-to-scf
/tmp/issue-
  205980.mlir`
  - `/tmp/mlir-208198/bin/llvm-lit -sv mlir/test/Dialect/SparseTensor/
  sparse_iteration_to_scf.mlir mlir/test/Dialect/SparseTensor/
  sparse_kernels_to_iterator.mlir mlir/test/Dialect/SparseTensor/
  sparse_space_collapse.mlir`


  Commit: 2e38be8333fcd9c17eb7be1b2553b85e0cd9ab15
      https://github.com/llvm/llvm-project/commit/2e38be8333fcd9c17eb7be1b2553b85e0cd9ab15
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp

  Log Message:
  -----------
  [lldb] Allow generic operands in DWARF binary type check (#209641)

fc298ccbc52a's CheckScalarOperandsHaveSameType also rejects legitimate
generic-typed operands, breaking breakpad STACK WIN / raSearch unwinding
on 32-bit targets. For `DW_OP_breg7 +0, DW_OP_consts +80, DW_OP_plus`,
DW_OP_breg yields a register-sized (8-byte) scalar while DW_OP_const*
yields an address-sized (4-byte) generic one. The strict size gate ran
before the genericness escape, and the escape only checked the left
operand, so the CFA expression was rejected and the unwind failed.

Reorder so two integers that are each at least as wide as the generic
type are accepted before the size/signedness gate. The commit's own
type-check unit tests still pass.

Also fix a latent crash the failure exposed: ReadFrameAddress and
GetReturnAddressHint only consumed the error inside an UNWIND_LOG
argument, which is skipped when the log is off, so the errored Expected
was destroyed unchecked and aborted. Consume it via LLDB_LOG_ERROR /
LLDB_LOG_ERRORV instead.


  Commit: 4d0a3021c01e15c473e6a515dc8498fb190e3709
      https://github.com/llvm/llvm-project/commit/4d0a3021c01e15c473e6a515dc8498fb190e3709
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/CMakeLists.txt
    M llvm/lib/Target/NVPTX/NVPTX.h
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
    A llvm/lib/Target/NVPTX/NVPTXPromoteParamAlign.cpp
    R llvm/lib/Target/NVPTX/NVPTXSetByValParamAlign.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    A llvm/test/CodeGen/NVPTX/promote-param-align.ll
    R llvm/test/CodeGen/NVPTX/set-byval-param-align.ll
    M llvm/utils/gn/secondary/llvm/lib/Target/NVPTX/BUILD.gn

  Log Message:
  -----------
  [NVPTX] Promote internal function alignments in IR pass (#208040)

During lowering NVPTX will update the alignment of parameters and return
values if the function is internal and has only compatible direct calls.
Previously this happened within the alignment helper functions during
ISel and assembly printing making it opaque and unreliable. This change
moves that logic to an IR pass so that it can be inspected and disabled
more easily.


  Commit: 68f74b7c1f648f7272f46af5d3d6e314e85601fc
      https://github.com/llvm/llvm-project/commit/68f74b7c1f648f7272f46af5d3d6e314e85601fc
  Author: Florian Mayer <fmayer at google.com>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp

  Log Message:
  -----------
  [NFC] [TableGen] mention `srcvalue` in unused input error (#209633)


  Commit: e2fe51e408e097237a214f82385adf97090b3dee
      https://github.com/llvm/llvm-project/commit/e2fe51e408e097237a214f82385adf97090b3dee
  Author: David Young <davidayoung at meta.com>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lldb/source/Plugins/plugin_config.bzl

  Log Message:
  -----------
  [lldb][bazel] Add ScriptedFrameProvider plugin to the Bazel overlay (#209634)

Adds the PluginScriptedFrameProvider cc_library for the new
SyntheticFrameProvider/ScriptedFrameProvider category and registers it
in DEFAULT_PLUGINS. Deps mirror the plugin's CMakeLists.txt (lldbCore,
lldbInterpreter, lldbTarget, lldbUtility, Support) plus the
:PluginScriptedProcess plugin dep it uses.

The ScriptedFrameProvider plugin was added upstream in PR #161870
("[lldb] Introduce ScriptedFrameProvider for real threads"), relanded as
PR #170236; this wires it into the Bazel overlay build.

bazel rule creation assisted with: claude

Can confirm this rule translates into a valid buck2 rule for Meta to
build internally, but no bazel build locally; will await CI testing.


  Commit: 75fd1ca48059b26360dc961651ec9a23dccff53c
      https://github.com/llvm/llvm-project/commit/75fd1ca48059b26360dc961651ec9a23dccff53c
  Author: Marco Elver <elver at google.com>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp

  Log Message:
  -----------
  Thread Safety Analysis: Handle statement expressions in try-lock conditions (#209330)

Previously, statement expressions (`({ bool b = mu.TryLock(); b; })`)
used as try-lock conditions were not supported. Handle StmtExpr in
getTrylockCallExpr() by recursively analyzing the last statement of the
statement expression.


  Commit: 514b75bbc54f751abdcd32f118f620c3dd2ce4ae
      https://github.com/llvm/llvm-project/commit/514b75bbc54f751abdcd32f118f620c3dd2ce4ae
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/include/lldb/Interpreter/CommandCompletions.h
    M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Commands/CommandCompletions.cpp
    M lldb/source/Commands/CommandObjectScripting.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Interpreter/Interfaces/ScriptedInterfaceUsages.cpp
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    A lldb/test/API/commands/scripting/extension/TestScriptingExtensionListJSON.py
    M lldb/test/Shell/Commands/command-scripting-extension-list.test

  Log Message:
  -----------
  [lldb/script] Improve `scripting extension list` output and filtering (#209400)

This patch improves `scripting extension list` in three ways.

First, it groups the output by `ScriptedExtension`: instead of one row
per registered plugin instance, one entry per extension is printed with
a combined `Language` field.

Second, it colorizes and visually separates the output. Each entry is
preceded by a dimmed dashed separator; field labels are printed in bold
green, the extension name value in bold cyan as a mini-heading, and
`None` usage values are dimmed, all via the same
`ansi::FormatAnsiTerminalCodes(..., use_color)` idiom
`Breakpoint::GetDescription` uses elsewhere, gracefully no-op when color
is disabled or unsupported. `ScriptedInterfaceUsages::Dump` takes an
optional `use_color` parameter so its own `API Usages:` / `Command
Interpreter Usages:` labels can match.

Third, it adds `-j`/`--json` to emit a JSON array of `{name,
description, languages, api_usages, command_interpreter_usages}` per
extension, mirroring `plugin list`'s existing `-j`. `DoExecute` now
computes the extension grouping once and branches into
`OutputJsonFormat` or `OutputTextFormat`, sharing a
`GetLanguagesForExtension` helper. It also accepts optional positional
`<extension-name>` arguments to filter the listing to specific
extensions (matched via the same case-insensitive
`ScriptInterpreter::StringToExtension` used by `scripting extension
generate`), with completion wired up via `eScriptedExtensionCompletion`.

Also fix a latent lifetime bug in the shared language-collection helper
so it owns its `std::string` values instead of holding `StringRef`s to
temporaries; the JSON path made it observable.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 23977e64fe02e90ef873f460f71e3951e9e8eef1
      https://github.com/llvm/llvm-project/commit/23977e64fe02e90ef873f460f71e3951e9e8eef1
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/PCH/unused-local-typedef-determinism.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    M clang/test/SemaCXX/warn-unused-local-typedef-deterministic-order.cpp
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/include/lldb/Interpreter/CommandCompletions.h
    M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Commands/CommandCompletions.cpp
    M lldb/source/Commands/CommandObjectScripting.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Interpreter/Interfaces/ScriptedInterfaceUsages.cpp
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    A lldb/test/API/commands/scripting/extension/TestScriptingExtensionListJSON.py
    M lldb/test/Shell/Commands/command-scripting-extension-list.test
    M llvm/lib/Target/NVPTX/CMakeLists.txt
    M llvm/lib/Target/NVPTX/NVPTX.h
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
    A llvm/lib/Target/NVPTX/NVPTXPromoteParamAlign.cpp
    R llvm/lib/Target/NVPTX/NVPTXSetByValParamAlign.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    A llvm/test/CodeGen/NVPTX/promote-param-align.ll
    R llvm/test/CodeGen/NVPTX/set-byval-param-align.ll
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/gn/secondary/llvm/lib/Target/NVPTX/BUILD.gn
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
    M mlir/test/Dialect/SparseTensor/sparse_iteration_to_scf.mlir
    M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lldb/source/Plugins/plugin_config.bzl

  Log Message:
  -----------
  address review feedback

Created using spr 1.3.7


Compare: https://github.com/llvm/llvm-project/compare/a012988e8a84...23977e64fe02

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list