[all-commits] [llvm/llvm-project] a1cd84: [LLVMABI] Add support for SVE types in the LLVM AB...

Stanislav Mekhanoshin via All-commits all-commits at lists.llvm.org
Thu Sep 10 18:10:30 PDT 2026


  Branch: refs/heads/users/rampitec/block16-strict-disable
  Home:   https://github.com/llvm/llvm-project
  Commit: a1cd84100bd0bd70f5b6b0c30826844aa1813350
      https://github.com/llvm/llvm-project/commit/a1cd84100bd0bd70f5b6b0c30826844aa1813350
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/QualTypeMapper.cpp
    M clang/lib/CodeGen/QualTypeMapper.h
    M clang/unittests/CodeGen/CMakeLists.txt
    A clang/unittests/CodeGen/QualTypeMapperTest.cpp
    M llvm/include/llvm/ABI/IRTypeMapper.h
    M llvm/include/llvm/ABI/Types.h
    M llvm/lib/ABI/IRTypeMapper.cpp
    M llvm/unittests/ABI/CMakeLists.txt
    A llvm/unittests/ABI/IRTypeMapperTest.cpp
    M llvm/unittests/ABI/TypesTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ABI/BUILD.gn

  Log Message:
  -----------
  [LLVMABI] Add support for SVE types in the LLVM ABI library (#221375)

This change extends the LLVM ABI library's VectorType to be able to
describe SVE types and updates Clang's QualTypeMapper to map them.

The AArch64 target info class in the ABI library is still a work in
progress. It will continue to report "not yet implemented" for function
signatures involving SVE types. This change is a neceasary prerequisite
for correctly handling them or correctly deferring handling of these
specific types.

Assisted-by: Cursor / claude-opus-5


  Commit: 8c05a1167dd2f00cfa64966cb1572a6d97178c8b
      https://github.com/llvm/llvm-project/commit/8c05a1167dd2f00cfa64966cb1572a6d97178c8b
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/lib/IR/MLIRContext.cpp

  Log Message:
  -----------
  [mlir] Outline registered operation-model allocation (NFC) (#222803)

Allocate operation-model storage through an out-of-line helper so every
registration TU does not instantiate the allocation machinery.

Across three controlled -j16 rebuilds of 44 registration TUs, median
instructions fell from 2.284T to 2.202T (-3.594%) and median wall time
fell from 40.44s to 38.54s (-4.698%).

Assisted-by: Codex


  Commit: ec5a61a1454082773a9071c8a9db0472306a2517
      https://github.com/llvm/llvm-project/commit/ec5a61a1454082773a9071c8a9db0472306a2517
  Author: Dave MacLachlan <dmaclach at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/Options.td
    M lld/docs/MachO/ld64-vs-lld.md
    M lld/docs/ReleaseNotes.md
    A lld/test/MachO/warn-missing-subsections-via-symbols.s

  Log Message:
  -----------
  [lld][MachO] Add `--warn-missing-subsections-via-symbols` flag (#221464)

This change introduces:

* `--warn-missing-subsections-via-symbols`: Warns when an input object
file with non-empty sections is missing `MH_SUBSECTIONS_VIA_SYMBOLS`.
* `--no-warn-missing-subsections-via-symbols`: Disables the warning
(default).

Also adds documentation and lit tests.

Object files missing `MH_SUBSECTIONS_VIA_SYMBOLS` can prevent
dead-stripping and subsection splitting.

We have seen a number of cases where we are compiling assembly, and this
allows us to track them down.


  Commit: 6959b7d081df5fb2349e67e0d8e8e87841fa10d9
      https://github.com/llvm/llvm-project/commit/6959b7d081df5fb2349e67e0d8e8e87841fa10d9
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/IR/OpDefinition.h

  Log Message:
  -----------
  [mlir] Use pointers for static operation hooks to improve build time (NFC) (#222804)

Return raw function pointers from static operation-hook accessors to
avoid instantiating unique-function construction machinery for every
operation.

Across three controlled -j16 rebuilds of 44 registration TUs, median
instructions fell from 2.284T to 2.201T (-3.646%) and median wall time
fell from 41.04s to 38.80s (-5.458%).

Assisted-by: Codex


  Commit: c027b3cff0d1cd1a9e30f72e7eba8a1cb8954a75
      https://github.com/llvm/llvm-project/commit/c027b3cff0d1cd1a9e30f72e7eba8a1cb8954a75
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M orc-rt/include/orc-rt-c/support/Error.h

  Log Message:
  -----------
  [orc-rt] Fix typo in file header. (#222636)


  Commit: 9ac5a0ffb64f80e6f5aecf430b9e62c2a300942c
      https://github.com/llvm/llvm-project/commit/9ac5a0ffb64f80e6f5aecf430b9e62c2a300942c
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenACC/Transforms/ACCMapInfoPrep.cpp
    M flang/test/Fir/OpenACC/acc-fir-map-info-prep-attach.mlir

  Log Message:
  -----------
  [flang][acc] Update descriptor attach rules to only pointer/allocatable (#222760)

When a clause maps only a descriptor's data, ACCMapInfoPrep should infer
an attach point and name the descriptor only for POINTER and
ALLOCATABLE, which OpenACC requires to be maintained on the device. See
flang/docs/OpenACC-descriptor-management.md.


  Commit: ce0642ef834c89775fad321bdc0601163885ff1d
      https://github.com/llvm/llvm-project/commit/ce0642ef834c89775fad321bdc0601163885ff1d
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/flang/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Fixes MLIR dialect Bazel dependencies from commit 5d1b4094534c etc (#222812)

Added missing deps.

Fixes current bazel failures in @llvm-project//flang/unittests:all


  Commit: 5ce6d3a2423ef046b5d1d5e9ec699dd9fe7af377
      https://github.com/llvm/llvm-project/commit/5ce6d3a2423ef046b5d1d5e9ec699dd9fe7af377
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestBatchedBreakpointStepOver.py
    A lldb/test/API/functionalities/gdb_remote_client/TestBreakpointNotHit.py
    M lldb/test/API/functionalities/gdb_remote_client/TestMSP430MSPDebug.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyBreakpoints.py

  Log Message:
  -----------
  [lldb][Darwin] Don't mark threads as having hit bp if not (#222488)

When a multithreaded program stops exeuction with a mach exception on
more than one thread, if one of the threads is *at* a breakpoint site,
but hasn't *hit* the breakpoint yet, lldb was incorrectly stepping over
the breakpoint instruction when it resumed execution. This would result
in TestConcurrentManyBreakpoints reporting that a breakpoint hit on 100
threads was only hit 99 times, because one of the breakpoints was
silently stepped past without being counted.

The bug happened because on Darwin/debugserver systems the stop info
packet includes a `jstopinfo` which is a JSON dictionary of all threads
that have an exception. When `jstopinfo` is present, ProcessGDBRemote
was initializing any thread not included in `jstopinfo` as having an
empty StopInfo. It did this without checking if we are _at_ a breakpoint
site, and marking the thread as "Stopped at unexecuted breakpoint
instruction". Because the threads now had an empty StopInfo already, the
other places where we might check "if stopped at unexecuted breakpoint
instruction" were never executed.

I created a gdb_remote_client API test with a synthetic test case where
four threads stop at a breakpoint; three of them have hit the
breakpoint, one has not. And confirm that lldb only registers 3
breakpoint hits initially, and then the 4th as we resume. Debugging the
"99 breakpoints hit instead of 100" failures was tricky and involved
running the test in a loop on a heavily loaded machine to get the
necessary timing, and it was easy to give up, so I wanted a much simpler
synthetic case to show the problem if we might regress.

rdar://180565704


  Commit: b8007a8e4020b8bca2b12e941660e10bf5bf6716
      https://github.com/llvm/llvm-project/commit/b8007a8e4020b8bca2b12e941660e10bf5bf6716
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    A lld/test/MachO/arm64-x1.s
    M llvm/include/llvm/BinaryFormat/MachO.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/TextAPI/Architecture.def
    M llvm/lib/BinaryFormat/MachO.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/test/tools/llvm-readobj/MachO/file-headers-arm64.test
    A llvm/test/tools/llvm-readobj/macho-arm64e_x1.test
    M llvm/tools/llvm-objdump/MachODump.cpp
    M llvm/tools/llvm-readobj/MachODumper.cpp
    M llvm/unittests/BinaryFormat/MachOTest.cpp

  Log Message:
  -----------
  [ld64.lld, llvm-otool] Minimal arm64e.x1 support (#222721)

Just enough for `llvm-otool -hv` to dump the cpusubtype, and for
ld64.lld to not reject .tbd files that have an arm64e.x1 slice.

This is needed to link mac binaries against the macOS 27 SDK.


  Commit: 5ced7fcfdb22dc6ec31d021d4b64242e7e35a397
      https://github.com/llvm/llvm-project/commit/5ced7fcfdb22dc6ec31d021d4b64242e7e35a397
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel

  Log Message:
  -----------
  Fix bazel build for clang/unittests:codegen_tests (#222817)

Fixes https://github.com/llvm/llvm-project/pull/221375 (commit
a1cd84100bd0) by exporting QualTypeMapper.h and adding missing
dependencies.


  Commit: f896082fb9ea598c548bcb63515da7b23ff40f6d
      https://github.com/llvm/llvm-project/commit/f896082fb9ea598c548bcb63515da7b23ff40f6d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__configuration/compiler.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/unique_temporary_buffer.h
    A libcxx/include/__new/allocate.h
    M libcxx/include/__utility/small_buffer.h
    M libcxx/include/module.modulemap.in
    M libcxx/include/new
    M libcxx/src/include/aligned_alloc.h
    A libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.capacity/max_size.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/hardware_inference_size.compile.pass.cpp
    M libcxx/test/std/numerics/numarray/template.valarray/valarray.cons/size.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/pointer_destruction.pass.cpp

  Log Message:
  -----------
  Revert "[libc++] Remove __libcpp_allocate" (#222814)

Reverts llvm/llvm-project#220981

This is breaking premerge. See comments on the original PR.


  Commit: 4def46cc3fd51bee21f4a167a99a79c9f6bb66ba
      https://github.com/llvm/llvm-project/commit/4def46cc3fd51bee21f4a167a99a79c9f6bb66ba
  Author: Vijay Kandiah <vkandiah at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/convert-fold.fir
    M flang/test/HLFIR/simplify-hlfir-intrinsics-eoshift.fir

  Log Message:
  -----------
  [flang] Fold fir.convert of an integer constant between integer types (#222188)

`fir::ConvertOp::fold` doesn't handle an integer constant converted to
another integer type. `ForwardConstantConvertPattern` covers the
neighboring case where the result is `index`, so `fir.convert %c10_i32 :
(i32) -> index` already canonicalizes to an index constant while
`fir.convert %c1_i32 : (i32) -> i64` does not. This PR adds the
integer-to-integer case.

The width change follows the rules codegen applies to a non-constant
operand (`CodeGen.cpp`'s integer-to-integer conversion): narrowing
truncates, widening zero-extends an i1 or unsigned source and
sign-extends anything else. The result must be signless because the
constant materialises as an `arith.constant`, which only accepts
signless integers.

It composes with `arith::IndexCastOp::fold`, so a value widened then
cast to `index` collapses to one index constant, and it lets other
patterns see through the constant: with a literal shift,
`simplify-hlfir-intrinsics` can now fold away `hlfir.eoshift`'s
shift-direction arithmetic.

`getIntIfConstant` only matches `arith` and `llvm` constants, which are
signless, so `isUnsignedInteger()` is never true today, but I still kept
the unsigned case anyway so that the fold cannot disagree with codegen.


  Commit: c9e8899e31dba827a9c738252de1762f3b6fd3df
      https://github.com/llvm/llvm-project/commit/c9e8899e31dba827a9c738252de1762f3b6fd3df
  Author: wanglei <wanglei at loongson.cn>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/test/MC/LoongArch/Relocations/sub-expr.s

  Log Message:
  -----------
  [LoongArch] Generate more PCRel relocations for resolvable sub-symbols

Use PC-relative relocations when the sub-symbol offset can be resolved
during assembly, avoiding ADD/SUB relocation pairs.

Fixes #210052

Reviewers: SixWeining, MaskRay

Reviewed By: MaskRay

Pull Request: https://github.com/llvm/llvm-project/pull/211754


  Commit: 092c224c8d08e4ef44b3b495939dbe56b6f3df4a
      https://github.com/llvm/llvm-project/commit/092c224c8d08e4ef44b3b495939dbe56b6f3df4a
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/QualTypeMapper.cpp
    M clang/lib/CodeGen/QualTypeMapper.h
    M clang/unittests/CodeGen/CMakeLists.txt
    A clang/unittests/CodeGen/QualTypeMapperTest.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/OpenACC/Transforms/ACCMapInfoPrep.cpp
    M flang/test/Fir/OpenACC/acc-fir-map-info-prep-attach.mlir
    M flang/test/Fir/convert-fold.fir
    M flang/test/HLFIR/simplify-hlfir-intrinsics-eoshift.fir
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__configuration/compiler.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/unique_temporary_buffer.h
    A libcxx/include/__new/allocate.h
    M libcxx/include/__utility/small_buffer.h
    M libcxx/include/module.modulemap.in
    M libcxx/include/new
    M libcxx/src/include/aligned_alloc.h
    A libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.capacity/max_size.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/hardware_inference_size.compile.pass.cpp
    M libcxx/test/std/numerics/numarray/template.valarray/valarray.cons/size.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/pointer_destruction.pass.cpp
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/Options.td
    M lld/docs/MachO/ld64-vs-lld.md
    M lld/docs/ReleaseNotes.md
    A lld/test/MachO/arm64-x1.s
    A lld/test/MachO/warn-missing-subsections-via-symbols.s
    M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestBatchedBreakpointStepOver.py
    A lldb/test/API/functionalities/gdb_remote_client/TestBreakpointNotHit.py
    M lldb/test/API/functionalities/gdb_remote_client/TestMSP430MSPDebug.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyBreakpoints.py
    M llvm/include/llvm/ABI/IRTypeMapper.h
    M llvm/include/llvm/ABI/Types.h
    M llvm/include/llvm/BinaryFormat/MachO.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/TextAPI/Architecture.def
    M llvm/lib/ABI/IRTypeMapper.cpp
    M llvm/lib/BinaryFormat/MachO.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/test/MC/LoongArch/Relocations/sub-expr.s
    M llvm/test/tools/llvm-readobj/MachO/file-headers-arm64.test
    A llvm/test/tools/llvm-readobj/macho-arm64e_x1.test
    M llvm/tools/llvm-objdump/MachODump.cpp
    M llvm/tools/llvm-readobj/MachODumper.cpp
    M llvm/unittests/ABI/CMakeLists.txt
    A llvm/unittests/ABI/IRTypeMapperTest.cpp
    M llvm/unittests/ABI/TypesTest.cpp
    M llvm/unittests/BinaryFormat/MachOTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ABI/BUILD.gn
    M mlir/include/mlir/IR/OpDefinition.h
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/lib/IR/MLIRContext.cpp
    M orc-rt/include/orc-rt-c/support/Error.h
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/flang/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/rampitec/block16-strict-disable


Compare: https://github.com/llvm/llvm-project/compare/b398c6e11684...092c224c8d08

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