[all-commits] [llvm/llvm-project] 7e960a: [offload] add handling of memory alignment to Memo...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Wed Sep 16 14:12:33 PDT 2026
Branch: refs/heads/users/alexey-bataev/spr/slpvectorize-bool-to-bitmask-reductions-as-a-bitcast-of-zero-tests
Home: https://github.com/llvm/llvm-project
Commit: 7e960a831b1aca0f74ba9937bb08cf27ea420e81
https://github.com/llvm/llvm-project/commit/7e960a831b1aca0f74ba9937bb08cf27ea420e81
Author: EuphoricThinking <agata.momot at intel.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/MemoryManager.h
M offload/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
[offload] add handling of memory alignment to MemoryManagerTy (#218418)
Previously, memory alignment was handled internally by the device. The
`MemoryManagerTy` either redirected large allocation requests directly
to the device or stored pointers to the smaller memory chunks in pools.
The information about the alignment expected by the user was just passed
by the `MemoryManagerTy` to the device allocators. However, most vendors
do not provide an API for specifying the alignment of the memory
allocation (except for the Level Zero plugin), allowing only for
verification of whether the returned pointer is correctly aligned. In
this patch, `MemoryManagerTy` allocates excess memory and performs
pointer arithmetic on the pointer returned by the device allocator, so
that the final pointer is aligned accordingly regardless of the plugin.
NodeTy has two new fields:
- `BasePtr`: the pointer to the originally allocated memory
- `Ptr`: the pointer returned to the caller, possibly after pointer
arithmetic operations on `BasePtr` for ensuring the requested alignment.
Pointer arithmetic is performed when a specific alignment is requested
or when the chosen pointer from the memory pool is being reused after an
aligned allocation, since `Ptr`s are not reset to `BasePtr`s during
deallocation.
The Alignment parameter is preserved in the plugin-side implementations
of `allocate()` for validation purposes, since the device allocations
might have granularity which is not compatible with the requested
alignment.
The presented changes are part of the series of patches introducing
memory alignment. The next patch will remove the doubling of the memory
alignment management in the `MemoryManagerTy` and the Level Zero plugin,
leaving the implementation in `MemoryManagerTy`.
Commit: c7d4c008350c6b66112de0278aa74cd72fedc180
https://github.com/llvm/llvm-project/commit/c7d4c008350c6b66112de0278aa74cd72fedc180
Author: RachinskiyMaksim <rachinskii.mv at phystech.edu>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/Relocation.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/runtime/X86/rela-plt-order.c
Log Message:
-----------
[BOLT] Prevent rela.plt reordering (#219447)
[BOLT] Preserve the original order of DT_JMPREL relocations.
BOLT reorders .rela.plt entries without also updating the corresponding
PLT stub relocation indices. This patch preserves the original order of
DT_JMPREL relocations by recording their original indices and using
those indices when emitting them. We store the original `DT_JMPREL`
index directly on each relocation.
AI tools (codex) were used to assist with implementation.
Related to https://github.com/llvm/llvm-project/issues/207222
Commit: 0a8eb54dd990f8d9649f01aee1d2c0cbff3b68ac
https://github.com/llvm/llvm-project/commit/0a8eb54dd990f8d9649f01aee1d2c0cbff3b68ac
Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M openmp/runtime/test/ompt/callback.h
Log Message:
-----------
[OpenMP][OMPT] Fixes current_address printing on RV64GC (#223681)
A previous commit increased the number of arguments passed to printf in
print_possible_return_addresses(addr) but forgot to change the format in
order to include the new argument.
Fixes: 4e19543b1a85 (FIX some OMPT tests that fail on RISC-V (#156914),
2026-07-24)
Commit: 762aa86b8ebff9b840e2ec76e015b28051ea7158
https://github.com/llvm/llvm-project/commit/762aa86b8ebff9b840e2ec76e015b28051ea7158
Author: David Green <david.green at arm.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
M llvm/test/CodeGen/AArch64/cttz-of-bool-vector-bitcast.ll
M llvm/test/CodeGen/AArch64/partial-reduction-add-predicated.ll
M llvm/test/CodeGen/AArch64/zext-shuffle.ll
Log Message:
-----------
[AArch64] Canonicalize NVCAST to bitcast under LE (#223388)
A NVCAST is equivalent to a BITCAST under LE. This canonicalises the
NVCAST to BITCAST under LE like we do for ARM, so there is only one
representation, then fixes up the places that were assuming nvcast.
Commit: 09f4207015216928e92bbcdef1f954db1daab7e9
https://github.com/llvm/llvm-project/commit/09f4207015216928e92bbcdef1f954db1daab7e9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
Log Message:
-----------
[SLP][NFC]Add extra bool mask tests, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/223984
Commit: de1d4bafa475f2206fffe878789dd29d22197b2f
https://github.com/llvm/llvm-project/commit/de1d4bafa475f2206fffe878789dd29d22197b2f
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaCXX/dllexport.cpp
M clang/test/SemaCXX/dllimport.cpp
Log Message:
-----------
[Clang] Warn about ignored dllimport on explicit instantiations (#191392)
Diagnose about a non-effective dllimport attribute on an explicit
instantiation declaration for a specialization which
was already (implicitly) instantiated somewhere, rather than ignoring it
silently.
related to #21132
Commit: 89d02eebfb7d3c01f9a500a1682be6e5e58a4c17
https://github.com/llvm/llvm-project/commit/89d02eebfb7d3c01f9a500a1682be6e5e58a4c17
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/test/CodeGen/SPIRV/transcoding/func_param_attr.ll
Log Message:
-----------
[SPIR-V] Emit NoReadWrite decoration for readnone function parameters (#223699)
Commit: 8167678860e17c5c20aaaf0f863ef70861b3b9f1
https://github.com/llvm/llvm-project/commit/8167678860e17c5c20aaaf0f863ef70861b3b9f1
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
Log Message:
-----------
[lldb][windows] support long path in loaded modules cache (#206117)
`NativeProcessWindows::CacheLoadedModules` truncates paths longer than
260 characters.
This patch changes how modules are resolved:
- Query the untruncated image path with `GetModuleFileNameExW`.
- Canonicalize it through a handle to the image file with
`GetFinalPathNameByHandleW(FILE_NAME_NORMALIZED | VOLUME_NAME_DOS)`.
- Strip the extended length prefixes so the cached path matches the
ordinary Win32 form lldb produces elsewhere.
Commit: b1076da7495e46e7a28eb82f26931028bf47aaed
https://github.com/llvm/llvm-project/commit/b1076da7495e46e7a28eb82f26931028bf47aaed
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Replace pipes with unix domain sockets. (#223941)
Replace pipes with unix domain sockets for basic out-of-process
execution.
The new ORC runtime doesn't support pipes -- this changes will enable
llvm-jitlink to connect to the new ORC runtime's executor (once it
lands).
Commit: e3974cd35965a239fc75644f249cbd24377959db
https://github.com/llvm/llvm-project/commit/e3974cd35965a239fc75644f249cbd24377959db
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/X86/dagcombine-concat-undef-vs-poison.ll
Log Message:
-----------
Avoid making vector more poisonous in visitCONCAT_VECTORS (#223492)
Fix a miscompile bug found in visitCONCAT_VECTORS.
In commit 544c300f43961 (from January 25 2026) the DAGCombiner started
to use poison instead of undef when rewriting a CONCAT_VECTORS as a
BUILD_VECTOR. Problem was that it was using poison also for elements
that were undef before the fold, making the result more poisonous. That
caused miscompiles as reported in PR #222857.
The fix is to make sure we only use a poison value as operand in the new
BUILD_VECTOR if the input to CONCAT_VECTORS also is poison.
Same kind of fixup is done for combineConcatVectorOfConcatVectors and
combineConcatVectorOfShuffleAndItsOperands (both helpers used by
visitCONCAT_VECTORS). Those funtions were also modified in commit
544c300f43961, all without any motivating test cases showing that it is
correct to use poison. I do not have any test cases proving that those
two helpers also could cause miscompiles, but neither that the rewrites
was correct after commit 544c300f43.
Fixes https://github.com/llvm/llvm-project/issues/222857
Commit: 938754a27588b581f4c62532ff84b2f253f31a24
https://github.com/llvm/llvm-project/commit/938754a27588b581f4c62532ff84b2f253f31a24
Author: Jan Trusiłło <jan.trusillo at intel.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M offload/plugins-nextgen/common/include/MemoryManager.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/test/offloading/struct_mapping_with_pointers.cpp
Log Message:
-----------
[offload] Fix minor memory manager alignment bugs (#223979)
The alignment handling introduced in #218418 left three minor issues:
- Adding alignment padding could overflow size_t, potentially turning an
excessive allocation (most feasibly caused by erroneous caller-side
underflow) into a small one.
- struct_mapping_with_pointers.cpp still expected the old allocation log
format.
- When the memory manager was disabled, GenericDeviceTy::dataAlloc() did
not verify that the device allocator returned a suitably aligned
pointer.
This patch:
- Checks for overflow before calculating the padded allocation size.
- Updates the log checks to accept the requested and padded sizes.
(Worth considering: should these checks even exist?)
- Validates alignment on the direct device-allocation path. A misaligned
allocation is freed and reported as unsupported. (A cleanup patch will
be made later that will decouple alignment-related behavior from pooling
behavior.)
See #218418 comments for additional discussion on the issues.
Assisted-by: Codex
Commit: b8e720436725e1386985b7bdeabaca677ff498bb
https://github.com/llvm/llvm-project/commit/b8e720436725e1386985b7bdeabaca677ff498bb
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
Log Message:
-----------
[CIR][NFC] Cleanup unhandled NYI in atomic libcall codegen (#223732)
This patch cleans up the unhandled NYIs in the CIRGen path for atomic
operation library calls. This patch should be NFC.
Commit: 77aa4b9ac117acfcd7384166cccd4a333829bf81
https://github.com/llvm/llvm-project/commit/77aa4b9ac117acfcd7384166cccd4a333829bf81
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
A lldb/test/API/macosx/expedited-recent-reads/Makefile
A lldb/test/API/macosx/expedited-recent-reads/TestExpeditedRecentReads.py
A lldb/test/API/macosx/expedited-recent-reads/main.c
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/debugserver/source/RNBRemote.h
Log Message:
-----------
[lldb][debugserver] Expedite the memory ranges lldb read most recently (#223417)
The rationale of this change is that if user/ide/lldb reads memory on
some address, it more likely to read them again in next stop. If
debugserver expedites the memory of recent reads in public stop, lldb
won't send memory read packet to read them again. Those addresses are
already known when the previous stop ends.
Expedite up to 16 memory ranges (at most 512 bytes each) read by `m`,
`x`, and `MultiMemRead` in `jThreadsInfo` for the stopped thread, and
advertise `ExpediteRecentReads+` via `qSupported`. Re-reading a range
moves it to the newest slot, and the ring is cleared on exec.
The gain is large in three use cases:
- TLS variables. `DynamicLoaderDarwin::GetThreadLocalData` reads the TLS
thunk and then calls its `get_addr` in the target, and each such call
surfaces as a public stop, in `ProcessEventData::DoOnRemoval`. lldb
clears its memory cache at every stop, so the thunk and its data block
were read again at each one. Three `frame variable tls_var tls_double`
commands on a two-variable test program send 205 memory-read packets
before this change and 9 after; the reads at that one call site go
from 22 to 2.
- conditional breakpoints: one every stop, lldb reads the same variables
evaluate the condition, and resumes the execution if condition is
false. After this change, these variables are expedited in stop, and
lldb doesn't need to send memory read packets, `x` packet is reduced
from 473 to 432.
- pointer-chase reads. Printing an Objective-C object reads the isa
pointer, then walks the class and its method lists, in
`ClassDescriptorV2::method_list_t::Read` and `method_t::ReadNames`.
None of that is on the stack that the frame 0 expedite covers. A `po`
of one object sends 387 memory-read packets before and 368 after.
Assisted-by: claude
Commit: 9438c6f46ec922d81d4a98f0bab50ecbd27d4ead
https://github.com/llvm/llvm-project/commit/9438c6f46ec922d81d4a98f0bab50ecbd27d4ead
Author: Tim Besard <tim.besard at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Analysis/CostModel/AArch64/load-latency-fallback.ll
Log Message:
-----------
[AArch64] Fix load latency costs without a usable scheduling class (#223416)
#201567 made AArch64TTIImpl::getMemoryOpCost query the scheduling model
for the latency of loads, but that information isn't always available:
* CPUs without a scheduling model (carmel, which uses NoSchedModel) call
getSchedClassDesc on a null table. This asserts with "No scheduling
machine model" and segfaults in release builds. It is reachable from
SelectionDAGBuilder::shouldKeepJumpConditionsTogether when compiling
functions with target-cpu=carmel.
* Invalid scheduling classes (integer loads on oryon-1, and LDR_ZXI on
the models without SVE when +sve is enabled) give a latency of 0 for
single loads and very large latencies for loads split into several.
* Variant scheduling classes (FP/vector loads on c1-nano, c1-premium and
c1-ultra) can't be resolved without an instruction and give the same
bogus values.
In these cases fall back to the default load latency of the scheduling
model, using the same formula as the fixed load latency path. CPUs whose
scheduling model describes the loads are unaffected.
Commit: a2b905f109ae2c80ddfc90ab7a8a56edece5d950
https://github.com/llvm/llvm-project/commit/a2b905f109ae2c80ddfc90ab7a8a56edece5d950
Author: Michał Górny <mgorny at gentoo.org>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-pass-statistics.mlir
M mlir/test/Dialect/LLVMIR/sroa-statistics.mlir
M mlir/test/Dialect/MemRef/mem2reg-statistics.mlir
M mlir/test/Dialect/Tensor/fold-consecutive-insert-extract-slice.mlir
M mlir/test/Dialect/Tensor/fold-tensor-subset-ops.mlir
M mlir/test/Dialect/Tensor/tracking-listener.mlir
M mlir/test/Pass/pipeline-stats-nested.mlir
M mlir/test/Pass/pipeline-stats.mlir
M mlir/test/mlir-runner/async-error.mlir
M mlir/test/mlir-runner/async-func.mlir
M mlir/test/mlir-runner/async-group.mlir
M mlir/test/mlir-runner/async-value.mlir
M mlir/test/mlir-runner/async.mlir
M mlir/test/mlir-runner/x86-varargs.mlir
Log Message:
-----------
[mlir] Mark tests broken on x86 appropriately (#223981)
See https://github.com/llvm/llvm-project/issues/124541 and the
discussion on https://github.com/llvm/llvm-project/pull/220741.
Signed-off-by: Michał Górny <mgorny at gentoo.org>
Commit: 6ebc12bb7d5764c08765caeb82c559e9b209ba7d
https://github.com/llvm/llvm-project/commit/6ebc12bb7d5764c08765caeb82c559e9b209ba7d
Author: Serval MARTINOT-LAGARDE <serval.ml6 at live.fr>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/test/CodeGen/AArch64/sve-interleave-of-splat.ll
Log Message:
-----------
[SDAG] Add scalable vector support to WidenVecOp_CONCAT_VECTORS (#219146)
This fixes a crash when lowering:
```
; llc -mattr=+sve crash.ll
define <vscale x 2 x float> @interleave2_nxv2f32(<vscale x 1 x float> %vec0, <vscale x 1 x float> %vec1) {
%retval = call <vscale x 2 x float> @llvm.vector.interleave2.nxv2f32(<vscale x 1 x float> %vec0, <vscale x 1 x float> %vec1)
ret <vscale x 2 x float> %retval
}
```
---------
Co-authored-by: Benjamin Maxwell <macdue at dueutil.tech>
Commit: a91a4c7a7562637b3ed8af5e03788c503e1f0f65
https://github.com/llvm/llvm-project/commit/a91a4c7a7562637b3ed8af5e03788c503e1f0f65
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M offload/ci/hip-tpl.py
Log Message:
-----------
[HIP] Remove old LLVM test suite option spelling (#223943)
After a series of refactorings, we can remove the now obsolete option
spelling for the HIP kokkos tests.
Commit: 2a4149803d3fe72e28ddae2962e6cf1569330944
https://github.com/llvm/llvm-project/commit/2a4149803d3fe72e28ddae2962e6cf1569330944
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn] port 1c1edc2d34e1 and 78bbf2229d2a (lldb emscripten) (#224003)
Commit: 65b0cc5ec1a5694408978882be455d564b918b7a
https://github.com/llvm/llvm-project/commit/65b0cc5ec1a5694408978882be455d564b918b7a
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/ValueObject/BUILD.gn
Log Message:
-----------
[gn build] Port bb651180e3b1 (#224004)
Commit: 2819c4e7933fa39599c527d5a07ca72b02da91e6
https://github.com/llvm/llvm-project/commit/2819c4e7933fa39599c527d5a07ca72b02da91e6
Author: Lewis Crawford <lcrawford at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Support/APFloat.cpp
A llvm/lib/Support/APFloatPowerOfFiveTable.inc
M llvm/unittests/ADT/APFloatTest.cpp
A llvm/utils/generate-apfloat-pow5-table.py
Log Message:
-----------
[APFloat][Perf] Improve FP literal parsing speed and stack usage (#221701)
Rewrite APFloat decimal conversion to reduce stack use and speed up
floating-point literal parsing.
On an `llvm-as` test of 100k randomized half/float/double/fp128 global
constants, assembly time fell from 666 ms to 551 ms (17.3%) and peak
stack use fell from 25,912 B to 6,640 B (74.4%).
To achieve these results, there are several optimizations:
- Precomputing the powers-of-five factors, replacing a 1,205-word
runtime workspace with a 601-word constant table sufficient to construct
powers through 5^16383.
- Replacing the two fixed 600-word stack-based scratch/destination
buffers with SmallVectors that are dynamically sized based on the input,
drastically reducing stack usage.
- These SmallVectors allow for 16 64-bit words to be stored on the stack
(enough to cover ordinary f16/f32 inputs, which only need 2-6 words),
and larger doubles and fp128s get allocated on the heap instead.
Assisted-by: gpt-5.6-terra
Commit: 988c5a95ffa7d118d3c67f21b78d52efbc7b0cfd
https://github.com/llvm/llvm-project/commit/988c5a95ffa7d118d3c67f21b78d52efbc7b0cfd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
A compiler-rt/lib/sanitizer_common/sanitizer_offload.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_offload.h
A compiler-rt/lib/sanitizer_common/sanitizer_offload_hsa.h
A compiler-rt/lib/sanitizer_common/sanitizer_offload_image.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_offload_opcodes.h
A compiler-rt/lib/sanitizer_common/sanitizer_offload_rpc.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_offload_rpc.h
M compiler-rt/lib/ubsan/offload/CMakeLists.txt
R compiler-rt/lib/ubsan/offload/hsa.h
M compiler-rt/lib/ubsan/offload/ubsan_offload.h
R compiler-rt/lib/ubsan/offload/ubsan_offload_hsa.cpp
R compiler-rt/lib/ubsan/offload/ubsan_offload_hsa.h
M compiler-rt/lib/ubsan/offload/ubsan_offload_hsa_interceptors.cpp
M compiler-rt/lib/ubsan/offload/ubsan_offload_report.cpp
R compiler-rt/lib/ubsan/offload/ubsan_offload_rpc.cpp
R compiler-rt/lib/ubsan/offload/ubsan_offload_rpc.h
R compiler-rt/lib/ubsan/offload/ubsan_offload_symbolize.cpp
R compiler-rt/lib/ubsan/offload/ubsan_offload_symbolize.h
M compiler-rt/lib/ubsan/ubsan_offload.cpp
M compiler-rt/lib/ubsan/ubsan_offload_packet.h
M compiler-rt/test/CMakeLists.txt
A compiler-rt/test/Inputs/hip.h
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/profile/lit.cfg.py
M compiler-rt/test/ubsan/AMDGPU/abort.hip
M compiler-rt/test/ubsan/AMDGPU/dedup.hip
M compiler-rt/test/ubsan/AMDGPU/host-and-device.hip
M compiler-rt/test/ubsan/AMDGPU/openmp-overflow.cpp
M compiler-rt/test/ubsan/AMDGPU/overflow-i128.hip
M compiler-rt/test/ubsan/AMDGPU/overflow.hip
M compiler-rt/test/ubsan/AMDGPU/shift.hip
M compiler-rt/test/ubsan/CMakeLists.txt
R compiler-rt/test/ubsan/Inputs/hip.h
M compiler-rt/test/ubsan/lit.common.cfg.py
M compiler-rt/test/ubsan/lit.site.cfg.py.in
Log Message:
-----------
[compiler-rt] Factor HSA layer into common helpers (#223532)
Summary:
This factors the UBSan HSA layer into a common layer so it can be
re-used for other sanitizers. The primary goal is to provide the
simplified interface into HSA (discovery, allocation, copying) and
manage the state that all sanitizers will need (RPC and symbolization).
This is intended as an NFC refactoring.
Commit: 6327754ad4eb21b3c27034bc170e8b9944e5e318
https://github.com/llvm/llvm-project/commit/6327754ad4eb21b3c27034bc170e8b9944e5e318
Author: theRonShark <ron.lieberman at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/include/clang/Basic/TargetID.h
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/test/OffloadTools/clang-offload-bundler/basic.c
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
Revert "Reapply "clang: Use TargetID parsing from AMDGPUTargetParser" (#213824)" (#223983)
Reverts llvm/llvm-project#213847
Matt please look into our downstream failure :
https://amd-hub.atlassian.net/browse/LCOMPILER-2800
Commit: cc0efa4e820e7b54ac97f00021d0cf39cc6915e4
https://github.com/llvm/llvm-project/commit/cc0efa4e820e7b54ac97f00021d0cf39cc6915e4
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][SPIR-V] Add folder for spirv.SMulExtended(x, 1) (#214137)
Commit: 3693a9b748c55b94994ff8ad6f48deffb1c90d40
https://github.com/llvm/llvm-project/commit/3693a9b748c55b94994ff8ad6f48deffb1c90d40
Author: Bruno De Fraine <bruno.defraine at globalfoundries.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.h
M clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
M clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowExtractor.cpp
M clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowFormat.cpp
M clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
M clang/unittests/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowWPATest.cpp
M clang/unittests/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
M clang/unittests/ScalableStaticAnalysis/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
Log Message:
-----------
[SSAF][PointerFlow] Properly declare functions in header (#223390)
In a GCC build, this fixes some warnings of the following kind:
clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.cpp:15:1: warning: ‘clang::ssaf::PointerFlowEntitySummary clang::ssaf::buildPointerFlowEntitySummary(EdgeSet)’ has not been declared within ‘clang::ssaf’
15 | ssaf::buildPointerFlowEntitySummary(EdgeSet Edges) {
| ^~~~
In file included from clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.cpp:9:
clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.h:29:35: note: only here as a ‘friend’
29 | friend PointerFlowEntitySummary buildPointerFlowEntitySummary(EdgeSet Edges);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fixed by centralizing the function declarations in the header, which
also removes the duplication across multiple files/tests.
Commit: 9c972b8fdee869b7602c305bc96ceedbcd26fc5a
https://github.com/llvm/llvm-project/commit/9c972b8fdee869b7602c305bc96ceedbcd26fc5a
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
Add maintainers for the MIPS backend (#223338)
As discussed in:
https://discourse.llvm.org/t/rfc-upstreaming-nanomips-support-to-llvm/91713/16
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 3892d6e6a1c538aab3ab3646bc162ae37bc0e64a
https://github.com/llvm/llvm-project/commit/3892d6e6a1c538aab3ab3646bc162ae37bc0e64a
Author: ahradwan2-public <ahmedwahab1997 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/ProfileData/InstrProfReader.cpp
Log Message:
-----------
[ProfileData] Fix uint8_t loop index truncating bitmap byte count (#220620)
## Summary
`TextInstrProfReader::readNextRecord` reads a record's bitmap bytes with
a
`uint8_t` loop index compared against a `uint64_t` count:
```cpp
for (uint8_t I = 0; I < NumBitmapBytes; ++I) {
```
`NumBitmapBytes` is `uint64_t`, so when a text profile declares more
than 255
bitmap bytes the `uint8_t` index wraps around at 256 back to 0 and the
condition `I < NumBitmapBytes` can never become false. The loop then
stops only
when the input runs out (via the `is_at_end()` truncation check), so the
record
is mis-parsed: the reader runs past the intended `NumBitmapBytes` values
and
reports the profile as truncated instead of reading it correctly.
## Fix
Widen the loop index to `uint64_t` to match `NumBitmapBytes`, consistent
with the sibling counter loop a few lines above (`for (uint64_t I = 0; I
< NumCounters; ++I)`):
```cpp
for (uint64_t I = 0; I < NumBitmapBytes; ++I) {
```
#### Assisted by: Claude
#### I don't have commit access, could you please merge this?
Co-authored-by: Ahmed Radwan <ahradwan at amd.com>
Commit: 975e7e325515013227bd94b5d30b1fa4414b6e1a
https://github.com/llvm/llvm-project/commit/975e7e325515013227bd94b5d30b1fa4414b6e1a
Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
A flang/test/Lower/OpenMP/hlfir-to-fir-conv-omp.mlir
M flang/test/Lower/OpenMP/host-eval.f90
A flang/test/Lower/OpenMP/target-spmd-reduction.f90
Log Message:
-----------
[flang][OpenMP][NFC] Add missing lowering test coverage (#221079)
Adds three tests for behavior that already works but is untested:
- target-generic-spmd.f90: whether host_eval is emitted for separate,
non-combined target/teams/distribute directive nests, covering the
generic versus SPMD kernel classification. The existing host-eval.f90
covers only combined constructs.
- hlfir-to-fir-conv-omp.mlir: alloca block selection for OpenMP regions
during HLFIR-to-FIR conversion.
- reduction-target-spmd.f90: a reduction on target teams distribute
parallel do is placed on omp.teams.
Commit: 869d8b74ff2b1b823005e9b7ac57c2bf78904503
https://github.com/llvm/llvm-project/commit/869d8b74ff2b1b823005e9b7ac57c2bf78904503
Author: Milin Bhade <mbhade at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/nonpow2-shared-weight-reduction.ll
Log Message:
-----------
[SLP][X86][NFC] Add pre-commit test for width-3 shared-weight reduction (#222243)
Pre-commit test for three independent reductions over contiguous bytes
sharing a single broadcast weight. It captures current codegen: even
with -slp-vectorize-non-power-of-2=true the width-3 tree is discarded to
scalar because the non-power-of-2 <3 x i8> load is over-priced (the
folded vpinsr*(mem) is double-counted). A follow-up X86 cost fix flips
the NPOT run to the width-3 vector form.
cc @alexey-bataev
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: f9a3a90a693874572fa89636476d70787a0bca30
https://github.com/llvm/llvm-project/commit/f9a3a90a693874572fa89636476d70787a0bca30
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/AST/ItaniumMangle.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
Log Message:
-----------
[clang] Fix mangling of constrained auto referring to a parameter when the return type has an ABI tag (#223121)
Fixes #204178
Mangling `template<typename T> auto f(T t, c<decltype(t)> auto) -> s;`
asserts with `ParmVarDecl is not visible in current parameter
environment` when `s` carries an ABI tag, as `std::string` does under
libstdc++. The invented template parameter's constraint refers to the
function parameter `t`, and the mangler encodes that reference by its
nesting depth, so the function's parameter scope has to be entered
before the name is mangled. `mangleFunctionEncoding` does that in the
common case, but when the return type has a tag it first mangles the
name with a temporary mangler to collect the tags in use, and the scope
was pushed on the outer mangler after the temporary one had already
copied its depth state. The temporary mangler saw depth zero. Without
assertions this didn't crash but produced `fp_` instead of `fL0p_`, a
symbol GCC doesn't emit and that differs from clang's own mangling of
the same declaration without the tag.
The scope is now pushed on the mangler that actually mangles the name,
the same pattern `makeFunctionReturnTypeTags` already uses for its own
temporary mangler. Both branches of `mangleFunctionEncoding` now
establish the same depth state before mangling the name, so the tagged
and untagged manglings agree and the assertion stays as it is.
Commit: 0ca85cb9a1f764970106e86f1aba2aff36789b9a
https://github.com/llvm/llvm-project/commit/0ca85cb9a1f764970106e86f1aba2aff36789b9a
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-clmul.mir
Log Message:
-----------
[GlobalISel] Add computeKnownBits for G_CLMUL opcode (#223980)
Port the computeKnownBits support for ISD::CLMUL from SelectionDAG path
to the GlobalISel G_CLMUL.
Commit: ab2b7a8f930b5ea54a300efc512562770dccae79
https://github.com/llvm/llvm-project/commit/ab2b7a8f930b5ea54a300efc512562770dccae79
Author: ahradwan2-public <ahmedwahab1997 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
Log Message:
-----------
[NFC] Use logical && instead of bitwise & with a logical NOT operand (#223798)
## Summary
Two spots computed `x & !y`, mixing a bitwise AND with a logical NOT:
* CodeGen: `MachineOperand::isKill()` — `IsDeadOrKill & !IsDef`
* OpenMP/Attributor: `AAExecutionDomainFunction::updateImpl` —
`StoredED.IsReachingAlignedBarrierOnly &
!IsEndAndNotReachingAlignedBarriersOnly`
In both cases all operands are booleans (1-bit bitfields / `bool`), so
the
computed value is unchanged. Switch to the logical AND (`&&`) to express
the
intended logical conjunction and restore short-circuiting.
NFC. Resolves CodeQL `cpp/incorrect-not-operator-usage` reports on these
lines.
#### Assisted-by: Cline
#### I don't have write access - please merge on my behalf once
approved. Thanks.
---------
Co-authored-by: Ahmed Radwan <ahradwan at amd.com>
Commit: 9dd84b417c7619030e530d1a4396a9fac618297d
https://github.com/llvm/llvm-project/commit/9dd84b417c7619030e530d1a4396a9fac618297d
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVM.h
M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeFunctions.def
M mlir/lib/Conversion/OpenACCToLLVM/ACCDataDirectivePatterns.cpp
A mlir/lib/Conversion/OpenACCToLLVM/ACCHostDataPatterns.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVM.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVMUtils.cpp
M mlir/lib/Conversion/OpenACCToLLVM/CMakeLists.txt
M mlir/test/Conversion/OpenACCToLLVM/data-diagnostics.mlir
M mlir/test/Conversion/OpenACCToLLVM/data.mlir
A mlir/test/Conversion/OpenACCToLLVM/host-data.mlir
Log Message:
-----------
[mlir][acc] Add host_data codegen to ACCToLLVM (#223887)
Extends the acc to LLVM conversion with codegen for the `host_data`
construct. Each use_device clause becomes a call to the libacctarget
entry point that gives the device address its object is mapped to, so
that the body of the construct works on device addresses. As with the
data directives, this runtime API is not yet finalized; the draft
proposal can be found at
https://github.com/llvm/llvm-project/pull/197894
Co-authored-by: Matsu <kmatsumura at nvidia.com>
Co-authored-by: nvptm <pmathew at nvidia.com>
Commit: 9b42c077c209202d4eabdadec461c73c548e822b
https://github.com/llvm/llvm-project/commit/9b42c077c209202d4eabdadec461c73c548e822b
Author: nudt_yixiao <1272950933 at qq.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/resolve94.f90
Log Message:
-----------
[Flang] Diagnose nonvariable STAT= specifiers (#219696)
An image selector STAT= operand can be parsed as a variable but later
resolve to a nonpointer function reference. Passing this expression to
CoarrayRef::set_stat() violates its invariant and triggers a CHECK.
Verify that the analyzed STAT= expression is a variable before calling
set_stat(), and emit a semantic error when it is not.
Add a regression test to resolve94.f90 covering an implicitly typed
nonpointer function reference used as a STAT= specifier.
Fixes https://github.com/llvm/llvm-project/issues/208889
Co-authored-by: yixiao <yixiao at hygon.cn>
Commit: 95ead5f4928d555ec88b992b4a39849cee9867a9
https://github.com/llvm/llvm-project/commit/95ead5f4928d555ec88b992b4a39849cee9867a9
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[MLIR] Use false instead of nullptr for boolean args. (NFC) (#224009)
This fixes a build failure on macOS with -Werror:
error: implicit conversion of nullptr constant to 'bool'
[-Werror,-Wnull-conversion]
PR: https://github.com/llvm/llvm-project/pull/224009
Commit: 649e3d638e2f2c68c31683ab1f705d04d6ef2a6d
https://github.com/llvm/llvm-project/commit/649e3d638e2f2c68c31683ab1f705d04d6ef2a6d
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintElim] Unify signed and unsigned decomposition paths (NFC) (#223835)
NFCI clean-up after https://github.com/llvm/llvm-project/pull/223537.
Unify signed/unsigned decomposition via isKnownNoWrap.
PR: https://github.com/llvm/llvm-project/pull/223835
Commit: 503e108f373e1fbd64bbf025cd74d98426d4f566
https://github.com/llvm/llvm-project/commit/503e108f373e1fbd64bbf025cd74d98426d4f566
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
Log Message:
-----------
[VPlan] Create VPSlotTracker's ModuleSlotTracker for the plan (NFC). (#223952)
Move the lazy creation of VPSlotTracker's ModuleSlotTracker into a new
getOrCreateMST helper, so it can be shared with other users in the
future (https://github.com/llvm/llvm-project/pull/203982).
Also get the function and module directly from the plan Create it for
the cached module and get the function to incorporate from the plan,
instead of using the module and function of the first unnamed
instruction printed.
PR: https://github.com/llvm/llvm-project/pull/223952
Commit: 1892ec00f9f30f17794cbbe0947ce4a47bead65f
https://github.com/llvm/llvm-project/commit/1892ec00f9f30f17794cbbe0947ce4a47bead65f
Author: miyan <1138989048 at qq.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/cmake/config-ix.cmake
Log Message:
-----------
[cmake] Use the C++ linker when checking libxml2 (#221970)
When libxml2 is built statically with ICU support, its link interface
contains C++ libraries. `check_symbol_exists()` uses the C linker
driver, causing the libxml2 check to fail on unresolved C++ runtime
symbols and incorrectly report that `xmlReadMemory` is unavailable.
This issue was found in https://github.com/microsoft/vcpkg/pull/53727
Commit: e364b9da263dcd9a4dcda0d183f403d3f138bb51
https://github.com/llvm/llvm-project/commit/e364b9da263dcd9a4dcda0d183f403d3f138bb51
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libcxx/include/__configuration/abi.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_result_type.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq.pass.cpp
M libcxx/utils/libcxx/test/features/libcxx_macros.py
Log Message:
-----------
[libc++] Take the mersenne twister ABI break unconditionally (#222700)
Technically this is ABI breaking, since we change the meaning of the
bytes inside the mersenne twister. However, this doesn't cause changes
in the size of any objects and is only an issue in very specific
circumstances. Specifically, the mersenne twister has to be passed on an
ABI boundary and be used on both sides of that ABI boundary. If it's
only used on one side, the values will continue to be correct, since
only a single algorithm is used. Even then, the only issue is that the
values aren't properly randomized, since both versions of the mersenne
twister implementation read the same type of data and produce the same
kind of output with it.
Fixes #209514
Commit: 9dc532b79f8676ad1a7795d0869feb05b558267f
https://github.com/llvm/llvm-project/commit/9dc532b79f8676ad1a7795d0869feb05b558267f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++] Optimize string::erase (#223721)
This change allows the `traits_type::move` (i.e. `memmove`) call to be
tail-called, removing the need for allocating any stack space and a
call. We also copy the null terminator through `memmove` instead of
inserting it manually.
Commit: 3906e0a8aa31a083af51eb886d5b9b210e182495
https://github.com/llvm/llvm-project/commit/3906e0a8aa31a083af51eb886d5b9b210e182495
Author: Adam Smith <adams at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/ABI/Targets/X86.cpp
M llvm/unittests/ABI/X86TargetInfoTest.cpp
Log Message:
-----------
[LLVMABI] Narrow the eightbyte past a union's storage member (#223859)
`getIntegerTypeAtOffset` sized the eightbyte from the storage member the
union reduction picked, even at an offset that member does not reach. A
union whose second eightbyte holds one data byte then coerced to `i64`
where clang coerces to `i8`:
```c
union { char c[9]; void *p; };
```
Clang lowers it to `{ ptr, [8 x i8] }`, so that offset lands on padding
and the coercion narrows to a byte. The classifier now does the same,
and sizes the coercion from the union's remaining bytes otherwise.
Assisted-by: Cursor / claude-opus-5
Commit: e250f3473062ce61843550df00a1843710bc4d2f
https://github.com/llvm/llvm-project/commit/e250f3473062ce61843550df00a1843710bc4d2f
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/IR/Constants.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/OCaml/core.ml
Log Message:
-----------
[IR] Deprecate ConstantExpr::getSizeOf() and getAlignOf() (#223710)
These cannot be represented in terms of ptradd. They should be replaced
with plain constants with the size/alignment (based on DataLayout, or
direct frontend knowledge).
The C API wrappers `LLVMSizeOf()` and `LLVMAlignOf()` are deprecated for
the same reason.
The C APIs `LLVMBuildMalloc()` and `LLVMBuildArrayMalloc()` create a
constant with the size based on data layout now.
Commit: e0f6d55ec93678e9d87bd633c48001c3e6f4b8ce
https://github.com/llvm/llvm-project/commit/e0f6d55ec93678e9d87bd633c48001c3e6f4b8ce
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
Log Message:
-----------
SPIRV: Avoid TargetMachine::createDataLayout in SPIRVTranslate (#224017)
Commit: 0b6050761b5e53cd1c2f825814b46f202c9a83de
https://github.com/llvm/llvm-project/commit/0b6050761b5e53cd1c2f825814b46f202c9a83de
Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
A flang/test/Lower/OpenMP/mismatched-bound-types.f90
Log Message:
-----------
[flang][test][NFC] Re-add OpenMP test for mismatched loop bound types (#223876)
Lowering now materialises the literal at the loop variable's kind, so
there is a single i64 constant and no fir.convert. Updated the checks to
match and re-added the test.
Commit: 1b66ee2a70cd85897a006ac00365f936178d38d7
https://github.com/llvm/llvm-project/commit/1b66ee2a70cd85897a006ac00365f936178d38d7
Author: satyanarayana reddy janga <satyajanga at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
A lldb/test/API/accelerator/mock/TestMockAcceleratorAddressSpaces.py
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/ProcessMockAccelerator.cpp
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/ProcessMockAccelerator.h
Log Message:
-----------
[lldb] End to end test for address spaces using lldb-server mock accelerator plugin (#217092)
Relevant RFC:
https://discourse.llvm.org/t/rfc-address-spaces-support-in-lldb/91222/
Add an end to end test using a mock accelerator that advertises multiple
address spaces.
Commit: 4d00c7b10559e5d4f75fd2c00fa0a29e2be937f4
https://github.com/llvm/llvm-project/commit/4d00c7b10559e5d4f75fd2c00fa0a29e2be937f4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
A llvm/test/Analysis/CostModel/X86/arith-mulh.ll
Log Message:
-----------
[CostModel][X86] Add baseline costs for smulh/umulh intrinsics (#224022)
Commit: a37f19abd0927b5e7a2a59c42bb4dfdb6a2f043e
https://github.com/llvm/llvm-project/commit/a37f19abd0927b5e7a2a59c42bb4dfdb6a2f043e
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/include/unistd.yaml
M libc/src/unistd/linux/sysconf.cpp
M libc/test/src/unistd/sysconf_test.cpp
Log Message:
-----------
[libc] Add macro / sysconf support for POSIX threads features. (#223543)
Define all `_POSIX_THREAD_*` macro and corresponding `_SC_THREAD_`
sysconf names that provide information on availability of certain
POSIX threads features.
* Explicitly provide all relevant macro from POSIX standard:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/unistd.h.html
to either 202405L (current POSIX version supported by LLVM-libc), or -1
(if the feature is unsupported)
* Support returning these features via `sysconf` for matching `_SC_`
name values;
* Add unit tests that validate the actual numerical values.
Commit: 64d1f1a696f223e47c3df168197b2a48d6c8917b
https://github.com/llvm/llvm-project/commit/64d1f1a696f223e47c3df168197b2a48d6c8917b
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/ResetMachineFunctionPass.cpp
M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
M llvm/lib/Transforms/CFGuard/CFGuard.cpp
M llvm/lib/Transforms/Scalar/Reg2Mem.cpp
Log Message:
-----------
[llvm] Remove dead INITIALIZE_PASS instances and declarations (NFC) (#223938)
initializeARCOptAddrModePass:
Introduced on March 20, 2019 in commit
b062239d638ba668d277dd0ec735497b71321d3f without any callers.
initializeResetMachineFunctionPass:
Introduced on August 27, 2016 in commit
374796d6785311f93ba38ebce1b22e11a3df3ec7 without any callers.
initializeCFGuardPass:
Introduced on October 28, 2019 in commit
e59f7488c772c91ba0f7457ef67ffb4b455047b8 without any callers.
initializeMIRPrintingPassPass, MIRPrintingPassID:
Introduced on May 27, 2015 in commit
2bdb4e1063f5cbc8bb1262d90cca056e9fb31fbb without any callers.
initializeRegToMemWrapperPassPass:
Introduced on October 21, 2024 in commit
e26d9070d3eaee587b3ef0da6d12200a5b994765 without any callers.
Assisted-by: Antigravity
Commit: eac6cdf2fffaa000d022f8d504508bd95c52c852
https://github.com/llvm/llvm-project/commit/eac6cdf2fffaa000d022f8d504508bd95c52c852
Author: Vito Secona <secona00 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
Log Message:
-----------
[mlir][SparseTensor][NFC] Improve documentation for SparseTensor_LvlOp (#223307)
Update the `sparse_tensor.lvl` documentation to correctly describe the
level mapping for `%j floordiv 3`.
Commit: 1a8b98e4017ba8cbe51c362f65a1932c7da9aa1e
https://github.com/llvm/llvm-project/commit/1a8b98e4017ba8cbe51c362f65a1932c7da9aa1e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github] Bump AArch64 premerge to Ubuntu 26.04 (#224016)
Mainly so that we pull in a new CMake. x86 Linux needs to be handled in
zorg.
Commit: 91a87531f26b989863517e07f0648733029c7cfe
https://github.com/llvm/llvm-project/commit/91a87531f26b989863517e07f0648733029c7cfe
Author: google-yfyang <yfyang at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libcxx/include/__locale_dir/support/linux.h
Log Message:
-----------
[libc++] Skip including langinfo.h when unused (#223749)
A previous change unconditionally includes <langinfo.h>.
__get_locale_encoding() only uses langinfo when compiling shared
libraries, and hardcodes "UTF-8" on Android.
glibc's <langinfo.h> defines POSIX nl_item constants as raw numeric
preprocessor macros (#define ERA 46).
This causes Bionic's #define ERA 46 leaks into C++ translation units on
Android and fails the compilation with:
```
error: expected member name or ';' after declaration specifiers
static constexpr typename ERA = random_value;
```
Commit: f84aee6257bd37def74ce179252ce38c19323fc8
https://github.com/llvm/llvm-project/commit/f84aee6257bd37def74ce179252ce38c19323fc8
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M mlir/python/mlir/dialects/linalg/__init__.py
M mlir/test/python/dialects/linalg/ops.py
Log Message:
-----------
[mlir][python] Register linalg.ElementwiseOp wrapper as op view (#223806)
Register the wrapper for `ElementwiseOp` with
`@_ods_cext.register_operation(_Dialect, replace=True)` so the exported
class is the one the registry instantiates.
Fixes #223673
Assisted by: Claude
Commit: 02bd47db9d3c4313fe1b5054ed8a1a081f1b7f78
https://github.com/llvm/llvm-project/commit/02bd47db9d3c4313fe1b5054ed8a1a081f1b7f78
Author: Mattéo Rizza Murgier <matteo.rizza-murgier at sipearl.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Log Message:
-----------
[SDAG][NFC] Replace initialization UNDEF by POISON (#224015)
Commit: e5e30255b4cfe0684741b45b16c20ff64e01bca3
https://github.com/llvm/llvm-project/commit/e5e30255b4cfe0684741b45b16c20ff64e01bca3
Author: Steven Wu <stevenwu at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/CAS/OnDiskGraphDB.cpp
M llvm/unittests/CAS/OnDiskGraphDBTest.cpp
Log Message:
-----------
[CAS] Check StandaloneData before reopening a standalone object (#223807)
OnDiskGraphDB::load() inserted every standalone object it mapped into
StandaloneData but never read from it: lookup() and count() had no
callers anywhere. So each load of an object stored outside the data pool
repeated the open, fstat, mmap and close, and then insert() saw the hash
was already present, dropped the freshly created mapping, and returned
the pointer it already had. The whole sequence was wasted.
Consult lookup() before touching the filesystem to make loading already
opened CAS objects much faster.
Commit: 8ee79595a91fa0abcba887decb439e36dc94b0a0
https://github.com/llvm/llvm-project/commit/8ee79595a91fa0abcba887decb439e36dc94b0a0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Simplify isSImm18() in RISCVAsmParser. NFC (#223928)
Use isSImm<18>() instead of isSImmPred.
Commit: 05117eb95d60873ce575af564ce2532ab0343bb9
https://github.com/llvm/llvm-project/commit/05117eb95d60873ce575af564ce2532ab0343bb9
Author: janr-bay <jrehders at baylibre.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
M llvm/lib/Target/AArch64/AArch64SRLTDefineSuperRegs.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
Log Message:
-----------
[AArch64] Replace uses of AArch64::NoRegister with Register() or isValid() NFC (#220227)
This came up during work on another PR, @topperc suggested it as ongoing
work
[here](https://github.com/llvm/llvm-project/pull/210992#discussion_r3738407180).
This replaces all remaining uses for aarch64, similar to previous
changes for the [RISCV
backend](https://github.com/llvm/llvm-project/commit/62791b43774615b24d565130c8c3f1e6e5145dd8#diff-b2797a1529366b39522e2b80e2719e331875ec3f70214b2a4ce9524821d471b9)
and [AMDGPU
backend](https://github.com/llvm/llvm-project/commit/191d70f2f52d9cd38e0c57f8319b466eff1ac023)
Commit: ae9feeea47f191cce37ef408ee0a692652c1c62a
https://github.com/llvm/llvm-project/commit/ae9feeea47f191cce37ef408ee0a692652c1c62a
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M flang/lib/Evaluate/tools.cpp
M flang/test/Lower/OpenACC/acc-cache.f90
M flang/test/Lower/split-sum-expression-tree-lowering.f90
M flang/test/Lower/split-sum-expression-tree-subscripts.f90
Log Message:
-----------
[flang] Join reassociated sums with the head first (#223966)
After #222302 we saw a small regression in bwaves with -ffast-math on
some CI machines. I'm quite surprised that this expression ordering has
any effect when reassociation is enabled in the middle-end. The change
in this commit is a bit arbitrary but it restores bwaves performance
without regressing anything else.
Keep the first two terms in the left operand of the final signed join.
Retain both right-associated folds and the existing eligibility guards.
This preserves the source order between the two groups, allowing a
head-first alternative to the code shape produced by tail-first joining.
Update lowering order checks and use four terms in nested-expression
coverage so enabled reassociation remains distinct from the opt-out.
Assisted-by: codex
Commit: e141b669757bd795015b22e02f28f19d4b4759a3
https://github.com/llvm/llvm-project/commit/e141b669757bd795015b22e02f28f19d4b4759a3
Author: Kiroo (Chanung) <ung at zlfn.space>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/builtin-frame-address-arg-type.c
A clang/test/CodeGen/builtin-prefetch-arg-type.c
M clang/test/Sema/builtin-prefetch.c
Log Message:
-----------
[clang][CodeGen] Emit prefetch hints and frame address depth as i32 (#221477)
The hint operands of `llvm.prefetch` and the depth operand of
`llvm.frameaddress` and `llvm.returnaddress` are declared as i32, but
clang emitted the values at the width of the C argument's type.
`__builtin_prefetch` is declared with a variadic prototype, `void(void
const*, ...)`, so its hint arguments are never converted to a parameter
type; only the default argument promotions apply. The depth argument is
emitted at the type of `unsigned int`. Two cases end up with a width
other than 32 bits:
- Targets whose `int` is 16 bits, such as MSP430 and AVR.
Plain `__builtin_prefetch(p, 1, 3)` or `__builtin_frame_address(0)` is
hit this.
- An argument written with a type wider than 32 bits, on any target.
`__builtin_prefetch(p, 1L, 3L)` reproduces this on LP64 targets
`__builtin_prefetch(p, 0 * sizeof(int))` is the same on LP64
#202061
`__builtin_prefetch(p, 1LL, 3LL)` reproduces this on 32 bit targets
Either way the emitted call does not match the intrinsic's signature.
With assertions enabled this trips
`assert(... "Calling a function with a bad signature!")` in
`CallInst::init`;
without them the verifier rejects the module:
```console
$ clang -cc1 -triple msp430 -emit-llvm t.c -o -
call void @llvm.prefetch.p0(ptr %0, i16 1, i16 3, i32 1)
%0 = call ptr @llvm.frameaddress.p0(i16 0)
fatal error: error in backend: Broken module found, compilation aborted!
```
Zero-extend or truncate them to i32 before building the intrinsic call.
The conversion is a no-op where the widths already match, and folds back
to a constant, since Sema already requires these arguments to be
constants in range.
This also removes the FIXME that pointed at the mismatch.
AI assistance helped me find the problem and work out the fix, but I
wrote the code myself.
Assisted-by: Claude Opus 5
Fixes #202061, Fixes #222910
Co-authored-by: mygitljf <2410316423 at qq.com>
Commit: 7971e862b32032d2d049da76bee6cf42bd0efc07
https://github.com/llvm/llvm-project/commit/7971e862b32032d2d049da76bee6cf42bd0efc07
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
A llvm/test/Transforms/SandboxVectorizer/Passes/BundleVec/AMDGPU/lit.local.cfg
A llvm/test/Transforms/SandboxVectorizer/Passes/BundleVec/AMDGPU/unsupported_alignment.ll
Log Message:
-----------
[SandboxVec][BundleVec][NFC] Precommit test (#223880)
This is a test for a follow-up patch that adds alignment checks.
Commit: f175521aad0e82e632516ccb7bd7a14d5ab31363
https://github.com/llvm/llvm-project/commit/f175521aad0e82e632516ccb7bd7a14d5ab31363
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitreplicate.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for s_bitreplicate (#189138)
Add uniform and divergent rules for s_bitreplicate intrinsic.
Assisted-By: Claude
Commit: 998c6e2511a4806ea1c37af6e1f1b776f5205455
https://github.com/llvm/llvm-project/commit/998c6e2511a4806ea1c37af6e1f1b776f5205455
Author: Michael G. Kazakov <mike.kazakov at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/cmake/caches/Apple.cmake
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp
Log Message:
-----------
[libc++][pstl] Use libdispatch on Apple platforms by default (#223240)
Currently the default on Apple platforms is "std_thread", which is a
serial dummy.
To enable automatic benchmarking of PSTL, set the backend to
"libdispatch" by default, so it doesn't require specific overrides in
`libcxx/utils/ci/lnt/cmake`.
As a drive-by, fixes some of the minor issues with this backend that
surfaced once more pipelines started using it.
Commit: 1f1c824ad1844bbac5b65cdf78d7c1d6e28bd1b0
https://github.com/llvm/llvm-project/commit/1f1c824ad1844bbac5b65cdf78d7c1d6e28bd1b0
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp
A llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_load_seeds.ll
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
Log Message:
-----------
[SandboxVec][LoadStoreVec] Vectorize load seed chains (#215944)
LoadStoreVec previously only vectorized store bundles. SeedCollection
already emits homogeneous store and load slices separately, so
runOnRegion() now dispatches on the seed kind and calls
vectorizeStores()
or vectorizeLoads() accordingly.
Add vectorizeLoads() to combine consecutive load chains into a single
vector load, unpack for remaining uses, and clean up dead scalar loads
and pointer operands.
Add load_store_vec_load_seeds.ll covering load-only seeds (no uses,
single use, general uses, vector-typed loads, and mixed-type cases), and
extend load_store_vec.ll with a trivial load-then-store case.
Commit: 9e39a5e4a606e2ef8e46bd4a947f0b39feacecc7
https://github.com/llvm/llvm-project/commit/9e39a5e4a606e2ef8e46bd4a947f0b39feacecc7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libcxx/include/__configuration/compiler.h
Log Message:
-----------
[libc++] Reword confusing warning message about AppleClang version (#222380)
AppleClang 26.4 is not a thing -- it's AppleClang 21.0 that shipped with
Xcode 26.4.
Commit: f9de9e4735b386b7def972915e4c166505d4e361
https://github.com/llvm/llvm-project/commit/f9de9e4735b386b7def972915e4c166505d4e361
Author: Sivapriya <sivapriyaofficial2005 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/Targets/NVPTX.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGenCUDA/surface.cu
Log Message:
-----------
[CIR][CUDA] Add semantic surface reference type (#223013)
Commit: 40057479b2894cf56e65992a007d679c0c4d639c
https://github.com/llvm/llvm-project/commit/40057479b2894cf56e65992a007d679c0c4d639c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
M libcxx/test/benchmarks/containers/associative/flat_map.bench.cpp
M libcxx/test/benchmarks/containers/associative/flat_multimap.bench.cpp
M libcxx/test/benchmarks/containers/associative/map.bench.cpp
M libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
M libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
M libcxx/test/benchmarks/containers/associative/set.bench.cpp
M libcxx/test/benchmarks/containers/associative/unordered_map.bench.cpp
M libcxx/test/benchmarks/containers/associative/unordered_multimap.bench.cpp
M libcxx/test/benchmarks/containers/associative/unordered_multiset.bench.cpp
M libcxx/test/benchmarks/containers/associative/unordered_set.bench.cpp
Log Message:
-----------
[libc++] Return a const reference from get_key in benchmarks (#216088)
It was unnecessary to create a temporary string, and in fact it would
have a negative impact on some benchmarks like `erase(key) (existent)`
which called get_key in the hot loop.
Commit: 28cf18776b433264c7f19919c035f9f8a3143e1b
https://github.com/llvm/llvm-project/commit/28cf18776b433264c7f19919c035f9f8a3143e1b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
Log Message:
-----------
[libc++] Fix query benchmarks for associative containers (#216065)
We were calling get_key and the random number generator in the hot loop.
Instead, create a pool of keys to draw from in the initial setup phase,
and then query these keys in a round-robin fashion.
Commit: 9f6791b42d91f72592133e470a4408ae49026ab7
https://github.com/llvm/llvm-project/commit/9f6791b42d91f72592133e470a4408ae49026ab7
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
Log Message:
-----------
[lldb-dap][test] Only check compile units from stack frames for main.c (#223450)
The `test_stack_frame_compile_unit_id` test case added in #222512 checks
that compileUnitId in a stack frame points to the source file. However,
it does so by checking there is only one unique compileUnitId in the
whole stack trace. This may not be true if start.S is included as a
compile unit.
Relax the check by only looking for stack frames that point to main.c.
Also check the other way, i.e. ensure the same compile unit id isn't
referenced by a stack frame that doesn't point to main.c. This way the
test retains its stated goal of making sure the compile unit id resolves
to its source file while also allowing start.S from a different compile
unit to be present.
Commit: db96dfae2a4fd74cb1dba7b4f9dec2dba4c83864
https://github.com/llvm/llvm-project/commit/db96dfae2a4fd74cb1dba7b4f9dec2dba4c83864
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/FIRToMemRefTypeConverter.h
M flang/unittests/Optimizer/OpenACC/FIROpenACCPointerLikeTypeInterfaceTest.cpp
Log Message:
-----------
[flang][FIRToMemRef] Treat heap-pointer allocas as static, not as dynamic arrays (#223821)
Whole-array assignment of an allocatable inside !$acc kernels with
-Mstack_arrays aborted on !fir.ref<!fir.heap<!fir.array<?xf32>>>. A
fir.alloca !fir.heap<array> is a local heap pointer, but it was
unwrapped and handled as a dynamic array. The memref converter then
peeled only the outer ref and asserted because !fir.heap is not a memref
element.
Keep the pointer as a static allocation. Make convertibleMemrefType use
the same one-pointer peel as convertMemrefType so a nested pointer is
not treated as an f32 array.
Commit: fd2f003b399675d0e6cf135ebc3b97cb138b699d
https://github.com/llvm/llvm-project/commit/fd2f003b399675d0e6cf135ebc3b97cb138b699d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-inst-count.ll
Log Message:
-----------
[SLP][NFC]Add a test with missed vectorization because of instcount check, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224074
Commit: 9df3e81cb2eefa2559eb9989bfdbd475dc23d0a2
https://github.com/llvm/llvm-project/commit/9df3e81cb2eefa2559eb9989bfdbd475dc23d0a2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/AArch64/abi-classify-return-types.c
A clang/test/CodeGen/AArch64/abi-classify-return-types.cpp
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/lib/ABI/TargetInfo.cpp
M llvm/lib/ABI/Targets/AArch64.cpp
M llvm/lib/ABI/Targets/BPF.cpp
M llvm/lib/ABI/Targets/X86.cpp
M llvm/unittests/ABI/AArch64TargetInfoTest.cpp
Log Message:
-----------
[LLVMAABI][AARCH64] Handle homogeneous aggregate return types (#218799)
This change implements the IsHomogenousAggregate() function, which is
shared across targets, and uses it to implement direct passthrough of
return values that meet the homogeneous aggregate criteria.
I'm also adding a new AArch64ABIOptions object that will be used to
track various conditions that are derived from target settings and must
be accounted for in the ABI handling. This change adds only two options,
IsILP32 and IsMicrosoftCXXABI. Other options are expected and will be
added as they are needed.
This change also revises the not-yet-implemented cases, having them
return Ignore rather than Direct so that they fail in more obvious ways.
This was necessary in order to be able to distinguish a return type that
was classified as Direct because it was a homogeneous aggregate from one
that was classified as Direct because it was an unhandled type.
Assisted-by: Cursor / various models
Commit: c14e0afbc1318afb8c4a17f32bfc5fa3ff079658
https://github.com/llvm/llvm-project/commit/c14e0afbc1318afb8c4a17f32bfc5fa3ff079658
Author: Hongyu Chen <xxs_chy at outlook.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
Log Message:
-----------
[RISCV][P-ext] Support Packed Element Join (#223931)
See also
https://github.com/riscv/riscv-p-spec/blob/master/P-ext-intrinsics.adoc#packed-element-join.
Commit: 2bef9bbff02d44a5c3431b3a3c4634702662208d
https://github.com/llvm/llvm-project/commit/2bef9bbff02d44a5c3431b3a3c4634702662208d
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
[bazel][compiler-rt] Exclude sanitizer_offload sources from sanitizer_common (#224078)
Fixes build failure introduced by 988c5a95ffa7 ("[compiler-rt] Factor
HSA layer into common helpers (#223532)").
Commit: c1ee481199adc4c388d2321cd8d16080256ae7a6
https://github.com/llvm/llvm-project/commit/c1ee481199adc4c388d2321cd8d16080256ae7a6
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
AMDGPU: Separate getCoExecInfo opcode classification (#220329)
Extract WMMA opcode classification from getCoExecInfo into a dedicated
helper. Also track functional unit occupancy separately from the
co-execution window.
Commit: 630b6b92235ea34a50efd1c4d9f101af25547141
https://github.com/llvm/llvm-project/commit/630b6b92235ea34a50efd1c4d9f101af25547141
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/include/clang/CodeGen/BackendUtil.h
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
A clang/test/CodeGen/Inputs/riscv-ilp32e-no-datalayout.ll
M clang/test/CodeGen/PR44896.ll
M clang/test/CodeGen/asan-unified-lto.ll
A clang/test/CodeGen/riscv-ir-datalayout-preserve.ll
M lldb/test/API/functionalities/inline-sourcefile/inline.ll
Log Message:
-----------
clang: Do not overwrite a module's DataLayout in the backend (#224012)
emitAssembly() unconditionally reset the module's DataLayout from
TargetMachine::createDataLayout(). The TargetMachine's DataLayout is
unreliable given the existence of the "target-abi" module flag, so it
should not be used.
For -x ir input modules this would discard the correct datalayout in
favor of a possibly wrong one.
The post-codegen consistency check compared the module's DataLayout
against clang's frontend getDataLayoutString(), which likewise ignores the
target-abi flag. Recompute the expected layout from the module's own ABI via
Triple::computeDataLayout(getTargetABIName(M)) so the check stays
meaningful without assuming the DataLayout is a fixed property of the target
options. This still detects frontend/LLVM DataLayout drift for generated modules.
PR44896.ll and asan-unified-lto.ll declared x86_64 modules but ran without an
explicit triple, relying on the old overwrite to convert them to the default target.
Pin them to their declared triple and refresh their stale DataLayout strings.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 98bee8bfad61f006d966bcce16e12c520ea03c9c
https://github.com/llvm/llvm-project/commit/98bee8bfad61f006d966bcce16e12c520ea03c9c
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/intrinsic.ll
Log Message:
-----------
[VectorUtils] Allow trivially vectorising llvm.[su]mulh. (#223998)
Commit: b8f1eeb6a61ace4a4ef06687e13424876fd109cd
https://github.com/llvm/llvm-project/commit/b8f1eeb6a61ace4a4ef06687e13424876fd109cd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZicfiss.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/test/MC/RISCV/rvzimop-valid.s
Log Message:
-----------
[RISCV] Add hasCompleteDecoder to sspopchk, sspush, and ssrdp operands. (#223847)
This allows them to disassemble as mop.r.28 or mop.rr.7 when the
operands are not valid for the Zicfiss mnemonic.
Assisted-by: Claude
Commit: 5a01e5e8db22dbab1b41f2ee7e76f243b8f0d952
https://github.com/llvm/llvm-project/commit/5a01e5e8db22dbab1b41f2ee7e76f243b8f0d952
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
Log Message:
-----------
[RISCV] Merge decodeUImmOperand and decodeUImmOperandGE. NFC (#223925)
Add the LowerBound template argument to decodeUImmOperand with a default
value of 0.
Similar for decodeUImmPlus1Operand and decodeUImmPlus1OperandGE, but
default the LowerBound to 1.
Commit: 214f9e4abe156f39350b458002e11ec44cecacd3
https://github.com/llvm/llvm-project/commit/214f9e4abe156f39350b458002e11ec44cecacd3
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
[Workflows] Mark miscompilation:undef as uninteresting (#220300)
Address comment
https://github.com/llvm/llvm-project/issues/218908#issuecomment-5470741016.
Commit: 062f3b88efdb0b8cf311a88cc5f72f72eacfc371
https://github.com/llvm/llvm-project/commit/062f3b88efdb0b8cf311a88cc5f72f72eacfc371
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Log Message:
-----------
[gn] "port" 988c5a95ffa7 (sanitizer_offload compiler-rt) (#224091)
Commit: 616ec370aa2dd576d5469baf312c284bcefb4f6f
https://github.com/llvm/llvm-project/commit/616ec370aa2dd576d5469baf312c284bcefb4f6f
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/compare.c
Log Message:
-----------
[Clang] Fix `-Wsign-compare` assertion when negating a vector of unsigned integers (#223295)
Fixes #203575
`-1 == -*c`, where `c` points to a vector of `unsigned`, hit the
`unsigned range includes negative?` assertion in `AnalyzeComparison`.
The range analysis for unary `-` and `~` (added in #126846) checks
whether the result type is unsigned with `isUnsignedIntegerType()`,
which never looks through vector types. So the negated unsigned vector
was treated as a signed negation and came back with a possibly-negative
range, even though the operand's own range was correctly unsigned. Same
story for `~*c`.
The check now uses `hasUnsignedIntegerRepresentation()`, which looks
through vector and matrix element types the same way
`IntRange::forValueOfType` and the caller in `AnalyzeComparison` already
do. The binary-operator result gets the same predicate for its
non-negative fixup, since it had the identical blind spot. With that, a
negated unsigned vector takes the same path as a negated `unsigned`
scalar, and the comparison warns about mixed signs again as it did
before Clang 21.
Commit: cc0e7853b3d6c01b0ba954ed3578c6a6376840f7
https://github.com/llvm/llvm-project/commit/cc0e7853b3d6c01b0ba954ed3578c6a6376840f7
Author: Anshul Nigham <nigham at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
Fix bazel build for llvm_exegesis_tests (#224085)
- llvm/unittests:llvm_exegesis_tests: Fixes
https://github.com/llvm/llvm-project/pull/208364 (commit 6c31f6446a55)
Root cause: Adding PerfHelperTest.cpp introduced an include of
<perfmon/perf_event.h> under HAVE_LIBPFM, which failed layering_check
and was missing a dependency on libpfm. Fix: Disable layering_check
Commit: ea5b2be249599ba4e7fc6c6c574ee6a936bafd3f
https://github.com/llvm/llvm-project/commit/ea5b2be249599ba4e7fc6c6c574ee6a936bafd3f
Author: PiJoules <leonardchan at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
M llvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll
Log Message:
-----------
[RelLookupTableConverter] Allow multiple uses of loaded value (#223853)
RelLookupTableConverter previously required `!Load ||
!Load->hasOneUse()`, which prevented converting lookup tables if the
loaded pointer was used more than once in the function.
This restriction is unnecessary since the loaded value itself can be
used many times. The check was likely an over-zealous carryover from
`GV->hasOneUse()` and `GEP->hasOneUse()`.
Remove the check and add a test verifying that lookup tables with
multiple uses of the loaded pointer are converted.
Commit: 01edf187213105e35db8aef724a63f86241b6bd4
https://github.com/llvm/llvm-project/commit/01edf187213105e35db8aef724a63f86241b6bd4
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libcxx/utils/ci/buildkite-pipeline.yml
Log Message:
-----------
[libc++][ci] Retarget the ARM BuildKite runners (#224107)
I enabled agent clusters in BuildKite since unclustered agents are not
supported anymore. As part of that, I created a new libcxx-builders-arm
queue to replace the existing queue. This patch switches the pipeline
definition so that new jobs start targeting the new queue with clustered
agents.
Commit: 9cc2e03045417d4a2cf53385c58da724604e673e
https://github.com/llvm/llvm-project/commit/9cc2e03045417d4a2cf53385c58da724604e673e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
M llvm/test/CodeGen/WebAssembly/function-bitcasts.ll
M llvm/test/CodeGen/WebAssembly/irreducible-cfg-exceptions.ll
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-options.ll
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-em-exceptions-allowed.ll
M llvm/test/CodeGen/WebAssembly/lower-em-exceptions-resume-only.ll
M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
Log Message:
-----------
CodeGen: Read the exception model from the module flag in EH lowering (#223970)
Resolve the exception model as the exception-model module flag if
present, otherwise the TargetOptions default.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 3bc966a73f04e05d6e9e9720e8b7ba6431fe47e7
https://github.com/llvm/llvm-project/commit/3bc966a73f04e05d6e9e9720e8b7ba6431fe47e7
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/level_zero/include/L0Device.h
Log Message:
-----------
[Offload] Minor changes to address build issues (#224047)
This patch includes a few changes to fix customized build process of
offload components with relatively old build compilers. Current LLVM
build does not need this change since it uses just-built clang to build
offload components, but it does not hurt to make the code buildable with
other compilers.
Assisted by Claude Code.
Commit: d8a3beaf45538daa59294e7c59987f6fbfe3f491
https://github.com/llvm/llvm-project/commit/d8a3beaf45538daa59294e7c59987f6fbfe3f491
Author: MaoJiaping <maojiaping1 at huawei.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/GlobalValue.h
R llvm/include/llvm/Transforms/Utils/SplitModuleCommon.h
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/SplitModule.cpp
R llvm/lib/Transforms/Utils/SplitModuleCommon.cpp
M llvm/test/tools/llvm-split/unnamed.ll
Log Message:
-----------
[NFC][IR][GlobalValue] Move externalize helpers to GlobalValue (#223654)
This PR is a revised refactoring of #221181.
To improve generality, it makes the splitting helpers
externalizeGlobal() and nameUnnamedGlobalValue() generic members of
GlobalValue and removes SplitModuleCommon:
- GlobalValue::externalize() promotes a local-linkage global to external
+ hidden and names it if unnamed.
- GlobalValue::nameUnnamed() names unnamed globals __llvm_unnamed.
Co-authored-by: maojiaping <maojiaping1.huawei.com>
Commit: ef7c0b519df40c2e3d46d493b7f7863e43102fd8
https://github.com/llvm/llvm-project/commit/ef7c0b519df40c2e3d46d493b7f7863e43102fd8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
Log Message:
-----------
CodeGen: Replace some getPointerRegClass() uses with operand reg classes (#223930)
Try to take the register class from the contexual instruction being
emitted instead. This is a step towards fully replacing PointerLikeRegClass with
RegClassByHwMode.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Commit: 543f4c964c423f78b1f1589a7c38b0273bcef1d6
https://github.com/llvm/llvm-project/commit/543f4c964c423f78b1f1589a7c38b0273bcef1d6
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenACC/acc-routine-bind-cuda-modfile.cuf
Log Message:
-----------
[flang][openacc][cuda] Recover acc routine bind info in CUDA Fortran module reads (#223595)
CUDA Fortran device code can call a procedure whose device-side symbol
is given by `acc routine bind(...)` in the module that declares it.
The using translation unit is often compiled with CUDA Fortran enabled
and without an OpenACC target, so the `$acc` sentinel was never
recognized when re-parsing the module file and the bind clause was
dropped.
Enable OpenACC while reading module files under CUDA Fortran as well,
and resolve the recovered directives onto the imported symbols. User
`$acc` in the main source remains ignored without `-fopenacc`; only
directives that already survived into the `.mod` are honored.
A bind(C) host name and an acc bind device name on the same procedure
is the dual-name rule in OpenACC §2.15.1.
Commit: c9c1ed7e41b245d15ee339b51696c546d5dc6d18
https://github.com/llvm/llvm-project/commit/c9c1ed7e41b245d15ee339b51696c546d5dc6d18
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb] Add an option to build liblldb statically (#223210)
This builds on the Emscripten host and platform work from the previous
patches.
`liblldb` is currently always created as a shared library. That makes
sense for the normal LLDB installation, but it is restrictive for
embedders where dynamic libraries are unavailable, expensive to load or
simply not the preferred deployment model.
My immediate use case is bringing LLDB into
[WasmBolt](https://github.com/anutosh491/WasmBolt) (try
[here](https://anutosh21.github.io/WasmBolt/)). Loading the complete
`liblldb` WebAssembly side module dynamically has significant startup
overhead. A static build lets the browser application link the required
LLDB components and plugins into its main module during CI, after which
startup is much faster and the linker can remove unreachable code.
The use case is not specific to Emscripten, so this patch adds the
platform-independent `LLDB_BUILD_STATIC_LIBLLDB` option while preserving
the existing shared-library default.
The patch:
- builds `liblldb` as a static library when explicitly requested;
- installs the resulting archive;
- skips shared-library version and export-list processing;
- propagates `LLDB_STATIC` so Windows consumers do not use `dllimport`;
- rejects the incompatible combination with `LLDB_BUILD_FRAMEWORK`.
In my Emscripten 6 experiment, the statically linked final module is
around 74 MB, while the shared `liblldb` side module alone was around 98
MB and considerably more expensive to load.
Tested by:
- building and installing `liblldb.a` natively on macOS;
- building `liblldb.a` with Emscripten 6;
- linking the complete Emscripten `lldb.wasm` executable against the
static target;
- confirming that the default configuration still generates shared
`liblldb`.
Commit: f2e5ab1df1e2cece40ec39f54e00d5603553e49b
https://github.com/llvm/llvm-project/commit/f2e5ab1df1e2cece40ec39f54e00d5603553e49b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/early-exit-branch-weights.ll
A llvm/test/Transforms/LoopVectorize/replicate-region-guard-unknown-prof.ll
A llvm/test/Transforms/LoopVectorize/scev-check-unknown-prof.ll
A llvm/test/Transforms/LoopVectorize/select-branch-weights.ll
A llvm/test/Transforms/LoopVectorize/select-unknown-prof.ll
A llvm/test/Transforms/LoopVectorize/skeleton-branches-unknown-prof.ll
Log Message:
-----------
[LV] Add tests for branch weights of branches and selects (NFC). (#224061)
Add for missing branch weights on branches and selects created by LV:
* Skeleton branches
* early exit branches
* various selects.
Commit: 79cfd3d03db54221240910523b5d99aece2c02f3
https://github.com/llvm/llvm-project/commit/79cfd3d03db54221240910523b5d99aece2c02f3
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M flang/include/flang/Support/Fortran.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Support/Fortran.cpp
A flang/test/Semantics/CUDA/cuf-matching-managed-static.cuf
Log Message:
-----------
[flang][cuda] Limit mem:managed generic matching to allocatable and pointer (#223801)
managed memory mode only puts allocatable and pointer allocations in
managed memory. Static and automatic host objects stay host-resident, so
they must not match a device/managed/unified dummy during generic
resolution.
Keep the -gpu=mem:unified relaxation for all host variables, which are
device-accessible in that mode.
This stops host calls such as sum(host_array(:)) from resolving to a
CUDA Fortran device-dummy specific.
Commit: ec4d25ab1d0f47f078fd749f6073f04cc820ddf3
https://github.com/llvm/llvm-project/commit/ec4d25ab1d0f47f078fd749f6073f04cc820ddf3
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sme-za-tailcall-fpdiff-align.ll
A llvm/test/CodeGen/AArch64/swifttail-fpdiff-align.ll
M llvm/test/CodeGen/AArch64/tail-call-stack-args.ll
Log Message:
-----------
[llvm][AArch64] Fix FPDiff founding direction in non-sibcall tail calls (#223545)
This fixes another subtle bug in frame accounting (see: #217156 /
#220406), for tail calls that have a non-multiple of 16 bytes worth of
stack arg area, and need that stack arg re-use to be increased to cover
the alignment requirement. This is best illustrated with callers
containing 8 formal arguments covering the first 8 GPRs (x0-x7),
followed by 9 bytes of argument passed on the stack.
In a callee-pops tail call (e.g. tailcc/swifttailcc), the set of
reusable stack arg area bytes has already been sufficiently aligned by
LowerFormalArguments, so growing NumBytes up to StackAlign is enough to
consume that excess. Otherwise (e.g. a plain C-convention call, forced
off the sibcall path, as in the aarch64_inout_za tests), we can't rely
on either having been pre-aligned, so we round NumBytes up to the same
residue mod StackAlign as NumReusableBytes, which cancels the residue
out of their difference (FPDiff), thus keeping the stack aligned going
into the callee.
Concretely, #220406 computed the Realign distance needed to round FPDiff
up to the next multiple of StackAlign, then subtracted that from FPDiff.
Subtracting that round-up distance overshoots rounding down to the
nearest multiple, and in general arrives at a value that may not even be
a multiple of StackAlign. For example, in @caller_last_stack_arg_i64 we
had NumReusableBytes=8 and NumBytes=1 for an FPDiff of 7, which computed
Realign=9, FPDiff=-2, NumBytes=10 instead of the intended NumBytes=8,
FPDiff=0.
rdar://187331378
Commit: a63dc3288d2b8e178f55590797732dba540fac7d
https://github.com/llvm/llvm-project/commit/a63dc3288d2b8e178f55590797732dba540fac7d
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
A clang/test/CodeGen/call-graph-section-definition-noprototype.c
A llvm/test/Linker/callgraph-section-noprototype.ll
Log Message:
-----------
[clang][CodeGen] Construct function type for callgraph from function definition (#212863)
When -fexperimental-call-graph-section is enabled, for unprototyped
function
definitions (such as C89 parameterless declarations or K&R definitions)
reconstruct their prototype from the parameter declarations in the
definition AST (applying default argument promotions to parameters).
Assisted by: Gemini
Commit: 1ac93e094347b45208f215c98038606432c87d60
https://github.com/llvm/llvm-project/commit/1ac93e094347b45208f215c98038606432c87d60
Author: Michael G. Kazakov <mike.kazakov at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
A libcxx/test/benchmarks/algorithms/nonmodifying/pstl.for_each.bench.cpp
Log Message:
-----------
[libc++][pstl] Benchmark for parallel std::for_each (#222153)
Adds the first benchmark suite for PSTL algorithms - `std::for_each`.
It measures the algorithm against 3 different sizes: `64`, `64K` and
`64M` elements; and against 3 different per-element operation costs:
`minimal`, `cheap` and `expensive`, thus producing 9 separate
benchmarks.
The suite normally runs only with `std::execution::par`, serial
benchmarks can be additionally executed by defining
`TEST_PSTL_ENABLE_SEQ_BASELINES`.
Commit: 617bbcec530238ddc3bc79f57d9da97ed0840552
https://github.com/llvm/llvm-project/commit/617bbcec530238ddc3bc79f57d9da97ed0840552
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Pass/PassStatistics.cpp
M mlir/lib/Target/SMTLIB/ExportSMTLIB.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[MLIR] Use make_isa_range instead of dyn_cast/continue (NFC). (#223974)
Simplify loops using dyn_cast + early continue using make_isa_range,
added in https://github.com/llvm/llvm-project/pull/223414.
Aided by Opus 5.
PR: https://github.com/llvm/llvm-project/pull/223974
Commit: 7060e05dedeafec4f6e9f3fd429065da4944a32e
https://github.com/llvm/llvm-project/commit/7060e05dedeafec4f6e9f3fd429065da4944a32e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
Revert "[Github] Bump AArch64 premerge to Ubuntu 26.04" (#224118)
Reverts llvm/llvm-project#224016
Breaks cross-project-tests
Commit: 901f525d3cc9ae5dd9a4fbb4201bb63516b77dbd
https://github.com/llvm/llvm-project/commit/901f525d3cc9ae5dd9a4fbb4201bb63516b77dbd
Author: David Green <david.green at arm.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/ARM/arm_fill_q7.ll
A llvm/test/Transforms/PhaseOrdering/ARM/arm_mat_mult_q31.ll
M llvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll
Log Message:
-----------
[ARM] Add MVE matrix multi phase ordering test. NFC (#224120)
Also cleans up the existing run lines, containing legacy pass manage
runs.
Commit: 49923e950b3e8f0adb693aa68b99df6a2479418b
https://github.com/llvm/llvm-project/commit/49923e950b3e8f0adb693aa68b99df6a2479418b
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/docs/CommandGuide/lit.md
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/cl_arguments.py
M llvm/utils/lit/lit/main.py
A llvm/utils/lit/tests/Inputs/rerun-failed-serially-retries/lit.cfg
A llvm/utils/lit/tests/Inputs/rerun-failed-serially-retries/needs-four-attempts.py
A llvm/utils/lit/tests/Inputs/rerun-failed-serially/always-fails.py
A llvm/utils/lit/tests/Inputs/rerun-failed-serially/fails-once.py
A llvm/utils/lit/tests/Inputs/rerun-failed-serially/lit.cfg
A llvm/utils/lit/tests/rerun-failed-serially.py
Log Message:
-----------
[lit] Add --rerun-failed-serially <REGEX> mechanism (#223504)
CI systems sometimes run on hardware or operating system versions that
have known problems that need to be worked around. This change in
particular is motivated by an issue with certain versions of macOS that
very rarely (but often enough to be a problem at CI scale) drop a burst
of parallel debugserver's attach requests. The goal is to recognize this
very situation and the re-run the affected tests without opnening the
door for the entire testsuite to become less reliable due to the retry
mechanism.
Tests that pass the second time are reported as FLAKYPASS, which keeps
them out of the failure count and the exit status.
--max-retries-per-test composes with this: the rerun honors
allowed_retries as well, so each of its attempts is retried in place as
before.
The regex argument restricts the rerun to failures whose output matches
a regular expression. Without it, any flaky test that happens to pass on
the rerun is laundered into a pass; with it, only the failures a known
platform bug produces get a second chance.
Assisted-by: Claude
Commit: 7252edd9aa82ef1c570ff6694ef7f4763a8a5d2f
https://github.com/llvm/llvm-project/commit/7252edd9aa82ef1c570ff6694ef7f4763a8a5d2f
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libc/src/__support/pwd/CMakeLists.txt
A libc/src/__support/pwd/dynamic_buffer.h
M libc/src/__support/pwd/flat_file_db.h
M libc/src/pwd/pwd_utils.cpp
M libc/src/pwd/pwd_utils.h
M libc/test/src/__support/pwd/CMakeLists.txt
M libc/test/src/__support/pwd/flat_file_db_test.cpp
Log Message:
-----------
[libc] Support dynamically-grown lines in FlatFileDatabase (#223811)
Add pwd::DynamicBuffer and overloads of FlatFileDatabase::getnext and
lookup that read into a growable buffer rather than a fixed span.
parse_line now returns ErrorOr<void> and accepts the buffer and line
length so parsers can report ERANGE or EINVAL directly.
Fixed-buffer getnext keeps its signature and never allocates.
Fixed-buffer lookup skips unrelated oversized preceding records using a
temporary ScopedDynamicBuffer and reports ERANGE only when the matched
record does not fit in the caller's buffer.
DynamicBuffer is trivially destructible by design so that it can be a
constant-initialised process global. Storage is released explicitly by
whoever owns it.
* Add pwd::DynamicBuffer in src/__support/pwd/dynamic_buffer.h
* Add growable overloads to FlatFileDatabase
* Update parse_line<struct passwd> signature
* Add unit tests for dynamically-grown lines in FlatFileDatabase
Assisted-by: Automated tooling, human reviewed.
Commit: 0f930ac6172071fa24656dff3c68c4213ba4ba37
https://github.com/llvm/llvm-project/commit/0f930ac6172071fa24656dff3c68c4213ba4ba37
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/unittests/AST/ASTImporterGenericRedeclTest.cpp
Log Message:
-----------
[clang][NFC] Mark some ASTMatchers constructors constexpr. (#223903)
Suppresses a bunch of -Wglobal-constructors warnings in
ASTMatchersInternal.cpp .
Commit: 8e1d22d857d85ef9254ca6f69800d9774a8dbc75
https://github.com/llvm/llvm-project/commit/8e1d22d857d85ef9254ca6f69800d9774a8dbc75
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/test/API/linux/linker-symbols/TestLinkerSymbols.py
Log Message:
-----------
[LLDB] Skip test under gold (#224113)
The way gold emits symbols created by linker scripts is not implemented
in LLDB.
For the record, I asked Claude to write a patch to implement the
functionality but it came up with a linear search through all sections
which I was afraid might be quite expensive. I'm happy to purse that as
an alternative if people think it is worth it, with the caveat that I am
not an ELF expert.
Commit: 356c0c8d532d8f286fcd3d0342b8930fabbbff04
https://github.com/llvm/llvm-project/commit/356c0c8d532d8f286fcd3d0342b8930fabbbff04
Author: Bar Soloveychik <barsolo at meta.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/include/lldb/Utility/RegisterType.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/source/Core/DumpRegisterInfo.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Utility/RegisterType.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py
A lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterUnion.py
M lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterVector.py
M lldb/unittests/Core/DumpRegisterInfoTest.cpp
M lldb/unittests/Utility/RegisterTypeTest.cpp
Log Message:
-----------
[lldb] Parse GDB remote register union types (#223485)
- Parses GDB XML `<union>` definitions.
- Supports builtin, vector, nested-union, and vector-of-union fields.
- Resolves types in document order and scopes IDs per feature.
- Rejects malformed, partial, duplicate, forward-referenced, and
incompatible definitions.
- Displays union metadata through register info.
https://sourceware.org/gdb/download/onlinedocs/gdb.html/Target-Description-Format.html
```
(lldb) register info u0
Name: u0
Size: 16 bytes (128 bits)
In sets: General Purpose Registers (index 0)
Union members:
f32 (ieee_single, 4 bytes)
f64 (ieee_double, 8 bytes)
s64 (int64, 8 bytes)
u64 (uint64, 8 bytes)
raw (uint128, 16 bytes)
(lldb) register info u1
Name: u1
Size: 16 bytes (128 bits)
In sets: General Purpose Registers (index 0)
Union members:
scalar (ieee_single, 4 bytes)
floats (v4f, 16 bytes)
doubles (v2d, 16 bytes)
raw (uint128, 16 bytes)
(lldb) register info n0
Name: n0
Size: 16 bytes (128 bits)
In sets: General Purpose Registers (index 0)
Union members:
f32_view (float_lane_view, 16 bytes)
f64_view (double_lane_view, 16 bytes)
raw (uint128, 16 bytes)
(lldb) register info b0
Name: b0
Size: 32 bytes (256 bits)
In sets: General Purpose Registers (index 0)
Union members:
c (bytes32, 32 bytes)
words (words8, 32 bytes)
(lldb) register info vu0
Name: vu0
Size: 16 bytes (128 bits)
In sets: General Purpose Registers (index 0)
Vector elements: 4
(lldb) register read u0
u0 = 0x0000000000000000ffffffff3fc00000
```
Next PR (final) will build real typed values from it. for example:
```
(lldb) register read u0
u0 = 0x0000000000000000ffffffff3fc00000
= (f32 = 1.5, f64 = NaN, s64 = ..., u64 = ..., raw = ...)
```
Co-authored-by: Bar Soloveychik <barsolo at fb.com>
Commit: 7201475cdcca3c4e2f8abf3ba8a2ea52e6fe56df
https://github.com/llvm/llvm-project/commit/7201475cdcca3c4e2f8abf3ba8a2ea52e6fe56df
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/OpenMP/target_device_unparse.f90
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/atomic-capture-invalid.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
Log Message:
-----------
[flang][OpenMP] Remove dependency on openmp-runtime where not needed,… (#224122)
… NFC
Several tests claimed dependence on openmp-runtime and had USE omp_lib
statements even though they didn't use anything from it.
Commit: ac499e503cd3a3c50245bdfcd8928e04509e6d1c
https://github.com/llvm/llvm-project/commit/ac499e503cd3a3c50245bdfcd8928e04509e6d1c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/test/CodeGen/PR44896.ll
Log Message:
-----------
clang: Require x86 to be built for PR44896.ll test (#224117)
Commit: 2b16c36b4c532aa1f459ce566f7b41395b34edcf
https://github.com/llvm/llvm-project/commit/2b16c36b4c532aa1f459ce566f7b41395b34edcf
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/containers/libc/Dockerfile
Log Message:
-----------
[Github] Use explicit --progress for large wget downloads (#224092)
Otherwise we get a log line every 50k which is exceedingly annoying as
it generates thousands of lines of output. Use mega/giga (3M/50M
respectively) depending upon the download size so we end up with about
20 lines of output.
Commit: 4cd54b6004dcd104e3d5a948eff521aa7769d770
https://github.com/llvm/llvm-project/commit/4cd54b6004dcd104e3d5a948eff521aa7769d770
Author: newgre <jannewger at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/Maintainers.md
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/CMakeLists.txt
A compiler-rt/lib/copyprof/.clang-format
A compiler-rt/lib/copyprof/CMakeLists.txt
A compiler-rt/lib/copyprof/copyprof.cpp
A compiler-rt/lib/copyprof/copyprof.syms.extra
A compiler-rt/lib/copyprof/copyprof_interface_internal.h
A compiler-rt/lib/copyprof/copyprof_internal.h
A compiler-rt/lib/copyprof/copyprof_reporting.cpp
A compiler-rt/lib/copyprof/copyprof_reporting.h
A compiler-rt/lib/copyprof/copyprof_shadow.cpp
A compiler-rt/lib/copyprof/copyprof_shadow.h
A compiler-rt/lib/copyprof/copyprof_stack.cpp
A compiler-rt/lib/copyprof/copyprof_state.cpp
A compiler-rt/lib/copyprof/copyprof_state.h
A compiler-rt/lib/copyprof/tests/CMakeLists.txt
A compiler-rt/lib/copyprof/tests/copyprof_shadow_test.cpp
A compiler-rt/lib/copyprof/tests/copyprof_state_test.cpp
A compiler-rt/lib/copyprof/tests/driver.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
M llvm/Maintainers.md
M llvm/lib/Transforms/Instrumentation/CopyProf.cpp
M llvm/test/Instrumentation/CopyProf/function-instrumentation.ll
Log Message:
-----------
[CopyProf] Implement minimal CopyProf runtime. (#223458)
The runtime tracks object copies using shadow memory (with a 1:8
compression scale).
Each thread uses TLS to keep track of whether execution is currently
inside a special member function. Copy functions mark corresponding
shadow memory as a copy. Upon destruction, if an object was marked as a
copy and never modified, it is classified as an unnecessary copy, and a
report with a stack trace is generated.
RFC:
https://discourse.llvm.org/t/rfc-copysanitizer-csan-detecting-unneccessary-object-copies-at-runtime/91038
Previous PR: https://github.com/llvm/llvm-project/pull/207385
---------
Co-authored-by: jannewger <jannewger at google.com>
Commit: 7b6e37389fa9f89351589f0a8279e9420ceab22c
https://github.com/llvm/llvm-project/commit/7b6e37389fa9f89351589f0a8279e9420ceab22c
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port d8a3beaf4553 (#224128)
Commit: 55488f92131afe48c17ea2d3ca9c416a0204b689
https://github.com/llvm/llvm-project/commit/55488f92131afe48c17ea2d3ca9c416a0204b689
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port 988c5a95ffa7d118 (HIP GPU OFFLOAD compiler-rt lit stuff) (#224129)
Commit: 29b702e5e690b0216b81eabb9b023030de9b90d7
https://github.com/llvm/llvm-project/commit/29b702e5e690b0216b81eabb9b023030de9b90d7
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Log Message:
-----------
[scudo] Do not trim the secondary cache if releasing is disabled. (#223881)
When the ReleaseInterval is set to less than zero, then releasing has
been disabled. In this case, honor this and do not trim the cache using
the MaxCacheResidentyBytes value.
Add a test to verify this behavior.
Commit: 3cda1740bcf62b00a16d097eb2c1a75b54366588
https://github.com/llvm/llvm-project/commit/3cda1740bcf62b00a16d097eb2c1a75b54366588
Author: Thomas Lively <tlively at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/test/CodeGen/thread-model.c
M llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
M llvm/lib/TargetParser/Triple.cpp
A llvm/test/CodeGen/WebAssembly/coalesce-features-thread-model.ll
Log Message:
-----------
[WebAssembly] Use Single as the default Triple thread model (#223917)
Clang defaults WebAssembly to a single-threaded model unless atomics and
bulk-memory are enabled, whereas Triple::getDefaultThreadModel()
previously defaulted to POSIX for all targets. Because Clang only emits
the "thread-model" module flag when the active thread model differs from
the triple's default, single-threaded Wasm objects recorded
"thread-model"="single" while multithreaded objects omitted the flag.
When linking mixed objects in LTO, the merged module inherited "single",
causing passes like LICM and AtomicExpand to treat multithreaded
programs as single-threaded.
Change Triple::getDefaultThreadModel() to return ThreadModel::Single for
WebAssembly so that multithreaded objects explicitly record
"thread-model"= "posix" and single-threaded objects omit the flag.
Additionally, update WebAssemblyCoalesceFeaturesAndStripAtomics to set
the module thread model to POSIX when threading features are enabled and
no explicit module flag is present, ensuring backend passes like
AtomicExpandPass preserve atomics in raw IR modules compiled via llc.
Assisted-By: Gemini
Commit: 952d860b71a3c7697a4b0bfe309019cc927773f6
https://github.com/llvm/llvm-project/commit/952d860b71a3c7697a4b0bfe309019cc927773f6
Author: Steven Wu <stevenwu at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/CAS/MappedFileRegionArena.cpp
Log Message:
-----------
[CAS] Read a CAS file's reserved size from st_blocks, not st_blksize (#224104)
FileSizeInfo reports how much disk a file already has, which
MappedFileRegionArena records so it knows how far ahead it has reserved.
However the file size was accidentally computed from st_blksize which is
the preferred I/O size, not the number of allocated blocks for the file.
The value is read when a database is created or reopened, so a reopened
database believed almost none of its disk was reserved and reserved it
again from near zero, a megabyte per allocation. Fix the problem by
using the correct size.
Commit: 2558e6d5ca08fdb07b3378f5c1465cadb15b136a
https://github.com/llvm/llvm-project/commit/2558e6d5ca08fdb07b3378f5c1465cadb15b136a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Make updates to .ci actually test everything (#224125)
We ran into an issue where test failures in cross-project-tests were not
surfaced when bumping the image to Ubuntu 26.04 due to the script not
correctly calculating dependencies for changes to .ci and the premerge
workflow. This patch fixes that by ensuring the projects executed for
.ci/workflow changes are derived from everything else which means we do
not need to manually maintain the list and risk leaving it out of date.
Commit: c1ad400444cda8b601e0d6f83bf812d4fc8ced48
https://github.com/llvm/llvm-project/commit/c1ad400444cda8b601e0d6f83bf812d4fc8ced48
Author: Adam Smith <adams at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval.cpp
A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-union-no-span.cpp
A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-union-tail-padding.c
M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
Log Message:
-----------
[CIR] Accept a union whose members do not cover its declared size (#223594)
`union { unsigned Words[3]; void *Ptr; }` is 16 bytes because the
pointer's alignment rounds it up, and no member covers that size. The
pass refused to classify unions like that at all, so anything holding
one failed to compile. Tail padding doesn't change how an eightbyte
classifies, so this drops the precondition and classifies the union from
its own size.
Commit: 16fa456a7954bb2cecf2db042492f4feb45d5be2
https://github.com/llvm/llvm-project/commit/16fa456a7954bb2cecf2db042492f4feb45d5be2
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/startup/linux/BUILD.bazel
Log Message:
-----------
[bazel] Port 2c930a5 (#224130)
Commit: 0038be81b8b5361112faf82e69d4590364ee81b9
https://github.com/llvm/llvm-project/commit/0038be81b8b5361112faf82e69d4590364ee81b9
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
Log Message:
-----------
[MLIR] Wrap block with debug-only loop in LLVM_DEBUG (NFC). (#224124)
This fixes a build-failure with Werror in release builds introduced in
https://github.com/llvm/llvm-project/pull/223974. `iface` is unused in
release builds. Wrap the whole block into `LLVM_DEBUG`
PR: https://github.com/llvm/llvm-project/pull/224124
Commit: 205baf18a90cd0f6535d6bf129303246af097033
https://github.com/llvm/llvm-project/commit/205baf18a90cd0f6535d6bf129303246af097033
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
Log Message:
-----------
[SLP][NFC]Add extra test for bit mask reductions, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224135
Commit: 325e759c6d95dca65c4312cc24056a6ef4872c22
https://github.com/llvm/llvm-project/commit/325e759c6d95dca65c4312cc24056a6ef4872c22
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Use template PredicateMethod for ImmAsmOperand when suffix is empty. NFC (#224098)
This allows us to remove forwarding wrappers from RISCVAsmParser.cpp.
Assisted-by: Claude
Commit: 4adb36e3b7ae13d5d09afd6262905fb7a80d2d8f
https://github.com/llvm/llvm-project/commit/4adb36e3b7ae13d5d09afd6262905fb7a80d2d8f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/containers/libc/Dockerfile
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/Relocation.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/runtime/X86/rela-plt-order.c
M clang/docs/ReleaseNotes.md
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TargetID.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CodeGen/BackendUtil.h
M clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.h
M clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/Targets/NVPTX.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Headers/riscv_packed_simd.h
M clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowExtractor.cpp
M clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowFormat.cpp
M clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval.cpp
A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-union-no-span.cpp
A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-union-tail-padding.c
M clang/test/CIR/CodeGenCUDA/surface.cu
M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
M clang/test/CodeGen/AArch64/abi-classify-return-types.c
A clang/test/CodeGen/AArch64/abi-classify-return-types.cpp
A clang/test/CodeGen/Inputs/riscv-ilp32e-no-datalayout.ll
M clang/test/CodeGen/PR44896.ll
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M clang/test/CodeGen/asan-unified-lto.ll
A clang/test/CodeGen/builtin-frame-address-arg-type.c
A clang/test/CodeGen/builtin-prefetch-arg-type.c
A clang/test/CodeGen/call-graph-section-definition-noprototype.c
A clang/test/CodeGen/riscv-ir-datalayout-preserve.ll
M clang/test/CodeGen/thread-model.c
M clang/test/CodeGenCXX/mangle-concept.cpp
M clang/test/OffloadTools/clang-offload-bundler/basic.c
M clang/test/Sema/builtin-prefetch.c
M clang/test/Sema/compare.c
M clang/test/SemaCXX/dllexport.cpp
M clang/test/SemaCXX/dllimport.cpp
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/unittests/AST/ASTImporterGenericRedeclTest.cpp
M clang/unittests/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowWPATest.cpp
M clang/unittests/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
M clang/unittests/ScalableStaticAnalysis/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
M compiler-rt/CMakeLists.txt
M compiler-rt/Maintainers.md
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/CMakeLists.txt
A compiler-rt/lib/copyprof/.clang-format
A compiler-rt/lib/copyprof/CMakeLists.txt
A compiler-rt/lib/copyprof/copyprof.cpp
A compiler-rt/lib/copyprof/copyprof.syms.extra
A compiler-rt/lib/copyprof/copyprof_interface_internal.h
A compiler-rt/lib/copyprof/copyprof_internal.h
A compiler-rt/lib/copyprof/copyprof_reporting.cpp
A compiler-rt/lib/copyprof/copyprof_reporting.h
A compiler-rt/lib/copyprof/copyprof_shadow.cpp
A compiler-rt/lib/copyprof/copyprof_shadow.h
A compiler-rt/lib/copyprof/copyprof_stack.cpp
A compiler-rt/lib/copyprof/copyprof_state.cpp
A compiler-rt/lib/copyprof/copyprof_state.h
A compiler-rt/lib/copyprof/tests/CMakeLists.txt
A compiler-rt/lib/copyprof/tests/copyprof_shadow_test.cpp
A compiler-rt/lib/copyprof/tests/copyprof_state_test.cpp
A compiler-rt/lib/copyprof/tests/driver.cpp
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
A compiler-rt/lib/sanitizer_common/sanitizer_offload.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_offload.h
A compiler-rt/lib/sanitizer_common/sanitizer_offload_hsa.h
A compiler-rt/lib/sanitizer_common/sanitizer_offload_image.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_offload_opcodes.h
A compiler-rt/lib/sanitizer_common/sanitizer_offload_rpc.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_offload_rpc.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/lib/ubsan/offload/CMakeLists.txt
R compiler-rt/lib/ubsan/offload/hsa.h
M compiler-rt/lib/ubsan/offload/ubsan_offload.h
R compiler-rt/lib/ubsan/offload/ubsan_offload_hsa.cpp
R compiler-rt/lib/ubsan/offload/ubsan_offload_hsa.h
M compiler-rt/lib/ubsan/offload/ubsan_offload_hsa_interceptors.cpp
M compiler-rt/lib/ubsan/offload/ubsan_offload_report.cpp
R compiler-rt/lib/ubsan/offload/ubsan_offload_rpc.cpp
R compiler-rt/lib/ubsan/offload/ubsan_offload_rpc.h
R compiler-rt/lib/ubsan/offload/ubsan_offload_symbolize.cpp
R compiler-rt/lib/ubsan/offload/ubsan_offload_symbolize.h
M compiler-rt/lib/ubsan/ubsan_offload.cpp
M compiler-rt/lib/ubsan/ubsan_offload_packet.h
M compiler-rt/test/CMakeLists.txt
A compiler-rt/test/Inputs/hip.h
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/profile/lit.cfg.py
M compiler-rt/test/ubsan/AMDGPU/abort.hip
M compiler-rt/test/ubsan/AMDGPU/dedup.hip
M compiler-rt/test/ubsan/AMDGPU/host-and-device.hip
M compiler-rt/test/ubsan/AMDGPU/openmp-overflow.cpp
M compiler-rt/test/ubsan/AMDGPU/overflow-i128.hip
M compiler-rt/test/ubsan/AMDGPU/overflow.hip
M compiler-rt/test/ubsan/AMDGPU/shift.hip
M compiler-rt/test/ubsan/CMakeLists.txt
R compiler-rt/test/ubsan/Inputs/hip.h
M compiler-rt/test/ubsan/lit.common.cfg.py
M compiler-rt/test/ubsan/lit.site.cfg.py.in
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M flang/include/flang/Optimizer/Transforms/FIRToMemRefTypeConverter.h
M flang/include/flang/Support/Fortran.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Support/Fortran.cpp
M flang/test/Lower/OpenACC/acc-cache.f90
A flang/test/Lower/OpenACC/acc-routine-bind-cuda-modfile.cuf
A flang/test/Lower/OpenMP/hlfir-to-fir-conv-omp.mlir
M flang/test/Lower/OpenMP/host-eval.f90
A flang/test/Lower/OpenMP/mismatched-bound-types.f90
A flang/test/Lower/OpenMP/target-spmd-reduction.f90
M flang/test/Lower/split-sum-expression-tree-lowering.f90
M flang/test/Lower/split-sum-expression-tree-subscripts.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/OpenMP/target_device_unparse.f90
A flang/test/Semantics/CUDA/cuf-matching-managed-static.cuf
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/atomic-capture-invalid.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
M flang/test/Semantics/resolve94.f90
M flang/unittests/Optimizer/OpenACC/FIROpenACCPointerLikeTypeInterfaceTest.cpp
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/include/unistd.yaml
M libc/src/__support/pwd/CMakeLists.txt
A libc/src/__support/pwd/dynamic_buffer.h
M libc/src/__support/pwd/flat_file_db.h
M libc/src/pwd/pwd_utils.cpp
M libc/src/pwd/pwd_utils.h
M libc/src/unistd/linux/sysconf.cpp
M libc/test/src/__support/pwd/CMakeLists.txt
M libc/test/src/__support/pwd/flat_file_db_test.cpp
M libc/test/src/unistd/sysconf_test.cpp
M libcxx/CMakeLists.txt
M libcxx/cmake/caches/Apple.cmake
M libcxx/include/__configuration/abi.h
M libcxx/include/__configuration/compiler.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/string
A libcxx/test/benchmarks/algorithms/nonmodifying/pstl.for_each.bench.cpp
M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
M libcxx/test/benchmarks/containers/associative/flat_map.bench.cpp
M libcxx/test/benchmarks/containers/associative/flat_multimap.bench.cpp
M libcxx/test/benchmarks/containers/associative/map.bench.cpp
M libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
M libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
M libcxx/test/benchmarks/containers/associative/set.bench.cpp
M libcxx/test/benchmarks/containers/associative/unordered_map.bench.cpp
M libcxx/test/benchmarks/containers/associative/unordered_multimap.bench.cpp
M libcxx/test/benchmarks/containers/associative/unordered_multiset.bench.cpp
M libcxx/test/benchmarks/containers/associative/unordered_set.bench.cpp
M libcxx/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_result_type.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq.pass.cpp
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/libcxx/test/features/libcxx_macros.py
M lldb/cmake/modules/AddLLDB.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/include/lldb/Utility/RegisterType.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/CMakeLists.txt
M lldb/source/Core/DumpRegisterInfo.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Utility/RegisterType.cpp
A lldb/test/API/accelerator/mock/TestMockAcceleratorAddressSpaces.py
M lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py
A lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterUnion.py
M lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterVector.py
M lldb/test/API/functionalities/inline-sourcefile/inline.ll
M lldb/test/API/linux/linker-symbols/TestLinkerSymbols.py
A lldb/test/API/macosx/expedited-recent-reads/Makefile
A lldb/test/API/macosx/expedited-recent-reads/TestExpeditedRecentReads.py
A lldb/test/API/macosx/expedited-recent-reads/main.c
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/debugserver/source/RNBRemote.h
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/ProcessMockAccelerator.cpp
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/ProcessMockAccelerator.h
M lldb/unittests/Core/DumpRegisterInfoTest.cpp
M lldb/unittests/Utility/RegisterTypeTest.cpp
M llvm/Maintainers.md
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/cmake/config-ix.cmake
M llvm/docs/CommandGuide/lit.md
M llvm/docs/ReleaseNotes.md
M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
R llvm/include/llvm/Transforms/Utils/SplitModuleCommon.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/ABI/TargetInfo.cpp
M llvm/lib/ABI/Targets/AArch64.cpp
M llvm/lib/ABI/Targets/BPF.cpp
M llvm/lib/ABI/Targets/X86.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CAS/MappedFileRegionArena.cpp
M llvm/lib/CAS/OnDiskGraphDB.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/ResetMachineFunctionPass.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/Support/APFloat.cpp
A llvm/lib/Support/APFloatPowerOfFiveTable.inc
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
M llvm/lib/Target/AArch64/AArch64SRLTDefineSuperRegs.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicfiss.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/Transforms/CFGuard/CFGuard.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/Instrumentation/CopyProf.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/Reg2Mem.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
R llvm/lib/Transforms/Utils/SplitModuleCommon.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
A llvm/test/Analysis/CostModel/AArch64/load-latency-fallback.ll
A llvm/test/Analysis/CostModel/X86/arith-mulh.ll
M llvm/test/Bindings/OCaml/core.ml
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-clmul.mir
M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
M llvm/test/CodeGen/AArch64/cttz-of-bool-vector-bitcast.ll
M llvm/test/CodeGen/AArch64/partial-reduction-add-predicated.ll
M llvm/test/CodeGen/AArch64/sme-za-tailcall-fpdiff-align.ll
A llvm/test/CodeGen/AArch64/sve-interleave-of-splat.ll
A llvm/test/CodeGen/AArch64/swifttail-fpdiff-align.ll
M llvm/test/CodeGen/AArch64/tail-call-stack-args.ll
M llvm/test/CodeGen/AArch64/zext-shuffle.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitreplicate.ll
M llvm/test/CodeGen/SPIRV/transcoding/func_param_attr.ll
A llvm/test/CodeGen/WebAssembly/coalesce-features-thread-model.ll
M llvm/test/CodeGen/WebAssembly/function-bitcasts.ll
M llvm/test/CodeGen/WebAssembly/irreducible-cfg-exceptions.ll
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-options.ll
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-em-exceptions-allowed.ll
M llvm/test/CodeGen/WebAssembly/lower-em-exceptions-resume-only.ll
M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
A llvm/test/CodeGen/X86/dagcombine-concat-undef-vs-poison.ll
M llvm/test/Instrumentation/CopyProf/function-instrumentation.ll
A llvm/test/Linker/callgraph-section-noprototype.ll
M llvm/test/MC/RISCV/rvzimop-valid.s
A llvm/test/Transforms/LoopVectorize/early-exit-branch-weights.ll
M llvm/test/Transforms/LoopVectorize/intrinsic.ll
A llvm/test/Transforms/LoopVectorize/replicate-region-guard-unknown-prof.ll
A llvm/test/Transforms/LoopVectorize/scev-check-unknown-prof.ll
A llvm/test/Transforms/LoopVectorize/select-branch-weights.ll
A llvm/test/Transforms/LoopVectorize/select-unknown-prof.ll
A llvm/test/Transforms/LoopVectorize/skeleton-branches-unknown-prof.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_fill_q7.ll
A llvm/test/Transforms/PhaseOrdering/ARM/arm_mat_mult_q31.ll
M llvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll
M llvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-inst-count.ll
A llvm/test/Transforms/SLPVectorizer/X86/nonpow2-shared-weight-reduction.ll
A llvm/test/Transforms/SandboxVectorizer/Passes/BundleVec/AMDGPU/lit.local.cfg
A llvm/test/Transforms/SandboxVectorizer/Passes/BundleVec/AMDGPU/unsupported_alignment.ll
A llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_load_seeds.ll
M llvm/test/tools/llvm-split/unnamed.ll
M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/unittests/ABI/AArch64TargetInfoTest.cpp
M llvm/unittests/ABI/X86TargetInfoTest.cpp
M llvm/unittests/ADT/APFloatTest.cpp
M llvm/unittests/CAS/OnDiskGraphDBTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
A llvm/utils/generate-apfloat-pow5-table.py
M llvm/utils/git/github-automation.py
M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/ValueObject/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/cl_arguments.py
M llvm/utils/lit/lit/main.py
A llvm/utils/lit/tests/Inputs/rerun-failed-serially-retries/lit.cfg
A llvm/utils/lit/tests/Inputs/rerun-failed-serially-retries/needs-four-attempts.py
A llvm/utils/lit/tests/Inputs/rerun-failed-serially/always-fails.py
A llvm/utils/lit/tests/Inputs/rerun-failed-serially/fails-once.py
A llvm/utils/lit/tests/Inputs/rerun-failed-serially/lit.cfg
A llvm/utils/lit/tests/rerun-failed-serially.py
M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVM.h
M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeFunctions.def
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCDataDirectivePatterns.cpp
A mlir/lib/Conversion/OpenACCToLLVM/ACCHostDataPatterns.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVM.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVMUtils.cpp
M mlir/lib/Conversion/OpenACCToLLVM/CMakeLists.txt
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Pass/PassStatistics.cpp
M mlir/lib/Target/SMTLIB/ExportSMTLIB.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/python/mlir/dialects/linalg/__init__.py
M mlir/test/Conversion/OpenACCToLLVM/data-diagnostics.mlir
M mlir/test/Conversion/OpenACCToLLVM/data.mlir
A mlir/test/Conversion/OpenACCToLLVM/host-data.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-pass-statistics.mlir
M mlir/test/Dialect/LLVMIR/sroa-statistics.mlir
M mlir/test/Dialect/MemRef/mem2reg-statistics.mlir
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
M mlir/test/Dialect/Tensor/fold-consecutive-insert-extract-slice.mlir
M mlir/test/Dialect/Tensor/fold-tensor-subset-ops.mlir
M mlir/test/Dialect/Tensor/tracking-listener.mlir
M mlir/test/Pass/pipeline-stats-nested.mlir
M mlir/test/Pass/pipeline-stats.mlir
M mlir/test/mlir-runner/async-error.mlir
M mlir/test/mlir-runner/async-func.mlir
M mlir/test/mlir-runner/async-group.mlir
M mlir/test/mlir-runner/async-value.mlir
M mlir/test/mlir-runner/async.mlir
M mlir/test/mlir-runner/x86-varargs.mlir
M mlir/test/python/dialects/linalg/ops.py
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M offload/ci/hip-tpl.py
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/MemoryManager.h
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/test/offloading/struct_mapping_with_pointers.cpp
M openmp/runtime/test/ompt/callback.h
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/startup/linux/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
Rebase, address comments
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/978cd0e19184...4adb36e3b7ae
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