[all-commits] [llvm/llvm-project] 7800be: [SandboxVec][SchedulerTest][NFC] Fix unused variab...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Fri Sep 18 04:02:08 PDT 2026
Branch: refs/heads/users/alexey-bataev/spr/slpemit-loop-carried-horizontal-reductions-as-loop-vector-accumulator
Home: https://github.com/llvm/llvm-project
Commit: 7800bec8a155c3f88518b25fa4241320721911b0
https://github.com/llvm/llvm-project/commit/7800bec8a155c3f88518b25fa4241320721911b0
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][SchedulerTest][NFC] Fix unused variable warning (#223751)
Commit: 404d35af4d588e03941c8fe524f881749059edcb
https://github.com/llvm/llvm-project/commit/404d35af4d588e03941c8fe524f881749059edcb
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump CI containers to LLVM 23.1.1 (#223775)
This means we no longer have -Wunused-template enabled by default, for
which the LLVM tree is still not clean.
Commit: 60dd6268bcbcb36256526273dfea4145d68cbedd
https://github.com/llvm/llvm-project/commit/60dd6268bcbcb36256526273dfea4145d68cbedd
Author: Andre Sun <andsun9999 at gmail.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
Log Message:
-----------
[clang-format] Fix crash on adjacent configured macro calls (#221352)
`parseMacroCall()` used `nextToken()` to consume the end of a configured
macro call, which also processed the following token. For adjacent macro
calls, this could expand the second call first and leave macro
reconstruction state out of order, causing a crash when the second
expansion starts with a comment.
This commit changes `parseMacroCall()` to consume the last token without
processing the following token, preserving source-order expansion. It
also prevents trailing comments from becoming part of the reconstructed
macro call.
Fixes #190721
Assisted-by: DeepSeek Flash v4
Commit: 712196951e77eea330269d3c2267c571e07f4577
https://github.com/llvm/llvm-project/commit/712196951e77eea330269d3c2267c571e07f4577
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
R flang/test/Lower/OpenMP/mismatched-bound-types.f90
Log Message:
-----------
Revert "[flang][test][NFC] Add OpenMP test for mismatched loop bound types" (#223813)
Reverts llvm/llvm-project#221097
This fails buildbots
https://lab.llvm.org/buildbot/#/builders/80/builds/24748 and precommit
CI.
@doru1004 please look at it and remand when fixed.
Commit: 4f4110d0be5601eb6c62e18110009cddb0573051
https://github.com/llvm/llvm-project/commit/4f4110d0be5601eb6c62e18110009cddb0573051
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
M mlir/test/Conversion/XeVMToLLVM/legalize_large_vector.mlir
A mlir/test/Conversion/XeVMToLLVM/mxfp_scale_binary_hoist.mlir
Log Message:
-----------
[MLIR][XeVM] Hoist contiguous-slice shuffles through n-ary elementwise ops (#222452)
XeGPU expresses vector operands in their logical element type, so
per-lane compute chains can end up wider than the SPIR-V backend can
legalize as a single operand. HandleVectorExtractPattern already narrows
such chains by hoisting a contiguous-slice shufflevector upward through
unary element-wise ops (fpext/fptrunc/bitcast), merging shuffle chains,
and folding into smaller loads. But it stops at n-ary ops, so a chain
like
%0 = llvm.fdiv %a, %b : vector<32xf32> // wide, binary
%1 = llvm.shufflevector %0, %0 [0..15] : vector<32xf32> // legal 16-wide
slice
keeps a wide vector<32xf32> compute that the backend rejects.
This extends the pattern to hoist a contiguous slice through n-ary
element-wise ops as well: slice each same-length vector operand with the
same mask and re-create the op at the narrow width. The freshly created
operand slices keep hoisting upward (merging, or folding into loads)
until they reach operands that are already legal width, so the whole
compute chain collapses to the slice width - with no target-specific
width limit, since the width is inherited from the slice.
Length-changing and packed-payload ops (e.g. bitcast, truncf) are left
untouched.
Commit: 7a75731966966c175d01204fb88ffd4c236a4f35
https://github.com/llvm/llvm-project/commit/7a75731966966c175d01204fb88ffd4c236a4f35
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
A utils/bazel/tools/check_bazel_inputs.py
Log Message:
-----------
[bazel] Add script for finding files not in the graph (#220343)
This is useful to make sure that globs cover all files in a given
subdirectory. Right now this doesn't cover many directories because we
don't have tons of tests in bazel but if we eventually add those we can
more easily spot ones we miss with this script.
Assisted by: codex
Commit: cf09a7688ec47cc30c36381834e1c99fe34d2e20
https://github.com/llvm/llvm-project/commit/cf09a7688ec47cc30c36381834e1c99fe34d2e20
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 4f4110d (#223824)
This fixes 4f4110d0be5601eb6c62e18110009cddb0573051 (#222452).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=4f4110d0be5601eb6c62e18110009cddb0573051
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 2f852016addf27fd9eb83ff9faba66633b0fafe8
https://github.com/llvm/llvm-project/commit/2f852016addf27fd9eb83ff9faba66633b0fafe8
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-resources/unbounded-struct-arr.ll
Log Message:
-----------
[SPIRV] Emit RuntimeDescriptorArrayEXT capability for all unbounded array types (#222819)
Previously, the `RuntimeDescriptorArrayEXT` capability was emitted only
for image descriptor arrays. This change emits the capability for the
shader whenever resource array has `ArraySize == 0`.
This covers all supported runtime descriptor array types, including
images, structured buffers, samplers, and counter descriptor arrays.
Emitting the capability for these arrays is necessary to support dynamic
resources in SPIR-V.
Assisted by GPT-5.6 Sol.
Commit: 320bc620c46b0fd49a9976e499cd4252d78297b8
https://github.com/llvm/llvm-project/commit/320bc620c46b0fd49a9976e499cd4252d78297b8
Author: hidekisaito <hidekido at amd.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.powi.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float-fp8-hw.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps_nnan.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/dual-source-blend-export.ll
M llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
M llvm/test/CodeGen/AMDGPU/fmax_legacy.f16.ll
M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
M llvm/test/CodeGen/AMDGPU/fmin_legacy.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fneg.bf16.ll
M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
M llvm/test/CodeGen/AMDGPU/fpow.ll
M llvm/test/CodeGen/AMDGPU/freeze-binary.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.ll
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/llvm.powi.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/repeated-divisor.ll
M llvm/test/CodeGen/AMDGPU/scratch-simple.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmaximum.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fminimum.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
Log Message:
-----------
[AMDGPU] Fix for GFX11 VOPD interlock hazard (#220348)
On GFX11, a VOPD consumer whose X/Y sources share a gather class (srcA
or srcB) and the same VGPR parity can lose the destination-buffer interlock
for one of those sources. Thus, use parity as bank mask instead.
Commit: 89ec1e3f5388e22c0a372798b7dbe48ba408d60b
https://github.com/llvm/llvm-project/commit/89ec1e3f5388e22c0a372798b7dbe48ba408d60b
Author: Dan Liew <dan at su-root.co.uk>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/attr-counted-by-or-null-for-pointers.c
M clang/test/CodeGen/attr-sized-by-for-pointers.c
M clang/test/CodeGen/attr-sized-by-or-null-for-pointers.c
Log Message:
-----------
[CodeGen] Fix -fsanitize=array-bounds for __sized_by / _or_null pointers (#213795)
`EmitCountedByBoundsChecking()` assumed a CountAttributedType is always
a __counted_by pointer. That isn't true; there are four versions of the
attribute:
* `__counted_by`: Already handled correctly.
* `__counted_by_or_null`: Incorrectly handled.
* `__sized_by`: Incorrectly handled.
* `__sized_by_or_null`: Incorrectly handled.
In particular:
* __sized_by / __sized_by_or_null: the loaded bound is a byte count, but
the
element index was compared against it directly, so an access was only
flagged once the index exceeded the byte count -- missing out-of-bounds
accesses for a pointee larger than one byte. Convert the loaded byte
count
into an element count by dividing it by the element size (`bound /
sizeof(element)`) so the check can compare the (element) index directly.
`counted_by` already counts elements and is unchanged; a void (or
otherwise
zero-/unknown-sized) pointee uses the GNU convention of element size 1,
i.e.
no conversion. Signed division is used for a signed count field so a
negative
byte count stays non-positive and is still rejected by the
negative-bounds
guard in EmitBoundsCheckImpl (unsigned division would turn it into a
large
positive count).
* __counted_by_or_null / __sized_by_or_null: a null pointer describes no
accessible memory, but the null case was ignored, so an access through a
null pointer with a non-zero count was not trapped. Treat the bound as 0
when the pointer is null.
Both adjustments are applied to the loaded bound in
EmitCountedByBoundsChecking before it is handed to EmitBoundsCheckImpl;
the bounds-checking machinery and the runtime handler are left unchanged
and continue to work in terms of the element index. Plain `__counted_by`
and the general array-bounds path are unaffected.
I did try an alternative implementation where the comparison was done in
terms of bytes (rather than elements which this patch does), but this
had several disadvantages:
* It was less correct. Because the element-count implementation uses
truncating division, a `__sized_by()` whose size is not a multiple of
the
pointee size rounds the bound down, so an access to a partially
in-bounds
object is caught. A byte-level check would instead only verify that the
first byte of the object is in bounds, which would allow accessing a
partially in-bounds object.
* When benchmarking (small microbenchmarks targetting arm64e), it
appeared that the division implementation was faster. Note that an
unsigned count field and an element size that is a power 2 produces
the best LLVM IR because unsigned division by a power of 2 can be
turned by the optimizer into a `lshr` instruction.
* It required changes in `CodeGenFunction::EmitBoundsCheckImpl` as well,
which made the change more invasive.
Note while working on this I did discover an existing bug where if the
base (e.g. `side_effect()->ptr[0]`) has a side-effect it is incorrectly
evaluated multiple times. Fixing that is out-of-scope for this patch and
will be handled later.
Assisted-by: Claude Code
rdar://184139694
Commit: bd695f75fc1f46bdc032a982f9c849f6365a5af2
https://github.com/llvm/llvm-project/commit/bd695f75fc1f46bdc032a982f9c849f6365a5af2
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-keep-drop.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-satd.ll
Log Message:
-----------
[SLP]Fix splat gather subtree keep/drop to restore lost vectorization
The splat gather subtrees were kept on cost ties and resurrected by the
trimming revert without a profitability re-check, and dropping them left
the gathered loads built for them orphaned and forcing extracts. This
rejected otherwise profitable VF=2 trees. Keep subtrees only when
strictly profitable, re-evaluate them against the restored tree on a
revert, and delete the gathered loads left dead by a drop.
Fixes the remaining regressions from #220250 reported in #221717.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/223833
Commit: 1e522aa33cc216e65d7b4ea7c687059554b2ff4d
https://github.com/llvm/llvm-project/commit/1e522aa33cc216e65d7b4ea7c687059554b2ff4d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/basic.ll
Log Message:
-----------
Require X86 for DeclareRuntimeLibcalls test (#223832)
Commit: f0b5bfb908f22fc8d7199f868a822e6d40c1369a
https://github.com/llvm/llvm-project/commit/f0b5bfb908f22fc8d7199f868a822e6d40c1369a
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
R clang/test/CIR/Transforms/flatten-eh-spec-nyi.cir
A clang/test/CIR/Transforms/flatten-eh-spec.cir
Log Message:
-----------
[CIR][EH] Implement flattening for dynamic exception specification (#223780)
This change implements the CFG flattening for try operations with filter
and unexpected exception handlers. The flattening dispatches unexpected
exceptions to an operation that will later be lowered to target-specific
IR to call std::unexpected, while exceptions that match the dynamic
exception specification are routed to normal unwind handling.
Target-specific EH ABI lowering will be added in a follow-up change.
Assisted-by: Cursor / various models
Commit: 6c334efd9df6cacb2c5b5ca7fc3533db95e5fff7
https://github.com/llvm/llvm-project/commit/6c334efd9df6cacb2c5b5ca7fc3533db95e5fff7
Author: PiJoules <leonardchan at google.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
Log Message:
-----------
[RelLookupTableConverter][NFC] Hoist loop invariants in createRelLookupTable (#223557)
IntPtrTy, Int32Ty, and Base (ptrtoint of the relative lookup table) are
invariant across all elements of the lookup table. Hoist them out of the
element iteration loop to avoid redundant recomputations.
Commit: 576e56a6ac966699ce857bf34309bdf1c6d636d1
https://github.com/llvm/llvm-project/commit/576e56a6ac966699ce857bf34309bdf1c6d636d1
Author: PiJoules <leonardchan at google.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
Log Message:
-----------
[RelLookupTableConverter][NFC] Remove unused Func parameter from createRelLookupTable (#223556)
The Function &Func parameter was only used to access the parent Module
via Func.getParent(). However, createRelLookupTable already takes
GlobalVariable &LookupTable, which has the same parent Module.
Remove the redundant parameter and the now-unused Func reference at the
callsite in convertToRelLookupTable.
Commit: 3018c32171d439dec1b76ef961cc60c0d8db2c6c
https://github.com/llvm/llvm-project/commit/3018c32171d439dec1b76ef961cc60c0d8db2c6c
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Lower/OpenMP/close-map-derived-members.f90
M flang/test/Semantics/OpenMP/map-modifiers.f90
A offload/test/offloading/fortran/usm_map_close_derived_type_members.f90
Log Message:
-----------
[Flang][OpenMP] Remove close map type member removal code from MapInfoFinalization (#219438)
This should no longer be required as we removed the application of close
automatically in USM mode in a prior PR. So they bug this was originally
put in place for is now addressed without the need for this PR. And
whilst it was fine to put in place for a bug the user had no control of
(automatic application of close to descriptor members), it's not our
place to intervene in scenarios where a user is making explicit errors
in their mapping, e.g.
map(to: dtype) map(close, to: dtype%x, dtype%y)
A user should be left to shoot themselves in the foot if that's there
goal (or perhaps there's some really wild or single memory system
architectures that would allow this), we'd ideally prevent this as a
compiler warning or error as opposed to fixing the problem
under-the-hood for them. Otherwise we help create unportable code for
the user, alongside forcing ourselves to maintain the underlying fix.
Commit: 299a09b38b4bd9d6b78e4c7a0c73b0cd671ce081
https://github.com/llvm/llvm-project/commit/299a09b38b4bd9d6b78e4c7a0c73b0cd671ce081
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Analysis/TargetTransformInfo.cpp
A llvm/test/Analysis/CostModel/AArch64/vararg-intrinsic.ll
Log Message:
-----------
[TTI] Keep ParamTys and Arguments matching for variadic intrinsics. (#223693)
For variadic functions, the function's argument types do not include any
variadic arguments.
Always push types of arguments in to ParamTys, so sizes of ParamTys and
Arguments match.
PR: https://github.com/llvm/llvm-project/pull/223693
Commit: 728d1c058b3ee1407eb4e8bf26ddc1aff03e48f8
https://github.com/llvm/llvm-project/commit/728d1c058b3ee1407eb4e8bf26ddc1aff03e48f8
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
A mlir/include/mlir/Conversion/OpenACCToLLVM/ACCDataRuntime.h
M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVM.h
M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
A mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeDescriptors.def
M mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeFunctions.def
M mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeUtils.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
A mlir/lib/Conversion/OpenACCToLLVM/ACCDataDirectivePatterns.cpp
A mlir/lib/Conversion/OpenACCToLLVM/ACCDataRuntime.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCExecutableDirectivePatterns.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/Dialect/OpenACC/Utils/OpenACCRuntimeUtils.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
A mlir/test/Conversion/OpenACCToLLVM/data-diagnostics.mlir
A mlir/test/Conversion/OpenACCToLLVM/data-runtime.mlir
A mlir/test/Conversion/OpenACCToLLVM/data.mlir
M mlir/test/Conversion/OpenACCToLLVM/init-shutdown-set.mlir
M mlir/test/Conversion/OpenACCToLLVM/runtime-declaration-mismatch.mlir
M mlir/test/Conversion/OpenACCToLLVM/wait.mlir
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCRuntimeUtilsTest.cpp
Log Message:
-----------
[mlir][acc] Add data directive codegen to ACCToLLVM (#223043)
Extends the acc to LLVM conversion with codegen for the OpenACC data
constructs - data, enter data, exit data and update. Each construct
becomes calls to the libacctarget data entry points that establish the
mappings its clauses ask for and tear them down again, on the queue its
async clause selects and after the wait its wait clause asks for. As
with the executable directives, these runtime APIs are not yet
finalized; the draft proposal can be found at
https://github.com/llvm/llvm-project/pull/197894.
A mapping is handed to the runtime as parallel argument arrays holding
one entry per mapped object, together with a descriptor for the objects
whose extent or layout cannot be stated as a size. The descriptor
layouts are declared next to the entry points they are passed to, as
they are equally part of the runtime interface.
Clause handling the data constructs share with the executable
directives, such as async, wait and if, now lives in the common
conversion utilities.
Co-authored-by: Matsu <kmatsumura at nvidia.com>
Commit: 620168eaa2718bde5e8e09470758f881f6e25a66
https://github.com/llvm/llvm-project/commit/620168eaa2718bde5e8e09470758f881f6e25a66
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-managed-func-result.cuf
Log Message:
-----------
[flang][cuda] Save function result descriptor before function exit (#223484)
The cuf.free was called before the AbstractResult pass spies the result
over the passed argument. Make sure the result is saved before the
descriptor is freed.
Commit: 7576379fdd2a6652dabda1cc8f21fdf11356f5a7
https://github.com/llvm/llvm-project/commit/7576379fdd2a6652dabda1cc8f21fdf11356f5a7
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/PassManager.h
Log Message:
-----------
[IR] Remove isRequired from PassInfoMixin (#223818)
This is no longer needed after 80a1e2125c7ec7db402925d153c0dbd6041d3004
and will not have any downstream difference given no one should be
inheriting directly from PassInfoMixin given it is in the detail
namespace.
Commit: 08390c01e301987e0ae7ba903fdc5c477a687728
https://github.com/llvm/llvm-project/commit/08390c01e301987e0ae7ba903fdc5c477a687728
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
R clang/test/CIR/CodeGen/call-conv-lowering-win64-skipped.c
Log Message:
-----------
[CIR][NFC] Remove bad test (#223840)
This removes a test that was checking to see whether calling convention
lowering was applied for a Windows target. This test was causing CI
failures. We don't have enough Windows support implemented in CIR for
this to reliably even get to the point of making this negative check.
The test will end up being unstable, so I am just removing it.
Commit: b0c4d416e5189e45eb09b79c681ecaa65080f73e
https://github.com/llvm/llvm-project/commit/b0c4d416e5189e45eb09b79c681ecaa65080f73e
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 728d1c0 (#223855)
This fixes 728d1c058b3ee1407eb4e8bf26ddc1aff03e48f8 (#223043).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=728d1c058b3ee1407eb4e8bf26ddc1aff03e48f8
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 218b71e3d4de375ea487ab45faecb8fea9cec1fe
https://github.com/llvm/llvm-project/commit/218b71e3d4de375ea487ab45faecb8fea9cec1fe
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
Log Message:
-----------
[VPlan] Remove dead cycles until none are left. (#223845)
Follow-up to https://github.com/llvm/llvm-project/pull/213632. Removing
a dead cycle may expose another dead cycle, which also needs removing.
Stop after cycle is remover to avoid crashing on invalid iterator, and
repeat until no cycles are left.
Commit: 05a60d8a36893ae4f64604576a8493cd2ba74eb5
https://github.com/llvm/llvm-project/commit/05a60d8a36893ae4f64604576a8493cd2ba74eb5
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecInfo.h
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
Log Message:
-----------
[AMDGPU][NFC] Centralize co-execution stall calculation (#220335)
Commit: c2fa65d33f124526bfe61d5125e203547076f4ce
https://github.com/llvm/llvm-project/commit/c2fa65d33f124526bfe61d5125e203547076f4ce
Author: junfengd-nv <junfengd at nvidia.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Optimizer/Dialect/FIRAttr.h
M flang/include/flang/Support/LangOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Driver/check-integer-mod-zero-divisor.f90
M flang/test/Lower/Intrinsics/mod.f90
M flang/test/Lower/Intrinsics/modulo.f90
M flang/test/Lower/dummy-procedure.f90
Log Message:
-----------
[flang] Diagnose integer MOD/MODULO when the divisor is zero (#222790)
Flang currently prints a garbage integer when the divisor of integer
MOD/MODULO is zero. For example:
```
program mod0_var
integer :: a, p, r
a = 5
p = 0
r = mod(a, p)
print *, r
end program
```
Integer MOD/MODULO lower to arith.remsi. A zero divisor is undefined
behavior in LLVM, so the remainder can become poison and the program
neither crashes nor reports an error.
This change checks the second argument P when lowering integer
MOD/MODULO. If P is not a compile-time nonzero constant, a P == 0 test
is inserted. On that path, _FortranAReportFatalUserError is called with
the same messages as IntMod in flang-rt (MOD with P==0 / MODULO with
P==0). The fast path remains arith.remsi.
Before:
```
func.func private @fir.mod.i32.ref_i32.ref_i32(%arg0, %arg1) {
%a = fir.load %arg0
%p = fir.load %arg1
%r = arith.remsi %a, %p : i32
return %r
}
```
After:
```
func.func private @fir.mod.i32.ref_i32.ref_i32(%arg0, %arg1) {
%a = fir.load %arg0
%p = fir.load %arg1
%zero = arith.constant 0 : i32
%bad = arith.cmpi eq, %p, %zero : i32
fir.if %bad {
// fatal: same text as IntMod in
// llvm-project/flang-rt/lib/runtime/numeric.cpp
}
%r = arith.remsi %a, %p : i32
return %r
}
```
Commit: 71cb3f47f9a296eacf4e0391b0e645d894ec7e2c
https://github.com/llvm/llvm-project/commit/71cb3f47f9a296eacf4e0391b0e645d894ec7e2c
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions-stress-test-tower.cpp
M compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions.cpp
M compiler-rt/test/orc/TestCases/Darwin/Generic/llvm-jitlink-force-link-objc.m
M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-category.S
M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-cross-file-method-call.S
M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-nonlazy-class.S
M compiler-rt/test/orc/TestCases/Darwin/arm64/trivial-objc-methods.S
M compiler-rt/test/orc/TestCases/Darwin/lit.local.cfg.py
M compiler-rt/test/orc/lit.cfg.py
Log Message:
-----------
[orc-rt] Disable old ORC runtime testcases on arm64e (#223670)
These regression tests are unsupported on arm64e. Disable them.
rdar://186687669
Commit: 35c6acb89abf0ca576b63e544885cdb0cb010443
https://github.com/llvm/llvm-project/commit/35c6acb89abf0ca576b63e544885cdb0cb010443
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-maxnum-minnum.c
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
Log Message:
-----------
[CIR] Implement elementwise min/max/minimum/maximum/minnum/maxnum/etc (#222481)
These ended up being simple translations to llvm intrinsics, so other
than a single small 'magic decoder ring', this is a very trivial
implementation. The tests are taken from classic-codegen with some mild
modifications (as vector types don't work in arguments yet, and we are
testing more appropriately, as those were generated check lines).
This was found in an application we're trying to build.
Commit: e35d15fe53ff0450e79de13f649f196b98547916
https://github.com/llvm/llvm-project/commit/e35d15fe53ff0450e79de13f649f196b98547916
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
Log Message:
-----------
WebAssembly: Avoid using createDataLayout (#223836)
Find the datalayout from the IR context instead of copying one
from the TargetMachine
Commit: 6a8b946a43c5ded4a1055cdd36f23fef11812fa0
https://github.com/llvm/llvm-project/commit/6a8b946a43c5ded4a1055cdd36f23fef11812fa0
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/TargetParser/XtensaTargetParser.def
M llvm/include/llvm/TargetParser/XtensaTargetParser.h
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/Xtensa.td
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaInstrFormats.td
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaOperands.td
M llvm/lib/Target/Xtensa/XtensaProcessors.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
A llvm/lib/Target/Xtensa/XtensaS3DSPInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/MC/Xtensa/xtensa-esp32s3-invalid.s
A llvm/test/MC/Xtensa/xtensa-esp32s3-valid.s
Log Message:
-----------
[Xtensa] Implement esp32s3 target. (#220393)
- Add esp32s3 CPU support
- Implement esp32s3 DSP operations with test
- Improve asm register parsing
Commit: d027db3ca9e9fa7a494d56491e57365c859bffa9
https://github.com/llvm/llvm-project/commit/d027db3ca9e9fa7a494d56491e57365c859bffa9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/test/MC/RISCV/rvzimop-valid.s
M llvm/test/MC/RISCV/zicfiss-valid.s
Log Message:
-----------
[RISCV] Add more tests for Zimop. NFC (#223797)
Exposes bug in disassembly of mop.r.28 and mop.rr.7 which partially
overlap with Zicfiss.
Assisted-by: Claude
Commit: 73a4eae01c881603a880c3eb46ca34e11f534db8
https://github.com/llvm/llvm-project/commit/73a4eae01c881603a880c3eb46ca34e11f534db8
Author: cmtice <cmtice at google.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M lldb/source/API/SystemInitializerFull.cpp
Log Message:
-----------
[LLDB] Initialize language categories as part of general initialization. (#223474)
This prevents needless slowdown later when looking up variable values.
Commit: c7d4921b39bf5710968872213935198efbb310fd
https://github.com/llvm/llvm-project/commit/c7d4921b39bf5710968872213935198efbb310fd
Author: Stan Ulbrych <stan at python.org>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerLoop.cpp
M compiler-rt/test/fuzzer/minimize_crash_custom_mutator.test
Log Message:
-----------
[libFuzzer] Pass the current size to Mutate in MinimizeCrashLoop (#223470)
Fixes #149942. MinimizeCrashLoop passed U.size() to every MD.Mutate call
in the mutate_depth loop, so following mutations operated on a stale
size. Track the size across mutations, like MutateAndTestOne already
does.
Commit: 99f7a3ee4b76e0b77552f57a7cc9a4262ceddbd9
https://github.com/llvm/llvm-project/commit/99f7a3ee4b76e0b77552f57a7cc9a4262ceddbd9
Author: Konstantinos Parasyris <koparasy at gmail.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
A clang/test/CIR/CodeGenSYCL/kernel-caller-address-space.cpp
Log Message:
-----------
[CIR][SYCL] Emit generic address space for default pointers in device code (#223464)
Commit: dcd33090385467717fc3aaba6a72b36c759f2d18
https://github.com/llvm/llvm-project/commit/dcd33090385467717fc3aaba6a72b36c759f2d18
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/Lowering/unlowered-address-spaces.cir
Log Message:
-----------
[CIR] Reject unlowered language address spaces on CIR globals (#223660)
Diagnose a `LangAddressSpaceAttr` on `cir.global` before selecting the
LLVM global address space. This keeps standalone global attributes from
bypassing pointer conversion and silently falling back to address space
zero.
Assisted-by: Codex / GPT-5.6 Sol
Commit: 057f3ee1b4f32ccc348f1c64142dcf0e4c5e9b69
https://github.com/llvm/llvm-project/commit/057f3ee1b4f32ccc348f1c64142dcf0e4c5e9b69
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZicfiss.td
Log Message:
-----------
[RISCV] Use bits<5> for rs1 in c.sspopchk and c.sspush. NFC (#223856)
These instructions are encoded so that bits 11-7 match the register they
operate on. We can put 1 or 5 in rs1 and then assign rs1 to bits 11-7.
This match c.addi16sp which only allows SP.
Commit: acd72302ca682b7f7b514fdb8a1417c12eb15a2c
https://github.com/llvm/llvm-project/commit/acd72302ca682b7f7b514fdb8a1417c12eb15a2c
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
Log Message:
-----------
[ORC] Skip ReOptimize unit tests on arm64e. (#223605)
The ReOptimize layer doesn't support arm64e yet.
rdar://186687659
Commit: 98684c0871860447a51d9bc35e73f5bd53050ec0
https://github.com/llvm/llvm-project/commit/98684c0871860447a51d9bc35e73f5bd53050ec0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github] Bump AArch64 Premerge Runners to LLVM 23.1.1 (#223869)
This should work now given 23.1.1 disabled -Wunused-template.
Landed in llvm-zorg for x86 Linux/Windows in
https://github.com/llvm/llvm-zorg/commit/2236c4c3a51207f1cf002b9092a54dd676e8ed19.
Commit: 124e476295e62296a012f35b192644d1a2c3244c
https://github.com/llvm/llvm-project/commit/124e476295e62296a012f35b192644d1a2c3244c
Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/test/tools/llvm-profgen/X86/Inputs/coroutine.perfbin
M llvm/test/tools/llvm-profgen/X86/Inputs/coroutine.perfscript
M llvm/test/tools/llvm-profgen/X86/coroutine.test
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
Log Message:
-----------
[llvm-profgen] Strip coroutine suffixes from DWARF info (#217980)
https://github.com/llvm/llvm-project/pull/141889 preserves coroutine
suffixes into the DWARF linkage name, which may unexpectedly pass down
those suffixes into the profile in llvm-profgen. The logging also shows
extremely high percentages of samples being recovered from symbol table
because of the unstripped suffixes introduced from DWARF linkage name.
```
warning: 45.38%(754559/1662830) of samples are from ranges that belong to functions recovered from symbol table.
```
This fix strips the coroutine in: 1) the inital
`loadSymbolsFromDWARFUnit` for profiled functions and 2) the stack
`symbolize` that constructs the context trie
Also updates the coroutine unittest to move coroutine header from
experimental to standard.
Commit: 7d29a9258695cc958bd63dc70176a38cb87fe4d6
https://github.com/llvm/llvm-project/commit/7d29a9258695cc958bd63dc70176a38cb87fe4d6
Author: Adam Smith <adams at nvidia.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
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 empty member is [[no_unique_address]] (#223538)
The record-wide reject for a member CIRGen marks empty is there for the
struct arm of mapCIRType, which reads such a member as an unnamed
bit-field standing for the bytes it occupies. This does not apply to a
union, so the reject moves into the struct branch.
Which variants the classifier sees then falls to the union arm, and it
now reads that from each variant's own storage rather than from its
mark. A zero-sized variant and one that is empty for the ABI are
skipped. One whose mark says empty over storage that holds data is not.
Assisted-by: Cursor / claude-opus-5
Commit: 8a3e7cdcd2fba1ea2ba91f8e3c7755afc2f481e5
https://github.com/llvm/llvm-project/commit/8a3e7cdcd2fba1ea2ba91f8e3c7755afc2f481e5
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
M mlir/test/Conversion/XeVMToLLVM/legalize_large_vector.mlir
Log Message:
-----------
[MLIR][XeVM] Fix mask lifetime in HandleVectorExtractPattern (#223879)
When a contiguous-slice shuffle is hoisted through a bitcast that
changes
the element count, the slice is rewritten against the bitcast source by
rescaling the mask into a local SmallVector and rebinding the `mask`
ArrayRef to it. That SmallVector was declared inside the
`if (maskScale != 1)` block, so it was destroyed before the two uses of
`mask` that follow the block - a stack-use-after-scope.
It is benign on uninstrumented builds, which is why precommit did not
catch it, but the sanitizer bots trap it on
Conversion/XeVMToLLVM/mxfp_scale_binary_hoist.mlir, the first test whose
chain drives the length-changing bitcast path:
ERROR: AddressSanitizer: stack-use-after-scope
READ of size 4
#23 mlir::detail::DenseArrayAttrImpl<int>::get(MLIRContext*,
ArrayRef<int>)
#24 mlir::LLVM::ShuffleVectorOp::build(..., ArrayRef<int>)
#26 HandleVectorExtractPattern::matchAndRewrite
XeVMToLLVM.cpp:1866:27
Address is located in stack of thread T0 at offset 304 in frame
#0 HandleVectorExtractPattern::matchAndRewrite XeVMToLLVM.cpp:1801
[288, 352) 'newMask' (line 1856) <== Memory access at offset 304 is
inside this variable
SUMMARY: AddressSanitizer: stack-use-after-scope
ASan reports the above, MSan reports a read of uninitialized memory and
HWASan a tag mismatch. In each case mlir-opt dies partway through
--split-input-file, so the surface symptom is the CHECK-LABEL of the
second module in that file not being found:
https://lab.llvm.org/buildbot/#/builders/52/builds/20099
https://lab.llvm.org/buildbot/#/builders/164/builds/25415
https://lab.llvm.org/buildbot/#/builders/169/builds/26571
https://lab.llvm.org/buildbot/#/builders/55/builds/33165
Hoist the declaration so it outlives the uses, and add a lit test for
the
length-changing bitcast path, which previously had no direct coverage -
the existing tests only bitcast between equal element counts.
Commit: 6c31f6446a55e0cc603c3eca5c5ebd47c2f5327a
https://github.com/llvm/llvm-project/commit/6c31f6446a55e0cc603c3eca5c5ebd47c2f5327a
Author: Maxim Potapchik <maximp1012 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
M llvm/tools/llvm-exegesis/lib/PerfHelper.h
M llvm/tools/llvm-exegesis/lib/Target.cpp
M llvm/unittests/tools/llvm-exegesis/CMakeLists.txt
A llvm/unittests/tools/llvm-exegesis/PerfHelperTest.cpp
Log Message:
-----------
[llvm-exegesis] Add RawPerfEvent raw PMU counter path in createCounter (#208364)
Introduces RawPerfEvent, a PerfEvent derived class that constructs
perf_event_attr directly from EventSelect and UMask, bypassing
pfm_get_os_event_encoding for cycle and uops events.
createCounter routes to RawPerfEvent when PfmCountersInfo contains a
non-negative EventSelect for the cycle or uops counter slot, falling
back to the existing libpfm symbolic path otherwise. Extended
createBenchmarkRunner gate checks to allow raw-only counters in latency
and uops modes.
This wiring is opt-in. Existing behavior is unchanged.
Adds unit tests covering RawPerfEvent construction, config field
encoding, and kernel exclusion flag correctness.
Validated on AMD Zen2: latency measurements via the raw path match the
libpfm symbolic path on identical hardware.
Towards #187930
Commit: 82004b076831331b0567bc9d8b53263a4fabd74b
https://github.com/llvm/llvm-project/commit/82004b076831331b0567bc9d8b53263a4fabd74b
Author: purnima shrivastava <purnimashrivastava05 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
A mlir/test/Dialect/SCF/parallel-loop-unroll-invalid.mlir
M mlir/test/lib/Dialect/SCF/TestParallelLoopUnrolling.cpp
Log Message:
-----------
[mlir][SCF] Avoid crash in parallel loop unrolling test pass (#222644)
This fixes crashes in `--test-parallel-loop-unrolling` when
`unroll-factors` is missing or contains zero.
Previously, the test pass forwarded an empty or invalid factor list to
the parallel-loop unrolling utility, violating its preconditions and
triggering an assertion.
The pass now emits an error and signals pass failure when:
* `unroll-factors` is not provided.
* Any unroll factor is zero.
Regression tests verify the diagnostics for both invalid inputs using
`-verify-diagnostics`.
Fixes #222535.
Co-authored-by: Purnima Shrivastava <purnimashrivastava05 at .com>
Commit: 3ce76320daf6cd93e6fbcecf037e9ac620d7cc34
https://github.com/llvm/llvm-project/commit/3ce76320daf6cd93e6fbcecf037e9ac620d7cc34
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 058ca1274446 (#223885)
Commit: 1daae8bcd3bbed8c673518477ba7cd047fe27d82
https://github.com/llvm/llvm-project/commit/1daae8bcd3bbed8c673518477ba7cd047fe27d82
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/tools/llvm-exegesis/BUILD.gn
Log Message:
-----------
[gn build] Port 6c31f6446a55 (#223886)
Commit: 6f6bbfb5e63e8cf4f051c7e5f773c41fe5ddbf19
https://github.com/llvm/llvm-project/commit/6f6bbfb5e63e8cf4f051c7e5f773c41fe5ddbf19
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-profiles.c
M llvm/docs/RISCVUsage.md
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV]Add RVA23.1 and RVB23.1 experimental profiles (#217199)
RVA23.1 state: https://riscv.atlassian.net/browse/RVS-4180
RVB23.1 state: https://riscv.atlassian.net/browse/RVS-4184
---------
Co-authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Commit: de9ad513460a1a5439b0b8d6d5c7a51a3634bc20
https://github.com/llvm/llvm-project/commit/de9ad513460a1a5439b0b8d6d5c7a51a3634bc20
Author: Michael Jones <michaelrj at google.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sys/stat.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/mknodat.h
M libc/src/sys/stat/CMakeLists.txt
M libc/src/sys/stat/linux/CMakeLists.txt
A libc/src/sys/stat/linux/mkfifo.cpp
A libc/src/sys/stat/mkfifo.h
M libc/test/src/sys/stat/CMakeLists.txt
A libc/test/src/sys/stat/mkfifo_test.cpp
Log Message:
-----------
[libc] Implement mkfifo (#223566)
Implements the mkfifo function from POSIX, and tests.
Fixes: #220758
Assisted-by: Automated Tooling, Human Reviewed
Commit: 32a8fd50bd8d1dc52764730e9f8c491c8fd7a277
https://github.com/llvm/llvm-project/commit/32a8fd50bd8d1dc52764730e9f8c491c8fd7a277
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel
Log Message:
-----------
[bazel] Fix 82004b076831331b0567bc9d8b53263a4fabd74b (#223892)
Add split-file dep for mlir test in
82004b076831331b0567bc9d8b53263a4fabd74b
Commit: 59ae8d382261e84d95e67e4f9f43fd5c71ae1397
https://github.com/llvm/llvm-project/commit/59ae8d382261e84d95e67e4f9f43fd5c71ae1397
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[CI] Use Ubuntu 26.04 for Premerge Image (#223883)
Mainly so that we pull in a newer CMake version given the minimum is
getting bumped soon, but also to get the upgrade over with.
Commit: eb5f248268fb9d2337a2b85139017fc94eb61ce6
https://github.com/llvm/llvm-project/commit/eb5f248268fb9d2337a2b85139017fc94eb61ce6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
A lldb/test/Shell/SymbolFile/DWARF/missing-oso.cpp
Log Message:
-----------
[lldb] Report an error when a debug map object file is missing (#223576)
When an OSO in the debug map does not exist on disk, LLDB records the
load error on the CompileUnitInfo but never surfaces it. The sibling
mod-time-mismatch branch does report, so a stale .o produces a
diagnostic while a deleted one fails silently.
This is easy to hit with LTO. The linker writes the merged object to a
temporary path and deletes it, so unless the build passes
-object_path_lto the debug map points at a file that is already gone.
rdar://162327417
Commit: c793abb8bb6233dea287748a96ea7c2b8f447fa1
https://github.com/llvm/llvm-project/commit/c793abb8bb6233dea287748a96ea7c2b8f447fa1
Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/MathToXeVM/MathToXeVM.cpp
M mlir/test/Conversion/MathToXeVM/math-to-ocl.mlir
M mlir/test/Conversion/MathToXeVM/math-to-xevm.mlir
Log Message:
-----------
[mlir][MathToXeVM] Route math ops by fastmath: native for `afn`, OCL otherwise. (#223816)
The pass had two lowerings for the same math ops. `afn` fastmath ops
went to the OpenCL `native_` intrinsics. Everything else was only
lowered when the `convert-to-ocl` option was set, which defaulted to
off, so those ops were left untouched.
Make `convert-to-ocl` default to true. The fastmath flag now picks the
intrinsic on its own:
- `afn` set -> `__spirv_ocl_native_*`, fast but approximate.
- `afn` unset -> `__spirv_ocl_*`, precise.
`fastmath<fast>` is a group that expands to include `afn`, so it takes
the native path too. Other flags without `afn` do not.
The precedence already worked: the native patterns get a higher pattern
benefit than the precise ones, so an `afn` op still gets the native
intrinsic when both pattern sets are live. Spell the benefits out
instead of deriving one from the option value.
Set `convert-to-ocl=false` to get the old behavior of leaving non-`afn`
ops alone. math-to-xevm.mlir pins the native half, so it now passes that
flag. math-to-ocl.mlir gains a routing case covering all five flag
states, since the benefit tie only has to be broken when both pattern
sets are live.
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: bb651180e3b17b374c5fc0ceb7f3b8c09bc61156
https://github.com/llvm/llvm-project/commit/bb651180e3b17b374c5fc0ceb7f3b8c09bc61156
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameInterface.h
M lldb/include/lldb/Target/StackFrameRecognizer.h
A lldb/include/lldb/ValueObject/ValueObjectSynthesizedValue.h
M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
M lldb/source/Symbol/Variable.cpp
M lldb/source/ValueObject/CMakeLists.txt
A lldb/source/ValueObject/ValueObjectSynthesizedValue.cpp
M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
Log Message:
-----------
[lldb] Report a scripted frame's variables with the frame's value type (#221708)
A scripted frame's variable exists as two objects: a Variable holding
the scope the frame assigned it, and a ValueObject holding what the
frame built. SBValue::GetValueType() reports the ValueObject's, and
GetValueObjectForFrameVariable handed that ValueObject back unchanged,
so the scope never reached a client. A ValueObject built in Python is a
ValueObjectConstResult, which reports how it was produced rather than
which variable it stands for, leaving anything that groups a frame's
variables by scope unable to place it. `frame variable` was unaffected
because it reads the Variables directly.
This patch presents the ValueObject under that scope instead. A class
for this already existed as ValueObjectRecognizerSynthesizedValue, which
frame recognizers use to name an argument: both take a ValueObject that
cannot report the ValueType it is being presented as and supply that
ValueType for it, so generalize that one into
ValueObjectSynthesizedValue and use it for both. ValueObjectVariable is
the other class that pairs a ValueObject with a ValueType, but it cannot
serve here because it recovers its data from a DWARF location
expression, and a frame that builds its own ValueObjects supplies none.
The presented ValueObject is not a parent, so it is no longer held as
one. It is the same ValueObject seen differently, which makes the
presenting object a root: constructing it as one keeps GetParent()
reporting no parent, as it does for any other ValueObject obtained from
a frame, and keeps the walks over m_parent (for a symbol context scope,
a root, a dynamic ValueObject or format information) from finding a
container that does not exist.
Recognized arguments change behaviour slightly as a result: the shared
UpdateValue propagates an error from the presented ValueObject, fills in
the data and sets validity, none of which the recognizer's copy did.
Reaching a variable by name goes through Variable::NameMatches, which
dereferences m_owner_scope for every entry whose name does not match. A
null owner scope is a legal state, CalculateSymbolContext handles it
explicitly and a frame that makes up its own variables has none, so drop
that lookup. The SymbolContext it filled in has had no reader since
22b044877d23, which dropped the language argument to
Mangled::NameMatches along with the only use of it.
Also document that the synthetic flag in GetValueTypeForVariable's
return is what exempts a variable from the scope rules a declared
variable is subject to. A ValueObject with no storage behind it is
filtered out of an in-scope-only listing without it.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: ef326fec1daefa425f2ffd025cbda56e8300354d
https://github.com/llvm/llvm-project/commit/ef326fec1daefa425f2ffd025cbda56e8300354d
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M clang/include/clang/Basic/HLSLIntrinsics.td
M clang/test/CodeGenHLSL/builtins/asdouble.hlsl
M clang/test/CodeGenHLSL/builtins/ddx.hlsl
M clang/test/CodeGenHLSL/builtins/ddy.hlsl
M clang/test/CodeGenHLSL/builtins/ldexp.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
M clang/test/SemaHLSL/BuiltIns/ldexp-errors.hlsl
Log Message:
-----------
[HLSL][LongVec] Add more intrinsic support (#222043)
resolves #220699
resolves #220655
resolves #220639
resolves #220638
resolves #220614
Commit: 182ca95eed3feb7c7ba83ed2b35a0c5f29517b9b
https://github.com/llvm/llvm-project/commit/182ca95eed3feb7c7ba83ed2b35a0c5f29517b9b
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/funclet-unreachable-block.ll
Log Message:
-----------
[Verifier] Don't look up the funclet color of an unreachable block (#222500)
Fixes #192015.
Commit: 8723e4a1bc0b6078e35c17532952f79fb8480f53
https://github.com/llvm/llvm-project/commit/8723e4a1bc0b6078e35c17532952f79fb8480f53
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
A llvm/test/CodeGen/AMDGPU/coexec-block-carried-latency.mir
M llvm/test/CodeGen/AMDGPU/coexec-mfma-interleave-gfx950.ll
M llvm/test/CodeGen/AMDGPU/coexec-sched-ds-fifo.mir
M llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
Log Message:
-----------
[AMDGPU] Add block carried latency to CoExecSched (#192324)
This adds some rudimentary logic to check for load dependencies across
blocks. Since the scheduling algorithm is local scheduling per region,
we do not have about latencies carried from other blocks. Rather than
constructing a global DAG to accurately measure these latencies, this PR
uses a heuristic to estimate the incoming latency.
We limit our incoming dependencies to load instructions, as these are
expected to be the ones that cause problems. This uses the full latency
of the instruction as the incoming latency to cover. We check for any
use that occurred later in the def block - if we find such a use then we
do not have incoming latency as we have already waited for the load.
Using the incoming latency assumes that the load is the last instruction
in the block, and that the branch takes 0 cycles. Aside from not fully
understanding the dependencies of other blocks, a challenge in defining
a more accurate incoming latency is that it is possible that the block
with the load may be rescheduled.
---------
Co-authored-by: Austin Kerbow <Austin.Kerbow at amd.com>
Commit: 12992dca3ccbd2c4c3fc67528467ac73a1da292d
https://github.com/llvm/llvm-project/commit/12992dca3ccbd2c4c3fc67528467ac73a1da292d
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/AST/Decl.cpp
M clang/test/CodeGenCXX/cxx1z-inline-variables.cpp
M clang/test/SemaTemplate/class-template-spec.cpp
Log Message:
-----------
[clang] Fix handling of constexpr static data member template. (#220469)
[temp.expl.spec] says "An explicit specialization of a static data
member of a template or an explicit specialization of a static data
member template is a definition if the declaration includes an
initializer." The code did not match this rule for constexpr variables.
The check in question was only supposed to match the cases from
[depr.static.constexpr].
Fixes #219796
Commit: 46f08d7878f7a5a943355c4c02fb7a67bf532709
https://github.com/llvm/llvm-project/commit/46f08d7878f7a5a943355c4c02fb7a67bf532709
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZicfiss.td
Log Message:
-----------
[RISCV] Remove Zicfiss DecoderNamespace. NFC (#223891)
This used to be needed to prioritize c.sspopchk and c.sspush over
c.mop.1 and c.mop.5, but those are treated as InstAliases now.
Commit: 4150e90b0f597e64303d2d3a8ee2c2d83ee1ddab
https://github.com/llvm/llvm-project/commit/4150e90b0f597e64303d2d3a8ee2c2d83ee1ddab
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Call DecodeGPRPairRegisterClass from DecodeGPRPairCRegisterClass. NFC (#223882)
GPRPairC is a subset of GPRPair. We just need to do the range check and
let DecodeGPRPairRegisterClass do the rest of the work.
Commit: dec17c44def4439db47a888341191d49f33e6891
https://github.com/llvm/llvm-project/commit/dec17c44def4439db47a888341191d49f33e6891
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
Log Message:
-----------
[flang][cuda] Fix matching distance for use_device and none (#223849)
https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/#unified-data
the table set the matching distance for actual `use_device` and dummy
argument `none` to 1 but the implementation set it to 3.
@wangzpgi Was there a specific reason to set 3 instead of 1?
Commit: 4ee9dafceb16232b5c06857551228ee5471dc5cd
https://github.com/llvm/llvm-project/commit/4ee9dafceb16232b5c06857551228ee5471dc5cd
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
Log Message:
-----------
[RISCV] Use DecodeFilteredRegisterClass for DecodeGPRX1X5RegisterClass. (#223878)
Commit: c20428cbb5f551d54520d492b1d27011e4076f5b
https://github.com/llvm/llvm-project/commit/c20428cbb5f551d54520d492b1d27011e4076f5b
Author: Dhairyashil R G <dhairyashil25 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Target/LLVMIR/nvvm/mbar_arrive_drop.mlir
Log Message:
-----------
[MLIR][NVVM] Fix the lowering of legacy mbar.arrive_drop (#222916)
`nvvm.mbarrier.arrive_drop` fails to compile for sm_80:
LLVM ERROR: Cannot select: intrinsic
%llvm.nvvm.mbarrier.arrive.drop.scope.cta.space.cta
The op always lowers to the `scope.*.space.*` intrinsics, which need
sm_90. The legacy `llvm.nvvm.mbarrier.arrive.drop{,.shared}` intrinsics
work from sm_80 but are never used.
This uses the legacy intrinsic for the basic case only, space=cta,
scope=cta, no relaxed, no explicit count, the same fix as #172476 for
`mbarrier.arrive`. The count forms need sm_90, so they are unchanged.
Assisted-by: Claude
Commit: 262cf39197f4748693ea7bae7b788208bcb21621
https://github.com/llvm/llvm-project/commit/262cf39197f4748693ea7bae7b788208bcb21621
Author: Matt Turner <mattst88 at gmail.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/test/MC/AsmParser/macro-max-depth.s
Log Message:
-----------
[MC] Increase asm-macro-max-nesting-depth default to 100 (#218455)
GNU as accepts assembly we reject at the current default of 20, e.g.
glibc's
`sysdeps/unix/sysv/linux/alpha/rt_sigaction.S`, which nests 31 deep.
Raise the
default to 100, matching GNU as.
Assisted-by: Claude Code
Commit: 8b66604bb8e699820c7f1fd06a43a3c6ed2cac76
https://github.com/llvm/llvm-project/commit/8b66604bb8e699820c7f1fd06a43a3c6ed2cac76
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/zicfiss-valid.s
Log Message:
-----------
[RISCV] Remap mop.rr.7 and mop.r.28 to sspush/sspopchk/ssrdp in the assembler. (#223894)
This makes llvm-mc output match llvm-objdump. And is more consistent
with the InstAliases we use c.mop.
Commit: 6c1d20c5e29776e365e6a83e4a15b421b8552755
https://github.com/llvm/llvm-project/commit/6c1d20c5e29776e365e6a83e4a15b421b8552755
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/blend-i1.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
Log Message:
-----------
[VPlan] Process combineRecipes in a worklist (#213899)
This brings combineRecipes further in line with InstCombine, and asides
from unlocking more simplifications it also helps avoid test churn
whenever passes are moved around combineRecipes.
For now just push the new recipe onto the worklist, not its users.
This uses a post order traversal so we maintain the same simplification
order as before.
Commit: c7ddefdcc81c32c2a05b636817fcb5d5e4cc0c40
https://github.com/llvm/llvm-project/commit/c7ddefdcc81c32c2a05b636817fcb5d5e4cc0c40
Author: Zeyi Xu <zeyi2 at nekoarch.cc>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/MC/RISCV/attribute-arch.s
Log Message:
-----------
[MC][RISCV] Make Zve32x a dependency of Zvabd (#223901)
The Zvabd specification defines Zve32x as a dependency. This commit
fixes the dependency problem in MC's implementation.
See:
https://github.com/riscv/integer-vector-absolute-difference/blob/0092c8451bb24b957d8358f261c0535ece88defb/src/unpriv/zvabd.adoc#L26
Commit: 83066e0d57798b10c759fea6ab77346dabc0e1dc
https://github.com/llvm/llvm-project/commit/83066e0d57798b10c759fea6ab77346dabc0e1dc
Author: Rajat Bajpai <rbajpai at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/docs/NVPTXUsage.md
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/NVVMIntrinsicUtils.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-cta-invalid.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-cta-oob.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-cta-relaxed.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-cta-validate-data.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-invalid.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-mc32.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-relaxed.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-validate-data.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-override.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-validate-data.ll
A llvm/test/Verifier/NVPTX/cp-async-bulk-g2s-cta.ll
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Target/LLVMIR/nvvm/tma_bulk_copy.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_im2col.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_tile.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_load_cta_im2col.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_load_cta_tile.mlir
Log Message:
-----------
[LLVM][NVPTX] Add async bulk copy global to shared extensions (#222323)
This change adds following things to bulk copy intrinsics.
1. Relaxed memory ordering semantics with a scope argument.
2. Data-validity reporting patterns (introduced in Rubin).
3. 32-bit multicast mask for global to shared::cluster variants
(introduced in Rubin).
4. Ignore out of bound checks for global to shared::cta variants.
Note: MLIR lowering is updated to emit the new intrinsic signatures.
Support for the new features in MLIR will be done in a separate change.
Commit: bf89dd2637f367316b1fb67e515ff28782222822
https://github.com/llvm/llvm-project/commit/bf89dd2637f367316b1fb67e515ff28782222822
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanLowering.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Rename createScalarFreeze -> createFreeze. NFC (#223648)
It works for vector operands too. We can also use it in
preparePlanForMainVectorLoop
Commit: df997d219210bf0ef546f85f43c38cfa92607e80
https://github.com/llvm/llvm-project/commit/df997d219210bf0ef546f85f43c38cfa92607e80
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
Log Message:
-----------
[RISCV] Add DecodeSingleRegister template class to replace DecodeSPRegisterClass and similar. (#223889)
This can avoid adding more explicitly written decode functions for
https://github.com/llvm/llvm-project/pull/177073
Commit: 78bbf2229d2a5b8dc84b1b2b83cab9c2239a47ba
https://github.com/llvm/llvm-project/commit/78bbf2229d2a5b8dc84b1b2b83cab9c2239a47ba
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/include/lldb/Host/HostInfo.h
A lldb/include/lldb/Host/emscripten/HostInfoEmscripten.h
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/emscripten/HostInfoEmscripten.cpp
Log Message:
-----------
[lldb] Add HostInfoEmscripten (#223169)
Emscripten currently selects `HostInfoLinux`. That was useful as an initial bootstrap, but it also introduces Linux-specific assumptions such as `/proc/self/exe`, invoking `lsb_releas`e through `popen`, and
Linux-specific architecture handling.
This patch introduces a small `HostInfoEmscripten` implementation derived from `HostInfoPosix` and selects it when LLDB is built with Emscripten.
The implementation intentionally remains minimal. A browser-hosted LLDB process does not currently have a meaningful native executable path, so `GetProgramFileSpec()` returns an empty FileSpec.
A dedicated PlatformEmscripten and browser-specific process behavior will be handled separately so this change remains atomic !
Commit: b27d9d29615f6a8e784ed705f8e241f6a7c4adbf
https://github.com/llvm/llvm-project/commit/b27d9d29615f6a8e784ed705f8e241f6a7c4adbf
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
Log Message:
-----------
[llvm-jitlink] Fix a memory leak in llvm-jitlink-executor. (#223904)
In openListener, use a scope_exit to call freeaddrinfo on the struct
allocated by getaddrinfo.
No testcase: We have no in-tree tests for llvm-jitlink-executor. This
bug was found by inspection.
Commit: dedfd0eb94dcd8da26a0bcce928037ae32e5616d
https://github.com/llvm/llvm-project/commit/dedfd0eb94dcd8da26a0bcce928037ae32e5616d
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctlz.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/cttz.ll
Log Message:
-----------
[SPIR-V] Fix bit count intrinsics on narrow integer types (#223358)
Widening i24 to i32 relabels the type without clearing the high bits, so
ctlz, cttz and ctpop counted them too
Commit: 862885765ac2d854ec5ec1ed38f422f99414688e
https://github.com/llvm/llvm-project/commit/862885765ac2d854ec5ec1ed38f422f99414688e
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/source/Plugins/Platform/CMakeLists.txt
A lldb/source/Plugins/Platform/Emscripten/CMakeLists.txt
A lldb/source/Plugins/Platform/Emscripten/PlatformEmscripten.cpp
A lldb/source/Plugins/Platform/Emscripten/PlatformEmscripten.h
M lldb/unittests/Platform/CMakeLists.txt
A lldb/unittests/Platform/PlatformEmscriptenTest.cpp
Log Message:
-----------
[lldb] Add PlatformEmscripten (#223200)
This follows #223169, where I introduced `HostInfoEmscripten`.
While getting libLLDB and its SB API working in the browser, I initially used `PlatformLinux` as the host platform under Emscripten. That was enough for the first experiment, but Emscripten is not really Linux and we shouldn't keep inheriting Linux-specific behavior going forward.
This patch introduces a separate `PlatformEmscripten`, based on `PlatformPOSIX`, and makes it the host platform when LLDB itself is running under Emscripten.
For now, it:
- reports the Emscripten host architecture;
- supports `wasm32` and `wasm64` Emscripten targets;
- moves Emscripten host initialization out of `PlatformLinux`;
- does not claim that live process debugging works yet.
`PlatformWasm` remains separate. My understanding is that `PlatformEmscripten` describes the environment in which LLDB itself is running, while `PlatformWasm` describes the WebAssembly program being
debugged.
I am keeping this patch small on purpose. Browser-specific launching, attachment and live execution can be added separately once we connect LLDB to an actual in-browser execution backend.
I added a small test confirming that an Emscripten triple selects this platform, and also compiled the new plugin source successfully with Emscripten 6.0.8.
Commit: c8fdb5f8b93c3e1da5e2ff3ba8b18627d6147b51
https://github.com/llvm/llvm-project/commit/c8fdb5f8b93c3e1da5e2ff3ba8b18627d6147b51
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M orc-rt/include/orc-rt/bedrock/sps/SimpleRemoteCA.h
M orc-rt/lib/bedrock/sps/SimpleRemoteCA.cpp
M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
Log Message:
-----------
[orc-rt] SimpleRemoteCA updates for out-of-band error results (#223916)
Executor-side counterpart to #223378: adds ResultKind, the discriminator
a result message's tag field now carries, so that out-of-band errors can
travel as results despite having no byte representation of their own.
encodeResult and decodeResult own the encoding. handleMessage rejects a
tag that does not name a known kind, ending the session as an
unrecognized opcode does; a payload that will not decode is not fatal,
and comes back as an out-of-band error describing itself.
Nothing sends a non-zero kind yet -- SocketSimpleRemoteCA will, when it
frames a result. SimpleRemoteCATest covers the round-trips and both
malformed cases.
Commit: ab8a9f9127cc0fbccd24a1e44a4e2e73c616d65e
https://github.com/llvm/llvm-project/commit/ab8a9f9127cc0fbccd24a1e44a4e2e73c616d65e
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR][NFC] Restore LoadOp builders, LowerToLLVM, and CIRGenBuiltin fixes lost in #222481 (#223896)
Commit 35c6acb89abf (#222481) accidentally reverted parts of
cc5e9d63b4dc (#222822) in `CIROps.td`, `LowerToLLVM.cpp`, and
`CIRGenBuiltin.cpp`, which broke Linux CI with deprecation and template
instantiation errors.
This change restores those lost changes:
1. Re-adds `LoadOp` custom builders in `CIROps.td` so calls to
`cir::LoadOp::create(builder, loc, addr)` and
`cir::LoadOp::create(builder, loc, resultTy, addr)` do not resolve to
deprecated MLIR collective builders.
2. Restores `lowerConstrainableFPOp` in `LowerToLLVM.cpp` to pass
default properties and type range to `replaceOpWithNewOp`.
3. Restores `emitUnaryFPBuiltin` in `CIRGenBuiltin.cpp` to use
non-deprecated `Operation::create(cgf.getBuilder(), arg.getLoc(), arg)`.
Diagnosed by Antigravity, formatted with Gemini
Commit: 5835ef200a1fdd0aa92578ee824772eea4143279
https://github.com/llvm/llvm-project/commit/5835ef200a1fdd0aa92578ee824772eea4143279
Author: Emery Conrad <conrade.ctc at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/CodeGenCXX/top-level-stmt-local-names.cpp
A clang/test/Interpreter/lambda-top-level-stmt.cpp
Log Message:
-----------
[clang] Fix Itanium mangler crash on lambdas in top-level statements (#217041)
`clang-repl` asserts when a lambda in a top-level statement needs a
mangled name, for example `ns::call([]{});`. Since #84150 a
`TopLevelStmtDecl` is a `DeclContext`, and `manglePrefix` casts it to
`NamedDecl`.
Treat `TopLevelStmtDecl` as a local container and give it a synthesized
internal encoding (`L9__stmt__0v`), like `Ub_` for block literals.
Entities in a top-level statement then mangle as `<local-name>`s with
discriminators, so same-named locals in two statements do not collide.
Each `TopLevelStmtDecl` gets an ordinal at creation, in parse order; it
is serialized.
Tests: `Interpreter/lambda-top-level-stmt.cpp` (crashes without the fix)
and `CodeGenCXX/top-level-stmt-local-names.cpp` (two lambdas, two
same-named local classes). The interpreter test is `UNSUPPORTED:
system-windows`: MSVC compat enables `-fdelayed-template-parsing`, and
clang-repl asserts on any late-parsed template in a later fragment,
lambda or not.
Co-authored-by: Emery Conrad <emery.conrad at chicagotrading.com>
Commit: 54e36c83bc42b2a15d75eee3fc7a61eaf44a4e3a
https://github.com/llvm/llvm-project/commit/54e36c83bc42b2a15d75eee3fc7a61eaf44a4e3a
Author: renndong <liumingliang.dev at bytedance.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpaire.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpairo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpaire.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpairo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpaire.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpairo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpaire.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpairo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vzip.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/utils/TableGen/RISCVVEmitter.cpp
M llvm/docs/RISCVUsage.md
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvzip.td
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zvzip-zve32f.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vmerge-peephole.mir
M llvm/test/CodeGen/RISCV/rvv/vpairo.ll
M llvm/test/CodeGen/RISCV/rvv/vunzipe.ll
M llvm/test/CodeGen/RISCV/rvv/vunzipo.ll
M llvm/test/CodeGen/RISCV/rvv/vzip.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/rvv/zvzip-invalid.s
M llvm/test/MC/RISCV/rvv/zvzip.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Update Zvzip support to v0.3 (#210603)
This updates the experimental Zvzip implementation to match the
v0.3 draft specification from RISC-V ISA manual PR:
https://github.com/riscv/riscv-isa-manual/pull/3233
In Zvzip 0.3, `vtype` and `vl` describe the destination vector for all
five instructions:
- `vzip.vv` produces a destination with EMUL=LMUL from two source
operands with EMUL=LMUL/2. Its mask is indexed by destination
elements and therefore has the mask type associated with the result
vector. The overlap rule of `vzip.vv` matches widening vector
arithmetic instructions;
- `vunzipe.v` and `vunzipo.v` produce a destination with EMUL=LMUL
from a source operand with EMUL=2*LMUL.
- `vunzipe.v` and `vunzipo.v` no longer have masked forms and are
always encoded with `vm=1`. Their overlap rule matches narrowing
arithmetic instructions.
- The instruction encoding of `zip.vv` is illegal when
`2*SEW > LMUL*min(ELEN, VLEN)`, and the unzips when LMUL = 8.
- The destination of `vpaire.vv` and `vpairo.vv` may not overlap either
source register group.
This PR is developed with @wangpc-pp and is based on his draft PR
https://github.com/llvm/llvm-project/pull/207971.
This PR is assisted by AI.
---------
Co-authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Commit: d3e5f97569f0d058b4a58f5fab37e50f115e339d
https://github.com/llvm/llvm-project/commit/d3e5f97569f0d058b4a58f5fab37e50f115e339d
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/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Replace decodeImmThreeOperand/decodeImmFourOperand with a template function. NFC (#223924)
Make the immediate a template argument that we can be provided in the
DecoderMethod name.
Commit: 1c1edc2d34e181ac8cdd5aa81e218464e1e2a642
https://github.com/llvm/llvm-project/commit/1c1edc2d34e181ac8cdd5aa81e218464e1e2a642
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/Host.cpp
A lldb/source/Host/emscripten/Host.cpp
Log Message:
-----------
[lldb] Support building lldbHost under Emscripten (#223206)
This builds on the new `HostInfoEmscripten` and `PlatformEmscripten`
support.
Emscripten provides many POSIX APIs, but it does not support `fork` or
native host process management. This patch allows `lldbHost` to build
under Emscripten without treating it as Linux.
It:
- avoids building the `ProcessLauncherPosixFork` implementation;
- adds a small Emscripten Host implementation;
- reports process enumeration, process lookup, launching and shell
expansion as unsupported.
The remaining generic POSIX Host functionality continues to be used.
This is enough for the current libLLDB and SB API experiment, while live
process debugging will be handled separately once we have an in-browser
execution backend.
Commit: 3b8ee89006f5a228fce75528f8dd80b4229abcc1
https://github.com/llvm/llvm-project/commit/3b8ee89006f5a228fce75528f8dd80b4229abcc1
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Analysis/MustExecute.cpp
A llvm/test/Analysis/MustExecute/no-preheader.ll
Log Message:
-----------
[MustExecute] Use the loop predecessor instead of the preheader (#222096)
CanProveNotTakenFirstIteration() gets the IV start value via
LHS->getIncomingValueForBlock(CurLoop->getLoopPreheader()). If the loop
is not in simplified form, getLoopPreheader() returns null and the
lookup asserts. This is reachable from print<must-execute> on IR that is
not in LoopSimplify form (see the reproducer in #166488).
Fixed: use getLoopPredecessor() instead: it returns the unique
out-of-loop predecessor of the header even when it is not a dedicated
preheader, consequently the start value is still known. If there is no
such predecessor, bail out.
Fixes #166488.
Commit: 3b42a54e4be903ab6e0ef996d0800ed4b75650bd
https://github.com/llvm/llvm-project/commit/3b42a54e4be903ab6e0ef996d0800ed4b75650bd
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/misched-postra-only1.mir
Log Message:
-----------
[MISched] Remove verify-machineinstrs from test(NFC) (#223679)
Commit: 8d6f4149c163132024cf716a8eb1ef3ec4fad433
https://github.com/llvm/llvm-project/commit/8d6f4149c163132024cf716a8eb1ef3ec4fad433
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/SVEShuffleOpts.cpp
Log Message:
-----------
AArch64: Avoid depending on createDataLayout in a pass (#223776)
This should read directly from the context IR's module.
Commit: 76bb77e45a478f91bef1ea7369119974c6449c94
https://github.com/llvm/llvm-project/commit/76bb77e45a478f91bef1ea7369119974c6449c94
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/pr83017.ll
M llvm/test/CodeGen/RISCV/rvv/pr90559.ll
Log Message:
-----------
[RISCV] Merge zeroing stores into wider LMUL vector stores (#223908)
memset lowers to LMUL1 vector stores (v2i64 for e64) that we rely on
store merging to widen. `storeOfVectorConstantIsCheap` counted the
number of MemVT-sized stores, so a v2i64 MemVT needed 4 stores before
merging kicked in, leaving two VL=2 m1 stores for a 32B zero region.
Use the total element count for zeroing stores so two v2i64 stores
merge into one VL=4 e64 m2 store.
Partially fixes #223906
Assisted-by: TRAE CLI (Opus 4.8)
Commit: dd58c11c641d3e592331e57837fdd674d36dee82
https://github.com/llvm/llvm-project/commit/dd58c11c641d3e592331e57837fdd674d36dee82
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Metadata.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[IR] Simplify DIAssignID by storing its links in the node. NFC (#223324)
AssignmentTrackingPass generates DIAssignID metadata. A DIAssignID links
the instructions it is attached to, kept in
LLVMContextImpl::AssignmentIDToInstrs, with the dbg_assign records that
refer to it, found through a permanent use list (#78300 made DIAssignID
the only always-replaceable MDNode for this). Keep both lists in the
node as TinyPtrVector members instead (98% of instruction lists and
88-96% of record lists hold exactly one pointer), and drop the map and
`isAlwaysReplaceable()`.
Aided by Opus 5
Commit: 6e180ea23fe0c2ddcc9e7972ec52b7fc1383d973
https://github.com/llvm/llvm-project/commit/6e180ea23fe0c2ddcc9e7972ec52b7fc1383d973
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
M llvm/test/CodeGen/AMDGPU/opt-vgpr-live-range-verifier-error.mir
M llvm/test/CodeGen/AMDGPU/si-opt-vgpr-liverange-bug-deadlanes.mir
Log Message:
-----------
AMDGPU: Use LiveIntervals in SIOptimizeVGPRLiveRange when available (#222385)
LiveVariables has been long deprecated. Use LiveIntervals if available.
With the current pass structure, this will use LiveVariables.
Co-authored-by: Claude (Claude-Opus-4.8)
Commit: 10c37146ce3b3f850fb9afa9f00d02eb860ff237
https://github.com/llvm/llvm-project/commit/10c37146ce3b3f850fb9afa9f00d02eb860ff237
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
Log Message:
-----------
[RISCV] Do not verify size for some Xqci instructions (#223913)
After instruction size verification was enabled by default in
https://github.com/llvm/llvm-project/pull/221687/ we were running into
crashes for certain 48-bit Xqci instructions. This was happening because
we have compress patterns for these 48-bit instructions to compress them
into 32-bit instructions which `getInstSizeInBytes` was not taking into
account.
The crash looks like:
```
Size mismatch for: QC_E_SW $x0, $x14, 0 :: (store (s32) into %stack.0)
Expected maximum size: 2
Actual size: 4
```
Do not verify size for such instructions until we can return the correct
size for them.
Commit: f7cc8c8407551aabcd013555bafaafd62f0494fa
https://github.com/llvm/llvm-project/commit/f7cc8c8407551aabcd013555bafaafd62f0494fa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SlotIndexes.h
M llvm/lib/CodeGen/SlotIndexes.cpp
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
A llvm/test/CodeGen/AMDGPU/si-lower-control-flow-remove-redundant-block-liveintervals.mir
Log Message:
-----------
AMDGPU: Maintain LiveIntervals when removing blocks in SILowerControlFlow (#223642)
removeMBBifRedundant removed a redundant block's instructions from the
LiveIntervals maps but not the block itself, leaving a stale idx2MBBMap
entry that crashed getMBBFromIndex in the verifier.
Add SlotIndexes::removeMBBFromMaps to drop the erased block's slot
range, and recompute the intervals that spanned it.
Co-authored-by: Claude claude-opus-4.8 <noreply at anthropic.com>
Commit: 5a0c86a17b467e867bf1c0cd8fd6b5bacb82f1d1
https://github.com/llvm/llvm-project/commit/5a0c86a17b467e867bf1c0cd8fd6b5bacb82f1d1
Author: Keshav Vinayak Jha <31160700+keshavvinayak01 at users.noreply.github.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/and-vgpr-s32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ballot.i64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and-s1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-anyext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-brcond.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-freeze.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sadde.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ssube.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sub.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-trunc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uadde.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usube.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-zext.mir
Log Message:
-----------
[AMDGPU] Fix GlobalISel VGPR-to-VCC lowering types (#220987)
Register-bank legalization synthesized an untyped G_AND s32, but
instruction-selection patterns only matched typed G_AND i32, causing:
```
LLVM ERROR: cannot select: %:vgpr_32(s32) = G_AND ...
```
The source-level and i32 was valid; the incorrect type was introduced by
AMDGPU `VgprToVccCopy` lowering. SelectionDAG was unaffected because it
retained typed DAG nodes.
Assisted-by: Codex
---------
Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>
Commit: 4beeff3c2bf125de9dda8b374ffc9ec052d02810
https://github.com/llvm/llvm-project/commit/4beeff3c2bf125de9dda8b374ffc9ec052d02810
Author: Mintsuki <36459316+Mintsuki at users.noreply.github.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGen/LoongArch/target-abi-module-flag.c
Log Message:
-----------
[clang][LoongArch] Emit "target-abi" module flag (#223647)
The LoongArch backend reads the ABI from the "target-abi" module flag,
but clang only emits that flag for ARM, PowerPC and RISC-V. Since LTO code
generation doesn't see the -target-abi option passed to clang, it falls
back to the default ABI of the target, which is lp64d for
loongarch64-unknown-elf, regardless of the ABI the code was compiled for.
When an FPU is enabled, this silently miscompiles code built for another
ABI. For example, with -mabi=lp64s, functions get the lp64d calling
convention after LTO, passing and returning floating-point values in FP registers
instead of general-purpose ones, and the output is marked as double-float. Nothing
reports this if every object goes through LTO. For instance, a shared library
built this way links without error, and so does lp64s code built without LTO that
uses it. Without an FPU, the generated code keeps the soft-float calling
convention, but the output is still marked as double-float.
The mismatch only shows up as an error when LTO output is linked
together with relocatable objects built without LTO, which LLD rejects with "cannot
link object files with different ABI".
This patch adds LoongArch to the targets for which clang emits the flag,
so LTO uses the ABI the code was compiled for. It follows the per-target
approach taken for ARM (#217601) and PowerPC (#221669), and leaves the existing
TODO about emitting the flag for every target with a non-empty ABI name as is.
With the flag present, LTO-linking bitcode built for different LoongArch
ABIs now fails with "linking module flags 'target-abi': IDs have conflicting
values" instead of silently picking a single ABI. A -target-abi given to the LTO
backend that disagrees with the flag is now also an error. Both match the
existing RISC-V behavior.
Assisted-by: Claude Code (Claude Opus 5)
Signed-off-by: Mintsuki <mintsuki at protonmail.com>
Commit: 39732305282242041dad8c8edad6a6b5804f1d3a
https://github.com/llvm/llvm-project/commit/39732305282242041dad8c8edad6a6b5804f1d3a
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
A llvm/test/CodeGen/AArch64/interleaved-load-combine-crossblock.ll
Log Message:
-----------
[InterleavedLoadCombine] Do not combine loads across basic blocks (#223915)
This pass turns a group of interleaved loads into a single wide load
inserted at the first load. That is only valid when all of the loads are
in the same basic block. Otherwise the wide load can read memory that
the original program only accessed on a conditional path.
The offset index keyed candidates on base pointer, type and offset only,
so it could pair loads from different blocks. Restrict each block's
matching to candidates whose loads are in that block. This also keeps
the candidate list and index per block, so they stay small.
Fixes a miscompile introduced by #213053.
Commit: e94698b83a74e6ee40438898b17bc49cbd47fcf5
https://github.com/llvm/llvm-project/commit/e94698b83a74e6ee40438898b17bc49cbd47fcf5
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[AMDGPU][GISel][NPM] Complete Global ISel pipeline (#222552)
Commit: 4126b9cf36c826ddf584fec395e0ee796b9db294
https://github.com/llvm/llvm-project/commit/4126b9cf36c826ddf584fec395e0ee796b9db294
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/cxx14.cpp
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Use a special opcode for trivial defaulted copy/move operator calls (#222332)
The default code that clang synthesizes for them contains calls to
`__builtin_memcpy`, e.g. in
```
CXXMethodDecl 0x7d471ee7cc90 <array.cpp:1983:10> col:10 implicit used constexpr operator= 'array &(const array &) noexcept' inline default trivial external-linkage
|-ParmVarDecl 0x7d471ee7cdd0 <col:10> col:10 used 'const array &'
`-CompoundStmt 0x7d471ee7e340 <col:10>
|-CallExpr 0x7d471ee7e268 <col:10> 'void *'
| |-ImplicitCastExpr 0x7d471ee7e248 <col:10> 'void *(*)(void *, const void *, __size_t) noexcept' <BuiltinFnToFnPtr>
| | `-DeclRefExpr 0x7d471ee7e160 <col:10> '<builtin fn type>' Function 0x7d471ee7de88 '__builtin_memcpy' 'void *(void *, const void *, __size_t) noexcept'
| |-ImplicitCastExpr 0x7d471ee7e2b0 <col:10> 'void *' <BitCast>
| | `-UnaryOperator 0x7d471ee7dd18 <col:10> 'int (*)[4]' prefix '&' cannot overflow
| | `-MemberExpr 0x7d471ee7dca0 <col:10> 'int[4]' lvalue ->_M_elems 0x7d471ee52780
| | `-CXXThisExpr 0x7d471ee7dc88 <col:10> 'array *' this
| |-ImplicitCastExpr 0x7d471ee7e2d0 <col:10> 'const void *' <BitCast>
| | `-UnaryOperator 0x7d471ee7db38 <col:10> 'const int (*)[4]' prefix '&' cannot overflow
| | `-MemberExpr 0x7d471ee7dac0 <col:10> 'const int[4]' lvalue ._M_elems 0x7d471ee52780
| | `-DeclRefExpr 0x7d471ee7da98 <col:10> 'const array' lvalue ParmVar 0x7d471ee7cdd0 depth 0 index 0 'const array &'
| `-IntegerLiteral 0x7d471ee7e1a8 <col:10> '__size_t':'unsigned long' 16
`-ReturnStmt 0x7d471ee7e328 <col:10>
`-UnaryOperator 0x7d471ee7e308 <col:10> 'array' lvalue prefix '*' cannot overflow
`-CXXThisExpr 0x7d471ee7e2f0 <col:10> 'array *' this
```
However, this violates a contract of `__builtin_memcpy` if source and
destination are the same pointer, as in `*__first = *__first`, which is
happening in one of the attached test cases. The check for this is
correct though, so add a new opcode for this case. The functionality is
similar to `__builtin_memcpy` but it doesn't check for overlapping
regions (among others).
Fixes https://github.com/llvm/llvm-project/issues/221403
Commit: 52ae463fb3ebb5de414fcd8a660ed035c40e9272
https://github.com/llvm/llvm-project/commit/52ae463fb3ebb5de414fcd8a660ed035c40e9272
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M clang/test/Preprocessor/riscv-cf-protection-return.c
Log Message:
-----------
[Clang][RISCV] Loose the requirement of cf-protection=return to Zimop (#223671)
Commit: 72e9411e1bd481669ca9d6f7a55fe900ea5f4b36
https://github.com/llvm/llvm-project/commit/72e9411e1bd481669ca9d6f7a55fe900ea5f4b36
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/lib/Interpreter/Wasm.cpp
Log Message:
-----------
[clang-repl] Respect LLD's canRunAgain result (#223926)
Clang-Repl’s Wasm executor calls `lld::lldMain()` for every incremental
input, but currently ignores `Result.canRunAgain`.
Ordinary linker errors remain recoverable:
```text
retCode=1 canRunAgain=1
```
A fatal LLD error can instead return:
```text
retCode=1 canRunAgain=0
```
In that case, LLD’s state may no longer be safe. This patch follows
LLD’s standalone driver and calls `lld::exitLld()` rather than allowing
Clang-Repl to perform another incremental link.
I verified this with the real Emscripten `lldWasm` library: a normal
invalid wasm file input remained reusable (ordinary error), while a
valid but non-relocatable Wasm module triggered `canRunAgain=false`
(fatal error) and terminated the runtime with status 1.
Commit: 59e842209b868ca110a285c92b8917a3e223995d
https://github.com/llvm/llvm-project/commit/59e842209b868ca110a285c92b8917a3e223995d
Author: Fady Farag <com.webkit.iidmsa at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
A clang/test/Analysis/Checkers/WebKit/call-args-checked-unique-ptr.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-counted-unique-ptr.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Look through unique_ptr::get() when finding a pointer's origin (#223568)
Previously, the checker only looked through `operator->` and `operator*`
on `std::unique_ptr`, `UniqueRef` and `LazyUniqueRef` when walking a
call argument back to its origin. It didn't include `get()` and `ptr()`
on those types, which caused an unnecessary warning. This includes
`get()` and `ptr()` on those types such that they are recognized and are
consistent with ref-counted and checked pointers.
Commit: f2615d5db071454f1575d57db1e630afb77f6cb1
https://github.com/llvm/llvm-project/commit/f2615d5db071454f1575d57db1e630afb77f6cb1
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/docs/LangRef.md
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/cttz-elts.ll
M llvm/test/tools/llubi/intr_experimental_vector.ll
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[IR][InstSimplify] Clarify poison elements in cttz.elts results in poison (#223935)
The generic expansion for cttz.elts in LegalizeVectorOps is
(reduce.umax (select input, step_vector, 0))
Because reductions produce poison if any element is poison, this will
also produce poison.
ConstantFolding currently has short circuiting behaviour, e.g.
`cttz.elts <0, 1, poison, poison> -> 1`, but we should probably make
this consistent with reductions and just return poison. This updates
LangRef and ConstantFolding to be more explicit about this.
Commit: 353ab070f8b122df06c5aa40a5833e9639d4c9ca
https://github.com/llvm/llvm-project/commit/353ab070f8b122df06c5aa40a5833e9639d4c9ca
Author: Ömer Sinan Ağacan <omer at osa1.net>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
A llvm/test/Transforms/AggressiveInstCombine/trunc_illegal_type.ll
Log Message:
-----------
[test][AggressiveInstCombine] Test type legality handling in `TruncInstCombine` (NFC) (#222930)
I noticed that this block of code that checks type legality in
`TruncInstCombine::getMinBitWidth` is not tested:
```
else { // MinBitWidth == TruncBitWidth
// In this case the expression can be evaluated with the trunc instruction
// destination type, and trunc instruction can be omitted. However, we
// should not perform the evaluation if the original type is a legal scalar
// type and the target type is illegal.
bool FromLegal = MinBitWidth == 1 || DL.isLegalInteger(OrigBitWidth);
bool ToLegal = MinBitWidth == 1 || DL.isLegalInteger(MinBitWidth);
if (!DstTy->isVectorTy() && FromLegal && !ToLegal)
return OrigBitWidth;
}
```
This commit adds tests.
Commit: c53000a7282bedb125ffaab8cb072df85596d095
https://github.com/llvm/llvm-project/commit/c53000a7282bedb125ffaab8cb072df85596d095
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libc/src/__support/OSUtil/linux/syscall_wrappers/fchmodat.h
M libc/src/sys/stat/linux/CMakeLists.txt
M libc/src/sys/stat/linux/fchmodat.cpp
M libc/test/src/sys/stat/CMakeLists.txt
M libc/test/src/sys/stat/fchmodat_test.cpp
Log Message:
-----------
[libc] Reject unsupported flags in fchmodat with ENOTSUP (#223165)
### Summary
The Linux kernel's `SYS_fchmodat` system call only takes 3 arguments
(`dirfd`, `pathname`, `mode`), but our syscall wrapper was passing a 4th
`flags` argument that the kernel simply dropped.
This PR cleans up the wrapper to pass the 3 arguments expected by the
kernel, and adds a check to `fchmodat` to return `-1` with `ENOTSUP`
whenever non-zero flags (like `AT_SYMLINK_NOFOLLOW`) are passed.
Fixes #223072
### Changes
- Cleaned up `linux_syscalls::fchmodat` to pass only 3 arguments to
`SYS_fchmodat`.
- Added a check in `fchmodat` entrypoint to set `libc_errno = ENOTSUP`
and return `-1` if `flags != 0`.
- Added `libc.hdr.errno_macros` to the CMake dependencies for `fchmodat`
and its unit test.
- Added tests in `fchmodat_test.cpp` to verify that passing non-zero
flags fails with `ENOTSUP`.
### Testing
- Ran `clang-format` on touched files.
- Built and ran hermetic tests: `libc.test.src.sys.stat.fchmodat_test`
(all 3 tests pass: `ChangeAndOpen`, `NonExistentFile`,
`UnsupportedFlags`).
Commit: d1e261e574e9612fe3f4056730809617323f1758
https://github.com/llvm/llvm-project/commit/d1e261e574e9612fe3f4056730809617323f1758
Author: Victor Campos <victor.campos at arm.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libc/test/src/stdfix/FxDiviTest.h
Log Message:
-----------
[libc] Fix fxdivi tests on 32-bit targets (#223675)
Guard saturation operands against overflow and correct boundary
expectations for the range and precision of 32-bit long.
Fixes issue introduced in a969579a9129891bccb63fcc69e76d74b299f322.
Assisted-by: Codex. Entirely done by the AI and reviewed by me.
Commit: 43cb5e4766869fc13a104498f63906a64e37cf79
https://github.com/llvm/llvm-project/commit/43cb5e4766869fc13a104498f63906a64e37cf79
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/unittests/Analysis/IVDescriptorsTest.cpp
Log Message:
-----------
[IVDescriptors] Rename MonotonicDescriptor ConditionalInductionDescriptor (NFC) (#223707)
Rename `MonotonicDescriptor` to `ConditionalInductionDescriptor` to
acknowledge that the phi may wrap, so is not strictly monotonic.
Assisted-by: Codex
Commit: 327153dcd71bbec2fa827b84fa513c7c6cf88ce0
https://github.com/llvm/llvm-project/commit/327153dcd71bbec2fa827b84fa513c7c6cf88ce0
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/cmake/modules/FindCursesAndPanel.cmake
M lldb/cmake/modules/FindLuaAndSwig.cmake
M lldb/cmake/modules/FindPythonAndSwig.cmake
M lldb/cmake/modules/LLDBConfig.cmake
Log Message:
-----------
[lldb][cmake] Accept config-mode packages in add_optional_dependency (#222976)
`add_optional_dependency` copies the caller-supplied `<found>` variable
after `find_package`, and callers name the Find module's result
variable, which is usually all-caps (`LIBXML2_FOUND`, `CURSES_FOUND`). A
package located in config mode only sets `<PackageName>_FOUND`
(`LibXml2_FOUND`), so the copy comes back empty and the dependency is
reported as missing and silently disabled even though `find_package`
succeeded.
Set the result variable to TRUE when either `${found}` or
`${package}_FOUND` is set, FALSE otherwise.
Behavior for module-mode finds is unchanged; only the config-mode case,
which previously always evaluated to false, is affected.
Commit: 05bc41ee93d1ca6b690edf7e5d6913b2c31e246d
https://github.com/llvm/llvm-project/commit/05bc41ee93d1ca6b690edf7e5d6913b2c31e246d
Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/CodeGenHIP/cleanup-alloca-addrspace.hip
Log Message:
-----------
[CIR] Fix address space of dest cleanup slot (#222628)
Make sure that flatten cfg creates new allocas for dest cleanup slot in
correct address space. This is important for address-space aware targets
like amdgpu.
Commit: dabd9fe738cc20e8f4364c7b07a1f7f45d2a537d
https://github.com/llvm/llvm-project/commit/dabd9fe738cc20e8f4364c7b07a1f7f45d2a537d
Author: jiel-nv <37816794+jiel-nv at users.noreply.github.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/main_location.f90
Log Message:
-----------
[flang] Attribute the generated entry point to the main program's start (#223742)
The `main` entry point that lowering generates for a Fortran main
program is attributed to the end-stmt of the last function-like unit
that was lowered. e.g.
```fortran
subroutine foo(x)
real :: x
x = x + 1.0
end subroutine foo
program demo
real :: a
a = 1.0
call foo(a)
print *, a
end program demo
```
`PROGRAM` is on line 6 and `end program` on line 11.
The loc info shows up in FIR for the compiler generated C `main`
wrapper:
```
before this PR: } loc("repro.f90":11:1)
after this PR: } loc("repro.f90":6:1)
```
Commit: 2c930a5f80d8c52e396b2bb53ba526729ca41796
https://github.com/llvm/llvm-project/commit/2c930a5f80d8c52e396b2bb53ba526729ca41796
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libc/src/__support/threads/CMakeLists.txt
M libc/src/__support/threads/linux/aarch64/tcb.h
M libc/src/__support/threads/linux/riscv/tcb.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/linux/x86_64/tcb.h
M libc/src/__support/threads/thread.cpp
M libc/src/__support/threads/thread.h
M libc/src/__support/threads/thread_attributes.h
M libc/src/stdlib/exit.cpp
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/aarch64/tls.cpp
M libc/startup/linux/do_start.cpp
M libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/tls.cpp
M libc/test/integration/src/pthread/CMakeLists.txt
A libc/test/integration/src/pthread/pthread_tls_align_test.cpp
Log Message:
-----------
[libc] Store ThreadAttributes in the TCB (#220921)
This patch replaces the `thread_local self` object with the
ThreadAttributes pointer stored in the TCB. current_thread() now
fetches this pointer directly via get_current_thread_attrib().
Since every thread now needs a TCB, init_tls can no longer bail out
when app.tls.size == 0 (this was actually dead code before this patch
since every binary contained at least one thread-local variable
(`self)`). I've removed that check and updated do_start to always set up
a TCB (defaulting to alignment 1 if there is no TLS segment).
The motivation for this change is to make the pthread_self function
async-signal-safe (as required by POSIX), including in the cases where
the function is invoked from a signal hander on the newly created thread
-- before pthread_create returns. This requires making sure that the
thread attribute pointer is initialized from the very first instruction
of the new thread -- something which is hard to do when the attributes
are stored in a TLS variable. This also aligns us with how other C
libraries operate.
While in there, I also remove atexit_callback_mgr from ThreadAttributes.
It simplifies thread startup, and the field was always initialized to
point to the same object anyway. If needed, this can always be changed
later.
Since aligning the various parts of the TLS block is the trickiest part
of this patch, I also add a test that verifies that we've done that
correctly.
Assisted-by: Gemini.
Commit: 251e728cfae889b0e3f8e74d8a5dca2260da494b
https://github.com/llvm/llvm-project/commit/251e728cfae889b0e3f8e74d8a5dca2260da494b
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/test/Sema/LifetimeSafety/safety.cpp
Log Message:
-----------
[LifetimeSafety] Suppress annotation inference for owner-capturing constructors (#223635)
Commit: 25564da401e7a93404bd116fe81ded7c94544a05
https://github.com/llvm/llvm-project/commit/25564da401e7a93404bd116fe81ded7c94544a05
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/pthread_attr_t.h
M libc/include/pthread.yaml
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_attr_getinheritsched.cpp
A libc/src/pthread/pthread_attr_getinheritsched.h
M libc/src/pthread/pthread_attr_init.cpp
M libc/src/pthread/pthread_attr_init.h
A libc/src/pthread/pthread_attr_setinheritsched.cpp
A libc/src/pthread/pthread_attr_setinheritsched.h
M libc/test/src/pthread/CMakeLists.txt
M libc/test/src/pthread/pthread_attr_test.cpp
Log Message:
-----------
[libc] Implement pthread_attr_[gs]etinheritsched (#223322)
This patch implements pthread_attr_setinheritsched and
pthread_attr_getinheritsched.
Like the previous scheduler attribute patches, this commit only operates
on the pthread_attr_t object and does not attempt to install scheduling
parameters when creating a new thread.
Unlike schedpolicy and schedparam, where the validity of arguments is
checked by the kernel, inheritsched is purely a userspace pthread
concept. Therefore, we validate the inheritsched argument and reject
unsupported values with EINVAL.
While in there:
- update the file headers in pthread_attr_init to the modern llvm format
- use proxy headers instead of direct pthread.h inclusion
Assisted-by: Gemini
Commit: 49fd850587bf7d6f235687f348a1e0b201738dba
https://github.com/llvm/llvm-project/commit/49fd850587bf7d6f235687f348a1e0b201738dba
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[ADT] Add make_isa_range to filter and downcast a range by type (NFC) (#223414)
Add a range adaptor that keeps only the elements of a range that isa<T>
holds for, casting each of them to T.
This replaces the common idiom of filtering by type in the loop body
```
for (Instruction &I : *BB) {
auto *PN = dyn_cast<PHINode>(&I);
if (!PN)
continue;
... use PN ...
}
```
with
```
for (PHINode &PN : make_isa_range<PHINode>(*BB))
... use PN ...
```
This pattern is quite widespread in the LLVM codebase, and follow-up
commits will migrate use-sites step-by-step.
This is the helper from
https://github.com/llvm/llvm-project/pull/222770, moved to STL.
PR: https://github.com/llvm/llvm-project/pull/223414
Commit: 91d09ca8162338ab5cccd7f199275db9805b95bd
https://github.com/llvm/llvm-project/commit/91d09ca8162338ab5cccd7f199275db9805b95bd
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/source/ValueObject/ValueObjectRegister.cpp
M lldb/test/API/python_api/value/TestValueAPI.py
Log Message:
-----------
[lldb] Look up register set children by their own name too (#223857)
On Windows x86_64, LLDB's register tables only list the full width
registers, so the ABI adds the sub-registers itself and puts them in a
separate "supplementary registers" set. That set contains `sp`, but
looking up `sp` in it failed: the lookup first turns `sp` into `rsp`,
and `rsp` is in the general purpose set, not this one. Linux doesn't hit
this because its tables already define the sub-registers next to `rsp`.
Now the lookup falls back to matching the name as written against the
registers of that set, so a register you can reach with
`GetChildAtIndex` can also be found by name. Lookups that already worked
are unchanged.
Fixes https://ci-external.swift.org/job/lldb-windows/job/main/3879/
Commit: c02715b01a9d42d5391c8eb230d72c590681cc8e
https://github.com/llvm/llvm-project/commit/c02715b01a9d42d5391c8eb230d72c590681cc8e
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-trunc-ssat-usat.mir
Log Message:
-----------
[GlobalISel] Add saturating G_TRUNC support for computeKnownBits (#223929)
Port the saturating-truncate KnownBits handling to the GlobalISel. Look
through G_TRUNC_SSAT_S, G_TRUNC_SSAT_U and G_TRUNC_USAT_U by recursing
into the source operand and applying KnownBits::truncSSat, truncSSatU
and truncUSat respectively.
Commit: f1078606d2e7d6da56b584c5acb61077ed824c6f
https://github.com/llvm/llvm-project/commit/f1078606d2e7d6da56b584c5acb61077ed824c6f
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
A llvm/test/CodeGen/AMDGPU/atomic-optimizer-volatile.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-scan.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/mubuf.ll
Log Message:
-----------
[AMDGPU] Skip volatile atomics in the atomic optimizer (#223927)
Folding a wavefront into one atomic changes the number of volatile
operations, which is not allowed
Commit: 1e0f6b00bd0a899737a88c875d67d7484f1bc892
https://github.com/llvm/llvm-project/commit/1e0f6b00bd0a899737a88c875d67d7484f1bc892
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
Log Message:
-----------
AArch64: Avoid createDataLayout just to check endianness (#223946)
The endianness can be checked from the triple, avoiding a datalayout
copy.
Commit: 98bfb41e304b868e308dae8834c8fdbe1e220677
https://github.com/llvm/llvm-project/commit/98bfb41e304b868e308dae8834c8fdbe1e220677
Author: Oscar Priego <oscar.priegov at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Remove unreachable DUPLANE lowering. NFC (#222418)
`LowerBUILD_VECTOR` handles non-constant `BUILD_VECTOR` splats by
emitting
`AArch64ISD::DUP`.
The following `DUPLANE` path checks `Value.getValueType()` against `VT`.
`Value` is a scalar `BUILD_VECTOR` operand while `VT` is the vector
result
type, so this condition cannot be false and the `DUPLANE` path is
unreachable.
Remove the dead path. `DUP`s of `EXTRACT_VECTOR_ELT` are already
converted
to `DUPLANE` by `performDUPCombine()` after legalization.
No codegen changes intended.
Fixes #222138
Commit: eb9091da5c418a5c383a5da7fb39a1e22ba7c60d
https://github.com/llvm/llvm-project/commit/eb9091da5c418a5c383a5da7fb39a1e22ba7c60d
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
A llvm/test/CodeGen/AArch64/interleaved-load-combine-may-not-return.ll
Log Message:
-----------
[InterleavedLoadCombine] Do not widen loads past a may-not-return instr (#223954)
The combined load reads the whole span at once and is inserted at the
first load, so it effectively hoists the later loads up to that point.
If an instruction between them may not transfer control to its successor
-- a call that might not return, or might throw -- then a load the
original program reached only conditionally would run unconditionally.
All combined loads are in one block, so bail unless the span from the
first to the last load is guaranteed to transfer execution to its
successor.
This gap predates the offset-index change; the old findPattern() did not
check for it either.
Assisted by AI tools.
Commit: 59a1a3289d90b76bedb1013c8ac47b0a9ad5c95f
https://github.com/llvm/llvm-project/commit/59a1a3289d90b76bedb1013c8ac47b0a9ad5c95f
Author: Philip742 <philip.wilkinson at arm.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add support for MXFP in SLICE (#220557)
Adds support to profile compliance for MXFP variants of SLICE
Change-Id: I184fbd49ef667d8d4e0ee09a2e65a72095d61daa
---------
Signed-off-by: Philip Wilkinson <philip.wilkinson at arm.com>
Commit: fd63167bbd7f0193f21129abe49604b98f777cdc
https://github.com/llvm/llvm-project/commit/fd63167bbd7f0193f21129abe49604b98f777cdc
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
Log Message:
-----------
[clangd] Include the operator name in documentHighlight (#220518)
## Summary
- Placing the cursor on an overloaded operator's declaration (e.g.
`operator new`, `operator[]`) and requesting
`textDocument/documentHighlight` only highlighted the `operator` keyword
itself, not the name or symbol that follows it (`new`, `[]`, etc.), even
though that name is what's actually significant to the user.
- `ReferenceFinder` already splits some references into several spelled
tokens (used for Objective-C's split selector syntax); this reuses that
mechanism for the operator name too, extracting the tokens spelled in
the operator name's source range. This only applies to the declaration's
own occurrence.
## Test plan
- [x] `ninja check-clangd` passes
- [x] New cases added to `HighlightsTest.All` in
`clang-tools-extra/clangd/unittests/XRefsTests.cpp` covering `operator
new`, `operator delete` (clicking on either the keyword or the name),
and a multi-token operator (`operator()`)
Commit: 3723ac3407bc09d0b822df08f17228eed8fa76a3
https://github.com/llvm/llvm-project/commit/3723ac3407bc09d0b822df08f17228eed8fa76a3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libcxxabi/src/private_typeinfo.cpp
Log Message:
-----------
[libc++abi][NFC] Return const void* from __dynamic_cast (#223737)
`__dynamic_cast` is only called magically by the compiler, so it really
doesn't matter what the exact protoype is as long as it's ABI
compatible. Making the return type a `const void*` simplifies the
implementation a bit though.
Commit: 0aa2a2f2451052f1f43a26f3c545b705e2702d87
https://github.com/llvm/llvm-project/commit/0aa2a2f2451052f1f43a26f3c545b705e2702d87
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 2c930a5 (#223955)
This fixes 2c930a5f80d8c52e396b2bb53ba526729ca41796 (#220921).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=2c930a5f80d8c52e396b2bb53ba526729ca41796
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: e5fa11f89ebe04877fdab1d5b1274a771e760ae5
https://github.com/llvm/llvm-project/commit/e5fa11f89ebe04877fdab1d5b1274a771e760ae5
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/source/Host/common/Socket.cpp
M lldb/tools/lldb-server/lldb-platform.cpp
M lldb/unittests/Host/SocketTest.cpp
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.h
Log Message:
-----------
[lldb][Windows] Support AF_UNIX domain sockets (#205618)
Enable the Windows `AF_UNIX` domain-socket support added in #205864 by
flipping the `#if LLDB_ENABLE_POSIX` guards to `#if LLDB_ENABLE_POSIX ||
defined(_WIN32)`.
Also updates `SocketTest.cpp` to exercise `ProtocolUnixDomain` on
Windows (while still excluding ProtocolUnixAbstract, which has no
Windows equivalent).
This is part of a longer set of patches to fix tests on
`LLDB_USE_LLDB_SERVER=1`.
Commit: 150eb1f1c8a70b121d0c22de47a6496b2a7551bb
https://github.com/llvm/llvm-project/commit/150eb1f1c8a70b121d0c22de47a6496b2a7551bb
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[NFC][AArch64ISelLowering] Use get{Extract/Insert}VectorElt helpers. (#222979)
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: 0447d7932f2717904877a157738fef5057765a3d
https://github.com/llvm/llvm-project/commit/0447d7932f2717904877a157738fef5057765a3d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVPromoteConstant.cpp
Log Message:
-----------
[RISCV] Don't construct a subtarget for function declarations in RISCVPromoteConstant. (#224115)
Intrinsic declarations in particular don't have a target-features
attribute so the subtarget constructor may print warning like:
hard-float 'd' ABI can't be used for a target that doesn't support the D
instruction set extension
This can occur in LTO builds in -mcpu is not passed to the clang driver
on the LTO step. The target-machine won't have any CPU features.
Commit: b49c7d085abff1f88d8b87578fd65bb38597725d
https://github.com/llvm/llvm-project/commit/b49c7d085abff1f88d8b87578fd65bb38597725d
Author: Finn Plummer <mail at inbelic.dev>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/docs/DirectX/SemanticSignatures.md
M llvm/include/llvm/Frontend/HLSL/SemanticSignaturePacking.h
M llvm/lib/Frontend/HLSL/SemanticSignaturePacking.cpp
M llvm/unittests/Frontend/HLSLSemanticSignaturePackingTest.cpp
Log Message:
-----------
[HLSLSemanticSignatures] Implement the indexed packing of elements (#218061)
Implements the indexed packing algorithm.
Resolves: #205877
Assisted by: Claude Opus 5 and GPT-5.6 Sol
Commit: 756c2fdbafbf020483ab4f9d25342cd156a83f51
https://github.com/llvm/llvm-project/commit/756c2fdbafbf020483ab4f9d25342cd156a83f51
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
M utils/bazel/llvm-project-overlay/libc/startup/linux/startup_rules.bzl
Log Message:
-----------
[bazel][libc] Be explicit about pic/nopic in startup_rules.bzl (#223851)
Currently, `_get_object_files` gets object files from
`OuputGroupInfo.compilation_outputs`, which isn't very well documented
any will often just choose the PIC variant: see
[`cc_helper.bzl`](https://github.com/bazelbuild/rules_cc/blob/661b75de668c3b673f5550e0340e134ccf923956/cc/common/cc_helper.bzl#L192)
and
[`needs_pic_for_dynamic_libraries`](https://github.com/bazelbuild/rules_cc/blob/b72bca6252e808ac3685a2a627197a151c6bfed9/cc/private/rules_impl/cc_toolchain_info.bzl#L23).
This PR updates `merge_relocatable_object` to propagate both pic/nopic
variants of the merged object, and updates `libc_startup_object` to be
explicit about its choice of pic/nopic.
The exact choice of how to handle pic/nopic may need to be updated in
the future as we add `rcrt1.o`, but the setup in this PR is better than
just using `compilation_outputs` verbatim.
Commit: 059358a8d5f1c14b27c68dba7fb47680c21bebc5
https://github.com/llvm/llvm-project/commit/059358a8d5f1c14b27c68dba7fb47680c21bebc5
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Allow libc:types_char8_t to compile in full-build mode (#223872)
Commit: 3936f33806ab3133df2387ab87b49d74b75711f0
https://github.com/llvm/llvm-project/commit/3936f33806ab3133df2387ab87b49d74b75711f0
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/test/CodeGen/DirectX/Sample.ll
M llvm/test/CodeGen/DirectX/SampleBias.ll
M llvm/test/CodeGen/DirectX/SampleGrad.ll
M llvm/test/CodeGen/DirectX/SampleLevel.ll
M llvm/test/CodeGen/DirectX/Texture2DArray-SampleBias.ll
M llvm/test/CodeGen/DirectX/Texture2DArray-SampleGrad.ll
M llvm/test/CodeGen/DirectX/TextureLoad.ll
M llvm/test/CodeGen/DirectX/TextureStore.ll
Log Message:
-----------
[DirectX] Make DXILOpLowering split vector coordinates, offsets, and gradient operands (#223091)
Fixes https://github.com/llvm/llvm-project/issues/217777
DXILOpLowering didn't split vector coordinates, offsets, and gradient
operands into scalars for textureLoad, textureStore, and sample
intrinsics like it did for store data. This PR fixes that.
This PR also removes inconsistencies where the DXILOpLowering pass
emitted a mix of i64 and i32 indices for `extractelement`. It now just
emits i32 indices.
Assisted by: Claude Opus 5
Commit: 4aeec5992e4815b436a01967fc66e174f489ea15
https://github.com/llvm/llvm-project/commit/4aeec5992e4815b436a01967fc66e174f489ea15
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
A llvm/include/llvm/ExecutionEngine/Orc/Shared/ConnectionSpec.h
M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/Shared/ConnectionSpec.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/ConnectionSpecTest.cpp
Log Message:
-----------
[ORC] Add ConnectionSpec for connection string parsing (#224000)
A ConnectionSpec is the parsed form of a string describing one
connection a process should establish with its peer:
<transport>[:<action>]=<descriptor>
E.g. "fd=3" or "tcp:connect=localhost:20000". The parser only checks
punctuation: transport and action names are opaque tokens, and the
descriptor's syntax is left to the transport, which lets a descriptor
contain ':' and '=' unescaped (e.g. "tcp:listen=[::1]:0").
This will be used by llvm-jitlink and llvm-jitlink-executor to
generalize out-of-process executor connection setup beyond the current
fd/TCP-only options.
Commit: bb9a57a70d35e36d4c8258cc9a15e5c29041d0d7
https://github.com/llvm/llvm-project/commit/bb9a57a70d35e36d4c8258cc9a15e5c29041d0d7
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
M llvm/test/Transforms/SLPVectorizer/RISCV/check-node-without-vector-user.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/folded-broadcast-cost.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/remark-zext-incoming-for-neg-icmp.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
Log Message:
-----------
[SLP] More accurately cost RISCV scalar splats (#213104)
Backends may have a fast path for splatting scalar operands (i.e. rather
than generating the splat vector, the vector instruction may be able to
take a scalar operand), for example RISCV `vfoo.vx` instructions. Pass a
hint to the TTI when costing the insert/shuffle sequence in such cases.
Fixes #212413.
Assisted By: Codex
Commit: 469437d4fbc917db4d4f479612d055ca780c555c
https://github.com/llvm/llvm-project/commit/469437d4fbc917db4d4f479612d055ca780c555c
Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
Log Message:
-----------
[SandboxVec][NFC] Replace ArrayRef witn BndlRef (#224077)
Commit: 4c9a33aaee2cd827935a547603e449abf3ef734d
https://github.com/llvm/llvm-project/commit/4c9a33aaee2cd827935a547603e449abf3ef734d
Author: Jonas Heinle <jonasheinle at googlemail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
R llvm/test/CodeGen/AArch64/wineh-async-eh-pad-instr-size.ll
A llvm/test/CodeGen/WinEH/wineh-eha-nop.ll
Log Message:
-----------
[WinEH] Only emit the async-EH nop after EH_LABEL on x86 (#219275)
Under `-fasync-exceptions`, `AsmPrinter::emitFunctionBody()` emits a nop
after an `EH_LABEL` whose next instruction can fault, so that the
faulting instruction opening an EH region does not share an address with
the return address of the call before it.
`EH_LABEL` is a meta-instruction and reports a size of zero, so that nop
is invisible to `getInstSizeInBytes()` and to everything that sums it.
On AArch64 that undercounts block offsets, `AArch64CompressJumpTables`
picks a one-byte jump table entry that does not fit, and the assembler
rejects it with `value evaluated as 258 is out of range`. That is how
this was found, building OpenCV's bundled protobuf for
`aarch64-pc-windows-msvc` with clang-cl `/EHa`. `BranchRelaxation` sums
the same sizes and has the same hole.
Only x86 needs the padding. On Arm64 the unwinder already backs the PC
up over a call when it knows there was one, which is exactly the case
the nop protects against, So gate the nop on x86 triples. That also
stops emitting it on armv7-windows, same size mismatch on #221687.
That in turn lets the `EH_LABEL` exception added to
`TargetInstrInfo::getInstSizeVerifyMode()` in #223641 go. x86 still
emits the nop, but x86 does not implement `getInstSizeInBytes()`, so
the base class returns `~0U` and the `AllowOverEstimate` comparison is
vacuous there. Every target that does implement it has stopped emitting
the nop.
Assisted-by: Claude (Anthropic)
Commit: 39477871dcb54b41d82f8835c630d143bf3036ae
https://github.com/llvm/llvm-project/commit/39477871dcb54b41d82f8835c630d143bf3036ae
Author: Alex Langford <alangford at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/include/lldb/Target/StackFrameRecognizer.h
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp
M lldb/source/Target/AssertFrameRecognizer.cpp
M lldb/source/Target/StackFrameRecognizer.cpp
Log Message:
-----------
Change string type of StackFrameRecognizer module names (#222810)
The majority of these come from FileSpec filenames (which are no longer
ConstStrings). Instead of putting them into the StringPool, the
StackFrameRecognizerManager can just hold onto the name in the
RegisteredEntry.
Commit: 1ad9806d7bcaf265669aff415bf221e54ce2eca3
https://github.com/llvm/llvm-project/commit/1ad9806d7bcaf265669aff415bf221e54ce2eca3
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/Shared/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 4aeec5992e48 (#224161)
Commit: 44286f0def9cc40569b8d84ed0375b9200d857c9
https://github.com/llvm/llvm-project/commit/44286f0def9cc40569b8d84ed0375b9200d857c9
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lld/COFF/ICF.cpp
Log Message:
-----------
[lld][COFF] Refactor ICF section equality checks, NFC (#206562)
In the context of #205456 , this seemed like a reasonable refactoring.
The template specialization might be overkill, but I figured it would
ensure there was no performance regression.
Commit: 2c59a938b358dc5b518e50424423f4a6eff2e8d7
https://github.com/llvm/llvm-project/commit/2c59a938b358dc5b518e50424423f4a6eff2e8d7
Author: Kevin McAfee <kmcafee at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll
M llvm/test/CodeGen/AMDGPU/while-break.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/xor-decompose.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/index-insertion-point.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/index-insertion-point-terminator-def.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/pr45371-find-either-reset.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Rebuild GEP indices at their definition point (#223546)
When a constant offset is split out of a GEP index, the rebuilt index
replaces the original one. Rebuilding the index immediately before the
GEP amounts to sinking the index computation, increasing live ranges and
register pressure. This change attempts to rebuild the index at the
definition point of the original index instead. The same insertion point
is used for the `idxprom` cast created by
`canonicalizeArrayIndicesToIndexSize` too.
Commit: bffd2427a9309321fe2d9fc31a2d5a217c1aea12
https://github.com/llvm/llvm-project/commit/bffd2427a9309321fe2d9fc31a2d5a217c1aea12
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M libc/test/UnitTest/BazelFilePath.cpp
Log Message:
-----------
[bazel][libc] Do not depend on system `getenv` in BazelFilePath.cpp (#223873)
This PR models after
https://github.com/llvm/llvm-project/commit/ee407f7e7069cccfdc1815de07e17cebf83d19f9
in order to conditionally use LLVM-libc's `getenv` when compiling in
full-build mode.
Commit: a0b33b0f1a88939ba8708777432d77118f014b0c
https://github.com/llvm/llvm-project/commit/a0b33b0f1a88939ba8708777432d77118f014b0c
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/startup_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
Log Message:
-----------
[bazel][libc][test] Allow LLVM-libc tests to be run in full-build mode (#219262)
This PR makes the required changes to run LLVM-libc full build tests in
Bazel. After this PR, most tests pass:
```
bazel test @llvm-project//libc/test/... --config=ci -- at llvm-project//libc:build_mode=full --keep_going
Executed 760 out of 970 tests: 760 tests pass and 210 fail to build.
```
Follow on changes will fix specific tests that are failing (some missing
deps etc).
Specifically, this PR:
- Propagates the correct dependencies and compiler/linker options from
[`add_libc_hermetic`](https://github.com/llvm/llvm-project/blob/4098f568c46e06b6df470111868b4c165dd80f4d/libc/cmake/modules/LLVMLibCTestRules.cmake#L750).
- Adds `crt1.o` and hermetic utils as deps for all full-built tests.
- Fixes some build deps to be full-build compatible.
Commit: d587093d648bd6bc305763eb9e3f20682e69b3eb
https://github.com/llvm/llvm-project/commit/d587093d648bd6bc305763eb9e3f20682e69b3eb
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/include/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPCWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
[test][bazel][libc] Fix dependencies for some tests under full-build (#223498)
Commit: 1a9ff38b0765598add24cfed6a9e8760fef2ca69
https://github.com/llvm/llvm-project/commit/1a9ff38b0765598add24cfed6a9e8760fef2ca69
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
Log Message:
-----------
[bazel][test][libc] Use LLVM-libc's clock entrypoint in overlay tests (#224131)
This mimics LLVM-libc's CMake logic to always prefer LLVM-libc's own
`clock` implementation when available:
https://github.com/llvm/llvm-project/blob/2b16c36b4c532aa1f459ce566f7b41395b34edcf/libc/test/UnitTest/CMakeLists.txt#L32-L34
Commit: 33c606648f9d3db62bb437dd79e1de66671faa04
https://github.com/llvm/llvm-project/commit/33c606648f9d3db62bb437dd79e1de66671faa04
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
Log Message:
-----------
[RISCV][GISel] Remove stale FIXMEs from rv64zbkb.ll. NFC (#224156)
Commit: df4d6ccd074dd0f3940d0614b951810dd585a3f6
https://github.com/llvm/llvm-project/commit/df4d6ccd074dd0f3940d0614b951810dd585a3f6
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
Log Message:
-----------
[LLDB] Skip test with older versions of clang (really: libc++) (#224171)
Commit: 739def2b4c571a48c62de25d16601be108fcdaff
https://github.com/llvm/llvm-project/commit/739def2b4c571a48c62de25d16601be108fcdaff
Author: jiel-nv <37816794+jiel-nv at users.noreply.github.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M flang/lib/Lower/PFTBuilder.cpp
M flang/test/Lower/main_location.f90
Log Message:
-----------
[flang] Fix unknown location for a main program that starts with INCLUDE (#224166)
Commit: a0dfeecc18b8a769cfdb589ad4a0151744716ab5
https://github.com/llvm/llvm-project/commit/a0dfeecc18b8a769cfdb589ad4a0151744716ab5
Author: jimingham <jingham at apple.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/bindings/python/python-swigsafecast.swig
M lldb/docs/use/tutorials/automating-stepping-logic.md
M lldb/examples/python/templates/scripted_process.py
M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameInterface.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-private-enumerations.h
M lldb/source/API/SBThread.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Target/StackFrameList.cpp
A lldb/test/API/functionalities/scripted_frame_provider/step_with_type/Makefile
A lldb/test/API/functionalities/scripted_frame_provider/step_with_type/TestFrameProviderStepping.py
A lldb/test/API/functionalities/scripted_frame_provider/step_with_type/frame_provider.py
A lldb/test/API/functionalities/scripted_frame_provider/step_with_type/main.c
Log Message:
-----------
Allow scripted frames to implement custom step operations (#223834)
Add an API to the ScriptedFrame interface that gives the ScriptedFrame a
chance to return a scripted ThreadPlan class name for a class that
implements the requested step type.
LLDB will consult the ScriptedFrame (if any) first. If the ScriptedFrame
returns an empty class name, the standard stepping algorithms will be
used, otherwise an instance of the provided class will be constructed -
passing in an optional - ScriptedFrame provided `extra_args` dictionary
- and added to the ThreadPlanStack to handle this step.
Commit: a566d4bfb995ba9b4860078f60ffd62e2bb02cbb
https://github.com/llvm/llvm-project/commit/a566d4bfb995ba9b4860078f60ffd62e2bb02cbb
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.h
Log Message:
-----------
[NFC][AMDGPU] Separate VOPD candidate selection (#223518)
This PR separates VOPD candidate matching from selection without
changing generated code.
`GCNCreateVOPD` used to choose a pair as soon as `tryMatchVOPDPair`
found one. That made matching and selection one operation: the first
match consumed both instructions before later work could decide whether
the pair was usable.
We now record matches in program order, collect every adjacent
candidate, and select the same greedy non-overlapping set in a separate
step.
This gives later changes a place to reject or rank a candidate without
hiding an overlapping pair that uses its second instruction.
Commit: 86b7f51bbc3581d3b8a46023c7ae2012edd5bc38
https://github.com/llvm/llvm-project/commit/86b7f51bbc3581d3b8a46023c7ae2012edd5bc38
Author: int-zjt <zhangjiatong.0 at bytedance.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
A llvm/test/Transforms/Attributor/cleanup-no-seeding.ll
Log Message:
-----------
[Attributor] Only seed live internal callees during deduction (#222226)
When a basic block becomes live, assumeLive marks its internal callees
live to seed attributes for deduction. Currently, this also happens when
a liveness AA is initialized during MANIFEST or CLEANUP, after the
fixed-point iteration has finished.
In CGSCC runs, cleanup can query the liveness of a shared caller for
each callee SCC. Seeding all internal callees in that caller's live blocks
can then cause quadratic initialization work.
Restrict this bulk seeding to SEEDING and UPDATE. Continue recording
live blocks and allow on-demand attribute queries in the later stages.
Commit: f144b3e3c3b30ddd32112238034ba923a5c7152d
https://github.com/llvm/llvm-project/commit/f144b3e3c3b30ddd32112238034ba923a5c7152d
Author: Mahmoud Ahmed <anondeveg at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaModule.cpp
A clang/test/Modules/mismatched_global_module_sate.cppm
Log Message:
-----------
[clang][Modules] make ActOnPrivateModuleFragmentDecl return non-null on success. (#223757)
his code
```cpp
module;
module :private;
export module Foo;
```
a Private module fragment here is illegal because it can only be
declared in a primary module interface unit, instead of raising an error
clang crashed because of this assertion
```cpp
assert((!getLangOpts().CPlusPlusModules ||
SeenGMF == (bool)this->TheGlobalModuleFragment) &&
"mismatched global module state");
```
the mismatch happened because `ParseModuleDecl` assigned ImporState
wether or not it was semantically correct:
```cpp
ImportState = ImportState == Sema::ModuleImportState::ImportAllowed
? Sema::ModuleImportState::PrivateFragmentImportAllowed
: Sema::ModuleImportState::PrivateFragmentImportFinished;
return Actions.ActOnPrivateModuleFragmentDecl(ModuleLoc, PrivateLoc);
}
```
Also `ActOnPrivateModuleFragmentDecl` was returning `nullptr` in both
failure and success cases.
So i made it return a non-null object and only assign the ImportState on
sema failure.
fixes: #219950
Commit: c89948739b168e32fe9e83e67149be013c966f99
https://github.com/llvm/llvm-project/commit/c89948739b168e32fe9e83e67149be013c966f99
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/unittests/Runtime/Assign.cpp
M flang/docs/RuntimeEnvironment.md
M flang/include/flang/Runtime/assign.h
Log Message:
-----------
[flang-rt] Copy out only the modified suffix of an argument temporary (#222101)
`CopyOutAssign` currently copies the whole temporary back over the
original unconditionally. When the effective argument is not definable —
a named constant, for example — and the callee, conformingly, never
modified it, that copy-back stores unmodified bytes into storage that
may be read-only. With this change, `CopyOutAssign` scans the temporary
for the first element whose bit pattern differs from the original and
copies back only from that element through the end, in one fused pass:
an unmodified copy-out performs no stores at all, so compiler-generated
copy-out can never be the reason a conforming program writes into
read-only storage. The comparison is bitwise, which is exact here
because the temporary was created as a bitwise copy by `CopyInAssign`:
unmodified elements compare equal even for NaNs and padding bytes, which
a value comparison would misjudge.
The change is performance-neutral in practice (measurements summarized
in a comment below): copy-out's destination is essentially always
discontiguous — the temporary exists only because the actual argument
failed a runtime contiguity check — and on that shape the scan-then-copy
is within a few tens of percent of the unconditional copy in either
direction on microbenchmarks, and indistinguishable at whole-application
level.
The system environment variable `FLANG_RT_COPYOUT_MODIFIED_ONLY=0`
restores the previous unconditional copy-out, as an escape hatch and for
A/B comparison; it is documented in `flang/docs/RuntimeEnvironment.md`.
Note it restores stores of unmodified data (including into read-only
storage), so it is not a "safer" mode.
Assisted-by: AI
Commit: 839093dddb95ca2680310ae880267e558d9f492c
https://github.com/llvm/llvm-project/commit/839093dddb95ca2680310ae880267e558d9f492c
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
Log Message:
-----------
[IR] Avoid collecting COMDATs for non-module printing (#221460)
`AssemblyWriter` scans every global object in its constructor to collect
referenced COMDATs. That collection is only used when printing a
complete module, but the constructor also runs for standalone value and
instruction printing.
Move COMDAT emission into `printModule()`. Print each group at its first
global-object use and keep only a local set to avoid duplicate
declarations.
On `bench/sqlite/original/shell.ll` from `llvm-opt-benchmark`, the
median `opt -passes=dot-cfg` time dropped from 1.65 s to 0.40 s, about
4.1x faster. All 687 generated DOT files matched after normalizing
process-specific node IDs.
Commit: c622900cb4dbd053560f83a6623f6f316f227aae
https://github.com/llvm/llvm-project/commit/c622900cb4dbd053560f83a6623f6f316f227aae
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/test/CodeGen/SPIRV/instructions/scalar-integer-arithmetic.ll
Log Message:
-----------
[SPIR-V] Add missing __spirv_SMod builtin mapping (#223796)
Commit: 1a87171c50553ccf767c3b51a516b81748c4e0d1
https://github.com/llvm/llvm-project/commit/1a87171c50553ccf767c3b51a516b81748c4e0d1
Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/openmp-teams.mlir
Log Message:
-----------
[OpenMPIRBuilder] Use generic pointers for outlined teams arguments (#222176)
createFakeIntVal models the thread and bound id arguments of the
function
outlined for a teams region as allocas. When the target's alloca address
space is not zero these were passed on as-is, so the outlined function
took
addrspace(5) pointers while __kmpc_fork_teams calls it with generic
ones.
Cast the alloca to address space zero when it is passed as a pointer,
which
only affects targets with a non-zero alloca address space such as
AMDGPU.
Commit: 3626563e2dd5a301537fae1ea4ec8054db2fb743
https://github.com/llvm/llvm-project/commit/3626563e2dd5a301537fae1ea4ec8054db2fb743
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
A llvm/test/CodeGen/RISCV/GlobalISel/sextw-removal.ll
Log Message:
-----------
[RISCV][GISel] Record SExt32 arguments for RISCVOptWInstrs. (#224154)
RISCVOptWinstrs can do a better job if its know what arguments are
already sign extended.
Assisted-by: Claude
Commit: 36f2ef2415e8cf5facf015bbe0d586deede34d66
https://github.com/llvm/llvm-project/commit/36f2ef2415e8cf5facf015bbe0d586deede34d66
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Analysis/AffineAnalysis.h
M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
Log Message:
-----------
[MLIR][Affine] Refactor dependence testing to work on relations, not just on operations (#223188)
This change is effectively NFC for all users of affine dependence
analysis in the tree or outside. It performs a minor refactoring of the
API to allow more general usage.
`checkMemrefAccessDependence` takes two `MemRefAccess`es, each wrapping
an operation, so it can only be asked about accesses that already exist.
A transformation deciding whether to make a change has the opposite
question: whether the accesses it is about to create would depend on
each other. Loop fusion is one -- whether the stores of a slice would
still be one-to-one in the loops it is about to be placed under settles
whether their parallelism survives it, and it has to know before it
fuses.
Nothing in the dependence analysis needs the operations. Everything from
the point where the two access relations are in hand -- inverting one,
composing, adding the ordering constraints, testing the result for
emptiness -- is already relation-only. Split that out as
`checkAccessDependence`, taking the relations and the loop depth, and
leave `checkMemrefAccessDependence` as the operation-based entry point:
it keeps what genuinely reads the IR, the memref and write-op checks,
the affine scope and common block ones, and the
source-precedes-destination one that a depth past the shared loops calls
for.
Split `MemRefAccess::getAccessRelation` the same way. The relation is
built out of an access map and an iteration domain, and only the two of
them being read off an operation ties it to one, so `getAccessRelation`
takes them directly and the method reads them off and calls it.
Assisted by Claude.
Commit: af86d781e2b6a9d1133848c66741fbe2afbc7bf4
https://github.com/llvm/llvm-project/commit/af86d781e2b6a9d1133848c66741fbe2afbc7bf4
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/fadd.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fcanonicalize.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmul.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fptrunc.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/ds_read2-gfx1250.ll
M llvm/test/CodeGen/AMDGPU/ds_write2.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-fp8-f16-hw.ll
M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-fp8-hw.ll
M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-widen.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.s.buffer.load-gfx12.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
M llvm/test/CodeGen/AMDGPU/packed-u64.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/v_ashr_pk.ll
M llvm/test/CodeGen/AMDGPU/vopd-combine-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
A llvm/test/CodeGen/AMDGPU/vopd3-imm-fold.ll
A llvm/test/CodeGen/AMDGPU/vopd3-imm-fold.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-flushed.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-pattern.ll
Log Message:
-----------
[AMDGPU] Form VOPD3 pairs with pair-local literal moves (#223431)
VOPD3 cannot encode literal operands, but its src0 can read scalar
registers. In this PR, we try to allow to form a pair with one distinct
non-inline constant value by moving that value to a free SGPR. If both
components use the same value, one move serves both, but we reject pairs
that need two different values, since that doesn't buy us anything.
Ffunctions without tracked liveness, and functions optimized for size
are also rejected.
With this change, `GCNCreateVOPD` checks every adjacent pair before it
selects a greedy non-overlapping pair. This lets an infeasible pair fall
through to the overlapping next one. We use one reverse liveness walk to
find an SGPR that is free over each pair-local range. Disjoint selected
pairs can reuse the same SGPR. Each accepted pair adds at most one
`S_MOV_B32` for the one instruction removed by fusion.
The post-RA scheduler uses the same matcher policy, so it will not
cluster a two-value pair that the create pass cannot build.
---
I probably burned hundreds of millions of tokens to get to this point,
which I think is fairly clean now.
Commit: 00d7ba164f6b4c1c33efa7072c142f9df25bcf4d
https://github.com/llvm/llvm-project/commit/00d7ba164f6b4c1c33efa7072c142f9df25bcf4d
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/TypeBase.h
M clang/lib/AST/ASTContext.cpp
Log Message:
-----------
[clang] Unique OverflowBehaviorTypes with a UniquingSet (NFC) (#223939)
This patch migrates OverflowBehaviorTypes in ASTContext from
llvm::FoldingSet to llvm::UniquingSet.
OverflowBehaviorType keys on a pair of QualType and
OverflowBehaviorKind. Switching to UniquingSet allows us to look up
types with a typed key, eliminating FoldingSetNodeID serialization at
lookup sites and removing OverflowBehaviorType::Profile.
Assisted-by: Antigravity
Commit: bf375c54e9c4fafca5ceb84f261decb692dc57c9
https://github.com/llvm/llvm-project/commit/bf375c54e9c4fafca5ceb84f261decb692dc57c9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
Log Message:
-----------
SPIRV: Avoid using TargetMachine::createDataLayout in subtarget (#224014)
Commit: 9062217eaf8d75c340801d02198e1fb28897da21
https://github.com/llvm/llvm-project/commit/9062217eaf8d75c340801d02198e1fb28897da21
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M lldb/include/lldb/Symbol/Function.h
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/unittests/Symbol/CMakeLists.txt
A lldb/unittests/Symbol/CallEdgeTest.cpp
Log Message:
-----------
[lldb] Stop caching cross-module callees in CallEdge (#224165)
DirectCallEdge cached the Function it resolved for its callee. A
CallEdge is owned by a Module in the shared module cache, so it
outlives any one Target, while the callee it resolves to depends on
that Target's image list and dies with its own module. The cached
pointer dangled once the callee's module was unloaded, crashing the
next backtrace that walked tail call frames.
Keep only the symbol name and re-resolve on every call. GetCallee
returns a SymbolContext so the caller holds the callee's module for as
long as it uses the Function.
Scoping the lookup to the caller's own module or compile unit would
also make the cache safe, but direct tail call edges cross module
boundaries by design. Clang points DW_AT_call_origin at a declaration
DIE when the callee is external. See the cross_dso tail call test.
rdar://181262163
Commit: 57895345a5c14095856c0fbafb4e3a7102da732b
https://github.com/llvm/llvm-project/commit/57895345a5c14095856c0fbafb4e3a7102da732b
Author: Dharuni R Acharya <125176188+DharuniRAcharya at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/convert-fp6-pzo.ll
A llvm/test/CodeGen/NVPTX/convert-fp8-pzo.ll
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Target/LLVMIR/nvvm/convert_fp6x2.mlir
M mlir/test/Target/LLVMIR/nvvm/convert_fp8x2.mlir
Log Message:
-----------
[clang][NVPTX] Add support for pzo in f32/f16x2/bf16x2 to FP8 and FP6 conversions (#222511)
This patch adds support for `pzo` variants and `rz` rounding mode
to existing `f32/f16x2/bf16x2` to `FP8` (`e4m3x2`, `e5m2x2`) and
`FP6` (`e2m3x2`, `e3m2x2`) conversion intrinsics.
Also adds `clang builtins` for the new variants.
Tests have been verified through `ptxas-13.4`.
PTX ISA Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-cvt
---------
Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>
Commit: 45c1a19bb1074e7cca61d62951c0b5e9e4995cbb
https://github.com/llvm/llvm-project/commit/45c1a19bb1074e7cca61d62951c0b5e9e4995cbb
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/CodeGen/cfstring2.c
Log Message:
-----------
[clang][bytecode] Accept pointer casts of expr-based opaque pointers (#223982)
We create opaque pointers for a few types of "opaque" expressions, where
we need to just pass the pointer along to the end of the evaluation and
such pointer casts are fine on those.
Commit: 410c7e42b81f4bcde4723a97014eaa4c0d21adb8
https://github.com/llvm/llvm-project/commit/410c7e42b81f4bcde4723a97014eaa4c0d21adb8
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lld/test/ELF/lto/riscv-target-abi.ll
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
[RISCV] Do not re-validate target ABI in AsmParser if already resolved by streamer (#223606)
Commit 105ff16f816f (https://github.com/llvm/llvm-project/pull/213410)
changed RISCVABI::computeTargetABI() to return Expected<ABI> and added
validation to RISCVAsmParser::onBeginOfFile() to report invalid
-target-abi flags with real source location in llvm-mc.
However, this broke LTO builds containing inline assembly (e.g. Android
riscv64 builds and downstream Rust in
https://github.com/rust-lang/rust/pull/162783). During LTO, LLD sets
TargetOptions.MCOptions.ABIName from the module's target-abi metadata
("lp64d"), while the linker's default TargetMachine subtarget lacks
"+d" (individual functions specify "+d" in target-features).
RISCVSubtarget handles this gracefully by emitting a diagnostic note
and falling back to lp64 for code generation. When inline assembly was
subsequently parsed, AsmPrinter::emitInlineAsm instantiated
RISCVAsmParser with a subtarget lacking "+d", causing onBeginOfFile() to
re-validate TargetOptions.ABIName and fail with a fatal error.
To fix this, skip the parser validation whenever the streamer has
already resolved an ABI. This preserves llvm-mc diagnostics on invalid
command-line flags while avoiding conflicting validation when assembling
inline asm during code generation.
This commit was created with the help of AI tools
Commit: 73c8b54ee341d1fa625575913179c6475a4a4e42
https://github.com/llvm/llvm-project/commit/73c8b54ee341d1fa625575913179c6475a4a4e42
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/lib/Frontend/FrontendActions.cpp
M llvm/include/llvm/Analysis/RuntimeLibcallInfo.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/Analysis/RuntimeLibcallInfo.cpp
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Passes/RunCodeGen.cpp
M llvm/tools/llc/lib/NewPMDriver.cpp
M llvm/tools/llc/lib/llcdriver.cpp
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
RuntimeLibcalls: Read exception model from the module flag (#223971)
Source the exception model in the RuntimeLibcallsInfo(Module)
constructor from the "exception-model" module flag via
Module::getExceptionModel(), instead of forwarding it from TargetOptions.
An absent flag resolves to Default and then to the triple default; an explicit "none"
disables exceptions.
Since the model now comes from the module, drop the ExceptionModel that
RuntimeLibraryAnalysis carried and forwarded, and its argument at every
construction site.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 8e82c9b6ad958ee861d8467a3b7781b4da4e2643
https://github.com/llvm/llvm-project/commit/8e82c9b6ad958ee861d8467a3b7781b4da4e2643
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/vector-shuffle.cpp
Log Message:
-----------
[Clang][Sema] Improve shuffle vector size mismatch diagnostic (#223768)
Previously, Clang would error out that the arguments to the
shufflevector builtin in dynamic mode were not the same type, but they
don't need to be. What is required is to have the same number of
elements.
This PR updates the error message to report the actual reason behind the
error.
Issue #221791
Commit: 2836b914b76bb6130b9cf6be95ef31918856039c
https://github.com/llvm/llvm-project/commit/2836b914b76bb6130b9cf6be95ef31918856039c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/Thumb1InstrInfo.h
M llvm/lib/Target/AVR/AVRInstrInfo.h
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
M llvm/lib/Target/MSP430/MSP430InstrInfo.h
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/VE/VEInstrInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
CodeGen: Add getInlineAsmMemoryOperandRegClass (#223959)
Replace the use of getPointerRegClass to determine the register
class from an asm memory constraint, working to delete it. When
there are multiple pointer types there can't be just a single
answer.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Commit: 92df387cd28161612d3953e51aa29230350fb6ce
https://github.com/llvm/llvm-project/commit/92df387cd28161612d3953e51aa29230350fb6ce
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/test/Target/LLVMIR/attribute-dereferenceable.mlir
Log Message:
-----------
[mlir][LLVM] Fix crash when dereferenceable instruction is folded (#221682)
`inst` is null when the builder folds the cast of a constant. Fix
nullptr dereference by dropping the metadata.
Commit: cd6dab01e6b968fe9eacd417777afb1e1ba7b676
https://github.com/llvm/llvm-project/commit/cd6dab01e6b968fe9eacd417777afb1e1ba7b676
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/Target/Target.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp
M llvm/lib/Target/ARM/ThumbRegisterInfo.h
M llvm/lib/Target/AVR/AVRRegisterInfo.cpp
M llvm/lib/Target/AVR/AVRRegisterInfo.h
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.h
M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.h
M llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp
M llvm/lib/Target/MSP430/MSP430RegisterInfo.h
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/lib/Target/Mips/MipsRegisterInfo.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
M llvm/lib/Target/Sparc/SparcRegisterInfo.h
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
M llvm/lib/Target/VE/VERegisterInfo.cpp
M llvm/lib/Target/VE/VERegisterInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.h
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
M llvm/test/TableGen/invalid_typecast_assert.td
M llvm/test/TableGen/target-specialized-pseudos.td
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
CodeGen: Remove PointerLikeRegClass (#223965)
Remove PointerLikeRegClass and the related getPointerRegClass
TargetRegisterInfo hook. This is obsoleted by RegClassByHwMode.
Previously targets would have to map ptr_rc to an assumed pointer
register class by implementing this method, but this is now
auto-resolvable per instruction using RegClassByHwMode.
Depends #223930
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Commit: 104cbaf619754c04dccc3df617b6190702ad92ba
https://github.com/llvm/llvm-project/commit/104cbaf619754c04dccc3df617b6190702ad92ba
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lld/test/ELF/linkerscript/nobits-offset.s
Log Message:
-----------
[ELF,test] Extend nobits-offset.s to cover sections following .bss (#224201)
Commit: 33c1570d51fa3f79e83a93fe3c9f1bcda9fe04b3
https://github.com/llvm/llvm-project/commit/33c1570d51fa3f79e83a93fe3c9f1bcda9fe04b3
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
Log Message:
-----------
[IR] Make Instruction::DebugMarker private behind getDbgMarker(). NFC (#224190)
Make it private and add getDbgMarker(); only BasicBlock and DbgMarker,
which maintain the marker links, write it. This enables experiments to
change the data representation.
Aided by Opus 5
Commit: 511e3cb93a1675047635c6d87323f878f99c4d26
https://github.com/llvm/llvm-project/commit/511e3cb93a1675047635c6d87323f878f99c4d26
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/docs/ReleaseNotes.md
M clang/docs/ReleaseNotes.md
M clang/include/clang/AST/PrettyPrinter.h
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
Log Message:
-----------
[clang][clangd] Resolve decltype when printing types for display (#223950)
`decltype(x)` is rarely what a reader wants to see in a display context:
a code completion offering `set_x(decltype(x) val)` conveys much less
than `set_x(int val)`.
clangd already worked around this for hover, by stripping decltypes off
the type before printing it, with a FIXME noting that this belongs in a
printing policy and that it does not handle composite types.
`HoverTests.cpp` carries a matching FIXME on one of the cases it misses.
Add such a policy flag, honour it in `TypePrinter`, and set it both for
code completion and for the types clangd displays on hover.
Applying it in the printer rather than at the call site also covers the
cases the workaround could not reach:
```c++
const decltype(a) b; // was `int`, now `const int`
void f(decltype(lamb) &bar); // was `decltype(lamb) &`, now `(lambda) &`
auto f(decltype(a)) -> decltype(a); // now `auto (int) -> int`
```
The first of those was a bug: `castAs<DecltypeType>()` looks through
qualifiers, so the workaround silently dropped the `const`.
Since the printed type may now already be desugared, an "aka" suffix
that would repeat it verbatim is suppressed.
A dependent `decltype` has no resolved type to offer and is left as
written. The declaration clangd shows next to the type is printed with a
different policy and still reflects the source spelling, so the
`decltype` remains visible on the hover card. Code completion and
signature help have no such fallback, and there the resolved type
replaces the spelling outright.
Assisted-by: Claude Opus 5
Commit: f557f80378b08024b79efbde73fbe3a03036abf7
https://github.com/llvm/llvm-project/commit/f557f80378b08024b79efbde73fbe3a03036abf7
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
A clang/test/CIR/CodeGenHIP/atomic-classify.hip
Log Message:
-----------
[CIR][AMDGPU][OpenCL] Classify __hip_atomic_*/__opencl_atomic_* operations (#220856)
load, store, exchange, compare_exchange_strong/weak, and every fetch op
were missing from the operand-classification switches, so they fell to
the default and reported an unimplemented atomic. They take the same
operands as their __c11_atomic_*/__atomic_* counterparts, so they belong
with them.
This is the ground work for implementing more AMDGPU atomics.
---------
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: bdb0f5737844a53ae626a0c85aa7ebc593f38626
https://github.com/llvm/llvm-project/commit/bdb0f5737844a53ae626a0c85aa7ebc593f38626
Author: David Green <david.green at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/lowmaskedlanes.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-basic.ll
M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
M llvm/test/CodeGen/X86/pr179489.ll
M llvm/test/CodeGen/X86/pr46532.ll
Log Message:
-----------
[DAG] Optimize masked store of constant lane mask to standard store (#223665)
A masked store with a constant mask enabling the first n lanes can be
lowered to a standard store of size n.
For example a masked store with masks `<1, 1, 0, 0>` or a scalable store
with mask `llvm.get.active.lane.mask.v4i1.i32(i32 0, i32 2)`
Commit: efb463832233ca8ce9b8972c568ee008603e348e
https://github.com/llvm/llvm-project/commit/efb463832233ca8ce9b8972c568ee008603e348e
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/stdlib.yaml
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/linux/CMakeLists.txt
A libc/src/stdlib/linux/mkostemp.cpp
A libc/src/stdlib/mkostemp.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/mkostemp_test.cpp
Log Message:
-----------
[libc] Implement mkostemp (#224112)
Added the POSIX mkostemp entrypoint for Linux targets (aarch64, riscv,
x86_64) following the shared mktemp_core helper pattern from commit
1b48a14a3608.
Validated open flags against the supported POSIX Issue 8 set (O_APPEND,
O_CLOEXEC, O_DSYNC, O_SYNC) before invoking internal::mktemp_core.
Added unit tests in mkostemp_test.cpp covering flag combinations, append
semantics, template modification, and error conditions.
Assisted-by: Automated tooling, human reviewed.
Commit: 9310ac71dcc66f5bea4f9190175dc8a76909a12e
https://github.com/llvm/llvm-project/commit/9310ac71dcc66f5bea4f9190175dc8a76909a12e
Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
A clang/test/CIR/CodeGen/bitfield-unaligned-expensive-access.c
Log Message:
-----------
[CIR] Support bitfields when unaligned access is expensive (#223748)
This basically ports OGCG codepath to enable bitfields on AMDGPU.
Assisted by claude in test checks generation.
Commit: 7db98d674027942e7ac16c90229dead25d9cc2fd
https://github.com/llvm/llvm-project/commit/7db98d674027942e7ac16c90229dead25d9cc2fd
Author: purnima shrivastava <purnimashrivastava05 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/constant-fold.mlir
Log Message:
-----------
[mlir][affine] Avoid folding out-of-bounds constant loads (#224076)
`AffineLoadOp::fold` could crash when folding a constant load with
out-of-bounds indices, including loads from zero-sized constant memrefs.
Check `ElementsAttr::isValidIndex` before indexing the constant
attribute and skip folding when the access is invalid.
Adds a regression test for `memref<0xi8>`.
Fixes #223949
Co-authored-by: Purnima Shrivastava <purnimashrivastava05 at .com>
Commit: 39ee115195645d9d4c80852250cea98ef61acc56
https://github.com/llvm/llvm-project/commit/39ee115195645d9d4c80852250cea98ef61acc56
Author: Ties Stuij <ties.stuij at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
M compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
M compiler-rt/lib/builtins/arm/aeabi_dcmp.S
M compiler-rt/lib/builtins/arm/aeabi_fcmp.S
M compiler-rt/lib/builtins/arm/aeabi_idivmod.S
M compiler-rt/lib/builtins/arm/aeabi_ldivmod.S
M compiler-rt/lib/builtins/arm/aeabi_memcmp.S
M compiler-rt/lib/builtins/arm/aeabi_memcpy.S
M compiler-rt/lib/builtins/arm/aeabi_memmove.S
M compiler-rt/lib/builtins/arm/aeabi_memset.S
M compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
M compiler-rt/lib/builtins/arm/aeabi_uldivmod.S
M compiler-rt/lib/builtins/arm/comparesf2.S
M compiler-rt/lib/builtins/arm/divmodsi4.S
M compiler-rt/lib/builtins/arm/divsi3.S
M compiler-rt/lib/builtins/arm/modsi3.S
M compiler-rt/lib/builtins/arm/udivsi3.S
M compiler-rt/lib/builtins/assembly.h
A compiler-rt/test/builtins/Unit/arm/aeabi_cmpflags_interwork_test.c
A compiler-rt/test/builtins/Unit/arm/aeabi_fcmp_test.c
M compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c
A compiler-rt/test/builtins/Unit/arm/aeabi_ldivmod_test.c
A compiler-rt/test/builtins/Unit/arm/aeabi_mem_test.c
M compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c
M compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c
M compiler-rt/test/builtins/Unit/divmodsi4_test.c
M compiler-rt/test/builtins/Unit/divsi3_test.c
M compiler-rt/test/builtins/Unit/modsi3_test.c
M compiler-rt/test/builtins/Unit/udivsi3_test.c
Log Message:
-----------
[compiler-rt][ARM] Make ARMv4T assembly builtins interwork (#221725)
ARMv4T can't switch instruction state when a saved return address is
loaded directly into the pc. Several builtins did exactly that, so a
call from Thumb could call into Arm state and return without switching.
To mitigate that, this patch amends POP_PC and adds
POP_PC_WITH_REGS, which expand to sensible code depending on
what arch they are compiled for. ARMv5 and later keep direct pop-to-pc
forms. v4T returns through ip and bx.
Commit: 53a00b2c105dec876fec857b0cf3fc933f63f7c2
https://github.com/llvm/llvm-project/commit/53a00b2c105dec876fec857b0cf3fc933f63f7c2
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/DenseMapTest.cpp
Log Message:
-----------
[DenseMap] memcpy buckets with trivial copy constructor and destructor. NFC (#224193)
std::pair has a user-provided copy assignment operator, so
std::is_trivially_copyable is false. Define is weaker
isRelocatableBucket instead.
This optimizes some DenseMap instantiations within lld (e.g.
lld/ELF/SyntheticSections.cpp)
Commit: e470d98fc36c5f34082e6cb43927790af577b5ee
https://github.com/llvm/llvm-project/commit/e470d98fc36c5f34082e6cb43927790af577b5ee
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[clang][www] Fix a typo in cxx_status page (#224206)
the "Clang 24" shows up left-aligned right now.
Commit: ee0f498b01eaa819618bc4825a6ad1a37f5ef2f4
https://github.com/llvm/llvm-project/commit/ee0f498b01eaa819618bc4825a6ad1a37f5ef2f4
Author: zhouguangyuan0718 <zhouguangyuan.xian at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
A llvm/test/Transforms/SROA/struct-to-vector-stack-alignment.ll
Log Message:
-----------
[SROA] Avoid unnecessary stack realignment when rewriting allocas (#222967)
SROA can introduce dynamic stack realignment when rewriting an aggregate
alloca as a vector. On SystemZ (`S64`), a five-pointer structure with
alignment 8 becomes `<5 x ptr>` with alignment 64, adding an alignment
mask and extra stack-frame setup instructions.
Create replacement allocas with the alignment inherited from the
original alloca and partition offset, then use `tryEnforceAlignment` to
request the preferred type alignment. This reuses the existing
stack-alignment check: when a natural stack alignment is specified,
promotions beyond it are rejected. Stronger inherited alignments are
preserved.
Add SROA-only regression coverage for `S64`, `S128`, unspecified natural
stack alignment, and explicit stronger alignments. Existing SROA,
debug-info, and NVPTX tests retain their original RUN lines and checks,
including the NVPTX vector stores.
Fixes #222966
Assisted-by: OpenAI Codex
Commit: 15cff9069ae805e4f5decb4965d33fb4ebd274b5
https://github.com/llvm/llvm-project/commit/15cff9069ae805e4f5decb4965d33fb4ebd274b5
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libc/src/__support/threads/linux/thread.cpp
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/do_start.cpp
M libc/test/integration/src/pthread/CMakeLists.txt
M libc/test/integration/src/pthread/pthread_getattr_np_test.cpp
A libc/test/integration/src/pthread/pthread_join_main_test.cpp
Log Message:
-----------
[libc] Make it possible to join the main thread (#221177)
Joining the main thread currently crashes because its ThreadAttributes
has a null platform_data pointer, causing Thread::wait() to dereference
a null futex.
While this is not a frequently used feature, it is supported by other
implementations, and I believe it is required by POSIX (the exec page
says that the main thread is created in a joinable state, and neither
pthread_join nor pthread_exit mention them not working on the main
thread).
This patch sets up the main thread attributes during startup:
- allocate a static futex for the main thread's clear_tid and point
platform_data to it
- invoke set_tid_address to have the kernel clear the futex and wake
waiters on thread termination
- mark the main thread as joinable (it was previously defaulting to
detached)
The test for this functionality exposed the bug where the thread return
value is not preserved (and therefore not passed to pthread_join) for
threads exiting via pthread_exit, so I fix that as well.
This patch required accessing the CLEAR_TID_VALUE constant from multiple
files, but I couldn't find a suitable header to place it in. Instead of
creating a new one, I just delete the constant, as we don't really care
about its value -- only that it is not zero.
Assisted-by: Gemini
Commit: de199ddad27f332fd6235fa7b5fc059c798811ff
https://github.com/llvm/llvm-project/commit/de199ddad27f332fd6235fa7b5fc059c798811ff
Author: geoffreygaren <ggaren at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[WebKit Checkers] Honor using declarations when looking up protocol conformance (#223902)
Commit: 28f36e6d3912e3f9c50fbf57113f84cd336b7862
https://github.com/llvm/llvm-project/commit/28f36e6d3912e3f9c50fbf57113f84cd336b7862
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/test/Driver/wasm-toolchain.c
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
Log Message:
-----------
WebAssembly: Drive Emscripten EH from the exception model, drop the cl::opt (#223972)
Remove the deprecated -enable-emscripten-cxx-exceptions flag. This
should now be driven by the generic exception-model mechanisms. There
was also some special case handling of the -mllvm flag in the clang driver
which also needed removal.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 4ee94b0be17f04ea8f84b86dc7c9a964979efbbb
https://github.com/llvm/llvm-project/commit/4ee94b0be17f04ea8f84b86dc7c9a964979efbbb
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
A llvm/test/CodeGen/AArch64/sme-peephole-opt-sm-compat.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
Log Message:
-----------
[AArch64] Allow SME peephole opts without +sme in streaming compat functions (#222728)
Commit: 9a3d449079fc97194c1aadcd9c8c999da6fe0a69
https://github.com/llvm/llvm-project/commit/9a3d449079fc97194c1aadcd9c8c999da6fe0a69
Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
A flang/test/Driver/fno-optimize-sibling-calls.f90
A flang/test/Transforms/function-attr-disable-tail-calls.fir
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/disable-tail-calls.ll
M mlir/test/Target/LLVMIR/Import/import-failure.ll
A mlir/test/Target/LLVMIR/disable-tail-calls.mlir
Log Message:
-----------
[Flang][Driver]Implemented the support for option -f[no-]optimize-sibling-calls in Flang (#216650)
Added support for -foptimize-sibling-calls and
-fno-optimize-sibling-calls in Flang.
- Sibling call optimization is on by default and the driver pass the
option `-f[no-]optimize-sibling-calls` to flang -fc1.
- When `-fno-optimize-sibling-calls` flag is passed, it sets boolen
`DisableTailCalls` and this results in adding the LLVM IR attribute
`"disable-tail-calls"="true"` which disables sibling call optimization.
Commit: 7232f3bba85938d63c4f92d83995fce4887526c6
https://github.com/llvm/llvm-project/commit/7232f3bba85938d63c4f92d83995fce4887526c6
Author: Peter Smith <peter.smith at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lld/test/ELF/aarch64-thunk-bti-overlay-reuse.s
M lld/test/ELF/arm-thunk-overlay-reuse.s
Log Message:
-----------
[LLD][ELF] Reduce memory and file size of overlay thunk tests (#222565)
Add AT(address) to linker script to force generation of a program header
for each address. Without AT we get a single large program header that
takes up a large amount of memory and causes a large file to be
generated. This may prevent the test from running on a 32-bit machine
without a lot of memory. See comment on #200415
Also removed a superfluous --print-map from
aarch64-thunk-bit-overlay-reuse.s. This was used when constructing the
test but it is not needed.
Commit: 5781d4bde68ea4fb604b398aaf731d682412d158
https://github.com/llvm/llvm-project/commit/5781d4bde68ea4fb604b398aaf731d682412d158
Author: Charlie Lin <tuug at gmx.us>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Support/UnicodeCaseFold.cpp
M llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp
M llvm/utils/unicode-case-fold.py
Log Message:
-----------
[llvm] Updates case folding rules to Unicode 18 (#223716)
This PR updates other Unicode tables started by
https://github.com/llvm/llvm-project/pull/198255
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 5ee9be9300f62a4c2b6cfa894b5f6648228be7c0
https://github.com/llvm/llvm-project/commit/5ee9be9300f62a4c2b6cfa894b5f6648228be7c0
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
Log Message:
-----------
[SCEV] Look thru more expressions in isKnownMultipleOf (#219951)
Generalize the existing logic to look through AddRecs to look through
Add, Mul, and MinMax expressions in isKnownMultipleOf, noting that this
simply increases precision of added predicates, allowing us to add more
fine-grained predicates. It also fixes an underlying bug in the case the
AddRec wraps. The patch has no optimization impact at the moment, and
only serves to have higher precision in its sole user,
DependenceAnalysis.
Proof: https://alive2.llvm.org/ce/z/JLCqGJ
Commit: 1ebf89d8c5e61f9184431eb4e5c9a6966b5c0748
https://github.com/llvm/llvm-project/commit/1ebf89d8c5e61f9184431eb4e5c9a6966b5c0748
Author: sstipano <sstipano at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/MC/AMDGPU/gfx13_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx13_asm_vsample.s
Log Message:
-----------
[AMDGPU][GFX13] MC support for indexed VIMAGE/VSAMPLE resources (#223429)
Commit: 3f9ca800da7b22e3fcc37eeb89af0bd116959d0e
https://github.com/llvm/llvm-project/commit/3f9ca800da7b22e3fcc37eeb89af0bd116959d0e
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/Mangler.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
R llvm/lib/ExecutionEngine/Orc/Mangler.cpp
Log Message:
-----------
[ORC] Move Mangler functions into header. (#224209)
Move Mangler functions into Mangler.h so that they can be used from
OrcTargetProcess without introducing a dependence on OrcJIT.
This is a temporary fix to enable use of SymbolNameSpec in
OrcTargetProcess (see https://github.com/llvm/llvm-project/pull/224188).
Future work will reorganize these libraries and should allow this code
to sink back down into a .cpp file.
Commit: 6c3604b43ca23b305c10b60ed9120ea56f872233
https://github.com/llvm/llvm-project/commit/6c3604b43ca23b305c10b60ed9120ea56f872233
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/mixed-precision-add-f32x2-downconvert-invalid.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-add-f32x2-downconvert.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-add-f32x2-upconvert-invalid.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-add-f32x2-upconvert.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-f32x2-sm-version.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-sub-f32x2-downconvert-invalid.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-sub-f32x2-downconvert.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-sub-f32x2-upconvert-invalid.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-sub-f32x2-upconvert.ll
Log Message:
-----------
[NVPTX] Add support for f32x2 mixed-precision add/sub (#221957)
This change adds support for mixed precision addition and
subtraction of `f16x2` and `bf16x2` with `f32x2`, where the
following upconverting patterns:
```
%e = fpext <2 x half> %h to <2 x float>
%res = fp-operation(%e, ...)
...
%e = fpext <2 x bfloat> %b to <2 x float>
%res = fp-operation(%e, ...)
where the fp-operation can be any of:
- fadd
- fsub
- llvm.nvvm.fadd.v2f32
```
are lowered to `add/sub.{rnd}.f32x2.{f16x2/bf16x2}.f32x2`, and the
following downconverting pattern:
```
%sum = llvm.nvvm.fadd{.ftz}.v2f32(%a, %b, rz)
%lo = extractelement <2 x float> %sum, i32 0
%hi = extractelement <2 x float> %sum, i32 1
%res = llvm.nvvm.ff2{f16x2/bf16x2}.rz(%hi, %lo, false)
```
is lowered to `add/sub.rz{.ftz}.{f16x2/bf16x2}.f32x2.f32x2`. These
instructions combine the conversion and the addition into one
instruction from `sm_107f` onwards. `fneg` followed by one of the
above addition patterns is lowered to the corresponding `sub`
instruction.
The upconverting patterns are folded only when atleast one of the
`fpext`
operands have a single use, thus purely eliminating the conversion.
The downconverting patterns are folded only when the `f32x2` result
is used solely by the conversion, avoiding generating an unnecessary
additional `add/sub` instruction.
The tests have been verified through ptxas-13.4.
PTX spec reference:
https://docs.nvidia.com/cuda/developer-preview/13.4/parallel-thread-execution/index.html#mixed-precision-floating-point-instructions-add
Commit: 47f9b707bf14755bf969d9b9d45419f7c5c85abd
https://github.com/llvm/llvm-project/commit/47f9b707bf14755bf969d9b9d45419f7c5c85abd
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libcxx/include/__locale_dir/pad_and_output.h
M libcxx/include/locale
M libcxx/test/benchmarks/text/localization/num_put.bench.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
Log Message:
-----------
[libc++] Fix performance regression in std::num_put (#223334)
`__pad_and_output` calls `std::copy` and `std::fill_n` unconditionally,
even though the calls are quite likely to do nothing. Adding conditions
also allows the compiler to do jump-threading.
Fixes #178685
Commit: 9e0686cca51613229ef85788ee5d1deee0595b92
https://github.com/llvm/llvm-project/commit/9e0686cca51613229ef85788ee5d1deee0595b92
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libcxx/include/CMakeLists.txt
R libcxx/include/__locale_dir/get_c_locale.h
M libcxx/include/__locale_dir/money.h
M libcxx/include/__locale_dir/num.h
M libcxx/include/__locale_dir/support/aix.h
M libcxx/include/__locale_dir/support/bsd_like.h
A libcxx/include/__locale_dir/support/default/get_c_locale.h
M libcxx/include/__locale_dir/support/fuchsia.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/llvm_libc.h
M libcxx/include/__locale_dir/support/newlib.h
M libcxx/include/__locale_dir/support/openbsd.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__locale_dir/time.h
M libcxx/include/module.modulemap.in
M libcxx/src/locale.cpp
Log Message:
-----------
[libc++] Move _LIBCPP_GET_C_LOCALE to the locale base API (#222924)
How to retrieve the C locale is fundamentally a property of the
underlying libc, so it should really be part of the locale base API.
Commit: df66325f27cafc3a0bb7b3833ea99ca540665edf
https://github.com/llvm/llvm-project/commit/df66325f27cafc3a0bb7b3833ea99ca540665edf
Author: David Green <david.green at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/lowmaskedlanes.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-basic.ll
M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
M llvm/test/CodeGen/X86/pr179489.ll
M llvm/test/CodeGen/X86/pr46532.ll
Log Message:
-----------
Revert "[DAG] Optimize masked store of constant lane mask to standard store (#223665)" (#224250)
This reverts commit bdb0f5737844a53ae626a0c85aa7ebc593f38626 due to
illegal types undef avx512.
Commit: 00098111a304d7d16a0f91ac88a2052c32ea8b3a
https://github.com/llvm/llvm-project/commit/00098111a304d7d16a0f91ac88a2052c32ea8b3a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/Block.h
M mlir/include/mlir/IR/BlockSupport.h
M mlir/include/mlir/IR/Region.h
Log Message:
-----------
[MLIR] Use make_isa_range to implement getOps (NFC). (#224051)
Simplify implementation using make_isa_range from
https://github.com/llvm/llvm-project/pull/223414.
PR: https://github.com/llvm/llvm-project/pull/224051
Commit: 67c9a6cbf0b5cd78d2223342ec9f07c903b559e1
https://github.com/llvm/llvm-project/commit/67c9a6cbf0b5cd78d2223342ec9f07c903b559e1
Author: Chennes <xuchen359 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/fsh.ll
Log Message:
-----------
[InstCombine] Drop poison-generating annotations when rewriting rotate operands (#224228)
`SimplifyDemandedUseBits()` rewrites an operand of a rotate to the
constant formed from its known bits, which preserves only the demanded
bits of the result. A `range` attribute or `!range` metadata on the call
may no longer hold afterwards, turning a defined result into poison:
https://alive2.llvm.org/ce/z/Lk8Eop
#173864 extended annotation dropping in the funnel shift path directly
above to cover metadata; the rotate path never had it.
Drop the annotations in both rotate operand rewrite paths.
Fixes #222092.
Commit: 1b9d5d9270525bd2dc26efdd201f493bb830f7a3
https://github.com/llvm/llvm-project/commit/1b9d5d9270525bd2dc26efdd201f493bb830f7a3
Author: Michał Górny <mgorny at gentoo.org>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/test/Driver/fakeflang.F
M flang/test/lit.cfg.py
Log Message:
-----------
[flang] Skip `fakeflang` tests on standalone build (#224241)
Given that `fakeflang` tool is not built with `FLANG_STANDALONE_BUILD`,
mark the respective test as unsupported as well.
Signed-off-by: Michał Górny <mgorny at gentoo.org>
Commit: b022b32fc1e315a3f61fb9ad3ede55218c2c16c4
https://github.com/llvm/llvm-project/commit/b022b32fc1e315a3f61fb9ad3ede55218c2c16c4
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/test/API/functionalities/scripted_frame_provider/step_with_type/TestFrameProviderStepping.py
Log Message:
-----------
[lldb][test] Remove Arm xfail from a test in TestFrameProviderStepping.py (#224256)
Added by #223834.
I suspect this got carried over from other tests where the code has to
deal with the Arm/Thumb bit in the PC. Since this test doesn't get that
far it's not a problem, so this test is unexpectedly passing.
Commit: 3724cc867e2f6bbaf59c6542160fcf8162c0c199
https://github.com/llvm/llvm-project/commit/3724cc867e2f6bbaf59c6542160fcf8162c0c199
Author: TelGome <93700071+TelGome at users.noreply.github.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
A clang/test/Sema/riscv-pld-pointer-types.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
Log Message:
-----------
[RISCV][P-ext] Support Packed Load (#223313)
Commit: 66ae28fd8f686b6b558796f70ca388523158a20c
https://github.com/llvm/llvm-project/commit/66ae28fd8f686b6b558796f70ca388523158a20c
Author: Barbara Mitic <Barbara.Mitic at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/fold-operands-scalar-fmac.mir
Log Message:
-----------
[AMDGPU] Use s_fmamk_f32 when the folded addend is inlinable (#218955)
When folding a constant into src2 of s_fmac_f32, the AK form
(s_fmaak_f32) was always selected, which puts the folded addend in the
literal slot. If that addend is an inline constant while one of the
multiplicands is not, this wastes the literal slot and still requires an
extra s_mov_b32 for the multiplicand.
Choose the instruction variant based on which operand actually needs the
literal instead. If the folded addend is inlinable and a multiplicand is
not, use the MK form (s_fmamk_f32), placing the non-inlinable
multiplicand in the literal slot and encoding the addend inline.
Commit: 589717519502a8a52478e34fa6f3fa4483ed2dfd
https://github.com/llvm/llvm-project/commit/589717519502a8a52478e34fa6f3fa4483ed2dfd
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ConnectionSpec.h
M llvm/unittests/ExecutionEngine/Orc/ConnectionSpecTest.cpp
Log Message:
-----------
[ORC] Add ConnectionSpec::str() to reconstruct original spec (#224215)
Rebuilds the original connection string from the parsed transport,
action, and descriptor fields.
Commit: 6136762db1985333f9c2fa04fd92bc5af6af49be
https://github.com/llvm/llvm-project/commit/6136762db1985333f9c2fa04fd92bc5af6af49be
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/LookupAndApply.h
M llvm/include/llvm/ExecutionEngine/Orc/RecordProxy.h
M llvm/include/llvm/ExecutionEngine/Orc/SPSProxySpec.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/CallSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/MemoryAccessSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/NativeDylibManagerSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/SharedMemoryMapperSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/SimpleNativeMemoryMapSPSCI.h
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/DefaultHostBootstrapValues.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorMemoryManager.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericDylibManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericMemoryAccessTest.cpp
M llvm/unittests/ExecutionEngine/Orc/LookupAndApplyTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ProxyTest.cpp
M llvm/unittests/ExecutionEngine/Orc/SharedMemoryMapperTest.cpp
Log Message:
-----------
[ORC] Represent ORC interface names as SymbolNameSpecs (#224188)
Declare the bootstrap and controller-interface name constants (the SPSCI
descriptors, dispatch and alloc-action names, ProxySpec::Name) as
SymbolNameSpecs, pairing each name with its mangling kind at the point
of declaration. recordAddr and recordProxy now take a SymbolNameSpec and
mangle-and-intern it internally; executor-side registrations and the
remaining intern sites mangle the name too, so both sides still agree on
the symbol.
All names are Verbatim, so this is name-neutral (mangling is a no-op);
flipping any of them to a mangled kind (e.g. C) is a follow-up.
Commit: 4502187e2dde66d801d89f156dc47cc70509068f
https://github.com/llvm/llvm-project/commit/4502187e2dde66d801d89f156dc47cc70509068f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Fix a crash with an invalid Descriptor (#224231)
It's neither a record nor an array.
Commit: b5277b196f75cdb845290667b7f923f01055584d
https://github.com/llvm/llvm-project/commit/b5277b196f75cdb845290667b7f923f01055584d
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb][test] Print command output when it unexpectedly passes (#224021)
Some LLDB tests expect commands to fail. However, we do sometimes see
these commands actually pass on the bots and the test output doesn't
really indicate what is going on.
This patch adds the (error) output of commands that we expected to fail
but didn't do the test output. This changes the dreaded `Command 'foo'
is expected to fail!` error to:
```
Command 'foo' is expected to fail!
Output: bar
```
Commit: 870b07db9487fef2f5907230692fd3d111ec2f10
https://github.com/llvm/llvm-project/commit/870b07db9487fef2f5907230692fd3d111ec2f10
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/include/lldb/Core/ModuleChild.h
M lldb/source/Core/ModuleChild.cpp
Log Message:
-----------
[lldb][NFC] Remove ModuleChild::SetModule (#223661)
This function isn't used by anyone. Furthermore, we shouldn't use it as
some ModuleChild subclasses use their module's lock to synchronize
accesses to their memory. If this function was actually called by
anyone, it would introduce race conditions into classes that use the
module's lock for synchronization.
Commit: 5f639bc8a42793e42305c3512603b7068a79c5d0
https://github.com/llvm/llvm-project/commit/5f639bc8a42793e42305c3512603b7068a79c5d0
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
Log Message:
-----------
[lldb][test] Increase gdbremote_testcase timeout (#221239)
TestLldbGdbServer.py is randomly timing out on slow machines. This bumps
the timout to a minute by default.
Commit: c9ccf236acd9c3ad1cf8791d52ca19cb5062d2a1
https://github.com/llvm/llvm-project/commit/c9ccf236acd9c3ad1cf8791d52ca19cb5062d2a1
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
Log Message:
-----------
[IR] Implement filterDbgVars using make_isa_range (NFC) (#223964)
Simplify filterDbgVars implementation using helper introduced in
https://github.com/llvm/llvm-project/pull/223414.
PR: https://github.com/llvm/llvm-project/pull/223964
Commit: a70e9fa1ccf273eef2d7d33eb8f5b6424b3ff7fe
https://github.com/llvm/llvm-project/commit/a70e9fa1ccf273eef2d7d33eb8f5b6424b3ff7fe
Author: Alexsander Borges Damaceno <40966997+AlexsanderDamaceno at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/test/Parser/cxx0x-attributes.cpp
M clang/test/Parser/cxx0x-keyword-attributes.cpp
Log Message:
-----------
[Clang] Improve diagnostics to show the correct position for `[[maybe_unused]]` before a using-alias (#223910)
For [[maybe_unused]] written before the 'using' keyword of an
alias-declaration:
`[[maybe_unused]] using T = int;`
Clang currently reports only:
`error: an attribute list cannot appear here
`
with no indication of where the attribute should actually go
`Parser::DiagnoseProhibitedAttributes` already provides exactly this
behavior, emitting a more helpful fix-it that suggests moving the
attribute to the correct location. ParseUsingDeclaration already uses it
without pass the FixItLoc location this way the fix-it sugestion is not
show for using decl.
This patch passes the right location when the attribute is
`[[maybe_unused]]`, making the fix-it appear for the user.
Fixes https://github.com/llvm/llvm-project/issues/155787
Commit: 743442442b21040955cd76ba47ff9f3657132c31
https://github.com/llvm/llvm-project/commit/743442442b21040955cd76ba47ff9f3657132c31
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaLookup.cpp
A clang/test/CodeCompletion/dependent-base-alias-template.cpp
Log Message:
-----------
[clang] Look through alias templates when visiting dependent base classes (#223713)
When gathering the visible declarations of a class for code completion,
a dependent base class is resolved by taking its
`TemplateSpecializationType` and casting the template it names to a
`ClassTemplateDecl`. If the base is named through an alias template,
that cast fails, because the `TemplateName` refers to a
`TypeAliasTemplateDecl`. The base is then skipped, along with everything
it declares.
libstdc++'s `std::allocator` runs into this: it derives from
`__allocator_base<T>`, which is an alias template for
`__new_allocator<T>`. Before C++20, `allocate()` and `deallocate()` are
declared only in that base (the declarations in `allocator` itself are
guarded by `__cpp_constexpr_dynamic_alloc`), so a dependent
`std::allocator<T>` offered no members at all beyond the implicitly
declared ones:
```c++
#include <memory>
template <class T> void f(std::allocator<T> a) {
a. // nothing useful was offered here
}
```
Look through the alias to the class template it ultimately names.
Assisted-by: Claude Opus 5
---------
Co-authored-by: Younan Zhang <zyn7109 at gmail.com>
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>
Commit: 6a35341a7aadee64a99c90e170137a587de53cac
https://github.com/llvm/llvm-project/commit/6a35341a7aadee64a99c90e170137a587de53cac
Author: Sergey Semenov <sergey.semenov at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libsycl/include/sycl/__impl/detail/config.hpp
Log Message:
-----------
[libsycl][NFC] Fix undefined macro warning (#224090)
Commit: 72a6e256d0ae16ab274af88017e2299cdc3117ae
https://github.com/llvm/llvm-project/commit/72a6e256d0ae16ab274af88017e2299cdc3117ae
Author: Sergey Semenov <sergey.semenov at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libsycl/include/sycl/__impl/detail/kernel_arg_helpers.hpp
Log Message:
-----------
[libsycl][NFC] Fix unused function warnings (#224089)
Commit: 7af35e1750148e829ab042ccb36fd710689363a0
https://github.com/llvm/llvm-project/commit/7af35e1750148e829ab042ccb36fd710689363a0
Author: Sergey Semenov <sergey.semenov at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libsycl/include/sycl/__impl/handler.hpp
Log Message:
-----------
[libsycl][NFC] Fix struct class mismatch warning (#224088)
Commit: 1328d2ccdb2266c62f61b41258b68fda79fcffa9
https://github.com/llvm/llvm-project/commit/1328d2ccdb2266c62f61b41258b68fda79fcffa9
Author: Sergey Semenov <sergey.semenov at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libsycl/include/sycl/__spirv/spirv_vars.hpp
Log Message:
-----------
[libsycl][NFC] Fix extra semicolon outside of function warning (#224087)
Commit: 2980a76d91fa43c8d4ad21dbf9346efc0ef05d3d
https://github.com/llvm/llvm-project/commit/2980a76d91fa43c8d4ad21dbf9346efc0ef05d3d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Fix assert when calling static functions via CallVirt (#224253)
This only happens in error cases.
Commit: f4f7257be543b02dd786d0d2be7b18cce4d266db
https://github.com/llvm/llvm-project/commit/f4f7257be543b02dd786d0d2be7b18cce4d266db
Author: Yihan Wang <yronglin777 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Give a discarded composite prvalue a result object (#219952)
A default member initializer can refer to previously initialized
subobjects, so `this` has to denote something while it is evaluated. A
discarded composite prvalue had no result object, so the interpreter
rejected code the legacy evaluator accepts:
```cpp
struct A { int &x; constexpr ~A() { x = 0; } };
struct B { int &x; const A &a = A{x}; };
constexpr int f() { int x = 1; B{x}; return x; }
constexpr int r = f(); // error: implicit use of 'this' pointer
static_assert(r == 0); // FXIME: 'r' shouble be 0, it's a bug in clang, see https://github.com/llvm/llvm-project/issues/85601.
```
https://godbolt.org/z/rb993Ef9d
This patch materialize a result object for a discarded composite prvalue
and initialize into it. A discarded list of primitive type keeps
discarding its initializers, as there is no object to establish there.
Also let an explicit initializer nested in a default member initializer
see the surrounding initializer's `this` reconstruction.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Co-authored-by: Timm Bäder <tbaeder at redhat.com>
Commit: ef74d5b3f7c0ee6f61325453c5bfdfee61a38bb1
https://github.com/llvm/llvm-project/commit/ef74d5b3f7c0ee6f61325453c5bfdfee61a38bb1
Author: sriramshastry <52648132+sriramshastry at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libc/src/__support/FPUtil/NearestIntegerOperations.h
Log Message:
-----------
[libc][math] Use bit rounding in fputil::round (#221648)
Add a float-specific fputil::round overload for roundf. It uses
FPBits<float> and the biased exponent to handle sub-unit values,
already-integral inputs, and finite values with fractional bits.
For finite fractional values, add the rounding bit and clear the lower
mask. This implements round-to-nearest with halfway cases away from zero
using integer operations on the float encoding.
Tests: libc.test.src.math.smoke.roundf_test
Tests: libc.test.src.math.smoke.roundf_test.__NO_ROUND_OPT
Commit: 5da7779afdf353039a1566cb4896664d2de7db91
https://github.com/llvm/llvm-project/commit/5da7779afdf353039a1566cb4896664d2de7db91
Author: Peter Smith <peter.smith at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lld/ELF/AArch64ErrataFix.cpp
M lld/test/ELF/aarch64-cortex-a53-843419-thunk-relocation-crash.s
Log Message:
-----------
[LLD][ELF] AArch64 Errata patch use STT_NOTYPE for symbols (#223686)
Use STT_NOTYPE instead of STT_SECTION for local symbols created for the
destination of patch return relocations. This avoids corrupting the
-emit-relocs output for existing relocations that target the
OutputSection's STT_SECTION symbol.
At the time the errata patch runs the .symtab section is expected to
contain at most one STT_SECTION symbol per OutputSection. Adding a new
STT_SECTION symbol causes the -emit-relocs output to use the newly
created symbol for the patch return rather than the OutputSection's
STT_SECTION. By using a STT_NOTYPE symbol the errata patch has no effect
on the -emit-relocs output.
fixes #223356
Commit: 2526f1ca2d81565771ab9c1e2dce44d013d7cc41
https://github.com/llvm/llvm-project/commit/2526f1ca2d81565771ab9c1e2dce44d013d7cc41
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h
Log Message:
-----------
[lldb] Use Guarded in CPPLanguageRuntime (#220212)
Use Guarded to make sure m_vtable_info_map cannot be accesses without
locking the respective lock.
Commit: b3d93594e556278609c9c1815f3ad93d1d49d9fb
https://github.com/llvm/llvm-project/commit/b3d93594e556278609c9c1815f3ad93d1d49d9fb
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
A clang/test/SemaTemplate/temp_arg_nontype_ref.cpp
Log Message:
-----------
[Clang] Fix deduction from constant TP of reference type. (#223645)
We were not implementing https://eel.is/c++draft/temp.deduct.type#13
properly.
Fixes #40328
Assisted-By: Opus 5
Commit: bc79eb547e6ef6a9bceef4968df0e0a150b96a8d
https://github.com/llvm/llvm-project/commit/bc79eb547e6ef6a9bceef4968df0e0a150b96a8d
Author: Caroline Newcombe <caroline.newcombe at hpe.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/docs/OpenMPSupport.md
A offload/test/offloading/error_directive.c
A offload/test/offloading/fortran/error_directive.f90
A offload/test/offloading/fortran/error_directive_fatal.f90
M openmp/device/include/Interface.h
M openmp/device/src/Misc.cpp
Log Message:
-----------
[OpenMP][DeviceRTL] Implement __kmpc_error for the error directive (#220702)
### Description
[OpenMP][DeviceRTL] Implement __kmpc_error for the error directive
### Notes
Part of #204240
Assisted-by: Github Copilot
Commit: b5885865c07a5e6a20dac79318c23a0725ee90e1
https://github.com/llvm/llvm-project/commit/b5885865c07a5e6a20dac79318c23a0725ee90e1
Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/BufferOptimizations.cpp
M mlir/test/Transforms/promote-buffers-to-stack.mlir
Log Message:
-----------
[mlir][bufferization] Fix 32-bit overflow in `PromoteBuffersToStack` threshold check (#223986)
This PR fix 32-bit overflow in `PromoteBuffersToStack` threshold check.
Fixes #223937
---------
Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Commit: 4837d8d5a3b1694f2e760cb4eec54360b047f722
https://github.com/llvm/llvm-project/commit/4837d8d5a3b1694f2e760cb4eec54360b047f722
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
M mlir/test/Conversion/ConvertToSPIRV/simple.mlir
M mlir/test/lib/Pass/TestConvertToSPIRVPass.cpp
Log Message:
-----------
[mlir][SPIR-V] Populate math and cf dialect patterns in `test-convert-to-spirv` (#214627)
Commit: e9e1cb31a1dd0c7764b3206543efef6be4f93ce8
https://github.com/llvm/llvm-project/commit/e9e1cb31a1dd0c7764b3206543efef6be4f93ce8
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
M llvm/test/CodeGen/SPIRV/debug-info/debug-type-composite.ll
Log Message:
-----------
[SPIR-V] Skip debug type sizes wider than 32 bits (#223678)
A size or offset above 4 GB was truncated to 32 bits, now they are
dropped
Commit: b8f372dd7d6288825c37bf6796f029e91da0ceef
https://github.com/llvm/llvm-project/commit/b8f372dd7d6288825c37bf6796f029e91da0ceef
Author: DylanFleming-arm <85629460+DylanFleming-arm at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libc/src/__support/mathvec/CMakeLists.txt
M libc/src/__support/mathvec/sinf.h
A libc/src/__support/mathvec/trig_reductionf.h
A libc/src/__support/mathvec/trig_reductionf_nofma.h
M libc/src/mathvec/generic/sinf.cpp
Log Message:
-----------
[libc][mathvec] Vectorise sinf (#220985)
Replaces loop over scalar sinf with a fully vectorised implementation.
Commit: 2ad0b22b41409657750d2b516dbc6da2437f353e
https://github.com/llvm/llvm-project/commit/2ad0b22b41409657750d2b516dbc6da2437f353e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
Log Message:
-----------
Silence "not all control paths return a value"; NFC (#224276)
Commit: 5a35d5be0acb0cdf0e9f21f1cc7edd712bde7eee
https://github.com/llvm/llvm-project/commit/5a35d5be0acb0cdf0e9f21f1cc7edd712bde7eee
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/test/CodeGen/AArch64/sve/dup.c
Log Message:
-----------
[clang][cir] Add missing tests for SVE DUP intrinsics (#223932)
Adds missing code-gen tests for DUP intrinsics operating on bf16.
Commit: bbd61cb2e932bb7734cbf034dc50a6f5835e7d77
https://github.com/llvm/llvm-project/commit/bbd61cb2e932bb7734cbf034dc50a6f5835e7d77
Author: MrEven132 <13554966229 at 163.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/BDCE.cpp
A llvm/test/Transforms/BDCE/dbg-binops-multiuse.ll
A llvm/test/Transforms/BDCE/dbg-sext-to-zext.ll
Log Message:
-----------
Fix llvm bdce debug salvage (#220900)
BDCE simplifies constant-mask `and`, `or`, and `xor` instructions when
the changed bits are not demanded by program uses. It can similarly
replace a `sext` with a `zext` when none of the sign bits are demanded.
Both transformations used ordinary RAUW, which also redirected direct
debug uses to values with different meanings.
Replace only non-metadata uses when applying these optimizations. This
leaves direct debug users for BDCE's existing reverse-order salvage
pass, which reconstructs supported operations in a `DIExpression` and
makes unsupported locations unavailable.
Add regression tests covering salvage of `and`, `or`, and `xor`, the
unavailable fallback for an unrepresentable wide constant, and
preservation of signed-extension semantics when program uses receive a
`zext`.
Fixes #218890
Fixes #46640
Commit: c5c167c7436f035152289cb9489548ccf5328bb3
https://github.com/llvm/llvm-project/commit/c5c167c7436f035152289cb9489548ccf5328bb3
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/tools/driver/driver.cpp
M lld/tools/lld/lld.cpp
M llvm/cmake/modules/llvm-driver-template.cpp.in
A llvm/include/llvm/Support/Driver.h
R llvm/include/llvm/Support/LLVMDriver.h
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/Driver.cpp
A llvm/test/tools/llvm-driver/session-dispatch.test
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-ar/llvm-ar.cpp
M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-driver/llvm-driver.cpp
M llvm/tools/llvm-dwp/llvm-dwp.cpp
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/tools/llvm-ifs/llvm-ifs.cpp
M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
M llvm/tools/llvm-lipo/llvm-lipo.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
M llvm/tools/llvm-mt/llvm-mt.cpp
M llvm/tools/llvm-nm/llvm-nm.cpp
M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
M llvm/tools/llvm-size/llvm-size.cpp
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/tools/sancov/sancov.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/LLVMToolSession/CMakeLists.txt
A llvm/unittests/Support/LLVMToolSession/LLVMToolSessionTest.cpp
Log Message:
-----------
[Support] Add ToolSession for in-process tool invocation (#221996)
Please read
[RFC](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754)
& [RFC
section](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754#p-367966-why-initllvm-ownership-matters-7)
This patch introduces `LLVMToolSession`, which lets a long-lived host
own LLVM process initialization and invoke registered LLVM tools without
constructing and destroying `InitLLVM` for every call.
The existing `llvm` multicall driver is used as the first consumer. It
already combines several callable tool entry points in one executable,
making it a small and concrete place to establish the session model
without changing the individual tools.
An `LLVMToolSession`:
- owns one `InitLLVM` instance for the lifetime of the host;
- owns the registry of callable tools;
- creates a `ToolContext` for each invocation;
- allows a tool to find or invoke another tool through that same
session.
This is intended to support hosts such as
[WasmBolt](https://github.com/anutosh491/WasmBolt) (try
[here](https://anutosh21.github.io/WasmBolt/)), where multiple LLVM
tools run sequentially—and sometimes call one another—inside one
long-lived WebAssembly process.
The patch deliberately does not yet:
- change Clang, LLD, `llc`, or `opt`;
- address process-global `llvm::cl` state;
- remove `InitLLVM` from standalone tool wrappers.
Those should remain separate follow-up changes so each part can be
reviewed independently.
I have added tests for
- a real `llvm-cxxfilt` invocation through `LLVMToolSession`;
- repeated and nested tool invocations within one session;
- unknown-tool handling;
- the existing `llvm-driver` tests, including multicall and symlink
invocation.
Commit: 21517de3188cc2779115e86c69a3c4e1fe94a864
https://github.com/llvm/llvm-project/commit/21517de3188cc2779115e86c69a3c4e1fe94a864
Author: Jack Styles <jack.styles at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/CodeGen/AArch64/dup-ext-load-combine.ll
Log Message:
-----------
[AArch64] Use SVE for load-extend-broadcast (#221689)
On certain cores, it is faster to use SVE ld1r instructions to load,
extend and broadcast an integer value to a vector in all cases other
than 64bit vectors where no type promotion occurs.
To acheive this, introduce a tuning option, `PreferSVEVectors` for use
when combining DUP instructions to create a Splat Vector to the scalable
alternative, and then use the already implemented scheduling model
patterns for splat vectors to end up generate the ld1r instruction.
If used in a loop, the predicate will be hoisted outside of the loop.
Commit: a1ec0e4019ed85b47eb8bc21a901c3384aba1676
https://github.com/llvm/llvm-project/commit/a1ec0e4019ed85b47eb8bc21a901c3384aba1676
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-17 (Thu, 17 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 FuncParamAttr Zext/Sext for return type attributes (#223724)
Commit: 66ccc4cee0b489cbb80847628c8582547795c080
https://github.com/llvm/llvm-project/commit/66ccc4cee0b489cbb80847628c8582547795c080
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
A clang/lib/AST/ByteCode/FrameAllocator.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
Log Message:
-----------
[clang][bytecode] Add a function frame allocator (#220229)
Add a function frame allocator we share across evaluations.
For code like
```c++
consteval int foo() {
int a = 0;
for (int i = 0; i != 10; ++i)
inc(a);
return a;
}
```
We previously `new[]`-ed a frame for every call of `inc()`, and
`delete[]`d the memory again directly after, resulting in lots of small
(in this case) allocations.
Add a `FrameAllocator` class that handles frames like a LIFO stack and
allocates memory in 4kb chunks. If a newly created frame fits into an
existing chunk, we don't have to allocate anything and simply
placement-new the `InterpFrame` into the existing chunk. We allocate new
chunks as needed.
We can't e.g. use a `std::vector<char>` for this since addresses into
`InterpFrame` memory must stay stable during a frame lifetime.
When compiling `APFloat.cpp`, the stats print this output:
```console
*** FrameAllocator stats ***
Chunk 0: 176 / 4072 (4.32%)
Max allocated bytes: 13424
Largest frame: 5208
Frames created: 286986
Allocations: 63
Occupancy: 4.32%
```
So for 286986 created frames, we only did 63 allocations. The output was
printed at the end of the compilation so the printed chunks and
occupancy aren't very useful.
For a test case that creates lots of function frames, e.g.
```c++
consteval void inc4(int &a) { ++a; }
consteval void inc3(int &a) { inc4(a); }
consteval void inc2(int &a) { inc3(a); }
consteval void inc(int &a) { inc2(a); }
consteval int foo() {
int a = 0;
for (int i = 0; i != 10; ++i)
inc(a);
return a;
}
static_assert(foo() == 10);
```
we save 2.5%. If all of the functions in the sample above gain a `char
c[1024]` local variable, this patch improves the runtime by 12%.
Commit: 03a5dba50f9f4dc7aafff941bd72dada7fe6f499
https://github.com/llvm/llvm-project/commit/03a5dba50f9f4dc7aafff941bd72dada7fe6f499
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 4837d8d (#224283)
This fixes 4837d8d5a3b1694f2e760cb4eec54360b047f722 (#214627).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=4837d8d5a3b1694f2e760cb4eec54360b047f722
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 2794e411ff8b76546cb39c5ef94c725f119eb61f
https://github.com/llvm/llvm-project/commit/2794e411ff8b76546cb39c5ef94c725f119eb61f
Author: Shimin Cui <scui at ca.ibm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/Object/GOFF.h
M llvm/include/llvm/Object/GOFFObjectFile.h
M llvm/lib/Object/GOFFObjectFile.cpp
M llvm/unittests/Object/GOFFObjectFileTest.cpp
Log Message:
-----------
[Object][GOFF] Support RLD records (#216780)
This is to add support for RT_RLD records when reading GOFF objects.
Commit: a47fe60be7facad0f3db9090bb41f94872ee2fa0
https://github.com/llvm/llvm-project/commit/a47fe60be7facad0f3db9090bb41f94872ee2fa0
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-access-wide-stride.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses-narrow-iv.ll
Log Message:
-----------
[RISCV] Account for VL toggle cost when splitting VP memory intrinsics (#223992)
Not an alternative to #222836 since this doesn't handle all cases, but
something we should do anyway in the TTI to be accurate.
For vp.load/vp.gather/vp.strided.load and their store counterparts, when
they're split they introduce extra vl toggles which involve computation
on the evl, e.g.
vsetvli a2, zero, e8, mf4, ta, ma
vmv1r.v v8, v0
csrr a2, vlenb
srli a3, a2, 3
vslidedown.vx v0, v0, a3
sub a3, a1, a2
sltu a4, a1, a3
addi a4, a4, -1
slli a5, a2, 3
and a3, a4, a3
add a5, a0, a5
vsetvli zero, a3, e64, m8, ta, ma
vle64.v v16, (a5), v0.t
bltu a1, a2, .LBB44_2
# %bb.1:
mv a1, a2
.LBB44_2:
vmv1r.v v0, v8
vsetvli zero, a1, e64, m8, ta, ma
vle64.v v8, (a0), v0.t
Account for some overhead in the cost to influence the loop vectorizer
to avoid picking VFs that lead to types that need split.
Commit: 46ff6b5f0eaef577b03ac6aae8f9e8ffbcf632ab
https://github.com/llvm/llvm-project/commit/46ff6b5f0eaef577b03ac6aae8f9e8ffbcf632ab
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
M llvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduce-or-bitpack.ll
M llvm/test/Transforms/SLPVectorizer/non-power-of-2-bswap.ll
Log Message:
-----------
[SLP]Model or-reduction of masked shifted lanes as a bitfield pack
An or reduction of and(shl(x, s), m) lanes that each cover a disjoint
contiguous byte field of the result is a repacking of the per-lane field
contents, not a shift and reduce. Prove the fields disjoint from the
per-lane possibly-set bits (a saturating numeric upper bound combined with
known bits), then emit the pack as a trunc, an optional per-lane lshr, a
byte shuffle and a bitcast. A plain byte reversal becomes a bswap, an
identity byte order needs no shuffle, and byte-zext lanes compact for free.
Fixes #175446
Assisted-by: Cursor
Reviewers: bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/219731
Commit: c7816d6462677e69f52e59caf638db2c1669f940
https://github.com/llvm/llvm-project/commit/c7816d6462677e69f52e59caf638db2c1669f940
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-host-datalayout.c
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
clang-linker-wrapper: Set the host DataLayout on the offload wrapper module (#224280)
The offload wrapper module was created with only a target triple, and
the datalayout wasn't set until later, where it was copied from the
TargetMachine, after the wrapping code already ran.
The wrapping code did query the datalayout for the pointer size, so this
was broken for host and devices with different pointer sizes. queries the
DataLayout (e.g. the size_t / intptr type via getSizeTTy), so on a
host whose pointer size differs from the default layout (e.g. a 32-bit
host) it used the wrong integer width for image offsets.
This removes a use of TargetMachine::createDataLayout, which I am trying
to remove.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 4da3844b083e9615134fc49efceaf6d2ddfffc84
https://github.com/llvm/llvm-project/commit/4da3844b083e9615134fc49efceaf6d2ddfffc84
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/fchmodat.h
M libc/src/sys/stat/linux/CMakeLists.txt
M libc/src/sys/stat/linux/fchmodat.cpp
M libc/test/src/sys/stat/fchmodat_test.cpp
Log Message:
-----------
[libc] Add support for SYS_fchmodat2 in fchmodat (#223997)
### Summary
Linux kernel 6.6 introduced the `SYS_fchmodat2` system call, which
accepts a 4th `flags` argument (`int fchmodat2(int dirfd, const char
*pathname, mode_t mode, unsigned int flags)`). This allows flags like
`AT_SYMLINK_NOFOLLOW` and `AT_EMPTY_PATH` to be passed directly to the
kernel.
Following the discussion on #223165, this patch adds support for
`SYS_fchmodat2` in `fchmodat`, while providing fallbacks when
`SYS_fchmodat2` is not supported.
Fixes #223953
Formatted using Gemini.
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 5b5247c84485c0686423dcbb0f167a09973a9fb2
https://github.com/llvm/llvm-project/commit/5b5247c84485c0686423dcbb0f167a09973a9fb2
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-inst-count.ll
Log Message:
-----------
[SLP]Drop auxiliary subtrees to pass the VF=2 instruction-count veto
The veto rejected the whole VF=2 tree when an optional splat gather
root or gathered loads subtree tipped the vector instruction count
over the scalar count. Drop the reused auxiliary subtrees while the
tree exceeds the budget; the surviving gathers re-materialize their
scalars.
Assisted-by: Cursor
Reviewers: bababuck, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/224108
Commit: e98ab4afe7dfb83d66ddc80a3c81e471f240cc99
https://github.com/llvm/llvm-project/commit/e98ab4afe7dfb83d66ddc80a3c81e471f240cc99
Author: Xiaoyang Gong <xyg_aster at outlook.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/Driver.h
M lld/MachO/DriverUtils.cpp
A lld/test/MachO/reproduce-search-paths.s
M lld/test/MachO/reproduce.s
Log Message:
-----------
[lld][MachO] Fix --reproduce paths for non-global symbol lists and SDK libraries/frameworks (#223687)
`--reproduce` currently has two path-rewriting problems:
1. Non-global symbol lists are included in the archive, but their paths
in the response file are not
relativized.
2. SDK roots and library/framework search paths are relativized
independently. Since the driver does not
reroot relative search paths, replay can fail to find libraries or
frameworks inside the SDK.
This patch fixes both by relativizing non-global symbol-list paths and
resolving SDK prefixes before
relativizing library/framework search paths.
---------
Co-authored-by: Vy Nguyen <1762963+oontvoo at users.noreply.github.com>
Commit: eebda156ed5330e03c603b018cec3f20b2d9a113
https://github.com/llvm/llvm-project/commit/eebda156ed5330e03c603b018cec3f20b2d9a113
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
Log Message:
-----------
[lldb] Guarded GDBRemoteCommunicationServerLLGS::m_saved_registers_map (#219431)
m_saved_registers_map and m_next_saved_registers_id were guarded by a
dedicated std::mutex. This replaces the manual locking logic with
`Guarded`.
This also fixes the missing lock in the Handle_QSaveRegisterState
assert which was previously a race condition.
Commit: 82788271de2f978390f74260c00bea9cd34872a4
https://github.com/llvm/llvm-project/commit/82788271de2f978390f74260c00bea9cd34872a4
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/SPSProxySpecTest.cpp
Log Message:
-----------
[ORC] Fix testcase after SymbolNameSpec migration. (#224302)
Interface names were migrated to SymbolNameSpec in 6136762db198, but
some names in testcases were missed, triggering build failures on MSVC
bots (see https://lab.llvm.org/buildbot/#/builders/2/builds/62444)
Update interface names in SPSProxySpecTest.cpp to SymbolNameSpecs.
Commit: 9832d8367dcc906fc6d4b3e4e5155f90f846c25c
https://github.com/llvm/llvm-project/commit/9832d8367dcc906fc6d4b3e4e5155f90f846c25c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Fix a warning for unused variable in release builds, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224315
Commit: 744b509544199b4c990d8c8dc26e8c0938c24beb
https://github.com/llvm/llvm-project/commit/744b509544199b4c990d8c8dc26e8c0938c24beb
Author: Timur Golubovich <timur.golubovich at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/kmov.ll
Log Message:
-----------
[X86] Fix out-of-range extractBits in combineAVX512SetCCToKMOV (#224268)
When the widened constant table's last element is undef, the
trailing-undef check called APInt::extractBits(0, Len), which asserts
since bitPosition must be less than BitWidth. Nothing remains to check
in that case, so skip the extract and accept the mask.
Commit: 38b9756321b058cdf882db131139afe8261f90a7
https://github.com/llvm/llvm-project/commit/38b9756321b058cdf882db131139afe8261f90a7
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/conversion-function.cpp
Log Message:
-----------
[clang] Fix surrogate call through a using-declared conversion function (#221723)
Fixes #189146
A call to a class object that goes through a conversion function to a
function pointer ("surrogate call") asserted when that conversion
function had been brought into the class with a using-declaration, e.g.
`using M::operator auto;`. The surrogate loop in
`BuildCallToObjectOfClassType` unwraps the `UsingShadowDecl` to get the
conversion function but records the shadow as the candidate's
`FoundDecl`, so the two are not the same pointer and the assertion
fires. It wasn't only the assertion, though: the line before it passed
`FoundDecl` to `DiagnoseUseOfDecl`, which skips all of its function
checks on a shadow decl, and surrogates never go through `OR_Deleted`
since they carry no `Function`. So with the assertion relaxed, a deleted
conversion function reached through a using-declaration would have
compiled without complaint.
The surrogate branch now diagnoses use of the conversion function itself
rather than the found declaration, which is what `BuildCXXCastArgument`
already does for the ordinary user-defined conversion path, and the
assertion compares against the underlying declaration. Access checking
keeps using `FoundDecl`, since the using-declaration's access is the one
that matters. For conversion functions declared directly in the class
the two pointers are identical, so nothing changes there.
Commit: db82496a43e6552928d3f109bfe32df812053657
https://github.com/llvm/llvm-project/commit/db82496a43e6552928d3f109bfe32df812053657
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/pointers/nested-struct-opaque-pointers.ll
Log Message:
-----------
[SPIR-V] Keep structs packed when nested type deduction rebuilds them (#222968)
Commit: fcd548f971ab4feb2529b61d531e9627338bae70
https://github.com/llvm/llvm-project/commit/fcd548f971ab4feb2529b61d531e9627338bae70
Author: Ron Green [NVIDIA] <rogreen at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/include/flang/Lower/OpenACC.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/acc-loop-collapse-directive-between-loops.f90
M flang/test/Semantics/CUDA/cuf09.cuf
Log Message:
-----------
[flang][OpenACC] Skip non-loop evaluations when descending a collapsed/tiled DO nest (#223579)
## Summary
- The collapse/tile loop-nest descent in `Bridge.cpp` (used for OpenACC
`collapse`/`tile` and CUDA Fortran `!$cuf kernel do`) assumed each loop
level's nested evaluations have the fixed shape `{NonLabelDoStmt,
DoConstruct, EndDoStmt}` and unconditionally advanced to the second
nested evaluation to find the next inner `DO`.
- A compiler directive (e.g. `!DIR$ IVDEP`) placed between loop levels
inserts an extra sibling evaluation there, so the descent landed on the
directive instead of the inner `DoConstruct` and lowered the directive's
(empty) nested evaluations as the loop body — silently dropping the real
body with no diagnostic.
- Adds a helper that searches a level's nested evaluations for the
actual `DoConstruct`, matching the approach already used by
`visitLoopControl` in `OpenACC.cpp`, and uses it at all three affected
descent sites (OpenACC collapse/tile, and the two CUDA Fortran kernel-do
sites).
## Test plan
- New lit test
`flang/test/Lower/OpenACC/acc-loop-collapse-directive-between-loops.f90`
covering `collapse(2)` with `!DIR$ IVDEP` and `collapse(3)` with `!DIR$
NOVECTOR` between loop levels.
- Verified the new test fails without the fix (directive absorbed as
loop body, no `hlfir.assign` for the real body) and passes with it.
- Existing `acc-loop-collapse-force-lowering.f90`,
`acc-loop-collapse-force-non-tightly-nested.f90`,
`do-concurrent-collapse.f90`, `cuda-kernel-loop-directive.cuf`,
`cuda-kernel-do-reduction.cuf` all still pass.
Commit: d9eacde3fa9ba53cb89fcf18cb0b3bd6d1c0ac53
https://github.com/llvm/llvm-project/commit/d9eacde3fa9ba53cb89fcf18cb0b3bd6d1c0ac53
Author: Alessandro Potenza <ap.alessandro.potenza at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector] Reject a 0-d operand in the outerproduct parser (#219917)
`vector.outerproduct` builds its result type from dimension 0 of its
operands, which a 0-d vector does not have, so `mlir-opt` aborts while
parsing, before the verifier gets a chance to report anything:
```mlir
%0 = vector.outerproduct %a, %b : vector<f32>, vector<4xf32>
```
The parser now emits the same diagnostic the verifier already gives for
that operand, `expected 1-d vector for operand #1`. Only rank 0 is
caught here, rank 2 and above still reach the verifier unchanged.
This PR started out touching three parsers and was narrowed to
`outerproduct` at review request. The `transfer_read`/`transfer_write`
and `contract` parsers follow as separate PRs.
Commit: fc93f68cff49951215e0fa8c4c6d6ea9d34ec40b
https://github.com/llvm/llvm-project/commit/fc93f68cff49951215e0fa8c4c6d6ea9d34ec40b
Author: Sam Parker <sam.parker at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
A llvm/test/CodeGen/WebAssembly/extend-narrow.ll
Log Message:
-----------
[NFC][WebAssembly] extend/narrow tests (#224297)
Commit: 33cc998157406abe5c1319e1532bd401dd0aafb6
https://github.com/llvm/llvm-project/commit/33cc998157406abe5c1319e1532bd401dd0aafb6
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/test/Fir/FirToSCF/do-loop.fir
M flang/test/Fir/convert-to-llvm-access-group.fir
M flang/test/Fir/vector-always-cfg.fir
M flang/test/Fir/vector-always.fir
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsLoop.cpp
Log Message:
-----------
[mlir][LLVM] Add LLVM::getLoopAnnotationAttrName() (#224060)
Provide a single name for attaching LoopAnnotationAttr as a discardable
attribute and use it in FIR, OpenACC, and CF-to-LLVM lowering instead of
hardcoded "loop_annotation" / Attr::name.
Commit: fce41063731d4b8db42a2c02a7a37a5ad4feda29
https://github.com/llvm/llvm-project/commit/fce41063731d4b8db42a2c02a7a37a5ad4feda29
Author: Shimin Cui <scui at ca.ibm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
GOFFObjectFile - use snprintf instead of sprintf (#224336)
Change sprintf to snprintf
Commit: de27be07212d8bd85ab75aa6af028cbf569317f5
https://github.com/llvm/llvm-project/commit/de27be07212d8bd85ab75aa6af028cbf569317f5
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
Log Message:
-----------
[SandboxVec][NFC] Make sbvec-collect-seeds a static opt (#224153)
Commit: 4081877baec460d025db656d8057b0a4f5687fbe
https://github.com/llvm/llvm-project/commit/4081877baec460d025db656d8057b0a4f5687fbe
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/bit-checks.ll
Log Message:
-----------
[InstCombine] Support trunc nuw condition in foldAndOrOfICmps (#222407)
Fixes regressions seen in
https://github.com/llvm/llvm-project/pull/184182
one proof: https://alive2.llvm.org/ce/z/8eRbWu
Commit: 1a2f45be47ccdfbaa206ca6b486f91c205d578f6
https://github.com/llvm/llvm-project/commit/1a2f45be47ccdfbaa206ca6b486f91c205d578f6
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
Log Message:
-----------
[lldb][docs] Put missing ';' in qMemoryRegionInfo ProtectionKey doc (#224341)
These are all name:value; and are documented as such but I forgot to add
the ; for this one.
Found while reviewing #224319.
Commit: aeacd02f436b222402a70b74627cba8701053651
https://github.com/llvm/llvm-project/commit/aeacd02f436b222402a70b74627cba8701053651
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/test/CodeGen/DirectX/ResourceAccess/handle-to-index.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/looped-phi-nodes.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/non-unique.ll
Log Message:
-----------
[HLSL][DirectX] handle updatecounter in dxil resource access pass (#223591)
Recognize UpdateCounter operation in 'getStoreLoadOperand' and treat it
like Store or Load, the source of a usage of a resource. The operand
returned by this function is no longer always a Ptr so, handle when it
is a target extension type.
Closes #222400
Assisted by GPT-5.6 Sol
Commit: 642d7e9534c6e98f9ebddab8a6699c4b4a59fa0c
https://github.com/llvm/llvm-project/commit/642d7e9534c6e98f9ebddab8a6699c4b4a59fa0c
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseObjc.cpp
A clang/test/Parser/GH209503.mm
Log Message:
-----------
[clang][Parse] Fix stale `CurParsedObjCImpl` after an `@implementation` ends early (#219953)
Fixes #209503
`ObjCImplParsingDataRAII` only reset `CurParsedObjCImpl` in its
destructor, but an `@implementation` can be finished well before that:
`CheckNestedObjCContexts` ends it as soon as a nested
`@interface`/`@protocol`/`@implementation` shows up, and that container
is then parsed inside the same frame. Anything defined in there still
looked like it was inside the already finished `@implementation`, so
`ParseFunctionDefinition` queued the body into a `LateParsedObjCMethods`
that nobody was going to drain again, and the destructor's
`assert(LateParsedObjCMethods.empty())` fired. The fatal `#include` in
the report is a red herring, by the way — it only hides the diagnostics
for the function that gets queued.
`finish()` now restores the previous `CurParsedObjCImpl` the moment the
`@implementation` ends, instead of the destructor nulling it later.
Restoring rather than clearing also covers the mirror image: an
`@implementation` nested through a namespace inside another one used to
wipe out the outer, still open one when it ended, and the next method
definition in the outer one tripped the `Method out of @implementation`
assert. The new test has both shapes.
---------
Co-authored-by: Akira Hatanaka <ahatanak at gmail.com>
Commit: e3c4c16567e3074dcd42da664fcb91298fd8c0fb
https://github.com/llvm/llvm-project/commit/e3c4c16567e3074dcd42da664fcb91298fd8c0fb
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Substitute breakpoint opcodes in expedited memory (#224304)
A stub may send expedited memory in a stop reply, and
`ProcessGDBRemote::SetThreadStopInfo` puts those bytes straight into the
memory cache. When a range covers a breakpoint lldb manages itself, the
cache then holds the trap opcode, and every later read of that address
returns the trap instead of the instruction underneath. However, A read
reply does not have this problem: `ReadMemoryFromInferior` calls
`RemoveBreakpointOpcodesFromBuffer` before returning. The expedited path
never did, so this fix adds `Process::AddCacheData` to do the same and
use
it at the two places that cache expedited memory.
`TestWriteOverSoftwareBreakpoint.py` catches this once the stub
expedites a
range that covers the breakpoint:
```
AssertionError: bytearray(b'\x00\x00 \xd4') != bytearray(b'\xcd\x00\x00\x90')
```
`00 00 20 d4` is AArch64 `brk #0`. The test writes `0xcd` over the first
byte at the site, continues to it, and reads back. Only the lldb-managed
case fails; with an external breakpoint the stub hides its own trap.
Commit: 2f2e0964f77914d287e79bb934d79219c443797a
https://github.com/llvm/llvm-project/commit/2f2e0964f77914d287e79bb934d79219c443797a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
Log Message:
-----------
[clang][bytecode] Remove default parameter value (#224306)
Passing nullptr doesn't make sense.
Commit: bb2451e12541d3b2fffd29bcc9e7ae05cf71b493
https://github.com/llvm/llvm-project/commit/bb2451e12541d3b2fffd29bcc9e7ae05cf71b493
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
Log Message:
-----------
[VPlan] Add test showing dropped metadata in narrowToSingleScalar (NFC) (#224321)
Add test showing dropped metadata in narrowToSingleScalar.
Commit: 402b3f12f8aee7e461006c528cb1cbbc0398414a
https://github.com/llvm/llvm-project/commit/402b3f12f8aee7e461006c528cb1cbbc0398414a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Remove unnecessary stack operations in builtin_expect (#224288)
Commit: 36763294ef639d8a6a4379d81da653dda1c20686
https://github.com/llvm/llvm-project/commit/36763294ef639d8a6a4379d81da653dda1c20686
Author: Yassine Missoum <mmissoum at microsoft.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
A clang/test/Parser/ms-seh-single-underscore-strict.c
A clang/test/Parser/ms-seh-single-underscore.c
Log Message:
-----------
[Clang][Parser] Accept contextual _except in MS compatibility mode (#223551)
Clang already accepts _try, _finally, and _leave under
-fms-compatibility, but rejects the corresponding _except spelling
because __except is recognized contextually by the parser rather than as
a reserved token.
This patch extends the contextual handler check to accept _except in
Microsoft compatibility mode and uses that check consistently in SEH and
C++ try-handler parsing. _except remains an ordinary identifier outside
the handler position, and -fms-extensions alone does not enable the
alias.
The change is limited to parsing; it does not modify SEH lowering, LLVM
IR, optimization, or runtime behavior.
Assisted-by: Claude Opus 5 (via VS Code)
---------
Co-authored-by: Adam Glass <adamglass at microsoft.com>
Commit: fd0ecaccdc131ae3e541be4d1eb83d85758bf104
https://github.com/llvm/llvm-project/commit/fd0ecaccdc131ae3e541be4d1eb83d85758bf104
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/source/API/SBValue.cpp
M lldb/source/ValueObject/ValueObjectSynthetic.cpp
Log Message:
-----------
[lldb] Surface GetIndexOfChildWithName errors instead of dropping them (#224059)
`ValueObjectSynthetic::GetChildMemberWithName` and
`SBValue::GetIndexOfChildWithName` called `llvm::consumeError` on the
`llvm::Expected` returned by `GetIndexOfChildWithName` and reported the
failure as a null `ValueObjectSP` / `UINT32_MAX`, so the reason a lookup
failed never reached anyone. Log them instead: `LLDBLog::DataFormatters`
from ValueObject and formatter code, `LLDBLog::API` at the SB boundary.
That is the convention `BlockPointer.cpp` and `LibCxx.cpp` already
follow.
Also, in `ValueObjectSynthetic::GetIndexOfChildWithName`:
- A front-end with `TypeOptions::eTypeOptionCustomSubscripting` that
failed to find the child left `index` at its `SIZE_MAX` initializer,
dropped the front-end's error unread, then cached `SIZE_MAX` in
`m_name_toindex` and returned it as a valid index. Return the
front-end's error instead.
- Call `GetNumChildren(max)` rather than
`GetNumChildrenIgnoringErrors(max)` for the `"[N]"` subscript bounds
check and propagate the error, so a child count that fails to compute is
no longer reported as a subscript that is out of range.
- Return early on a cache hit rather than falling through a chain of
else-if branches that retested `found_index`.
Lower-cases the two `"Type has no child named"` messages in
`TypeSynthetic.h` for consistency with every other instance of that
string.
Follow-up to the review on #136693.
rdar://150281004
rdar://150281080
Commit: 3dc5f505e302264758aef026531fe7443e569993
https://github.com/llvm/llvm-project/commit/3dc5f505e302264758aef026531fe7443e569993
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineConstantPool.h
M llvm/include/llvm/CodeGen/MachineFunction.h
Log Message:
-----------
[CodeGen] Remove dead accessors and variables in Machine* (NFC) (#224216)
MachineBasicBlock::PrefetchTargets:
Introduced on April 10, 2026 in commit
2f422a52fde267757ce48041af6e731421fed2a3 without any uses.
MachineInstrSpan::getInitial:
Introduced on August 14, 2013 in commit
c3f912b945ce6813e874b7a11c29ea2b3f2b54ff without any callers.
MachineConstantPool::getDataLayout:
The last use was removed on July 7, 2015 in commit
42e9f967127e5efea4c3b8638c9c4da8ad885fba.
SEHHandler / LandingPadInfo::SEHHandlers:
The last uses were removed on June 13, 2022 in commit
a2232da2a5d207126e1777fb33b61a16109ae38e.
MachineFunction::PersonalityTypeCache:
Moved from MachineModuleInfo on December 1, 2016 in commit
d0ee66c2e9de28cb1111663ba42468305f8d55fa without any uses.
Commit: 0dd83fd855d6826fd50d7f135d21c34b678d7fc6
https://github.com/llvm/llvm-project/commit/0dd83fd855d6826fd50d7f135d21c34b678d7fc6
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/SanitizerSpecialCaseList.h
M clang/include/clang/CIR/LowerToLLVM.h
M clang/include/clang/CodeGen/BackendUtil.h
M clang/include/clang/CodeGen/ModuleBuilder.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/ModulesDriver.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/PrecompiledPreamble.h
M clang/lib/CodeGen/CodeGenModule.h
M llvm/include/llvm/CodeGen/MIRSampleProfile.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/Support/CommandLine.h
M llvm/include/llvm/Support/SourceMgr.h
M llvm/include/llvm/Support/SpecialCaseList.h
M llvm/include/llvm/Support/VirtualFileSystem.h
A llvm/include/llvm/Support/VirtualFileSystemFwd.h
M llvm/include/llvm/Transforms/IPO/SampleProfile.h
M llvm/include/llvm/Transforms/Instrumentation/MemProfUse.h
M llvm/include/llvm/Transforms/Instrumentation/SanitizerBinaryMetadata.h
M llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/include/llvm/WindowsDriver/MSVCPaths.h
M llvm/lib/Support/VirtualFileSystem.cpp
M mlir/include/mlir/Target/LLVMIR/Export.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M polly/include/polly/ScopInliner.h
Log Message:
-----------
[llvm] Forward declare VirtualFileSystem (#211761)
This adds a new header that adds an explicit forward declaration for
VirtualFileSystem, as well as a specialization of IntrusiveRefCntPtrInfo
for this class. This allows for code that uses
`IntrusiveRefCntPtr<vfs::FileSystem>` to compile when building LLVM as a
dylib on Windows, without having to include the full VirtualFileSystem.h
header.
The effort to build LLVM as a dylib is tracked in #109483.
Commit: 7bf891b911830e8cabab28d055deb6396707b1e9
https://github.com/llvm/llvm-project/commit/7bf891b911830e8cabab28d055deb6396707b1e9
Author: Victor Campos <victor.campos at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/CodeGen/builtin-clear-padding-codegen.c
M clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
Log Message:
-----------
[Clang] Fix __builtin_clear_padding() for bitfields (#216063)
This patch fixes the padding clearing logic for bitfields.
The padding clearing logic for bitfields is wrong for these cases:
- Over-sized bitfields don't have their padding bits recognised as
such.
- In big endian mode, the occupied bits are wrongly determined because
the different byte order is dismissed.
A big number of new tests have also been added to cover many different
scenarios that involve bitfields. Preexisting tests had their check
patterns regenerated with the updater script.
Assisted-by: Codex. Used to help debugging and to generate tests.
Commit: 2488b7a783547584217c65db44b67042a4ad0dde
https://github.com/llvm/llvm-project/commit/2488b7a783547584217c65db44b67042a4ad0dde
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/arith-mulh.ll
Log Message:
-----------
[CostModel][X86] Add vXi16/vXi32 costs for smulh/umulh intrinsics (#224342)
pmulhw/pmulhuw can be used directly for vXi16 types and pmuldq/pmuludq almost directly for vXi32 types
Commit: 45a0b9a9676d1471f0d5c9ad128af6068f9a2844
https://github.com/llvm/llvm-project/commit/45a0b9a9676d1471f0d5c9ad128af6068f9a2844
Author: Aochang Liu <102237385+HelloWorldU at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/CodeGen/SwiftCallingConv.cpp
A clang/test/CodeGen/swiftcall-single-element-vector.c
Log Message:
-----------
[clang] Handle single-element vectors in the Swift calling convention (#223961)
Single-element vectors hit an assertion before reaching the
target-specific Swift ABI checks, even though some targets support them.
Relax the element-count assertion and scalarize single-element vectors
when they are not legal for the target ABI.
Fixes #223871.
Assisted-by: OpenAI GPT-6
Commit: 173a122185e206fec88c88fe8767c6e1618085dd
https://github.com/llvm/llvm-project/commit/173a122185e206fec88c88fe8767c6e1618085dd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
Log Message:
-----------
WebAssembly: Partially clean up subtarget construction (#224307)
There should be just one getSubtargetImpl(Function&) override like every
other target, but this is relying on the global subtarget. Remove the
argumentless form since it's unnecessary.
WebAssemblyCoalesceFeaturesAndStripAtomics doesn't really need to
construct a full new subtarget for its purpose and can directly take the global
subtarget feature bits. This pass is also doing quite a lot of other bad things,
like mutating the TargetMachine.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: f545ee781745eba47efe20d421c2e7e3d86a1c5e
https://github.com/llvm/llvm-project/commit/f545ee781745eba47efe20d421c2e7e3d86a1c5e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/CodeGen/attr-musttail.cpp
A clang/test/CIR/IR/invalid-cleanup-scope-musttail.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-musttail.cir
Log Message:
-----------
[CIR] Implement musttail cleanup handling (#224169)
A musttail call can occur within a cleanup scope if (and only if) the
cleanup is a lifetime end marker or a stack restore. These can be safely
omitted by a direct return such as is needed for a tail call.
This change adds error checking to verify that only these cleanups are
on the EH stack when a musttail call is encountered and updates the CFG
flattening pass to add special handling that avoids routing musttail
call returns through the cleanup handler.
Assisted-by: Cursor / claude-opus-5
Commit: 930aba6b7f14991cc28303f60456d06d5ec01d5f
https://github.com/llvm/llvm-project/commit/930aba6b7f14991cc28303f60456d06d5ec01d5f
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/OpenACC/acc-loop-collapse-directive-between-loops.f90
Log Message:
-----------
[flang][OpenACC] Attach a source location to the skipped-directive warning (#224348)
Follow-up to #223579.
Fix the source location of "compiler directive ignored: it appears
between loop levels of a collapsed or tiled loop nest" warning. Harden
`flang/test/Lower/OpenACC/acc-loop-collapse-directive-between-loops.f90`
test.
Assisted-by: AI
Commit: 3bb1615ae2adc5eeb6ad397e7e3cb457b2cf3587
https://github.com/llvm/llvm-project/commit/3bb1615ae2adc5eeb6ad397e7e3cb457b2cf3587
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
A clang/test/CIR/CodeGen/atomic-fn-nyi.c
Log Message:
-----------
[CIR] Report errorNYI for function signatures involving atomic types (#221371)
CIR currently has no way to represent atomic types. In most cases this
has no meaningful effect, but it can lead to incorrect argument and
return type classification during calling convention lowering. This
change adds a diagnostic when we are processing function signatures with
atomic types.
Assisted-by: Cursor / Grok 4.6
Commit: ed3018363f66f1004ba2d150f5ba8b3e55e26507
https://github.com/llvm/llvm-project/commit/ed3018363f66f1004ba2d150f5ba8b3e55e26507
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Drop unused arg from addReductionResultComputation (NFC). (#224320)
The RecipeBuilder parameter is not used, remove it.
Commit: 45473e8c24eeab44b8805da229403084629a4e64
https://github.com/llvm/llvm-project/commit/45473e8c24eeab44b8805da229403084629a4e64
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-09-18 (Fri, 18 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 Subvector Join (#224233)
This PR adds support for the Packed Subvector Join intrinsics:
- `__riscv_pjoin2_i8x8`
- `__riscv_pjoin2_u8x8`
- `__riscv_pjoin2_i16x4`
- `__riscv_pjoin2_u16x4`
Commit: b0874d16f804216afa08a0b0faa314270967dd77
https://github.com/llvm/llvm-project/commit/b0874d16f804216afa08a0b0faa314270967dd77
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-integer.mir
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[GlobalISel] Drop poison flags by default in combiners (#218306)
GlobalISel TableGen combiners were implicitly copying poison-generating
flags from the root instruction to newly-created instructions. This is
unsafe because the replacement instruction may not preserve the same
`nuw`/`nsw` guarantees.
Drop those flags by default for combiners, while keeping explicit
`MIFlags` preservation intact.
Fixes #210470
Commit: 7e57486bf6f38b338565f0c9f5a7fcdc6aaad289
https://github.com/llvm/llvm-project/commit/7e57486bf6f38b338565f0c9f5a7fcdc6aaad289
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/docs/LangRef.md
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
A llvm/test/CodeGen/AArch64/GlobalISel/speculative-load-intrinsic.ll
A llvm/test/CodeGen/AArch64/can-load-speculatively.ll
A llvm/test/CodeGen/AArch64/speculative-load-intrinsic-mmo.ll
A llvm/test/CodeGen/AArch64/speculative-load-intrinsic.ll
A llvm/test/CodeGen/PowerPC/speculative-load-intrinsic.ll
A llvm/test/CodeGen/WebAssembly/speculative-load-intrinsic.ll
A llvm/test/CodeGen/X86/can-load-speculatively.ll
A llvm/test/CodeGen/X86/speculative-load-intrinsic.ll
A llvm/test/Verifier/speculative-load.ll
Log Message:
-----------
[IR] Provide intrinsics for speculative loads (#179642)
Introduce two new intrinsics to enable vectorization of loops with early
exits that have potentially faulting loads.
1. `@llvm.speculative.load` - perform a load that may access memory
beyond the allocated object. It must be used in combination with
`@llvm.can.load.speculatively` to ensure the load is guaranteed to not
trap. The number of accessible bytes must be provided, either as IR value
or via an oracle function.
2. `@llvm.can.load.speculatively` - Returns true if it's safe to
speculatively load a given number of bytes from a pointer. The semantics
are target-dependent. On some targets, this may check that the access
does not cross page boundaries, or stricter checks for example on
AArch64 with MTE, which limits the access size to 16 bytes.
`@llvm.speculative.load` is lowered to a regular load in SelectionDAG
without MODereferenceable.
`@llvm.can.load.speculatively` is lowered to regular IR in PreISel
lowering, using a target-lowering hook. By default, it conservatively
expands to false.
These intrinsics should allow the loop vectorizer to vectorize
early-exit loops with potentially non-dereferenceable loads.
This has previously been discussed in
https://github.com/llvm/llvm-project/pull/120603 and is similar to
nikic's https://hackmd.io/@nikic/S1O4QWYZkx.
RFC on Discourse:
https://discourse.llvm.org/t/rfc-provide-intrinsics-for-speculative-loads/89692
PR: https://github.com/llvm/llvm-project/pull/179642
Commit: f873bf351c19c711451a80df6bea7c76f17727be
https://github.com/llvm/llvm-project/commit/f873bf351c19c711451a80df6bea7c76f17727be
Author: Yeoul Na <yeoul_na at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/TypeBase.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaBoundsSafety.cpp
Log Message:
-----------
[BoundsSafety][NFC] Allow CountAttributedType's count to be filled in later (#223267)
Prepare CountAttributedType so its count expression can be supplied
after the node is created, which the new late-parsed counted_by
mechanism needs: the type is built when the attribute is seen, but its
argument isn't parsed until the enclosing record is complete.
- Drop the TrailingObjects coupled-decl storage in favour of an
ASTContext-allocated array held by the ArrayRef the base class already
has, so the decls can be attached after construction.
- Add CountAttributedType::setCountExpr for in-place completion.
- Add ASTContext::getIncompleteCountAttributedType (count-less, not
uniqued) and completeCountAttributedType. Incomplete nodes are not
registered in ASTContext.Types until completed, so a node abandoned with
a null count is never reachable.
No functional change: getCountAttributedType still builds a
fully-formed, count-carrying type as before.
This is an adjusted direction from the previous attempt to create a
place holder type (LateParsedAttrType) and rebuild it once late parsing
is done (https://github.com/llvm/llvm-project/pull/212906) based on the
feedback from @cor3ntin
https://github.com/llvm/llvm-project/pull/212906#issuecomment-5532012528.
Creating a CountAttributedType in the first pass and filling in the
count expression in the second pass has a benefit that the types
(including the enclosing types) won't need to be reconstructed, allowing
to drop TreeTransform.
Commit: f080b55f9a31e724faa0300b01785cbfd56be349
https://github.com/llvm/llvm-project/commit/f080b55f9a31e724faa0300b01785cbfd56be349
Author: Jeong Jihyeon <84846295+JihyeonJeong129 at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/vecreduce.ll
Log Message:
-----------
[ConstantFolding] Fold vector.partial.reduce.add constants (#212112)
This patch adds constant folding support for `llvm.vector.partial.reduce.add`.
The intrinsic leaves the grouping of input elements into result lanes
unspecified. This implementation uses the deterministic grouping
selected by
the generic lowering in `TargetLowering::expandPartialReduceMLA`: input
element `I` is accumulated into result lane `I % NumAccElts`.
Tests cover:
* Constant accumulator and input vectors
* Non-constant accumulator and input operands
* Poison and undef elements
* Different reduction ratios
* Negative values
* Integer wraparound
Fixes #211558
Commit: 63225d3616be90ab15b97919ac12ae0ab052ac82
https://github.com/llvm/llvm-project/commit/63225d3616be90ab15b97919ac12ae0ab052ac82
Author: Michael Jones <michaelrj at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libcxx/cmake/caches/Generic-llvm-libc.cmake
Log Message:
-----------
[libcxx][libc] Update LLVM-libc/compiler-rt config (#224160)
The config libc++ uses to build with LLVM-libc uses compiler-rt, but
previously wasn't building the compiler-rt atomic library. This PR
updates the config to tell compiler-rt to build its atomic library.
Commit: 22be12feddb115757247f202ee3e64b15a5d09d4
https://github.com/llvm/llvm-project/commit/22be12feddb115757247f202ee3e64b15a5d09d4
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[gn build] Port c5c167c7436f (#224365)
Commit: 7dc56a75377416d63b6124f688c4cfeb039230ad
https://github.com/llvm/llvm-project/commit/7dc56a75377416d63b6124f688c4cfeb039230ad
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 9e0686cca516 (#224364)
Commit: edbba995861bc2920974ae87a20ba12b0ca79951
https://github.com/llvm/llvm-project/commit/edbba995861bc2920974ae87a20ba12b0ca79951
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 3f9ca800da7b (#224363)
Commit: 606f03938d7b28b2977649aa2f587647286cad75
https://github.com/llvm/llvm-project/commit/606f03938d7b28b2977649aa2f587647286cad75
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libc/src/pwd/CMakeLists.txt
M libc/src/pwd/pwd_utils.cpp
M libc/test/src/pwd/CMakeLists.txt
M libc/test/src/pwd/getpwent_test.cpp
M libc/test/src/pwd/getpwnam_test.cpp
M libc/test/src/pwd/getpwuid_test.cpp
Log Message:
-----------
[libc] Read passwd records into a growable buffer (#224149)
Switch getpwent, getpwnam, and getpwuid to use DynamicBuffer so that
passwd records of arbitrary length are supported without fixed size
limits.
A single static DynamicBuffer and struct passwd are reused across
getpwent, getpwnam, and getpwuid per POSIX, and endpwent closes the file
stream without freeing the buffer so pointers returned prior to endpwent
remain valid.
The reentrant lookups (getpwnam_r and getpwuid_r) remain non-allocating
and return ERANGE when the caller's buffer is too small.
* Switch non-reentrant pwd lookups and iteration to DynamicBuffer
* Remove fixed 1024-byte buffer limit from pwd_utils
* Keep getpwnam_r and getpwuid_r non-allocating
* Update hermetic unit tests for long passwd records
Assisted-by: Automated tooling, human reviewed.
Commit: 9bc655d2852ec31199f2dba25d6f0749953fbe51
https://github.com/llvm/llvm-project/commit/9bc655d2852ec31199f2dba25d6f0749953fbe51
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
Log Message:
-----------
Mix bits in FileID::getHashValue() (#223794)
FileID's identity hash was fine under DenseMap's old quadratic probing,
but #200595 switched DenseMap to linear probing with backward-shift
deletion. FileID's bucket index under an identity hash is just its low
bits, so two runs of file IDs can map to the same buckets, which can
turn into a long clustered probe chain under linear probing.
Multiply by 37 to spread the low bits, which matches
SourceLocation::getHashValue(). This fixes a 2.6x compile-time
regression observed with -Wdocumentation on an ObjC++ file.
rdar://187026883
Co-authored-by: Fred Riss <friss at apple.com>
Commit: c84a54889ddc83e55a87c08aa2d7d1921103a279
https://github.com/llvm/llvm-project/commit/c84a54889ddc83e55a87c08aa2d7d1921103a279
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .ci/all_requirements.txt
M mlir/python/requirements.txt
Log Message:
-----------
[CI] Bump python dependencies (#224349)
Otherwise when we try the upgrade to ubuntu 24.04 we end up rebuilding
some packages that have native artifacts that don't have prebuilt
packages on pypi for Python 3.14. This is slow and also causes issues as
some necessary features are not enabled like the CLoader submodule of
PyYAML.
Commit: 6396f14184cb506420503e0a46fcf681fd91a90a
https://github.com/llvm/llvm-project/commit/6396f14184cb506420503e0a46fcf681fd91a90a
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
A llvm/test/CodeGen/MLRegAlloc/aarch64-evict-advisor-duplicate-hints.ll
M llvm/unittests/Target/AArch64/AArch64RegisterInfoTest.cpp
Log Message:
-----------
[CodeGen][AArch64] Avoid duplicate hints in register allocation (#219007)
Duplicate register allocation hints cause AllocationOrder to yield
duplicate physical register candidates. For fixed-capacity eviction
advisors like MLEvictAdvisor (MaxInterferences = 32), this leads to
out-of-bounds array indexing and assertion failures.
In commit 0756e5985f0c, TargetRegisterInfo::getRegAllocationHints was
hoisted to the top of AArch64RegisterInfo::getRegAllocationHints, but
fallthrough paths invoked it a second time on an already-populated Hints
vector, duplicating copy hints for standard GPRs.
This patch:
1. Returns ConsiderOnlyHints on fallthrough in
AArch64RegisterInfo::getRegAllocationHints instead of calling
TargetRegisterInfo::getRegAllocationHints a second time.
2. In TargetRegisterInfo::getRegAllocationHints, deduplicates directly
against Hints instead of using a transient local set.
3. Adds regression test coverage for AArch64 MLRegAlloc eviction
advisor.
There are other issues lurking across LLVM where duplicate Hints are
created; it was decided in review of this PR to follow up with changing
the interface so that Hints is a SmallSetVector.
Assisted-by: Gemini
Fixes: 0756e5985f0c ("[AArch64] Hint regalloc to choose distinct
predicate for MATCH/CMP (#190139)")
Fixes: https://github.com/llvm/llvm-project/issues/193011
Commit: ba1eae7c37e4fe65058f72d9b38685486562bf02
https://github.com/llvm/llvm-project/commit/ba1eae7c37e4fe65058f72d9b38685486562bf02
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libc/config/linux/arm/headers.txt
M libc/config/linux/i386/headers.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_group.h
M libc/src/CMakeLists.txt
A libc/src/grp/CMakeLists.txt
A libc/src/grp/grp_utils.cpp
A libc/src/grp/grp_utils.h
M libc/test/src/CMakeLists.txt
A libc/test/src/grp/CMakeLists.txt
A libc/test/src/grp/grp_utils_test.cpp
Log Message:
-----------
[libc] Add struct group header and group line parser (#224208)
Introduce the POSIX struct group header and grp_utils parser module for
colon-delimited group records.
Unlike struct passwd, struct group carries a null-terminated char**
member pointer array (gr_mem). parse_line<struct group> handles placing
the gr_mem pointer array into the aligned scratch span directly:
* Fixed-buffer callers (such as reentrant lookups) report ERANGE if the
provided scratch span cannot hold the member pointers.
* Growable DynamicBuffer callers grow the buffer when parse_line returns
ERANGE and retry before parsing in place.
* Add struct_group header in hdr/types/struct_group.h
* Expose libc.include.grp in Linux arm and i386 headers.txt
* Add grp_utils parser and database helpers in src/grp/
* Add unit tests in test/src/grp/grp_utils_test.cpp
Assisted-by: Automated tooling, human reviewed.
Commit: 5678ca9a3c4fa73cbaa43c9f7e1d8a5841e9ac63
https://github.com/llvm/llvm-project/commit/5678ca9a3c4fa73cbaa43c9f7e1d8a5841e9ac63
Author: Andre Kuhlenschmidt <akuhlenschmi at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/numeric_storage_size.f90
A flang/test/Semantics/numeric_storage_size_only.f90
Log Message:
-----------
[flang][semantics] Diagnose numeric storage size on use (#220779)
Only give a warning about NUMERIC_STORAGE_UNIT when it is actually used.
Prevents warnings about it's not well defined status from popping up
when it has been excluded from or is just imported by happenstance.
Commit: e1723573be49942ba9c687e9c176f5d9d8751c60
https://github.com/llvm/llvm-project/commit/e1723573be49942ba9c687e9c176f5d9d8751c60
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/test/API/lang/objc/ivar-IMP/TestObjCiVarIMP.py
M lldb/test/API/lang/objc/ptr_refs/TestPtrRefsObjC.py
Log Message:
-----------
[LLDB] Simplify LLDB test launches with lldbutil (NFC) (#224175)
Commit: a1eae51eb558f75be6b9497e68ee7937f8f34e8a
https://github.com/llvm/llvm-project/commit/a1eae51eb558f75be6b9497e68ee7937f8f34e8a
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/source/Target/AssertFrameRecognizer.cpp
M lldb/test/Shell/Recognizer/assert.test
Log Message:
-----------
[lldb][windows] add assert frame recognizer Windows (#224269)
This patch implements `AssertFrameRecognizer` on Windows.
Since the Windows C Runtime can be either statically or dynamically
linked, lldb can't match the module name to be able to support both.
Therefore, the matches on `abort` and `_wassert` do not check the name
of the module.
The `assert.test` test was also relaxed to check the Windows error
format (`Exception 0xc0000409`), since Windows surfaces `__fastfail` as
a `STATUS_STACK_BUFFER_OVERRUN` exception rather than a POSIX signal.
rdar://175328961
---
This relands https://github.com/llvm/llvm-project/pull/197282, reverted
in https://github.com/llvm/llvm-project/pull/198263 for two buildbot
failures.
1. **lldb-x86_64-win** failed with `0xC0000005` in `frame recognizer
list` (`commands/frame/recognizer/TestFrameRecognizer.py`,
`test_frame_recognizer_target_specific`). This is due to a call to
`strlen(nullptr)` which is fixed by
https://github.com/llvm/llvm-project/pull/222810.
2. **lldb-remote-linux-win** started running `Recognizer`/`assert.test`
and failed with `"stop reason = signal SIGABRT"` where the test expects
`"hit program assert"`. That bot debugs a remote Linux target from a
Windows host: system-linux is a host feature, so the known-broken Linux
target (llvm.org/pr56144) was not skipped. Add remote-linux to the
UNSUPPORTED list.
Commit: 67e01400350952684e597c716b2df75b56aa986a
https://github.com/llvm/llvm-project/commit/67e01400350952684e597c716b2df75b56aa986a
Author: DylanFleming-arm <85629460+DylanFleming-arm at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libc/test/src/mathvec/CMakeLists.txt
M libc/test/src/mathvec/sinf_test.cpp
Log Message:
-----------
[libc][mathvec] Fix sinf unit test failures (#224339)
Since mathvec compares directly to the scalar math result, and scalar
sinf has a specific LIBC_MATH_HAS_INTERMEDIATE_COMP_IN_FLOAT
implementation. Mathvec unit tests fail when that flag is set, as there
is currently no mathvec equivalent.
This patch disables the sinf unit tests when the
LIBC_MATH_HAS_INTERMEDIATE_COMP_IN_FLOAT flag is set until such
implementation is created.
Commit: 903cf7272faf4cf2de44a4a8c33c38a1c15fb50d
https://github.com/llvm/llvm-project/commit/903cf7272faf4cf2de44a4a8c33c38a1c15fb50d
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/imag-lvalue-with-non-complex-operand.cpp
Log Message:
-----------
[Clang][Sema] Improve diagnostic when using imag with non complex as lvalue (#223510)
Improve the Clang diagnostic when the unary `__imag` operator with a
non-complex type operand is used as an lvalue
Issue #222383
Commit: 4313ead351f403e3469c417338c4101df23a6fa9
https://github.com/llvm/llvm-project/commit/4313ead351f403e3469c417338c4101df23a6fa9
Author: Twice <twice at apache.org>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M mlir/python/mlir/dialects/ext.py
M mlir/test/python/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Support bare Operand and Result annotations (#220216)
Operation definitions currently need to spell unconstrained operands and
results as `Operand[Any]` and `Result[Any]`. Since `Any` is the natural
default when no type constraint is intended, this is unnecessarily
verbose and may require importing `Any` solely for these annotations.
This change allows bare `Operand` and `Result` annotations as a simpler
equivalent spelling.
Previously:
```python
from typing import Any
class MyOp(MyDialect.Operation, name="my_op"):
lhs: Operand[Any]
rhs: Operand[Any]
res: Result[Any]
```
This can now be written as:
```python
class MyOp(MyDialect.Operation, name="my_op"):
lhs: Operand
rhs: Operand
res: Result
```
The existing `Operand[Any]` and `Result[Any]` spellings remain
supported.
Assited-by: Codex/GPT 5.6 Sol
Commit: fa406bab51ae60520238e555eaee51dc71fb5a76
https://github.com/llvm/llvm-project/commit/fa406bab51ae60520238e555eaee51dc71fb5a76
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanEVLTailFolding.cpp
M llvm/lib/Transforms/Vectorize/VPlanLowering.cpp
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Use make_isa_range instead of dyn_cast/continue (NFC) (#222770)
Simplify loops using dyn_cast + early continue using make_isa_range,
added in https://github.com/llvm/llvm-project/pull/223414.
PR: https://github.com/llvm/llvm-project/pull/222770
Commit: 6d1d34cfb6dba451912371f6ba41d759d77bdf7c
https://github.com/llvm/llvm-project/commit/6d1d34cfb6dba451912371f6ba41d759d77bdf7c
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/test/Analysis/Scalable/source-edit-generation/cpp-bounded-buffers-replacements.cpp
M clang/test/Analysis/Scalable/source-edit-generation/multi-tu-edits-merge.cpp
Log Message:
-----------
[SSAF] Mark two failing tests as unsupported (#223976)
As a developer of the clang static analyzer, I'm using the build target
`check-clang-analysis` [1] to build and test my changes.
This workflow was recently broken by two new SSAF testcases under
`Analysis/Scalable` that fail on my machine (where I don't build any
SSAF-specific targets and perhaps don't have some SSAF-specific tools).
In both of these tests a `clang-apply-replacements` RUN line fails with
`clang-apply-replacements: symbol lookup error:
clang-apply-replacements: undefined symbol:
_ZN4llvm2cl6OptionC2ENS0_18NumOccurrencesFlagENS0_12OptionHidden`
These two files were added by 77a6638e4f61e1827001cce202d8f785815a341b
and 4b08871f7ffe6ad818147145f8b6103e6c9b2c95.
In this commit I'm marking these two files as unsupported, because I'm
not familiar with SSAF and don't have the capacity to troubleshoot them.
(I'm not using XFAIL because they are presumably passing on some other
machines.)
[1] Before the introduction of SSAF and `Analysis/Scalable`, this target
only invoked tests for the clang static analyzer. See also:
https://discourse.llvm.org/t/taking-ownership-of-clang-test-analysis/84689
-------
I already mentioned this issue on the PR that has (re-)added one of the
failing test files [in a github
comment](https://github.com/llvm/llvm-project/pull/220124#issuecomment-5527847470)
but it was probably overlooked among the many github notifications.
Commit: 4569873831550f6d66088ce036336323527397f6
https://github.com/llvm/llvm-project/commit/4569873831550f6d66088ce036336323527397f6
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/Lowering/eh-inflight.cir
R clang/test/CIR/Transforms/eh-abi-lowering-eh-spec-nyi.cir
A clang/test/CIR/Transforms/eh-abi-lowering-eh-spec.cir
Log Message:
-----------
[CIR][EH] Implement EH ABI lowering for dynamic exception specification (#223862)
This change implements EH ABI lowering for Itanium targets for the CIR
constructs used to represent dynamic exception specifications. This also
includes minor changes to lower new forms of the
cir.eh.inflight_exception operation to the LLVM dialect.
Code generation support for dynamic exception specification and tests
for complete lowering of generated CIR to LLVM IR will be added in a
follow-up change.
Assisted-by: Cursor / various models
Commit: e863ca8c67b6ff40c342245738ed5c9eb7687b53
https://github.com/llvm/llvm-project/commit/e863ca8c67b6ff40c342245738ed5c9eb7687b53
Author: hidekisaito <hidekido at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/coexec-sched-flavor-classification.mir
Log Message:
-----------
[AMDGPU] Model GFX1250 VALU blocking cycles (#222483)
Some gfx1250 VALU instructions block the VALU pipe for N cycles, and the
CoExec scheduler must model that occupancy. The existing SchedModel
cannot represent this given current modelling constraints (see #202775).
Attach GFX1250BlockingCycles to the VOP instruction definitions and emit
a searchable table so SIInstrInfo::getBlockingCycles() can report the
occupancy. CoExec uses that to classify multi-cycle VALU and to account
for blocking when computing HWUI cycles.
As part of this change, VOPC_Pseudo now inherits from VOP_Pseudo.
Main Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Commit: a3d4579b451804383c49789f963b51631d4b38c7
https://github.com/llvm/llvm-project/commit/a3d4579b451804383c49789f963b51631d4b38c7
Author: Yihan Wang <yronglin777 at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
A clang/test/CodeGenCXX/aggregate-default-member-initializers.cpp
A clang/test/SemaCXX/aggregate-default-member-initializers.cpp
M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
M clang/unittests/AST/ASTExprTest.cpp
Log Message:
-----------
[clang][Sema] Separate aggregate default member initializer evaluation (#219288)
A default member initializer used by a constructor is a separate
full-expression, while one used during aggregate initialization belongs
to the full-expression containing the aggregate initialization.
This patch split the two building paths so aggregate initialization
rebuilds the initializer in the surrounding evaluation context.
Fixes https://github.com/llvm/llvm-project/issues/85601.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: e78fdeba3f9a784ceb0b198140fdc792a0b55845
https://github.com/llvm/llvm-project/commit/e78fdeba3f9a784ceb0b198140fdc792a0b55845
Author: gulfemsavrun <gulfem at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/tools/driver/driver.cpp
M lld/tools/lld/lld.cpp
M llvm/cmake/modules/llvm-driver-template.cpp.in
R llvm/include/llvm/Support/Driver.h
A llvm/include/llvm/Support/LLVMDriver.h
M llvm/lib/Support/CMakeLists.txt
R llvm/lib/Support/Driver.cpp
R llvm/test/tools/llvm-driver/session-dispatch.test
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-ar/llvm-ar.cpp
M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-driver/llvm-driver.cpp
M llvm/tools/llvm-dwp/llvm-dwp.cpp
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/tools/llvm-ifs/llvm-ifs.cpp
M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
M llvm/tools/llvm-lipo/llvm-lipo.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
M llvm/tools/llvm-mt/llvm-mt.cpp
M llvm/tools/llvm-nm/llvm-nm.cpp
M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
M llvm/tools/llvm-size/llvm-size.cpp
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/tools/sancov/sancov.cpp
M llvm/unittests/Support/CMakeLists.txt
R llvm/unittests/Support/LLVMToolSession/CMakeLists.txt
R llvm/unittests/Support/LLVMToolSession/LLVMToolSessionTest.cpp
Log Message:
-----------
Revert "[Support] Add ToolSession for in-process tool invocation" (#224368)
Reverts llvm/llvm-project#221996 because it broke Clang driver tests.
1)
https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-host-linux-x64/b8670408702265017009/overview
2)
https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-mac-arm64/b8670408421098418625/overview
Commit: d230798c345ac225591f7bed53204f4ba5206539
https://github.com/llvm/llvm-project/commit/d230798c345ac225591f7bed53204f4ba5206539
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
A lldb/test/Shell/SymbolFile/DWARF/self-referential-specification.yaml
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
Log Message:
-----------
[lldb] Detect cycles when following DIE references (#223912)
A DW_TAG_subprogram whose DW_AT_specification points at its own offset
causes both GetDIENamesAndRanges and GetDeclContextDIEContainingDIE to
keep recursing
Track the DIEs already visited, the way the sibling GetAttributes helper
does. GetDIENamesAndRanges also moves to a worklist so a long chain of
distinct specifications no longer costs a stack frame per DIE.
rdar://186891786
Commit: 123d223e8518f82684e524bf1d86b3b548328214
https://github.com/llvm/llvm-project/commit/123d223e8518f82684e524bf1d86b3b548328214
Author: Alex Langford <alangford at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/include/lldb/Core/Section.h
M lldb/source/Core/Section.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/Placeholder/ObjectFilePlaceholder.cpp
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/unittests/Symbol/JSONSymbolTest.cpp
M lldb/unittests/Symbol/SymbolTest.cpp
Log Message:
-----------
Remove ConstString from Section (#224170)
Section names do benefit from deduplication, but most are small enough
to fit into a std::string without an allocation (i.e. SSO). We trade a
small amount of memory to avoid the cost of a ConstString
lookup/creation.
Commit: eb500b673762037f0ab3229101aa5d6cca95a1ff
https://github.com/llvm/llvm-project/commit/eb500b673762037f0ab3229101aa5d6cca95a1ff
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github] Disable AArch64 Premerge (#224367)
Disable AArch64 Premerge for now as the AWS credit renewal has not come
in yet and the foundation is currently paying for this out of pocket. We
have new AArch64 coverage now from MacOS.
Discussed in the infrastructure area team meeting 9/17/26.
Commit: d4a85ae704015e5df7b607e2accfb4826fb31171
https://github.com/llvm/llvm-project/commit/d4a85ae704015e5df7b607e2accfb4826fb31171
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang-tools-extra/Maintainers.md
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/docs/_static/clang-tools-extra-styles.css
M clang-tools-extra/docs/clang-change-namespace.md
M clang-tools-extra/docs/clang-doc.md
M clang-tools-extra/docs/clang-include-fixer.md
M clang-tools-extra/docs/clang-reorder-fields.md
M clang-tools-extra/docs/clang-tidy/checks/list.md
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/docs/conf.py
M clang-tools-extra/docs/pp-trace.md
M utils/docs/llvm_sphinx/ext/furo.py
A utils/docs/remove_page_tocs.py
Log Message:
-----------
[clang-tools-extra][docs] Use Furo theme to match clang (#222196)
Adopt the shared Furo configuration for the clang-tools-extra
documentation.
I forgot to commit the `utils/docs/remove_page_tocs.py` helper script
that I used to scrub the TOCs, so I included it in this PR. We can
remove the script later. Anyway, I used it in this PR to remove the TOCs
from clang-tools-extra.
I also ported over the CSS viewport width rules from Clang, but I'm
keeping them separate between all the doc projects that use furo now
(llvm, libc, clang, clang-tools-extra) since different projects have
made different choices.
Clang Furo PR: https://github.com/llvm/llvm-project/pull/214869
RFC:
https://discourse.llvm.org/t/rfc-use-furo-theme-for-clang-docs/91505/7
Preview:
https://clangdocs.staging.reidkleckner.dev/after/clang-tools-extra/docs/
Commit: ef1330915be676b84e2afcb714b470f763ce97d8
https://github.com/llvm/llvm-project/commit/ef1330915be676b84e2afcb714b470f763ce97d8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
Log Message:
-----------
[VPlan] Keep a recipe's metadata when converting it to a single scalar. (#224359)
If metadata applies to each lane, it also trivially applies when
narrowing an operation to just a single lane. Preserve metadata when
narrowing to single-scalar.
Commit: 9fc5ec3df34d3c6c600845aa246e7bf07764fc57
https://github.com/llvm/llvm-project/commit/9fc5ec3df34d3c6c600845aa246e7bf07764fc57
Author: Kamlesh Kumar <kamlesh.kumar at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/avoid-ld4.ll
M llvm/test/CodeGen/AArch64/vector-deinterleave-load.ll
Log Message:
-----------
[AArch64] Support lowering of wider interleaved load (#222998)
After type legalization wider interleaved load gets spllitted into
legal chunked load, perform a dag combine to turn it into interleaved
load if chunked load is contiguous and operand to vector_deinterleave.
Commit: 10a37743cd3b5a15f800e16d4f8cf34a9e9f1c46
https://github.com/llvm/llvm-project/commit/10a37743cd3b5a15f800e16d4f8cf34a9e9f1c46
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
M llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
M llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
Log Message:
-----------
tools: Compute the module DataLayout from the triple, not the TargetMachine (#224259)
TargetMachine::createDataLayout is an unreliable cache given the
existence of module flags which change the datalayout, so this should be removed.
Migrate tool users to directly compute the datalayout.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: ef762d75e62ce06378fdfaa8a61ea2af150e6428
https://github.com/llvm/llvm-project/commit/ef762d75e62ce06378fdfaa8a61ea2af150e6428
Author: Akhil Goel <akhil.goel at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
Log Message:
-----------
[SPIR-V] Correct predicated load/store opcode values (#220062)
This PR fixes the `SPV_INTEL_predicated_io` extension instruction
opcodes to match the SPIR-V header definitions.
Commit: aba79e62699d157a36bb95b3ac5eabb4f8b48e29
https://github.com/llvm/llvm-project/commit/aba79e62699d157a36bb95b3ac5eabb4f8b48e29
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/test/Lower/OpenMP/use-device-addr-performance.f90
M offload/include/omptarget.h
M offload/libomptarget/exports
M offload/libomptarget/interface.cpp
A offload/test/offloading/fortran/target-use-device-addr-opt.f90
Log Message:
-----------
[Flang][OpenMP] Improve use_device_addr code generation (#221265)
Currently, the `use_device_addr` implementation reuses the standard
mapping mechanism, which is suboptimal for code like:
```
SUBROUTINE device_addr_func(x)
INTEGER, TARGET, INTENT(IN) :: x(:)
!$omp target data use_device_addr (x)
CALL bar_offload(c_loc(x))
```
For such code, Flang maps the temporary descriptor for the x array to
the GPU. This unnecessary mapping is time-consuming and can be a large
bottleneck for Fortran-to-C function wrappers that use `use_device_addr`
to pass a C pointer for offload code.
For `use_device_addr`, we only need to update the base address in the
descriptor that is used inside `use_device_addr`. This is cheaper than
mapping the whole descriptor to the GPU.
Scope of changes:
1) Modified mapping for the use_device_addr clause. Map only the
descriptor and do not check whether it is present on the GPU.
2) Generated a copy of the host descriptor with an updated base address
for the use_device_addr code region.
---------
Signed-off-by: Dominik Adamski <dominik.adamski at amd.com>
Commit: e5801a2762497161e23e978ee13fd0698ae25a2f
https://github.com/llvm/llvm-project/commit/e5801a2762497161e23e978ee13fd0698ae25a2f
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
Log Message:
-----------
Revert "Mix bits in FileID::getHashValue() (#223794)" (#224394)
This reverts commit 9bc655d2852ec31199f2dba25d6f0749953fbe51.
It broke a couple of tests in clang/test/Analysis/html_diagnostics.
Commit: 2e055b8de1a1b08d2a2523673e2dc3df143ccf2f
https://github.com/llvm/llvm-project/commit/2e055b8de1a1b08d2a2523673e2dc3df143ccf2f
Author: Weiwei C <weiwei.chen at modular.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
A llvm/test/CodeGen/Hexagon/hmx-attr-inline-compat.ll
A llvm/test/CodeGen/Hexagon/hmx-attr-no-autohvx.ll
Log Message:
-----------
[hexagon] Add `hexagon_hmx` function attribute. (#222340)
- [x] Add `hexagon_hmx` function attribute to be used to annotate hmx
functions.
- [x] Add logic to prevent hmx functions being inlined into hvx
functions to avoid unintended accidental vectorization.
Commit: 24f753696202a3598d094da38809b1f5208d918f
https://github.com/llvm/llvm-project/commit/24f753696202a3598d094da38809b1f5208d918f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/libcxx-benchmark-commit.yml
M .github/workflows/libcxx-pr-benchmark.yml
M libcxx/utils/ci/lnt/machines.json
Log Message:
-----------
[libc++] Automatically detect the OS in benchmark jobs (#224386)
This simplifies the machines.json definition: we don't have to
explicitly say what OS we're running on, the job just figures it out.
Commit: 98039dad349cd3f40b0d39bf436f2b0159ba021c
https://github.com/llvm/llvm-project/commit/98039dad349cd3f40b0d39bf436f2b0159ba021c
Author: Michael Jones <michaelrj at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libcxx/cmake/config-ix.cmake
Log Message:
-----------
[libcxx][libc] Update LLVM-libc link list (#224164)
LLVM-libc provides all the libc functions in `libc.a` and `libm.a`, so
this PR adds the configuration flags that prevent linking
`libpthread.a` and `librt.a` (inside `libc.a`) and `libatomic.a` (inside
compiler-rt).
Assisted-by: Automated tooling, human reviewed.
Commit: 9b36b09a5b1097e0e0f75d37fe1b8474e916a802
https://github.com/llvm/llvm-project/commit/9b36b09a5b1097e0e0f75d37fe1b8474e916a802
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-drop-schedule.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-trim-revert-cost.ll
Log Message:
-----------
[SLP][NFC]Add extra tests with missing vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224408
Commit: e710c538b902a65c54f31dd7526eef85a61b0b82
https://github.com/llvm/llvm-project/commit/e710c538b902a65c54f31dd7526eef85a61b0b82
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Revert "[libc][bazel] Expose public inline memory headers and generic/builtin.h in string_memory_utils" (#224406)
Reverts llvm/llvm-project#223439
It was not needed, since the issue it was addressing was fixed by
https://github.com/llvm/llvm-project/commit/ecb96165dc0f95cb81267e1178f7e60a4ab7faa6.
And it was not the right fix.
Commit: 09c4f1cff36f70684702934ac9700cc53b17d1da
https://github.com/llvm/llvm-project/commit/09c4f1cff36f70684702934ac9700cc53b17d1da
Author: neildhar <neildhar at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll
Log Message:
-----------
[NVPTX] Fold abs into redux intrinsics (#220733)
Fold llvm.fabs into the absolute-value variants of floating-point redux
min/max intrinsics during InstCombine.
Commit: 08c03a56ce83363088332eb8e1d0cf61b368c877
https://github.com/llvm/llvm-project/commit/08c03a56ce83363088332eb8e1d0cf61b368c877
Author: neildhar <neildhar at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/fmax3.ll
Log Message:
-----------
[NVPTX] Fuse abs into min/max (#220445)
PTX supports a fused abs + min/max, emit that so we don't need to rely
on ptxas to do the fusion.
Commit: 2f3917f3be099ca83294ecc3f8c78460a7688808
https://github.com/llvm/llvm-project/commit/2f3917f3be099ca83294ecc3f8c78460a7688808
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libcxx/utils/ci/lnt/run-benchmarks
M libcxx/utils/test-at-commit
Log Message:
-----------
[libc++] Include some Lit features in LNT submissions (#218043)
The Lit test suite already sniffs out some properties of the library
configuration we are testing / benchmarking. This patch augments the
run-benchmarks script to pick up a few of these detected features so
they can be included in the Machine information contained in
submissions.
This is important to help pin down exactly what is being benchmarked.
Commit: 16a9145bc71502f988674cddfbf61e6d4da79916
https://github.com/llvm/llvm-project/commit/16a9145bc71502f988674cddfbf61e6d4da79916
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/test/AST/ByteCode/records.cpp
M clang/test/SemaCXX/aggregate-default-member-initializers.cpp
Log Message:
-----------
[clang][test] Update ByteCode test expectations after #219288 (#224389)
### Summary
Fixes CI test failures introduced in #219288:
- In `clang/test/AST/ByteCode/records.cpp`, resolves the existing
`FIXME: See #85601` by updating `static_assert(discarded() == 1)` to
`static_assert(discarded() == 0)` now that temporary destruction timing
in aggregate default member initialization is fixed.
- In `clang/test/SemaCXX/aggregate-default-member-initializers.cpp`,
removes outdated `bytecode-error` and `bytecode-note` annotations in the
`lifetime` namespace that caused `-verify` failures ("diagnostics
expected but not seen") under `-fexperimental-new-constant-interpreter`.
Fixes build breakages on `main` affecting pre-merge CI across subsequent
PRs.
Cc: @yronglin
Commit: 367adb1b93018af34e3053a7cfd790152bfb27b3
https://github.com/llvm/llvm-project/commit/367adb1b93018af34e3053a7cfd790152bfb27b3
Author: Michael Jones <michaelrj at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libcxx/utils/libcxx/test/features/misc.py
Log Message:
-----------
[libcxx] Update libatomic check (#224162)
This PR is a proper fix for the libatomic workaround. The old system
just checked if adding `-latomic` succeeded, and added it if it worked.
After this change it checks if an example program works without
`-latomic` as well as with `-latomic`. It adds the flag only if the test
passes with `-latomic` and not without.
In short: the new version only adds `-latomic` if it's necessary.
Assisted-by: Automated tooling, human reviews.
Commit: 28660ab59038ffa169d598d9c567a6ad26de1972
https://github.com/llvm/llvm-project/commit/28660ab59038ffa169d598d9c567a6ad26de1972
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
Log Message:
-----------
[VPlan] Remove dead packScalarIntoVectorizedValue (NFC). (#224391)
packScalarIntoVectorizedValue has no callers. Remove the dead function.
Commit: d8efed58ca9e324915f80c77524855d40a65d0c7
https://github.com/llvm/llvm-project/commit/d8efed58ca9e324915f80c77524855d40a65d0c7
Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
R llvm/test/ExecutionEngine/OrcLazy/emulated-tls.ll
A llvm/test/ExecutionEngine/OrcLazy/tls.ll
M llvm/tools/lli/lli.cpp
Log Message:
-----------
[lli] Honor explicit emulated TLS option in ORC mode (#217554)
JITTargetMachineBuilder enables emulated TLS by default, but lli's ORC
path did not forward the existing -emulated-tls option. Consequently,
explicitly passing -emulated-tls=false still produced emulated-TLS
accesses.
Forward an explicitly specified value into the ORC JIT target-machine
options. Leave the builder default unchanged when the command-line
option is omitted.
Extend the existing OrcLazy emulated-TLS test with the false case,
verifying that native lowering is selected instead of
__emutls_get_address.
Rename emulated-tls.ll to tls.ll, and add a TODO to replace the
error-based checks with successful TLS execution tests using the new ORC
runtime.
Commit: d093631e8ea2e7c9c0c7d866ba6cc62b742d6467
https://github.com/llvm/llvm-project/commit/d093631e8ea2e7c9c0c7d866ba6cc62b742d6467
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
M llvm/test/CodeGen/AArch64/ptrauth-tail-call-stackadjust.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauthlr-slh.ll
M llvm/test/CodeGen/AArch64/swifttail-ptrauth.ll
Log Message:
-----------
[AArch64][PAC] Don't move sp adjustments to form better epilogue AUTs (#221009)
This has proven to be pretty fragile, and generally unsound. Instead, we
should treat the location of the PAUTH_EPILOGUE as _the_ location of the
AUT, and accept whatever that means in terms of the codegen we have to
emit for that pseudo at the time we emit it.
Commit: 877ee5fbc2ee7c9e3cae19428397ac917dc63e7e
https://github.com/llvm/llvm-project/commit/877ee5fbc2ee7c9e3cae19428397ac917dc63e7e
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/test/CodeGen/DirectX/RawBufferStoreDouble.ll
A llvm/test/CodeGen/DirectX/ResourceAccess/store-rawbuffer-wide-double.ll
Log Message:
-----------
[DirectX] Fix DXIL expansion of 64-bit ByteAddressBuffer stores (#224136)
Fixes #223558
In llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp we were not doing
Create add with the byte index offsets because were were looking at the
wrong argument.
- Fixes DXIL expansion of 64-bit ByteAddressBuffer stores by advancing
the byte index instead of the poison offset.
- Adds regression coverage for wide double stores with offsets confirmed
as 0, 16, 32, 48.
Commit: c60745d126c6d521f76e1a6d81a732d53f4b5ad2
https://github.com/llvm/llvm-project/commit/c60745d126c6d521f76e1a6d81a732d53f4b5ad2
Author: Shimin Cui <scui at ca.ibm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
[GOFFObjectFile] replace snprintf with formatv (#224435)
Use formatv instead of snprintf
Commit: cd024334327520d4cdf2116f89bb38a02b3a128c
https://github.com/llvm/llvm-project/commit/cd024334327520d4cdf2116f89bb38a02b3a128c
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Add OPERAND_UIMM4_PLUS1 to RISCVInstrInfo::verifyInstruction (#224423)
Commit: 697570d3ca9f99cc30662fc80fd0beb1b715e478
https://github.com/llvm/llvm-project/commit/697570d3ca9f99cc30662fc80fd0beb1b715e478
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M llvm/utils/git/requirements_linting.txt
Log Message:
-----------
[Github] Bump tooling containers to 26.04 (#224052)
Mainly to pull in a new CMake version.
Commit: 3d88c0ebbb97d3a6acbc7d5feae608ca42c612ea
https://github.com/llvm/llvm-project/commit/3d88c0ebbb97d3a6acbc7d5feae608ca42c612ea
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterC.txt
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt
Log Message:
-----------
[lldb] Add APSInt literal support to formatter_bytecode.py (#223805)
Follow up to #220665.
Commit: a883d1050d8ed2324bc948ef7effc4393e935f3e
https://github.com/llvm/llvm-project/commit/a883d1050d8ed2324bc948ef7effc4393e935f3e
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
[GOFF] Add missing include (#224441)
Caused by #224435
Commit: 40762f3830da76955dce975084b63b7bff884288
https://github.com/llvm/llvm-project/commit/40762f3830da76955dce975084b63b7bff884288
Author: Shimin Cui <scui at ca.ibm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
Revert "[GOFFObjectFile] replace snprintf with formatv (#224435)" (#224444)
This reverts commit c60745d126c6d521f76e1a6d81a732d53f4b5ad2.
Commit: 65d1a5cadd5b6b2b2f0904fce85ce14c17d3023b
https://github.com/llvm/llvm-project/commit/65d1a5cadd5b6b2b2f0904fce85ce14c17d3023b
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp
A flang/test/Transforms/OpenACC/acc-implicit-routine.fir
M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitRoutine.cpp
M mlir/test/Dialect/OpenACC/acc-implicit-routine.mlir
Log Message:
-----------
[mlir][OpenACC] Error on external calls without acc routine info (#223815)
Implicit routine can only be applied to procedures defined in the
current compilation unit. Diagnose external callees in compute regions
and existing routines, and treat Fortran intrinsics and `BIND(C)`
procedures as valid device symbols.
Commit: 797dfd05b0785678235d31cfae91ecf3186747f6
https://github.com/llvm/llvm-project/commit/797dfd05b0785678235d31cfae91ecf3186747f6
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
M llvm/test/Transforms/SLPVectorizer/RISCV/check-node-without-vector-user.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/folded-broadcast-cost.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/remark-zext-incoming-for-neg-icmp.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
Log Message:
-----------
Revert "[SLP] More accurately cost RISCV scalar splats" (#224426)
Reverts llvm/llvm-project#213104
Commit: 899c2614d4635b4826a85d41b02860f2b737861d
https://github.com/llvm/llvm-project/commit/899c2614d4635b4826a85d41b02860f2b737861d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/build-ci-container-tooling.yml
Log Message:
-----------
[Github] Rename CI Tooling Containers to 26.04 (#224447)
697570d3ca9f99cc30662fc80fd0beb1b715e478 made them actually use Ubuntu
26.04, but I forgot to rename them. Do that in this commit. Everything
is hash pinned so nothing should break even if there are real issues.
Commit: c3bfaa8118a04b41aacd5f39d7cf209957532b62
https://github.com/llvm/llvm-project/commit/c3bfaa8118a04b41aacd5f39d7cf209957532b62
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintElim] Move helper to create constraint row (NFC) (#224417)
Move logic to grate a new row for the constraint system to helper, to
more clearly separate logic, and allow re-use in follow-ups.
This includes minor code reodering in the moved logic.
Commit: 870d762546ee5c602c7bd0ef6f5d83c6339069a1
https://github.com/llvm/llvm-project/commit/870d762546ee5c602c7bd0ef6f5d83c6339069a1
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] NOESCAPE is ignored in a template function (#223942)
RawPtrRefLambdaCapturesChecker only consults NOESCAPE when it can find a
FunctionDecl for a call. Because a lambda argument is type-dependent, a
call taking one inside a template is dependent, and its callee is often
still unresolved in the template pattern: an UnresolvedLookupExpr for an
unqualified call or a call to a function template, an
UnresolvedMemberExpr for an overloaded member function or a member
function template, and a CXXDependentScopeMemberExpr for a member of a
dependent object. checkParameters never ran for those, so a lambda was
reported even when the parameter it's passed to is annotated with
NOESCAPE. The same happened for a lambda passed to a constructor which
isn't resolved until the instantiation, which appears as a
CXXUnresolvedConstructExpr or as a dependent ParenListExpr /
InitListExpr.
Whether such a lambda can escape isn't known before the enclosing
template is instantiated, so ignore these lambdas and let the
instantiation check them, matching what RetainPtrCtorAdoptChecker
already does. A lambda in a template which is never instantiated is
never used, so not checking it is fine.
Waiting for the instantiation also requires traversing the
instantiations of a generic lambda's call operator.
RecursiveASTVisitor::TraverseLambdaExpr only traverses the lambda's
body, which is a template pattern for a generic lambda, so those
instantiations were never visited and the calls in them were never
resolved. Traverse the body of each specialization, not the
CXXMethodDecl, so that the lambda stays associated with the class
enclosing it and captures of this are still reported.
Commit: 826f78dee748c53057bf27c297b90964aaaedcfb
https://github.com/llvm/llvm-project/commit/826f78dee748c53057bf27c297b90964aaaedcfb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/test/Shell/SymbolFile/NativePDB/rust-unique-name.ll
M lldb/test/Shell/SymbolFile/NativePDB/unknown-udt-decl.ll
Log Message:
-----------
lldb: Require x86_64 for x86_64-specific NativePDB tests (#224140)
These tests contained x86_64 datalayout and triples, but only
required system-windows. On an aarch64 windows host, %build will
be an incompatible datalayout, so require exactly x86_64 windows
hosts. Alternatively the test could be changed to not have the
datalayout, but I'm not sure if that's correct here.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 45cb52f63cc38f0f8e8ce46df07585b68cbc018f
https://github.com/llvm/llvm-project/commit/45cb52f63cc38f0f8e8ce46df07585b68cbc018f
Author: Alex Langford <alangford at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
Log Message:
-----------
[lldb] Remove remaining ConstString section names in ObjectFileELF (#224407)
Commit: 01d1d4dacb0e7726a7dc6c24ca10359251caa698
https://github.com/llvm/llvm-project/commit/01d1d4dacb0e7726a7dc6c24ca10359251caa698
Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToLLVM/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/ControlFlowToLLVM/branch.mlir
M mlir/test/Conversion/VectorToLLVM/vector-load-store-to-llvm.mlir
Log Message:
-----------
[mlir][LowerToLLVM] Pass DataLayoutAnalysis to LowerToLLVMOptions in `ArithToLLVM`, `ControlFlowToLLVM`, and `VectorToLLVM` passes (#206380)
These three conversion passes constructed `LowerToLLVMOptions` without a
`DataLayout`, causing the index bitwidth to be hard-wired to 64 even
when the module declares a narrower index via `dlti.dl_spec`.
```cpp
// Before (all three passes):
LowerToLLVMOptions options(&getContext());
LLVMTypeConverter converter(&getContext(), options);
// After:
const auto &dataLayoutAnalysis = getAnalysis<DataLayoutAnalysis>();
LowerToLLVMOptions options(&getContext(),
dataLayoutAnalysis.getAtOrAbove(getOperation()));
LLVMTypeConverter converter(&getContext(), options, &dataLayoutAnalysis);
```
I used AI to investigate this problem and to write the tests.
---------
Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Commit: ad6f8425783ef7dda2d5018143269935998460cd
https://github.com/llvm/llvm-project/commit/ad6f8425783ef7dda2d5018143269935998460cd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/RegisterPressure.cpp
A llvm/test/CodeGen/AMDGPU/schedule-pressure-dead-superreg-live-subreg.mir
Log Message:
-----------
Partially revert "RegisterPressure: Remove dead defs correctly" (#224371)
This partially reverts the lane-mask collector change from #222627
(bde5e74309f6). That flipped the dead-def reconciliation in both
RegisterOperandsCollector::collectInstr (register units) and
collectInstrLanes (lane masks). Instead of removing units covered by a
live def from the dead def set, it removed units covered by a dead def
from the live def set.
The flip regressed targets that track subregister liveness, which use
the
lane-mask collector path. When a live sub-register def overlaps a dead
super-register def, the shared register unit is flagged live on one
operand and dead on another. Removing the live def then drops the
genuinely-live unit, so the cached PressureDiff under-counts it and
trips
the EXPENSIVE_CHECKS pressure cross-check in GCNSchedStrategy.
Restore the original lane-mask path while keeping the new behavior on
the
register-unit path, which is enough to preserve the X86 fixes from
#222627.
This is a targeted workaround. Deadness here is still taken from the
operand
flags, which are not authoritative. The principled fix is to derive
deadness
from LiveIntervals when building the PressureDiff, as the pressure
tracker
already does on the recede path.
Also adds a reduced mir test which triggers the expensive_checks
failure.
Co-authored-by: Claude claude-opus-4.8 <noreply at anthropic.com>
Commit: ed554f2f540a44ae76ffa54dd785c480765bb4b4
https://github.com/llvm/llvm-project/commit/ed554f2f540a44ae76ffa54dd785c480765bb4b4
Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Conversion/XeGPUToXeVM/failed_conversion.mlir
A mlir/test/Conversion/XeGPUToXeVM/loadstore_gather_coalesce.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup-invalid.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
Log Message:
-----------
[mlir][xegpu] Remove chunk_size attribute; infer from types (#205122)
The chunk_size attribute on xegpu.load (LoadGatherOp) and xegpu.store
(StoreScatterOp) was redundant with the operand/result types: the XeVM
lowering never read it, VectorToXeGPU already built these ops with an
empty chunk_size, and the op docs noted it could be inferred from the
type.
Remove the attribute and infer the chunk size from the value/result and
mask types via a computed getChunkSize() op method. The mask carries one
element per lane, so the chunk size is the trailing value dimension when
the value has more elements than the mask, and 1 otherwise. This keeps
the existing op.getChunkSize() call sites working while respecting
library layering (no XeGPUUtils dependency from the IR library).
Update the gather/scatter builders, transforms (propagate-layout,
sg-to-lane, wg-to-sg, unroll), VectorToXeGPU lowerings, and lit tests.
Two invalid.mlir cases that were only invalid because a stated
chunk_size contradicted the type are removed; two others are
reclassified to the type/shape diagnostic.
---------
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: e85bbe94d5d595850f790faf9d7a039b9373b679
https://github.com/llvm/llvm-project/commit/e85bbe94d5d595850f790faf9d7a039b9373b679
Author: Moazin K. <mkhatti at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-predicate-region-worker-barrier.mlir
Log Message:
-----------
[ACCCGToGPU] Generate a per row barrier for a predicate region inside threadY loop. (#224461)
When a predicate region is inside a threadY (worker) loop, the generated
barrier should be to synchronize all threadsX (vector lanes) for that
threadY.
Previously, this code would generate a barrier for all inactive
dimensions and that can be problematic if we have no outer gang loop
(hence an inactive blockX dim) and trip count for worker loop isn't
divisible by number of workers. This would lead to a barrier for all
threads within the block leading to a deadlock.
Assisted-by: Codex
Commit: 38c995786a2262f949542191928f1f9f85e7b530
https://github.com/llvm/llvm-project/commit/38c995786a2262f949542191928f1f9f85e7b530
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 01d1d4d (#224462)
This fixes 01d1d4dacb0e7726a7dc6c24ca10359251caa698 (#206380).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=01d1d4dacb0e7726a7dc6c24ca10359251caa698
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: dd0ee5e10da57e2b1ebf0cbf066b32a8ffe92c28
https://github.com/llvm/llvm-project/commit/dd0ee5e10da57e2b1ebf0cbf066b32a8ffe92c28
Author: alexey-gusarov <alexey.gusarov at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
M lldb/test/API/commands/frame/recognizer/step-through/recognizer.py
M lldb/test/API/functionalities/step_scripted/Steps.py
M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
M lldb/test/API/functionalities/step_scripted/main.c
Log Message:
-----------
[lldb] Read the bool that a scripted thread plan's should_step returns (#215521)
Fixes part (1) of #215189.
`ScriptedThreadPlanPythonInterface::GetRunState()` used
`GetUnsignedIntegerValue()` to read the script's `should_step` return
value. A
Python `bool` arrives as a `StructuredData::Boolean`, so the return
value was
discarded and every scripted thread plan reported `eStateStepping`: a
plan
returning `False` single-stepped exactly like one returning `True`.
The documented contract for `should_step` is a bool
(`lldb/docs/use/tutorials/automating-stepping-logic.md` and
`lldb/examples/python/templates/scripted_thread_plan.py`). Read it as
one; any
other return value is logged and causes the plan to step.
### Behavior change
| `should_step` returns | before | after |
| --------------------------------- | ------- | ------- |
| `True` | step | step |
| `False` | step | **run** |
| `0`, `1`, or `lldb.eStateRunning` | **run** | step |
| `lldb.eStateStepping` | step | step |
The integer case is an intentional behavior change. Integers used to be
reinterpreted as a `StateType`, which also made them the only way to
make a
scripted plan run while boolean `False` was being discarded. They are
not part
of the documented `should_step` contract.
The behavior for a missing `should_step` is unchanged by this PR: it
continues
to step.
### In-tree user of the old behavior
`commands/frame/recognizer/step-through/TestFrameRecognizerStepThrough.py`
returns `False` from `should_step` and relied on being single-stepped
anyway.
With `False` honored, its `ThreadPlanRunToAddress` sub-plan handles the
stop
that completes it, so `explains_stop` is not called.
Update the plan to notice completion of the sub-plan in `should_stop`
and call
`SetPlanComplete` there, as described by the `ScriptedThreadPlan`
documentation.
### Testing
`lldb/test/API/functionalities/step_scripted/` covers:
* `should_step == True` stepping one instruction;
* `should_step == False` running to the next breakpoint;
* non-bool integer and `StateType` returns stepping.
The `False` and invalid-return cases fail before this change on both
Linux and
Windows.
### Landing order
This change allows scripted plans returning `False` from `should_step`
to reach
the `SetAutoContinue(true)` path in
`Thread::SetupToStepOverBreakpointIfNeeded()`. #215522 fixes the
independent
thread-plan-stack issue on that path. The two changes are independent,
but are
best landed together.
---
Tool-use disclosure, per the LLVM AI tool policy: this change was
prepared with
the assistance of Claude Code (`Assisted-by:` trailer on the commit).
Everything
in the change was read and reviewed before posting.
Co-authored-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 846719ae2259eb2829a251fa7ca965976376abbd
https://github.com/llvm/llvm-project/commit/846719ae2259eb2829a251fa7ca965976376abbd
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py
M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
M lldb/test/API/lang/objc/synthesized-property-accessor/TestSynthesizedPropertyAccessor.py
Log Message:
-----------
[LLDB] Skip tests with older versions of clang (#224468)
Commit: ea158b1e145680795e08e35426b850ba03c8f5a3
https://github.com/llvm/llvm-project/commit/ea158b1e145680795e08e35426b850ba03c8f5a3
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/QualTypeMapper.cpp
M clang/test/CodeGen/AArch64/abi-classify-arg-types.c
M clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp
M clang/test/CodeGen/AArch64/args-hfa.c
M clang/test/CodeGen/AArch64/arguments-hfa-v3.c
M llvm/include/llvm/ABI/Types.h
M llvm/lib/ABI/Targets/AArch64.cpp
M llvm/lib/ABI/Targets/X86.cpp
M llvm/lib/ABI/Types.cpp
M llvm/unittests/ABI/AArch64TargetInfoTest.cpp
M llvm/unittests/ABI/FunctionInfoTest.cpp
M llvm/unittests/ABI/IRTypeMapperTest.cpp
M llvm/unittests/ABI/TypesTest.cpp
M llvm/unittests/ABI/X86TargetInfoTest.cpp
Log Message:
-----------
[LLVMABI][AARCH64] Support homogeneous aggregate arguments (#224138)
This adds support for handling homogeneous aggregate arguments in the
AArch64 implementation of the LLVM ABI library.
This required adding a new field to the llvm::abi::Type class to track
the unadjusted alignment of the field. This meant I needed to make
updates to the CIR calling convention lowering pass, but AArch64 isn't
supported in the CIR pass yet, so that part of the change is strictly
NFC at this point.
I'm removing the aarch64-pc-windows-msvc run lines from the
abi-classify-arg-types.cpp test because the new test cases added would
land in NYI diagnostic in isPermittedToBeHomogeneousAggregate(), and
they weren't adding any unique coverage.
Assisted-by: Cursor / various models
Commit: 41b7eedb0974528d53e2ecaa950587562be5cb67
https://github.com/llvm/llvm-project/commit/41b7eedb0974528d53e2ecaa950587562be5cb67
Author: Petr Hosek <phosek at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/src/__support/OSUtil/baremetal/io.h
M libc/src/stdio/baremetal/CMakeLists.txt
A libc/src/stdio/baremetal/fclose.cpp
A libc/src/stdio/baremetal/fseek.cpp
A libc/src/stdio/baremetal/fseeko.cpp
A libc/src/stdio/baremetal/ftell.cpp
A libc/src/stdio/baremetal/ftello.cpp
Log Message:
-----------
[libc] Embeddeding API for seek and close (#221880)
This change introduces two new symbols to the embedding API hooks:
__llvm_libc_stdio_seek and __llvm_libc_stdio_close. These are used to
implement fclose, fseek, fseeko, ftell and ftello for baremetal.
The implementation was extracted from #221211.
Authored-by: voltur01
Commit: 6486ab38c00159b3ded94ac2855a5b90311eb61d
https://github.com/llvm/llvm-project/commit/6486ab38c00159b3ded94ac2855a5b90311eb61d
Author: Matsu <47756807+khaki3 at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/test/Fir/OpenACC/acc-fir-map-info-prep-clauses.mlir
M flang/test/Fir/OpenACC/acc-fir-map-info-prep-types.mlir
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGEnums.td
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
M mlir/test/Conversion/OpenACCToLLVM/data-runtime.mlir
M mlir/test/Conversion/OpenACCToLLVM/data.mlir
Log Message:
-----------
[OpenACC] Add a map flag for the attach/detach clause (#224433)
Example:
```fortran
!$acc enter data create(arr)
p => arr(:,1)
!$acc enter data attach(p)
```
In this code, computeDataClauseMapFlags returns no flag for
acc_attach/detach, so the resulting acc.map_info is indistinguishable
from one formed for a create/delete of the target, and the clause itself
is gone by that point.
Fix: give the attach/detach clause its own map flag.
Commit: 31f5ae6ba9105531001af6baa8357b6fb5613f46
https://github.com/llvm/llvm-project/commit/31f5ae6ba9105531001af6baa8357b6fb5613f46
Author: Matsu <47756807+khaki3 at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-predicate-region-active-dims.mlir
Log Message:
-----------
[OpenACC] Honor precomputed active par dims on a predicate region (#224390)
Example:
```mlir
acc.predicate_region {
memref.store %updated, %shared[] : memref<f64>
} {acc.active_par_dims = #acc<active_par_dims[]>}
```
Code outside a gang-level loop runs on every thread block, so the block
dims are treated as active and never predicated away. That is right for a
redundant computation, but not for an in-place update of memory the whole
launch shares: every block applies it. The attribute above was ignored
here, because only a privatization could state which dims run it
unpredicated.
Fix: honor a precomputed active set on a predicate region too. An empty
set leaves one block and one thread performing the update; listing the
thread dims of the enclosing loops keeps a work-shared update distributing
its iterations. Behavior is unchanged for a region without the attribute.
Commit: fd606c15d0d3131209357e6eeeee4bba025c45a9
https://github.com/llvm/llvm-project/commit/fd606c15d0d3131209357e6eeeee4bba025c45a9
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/LookupAndApply.h
M llvm/include/llvm/ExecutionEngine/Orc/RecordProxy.h
M llvm/lib/ExecutionEngine/Orc/LookupAndApply.cpp
M llvm/unittests/ExecutionEngine/Orc/LookupAndApplyTest.cpp
Log Message:
-----------
[ORC] Share one Mangler across a lookupAndApply group (#224285)
LookupPrepareFn now receives a Mangler that lookupAndApply builds once
from the search order's target triple, rather than each recordAddr /
recordProxy constructing its own per entry.
Commit: b489ab0a5fd38515ae1642eb197c66cb1d6d1eea
https://github.com/llvm/llvm-project/commit/b489ab0a5fd38515ae1642eb197c66cb1d6d1eea
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
R llvm/test/CodeGen/MLRegAlloc/aarch64-evict-advisor-duplicate-hints.ll
M llvm/unittests/Target/AArch64/AArch64RegisterInfoTest.cpp
Log Message:
-----------
Revert "[CodeGen][AArch64] Avoid duplicate hints in register allocation (#219007)" (#224451)
This reverts commit 6396f14184cb506420503e0a46fcf681fd91a90a.
Newly added CodeGen/MLRegAlloc/aarch64-evict-advisor-duplicate-hints.ll
is failing downstream CI's where the model name is not `release`.
Link: #219007
Commit: a56ce734ca42c1fa10e50d3a5b4af336cddd7b5e
https://github.com/llvm/llvm-project/commit/a56ce734ca42c1fa10e50d3a5b4af336cddd7b5e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/source/Symbol/ObjectFile.cpp
Log Message:
-----------
[lldb] Don't dereference a possibly null DataExtractor in FindPlugin (#224347)
Restore the behavior from before e4c83b7b119c, which changed the
parameter from a DataBufferSP the branch guaranteed to be null-or-empty
into a DataExtractorSP it unconditionally dereferences.
No in-tree caller reaches this branch with a null extractor, so there is
no test.
rdar://168105064
Commit: 75c8398a7dbfd37d5acbf40853783a403c5d16c9
https://github.com/llvm/llvm-project/commit/75c8398a7dbfd37d5acbf40853783a403c5d16c9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/commit-access-greeter.yml
M .github/workflows/ids-check.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-abi-tests.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/subscriber.yml
Log Message:
-----------
[Github] Bump non-build jobs to Ubuntu 26.04 (#224471)
Mostly so we pull in a new CMake version for the jobs that need it like
ids.
Commit: a1334044f870828e552df8cde360b61bd14deab2
https://github.com/llvm/llvm-project/commit/a1334044f870828e552df8cde360b61bd14deab2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/mlir-spirv-tests.yml
M .github/workflows/spirv-tests.yml
M .github/workflows/sycl-tests.yml
M .github/workflows/test-suite.yml
Log Message:
-----------
[Github] Bump build workflows to Ubuntu 26.04 (#224455)
To pull in the new version of CMake and also now that the 24.04 images
won't recieve any new updates.
Commit: f909f84555392f8395a916b4c72d03315f1437ad
https://github.com/llvm/llvm-project/commit/f909f84555392f8395a916b4c72d03315f1437ad
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
Log Message:
-----------
[MLIR][XeGPU] Fix insert_strided_slice distribution divisor for partial-lane dims (#223060)
SgToLaneVectorInsertStridedSlice divided the distributed dimension's
size and offset by the full subgroup size. That divisor holds only when
the dimension spans every lane. When it spans a subset (lane_layout[dim]
< subgroupSize) — say size 2 across 2 lanes — 2 % 16 != 0 made the
pattern reject the op and failing legalization.
This PR divides the dimension size by lane_layout[destDistDim], the
number of lanes actually covering that dimension.
assisted-by-claude
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: 08cedc596007ff6bdc8657247fcf21e75cbac75d
https://github.com/llvm/llvm-project/commit/08cedc596007ff6bdc8657247fcf21e75cbac75d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/commit-access-greeter.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
M .github/workflows/subscriber.yml
Log Message:
-----------
[Github] Fix container references from #224471 (#224490)
I screwed up some of the references (copying and pasting added an extra
sh256:) and they didn't show up because the workflow definitions for all
of these jobs only comes from main.
Commit: a18489c9bd9aea389c2e3b1cb9b23f79303ca1b1
https://github.com/llvm/llvm-project/commit/a18489c9bd9aea389c2e3b1cb9b23f79303ca1b1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/test-suite.yml
Log Message:
-----------
[Github] Remove additional cmake install from test-suite (#224486)
Now that we are on ubuntu 26.04 we can resolve this todo as the system
CMake is new enough and already installed.
Commit: 3ac17f2256564f86e6e28394853fb71b1fe41227
https://github.com/llvm/llvm-project/commit/3ac17f2256564f86e6e28394853fb71b1fe41227
Author: Andre Sun <andsun9999 at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.md
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses-c23.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses.cpp
Log Message:
-----------
[clang-tidy] Fix readability-redundant-parentheses false positive on typeof (#223512)
Preserve the required parentheses around the operand of `typeof`,
`typeof_unqual`, and GNU `__typeof__` by skipping `ParenExpr` nodes
whose immediate parent is a `TypeOfExprTypeLoc`. Redundant inner
parentheses such as those in `typeof((x))` are still diagnosed.
Fixes #220899.
Commit: 5fa7f81e0a2208b87584f2fec12e09c73105fed1
https://github.com/llvm/llvm-project/commit/5fa7f81e0a2208b87584f2fec12e09c73105fed1
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/docs/ReleaseNotes.md
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
M flang/test/Fir/OpenACC/acc-fir-map-info-prep-privatize.mlir
M flang/test/Fir/box-elesize-canonicalize.fir
M flang/test/Fir/struct-passing-ppc64le-byval.fir
M flang/test/Fir/struct-passing-systemz-reference.fir
A flang/test/Lower/Intrinsics/transfer-rec-tail-pad-llvm.f90
A flang/test/Lower/Intrinsics/transfer-rec-tail-pad.f90
M flang/test/Transforms/allocation-placement.fir
Log Message:
-----------
[flang] Fix RecordType sizes, TRANSFER lowering, and BIND(C) ABI on SystemZ/PPC64le (#220377)
### Summary
`fir::getTypeSizeAndAlignment` had two bugs in its `RecordType` branch:
1. **Packed records**: `isPacked()` was ignored. LLVM packed structs
advance by `getTypeAllocSize` per field (not `getTypeStoreSize`), so
each component occupies `alignTo(storeSize, ABIalign)` bytes with no
inter-field or tail padding, and the struct ABI alignment is 1. For
example, a packed `{i32, f64}` on x86-64 is 12 bytes, not 16.
2. **Tail padding**: the unpacked field loop returned the raw summed
size without the final `alignTo(size, align)`. For example, `{i32, i8}`
(sum = 5 bytes, align = 4) was returned as 5 bytes instead of the
correct allocation size 8 bytes.
### Changes
- **`RecordType` Sizing**: Fixed `fir::getTypeSizeAndAlignment` to
respect `isPacked()` and include the final alignment padding for
unpacked records.
- **`TRANSFER` Inline Gate**: Updated `genTransfer` to compare sizes
using `fir::getTypeSizeAndAlignment`, which includes tail padding for
`RecordType`, matching the allocation extent used by Fortran
`STORAGE_SIZE`, descriptor element extent, and the runtime `TRANSFER`
path.
- **Aligned Temporary & Byte Copy**: For `RecordType` sources where
`sourceAlign < resultAlign` (e.g. `{i32, i8}` with 4-byte alignment
transferred to `integer(8)` with 8-byte alignment), copy via `fir.copy`
(a non-overlapping byte copy / `memcpy` of the full allocation extent)
into a result-aligned alloca instead of loading directly from the source
pointer. This avoids UB from over-aligned loads and preserves both
inter-field and tail padding bytes, satisfying F2023 16.9.212.
- **`BIND(C)` / `VALUE` ABI on SystemZ and PPC64le**: The corrected
allocation sizes propagate into `Target.cpp`'s ABI classification,
fixing argument passing for both packed and tail-padded records. In the
SystemZ and PPC64le examples the record layout already included the
padding, but the size query used for argument classification was wrong:
- SystemZ: `{i32, i8}` (allocation size 8 bytes) now correctly passes as
`i64`; `{i16, i8}` (4 bytes) as `i32`.
- PPC64le: `{f128, i8}` (allocation size 32 bytes) now correctly passes
as `[4 x i64]`.
Both now match the C ABI. Programs that pass `BIND(C)` `VALUE`
derived-type arguments of these shapes to C functions were already
producing incorrect results. Programs compiled entirely in Fortran
relying on the old convention must be recompiled.
Assisted-by: IBM Bob
Commit: 1b1e9d1ea1755187d87bb060b960f8fe1c5e3b95
https://github.com/llvm/llvm-project/commit/1b1e9d1ea1755187d87bb060b960f8fe1c5e3b95
Author: Shimin Cui <scui at ca.ibm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
Recommit [GOFFObjectFile] replace snprintf with formatv (#224435) (#224489)
Recommit [GOFFObjectFile] replace snprintf with formatv (#224435)
Commit: 09046d9715378c777ff28bb6c2e1e0b20c7bd1c8
https://github.com/llvm/llvm-project/commit/09046d9715378c777ff28bb6c2e1e0b20c7bd1c8
Author: Kewen Meng <Kewen.Meng at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libc/test/src/mathvec/CMakeLists.txt
M libc/test/src/mathvec/sinf_test.cpp
Log Message:
-----------
[libc] Fix sinf unit test failures (#224475)
https://github.com/llvm/llvm-project/pull/224339 suppressed the tests
but the executable still runs. This change further suppressed the
executable so lit didn't discover and run it.
Bot kept failing on the libc test:
https://lab.llvm.org/buildbot/#/builders/10/builds/36051
tested locally:
>Total Discovered Tests: 817
Passed: 817 (100.00%)
Commit: 04659071744a6153a29860b51c28abf5cc2061c4
https://github.com/llvm/llvm-project/commit/04659071744a6153a29860b51c28abf5cc2061c4
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
Log Message:
-----------
[mlir][xegpu] Fix lane-local classification for packed-lane-data reductions (#223077)
isReductionLaneLocal decided whether a subgroup vector.multi_reduction
reduces within a lane by comparing the result vector type against its
distributed type. This assumes the lane_layout along the non-reduction
dim is always larger than 1, which is not always true.
This PR fixes it by checking the source's lane_layout along the
reduction dimension is 1.
assisted-by-claude
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: c36b84c711a2a45aa7ae8bde8eb74ba1fc3214a1
https://github.com/llvm/llvm-project/commit/c36b84c711a2a45aa7ae8bde8eb74ba1fc3214a1
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/test/CodeGen/AMDGPU/lower-noalias-kernargs.ll
Log Message:
-----------
[AMDGPU] Fix noalias metadata for calls that capture a pointer earlier (#219887)
A call could get `!noalias` against a kernel noalias argument even when
that argument was captured into a global earlier and the call can reach
it that way
Only calls that touch just their own argument pointees are actually safe
to mark this way
Commit: 90a8d09917f0d508292405a68ae1f6de3b40fd93
https://github.com/llvm/llvm-project/commit/90a8d09917f0d508292405a68ae1f6de3b40fd93
Author: chandan singh <36783761+chandankds at users.noreply.github.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
A llvm/test/Transforms/SampleProfile/pseudo-probe-call-vs-invoke-hash.ll
A llvm/test/Transforms/SampleProfile/pseudo-probe-cyclic-normal-dest.ll
Log Message:
-----------
[CSSPGO] [Pseudo-Probe] Avoid infinite loop on cyclic invoke destinations (#221630)
SampleProfileProber::getOriginalTerminator() walks invoke normal
destinations (and ignored single-successor blocks) so the CFG hash stays
stable across call-to-invoke conversion. That walk assumes the chain is
acyclic.
Valid IR can have a self-looping invoke (normal dest == the invoke
block). The walk then never returns, and opt -passes=pseudo-probe hangs.
Example Testcase:
```cpp
void f1();
void test() {
try {
for (;;)
f1();
} catch (...) {}
}
```
This patch walk iteratively and record visited blocks. If the next block
was already seen, stop at the terminator that closes the cycle. Acyclic
invoke continuation chains are unchanged.
Commit: 9215947c3d1a80640cf1366c0a470f22c72b5128
https://github.com/llvm/llvm-project/commit/9215947c3d1a80640cf1366c0a470f22c72b5128
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-18 (Fri, 18 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:
-----------
[Clang][RISCV] Add scalar saturating add/sub, absolute value and rev intrinsics (#224377)
First batch of the P extension `Scalar Intrinsics` group, covering the
operations that map onto a single existing LLVM IR intrinsic
(llvm.sadd.sat, llvm.uadd.sat, llvm.ssub.sat, llvm.usub.sat, llvm.abs,
llvm.bitreverse) that the backend already selects, so no codegen changes
are needed.
Commit: d22a72cebb2dce4be4b64bfd196ac85d36f85bd1
https://github.com/llvm/llvm-project/commit/d22a72cebb2dce4be4b64bfd196ac85d36f85bd1
Author: PiJoules <leonardchan at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
M llvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll
Log Message:
-----------
[RelLookupTableConverter] Reject volatile loads (#224414)
The pass converts absolute pointer lookup tables to relative lookup
tables and replaces the table load with a call to `@llvm.load.relative`.
However, `@llvm.load.relative` is an intrinsic with `memory(argmem:
read)` and cannot represent volatile access semantics. Replacing a
volatile load with `@llvm.load.relative` drops volatile side effects.
Commit: ac0c8eb5aa55af2387b6c925de26e159b7a8a271
https://github.com/llvm/llvm-project/commit/ac0c8eb5aa55af2387b6c925de26e159b7a8a271
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-18 (Fri, 18 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:
-----------
[Clang][RISCV] Add packed subvector extract intrinsics (#224429)
Add the Packed Subvector Extract intrinsics:
- `__riscv_pget_i8x8_i8x4`
- `__riscv_pget_u8x8_u8x4`
- `__riscv_pget_i16x4_i16x2`
- `__riscv_pget_u16x4_u16x2`
Each extracts the 32-bit packed subvector selected by a constant index
(0 = low, 1 = high) from a 64-bit packed vector. The index is
range-checked with `__enable_if__`, as for the element extract
intrinsics.
This is header-only: the shuffle is selected without backend changes, so
no new IR intrinsics or builtins are required.
Commit: 0528425063b731228ef28c3c5e1adb9ba15d0907
https://github.com/llvm/llvm-project/commit/0528425063b731228ef28c3c5e1adb9ba15d0907
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lld/MachO/DriverUtils.cpp
M lld/MinGW/Driver.cpp
M lld/wasm/Driver.cpp
Log Message:
-----------
[lld] Use LLVM_CONSTRUCT_OPT_INFO. NFC (#224503)
Commit: c9a08bdff6890a073193f23f5b91517e300939f6
https://github.com/llvm/llvm-project/commit/c9a08bdff6890a073193f23f5b91517e300939f6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Avoid some unnecessary diagnostic work (#224333)
We emit these diagnostics a lot, but we almost never see them. Try to
short-circuit these functions if nobody will see the diagnostics anyway.
Commit: 5d7bda4e51049f43d39ce6a35d7c44fa44036509
https://github.com/llvm/llvm-project/commit/5d7bda4e51049f43d39ce6a35d7c44fa44036509
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
Log Message:
-----------
[lldb] Turn GetDeclContextDIEContainingDIE into a worklist (NFC) (#224453)
Convert GetDeclContextDIEContainingDIE from a recursive to a worklist
approach, avoiding a stack frame per DIE for long chains. The behavior
remains the same.
Commit: 3c30abb2a47c83adee8aeaf034727f32b2a05acb
https://github.com/llvm/llvm-project/commit/3c30abb2a47c83adee8aeaf034727f32b2a05acb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
A llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-functions-hotness.ll
Log Message:
-----------
[NFC][ThinLTOBitcodeWriter] Add test for cfi.functions metadata hotness encoding (#223843)
Add pre-commit test coverage establishing the baseline cfi.functions
metadata linkage operand values before implementing hotness encoding.
PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* https://github.com/llvm/llvm-project/pull/221044
* ➤ https://github.com/llvm/llvm-project/pull/223843
* https://github.com/llvm/llvm-project/pull/223846
* https://github.com/llvm/llvm-project/pull/223848
* https://github.com/llvm/llvm-project/pull/221046
Assisted-by: Gemini
Commit: b2f2c6b539df45710a2fced363370ec508575dca
https://github.com/llvm/llvm-project/commit/b2f2c6b539df45710a2fced363370ec508575dca
Author: Zeyi Xu <zeyi2 at nekoarch.cc>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
Log Message:
-----------
[clang-tidy] Speed up misc-static-initialization-cycle (#224243)
Closes #224219
Commit: af8039273a760a21b3cf8006ebaa107481227fd6
https://github.com/llvm/llvm-project/commit/af8039273a760a21b3cf8006ebaa107481227fd6
Author: Mohammed Ashraf <125150223+Holo-xy at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
Log Message:
-----------
[BoundsSafety] Unify ParseLexedAttributeTokens (#206689)
This PR is a continuation of the previous [Unify ParseLexedAttribute
PR](https://github.com/llvm/llvm-project/pull/186033)
Commit: 3d3dbe5fdf4c274c97d5c370218a6f38db5df78d
https://github.com/llvm/llvm-project/commit/3d3dbe5fdf4c274c97d5c370218a6f38db5df78d
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp
Log Message:
-----------
[ORC] Fix wrong callee in EPCGenericRTDyldMemoryManager dtor (#224493)
The destructor invoked the reserve wrapper with the release signature
when freeing FinalizedAllocs. Call the release wrapper instead.
No testcase. This was spotted by inspection, and this class is expected
to be deprecated shortly.
Commit: 1ddec116ccd78a04c657a1e8ad43d5afc458d19c
https://github.com/llvm/llvm-project/commit/1ddec116ccd78a04c657a1e8ad43d5afc458d19c
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
A llvm/include/llvm/CodeGen/ResetMachineFunctionPass.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/ResetMachineFunctionPass.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[CodeGen][NPM] Port ResetMachineFunction to NPM (#222886)
Assisted by: Opus 5
Commit: d46351c80ee1b1bf356bdb69318069b94853cddf
https://github.com/llvm/llvm-project/commit/d46351c80ee1b1bf356bdb69318069b94853cddf
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Analysis/models/interactive_host.py
M llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
M llvm/test/CodeGen/MLRegAlloc/Inputs/interactive_main.py
M llvm/test/CodeGen/MLRegAlloc/interactive-mode.ll
Log Message:
-----------
[MLGO] Saturate out-of-range regalloc priority advice (#224062)
Converting the float advice to unsigned is undefined outside `[0, 2^32)`
interval
Negative advice wrapped to near UINT_MAX and flipped the priority order,
NaN or advice below 1.0 made every priority 0
Commit: 7f35f5f2b2a4976725714beb35e3e0399fc7c4a7
https://github.com/llvm/llvm-project/commit/7f35f5f2b2a4976725714beb35e3e0399fc7c4a7
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
A libcxx/test/std/containers/associative/map/types.compile.pass.cpp
R libcxx/test/std/containers/associative/map/types.pass.cpp
A libcxx/test/std/containers/associative/multimap/types.compile.pass.cpp
R libcxx/test/std/containers/associative/multimap/types.pass.cpp
A libcxx/test/std/containers/associative/multiset/types.compile.pass.cpp
R libcxx/test/std/containers/associative/multiset/types.pass.cpp
A libcxx/test/std/containers/associative/set/types.compile.pass.cpp
R libcxx/test/std/containers/associative/set/types.pass.cpp
A libcxx/test/std/containers/container.adaptors/priority.queue/protected_members.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.fail.cpp
A libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.pass.cpp
R libcxx/test/std/containers/container.adaptors/priority.queue/types.pass.cpp
A libcxx/test/std/containers/sequences/array/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/array/types.pass.cpp
A libcxx/test/std/containers/sequences/deque/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/deque/types.pass.cpp
A libcxx/test/std/containers/sequences/forwardlist/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
A libcxx/test/std/containers/sequences/list/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/list/types.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/vector.bool/types.pass.cpp
A libcxx/test/std/containers/sequences/vector/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/vector/types.pass.cpp
A libcxx/test/std/containers/unord/unord.map/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.map/types.pass.cpp
A libcxx/test/std/containers/unord/unord.multimap/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.multimap/types.pass.cpp
A libcxx/test/std/containers/unord/unord.multiset/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.multiset/types.pass.cpp
A libcxx/test/std/containers/unord/unord.set/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.set/types.pass.cpp
A libcxx/test/std/containers/views/mdspan/mdspan/types.compile.pass.cpp
R libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
A libcxx/test/std/containers/views/views.span/types.compile.pass.cpp
R libcxx/test/std/containers/views/views.span/types.pass.cpp
Log Message:
-----------
[libc++] Refactor container's types.pass.cpp tests (#223602)
Convert types.pass.cpp to compile-only tests because there is no runtime
component.
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 1b5da535082e9f2b7bd469fbaaa1ac9aa65ba562
https://github.com/llvm/llvm-project/commit/1b5da535082e9f2b7bd469fbaaa1ac9aa65ba562
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
Log Message:
-----------
[lldb-server] Fix GetMemoryRegionInfo syntax to include trailing `;` (#224319)
GDBRemoteCommunicationClient::GetMemoryRegionInfo parses fields of this
packet using `StringExtractor::GetNameColonValue`, which expects a `;`
even for the last field. The documentation of the packet doesn't
explicitly say so, but implies these fields should always be
;-terminated. As a result, before this patch, that field was not parsed
at all.
Commit: 77cb8a9fd7d80e54bad6cbbe8a0e3507c34fe51b
https://github.com/llvm/llvm-project/commit/77cb8a9fd7d80e54bad6cbbe8a0e3507c34fe51b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
M mlir/lib/Target/LLVM/ModuleToObject.cpp
M mlir/lib/Target/LLVMIR/Transforms/TargetUtils.cpp
Log Message:
-----------
mlir: Avoid using TargetMachine::createDataLayout (#224456)
Commit: 29bddf3dca241381ef55005a3b003ff4e7c44959
https://github.com/llvm/llvm-project/commit/29bddf3dca241381ef55005a3b003ff4e7c44959
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/docs/tutorial/BuildingAJIT3.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.md
M llvm/examples/Kaleidoscope/Chapter8/toy.cpp
Log Message:
-----------
docs: Compute the DataLayout from the triple in the tutorials (#224458)
Commit: 7dd3c5f4a6273ea730745b3b97e4fa30b3d7558a
https://github.com/llvm/llvm-project/commit/7dd3c5f4a6273ea730745b3b97e4fa30b3d7558a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/test/API/lang/objc/synthesized-property-accessor/TestSynthesizedPropertyAccessor.py
Log Message:
-----------
Require Darwin for TestSynthesizedPropertyAccessor so that it won't fail on every PR. (#224531)
Commit: 813cfb0b95374a89d08a6b9a6883a26bc426c5d2
https://github.com/llvm/llvm-project/commit/813cfb0b95374a89d08a6b9a6883a26bc426c5d2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/test/Integration/RISCV/riscv-target-abi.f90
Log Message:
-----------
flang: Compute the module DataLayout from the triple and ABI (#224419)
Commit: 42f0538637620524486f7b87db764fa42899f568
https://github.com/llvm/llvm-project/commit/42f0538637620524486f7b87db764fa42899f568
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/lib/MC/MCObjectFileInfo.cpp
A llvm/test/MC/ELF/section-callgraph.s
Log Message:
-----------
[MC] Remove unused pre-created .llvm.callgraph section (#224369)
getCallGraphSection always creates a per-function SHF_LINK_ORDER
section, so the pre-created one is unused. Its only effect is that
hand-written `.section .llvm.callgraph` silently gets
`SHT_LLVM_CALL_GRAPH`, while the same directive within a group (e.g.
`.pushsection .llvm.callgraph,"?"` after a group member) gets
SHT_PROGBITS.
Remove it so that an omitted type gives SHT_PROGBITS in both cases, like
GNU assembler. Specify `%llvm_call_graph` to get SHT_LLVM_CALL_GRAPH.
Commit: f17b2d1241b235c5a29e3eda2fd0ecfefee49ec1
https://github.com/llvm/llvm-project/commit/f17b2d1241b235c5a29e3eda2fd0ecfefee49ec1
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/test/API/lang/objc/synthesized-property-accessor/TestSynthesizedPropertyAccessor.py
Log Message:
-----------
[lldb][test] Add missing import to TestSynthesizedPropertyAccessor (#224543)
The decorators were introduced in 846719ae22 .
Commit: 2f7f8d1f7c70b6a016cd25d82d4a0a8f43c144aa
https://github.com/llvm/llvm-project/commit/2f7f8d1f7c70b6a016cd25d82d4a0a8f43c144aa
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.h
M llvm/lib/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp
Log Message:
-----------
[ORC] Drive EPCGenericRTDyldMemoryManager via proxies (#224532)
Replace its three callSPSWrapper sites (reserve, initialize, release)
with a SimpleMemoryMapBindings handle, matching the memory manager
already used by EPCGenericJITLinkMemoryManager. Dispatch and callee
errors now arrive on a single channel, so the paired error checks
collapse into one.
Commit: 8d3c2f7eeab5fc3441f20de51bffbdfc015231d6
https://github.com/llvm/llvm-project/commit/8d3c2f7eeab5fc3441f20de51bffbdfc015231d6
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/test/DebugInfo/X86/fission-ranges.ll
A llvm/test/DebugInfo/X86/prologue-end-phi-incoming-constant.ll
Log Message:
-----------
[FastISel] Give PHI incoming materializations a debug location (#223677)
When a block only sets up a successor's PHI nodes before falling
through, nothing follows those materializations for flushLocalValueMap
to take a location from, so the loop's line got its first is_stmt entry
inside the header, which is also the back edge target. Use the
terminator's location instead (which branches to the PHI).
The motivation is to fix
https://github.com/llvm/llvm-project/issues/202065 where
compiler generated loops for Fortran array expressions caused
breakpoints on the statement to fire at each iteration inside the loop
body instead of once inside the header.
Assisted-by: AI
Commit: a543cc18874c79a25948022eeb2299e6dc6fda73
https://github.com/llvm/llvm-project/commit/a543cc18874c79a25948022eeb2299e6dc6fda73
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/tools.cpp
M flang/include/flang/Optimizer/Builder/Runtime/Assign.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Support/AllocationPolicy.h
M flang/include/flang/Runtime/assign.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
M flang/lib/Optimizer/Support/AllocationPolicy.cpp
M flang/test/Fir/allocation-policy-pipeline.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/copy-in-out-codegen.fir
M flang/test/HLFIR/copy-in-out.fir
M flang/test/HLFIR/inline-hlfir-copy-stack.fir
M flang/test/HLFIR/inline-hlfir-copy.fir
M flang/test/HLFIR/memory-effects.fir
M flang/test/Lower/HLFIR/assumed-rank-calls.f90
M flang/test/Lower/HLFIR/call-postponed-associate.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/components.f90
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/parent-component.f90
Log Message:
-----------
[flang][HLFIR] make copyin/copyout allocation inline (#224063)
This patch moves most allocations of copyin/copyout to the compiler so
that small buffers can be stack allocated, even when the loops are not
inlined. The main motivation is to allow better memory management when
the code ends-up in device region, but this also benefits CPU by giving
more control over allocations.
In the future, we may just consider inlining everything including
copyout, but very early attempts to do so showed that this increased WRF
compile times significantly at O2 for no benefits. Plus, I rather keep
the copy-out inside the runtime only while @eugeneepshteyn is working on
making it "copy on change".
Hence this patch just moves to use `ShallowCopyDirect` for the copy-in
and a new `CopyOutAssignDirect` for the copy-out (so that the new copy
on change policy can be integrated) for non assumed-rank non polymorphic
copy-in/copy-out, and does the allocation inline for the buffer
following the same rules as in `inlineHLFIRCopyin` (i.e. small buffers
on stack, everything else on the heap for now).
A new "mustFree" boolean has to be added as a result to hlfir.copyin and
input from hlfir.copyout to tell if the buffer needs to be deallocated
or not (stack or heap allocated) to avoid having to make assumptions on
how the buffer was allocated in hlfir.copyout codegen.
Assited-by: AI
Commit: 597b9360616e3a24b11940593a5b475bf1edbaf7
https://github.com/llvm/llvm-project/commit/597b9360616e3a24b11940593a5b475bf1edbaf7
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/pointers/nested-struct-opaque-pointers.ll
Log Message:
-----------
[SPIR-V] Preserve struct name when rebuilding nested types (#224544)
Follow up on comment from
https://github.com/llvm/llvm-project/pull/222968
Commit: 6578ab22aa65c308c41ac3b0979f65dfb797b311
https://github.com/llvm/llvm-project/commit/6578ab22aa65c308c41ac3b0979f65dfb797b311
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/tools.cpp
M flang/include/flang/Optimizer/Builder/Runtime/Assign.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Support/AllocationPolicy.h
M flang/include/flang/Runtime/assign.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
M flang/lib/Optimizer/Support/AllocationPolicy.cpp
M flang/test/Fir/allocation-policy-pipeline.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/copy-in-out-codegen.fir
M flang/test/HLFIR/copy-in-out.fir
M flang/test/HLFIR/inline-hlfir-copy-stack.fir
M flang/test/HLFIR/inline-hlfir-copy.fir
M flang/test/HLFIR/memory-effects.fir
M flang/test/Lower/HLFIR/assumed-rank-calls.f90
M flang/test/Lower/HLFIR/call-postponed-associate.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/components.f90
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/parent-component.f90
Log Message:
-----------
Revert "[flang][HLFIR] make copyin/copyout allocation inline" (#224564)
Reverts llvm/llvm-project#224063
Breaks shared library builds
Commit: 93c5d8dc62aed90249af2a821d6fd86f3aa78425
https://github.com/llvm/llvm-project/commit/93c5d8dc62aed90249af2a821d6fd86f3aa78425
Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
M llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
Log Message:
-----------
[ORC][Mips] Fix calling convention handling for lazy calls (#223830)
Move the resolved address into $t9 before jumping to it, as jumping
target is evaluated before delay slot execution.
Correct the o32 stub size to 16 bytes and reserve the required argument
save area around the reentry call for saved registers.
Update resolver sizes to match the emitted instructions.
Validated with existing tests on Mips Linux for both o32 and n64.
Commit: 4772a40be634e8b343fab504db691c473e12232b
https://github.com/llvm/llvm-project/commit/4772a40be634e8b343fab504db691c473e12232b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
Log Message:
-----------
Revert "[WebKit checkers] Treat the return value of an instance method as an unsafe pointer origin (llvm#160569)" (#224479)
This reverts commmit d08a2a43abd91865002a42938b60f172527defa3 as it
introduced too many new warnings.
Commit: af59e6e8eef55e3651dee022bd0874a695637bb2
https://github.com/llvm/llvm-project/commit/af59e6e8eef55e3651dee022bd0874a695637bb2
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Remove `hasSideEffects` from `SI_IF`, `SI_ELSE` and `SI_LOOP` (#224007)
An arbitrary side-effect flag blocks sinking of memory operations due to
the unmodelled-side-effect check returning true. This change has no
effect on other transformations as modeled side effects (EXEC and SCC
defs) are still accounted for and sufficient to gate unsound code
motion. All three instructions are still rejected by `isSafeToMove` as
they carry the terminator flag.
This commit is part of the effort to enhance `MachineSink` on the AMDGPU
target. By itself itself it does not unblock more code motion
opportunities but it is a prerequisite to do so.
Commit: d9324899756c7c85f0badd387b2138d75a050bb8
https://github.com/llvm/llvm-project/commit/d9324899756c7c85f0badd387b2138d75a050bb8
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGException.cpp
Log Message:
-----------
[CodeGen] Don't use CreateRuntimeFunction() for intrinsics (#224329)
These should just use getIntrinsic().
Commit: e1c8d715d2b034526808b8b046ba6fcbe950c3de
https://github.com/llvm/llvm-project/commit/e1c8d715d2b034526808b8b046ba6fcbe950c3de
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
R lld/test/ELF/Inputs/icf-merge-sec.s
R lld/test/ELF/Inputs/icf-merge.s
R lld/test/ELF/Inputs/icf-merge2.s
R lld/test/ELF/Inputs/icf-merge3.s
R lld/test/ELF/Inputs/icf2.s
R lld/test/ELF/icf-merge-sec.s
M lld/test/ELF/icf-merge.s
A lld/test/ELF/icf-reference-graph.s
R lld/test/ELF/icf14.s
R lld/test/ELF/icf2.s
R lld/test/ELF/icf3.s
Log Message:
-----------
[ELF,test] Reorganize ICF tests by the property they exercise (#224567)
icf-merge.s now covers relocations into SHF_MERGE sections, adding
section symbol addends at and past the end of the section.
icf-reference-graph.s collects reference shapes: the cycle from icf2.s
and icf3.s, a section referencing itself, and chains that differ only
beyond the initial hash's reach. Only the cycle was covered before.
Commit: 7db8a89e290d8ff44a972b096282c59340a788b7
https://github.com/llvm/llvm-project/commit/7db8a89e290d8ff44a972b096282c59340a788b7
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
M llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
M llvm/include/llvm/CodeGen/LiveIntervals.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/include/llvm/CodeGen/Rematerializer.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryScanner.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/MC/MCAsmStreamer.h
M llvm/include/llvm/MC/MCGOFFObjectWriter.h
M llvm/include/llvm/Passes/RunCodeGen.h
M llvm/include/llvm/Support/RWMutex.h
M llvm/include/llvm/Transforms/Scalar/LogicalSROA.h
M llvm/include/llvm/Transforms/Utils/FunctionComparator.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
Log Message:
-----------
[llvm] Adjust LLVM_ABI annotations (#224293)
The automatic LLVM_ABI annotations script has been broken since #208780.
PR #223354 restores its functionality. In the meantime, some API
annotations regressed. This PR aims to fix all of these regressions.
This was applied by calling the updated ids-check-helper.py from #223354
on the public LLVM headers on a macOS host and clang-formatting the
results.
The effort to build LLVM as a dylib is tracked in #109483.
Commit: 69410be09b4c82f45ed5c9dbe68a326cce9e428f
https://github.com/llvm/llvm-project/commit/69410be09b4c82f45ed5c9dbe68a326cce9e428f
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx1250.mir
Log Message:
-----------
[AMDGPU][CodeGen] Replace non-existent opcodes in gfx1250 test (#223767)
`IMAGE_LOAD_V5_V1` and `IMAGE_SAMPLE_C_CL_O_V4_V8` don't exist on
gfx1250. This keeps the tests' intent without relying on them.
Commit: b35e49363c57376c40a250b57b4acd0c1138a0dd
https://github.com/llvm/llvm-project/commit/b35e49363c57376c40a250b57b4acd0c1138a0dd
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/Loads.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
Log Message:
-----------
[MemoryDependenceAnalysis] Migrate `isStorePreservingMemoryLocation` to Loads (NFC) (#223700)
Minor opportunity to expose the helper and move it out of MDA.
Commit: 1985f37b5d3a314bbcadebc716bd216bca38e8b4
https://github.com/llvm/llvm-project/commit/1985f37b5d3a314bbcadebc716bd216bca38e8b4
Author: Jared Wyles <jared.wyles at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Log Message:
-----------
[CMake] Do not use llvm-rc without Clang in external projects (#224505)
On Windows, configuring LLVM without Clang but with external projects
i.e.
```
-DLLVM_ENABLE_PROJECTS=
-DLLVM_ENABLE_RUNTIMES=orc-rt
```
llvm-rc is selected as the rc compiler but requires clang for
pre-processing. Only select llvm-rc for external projects when Clang is
also part of the toolchain, otherwise CMake uses the host rc compiler.
Commit: ad0072d503a035d3e30fab668695a72d5774556f
https://github.com/llvm/llvm-project/commit/ad0072d503a035d3e30fab668695a72d5774556f
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/tools.cpp
M flang/include/flang/Optimizer/Builder/Runtime/Assign.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Support/AllocationPolicy.h
M flang/include/flang/Runtime/assign.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
M flang/lib/Optimizer/Support/AllocationPolicy.cpp
M flang/lib/Optimizer/Support/CMakeLists.txt
M flang/test/Fir/allocation-policy-pipeline.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/copy-in-out-codegen.fir
M flang/test/HLFIR/copy-in-out.fir
M flang/test/HLFIR/inline-hlfir-copy-stack.fir
M flang/test/HLFIR/inline-hlfir-copy.fir
M flang/test/HLFIR/memory-effects.fir
M flang/test/Lower/HLFIR/assumed-rank-calls.f90
M flang/test/Lower/HLFIR/call-postponed-associate.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/components.f90
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/parent-component.f90
Log Message:
-----------
Reland [flang][HLFIR] make copyin/copyout allocation inline (#224063) (#224570)
This patch moves most allocations of copyin/copyout to the compiler so
that small buffers can be stack allocated, even when the loops are not
inlined. The main motivation is to allow better memory management when
the code ends-up in device region, but this also benefits CPU by giving
more control over allocations.
In the future, we may just consider inlining everything including
copyout, but very early attempts to do so showed that this increased WRF
compile times significantly at O2 for no benefits and the copyout runtime
was just modified to do "copy on change" so I do not want to inline it
until more this new approached is tested more broadly.
Hence this patch just moves to use `ShallowCopyDirect` for the copy-in
and a new `CopyOutAssignDirect` for the copy-out (so that the new copy
on change policy can be integrated) for non assumed-rank non polymorphic
copy-in/copy-out, and does the allocation inline for the buffer
following the same rules as in `inlineHLFIRCopyin` (i.e. small buffers
on stack, everything else on the heap for now).
A new "mustFree" boolean has to be added as a result to hlfir.copyin and
input from hlfir.copyout to tell if the buffer needs to be deallocated
or not (stack or heap allocated) to avoid having to make assumptions on
how the buffer was allocated in hlfir.copyout codegen.
Assited-by: AI
Relands #224063 with a CMakeLists.txt change that fixes shared library builds.
Commit: 6f653e2e40ef7095b5cb04cd0b34d8d5b754301b
https://github.com/llvm/llvm-project/commit/6f653e2e40ef7095b5cb04cd0b34d8d5b754301b
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/i386/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/grp.yaml
M libc/src/grp/CMakeLists.txt
A libc/src/grp/endgrent.cpp
A libc/src/grp/endgrent.h
A libc/src/grp/getgrent.cpp
A libc/src/grp/getgrent.h
A libc/src/grp/setgrent.cpp
A libc/src/grp/setgrent.h
M libc/test/src/grp/CMakeLists.txt
A libc/test/src/grp/getgrent_test.cpp
A libc/test/src/grp/grp_test_utils.h
Log Message:
-----------
[libc] Add getgrent, setgrent, and endgrent entrypoints (#224372)
Implement the POSIX group database iteration entrypoints getgrent,
setgrent, and endgrent on top of grp_utils and FlatFileDatabase.
Non-reentrant calls read into a process-global DynamicBuffer that grows
to the high-water mark of the largest group record seen. endgrent closes
the file stream without freeing the buffer so pointers returned prior to
endgrent remain valid until the next non-reentrant call.
* Add getgrent, setgrent, and endgrent entrypoints
* Define getgrent, setgrent, and endgrent in include/grp.yaml
* Expose entrypoints across Linux target architectures
* Add hermetic integration tests in test/src/grp/getgrent_test.cpp
Assisted-by: Automated tooling, human reviewed.
Commit: 47f4f0fdb9d4f52b5936478f4d43064c877065e3
https://github.com/llvm/llvm-project/commit/47f4f0fdb9d4f52b5936478f4d43064c877065e3
Author: Ömer Sinan Ağacan <omer at osa1.net>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/recurrence.ll
Log Message:
-----------
[ValueTracking] Compute known bits for `umin` and `umax` recurrences (#222890)
Commit: bb50aa72c5eecafc831cc636006fcb926af35fa4
https://github.com/llvm/llvm-project/commit/bb50aa72c5eecafc831cc636006fcb926af35fa4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
A libcxx/test/benchmarks/regex.bench.cpp
Log Message:
-----------
[libc++] Add some basic benchmarks for std::regex (#223633)
Commit: db349a40f94f8d3fe089b396d688f38dcb794ebf
https://github.com/llvm/llvm-project/commit/db349a40f94f8d3fe089b396d688f38dcb794ebf
Author: Björn Svensson <bjorn.a.svensson at est.tech>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
Log Message:
-----------
[clang-tidy] Fix false positive in readability-non-const-parameter for atomic builtins (#221951)
Atomic builtins are represented in the AST by `AtomicExpr` rather than
`CallExpr`, so `readability-non-const-parameter` never analysed their
operands and assumed the pointed-to data was only read. It then
suggested making those pointer parameters point to const, and applying
the fix-it produced code that no longer compiles.
The most visible case is the `expected` operand of a compare-exchange,
which per the C standard must be a pointer to non-const because it
receives the old value when the exchange fails:
https://godbolt.org/z/sovKf3G3c
Before this change the check reported `expected` as a candidate for
pointer-to-const. The GNU builtins are affected the same way, and there
the address operand `obj` was reported too, as were the destination
operand of `__atomic_load()` and the old-value operand of
`__atomic_exchange()`.
Match `atomicExpr()` and mark all of its operands, mirroring how
arguments of ordinary calls are already treated.
---------
Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>
Commit: 24c737781980610b358c351c40eb932a2b68f735
https://github.com/llvm/llvm-project/commit/24c737781980610b358c351c40eb932a2b68f735
Author: Julien Villette <julien.villette at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
Log Message:
-----------
[AArch64][NeoverseV1/V2] Fix extended/shifted-register scheduling for ADD[S]/SUB[S]/AND[S]/BIC[S] (#220920)
Verified with llvm-exegesis on Neoverse V1 and V2 hardwares.
Opcodes | Before | After
-----------------------|---------------------|------------------------------
ADDWrx/SUBWrx | 2c (SchedAlias) | IsRealArithExtendW: 1c or 2c
ADDSWrx/SUBSWrx | IsCheapLSL | IsRealArithExtendW: 1c or 2c
ADDSXrx/SUBSXrx | IsCheapLSL | static 2c (always real extend)
ADDSXrx64/SUBSXrx64 | IsCheapLSL | static 1c (always passthrough)
ANDS/BICS Wrs,Xrs | static 2c | NeoverseShift0: 1c or 2c
IsCheapLSL checks the shift *amount* (<=4), which is the wrong axis for
the extend-register forms (need the extend *type* instead) and does not
apply to ANDS/BICS (no amount threshold, just shift-present-or-not).
NeoverseNoLSL becomes NeoverseShift0: adding LSR, ASR and ROR in
addition to LSL. Does not apply it on NeoverseV3 and others as it is not
validated using llvm-exegesis on these hardwares.
Commit: 8728e739e081b27eb2fe37658408578252c8a995
https://github.com/llvm/llvm-project/commit/8728e739e081b27eb2fe37658408578252c8a995
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M .ci/all_requirements.txt
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .github/workflows/build-ci-container-tooling.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/commit-access-greeter.yml
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/containers/libc/Dockerfile
M .github/workflows/ids-check.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libcxx-benchmark-commit.yml
M .github/workflows/libcxx-pr-benchmark.yml
M .github/workflows/llvm-abi-tests.yml
M .github/workflows/merged-prs.yml
M .github/workflows/mlir-spirv-tests.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/premerge.yaml
M .github/workflows/spirv-tests.yml
M .github/workflows/subscriber.yml
M .github/workflows/sycl-tests.yml
M .github/workflows/test-suite.yml
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-tools-extra/Maintainers.md
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/docs/_static/clang-tools-extra-styles.css
M clang-tools-extra/docs/clang-change-namespace.md
M clang-tools-extra/docs/clang-doc.md
M clang-tools-extra/docs/clang-include-fixer.md
M clang-tools-extra/docs/clang-reorder-fields.md
M clang-tools-extra/docs/clang-tidy/checks/list.md
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/docs/conf.py
M clang-tools-extra/docs/pp-trace.md
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses-c23.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses.cpp
M clang/docs/ReleaseNotes.md
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/HLSLIntrinsics.td
M clang/include/clang/Basic/SanitizerSpecialCaseList.h
M clang/include/clang/Basic/TargetID.h
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/LowerToLLVM.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/CodeGen/BackendUtil.h
M clang/include/clang/CodeGen/ModuleBuilder.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/ModulesDriver.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/PrecompiledPreamble.h
M clang/include/clang/Options/FlangOptions.td
M clang/include/clang/Options/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.h
M clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/EvaluationResult.cpp
A clang/lib/AST/ByteCode/FrameAllocator.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/lib/CIR/CodeGen/Targets/NVPTX.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.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/CGCleanup.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.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/CodeGen/QualTypeMapper.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.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/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Headers/riscv_packed_simd.h
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
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/SemaBoundsSafety.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/test/AST/ByteCode/cxx14.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
M clang/test/AST/ByteCode/invalid.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-recovery.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-checked-unique-ptr.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-counted-unique-ptr.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
M clang/test/Analysis/Scalable/source-edit-generation/cpp-bounded-buffers-replacements.cpp
M clang/test/Analysis/Scalable/source-edit-generation/multi-tu-edits-merge.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
A clang/test/CIR/CodeGen/atomic-fn-nyi.c
M clang/test/CIR/CodeGen/attr-musttail.cpp
A clang/test/CIR/CodeGen/bitfield-unaligned-expensive-access.c
R clang/test/CIR/CodeGen/call-conv-lowering-win64-skipped.c
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
A clang/test/CIR/CodeGenBuiltins/builtin-maxnum-minnum.c
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
M clang/test/CIR/CodeGenCUDA/surface.cu
A clang/test/CIR/CodeGenHIP/atomic-classify.hip
A clang/test/CIR/CodeGenHIP/cleanup-alloca-addrspace.hip
A clang/test/CIR/CodeGenSYCL/kernel-caller-address-space.cpp
A clang/test/CIR/IR/invalid-cleanup-scope-musttail.cir
M clang/test/CIR/Lowering/eh-inflight.cir
A clang/test/CIR/Lowering/unlowered-address-spaces.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
R clang/test/CIR/Transforms/eh-abi-lowering-eh-spec-nyi.cir
A clang/test/CIR/Transforms/eh-abi-lowering-eh-spec.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-musttail.cir
R clang/test/CIR/Transforms/flatten-eh-spec-nyi.cir
A clang/test/CIR/Transforms/flatten-eh-spec.cir
A clang/test/CodeCompletion/dependent-base-alias-template.cpp
M clang/test/CodeGen/AArch64/abi-classify-arg-types.c
M clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp
M clang/test/CodeGen/AArch64/abi-classify-return-types.c
A clang/test/CodeGen/AArch64/abi-classify-return-types.cpp
M clang/test/CodeGen/AArch64/args-hfa.c
M clang/test/CodeGen/AArch64/arguments-hfa-v3.c
M clang/test/CodeGen/AArch64/sve/dup.c
A clang/test/CodeGen/Inputs/riscv-ilp32e-no-datalayout.ll
A clang/test/CodeGen/LoongArch/target-abi-module-flag.c
M clang/test/CodeGen/PR44896.ll
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpaire.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpairo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpaire.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpairo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpaire.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpairo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vzip.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpaire.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpairo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipe.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipo.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vzip.c
M clang/test/CodeGen/asan-unified-lto.ll
M clang/test/CodeGen/attr-counted-by-or-null-for-pointers.c
M clang/test/CodeGen/attr-sized-by-for-pointers.c
M clang/test/CodeGen/attr-sized-by-or-null-for-pointers.c
M clang/test/CodeGen/builtin-clear-padding-codegen.c
A clang/test/CodeGen/builtin-frame-address-arg-type.c
A clang/test/CodeGen/builtin-prefetch-arg-type.c
M clang/test/CodeGen/builtins-nvptx.c
A clang/test/CodeGen/call-graph-section-definition-noprototype.c
M clang/test/CodeGen/cfstring2.c
A clang/test/CodeGen/riscv-ir-datalayout-preserve.ll
A clang/test/CodeGen/swiftcall-single-element-vector.c
M clang/test/CodeGen/thread-model.c
A clang/test/CodeGenCXX/aggregate-default-member-initializers.cpp
M clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
M clang/test/CodeGenCXX/cxx1z-inline-variables.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
A clang/test/CodeGenCXX/top-level-stmt-local-names.cpp
M clang/test/CodeGenHLSL/builtins/asdouble.hlsl
M clang/test/CodeGenHLSL/builtins/ddx.hlsl
M clang/test/CodeGenHLSL/builtins/ddy.hlsl
M clang/test/CodeGenHLSL/builtins/ldexp.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/wasm-toolchain.c
A clang/test/Interpreter/lambda-top-level-stmt.cpp
A clang/test/Modules/mismatched_global_module_sate.cppm
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-host-datalayout.c
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
M clang/test/OffloadTools/clang-offload-bundler/basic.c
A clang/test/Parser/GH209503.mm
M clang/test/Parser/cxx0x-attributes.cpp
M clang/test/Parser/cxx0x-keyword-attributes.cpp
A clang/test/Parser/ms-seh-single-underscore-strict.c
A clang/test/Parser/ms-seh-single-underscore.c
M clang/test/Preprocessor/riscv-cf-protection-return.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Sema/LifetimeSafety/safety.cpp
M clang/test/Sema/builtin-prefetch.c
M clang/test/Sema/compare.c
A clang/test/Sema/riscv-pld-pointer-types.c
A clang/test/SemaCXX/aggregate-default-member-initializers.cpp
M clang/test/SemaCXX/conversion-function.cpp
M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
M clang/test/SemaCXX/dllexport.cpp
M clang/test/SemaCXX/dllimport.cpp
M clang/test/SemaCXX/imag-lvalue-with-non-complex-operand.cpp
M clang/test/SemaCXX/vector-shuffle.cpp
M clang/test/SemaHLSL/BuiltIns/ldexp-errors.hlsl
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
A clang/test/SemaTemplate/temp_arg_nontype_ref.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/unittests/AST/ASTExprTest.cpp
M clang/unittests/AST/ASTImporterGenericRedeclTest.cpp
M clang/unittests/Format/FormatTestMacroExpansion.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 clang/utils/TableGen/RISCVVEmitter.cpp
M clang/www/cxx_status.html
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
M compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
M compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
M compiler-rt/lib/builtins/arm/aeabi_dcmp.S
M compiler-rt/lib/builtins/arm/aeabi_fcmp.S
M compiler-rt/lib/builtins/arm/aeabi_idivmod.S
M compiler-rt/lib/builtins/arm/aeabi_ldivmod.S
M compiler-rt/lib/builtins/arm/aeabi_memcmp.S
M compiler-rt/lib/builtins/arm/aeabi_memcpy.S
M compiler-rt/lib/builtins/arm/aeabi_memmove.S
M compiler-rt/lib/builtins/arm/aeabi_memset.S
M compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
M compiler-rt/lib/builtins/arm/aeabi_uldivmod.S
M compiler-rt/lib/builtins/arm/comparesf2.S
M compiler-rt/lib/builtins/arm/divmodsi4.S
M compiler-rt/lib/builtins/arm/divsi3.S
M compiler-rt/lib/builtins/arm/modsi3.S
M compiler-rt/lib/builtins/arm/udivsi3.S
M compiler-rt/lib/builtins/assembly.h
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/fuzzer/FuzzerLoop.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
A compiler-rt/test/builtins/Unit/arm/aeabi_cmpflags_interwork_test.c
A compiler-rt/test/builtins/Unit/arm/aeabi_fcmp_test.c
M compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c
A compiler-rt/test/builtins/Unit/arm/aeabi_ldivmod_test.c
A compiler-rt/test/builtins/Unit/arm/aeabi_mem_test.c
M compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c
M compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c
M compiler-rt/test/builtins/Unit/divmodsi4_test.c
M compiler-rt/test/builtins/Unit/divsi3_test.c
M compiler-rt/test/builtins/Unit/modsi3_test.c
M compiler-rt/test/builtins/Unit/udivsi3_test.c
M compiler-rt/test/fuzzer/minimize_crash_custom_mutator.test
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions-stress-test-tower.cpp
M compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions.cpp
M compiler-rt/test/orc/TestCases/Darwin/Generic/llvm-jitlink-force-link-objc.m
M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-category.S
M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-cross-file-method-call.S
M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-nonlazy-class.S
M compiler-rt/test/orc/TestCases/Darwin/arm64/trivial-objc-methods.S
M compiler-rt/test/orc/TestCases/Darwin/lit.local.cfg.py
M compiler-rt/test/orc/lit.cfg.py
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-rt/include/flang-rt/runtime/environment.h
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/unittests/Runtime/Assign.cpp
M flang/docs/OpenMPSupport.md
M flang/docs/ReleaseNotes.md
M flang/docs/RuntimeEnvironment.md
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Optimizer/Builder/Runtime/Assign.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Support/AllocationPolicy.h
M flang/include/flang/Optimizer/Transforms/FIRToMemRefTypeConverter.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Runtime/assign.h
M flang/include/flang/Support/Fortran.h
M flang/include/flang/Support/LangOptions.def
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Support/AllocationPolicy.cpp
M flang/lib/Optimizer/Support/CMakeLists.txt
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
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
A flang/test/Driver/check-integer-mod-zero-divisor.f90
M flang/test/Driver/fakeflang.F
A flang/test/Driver/fno-optimize-sibling-calls.f90
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
M flang/test/Fir/FirToSCF/do-loop.fir
M flang/test/Fir/OpenACC/acc-fir-map-info-prep-clauses.mlir
M flang/test/Fir/OpenACC/acc-fir-map-info-prep-privatize.mlir
M flang/test/Fir/OpenACC/acc-fir-map-info-prep-types.mlir
M flang/test/Fir/allocation-policy-pipeline.fir
M flang/test/Fir/box-elesize-canonicalize.fir
M flang/test/Fir/convert-to-llvm-access-group.fir
M flang/test/Fir/struct-passing-ppc64le-byval.fir
M flang/test/Fir/struct-passing-systemz-reference.fir
M flang/test/Fir/vector-always-cfg.fir
M flang/test/Fir/vector-always.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/copy-in-out-codegen.fir
M flang/test/HLFIR/copy-in-out.fir
M flang/test/HLFIR/inline-hlfir-copy-stack.fir
M flang/test/HLFIR/inline-hlfir-copy.fir
M flang/test/HLFIR/memory-effects.fir
M flang/test/Integration/RISCV/riscv-target-abi.f90
M flang/test/Lower/CUDA/cuda-managed-func-result.cuf
M flang/test/Lower/HLFIR/assumed-rank-calls.f90
M flang/test/Lower/HLFIR/call-postponed-associate.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/Intrinsics/mod.f90
M flang/test/Lower/Intrinsics/modulo.f90
A flang/test/Lower/Intrinsics/transfer-rec-tail-pad-llvm.f90
A flang/test/Lower/Intrinsics/transfer-rec-tail-pad.f90
M flang/test/Lower/OpenACC/acc-cache.f90
A flang/test/Lower/OpenACC/acc-loop-collapse-directive-between-loops.f90
A flang/test/Lower/OpenACC/acc-routine-bind-cuda-modfile.cuf
A flang/test/Lower/OpenMP/close-map-derived-members.f90
M flang/test/Lower/OpenMP/copyin.f90
A flang/test/Lower/OpenMP/hlfir-to-fir-conv-omp.mlir
M flang/test/Lower/OpenMP/host-eval.f90
M flang/test/Lower/OpenMP/mismatched-bound-types.f90
A flang/test/Lower/OpenMP/target-spmd-reduction.f90
A flang/test/Lower/OpenMP/use-device-addr-performance.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/components.f90
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/dummy-procedure.f90
M flang/test/Lower/main_location.f90
M flang/test/Lower/parent-component.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/CUDA/cuf09.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/map-modifiers.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/numeric_storage_size.f90
A flang/test/Semantics/numeric_storage_size_only.f90
M flang/test/Semantics/resolve94.f90
A flang/test/Transforms/OpenACC/acc-implicit-routine.fir
M flang/test/Transforms/allocation-placement.fir
A flang/test/Transforms/function-attr-disable-tail-calls.fir
M flang/test/lit.cfg.py
M flang/unittests/Optimizer/OpenACC/FIROpenACCPointerLikeTypeInterfaceTest.cpp
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/i386/entrypoints.txt
M libc/config/linux/i386/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_group.h
M libc/include/grp.yaml
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/pthread_attr_t.h
M libc/include/pthread.yaml
M libc/include/stdlib.yaml
M libc/include/sys/stat.yaml
M libc/include/unistd.yaml
M libc/src/CMakeLists.txt
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/OSUtil/baremetal/io.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/fchmodat.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/mknodat.h
M libc/src/__support/mathvec/CMakeLists.txt
M libc/src/__support/mathvec/sinf.h
A libc/src/__support/mathvec/trig_reductionf.h
A libc/src/__support/mathvec/trig_reductionf_nofma.h
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/__support/threads/CMakeLists.txt
M libc/src/__support/threads/linux/aarch64/tcb.h
M libc/src/__support/threads/linux/riscv/tcb.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/linux/x86_64/tcb.h
M libc/src/__support/threads/thread.cpp
M libc/src/__support/threads/thread.h
M libc/src/__support/threads/thread_attributes.h
A libc/src/grp/CMakeLists.txt
A libc/src/grp/endgrent.cpp
A libc/src/grp/endgrent.h
A libc/src/grp/getgrent.cpp
A libc/src/grp/getgrent.h
A libc/src/grp/grp_utils.cpp
A libc/src/grp/grp_utils.h
A libc/src/grp/setgrent.cpp
A libc/src/grp/setgrent.h
M libc/src/mathvec/generic/sinf.cpp
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_attr_getinheritsched.cpp
A libc/src/pthread/pthread_attr_getinheritsched.h
M libc/src/pthread/pthread_attr_init.cpp
M libc/src/pthread/pthread_attr_init.h
A libc/src/pthread/pthread_attr_setinheritsched.cpp
A libc/src/pthread/pthread_attr_setinheritsched.h
M libc/src/pwd/CMakeLists.txt
M libc/src/pwd/pwd_utils.cpp
M libc/src/pwd/pwd_utils.h
M libc/src/stdio/baremetal/CMakeLists.txt
A libc/src/stdio/baremetal/fclose.cpp
A libc/src/stdio/baremetal/fseek.cpp
A libc/src/stdio/baremetal/fseeko.cpp
A libc/src/stdio/baremetal/ftell.cpp
A libc/src/stdio/baremetal/ftello.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/exit.cpp
M libc/src/stdlib/linux/CMakeLists.txt
A libc/src/stdlib/linux/mkostemp.cpp
A libc/src/stdlib/mkostemp.h
M libc/src/sys/stat/CMakeLists.txt
M libc/src/sys/stat/linux/CMakeLists.txt
A libc/src/sys/stat/linux/mkfifo.cpp
A libc/src/sys/stat/mkfifo.h
M libc/src/unistd/linux/sysconf.cpp
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/aarch64/tls.cpp
M libc/startup/linux/do_start.cpp
M libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/tls.cpp
M libc/test/UnitTest/BazelFilePath.cpp
M libc/test/integration/src/pthread/CMakeLists.txt
M libc/test/integration/src/pthread/pthread_getattr_np_test.cpp
A libc/test/integration/src/pthread/pthread_join_main_test.cpp
A libc/test/integration/src/pthread/pthread_tls_align_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/pwd/CMakeLists.txt
M libc/test/src/__support/pwd/flat_file_db_test.cpp
A libc/test/src/grp/CMakeLists.txt
A libc/test/src/grp/getgrent_test.cpp
A libc/test/src/grp/grp_test_utils.h
A libc/test/src/grp/grp_utils_test.cpp
M libc/test/src/mathvec/CMakeLists.txt
M libc/test/src/pthread/CMakeLists.txt
M libc/test/src/pthread/pthread_attr_test.cpp
M libc/test/src/pwd/CMakeLists.txt
M libc/test/src/pwd/getpwent_test.cpp
M libc/test/src/pwd/getpwnam_test.cpp
M libc/test/src/pwd/getpwuid_test.cpp
M libc/test/src/stdfix/FxDiviTest.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/mkostemp_test.cpp
M libc/test/src/sys/stat/CMakeLists.txt
M libc/test/src/sys/stat/fchmodat_test.cpp
A libc/test/src/sys/stat/mkfifo_test.cpp
M libc/test/src/unistd/sysconf_test.cpp
M libcxx/CMakeLists.txt
M libcxx/cmake/caches/Apple.cmake
M libcxx/cmake/caches/Generic-llvm-libc.cmake
M libcxx/cmake/config-ix.cmake
M libcxx/include/CMakeLists.txt
M libcxx/include/__configuration/abi.h
M libcxx/include/__configuration/compiler.h
R libcxx/include/__locale_dir/get_c_locale.h
M libcxx/include/__locale_dir/money.h
M libcxx/include/__locale_dir/num.h
M libcxx/include/__locale_dir/pad_and_output.h
M libcxx/include/__locale_dir/support/aix.h
M libcxx/include/__locale_dir/support/bsd_like.h
A libcxx/include/__locale_dir/support/default/get_c_locale.h
M libcxx/include/__locale_dir/support/fuchsia.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/llvm_libc.h
M libcxx/include/__locale_dir/support/newlib.h
M libcxx/include/__locale_dir/support/openbsd.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__locale_dir/time.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/locale
M libcxx/include/module.modulemap.in
M libcxx/include/string
M libcxx/src/locale.cpp
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
A libcxx/test/benchmarks/regex.bench.cpp
M libcxx/test/benchmarks/text/localization/num_put.bench.cpp
M libcxx/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp
A libcxx/test/std/containers/associative/map/types.compile.pass.cpp
R libcxx/test/std/containers/associative/map/types.pass.cpp
A libcxx/test/std/containers/associative/multimap/types.compile.pass.cpp
R libcxx/test/std/containers/associative/multimap/types.pass.cpp
A libcxx/test/std/containers/associative/multiset/types.compile.pass.cpp
R libcxx/test/std/containers/associative/multiset/types.pass.cpp
A libcxx/test/std/containers/associative/set/types.compile.pass.cpp
R libcxx/test/std/containers/associative/set/types.pass.cpp
A libcxx/test/std/containers/container.adaptors/priority.queue/protected_members.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.fail.cpp
A libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.pass.cpp
R libcxx/test/std/containers/container.adaptors/priority.queue/types.pass.cpp
A libcxx/test/std/containers/sequences/array/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/array/types.pass.cpp
A libcxx/test/std/containers/sequences/deque/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/deque/types.pass.cpp
A libcxx/test/std/containers/sequences/forwardlist/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
A libcxx/test/std/containers/sequences/list/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/list/types.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/vector.bool/types.pass.cpp
A libcxx/test/std/containers/sequences/vector/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/vector/types.pass.cpp
A libcxx/test/std/containers/unord/unord.map/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.map/types.pass.cpp
A libcxx/test/std/containers/unord/unord.multimap/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.multimap/types.pass.cpp
A libcxx/test/std/containers/unord/unord.multiset/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.multiset/types.pass.cpp
A libcxx/test/std/containers/unord/unord.set/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.set/types.pass.cpp
A libcxx/test/std/containers/views/mdspan/mdspan/types.compile.pass.cpp
R libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
A libcxx/test/std/containers/views/views.span/types.compile.pass.cpp
R libcxx/test/std/containers/views/views.span/types.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.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/ci/lnt/machines.json
M libcxx/utils/ci/lnt/run-benchmarks
M libcxx/utils/libcxx/test/features/libcxx_macros.py
M libcxx/utils/libcxx/test/features/misc.py
M libcxx/utils/test-at-commit
M libcxxabi/src/private_typeinfo.cpp
M libsycl/include/sycl/__impl/detail/config.hpp
M libsycl/include/sycl/__impl/detail/kernel_arg_helpers.hpp
M libsycl/include/sycl/__impl/handler.hpp
M libsycl/include/sycl/__spirv/spirv_vars.hpp
M lld/COFF/ICF.cpp
M lld/ELF/AArch64ErrataFix.cpp
M lld/MachO/Driver.cpp
M lld/MachO/Driver.h
M lld/MachO/DriverUtils.cpp
M lld/MinGW/Driver.cpp
R lld/test/ELF/Inputs/icf-merge-sec.s
R lld/test/ELF/Inputs/icf-merge.s
R lld/test/ELF/Inputs/icf-merge2.s
R lld/test/ELF/Inputs/icf-merge3.s
R lld/test/ELF/Inputs/icf2.s
M lld/test/ELF/aarch64-cortex-a53-843419-thunk-relocation-crash.s
M lld/test/ELF/aarch64-thunk-bti-overlay-reuse.s
M lld/test/ELF/arm-thunk-overlay-reuse.s
R lld/test/ELF/icf-merge-sec.s
M lld/test/ELF/icf-merge.s
A lld/test/ELF/icf-reference-graph.s
R lld/test/ELF/icf14.s
R lld/test/ELF/icf2.s
R lld/test/ELF/icf3.s
M lld/test/ELF/linkerscript/nobits-offset.s
M lld/test/ELF/lto/riscv-target-abi.ll
A lld/test/MachO/reproduce-search-paths.s
M lld/test/MachO/reproduce.s
M lld/wasm/Driver.cpp
M lldb/bindings/python/python-swigsafecast.swig
M lldb/cmake/modules/AddLLDB.cmake
M lldb/cmake/modules/FindCursesAndPanel.cmake
M lldb/cmake/modules/FindLuaAndSwig.cmake
M lldb/cmake/modules/FindPythonAndSwig.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/resources/lldbgdbremote.md
M lldb/docs/use/tutorials/automating-stepping-logic.md
M lldb/examples/python/formatter_bytecode.py
M lldb/examples/python/templates/scripted_process.py
M lldb/include/lldb/Core/ModuleChild.h
M lldb/include/lldb/Core/Section.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/Host/HostInfo.h
A lldb/include/lldb/Host/emscripten/HostInfoEmscripten.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameInterface.h
M lldb/include/lldb/Symbol/Function.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/StackFrameRecognizer.h
M lldb/include/lldb/Utility/RegisterType.h
M lldb/include/lldb/ValueObject/ValueObject.h
A lldb/include/lldb/ValueObject/ValueObjectSynthesizedValue.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-private-enumerations.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/DumpRegisterInfo.cpp
M lldb/source/Core/ModuleChild.cpp
M lldb/source/Core/Section.cpp
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/Host.cpp
M lldb/source/Host/common/Socket.cpp
A lldb/source/Host/emscripten/Host.cpp
A lldb/source/Host/emscripten/HostInfoEmscripten.cpp
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/Placeholder/ObjectFilePlaceholder.cpp
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/source/Plugins/Platform/CMakeLists.txt
A lldb/source/Plugins/Platform/Emscripten/CMakeLists.txt
A lldb/source/Plugins/Platform/Emscripten/PlatformEmscripten.cpp
A lldb/source/Plugins/Platform/Emscripten/PlatformEmscripten.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/Variable.cpp
M lldb/source/Target/AssertFrameRecognizer.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StackFrameRecognizer.cpp
M lldb/source/Utility/RegisterType.cpp
M lldb/source/ValueObject/CMakeLists.txt
M lldb/source/ValueObject/ValueObjectRegister.cpp
A lldb/source/ValueObject/ValueObjectSynthesizedValue.cpp
M lldb/source/ValueObject/ValueObjectSynthetic.cpp
A lldb/test/API/accelerator/mock/TestMockAcceleratorAddressSpaces.py
M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
M lldb/test/API/commands/frame/recognizer/step-through/recognizer.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/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
A lldb/test/API/functionalities/scripted_frame_provider/step_with_type/Makefile
A lldb/test/API/functionalities/scripted_frame_provider/step_with_type/TestFrameProviderStepping.py
A lldb/test/API/functionalities/scripted_frame_provider/step_with_type/frame_provider.py
A lldb/test/API/functionalities/scripted_frame_provider/step_with_type/main.c
M lldb/test/API/functionalities/step_scripted/Steps.py
M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
M lldb/test/API/functionalities/step_scripted/main.c
M lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py
M lldb/test/API/lang/objc/ivar-IMP/TestObjCiVarIMP.py
M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
M lldb/test/API/lang/objc/ptr_refs/TestPtrRefsObjC.py
M lldb/test/API/lang/objc/synthesized-property-accessor/TestSynthesizedPropertyAccessor.py
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/python_api/value/TestValueAPI.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/Shell/Recognizer/assert.test
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterC.txt
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt
A lldb/test/Shell/SymbolFile/DWARF/missing-oso.cpp
A lldb/test/Shell/SymbolFile/DWARF/self-referential-specification.yaml
M lldb/test/Shell/SymbolFile/NativePDB/rust-unique-name.ll
M lldb/test/Shell/SymbolFile/NativePDB/unknown-udt-decl.ll
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/tools/lldb-server/lldb-platform.cpp
M lldb/unittests/Core/DumpRegisterInfoTest.cpp
M lldb/unittests/Host/SocketTest.cpp
M lldb/unittests/Platform/CMakeLists.txt
A lldb/unittests/Platform/PlatformEmscriptenTest.cpp
M lldb/unittests/Symbol/CMakeLists.txt
A lldb/unittests/Symbol/CallEdgeTest.cpp
M lldb/unittests/Symbol/JSONSymbolTest.cpp
M lldb/unittests/Symbol/SymbolTest.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.h
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/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/docs/CommandGuide/lit.md
M llvm/docs/DirectX/SemanticSignatures.md
M llvm/docs/LangRef.md
M llvm/docs/NVPTXUsage.md
M llvm/docs/RISCVUsage.md
M llvm/docs/ReleaseNotes.md
M llvm/docs/tutorial/BuildingAJIT3.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.md
M llvm/examples/Kaleidoscope/Chapter8/toy.cpp
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/ABI/Types.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/Loads.h
M llvm/include/llvm/Analysis/RuntimeLibcallInfo.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
M llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
M llvm/include/llvm/CodeGen/LiveIntervals.h
M llvm/include/llvm/CodeGen/MIRSampleProfile.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineConstantPool.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/include/llvm/CodeGen/Rematerializer.h
A llvm/include/llvm/CodeGen/ResetMachineFunctionPass.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SlotIndexes.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/LookupAndApply.h
M llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
M llvm/include/llvm/ExecutionEngine/Orc/RecordProxy.h
M llvm/include/llvm/ExecutionEngine/Orc/SPSProxySpec.h
A llvm/include/llvm/ExecutionEngine/Orc/Shared/ConnectionSpec.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/Mangler.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/CallSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/MemoryAccessSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/NativeDylibManagerSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/SharedMemoryMapperSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/SimpleNativeMemoryMapSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryScanner.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
M llvm/include/llvm/Frontend/HLSL/SemanticSignaturePacking.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCAsmStreamer.h
M llvm/include/llvm/MC/MCGOFFObjectWriter.h
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/include/llvm/Object/GOFF.h
M llvm/include/llvm/Object/GOFFObjectFile.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Passes/RunCodeGen.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/Support/CommandLine.h
M llvm/include/llvm/Support/RWMutex.h
M llvm/include/llvm/Support/SourceMgr.h
M llvm/include/llvm/Support/SpecialCaseList.h
M llvm/include/llvm/Support/VirtualFileSystem.h
A llvm/include/llvm/Support/VirtualFileSystemFwd.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
M llvm/include/llvm/TargetParser/XtensaTargetParser.def
M llvm/include/llvm/TargetParser/XtensaTargetParser.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/IPO/SampleProfile.h
M llvm/include/llvm/Transforms/Instrumentation/MemProfUse.h
M llvm/include/llvm/Transforms/Instrumentation/SanitizerBinaryMetadata.h
M llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h
M llvm/include/llvm/Transforms/Scalar/LogicalSROA.h
M llvm/include/llvm/Transforms/Utils/FunctionComparator.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
R llvm/include/llvm/Transforms/Utils/SplitModuleCommon.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/include/llvm/WindowsDriver/MSVCPaths.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/ABI/Types.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/MustExecute.cpp
M llvm/lib/Analysis/RuntimeLibcallInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Analysis/models/interactive_host.py
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CAS/MappedFileRegionArena.cpp
M llvm/lib/CAS/OnDiskGraphDB.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RegisterPressure.cpp
M llvm/lib/CodeGen/ResetMachineFunctionPass.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.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/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SlotIndexes.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp
M llvm/lib/ExecutionEngine/Orc/LookupAndApply.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
R llvm/lib/ExecutionEngine/Orc/Mangler.cpp
M llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/Shared/ConnectionSpec.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/DefaultHostBootstrapValues.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorMemoryManager.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
M llvm/lib/Frontend/HLSL/SemanticSignaturePacking.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/NVVMIntrinsicUtils.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/Object/GOFFObjectFile.cpp
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/RunCodeGen.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/Support/APFloat.cpp
A llvm/lib/Support/APFloatPowerOfFiveTable.inc
M llvm/lib/Support/UnicodeCaseFold.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
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/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
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/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
M llvm/lib/Target/AArch64/AArch64SRLTDefineSuperRegs.cpp
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.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/AArch64/SMEPeepholeOpt.cpp
M llvm/lib/Target/AArch64/SVEShuffleOpts.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
M llvm/lib/Target/ARM/Thumb1InstrInfo.h
M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp
M llvm/lib/Target/ARM/ThumbRegisterInfo.h
M llvm/lib/Target/AVR/AVRInstrInfo.h
M llvm/lib/Target/AVR/AVRRegisterInfo.cpp
M llvm/lib/Target/AVR/AVRRegisterInfo.h
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.h
M llvm/lib/Target/MSP430/MSP430InstrInfo.h
M llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp
M llvm/lib/Target/MSP430/MSP430RegisterInfo.h
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/lib/Target/Mips/MipsRegisterInfo.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.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/RISCVInstrInfoZvzip.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/lib/Target/RISCV/RISCVPromoteConstant.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.h
M llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
M llvm/lib/Target/Sparc/SparcRegisterInfo.h
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
M llvm/lib/Target/VE/VEInstrInfo.h
M llvm/lib/Target/VE/VERegisterInfo.cpp
M llvm/lib/Target/VE/VERegisterInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/Xtensa.td
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaInstrFormats.td
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaOperands.td
M llvm/lib/Target/Xtensa/XtensaProcessors.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
A llvm/lib/Target/Xtensa/XtensaS3DSPInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/Transforms/CFGuard/CFGuard.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/Instrumentation/CopyProf.cpp
M llvm/lib/Transforms/Scalar/BDCE.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/Reg2Mem.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.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/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanEVLTailFolding.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanLowering.cpp
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
A llvm/test/Analysis/CostModel/AArch64/load-latency-fallback.ll
A llvm/test/Analysis/CostModel/AArch64/vararg-intrinsic.ll
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
A llvm/test/Analysis/CostModel/X86/arith-mulh.ll
M llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
A llvm/test/Analysis/MustExecute/no-preheader.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/Bindings/OCaml/core.ml
M llvm/test/CodeGen/AArch64/GlobalISel/combine-integer.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-clmul.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-trunc-ssat-usat.mir
A llvm/test/CodeGen/AArch64/GlobalISel/speculative-load-intrinsic.ll
M llvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
M llvm/test/CodeGen/AArch64/avoid-ld4.ll
A llvm/test/CodeGen/AArch64/can-load-speculatively.ll
M llvm/test/CodeGen/AArch64/cttz-of-bool-vector-bitcast.ll
M llvm/test/CodeGen/AArch64/dup-ext-load-combine.ll
A llvm/test/CodeGen/AArch64/interleaved-load-combine-crossblock.ll
A llvm/test/CodeGen/AArch64/interleaved-load-combine-may-not-return.ll
M llvm/test/CodeGen/AArch64/misched-postra-only1.mir
M llvm/test/CodeGen/AArch64/partial-reduction-add-predicated.ll
M llvm/test/CodeGen/AArch64/ptrauth-tail-call-stackadjust.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauthlr-slh.ll
A llvm/test/CodeGen/AArch64/sme-peephole-opt-sm-compat.ll
M llvm/test/CodeGen/AArch64/sme-za-tailcall-fpdiff-align.ll
A llvm/test/CodeGen/AArch64/speculative-load-intrinsic-mmo.ll
A llvm/test/CodeGen/AArch64/speculative-load-intrinsic.ll
M llvm/test/CodeGen/AArch64/stack-hazard.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/swifttail-ptrauth.ll
M llvm/test/CodeGen/AArch64/tail-call-stack-args.ll
M llvm/test/CodeGen/AArch64/vector-deinterleave-load.ll
R llvm/test/CodeGen/AArch64/wineh-async-eh-pad-instr-size.ll
M llvm/test/CodeGen/AArch64/zext-shuffle.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/and-vgpr-s32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fadd.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fcanonicalize.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmul.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fptrunc.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.powi.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ballot.i64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and-s1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-anyext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-brcond.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-freeze.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sadde.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ssube.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sub.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-trunc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uadde.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usube.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-zext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float-fp8-hw.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
A llvm/test/CodeGen/AMDGPU/atomic-optimizer-volatile.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
A llvm/test/CodeGen/AMDGPU/coexec-block-carried-latency.mir
M llvm/test/CodeGen/AMDGPU/coexec-mfma-interleave-gfx950.ll
M llvm/test/CodeGen/AMDGPU/coexec-sched-ds-fifo.mir
M llvm/test/CodeGen/AMDGPU/coexec-sched-flavor-classification.mir
M llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps_nnan.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/ds_read2-gfx1250.ll
M llvm/test/CodeGen/AMDGPU/ds_write2.ll
M llvm/test/CodeGen/AMDGPU/dual-source-blend-export.ll
M llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-fp8-f16-hw.ll
M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-fp8-hw.ll
M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-widen.ll
M llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
M llvm/test/CodeGen/AMDGPU/fmax_legacy.f16.ll
M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
M llvm/test/CodeGen/AMDGPU/fmin_legacy.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fneg.bf16.ll
M llvm/test/CodeGen/AMDGPU/fold-operands-scalar-fmac.mir
M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
M llvm/test/CodeGen/AMDGPU/fpow.ll
M llvm/test/CodeGen/AMDGPU/freeze-binary.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-scan.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan.ll
M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitreplicate.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.s.buffer.load-gfx12.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/llvm.powi.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/lower-noalias-kernargs.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/mubuf.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/opt-vgpr-live-range-verifier-error.mir
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
M llvm/test/CodeGen/AMDGPU/packed-u64.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/repeated-divisor.ll
A llvm/test/CodeGen/AMDGPU/schedule-pressure-dead-superreg-live-subreg.mir
M llvm/test/CodeGen/AMDGPU/scratch-simple.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll
A llvm/test/CodeGen/AMDGPU/si-lower-control-flow-remove-redundant-block-liveintervals.mir
M llvm/test/CodeGen/AMDGPU/si-opt-vgpr-liverange-bug-deadlanes.mir
M llvm/test/CodeGen/AMDGPU/v_ashr_pk.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmaximum.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fminimum.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/vopd-combine-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
A llvm/test/CodeGen/AMDGPU/vopd3-imm-fold.ll
A llvm/test/CodeGen/AMDGPU/vopd3-imm-fold.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-flushed.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-pattern.ll
M llvm/test/CodeGen/AMDGPU/while-break.ll
M llvm/test/CodeGen/DirectX/RawBufferStoreDouble.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/handle-to-index.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/looped-phi-nodes.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/non-unique.ll
A llvm/test/CodeGen/DirectX/ResourceAccess/store-rawbuffer-wide-double.ll
M llvm/test/CodeGen/DirectX/Sample.ll
M llvm/test/CodeGen/DirectX/SampleBias.ll
M llvm/test/CodeGen/DirectX/SampleGrad.ll
M llvm/test/CodeGen/DirectX/SampleLevel.ll
M llvm/test/CodeGen/DirectX/Texture2DArray-SampleBias.ll
M llvm/test/CodeGen/DirectX/Texture2DArray-SampleGrad.ll
M llvm/test/CodeGen/DirectX/TextureLoad.ll
M llvm/test/CodeGen/DirectX/TextureStore.ll
A llvm/test/CodeGen/Hexagon/hmx-attr-inline-compat.ll
A llvm/test/CodeGen/Hexagon/hmx-attr-no-autohvx.ll
M llvm/test/CodeGen/MLRegAlloc/Inputs/interactive_main.py
M llvm/test/CodeGen/MLRegAlloc/interactive-mode.ll
A llvm/test/CodeGen/NVPTX/convert-fp6-pzo.ll
A llvm/test/CodeGen/NVPTX/convert-fp8-pzo.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-cta-invalid.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-cta-oob.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-cta-relaxed.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-cta-validate-data.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-invalid.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-mc32.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-relaxed.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-validate-data.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-override.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-validate-data.ll
M llvm/test/CodeGen/NVPTX/fmax3.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-add-f32x2-downconvert-invalid.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-add-f32x2-downconvert.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-add-f32x2-upconvert-invalid.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-add-f32x2-upconvert.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-f32x2-sm-version.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-sub-f32x2-downconvert-invalid.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-sub-f32x2-downconvert.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-sub-f32x2-upconvert-invalid.ll
A llvm/test/CodeGen/NVPTX/mixed-precision-sub-f32x2-upconvert.ll
A llvm/test/CodeGen/PowerPC/speculative-load-intrinsic.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
A llvm/test/CodeGen/RISCV/GlobalISel/sextw-removal.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zvzip-zve32f.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/pr83017.ll
M llvm/test/CodeGen/RISCV/rvv/pr90559.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vmerge-peephole.mir
M llvm/test/CodeGen/RISCV/rvv/vpairo.ll
M llvm/test/CodeGen/RISCV/rvv/vunzipe.ll
M llvm/test/CodeGen/RISCV/rvv/vunzipo.ll
M llvm/test/CodeGen/RISCV/rvv/vzip.ll
M llvm/test/CodeGen/SPIRV/debug-info/debug-type-composite.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/unbounded-struct-arr.ll
M llvm/test/CodeGen/SPIRV/instructions/scalar-integer-arithmetic.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctlz.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/cttz.ll
M llvm/test/CodeGen/SPIRV/pointers/nested-struct-opaque-pointers.ll
M llvm/test/CodeGen/SPIRV/transcoding/func_param_attr.ll
A llvm/test/CodeGen/WebAssembly/coalesce-features-thread-model.ll
A llvm/test/CodeGen/WebAssembly/extend-narrow.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/WebAssembly/speculative-load-intrinsic.ll
A llvm/test/CodeGen/WinEH/wineh-eha-nop.ll
A llvm/test/CodeGen/X86/can-load-speculatively.ll
A llvm/test/CodeGen/X86/dagcombine-concat-undef-vs-poison.ll
M llvm/test/CodeGen/X86/kmov.ll
A llvm/test/CodeGen/X86/speculative-load-intrinsic.ll
M llvm/test/DebugInfo/X86/fission-ranges.ll
A llvm/test/DebugInfo/X86/prologue-end-phi-incoming-constant.ll
R llvm/test/ExecutionEngine/OrcLazy/emulated-tls.ll
A llvm/test/ExecutionEngine/OrcLazy/tls.ll
M llvm/test/Instrumentation/CopyProf/function-instrumentation.ll
A llvm/test/Linker/callgraph-section-noprototype.ll
M llvm/test/MC/AMDGPU/gfx13_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx13_asm_vsample.s
M llvm/test/MC/AsmParser/macro-max-depth.s
A llvm/test/MC/ELF/section-callgraph.s
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/rvv/zvzip-invalid.s
M llvm/test/MC/RISCV/rvv/zvzip.s
M llvm/test/MC/RISCV/rvzimop-valid.s
M llvm/test/MC/RISCV/zicfiss-valid.s
A llvm/test/MC/Xtensa/xtensa-esp32s3-invalid.s
A llvm/test/MC/Xtensa/xtensa-esp32s3-valid.s
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
M llvm/test/TableGen/invalid_typecast_assert.td
M llvm/test/TableGen/target-specialized-pseudos.td
A llvm/test/Transforms/AggressiveInstCombine/trunc_illegal_type.ll
A llvm/test/Transforms/Attributor/cleanup-no-seeding.ll
A llvm/test/Transforms/BDCE/dbg-binops-multiuse.ll
A llvm/test/Transforms/BDCE/dbg-sext-to-zext.ll
M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll
M llvm/test/Transforms/InstCombine/bit-checks.ll
M llvm/test/Transforms/InstCombine/fsh.ll
M llvm/test/Transforms/InstCombine/recurrence.ll
M llvm/test/Transforms/InstSimplify/ConstProp/cttz-elts.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vecreduce.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-access-wide-stride.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses-narrow-iv.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
A llvm/test/Transforms/LoopVectorize/blend-i1.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
A llvm/test/Transforms/LoopVectorize/early-exit-branch-weights.ll
M llvm/test/Transforms/LoopVectorize/intrinsic.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.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/LoopVectorize/uniform_across_vf_induction1.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/PhaseOrdering/X86/avg.ll
M llvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-drop-schedule.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-inst-count.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-keep-drop.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-satd.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-trim-revert-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
A llvm/test/Transforms/SLPVectorizer/X86/nonpow2-shared-weight-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduce-or-bitpack.ll
M llvm/test/Transforms/SLPVectorizer/non-power-of-2-bswap.ll
A llvm/test/Transforms/SROA/struct-to-vector-stack-alignment.ll
A llvm/test/Transforms/SampleProfile/pseudo-probe-call-vs-invoke-hash.ll
A llvm/test/Transforms/SampleProfile/pseudo-probe-cyclic-normal-dest.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/Transforms/SeparateConstOffsetFromGEP/AMDGPU/xor-decompose.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/index-insertion-point.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/index-insertion-point-terminator-def.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/pr45371-find-either-reset.ll
A llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-functions-hotness.ll
M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/basic.ll
A llvm/test/Verifier/NVPTX/cp-async-bulk-g2s-cta.ll
A llvm/test/Verifier/funclet-unreachable-block.ll
A llvm/test/Verifier/speculative-load.ll
M llvm/test/tools/llubi/intr_experimental_vector.ll
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
M llvm/test/tools/llvm-profgen/X86/Inputs/coroutine.perfbin
M llvm/test/tools/llvm-profgen/X86/Inputs/coroutine.perfscript
M llvm/test/tools/llvm-profgen/X86/coroutine.test
M llvm/test/tools/llvm-split/unnamed.ll
M llvm/tools/llc/lib/NewPMDriver.cpp
M llvm/tools/llc/lib/llcdriver.cpp
M llvm/tools/lli/lli.cpp
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
M llvm/tools/llvm-exegesis/lib/PerfHelper.h
M llvm/tools/llvm-exegesis/lib/Target.cpp
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
M llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/optdriver.cpp
M llvm/unittests/ABI/AArch64TargetInfoTest.cpp
M llvm/unittests/ABI/FunctionInfoTest.cpp
M llvm/unittests/ABI/IRTypeMapperTest.cpp
M llvm/unittests/ABI/TypesTest.cpp
M llvm/unittests/ABI/X86TargetInfoTest.cpp
M llvm/unittests/ADT/APFloatTest.cpp
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/Analysis/IVDescriptorsTest.cpp
M llvm/unittests/CAS/OnDiskGraphDBTest.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/ConnectionSpecTest.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericDylibManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericMemoryAccessTest.cpp
M llvm/unittests/ExecutionEngine/Orc/LookupAndApplyTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ProxyTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/SPSProxySpecTest.cpp
M llvm/unittests/ExecutionEngine/Orc/SharedMemoryMapperTest.cpp
M llvm/unittests/Frontend/HLSLSemanticSignaturePackingTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/Object/GOFFObjectFileTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
M llvm/unittests/tools/llvm-exegesis/CMakeLists.txt
A llvm/unittests/tools/llvm-exegesis/PerfHelperTest.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp
A llvm/utils/generate-apfloat-pow5-table.py
M llvm/utils/git/github-automation.py
M llvm/utils/git/requirements_linting.txt
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/libcxx/include/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/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/Shared/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/tools/llvm-exegesis/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 llvm/utils/unicode-case-fold.py
A mlir/include/mlir/Conversion/OpenACCToLLVM/ACCDataRuntime.h
M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVM.h
M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/Affine/Analysis/AffineAnalysis.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGEnums.td
A mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeDescriptors.def
M mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeFunctions.def
M mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeUtils.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/include/mlir/IR/Block.h
M mlir/include/mlir/IR/BlockSupport.h
M mlir/include/mlir/IR/Region.h
M mlir/include/mlir/Target/LLVMIR/Export.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToLLVM/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
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/MathToXeVM/MathToXeVM.cpp
A mlir/lib/Conversion/OpenACCToLLVM/ACCDataDirectivePatterns.cpp
A mlir/lib/Conversion/OpenACCToLLVM/ACCDataRuntime.cpp
M mlir/lib/Conversion/OpenACCToLLVM/ACCExecutableDirectivePatterns.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/VectorToLLVM/CMakeLists.txt
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferOptimizations.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.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/OpenACC/Transforms/ACCCGToGPU.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitRoutine.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCRuntimeUtils.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsLoop.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
M mlir/lib/Pass/PassStatistics.cpp
M mlir/lib/Target/LLVM/ModuleToObject.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Target/LLVMIR/Transforms/TargetUtils.cpp
M mlir/lib/Target/SMTLIB/ExportSMTLIB.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/python/mlir/dialects/ext.py
M mlir/python/mlir/dialects/linalg/__init__.py
M mlir/python/requirements.txt
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/ControlFlowToLLVM/branch.mlir
M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
M mlir/test/Conversion/ConvertToSPIRV/simple.mlir
M mlir/test/Conversion/MathToXeVM/math-to-ocl.mlir
M mlir/test/Conversion/MathToXeVM/math-to-xevm.mlir
A mlir/test/Conversion/OpenACCToLLVM/data-diagnostics.mlir
A mlir/test/Conversion/OpenACCToLLVM/data-runtime.mlir
A mlir/test/Conversion/OpenACCToLLVM/data.mlir
A mlir/test/Conversion/OpenACCToLLVM/host-data.mlir
M mlir/test/Conversion/OpenACCToLLVM/init-shutdown-set.mlir
M mlir/test/Conversion/OpenACCToLLVM/runtime-declaration-mismatch.mlir
M mlir/test/Conversion/OpenACCToLLVM/wait.mlir
M mlir/test/Conversion/VectorToLLVM/vector-load-store-to-llvm.mlir
M mlir/test/Conversion/XeGPUToXeVM/failed_conversion.mlir
A mlir/test/Conversion/XeGPUToXeVM/loadstore_gather_coalesce.mlir
M mlir/test/Conversion/XeVMToLLVM/legalize_large_vector.mlir
A mlir/test/Conversion/XeVMToLLVM/mxfp_scale_binary_hoist.mlir
M mlir/test/Dialect/Affine/constant-fold.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
A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-predicate-region-active-dims.mlir
A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-predicate-region-worker-barrier.mlir
M mlir/test/Dialect/OpenACC/acc-implicit-routine.mlir
A mlir/test/Dialect/SCF/parallel-loop-unroll-invalid.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/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup-invalid.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
M mlir/test/Pass/pipeline-stats-nested.mlir
M mlir/test/Pass/pipeline-stats.mlir
A mlir/test/Target/LLVMIR/Import/disable-tail-calls.ll
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/attribute-dereferenceable.mlir
A mlir/test/Target/LLVMIR/disable-tail-calls.mlir
M mlir/test/Target/LLVMIR/nvvm/convert_fp6x2.mlir
M mlir/test/Target/LLVMIR/nvvm/convert_fp8x2.mlir
M mlir/test/Target/LLVMIR/nvvm/mbar_arrive_drop.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_bulk_copy.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_im2col.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_tile.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_load_cta_im2col.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_load_cta_tile.mlir
M mlir/test/Target/LLVMIR/openmp-teams.mlir
M mlir/test/Transforms/promote-buffers-to-stack.mlir
M mlir/test/lib/Dialect/SCF/TestParallelLoopUnrolling.cpp
M mlir/test/lib/Pass/TestConvertToSPIRVPass.cpp
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/ext.py
M mlir/test/python/dialects/linalg/ops.py
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCRuntimeUtilsTest.cpp
M offload/ci/hip-tpl.py
M offload/include/omptarget.h
M offload/libomptarget/exports
M offload/libomptarget/interface.cpp
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
A offload/test/offloading/error_directive.c
A offload/test/offloading/fortran/error_directive.f90
A offload/test/offloading/fortran/error_directive_fatal.f90
A offload/test/offloading/fortran/target-use-device-addr-opt.f90
A offload/test/offloading/fortran/usm_map_close_derived_type_members.f90
M offload/test/offloading/struct_mapping_with_pointers.cpp
M openmp/device/include/Interface.h
M openmp/device/src/Misc.cpp
M openmp/runtime/test/ompt/callback.h
M orc-rt/include/orc-rt/bedrock/sps/SimpleRemoteCA.h
M orc-rt/lib/bedrock/sps/SimpleRemoteCA.cpp
M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
M polly/include/polly/ScopInliner.h
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/startup/linux/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/startup/linux/startup_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/include/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPCWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel
A utils/bazel/tools/check_bazel_inputs.py
M utils/docs/llvm_sphinx/ext/furo.py
A utils/docs/remove_page_tocs.py
Log Message:
-----------
Rebase, address comments
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/04e962e09a2a...8728e739e081
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