[all-commits] [llvm/llvm-project] ac129c: [CIR] Fix ptrdiff tests after 1191f353cefe3c7ceb8e...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Tue Sep 8 14:42:42 PDT 2026
Branch: refs/heads/users/alexey-bataev/spr/slpdrop-unprofitable-splat-gather-subtrees-when-nothing-was-trimmed
Home: https://github.com/llvm/llvm-project
Commit: ac129cd8965f557bbc361011c3c28a378b86c969
https://github.com/llvm/llvm-project/commit/ac129cd8965f557bbc361011c3c28a378b86c969
Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/test/CIR/CodeGen/ptrdiff.c
M clang/test/CIR/CodeGen/ptrdiff.cpp
Log Message:
-----------
[CIR] Fix ptrdiff tests after 1191f353cefe3c7ceb8e76fd03296e082a247685 (#221703)
Commit: 42b846980eeacd8052d7a463e1aea8bb91aff248
https://github.com/llvm/llvm-project/commit/42b846980eeacd8052d7a463e1aea8bb91aff248
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-struct-type.ll
Log Message:
-----------
[SLP]Fix crash in canBuildSplitNode on struct-typed scalars
Split nodes require plain vector types for the cost model and codegen,
but getWidenedType on a struct scalar type returns a struct-of-vectors,
so the cast<VectorType> asserted. Bail out on struct-typed scalars, they
are not supported.
Fixes #221715
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/221721
Commit: cb9654f7491d429d03eaf3fd5c01c45c90c32200
https://github.com/llvm/llvm-project/commit/cb9654f7491d429d03eaf3fd5c01c45c90c32200
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb][test] Bump utility expression timeout to 10 minutes (#221691)
LLDB needs to sometimes run utility expressions such as loading
libraries via a call to `dlopen`. These utility expressions have a
timeout associated with them which is only 15 seconds (and 60 on
sanitized builds).
I suspect our expressions reaching this timeout is the reason why
TestLoadUsingPaths.py sometimes fails to load libraries and produces
this error:
```
File "../TestLoadUsingPaths.py", line 78, in test_load_using_paths
self.assertNotEqual(token, lldb.LLDB_INVALID_IMAGE_TOKEN, "Got a valid token")
```
This patch bumps the timeout to 10 minutes. There is no good reason why
this timeout should exist in the first place on test bots, and maybe we
should remove them or make them fatal errors on the test bots. But for
now this patch should at least fix the test randomly failing on very
slow bots.
Commit: e30a45f88b003e3baaf268040e85b80826a83394
https://github.com/llvm/llvm-project/commit/e30a45f88b003e3baaf268040e85b80826a83394
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][test] Merge demangling tests into one test (#221214)
The XML test report that LIT generates describes the outcome of every
test in the test suite. Currently, the test report for the LLDB unit
tests alone is about 5MiB of which 4.7MiB (about 94%) are used to
describe all 30'000 DemanglingInfoCorrectnessTest instances names (they
don't have any output on success, so this is just used to describe the
test names).
This patch merges all these test instances into one. To make test
failures still easy to parse, this patch changes test function to use a
gtest scrope (which annotates failures with the mangled name) and use
non-fatal checks to continue testing when one test fails.
This reduces the test report size overhead of these tests from 4.7MiB to
about 100B.
assisted-by: claude
Commit: b9b5fb9fec7a078e9d5471db19fccc681eb3559a
https://github.com/llvm/llvm-project/commit/b9b5fb9fec7a078e9d5471db19fccc681eb3559a
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M flang/lib/Lower/PFTBuilder.cpp
Log Message:
-----------
[flang] Enable wrap-unstructured-constructs-in-execute-region by default (#221637)
More extensive testing since the flag was introduced, with the
regressions it uncovered now fixed, see:
* https://github.com/llvm/llvm-project/pull/218674
* https://github.com/llvm/llvm-project/pull/217220
* https://github.com/llvm/llvm-project/pull/217842
* https://github.com/llvm/llvm-project/pull/216280
Commit: 59f30df017e98a45ae2d209f71f95f6ac168151d
https://github.com/llvm/llvm-project/commit/59f30df017e98a45ae2d209f71f95f6ac168151d
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/lib/Dialect/Tosa/Transforms/TosaNarrowTypes.cpp
A mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16-aggressive.mlir
A mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16.mlir
Log Message:
-----------
[mlir][tosa] Add F32 to F16 type narrowing pass (#218900)
Add `tosa-narrow-f32-to-f16`, extending the shared TOSA type narrowing
infrastructure with support for destructively converting F32 tensors,
scalar attributes, dense constants, and resource-backed constants to
F16.
The pass supports conservative and aggressive rewriting, optional
function-boundary conversion, and optional preservation of F32
accumulator types.
Add coverage for constant precision loss, function boundaries, regions,
dense resources, aggressive rewriting, and accumulator-type
preservation.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 7987830e776411a0de84c0c75e9f1059acadceb5
https://github.com/llvm/llvm-project/commit/7987830e776411a0de84c0c75e9f1059acadceb5
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Types.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Types.cpp
A clang/test/Driver/Inputs/object0.o
M clang/test/Driver/aix-ld.c
A clang/test/Driver/pch-inputs.h
Log Message:
-----------
[Clang][Driver] Final phase also determined by input (#218802)
Before this PR, `getFinalPhase` assumed that when no option is give then
the final phase will a linking step. This is objectively wrong: For
instance passing a header file as input (`-x c-header` or `-x
c++-header`) triggers precompilation, not linking. Other inputs that do
not have a link phase as specified by `Types.def`
are `.dxo`, `.ifs`, and `.hlsl` files.
Instead of defaulting to link in the absence of any action flag, this PR
uses the last phase that `Types.def` specifies for the given input
files. The effect of this is relevant when handling linking options
which are categorized as "input" like any other file.
Usually these should be filtered out if
there is no linking step. But, since `getFinalPhase` says there is a
linking flag, those are forwarded to the precompile handling which gets
confused with such "inputs". An accurate determination of the final
phase filters out those non-applicable linker options.
Note that the second condition of
`clang::diag::warn_drv_input_file_unused` was inverted: It would print
> clang: warning: -lfoo: 'linker' input unused when '' is present
[-Wunused-command-line-argument]
when passing a linker option to a non-link command that is not the
result of an action command flag. Inversely, when a non-link action flag
was used, it wasn't mentioned in the diagnostic message.
Commit: 1871cb232f00d67193c3ef085e26b67b56029d21
https://github.com/llvm/llvm-project/commit/1871cb232f00d67193c3ef085e26b67b56029d21
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/.clang-tidy
Log Message:
-----------
[clang-tidy][NFC] Convert check list to yaml format (#221411)
Yaml format was introduced in 19-20 release which is old enough to
safely transition our file to new version since we are on 23 release
already.
Commit: 71036f99e0dcc24b12cbcbcc2088b8d715465e0f
https://github.com/llvm/llvm-project/commit/71036f99e0dcc24b12cbcbcc2088b8d715465e0f
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[NFC] Stop relying on the LocationDescription conversion in unit tests. (#221004)
`LocationDescription` has an implicit conversion from a bare insertion
point, and it leaves DL default-constructed. `OpenMPIRBuilderTest`
depends on that in a number of places, either by naming an insertion
point directly or by handing `Builder.saveIP()` to an entry point that
takes a `LocationDescription`.
Spell out what each of those sites means instead. Where a live builder
is already sitting at the insertion point it is passed directly, and
where the test names an insertion point of its own the empty location is
written out, which is what it was getting before, so no test changes
behavior.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 137d8e684984df207576c8f24bd8743ddb71c5c9
https://github.com/llvm/llvm-project/commit/137d8e684984df207576c8f24bd8743ddb71c5c9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/test/CodeGen/X86/avx512f-large-stack.ll
A llvm/test/CodeGen/X86/huge-frame-index.ll
Log Message:
-----------
[X86] Fix eliminateFrameIndex dropping existing index register for huge frame offsets
When the frame offset does not fit in disp32 and the address mode already
uses an index register, the register-scavenging path overwrote the index
operand with the scratch register, silently dropping the index from the
effective address (and applying the stale scale to the frame offset).
Fold the offset into the base register with an LEA in this case instead.
Fixes #213960
Assisted-by: Cursor
Reviewers: RKSimon, qcolombet
Pull Request: https://github.com/llvm/llvm-project/pull/221016
Commit: b9871b325ed34e4dea7ea81e8ec5c72fd6e1f0e7
https://github.com/llvm/llvm-project/commit/b9871b325ed34e4dea7ea81e8ec5c72fd6e1f0e7
Author: Andrzej WarzyΕski <andrzej.warzynski at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_len.c
M clang/test/CodeGen/AArch64/lit.local.cfg
A clang/test/CodeGen/AArch64/sve/dup.c
A clang/test/CodeGen/AArch64/sve/len.c
Log Message:
-----------
[clang][CIR][AArch64] Move and reformat SVE test (#220599)
Adapts SVE tests to match the approach that we took for Neon. In
particular, test are moved to:
* "clang/test/CodeGen/AArch64/sve"
There is no change in test coverage.
Commit: 759e1fff9e41cf4ad313c117cd024650b4566a71
https://github.com/llvm/llvm-project/commit/759e1fff9e41cf4ad313c117cd024650b4566a71
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/wide-vscale-range-max-runtime-vf.ll
Log Message:
-----------
[LV] Use getMaxRuntimeElementCount for MaxPowerOf2RuntimeVF. (#221219)
Use new getMaxRuntimeElementCount to compute MaxPowerOf2RuntimeVF to
avoid overflow by performing computations in uint64_t.
This fixes an overflow in the test added in #219290. We now correctly
determine that a tail is needed for a low trip count loop.
PR: https://github.com/llvm/llvm-project/pull/221219
Commit: 972cd3ddf3d58ecb79a4e6b62b35147513f3aeea
https://github.com/llvm/llvm-project/commit/972cd3ddf3d58ecb79a4e6b62b35147513f3aeea
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
Log Message:
-----------
[lldb][Windows] Silence unused variable warning on Windows on Arm (#221176)
<...>/llvm-project/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp(507,8):
warning: unused variable 'log' [-Wunused-variable]
507 | Log *log = GetLog(WindowsLog::Exception);
| ^~~
Move that line into the `#ifndef __aarch64__` block to fix this.
Commit: c84706fd8cab200aa460b7737fa5412a0c1628d8
https://github.com/llvm/llvm-project/commit/c84706fd8cab200aa460b7737fa5412a0c1628d8
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector-to-predicate-load.ll
Log Message:
-----------
[AArch64][SVE] Lower extended v2i8 loads using SVE. (#217006)
Loads of v2i8 are promoted to v2i32, which requires two extend
operations; v2i8 -> v2i16, then v2i16 -> v2i32. This comes largely for
free when using SVE's extending loads.
Commit: 330bb868b4a5d6035a1511169dacc72e913d009f
https://github.com/llvm/llvm-project/commit/330bb868b4a5d6035a1511169dacc72e913d009f
Author: Mikhail Titov <42744001+Anchels at users.noreply.github.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/docs/LibFuzzer.md
Log Message:
-----------
[docs][libFuzzer] Fix formatting and collapsed definition lists (#206709)
This PR fixes broken formatting and collapsed definition lists in the
libFuzzer documentation by adding missing blank lines.
Closes #206706
Signed-off-by: Anchels <mishtitov at gmail.com>
Commit: 95de5eb9942a20285afd59f7c197ba005a9b937b
https://github.com/llvm/llvm-project/commit/95de5eb9942a20285afd59f7c197ba005a9b937b
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR] Drop dead ceremony around the CIR enum attributes (#220890)
Five things that no longer earn their place in the CIR enum attribute
machinery.
CIR_CleanupKindAttr carried three. Its cppClassName restated the default
AttrDef already derives. Its skipDefaultBuilders plus hand-written
AttrBuilder existed only to default $value to CleanupKind::All, which no
caller relies on, so the generated builders stayed suppressed for
nothing.
And its summary and description restated the name, overriding the enum's
own
"cleanup kind" that EnumAttr would otherwise inherit. The isNormal, isEH
and
isNormalAndEH helpers stay.
CIR_TLSModelAttr's summary restated its name the same way, so only that
goes.
CIR_DefaultValuedEnumParameter has never had a user.
Commit: d246c5ee925edc79ed12e6269faa296b83362075
https://github.com/llvm/llvm-project/commit/d246c5ee925edc79ed12e6269faa296b83362075
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
Log Message:
-----------
[SLP][modularisation][NFC] Move order/mask helpers to SLPUtils (#221663)
Move the following BoUpSLP-independent order/mask helpers out of
SLPVectorizer.cpp into SLPVectorizer/SLPUtils.{h,cpp}:
reorderReuses
reorderOrder
isReverseOrder
isRepeatedNonIdentityClusteredMask
combineOrders
They sit with the existing permutation helpers. Behavior is unchanged.
Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
Commit: 07f6736c8a7ee21c51466f09cb2458f35d665597
https://github.com/llvm/llvm-project/commit/07f6736c8a7ee21c51466f09cb2458f35d665597
Author: Iasonas Karaprodromidis <iaskarapro at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M lldb/include/lldb/Target/Language.h
M lldb/source/Plugins/Language/CMakeLists.txt
A lldb/source/Plugins/Language/Fortran/CMakeLists.txt
A lldb/source/Plugins/Language/Fortran/FortranLanguage.cpp
A lldb/source/Plugins/Language/Fortran/FortranLanguage.h
M lldb/source/Target/Language.cpp
M lldb/unittests/Language/CMakeLists.txt
A lldb/unittests/Language/Fortran/CMakeLists.txt
A lldb/unittests/Language/Fortran/FortranLanguageTest.cpp
Log Message:
-----------
[lldb][Fortran] Add Fortran language plugin to LLDB (#221301)
This PR adds the Plugin necessary for LLDB to recognise Fortran.
Subsequent PRs will add the TypeSystem and the DWARFASTParser for
Fortran.
Changes:
- Adds Fortran language Plugin.
- Adds LanguageIsFortran function to the Language class to help identify
Fortran.
Testing:
- Check if language Plugin is registered.
Part of the Add Fortran support to LLDB GSoC 2026 project.
Relates to #109119.
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: f16746ae332fed263a69464e38085706e96dad9b
https://github.com/llvm/llvm-project/commit/f16746ae332fed263a69464e38085706e96dad9b
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
[AMDGPU] Remove dead D16ImageDimIntrinsic and lookupD16ImageDimIntrinsic (NFC) (#221660)
The corresponding TableGen table and callers were removed on June 21,
2018 in commit 7a9c03f484fee744b1cbcc45e77f949b4ebfcbee, leaving behind
the struct, the declaration, and the unused macro definition.
Assisted-by: Antigravity
Commit: e92c19abae25beb03234bfbf6cfa1a431c6d380a
https://github.com/llvm/llvm-project/commit/e92c19abae25beb03234bfbf6cfa1a431c6d380a
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/utility.h
A libc/src/__support/CPP/utility/swap.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/powf.h
M libc/src/__support/wctype/CMakeLists.txt
M libc/src/__support/wctype/perfect_hash_map.h
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/src/stdio/scanf_core/parser.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/qsort_data.h
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/algorithm_test.cpp
A libc/test/src/__support/CPP/swap_test.cpp
M libc/test/src/stdio/scanf_core/parser_test.cpp
Log Message:
-----------
[libc] Add cpp::swap and cpp::clamp utilities (#221236)
Added cpp::swap to src/__support/CPP/utility/swap.h with move semantics
and array support, and cpp::clamp to src/__support/CPP/algorithm.h with
comparator support.
Included unit tests in swap_test.cpp and algorithm_test.cpp.
Adopted the new utilities in initial callsites:
* stdlib: Used cpp::swap in qsort_data.h
* wctype: Used cpp::swap in perfect_hash_map.h
* math: Used cpp::clamp in powf.h
* scanf_core: Used cpp::min and cpp::max in parser.h
Also fixed sign extension when parsing scanset specifiers in parser.h:
signed characters greater than or equal to 128 produced negative values,
inverting comparisons and causing out-of-bounds writes in the bitset.
Scanset characters are now cast through uint8_t, and non-ASCII tests
were added to parser_test.cpp.
Assisted-by: Automated tooling, human reviewed.
Commit: 10a37889d4d14a30a7fef19e61acf8b8808ddeae
https://github.com/llvm/llvm-project/commit/10a37889d4d14a30a7fef19e61acf8b8808ddeae
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
Log Message:
-----------
[RISCV] Add VPatBinaryVL_R_VX to share between VRSUB.VX and VDOT4AUS.VX. NFC (#221284)
Assisted-by: Claude
Commit: 1ce91bb26f31a773979c813cd8c2904f9076295c
https://github.com/llvm/llvm-project/commit/1ce91bb26f31a773979c813cd8c2904f9076295c
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/Transforms/SimplifyCFG/preserve-unpredictable-switch-create.ll
Log Message:
-----------
[SimplifyCFG] Preserve !unpredictable when forming a switch (#221580)
SimplifyCFG turns a chain of equality comparisons into a switch in two
places, performValueComparisonIntoPredecessorFolding() and
simplifyBranchOnICmpChain(), and neither propagated !unpredictable. The
hint was therefore dropped even though it is valid on a switch and the
reverse transform, simplifySwitchOfCmpIntrinsic(), already preserves it.
Propagate the metadata in both. Folding a comparison into a predecessor
merges two decisions into a single switch, so the result is only marked
unpredictable when both of the folded comparisons were. That also makes
chains longer than two blocks work: the fold runs once per predecessor
and reads the metadata back off the switch it built on the previous
iteration.
simplifyBranchOnICmpChain() also emits a range check instead of a switch
when the case values are contiguous. That branch is an exact replacement
for the original one, so it inherits the metadata unconditionally, and
the flag now survives into the machine IR.
Fixes #42658.
Commit: ce27ca449c564f8b38a60ea8db28e10a76cfb4ef
https://github.com/llvm/llvm-project/commit/ce27ca449c564f8b38a60ea8db28e10a76cfb4ef
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
A llvm/test/Analysis/ScalarEvolution/ext-addrec-wrap-flags.ll
R llvm/test/Analysis/ScalarEvolution/incorrect-nsw.ll
Log Message:
-----------
[SCEV] Add test coverage for ext-nusw/nsuw inference (#218943)
Complete the existing incorrect-nsw test, showing that zext-addrec nusw
is not implied by nw on the pre-inc AR, and that sext-addrec nsuw is not
implied by nw on the pre-inc AR. See also: #217405 and #217362.
Assisted-by: AI
Commit: 1afead77810533576bc2bc2c0c900afba82cb6af
https://github.com/llvm/llvm-project/commit/1afead77810533576bc2bc2c0c900afba82cb6af
Author: theRonShark <ron.lieberman at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
Log Message:
-----------
Revert "[CodeGen] Use RegisterClassInfo for remaining allocation-order users" (#221749)
Reverts llvm/llvm-project#216510
breaks tests MIOpen/CK shard 1-4 in CI
queueing this up in case we want to save a bit of time
Commit: c5fc98310a8897773e188d1c6a0d76db92384ab8
https://github.com/llvm/llvm-project/commit/c5fc98310a8897773e188d1c6a0d76db92384ab8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/test/CodeGen/X86/pr1505b.ll
Log Message:
-----------
[X86] pr1505b.ll - regenerate test checks (#221774)
Commit: b1a72e31f29d4d5ede41f42443a34a2e6a1396b6
https://github.com/llvm/llvm-project/commit/b1a72e31f29d4d5ede41f42443a34a2e6a1396b6
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes e92c19a (#221761)
This fixes e92c19abae25beb03234bfbf6cfa1a431c6d380a (#221236).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=e92c19abae25beb03234bfbf6cfa1a431c6d380a
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 271af38dfc3aa02e329821daf46730686e52fb1c
https://github.com/llvm/llvm-project/commit/271af38dfc3aa02e329821daf46730686e52fb1c
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbankselect.mir
Log Message:
-----------
[AMDGPU][GIsel][NPM] Port "AMDGPURegBankSelect" to NPM (#217321)
Assisted-by: Opus-4.8
Commit: 0c553f573a076091f60df21618494584e9641e96
https://github.com/llvm/llvm-project/commit/0c553f573a076091f60df21618494584e9641e96
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/trunc.ll
Log Message:
-----------
[InstCombine] Use common flags for shl in shl/trunc fold. (#221769)
As pointed out post-commit in
https://github.com/llvm/llvm-project/pull/219443, whether the flags from
the trunc can be transferred directly to the shl depends on the involved
types: https://alive2.llvm.org/ce/z/zN_TFq
For now, just use the common flags.
PR: https://github.com/llvm/llvm-project/pull/221769
Commit: 7297a1eec0d0ea5311775d36a63045a00830811b
https://github.com/llvm/llvm-project/commit/7297a1eec0d0ea5311775d36a63045a00830811b
Author: Giles Payne <gilespayne at telepathix.net>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/XCore/Disassembler/CMakeLists.txt
Log Message:
-----------
Fix unresolved symbol XCoreMCRegisterClassStorage (#211420)
Fix for #211419
Add missing dependency to XCoreDisAssembler's CMakeLists.txt file
Commit: c70b9c09f691d93c6e46e2692e15fb439dcb2560
https://github.com/llvm/llvm-project/commit/c70b9c09f691d93c6e46e2692e15fb439dcb2560
Author: Addmisol <addmisol9 at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AMDGPU/frexp-inf-nan-combine.ll
Log Message:
-----------
[AMDGPU] Fold redundant inf/nan checks into frexp instructions (#214936)
Fixes #204204
The AMDGPU "v_frexp_exp" and "v_frexp_mant" instructions return 0 for
inf/nan inputs. This patch adds a DAG combine
("performFrexpSelectCombine") to fold redundant inf/nan checks with
frexp results, eliminating unnecessary compare and select instructions..
### Patterns folded:
- `select (fcmp uno x, 0), 0, (frexp_exp x)` β `frexp_exp x`
- `select (fcmp oeq |x|, inf), 0, (frexp_exp x)` β `frexp_exp x`
- `select (fcmp ueq |x|, inf), 0, (frexp_exp x)` β `frexp_exp x`
- `select (fcmp ord x, 0), (frexp_exp x), 0` β `frexp_exp x`
- `select (fcmp one |x|, inf), (frexp_exp x), 0` β `frexp_exp x`
- `select (is_fpclass x, finite), (frexp_exp x), 0` β `frexp_exp x`
- Same patterns with `frexp_mant`
The optimization is disabled on SI (Southern Islands) which has
hasFractBug()..
## Test plan
- [x] Added frexp-inf-nan-combine.ll with comprehensive tests for:
- Targets: GFX9, GFX10, GFX11, GFX950 (optimization applies), SI
(optimization does NOT apply)
- Types: f32, f64, f16
- Patterns: NaN clamp, inf clamp, inf-or-nan clamp, reversed select,
not-inf check
- Negative tests: different inputs, non-zero constants, unrelated
comparisons
All existing frexp-related AMDGPU tests pass..
cc @arsenm
---------
Signed-off-by: addmisol <addmisol9 at gmail.com>
Commit: f9a8dec9496fea7c55f591a66a64dbcdc085fc2d
https://github.com/llvm/llvm-project/commit/f9a8dec9496fea7c55f591a66a64dbcdc085fc2d
Author: AZero13 <gfunni234 at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/and-negpow2-cmp.ll
Log Message:
-----------
[RISCV] Fix infinite DAGCombine loop with SETCC and SIGN_EXTEND_INREG (#221593)
We generalized (X & -(1 << C1) & 0xffffffff) == C2 << C1 using `sraiw`.
The combine generates a `SIGN_EXTEND_INREG` when simplifying.
However, when C1 is 0 and the sign bit (bit 31) of X is already known to
be zero, `DAGCombiner` sees that `SIGN_EXTEND_INREG` is semantically
equivalent to `AND X, 0xFFFFFFFF` (zext). Because `DAGCombiner`
considers `AND` to be more canonical than `SIGN_EXTEND_INREG` in this
context, it immediately reverts the node back to `AND`.
This caused an infinite DAGCombine loop. This patch disables the folding
when the C1 is zero. That case is covered by a later combine that already
checks if bit 31 is known to be zero.
Fixes: https://github.com/llvm/llvm-project/issues/221521
Commit: a4dd3554ec3dcde9288af34181a8d2200ecb8c9d
https://github.com/llvm/llvm-project/commit/a4dd3554ec3dcde9288af34181a8d2200ecb8c9d
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/openmp-reduction-debug-loc.mlir
Log Message:
-----------
[OMPIRBuilder] Restore the debug location after the reduction alloca (#221253)
`createReductions` emits the array of type-erased pointers to the
private reduction values in the alloca block, which means leaving the
current insertion point and coming back. The insertion point is
re-established but the debug location is not. Everything emitted
afterwards like the `__kmpc_reduce` and the matching __kmpc_end_reduce
inherits whatever the terminator happened to carry, which is usually
nothing. This could result in a verifier error if program is linked with
openmp runtime that has debug information.
Fix it by restoring the debug location along with the InsertPoint.
Commit: 14aebab4c6fe5c9f937efcdf1ea184495de6b737
https://github.com/llvm/llvm-project/commit/14aebab4c6fe5c9f937efcdf1ea184495de6b737
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/test/Analysis/dtor-array.cpp
Log Message:
-----------
[analyzer] Fix crash destructing element of a sugared array type
ExprEngine::makeElementRegion falls short trying to determine the
element type of an array that involves a type aliasing a static array
type.
This leads to a crash in ExprEngine::ProcessMemberDtor where it assumes
that element type is a CXXRecordDecl, while it is still a type alias to
a static array type.
getBaseElementType is the canonical way to desugar and peel off the
array dimensions.
Assisted by Claude Opus 5
--
CPP-8838
Commit: d5f72dd27f20499b050a7f855750a7dc2013e1d5
https://github.com/llvm/llvm-project/commit/d5f72dd27f20499b050a7f855750a7dc2013e1d5
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/FrontendAction/CMakeLists.txt
M clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/Lowering/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
M clang/tools/cir-opt/CMakeLists.txt
Log Message:
-----------
[CMake] Link only the MLIR dialects ClangIR uses (#221616)
CIR's sources reference Arith, DLTI, Func, LLVM, OpenACC, OpenMP and
Ptr, and cir-opt registers only the CIR dialects plus MemRef and LLVM.
Link those instead, which keeps Linalg, Vector, SPIRV, SparseTensor,
Tosa and GPU out of the clang build graph.
CLANG_ENABLE_CIR=ON adds 2135 build edges to the clang target; this
removes 694 of them.
LLM-aided
Commit: 89fe023484bd5b897dccefd290fe5e8536db47b0
https://github.com/llvm/llvm-project/commit/89fe023484bd5b897dccefd290fe5e8536db47b0
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
A mlir/include/mlir/Dialect/LLVMIR/LLVMAllOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
A mlir/lib/Dialect/LLVMIR/IR/LLVMOps.cpp
A mlir/lib/Dialect/LLVMIR/IR/LLVMOps.h
Log Message:
-----------
[MLIR][LLVM] Shard generated operation definitions (NFC) (#221813)
LLVMDialect.cpp includes both the 55,078-line core operation definitions
and the 95,769-line intrinsic operation definitions. Generate the
combined operation set in eight shards, use the generated registration
hook, and expose only the parser, printer, and type-inference helpers
needed by generated code.
Assisted-by: Codex
Commit: 362194cb4c7e61949d54dfd89b05442a11da25b8
https://github.com/llvm/llvm-project/commit/362194cb4c7e61949d54dfd89b05442a11da25b8
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/test/CIR/Lowering/lifetime.cir
M clang/test/CIR/Lowering/stack-save-restore.cir
M clang/test/CIR/Transforms/abi-lowering/byval-sret-arg-attr-lowering.cir
M clang/test/CIR/Transforms/abi-lowering/extend-signed-arg.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-bitint.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-complex.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-empty-class.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-scalars.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-direct.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-union-coerce-shapes.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-variadic-call.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-vector.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-vptr.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-wide-floats.cir
M clang/test/CMakeLists.txt
M clang/tools/cir-translate/CMakeLists.txt
M clang/tools/cir-translate/cir-translate.cpp
Log Message:
-----------
[CIR] Register only the LLVM IR translations CIR lowers to (#221797)
The ClangIR tests reach LLVM IR through mlir-translate, which links
every MLIR dialect and translation, so building check-clang builds most
of MLIR. Register mlir-to-llvmir in cir-translate over the same three
dialects and use it instead. Remove the dependency on `mlir-translate`
to run CIR tests.
ninja check-clang drops from 6499 to 5853 build edges.
LLM-aided
Commit: b4488d4c14709dd4dd94afaa0fa1c14cde69ee13
https://github.com/llvm/llvm-project/commit/b4488d4c14709dd4dd94afaa0fa1c14cde69ee13
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
Log Message:
-----------
[mlir][AMDGPU] Move gather index vectors at final use (NFC) (#221825)
The gather lowering copies two temporary vectors into the next
construction stage and never reads the source vectors again. Move their
storage instead.
Found by Coverity.
Assisted-by: Codex
Commit: 9fafedaa908f1844f4150ae2ba6e0eec938341c4
https://github.com/llvm/llvm-project/commit/9fafedaa908f1844f4150ae2ba6e0eec938341c4
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
Log Message:
-----------
[MLIR][linalg] Remove discarded failure conversion (#221826)
Silence warning for unused result with a `(void)` cast instead of
converting its result with failed() and then discarding the converted
value.
Fix a Coverity warning, and it's cleaner about the intent.
Assisted-by: Codex
Commit: bc1c4e23e88262a480a081f1a7ecb84e75351b61
https://github.com/llvm/llvm-project/commit/bc1c4e23e88262a480a081f1a7ecb84e75351b61
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Math/IR/MathOps.cpp
Log Message:
-----------
[MLIR][math] Remove dead IPowI fold return (NFC) (#221827)
The folder returns the constant-fold helper result directly, remove the
unreachable fallback after the helper call.
Found by Coverity.
Assisted-by: Codex
Commit: 52bc117e7930694fed38d2ffb327f77e8bd8a474
https://github.com/llvm/llvm-project/commit/52bc117e7930694fed38d2ffb327f77e8bd8a474
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/utils/TableGen/CIRLoweringEmitter.cpp
Log Message:
-----------
[CIR] Derive lowering attr names from cppClassName, not the def name (#220891)
CIRLoweringEmitter built its CXX_ABI_ALWAYS_LEGAL_ATTRS entries with
GetOpCppClassName, which splits the TableGen def name at the first
underscore. That works only while every def is named
CIR_<CppClassName>Attr.
When one is not, the emitter writes an `isa<>` for a class that does not
exist, and the failure lands as a compile error in generated code.
Attributes carry the authoritative name in cppClassName, which
GenerateAttrToValueVisitor was already reading. Factor that out as
GetAttrCppClassRef and use it for both attribute paths.
GetOpCppClassName
stays for operations.
Commit: 87d1986bd2264b434e865044745725efbf52dda5
https://github.com/llvm/llvm-project/commit/87d1986bd2264b434e865044745725efbf52dda5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
Log Message:
-----------
[mlir][spirv] Avoid copies of local APInt values in folds (NFC) (#221084)
Move locally constructed APInt values into arithmetic operations at
their last use. Expand conditional returns where needed so returning a
local can use implicit move construction.
Found by Coverity.
Assisted-by: Codex
Commit: 44a4dbf32a6b54de32e4d064756d7a6ba5b9e808
https://github.com/llvm/llvm-project/commit/44a4dbf32a6b54de32e4d064756d7a6ba5b9e808
Author: edisongz <edisongz123 at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/test/Dialect/Arith/int-range-narrowing.mlir
Log Message:
-----------
[MLIR][Arith] Don't narrow shifts whose amount can exceed the target width (#218495)
A shift by an amount >= the operand bitwidth is poison. Narrowing
changes that bitwidth, so an amount valid at the original width (e.g. 32
for i64) can become poison at the narrowed one (>= 32 for i32),
miscompiling `4 >> 32` from 0 to 4.
Only narrow shifts when the shift amount is provably below the target
width.
Fixes #218191
Commit: 36b179dff5c85de0a7aca763e618d8c15dd5b2e7
https://github.com/llvm/llvm-project/commit/36b179dff5c85de0a7aca763e618d8c15dd5b2e7
Author: Oliver Hunt <oliver at apple.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Sema/global-explicit-register-undefined-type.c
Log Message:
-----------
[clang][Sema] Crash due to asm labeled incomplete global register decls (#219746)
CheckAsmLabel fails to check for an incomplete type before attempting to
get the type layout. Short circuit on an incomplete type as Sema will
already reject a global with an incomplete type.
Commit: 5b4a54a5ae59b44f6e4c898984bb184a4b05d885
https://github.com/llvm/llvm-project/commit/5b4a54a5ae59b44f6e4c898984bb184a4b05d885
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Log Message:
-----------
[mlir][LLVM] Remove dead constant verifier return (NFC) (#221833)
Every arm of the constant attribute-kind chain returns directly, leaving
the final success return unreachable. Remove the dead statement.
Found by Coverity.
Assisted-by: Codex
Commit: 45930cef5214e430aa7424cacb07e374a07ead12
https://github.com/llvm/llvm-project/commit/45930cef5214e430aa7424cacb07e374a07ead12
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/test/mlir-pdll/Parser/expr-failure.pdll
Log Message:
-----------
[mlir][PDLL] Reject overflowing unregistered result indices (#221834)
Unregistered operation result access accepts numeric member names, but
code generation emits a nonnegative I32 attribute. Reject values outside
the signed 32-bit range before building the AST and use the matching
type in codegen.
Found by Coverity.
Assisted-by: Codex
Commit: a2ce10c7c93b22ebe3540dbd2c88e5cf202860de
https://github.com/llvm/llvm-project/commit/a2ce10c7c93b22ebe3540dbd2c88e5cf202860de
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/add-nsw.ll
M llvm/test/Transforms/ConstraintElimination/cond-used-in-phi.ll
M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit-postinc.ll
M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit.ll
M llvm/test/Transforms/ConstraintElimination/induction-nowrap-from-scev-not-ir.ll
M llvm/test/Transforms/ConstraintElimination/loops.ll
M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-cfg.ll
M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-decrement.ll
M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-wrapping.ll
M llvm/test/Transforms/ConstraintElimination/pr70510.ll
M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned-is-known-non-negative.ll
M llvm/test/Transforms/ConstraintElimination/wrapping-math.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll
Log Message:
-----------
[ConstraintElim] Use range-based NUW/NSW inferrence for Add. (#221487)
Factor out logic to strengthen NUW/NSW flags based on know no-wrap
regions and also use it for ADD.
This enables a number of additional folds in real-world workloads:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1215
Compile-time impact in the noise for geomean. Per workload there are a
few improvements and one regression `lencod` (stage1-ReleaseThinLTO)
https://llvm-compile-time-tracker.com/compare.php?from=bb577f620571ce3bb97f2e717b53500574a9cf27&to=6de758abcfa6fb6e9de359b1fb5cfb67b689afe5&stat=instructions:u
PR: https://github.com/llvm/llvm-project/pull/221487
Commit: f7ce52f0f4ec943bfdc749bc67de00a1e3ece6bc
https://github.com/llvm/llvm-project/commit/f7ce52f0f4ec943bfdc749bc67de00a1e3ece6bc
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fdot2.ll
Log Message:
-----------
[AMDGPU] Fix FDOT2 fold for non-constant lane indices (#217646)
The fold only checked that the two lane index nodes were not the same
SDValue, but distinct nodes can still be equal at runtime, silently
picking the wrong lanes
Require both indices to be constant and distinct
Commit: bea94ba6d6424468b60478c4ef1933e4c598f58f
https://github.com/llvm/llvm-project/commit/bea94ba6d6424468b60478c4ef1933e4c598f58f
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/true16-fold.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] Do not fold hi16 SGPR copy (#220858)
Dropping the subreg on a hi16 copy would read the low half instead
Commit: 415d9c668e4d18908938df4847ada34cb82eb06b
https://github.com/llvm/llvm-project/commit/415d9c668e4d18908938df4847ada34cb82eb06b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.h
Log Message:
-----------
[mlir][ODS] Remove unconditional properties query (NFC) (#221844)
All operations emit a Properties struct, including operations without
explicit properties. Remove the stale hasProperties query and fold its
unreachable property-less paths from the operation, adaptor, and format
generators.
Found by Coverity.
Assisted-by: Codex
Commit: 95760fbf5cd5b6b9afcfff0a9639473792da5ed3
https://github.com/llvm/llvm-project/commit/95760fbf5cd5b6b9afcfff0a9639473792da5ed3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMRequiresSMTraits.h
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Dialect/LLVMIR/nvvm-target-invalid.mlir
Log Message:
-----------
[mlir][NVVM] Reject malformed target chip names (#220873)
Parse the complete sm_<version>[a|f] grammar before using the SM
version. This prevents a failed integer conversion from leaving the
version uninitialized and also rejects overflowing encodings.
Found by Coverity.
Assisted-by: Codex
Commit: 5f9d1397b6a19d6ea23d6b6d27609495d97ffa88
https://github.com/llvm/llvm-project/commit/5f9d1397b6a19d6ea23d6b6d27609495d97ffa88
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][Tosa] Handle empty block-scaled reshape shapes (#220872)
Commit: cc9a7010afd7126e8ec45fb6a967d39849613f35
https://github.com/llvm/llvm-project/commit/cc9a7010afd7126e8ec45fb6a967d39849613f35
Author: Thurston Dang <thurston at google.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety][test] Fix UUM of fields added in #221610 and #205764 (#221843)
New LifetimeSafetyOpts fields were added in
https://github.com/llvm/llvm-project/pull/221610 but they are not
initialized in clang/unittests/Analysis/LifetimeSafetyTest.cpp, leading
to use-of-uninitialized-memory
(https://lab.llvm.org/buildbot/#/builders/164/builds/25165):
```
WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x555571559cbc in clang::lifetimes::internal::(anonymous namespace)::LifetimeChecker::LifetimeChecker(clang::lifetimes::internal::LoanPropagationAnalysis const&, clang::lifetimes::internal::MovedLoansAnalysis const&, clang::lifetimes::internal::LiveOriginsAnalysis const&, clang::lifetimes::internal::FactManager&, clang::AnalysisDeclContext&, clang::lifetimes::LifetimeSafetySemaHelper*, clang::lifetimes::LifetimeSafetyOpts const&) /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/lib/Analysis/LifetimeSafety/Checker.cpp:108:9
#1 0x5555715453cd in clang::lifetimes::internal::runLifetimeChecker(clang::lifetimes::internal::LoanPropagationAnalysis const&, clang::lifetimes::internal::MovedLoansAnalysis const&, clang::lifetimes::internal::LiveOriginsAnalysis const&, clang::lifetimes::internal::FactManager&, clang::AnalysisDeclContext&, clang::lifetimes::LifetimeSafetySemaHelper*, clang::lifetimes::LifetimeSafetyOpts const&) /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/lib/Analysis/LifetimeSafety/Checker.cpp:575:19
#2 0x555571524c1e in clang::lifetimes::internal::LifetimeSafetyAnalysis::run() /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp:98:3
#3 0x55555c3da25b in LifetimeTestRunner /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/unittests/Analysis/LifetimeSafetyTest.cpp:71:15
...
Uninitialized value was stored to memory at
#0 0x55555bcd06c7 in __msan_memcpy /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp:1760:3
#1 0x5555715238ed in clang::lifetimes::internal::LifetimeSafetyAnalysis::LifetimeSafetyAnalysis(clang::AnalysisDeclContext&, clang::lifetimes::LifetimeSafetySemaHelper*, clang::lifetimes::LifetimeSafetyOpts const&) /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp:54:39
#2 0x55555c3da1b9 in make_unique<clang::lifetimes::internal::LifetimeSafetyAnalysis, clang::AnalysisDeclContext &, std::nullptr_t, clang::lifetimes::LifetimeSafetyOpts &, 0> /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/libcxx_install_msan_track_origins/include/c++/v1/__memory/unique_ptr.h:713:30
#3 0x55555c3da1b9 in LifetimeTestRunner /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/unittests/Analysis/LifetimeSafetyTest.cpp:70:9
```
This patch fixes the issue by initializing the fields in the test to
true, which maintains the behavior prior to the new fields being added.
Additionally, this patch does a similar drive-by fix to the
SuggestAnnotations field (added in
https://github.com/llvm/llvm-project/pull/205764). Although there has
been no MSan report, that's likely either an MSan false negative or
insufficient test coverage.
Commit: 08b4a7559af99165fcbc1855d923e0e482a42079
https://github.com/llvm/llvm-project/commit/08b4a7559af99165fcbc1855d923e0e482a42079
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 89fe023 (#221823)
This fixes 89fe023484bd5b897dccefd290fe5e8536db47b0 (#221813).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=89fe023484bd5b897dccefd290fe5e8536db47b0
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: d031640796e10e0fed0a6ed72e844870dc4be8b3
https://github.com/llvm/llvm-project/commit/d031640796e10e0fed0a6ed72e844870dc4be8b3
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M orc-rt/lib/bedrock/CMakeLists.txt
M orc-rt/lib/support/CMakeLists.txt
Log Message:
-----------
[orc-rt] Hide symbols by default in Bedrock and Support libs. (#221848)
Hides C/C++ symbols by default in the orc-rt Bedrock and Support
libraries. Only explicitly annotated APIs should be exposed by these
libraries.
Commit: 2e6c7bc8513ee405ca2e8a3032c1ab41a19ee90f
https://github.com/llvm/llvm-project/commit/2e6c7bc8513ee405ca2e8a3032c1ab41a19ee90f
Author: Larry Meadows <Lawrence.Meadows at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
A llvm/test/Transforms/OpenMP/indirect_call_specialization_cap.ll
Log Message:
-----------
[OpenMPOpt] Bound indirect-call specialization instead of paying for all of it (#219323)
`registerAAsForFunction()` seeds `AAIndirectCallInfo` unconditionally,
so device
code pays for specializing every indirect call site. Device code routes
many
calls through function-pointer tables and virtual dispatch, so a call
site can
see every address-taken candidate in the module, and the if-cascade
`AAIndirectCallInfo` builds over them is quadratic.
Skip specialization at a call site with more than three possible
callees,
overridable with `-openmp-opt-max-callees-for-specialization`. The bound
is a
threshold on the call site rather than a limit on how many callees get
specialized: the Attributor asks about each callee with the same total,
so a
site above the threshold keeps its indirect call instead of getting
three direct
ones plus a fallback.
Measured on a generated module with a 256-entry device function-pointer
table,
2048 dispatch functions and 64 target regions, gfx90a,
`opt -disable-verify -passes='openmp-opt,lto<O3>'`, min of 3 runs:
| | cap 3 | no cap |
|-----------------------------------------|-------|--------|
| LTO pipeline | 13.3s | 34.4s |
| final module, IR lines | 340k | 511k |
| cascade equality tests after openmp-opt | 310 | 499 |
The cost is not in `openmp-opt` itself, which is 1.23s either way; it is
in what
the rest of the pipeline does with the cascades. Sites at or below the
threshold
are still specialized, which `indirect_call_specialization_cap.ll`
covers from
both sides.
This PR previously carried two other changes, now split out as #221449
(loop
runtime callbacks) and #221450 (the worker-count gate), per @abidh's
request.
Tested on gfx90a: `llvm/test/Transforms/{OpenMP,Attributor}` 260 passed,
1
unsupported.
Commit: 2b7ee868b318f45372933e03d9a22203638e92db
https://github.com/llvm/llvm-project/commit/2b7ee868b318f45372933e03d9a22203638e92db
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Transforms/JumpThreading/update-bpi-bfi-unfold-select.ll
Log Message:
-----------
[JumpThreading] Don't divide by all-zero branch weights (#221846)
Fixes #192165.
Commit: d91284c7f5747ade780b944ef9d4cb6d8bfbbc1e
https://github.com/llvm/llvm-project/commit/d91284c7f5747ade780b944ef9d4cb6d8bfbbc1e
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M openmp/runtime/src/kmp_settings.cpp
Log Message:
-----------
[libomp] Set `KMP_USE_YIELD=2` when `OMP_WAIT_POLICY=active` if it's not specified explicitly (#199628)
This patch sets `KMP_USE_YIELD=0` when `OMP_WAIT_POLICY=active` and
`KMP_USE_YIELD` is not explicitly set by the user. This is the same as
the value of `KMP_BLOCKTIME` is set to infinite when `KMP_BLOCKTIME` is
not explicitly set and `OMP_WAIT_POLICY=active`.
### Background
`KMP_USE_YIELD` is an environment variable for libomp to control the
behavior of threads when they are idle. We can specify 0, 1, or 2 as the
value of `KMP_USE_YIELD`. As I read the code, the behavior is as
follows:
- `KMP_USE_YIELD=0`: Threads will NOT yield the CPU when they are idle.
- `KMP_USE_YIELD=1`: Threads will yield the CPU when they are idle.
- `KMP_USE_YIELD=2`: Threads will yield the CPU when they are idle if we
are oversubscribed (i.e., more threads than CPU cores).
The default value of `KMP_USE_YIELD` is 1, which means that threads will
yield the CPU when they are idle.
On the other hand, there is an environment variable `OMP_WAIT_POLICY`
that controls the waiting behavior of threads in OpenMP. The OpenMP 6.0
Specification
(https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-6-0.pdf)
states as follows:
> The active value specifies that waiting native threads should mostly
be active, consuming processor cycles, while waiting. A compliant
implementation may, for example, make waiting native threads spin.
Therefore, I think it is more consistent to set `KMP_USE_YIELD=2` when
`OMP_WAIT_POLICY=active`.
Note: Using `KMP_USE_YIELD=2` instead of 0 here to avoid hanging when
oversubscribed.
### Performance
To confirm the effect of this patch, I ran SPEC CPU 2017 with several
configurations, including with and without this patch. As a result, I
observed that the performance of some benchmarks improved significantly
with this patch. Also I didn't see any performance degradation. Here are
the details of the performance improvements:
- Machine: Neoverse V2 (Grace, binding 64 threads to 64 cores)
- Configuration: `OMP_WAIT_POLICY=active OMP_NUM_THREADS=64`
| Benchmark | Performance Improvement |
|-|-|
| 621.wrf_s | 2.6x |
| 628.pop2_s | 5.5x |
---
In conclusion, I think it's reasonable to set `KMP_USE_YIELD=0` (or 2)
by default when `OMP_WAIT_POLICY=active` is specified, when the user
likely expects the threads to be active while waiting.
Resolve #181784.
Commit: 3a8ff8d1ddfe44f19926789170b8c00c9aea3d0c
https://github.com/llvm/llvm-project/commit/3a8ff8d1ddfe44f19926789170b8c00c9aea3d0c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
Add openmp test to xfail list (#221854)
Introduced in PR #219323. Looking at the PR, and given we haven't yet
addressed openmp profcheck failures, the change is highly unlikely to
have introduced a new regression (it's exposing existing ones)
Commit: 8a63b2ea6f9b6b25a6d90e20dcd76919e5bacb8d
https://github.com/llvm/llvm-project/commit/8a63b2ea6f9b6b25a6d90e20dcd76919e5bacb8d
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M orc-rt/include/orc-rt-c/bedrock/Session.h
M orc-rt/include/orc-rt-c/support/Logging.h
Log Message:
-----------
[orc-rt] Add missing export annotations to C API. (#221856)
Commit: eb74688f5e2fb0cbd4c412a9fc54d0ed3dc48155
https://github.com/llvm/llvm-project/commit/eb74688f5e2fb0cbd4c412a9fc54d0ed3dc48155
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-select.ll
Log Message:
-----------
[test] auto-generate test check (#221656)
To make later update easy.
Commit: 9eb6467f3f03c7da1dbe3ebdd9a4d3068945e767
https://github.com/llvm/llvm-project/commit/9eb6467f3f03c7da1dbe3ebdd9a4d3068945e767
Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lld/MachO/ICF.cpp
M lld/MachO/UnwindInfoSection.cpp
A lld/test/MachO/icf-lsda-reloc.s
Log Message:
-----------
[lld][MachO] Ignore relocated bytes when folding LSDAs (#220155)
AArch64 exception tables reference type info through PC-relative
pointer-to-GOT relocations. The assembler leaves the negated field
offset in each relocated field, which the linker ignores, so identical
tables differ in their raw bytes and are never folded. Treat
__gcc_except_tab like __eh_frame and zero the relocated fields before
ICF hashes and compares it.
Folding these LSDAs exposes a latent issue: the LSDA pointer of a DWARF
FDE is resolved to an InputSection when the FDE is parsed and is never
canonicalized after ICF. A function that is unwound via its FDE and
whose LSDA was folded away therefore gets an __unwind_info LSDA entry
computed from the dead input section. Fixed it in the same commit.
This patch is LLM-driven, but the issue was observed in production and
the test is reduced from the production object.
Commit: c22d6a86d2e47524cd259f81206db7adf593e5a4
https://github.com/llvm/llvm-project/commit/c22d6a86d2e47524cd259f81206db7adf593e5a4
Author: wangjue <wangjue.wangjue at alibaba-inc.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M bolt/lib/Passes/FixRISCVCallsPass.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
A bolt/test/RISCV/conditional-tail-call-relocs.s
Log Message:
-----------
[BOLT][RISCV] Mark newly created tail calls (#221672)
Tail calls created during CFG normalization lack the tail-call
annotation, so FixRISCVCallsPass rewrites them as regular calls that
clobber ra.
Set the annotation in createTailCall(). Clear builder annotations before
moving the originals when rebuilding calls to avoid duplicate annotation
markers.
Add a relocation-mode regression test for a conditional tail call.
Commit: 2b03c66b5f0fdd12f616d845b61417442322f03c
https://github.com/llvm/llvm-project/commit/2b03c66b5f0fdd12f616d845b61417442322f03c
Author: Daedie-git <HC_Daedalus at hotmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/docs/StandardCPlusPlusModules.md
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/AST/ODRHash.cpp
A clang/test/Modules/odr-hash-using-declarations.cppm
M clang/test/Modules/pr76638.cppm
Log Message:
-----------
[Clang][Modules] Fix ODR handling of types found through using-declarations (#221839)
Fixes #78850.
Clang can diagnose an ODR violation for identical definitions when a
type is
found directly in one module's global module fragment and through a
using-declaration in another. The lookup routes produce different AST
type
wrappers even though they refer to the same declaration.
Normalize `UsingType` to the target declaration's type before hashing
it. Keep
the keyword and qualifier from the use site, rather than from the
using-declaration. This also lets the hash distinguish differently
qualified
uses without canonicalizing away meaningful spelling differences.
The normalization exposes an existing assertion in the enum ODR
diagnostic
path: `AddEnumDecl` hashes canonical underlying integer types, but the
diagnostic emitter compares hashes of their spelled types. Compare the
actual
underlying integer types instead, while retaining the original spelling
in the
diagnostic. The extended `pr76638.cppm` regression also reproduces the
assertion
without the normalization change, when both underlying types are found
through
same-named using-declarations.
Use `EnumDecl::getIntegerType()` for this comparison so ignored cv
qualifiers
in the enum-base do not incorrectly take precedence over an actual
difference
in enumerator initializers. A regression checks that diagnostic as well.
Regression coverage includes both lookup directions, typedefs and
aliases,
record and enum types, chained using-declarations, templates, and
negative
tests for qualification, elaborated keywords, and cv qualification.
Remove the
now-fixed #78850 example from the modules documentation.
## Validation
Built from main at `44a4dbf32a6b54de32e4d064756d7a6ba5b9e808` plus this
patch,
in Release mode with assertions enabled on Windows x86-64 (X86 backend,
Clang 23.1.0 bootstrap, VS 2022 SDK).
| Suite | Passed | Unsupported | Expected Failures |
| :------------ | -----: | ----------: | ----------------: |
| Clang Modules | 914 | 34 | 0 |
| Clang PCH | 289 | 6 | 2 |
| **Total** | 1,203 | 40 | 2 |
Unexpected failures: **0**.
- Removing both implementation changes and rebuilding on the same main
base
makes both affected regression tests fail: the new lookup test reports
false ODR errors, and the extended enum test asserts while diagnosing an
ODR
violation. Restoring the changes and rebuilding passes both complete
suites.
- The cv-qualifier regression also fails with the earlier comparison of
spelled underlying types, then passes with `getIntegerType()`.
- Changed implementation lines pass clang-format checks; `git diff
--check`
passes.
The original release/23.x patch was also tested: 1,180 passed, 39
unsupported,
2 expected failures, and no unexpected failures across Modules and PCH.
Its
unmodified implementation reproduced the false-positive diagnostics,
missed
qualification diagnostic, and enum assertion.
Other platforms and configurations have not been tested locally.
This is a targeted ODR fix, not a general resolution of Clang's
remaining C++
module limitations.
The fix is also relevant to release/23.x; a backport can follow upstream
review
and merge.
Assisted-by: OpenAI Codex Astra
Co-authored-by: Bjorn Schobben <bjorn.schobben at aimsport.com>
Commit: 80793a65f0c8cab368358d2ce3e3d92bc7a63fb8
https://github.com/llvm/llvm-project/commit/80793a65f0c8cab368358d2ce3e3d92bc7a63fb8
Author: jiang1997 <jieke at live.cn>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M libcxx/docs/Status/Cxx26Issues.csv
M libcxx/include/__ranges/lazy_split_view.h
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/view_interface.pass.cpp
Log Message:
-----------
[libc++][ranges] Implement LWG 3599 (#221573)
Implement [LWG 3599](https://wg21.link/LWG3599) by requiring
`forward_range<const Pattern>` for the `const` overloads of
`lazy_split_view::begin` and `end`.
This adds tests for disabled `begin()` and fallback `end()` on
non-const-forward patterns, as well as a regression test for
`view_interface::front()`.
Closes #189808
Commit: 0a50c218e000acee02b90f8a0f1f50f3da9059e8
https://github.com/llvm/llvm-project/commit/0a50c218e000acee02b90f8a0f1f50f3da9059e8
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsInstrFPU.td
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
M llvm/lib/Target/Mips/MipsScheduleGeneric.td
M llvm/lib/Target/Mips/MipsScheduleP5600.td
M llvm/test/CodeGen/Mips/llvm-ir/load.ll
M llvm/test/CodeGen/Mips/llvm-ir/select-dbl.ll
M llvm/test/CodeGen/Mips/mips1-load-in-delay-slot.ll
A llvm/test/CodeGen/Mips/mips1-not-support-ldc1-sdc1.ll
Log Message:
-----------
[MIPS] Support MIPS I hard-float double loads/stores with LWC1/SWC1 (#209362)
MIPS I lacks LDC1/SDC1. This patch implements double precision
loads/stores using LWC1/SWC1 instructions.
* Add BuildPairF64_FPR and ExtractElementF64_FPR nodes
* Use them in lowerLOAD/lowerSTORE for MIPS I hard-float
* Avoid redundant mtc1/mfc1 instructions
Matches GCC behavior for MIPS I hard-float.
Fix #62190.
Commit: 7d04e28c7cee23af6a33cebdfecdaa7d43d1d4fe
https://github.com/llvm/llvm-project/commit/7d04e28c7cee23af6a33cebdfecdaa7d43d1d4fe
Author: AZero13 <gfunni234 at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/apx/adc.ll
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.ll
M llvm/test/CodeGen/X86/overflow-intrinsic-setcc-fold.ll
M llvm/test/CodeGen/X86/select-lea.ll
M llvm/test/CodeGen/X86/smul-with-overflow.ll
M llvm/test/CodeGen/X86/smul_fix_sat.ll
M llvm/test/CodeGen/X86/smul_fix_sat_constants.ll
M llvm/test/CodeGen/X86/umul-with-carry.ll
M llvm/test/CodeGen/X86/umul-with-overflow.ll
M llvm/test/CodeGen/X86/umul_fix_sat.ll
M llvm/test/CodeGen/X86/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/umulo-64-legalisation-lowering.ll
M llvm/test/CodeGen/X86/vec_smulo.ll
M llvm/test/CodeGen/X86/vec_umulo.ll
M llvm/test/CodeGen/X86/xmulo.ll
Log Message:
-----------
[X86] Prefer carry to overflow flag when using multiplication (#221611)
For all possible MUL/IMUL it will always output CF==OF, and CF is better
folding, so there's absolutely no reason the x86 backend should be
checking OF instead of CF for any form of multiply.
Did the change in FastISel too for consistency.
Commit: 0513c32abe1eff329fd22b578f4995e59d6140a2
https://github.com/llvm/llvm-project/commit/0513c32abe1eff329fd22b578f4995e59d6140a2
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-mul.ll
Log Message:
-----------
[GlobalISel] When folding to fma correctly find fpext(fmul) with fewer uses (#218013)
When folding: `(fadd (fpext (fmul x, y)), z) -> (fma (fpext x), (fpext
y), z)` and both addends are candidates, correctly pick the side with
fewer uses. Previously the code looked for a `fmul` with the fewest uses
rather than a `fpext(fmul)`.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 2edc68ceee32011f8f2d28fb97b64bc9e3a3b521
https://github.com/llvm/llvm-project/commit/2edc68ceee32011f8f2d28fb97b64bc9e3a3b521
Author: AZero13 <gfunni234 at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Parse/ParseExprCXX.cpp
M clang/test/Parser/recovery.cpp
M clang/test/SemaCXX/MicrosoftSuper.cpp
Log Message:
-----------
[clang] Reject __super when preceded by a scope specifier (#221492)
The `__super` keyword is an MSVC extension that refers to the base class
of the current class context. It is fundamentally invalid for `__super`
to be qualified by another scope specifier (e.g. `::__super` or
`N::__super`).
Fixes #212988
---------
Co-authored-by: Shengxin Pei <TPPPP72 at outlook.com>
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>
Commit: 7efd21ff7aceefcec79adced0dcc99bf121e9696
https://github.com/llvm/llvm-project/commit/7efd21ff7aceefcec79adced0dcc99bf121e9696
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-07 (Mon, 07 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 the QualType-keyed type pools in a UniquingSet. NFC (#221850)
Eight of the ASTContext type pools key on a QualType, or on a QualType
and a bool. The `get*Type()` functions incur the FoldingSetNodeID
serialization overhead before probing the hash table.
Switch to UniquingSet. Define `QualTypeBoolInfo` for three pools that
key on a QualType and a bool, because DenseMapInfo has no bool
specialization.
After the canonical type is built, these getters re-probe to refresh the
insert token. A token is now a hash (#218190), not a bucket, so nothing
invalidates it; fold the re-probe into the assertion it feeds.
Aided by Opus 5
Commit: 49ce9d0aac2117edc0d50e5a7a838f934c99dd61
https://github.com/llvm/llvm-project/commit/49ce9d0aac2117edc0d50e5a7a838f934c99dd61
Author: Dharuni R Acharya <125176188+DharuniRAcharya at users.noreply.github.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Target/LLVMIR/nvvm/tcgen05-alloc.mlir
Log Message:
-----------
[MLIR][NVVM] Add "exclusive" support in tcgen05 alloc/dealloc Ops (#219451)
This patch adds `exclusive` support in `tcgen05.alloc/dealloc` MLIR ops.
Lit tests are added to verify the lowering to the intrinsics.
PTX ISA Reference:
https://docs.nvidia.com/cuda/developer-preview/13.4/parallel-thread-execution/index.html#tcgen05-instructions-tcgen05-alloc-dealloc-relinquish-alloc-permit
---------
Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>
Commit: 62397f8b3c3986f54187ce08f00b3448ea1f8880
https://github.com/llvm/llvm-project/commit/62397f8b3c3986f54187ce08f00b3448ea1f8880
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/Sema/SemaAttr.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/RegisterUsageInfo.cpp
M llvm/lib/CodeGen/StackColoring.cpp
M llvm/lib/MC/StringTableBuilder.cpp
M llvm/lib/MCA/HardwareUnits/LSUnit.cpp
M llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/Scalar/GVNHoist.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
M mlir/lib/IR/PDL/PDLPatternMatch.cpp
Log Message:
-----------
Iterate DenseMaps with auto and structured bindings. NFC (#221869)
Avoid naming `std::pair` directly. The DenseMap bucket is subject to
change (#221853).
Commit: 131e31016ff94c8782d726baa3ed0160a480f3f3
https://github.com/llvm/llvm-project/commit/131e31016ff94c8782d726baa3ed0160a480f3f3
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
Log Message:
-----------
[SLP][modularisation][NFC] Move createInsertVector, createExtractVector (#221785)
Move the following BoUpSLP-independent shuffle helpers out of
SLPVectorizer.cpp into SLPVectorizer/SLPUtils.{h,cpp}:
createInsertVector
createExtractVector
They sit with the existing shuffle helpers. Behavior is unchanged.
Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
Commit: 6a183b8853b79a134402332cf4a776a8090d1b88
https://github.com/llvm/llvm-project/commit/6a183b8853b79a134402332cf4a776a8090d1b88
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/docs/ProgrammersManual.md
M llvm/unittests/ADT/FoldingSet.cpp
Log Message:
-----------
[ADT] Document the UniquingSet contracts. NFC (#221860)
#220195 added an isEqual hook, so an Info can now override the
comparison as well as the key and the hash. Name the three hooks, and
correct the guidance on when to prefer UniquingSet over FoldingSet.
Cover getOrInsert, which UniquingSet had no test for: an absent key
inserts, an equal key returns the node already in the set.
Aided by Opus 5
Co-authored-by: Kazu Hirata <kazu at google.com>
Commit: 08eb5edcafcc21faa841a75a29d0c2f2090535f3
https://github.com/llvm/llvm-project/commit/08eb5edcafcc21faa841a75a29d0c2f2090535f3
Author: GabrielWu2004 <101153587+GabrielWu2004 at users.noreply.github.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
Log Message:
-----------
[MLIR] AllocaOp canonicalization for array allocation in LLVM dialect (#221508)
Add the following canonicalization pattern to AllocaOp in MLIR's LLVM
dialect:
```
%n = constant(N)
%alloca = llvm.alloca %n x Ty
```
->
```
%one = constant(1)
%alloca = llvm.alloca %one x !llvm.array<N x Ty>
```
Here N is a constant representable with 64-bits. With this
canonicalization, the AllocaOp will be translated to `alloca [N x Ty]`
in LLVM IR. Without this canonicalization, the AllocaOp was translated
to `alloca Ty, N`. We prefer `alloca [N x Ty]` over `alloca Ty, N` for
fixed-size array allocation.
See [this
RFC](https://discourse.llvm.org/t/rfc-allocaop-canonicalization-in-mlirs-llvm-dialect/91734)
for more detailed problem motivation and description.
Assisted by: Codex
Commit: d34720a9ca4492dbb65af8b652e60dbb5f60ca55
https://github.com/llvm/llvm-project/commit/d34720a9ca4492dbb65af8b652e60dbb5f60ca55
Author: A. Jiang <de34 at live.cn>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M libcxx/test/std/utilities/optional/optional.comp_with_t/equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/not_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/greater_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/greater_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/less_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/less_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/not_equal.pass.cpp
M libcxx/test/support/test_comparisons.h
Log Message:
-----------
[libc++][test] Test SFINAE for `optional`'s operators in C++17 (#221643)
We have been intentionally constraining `optional`'s comparison
operators since C++17, so it is probably better to test the constraints
in C++17 mode. Given the constraints are standardized only since C++26
(via P2944R3), `LIBCPP_STATIC_ASSERT` is used in old modes.
In order to do this, `test_comparisons.h` is reworked to expose
`NonComparable` and `EqualityComparable` in pre-C++20 modes, and a new
type `TotallyOrdered` is invented as a replacement of
`ThreeWayComparable` in old modes.
As drive-by, also switches to use `// REQUIRES: std-at-least-c++17` in
touched test files, and adds previously missed includes of
`<type_traits>`.
Commit: cc798fb63ca1a08f43cdcd314b66a96fa973e584
https://github.com/llvm/llvm-project/commit/cc798fb63ca1a08f43cdcd314b66a96fa973e584
Author: Rajat Bajpai <rbajpai at nvidia.com>
Date: 2026-09-08 (Tue, 08 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/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-1cta.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-2cta.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-override.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-sm100.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-validate-data.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-gather4.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-im2colw.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-im2colw128.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-invalid.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-mc32.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-override.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-validate-data.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g-im2colw.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g-scatter4.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g.ll
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
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 Rubin extensions for G2S Tensor intrinsics (#220029)
This change adds support for the Rubin-extended Global-to-Shared tensor
copy intrinsics for both the Cluster and CTA variants:
1. 32-bit multicast mask support: the G2S Cluster intrinsics are now
overloaded on the multicast mask type (i16/i32); an i32 mask lowers to
`.multicast::cluster::32b`.
2. Data-validity reporting through the mbarrier: all G2S Cluster and CTA
intrinsics, including the property-override forms, take a trailing `i32
%validate_pattern` immediate (range [0, 6)) that selects a
`.mbarrier::report::validity` qualifier. It defaults to 0 (disabled).
3. Override tensor map properties: the G2S Cluster and CTA intrinsics
now support `.override::global_address`, optionally followed by
`.override::global_dim` / `.override::global_dim_stride`, across all
load modes. The dim/stride overrides apply to tile mode only; im2col and
gather4 support the global-address override only.
The new `validate_pattern` argument changes the IR signatures of all G2S
intrinsics; legacy declarations are auto-upgraded with the missing
trailing arguments defaulted to 0, and the multicast mask type selects
the overload. The MLIR NVVM `CpAsyncBulkTensorGlobalToSharedClusterOp`
is updated to build the new signature.
Commit: df3c1f712828dda66fe7efa0d2957629d60f8df8
https://github.com/llvm/llvm-project/commit/df3c1f712828dda66fe7efa0d2957629d60f8df8
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
Log Message:
-----------
[AMDGPU][GIsel][NPM] Port "AMDGPURegBankLegalize" to NPM (#217322)
Probably doesn't require all tests to be updated.
Assisted-by: Opus-4.8,
Commit: 05fa66e6624e6b14346e559cd7b692aaf48f3ca7
https://github.com/llvm/llvm-project/commit/05fa66e6624e6b14346e559cd7b692aaf48f3ca7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/test/CodeGen/X86/huge-stack.ll
M llvm/test/CodeGen/X86/llvm.sincos.vec.ll
M llvm/test/CodeGen/X86/pr1505b.ll
M llvm/test/CodeGen/X86/stack-align.ll
M llvm/test/CodeGen/X86/subcarry.ll
M llvm/test/CodeGen/X86/swifterror.ll
M llvm/test/CodeGen/X86/var-permute-128.ll
M llvm/utils/UpdateTestChecks/asm.py
Log Message:
-----------
[UpdateTestChecks][X86] Allow --no_x86_scrub_sp to disable folded stack spill/restore stack math scrubing (#221788)
We were handling cases to show general load/store stack math, but had
missed the r/w/rmw folded cases
Commit: d402c6191ad4051a3cb534dae125dfdf1f304889
https://github.com/llvm/llvm-project/commit/d402c6191ad4051a3cb534dae125dfdf1f304889
Author: Andrew Gaul <andrew at gaul.org>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/test/CodeGen/X86/PR40322.ll
A llvm/test/CodeGen/X86/atomic-cmp-fold.ll
M llvm/test/CodeGen/X86/atomic-unordered.ll
Log Message:
-----------
[X86] Fold atomic loads into compares (#221290)
A compare of an atomic load kept the load in a register (mov + cmp/test)
where a compare of a regular load folds the load into the compare's
memory operand. The folded form performs a single full-width load, and
on x86 an ordinary load already provides every ordering up to seq_cst,
so folding is legal for any non-extending atomic load.
Add isel patterns folding an atomic load into CMP (mi/mr/rm forms across
i8/i16/i32/i64). Compare-to-zero already reaches these via EmitTest;
nonzero and register compares are emitted as a flag-only X86ISD::SUB (to
enable CSE with a real subtract) whose load the peephole then folds. The
peephole cannot move an ordered access, so those never folded for atomic
loads. Emit X86ISD::CMP instead when an operand is a foldable atomic
load: it has no non-atomic sibling to CSE with anyway.
x86lint reports 5854 "load foldable into compare" sites in a release
build of Firefox's libxul.so; sampling shows the majority are
atomic-load compares of the kind this folds -- mozilla::Atomic and
std::atomic loads, MOZ_LOG level checks (an Atomic<LogLevel>), and Rust
core::sync::atomic and log-crate level checks.
---------
Co-authored-by: Claude Fable 5 <noreply at anthropic.com>
Commit: 1e679c028b30b6542c8712ef2023911673e55c7c
https://github.com/llvm/llvm-project/commit/1e679c028b30b6542c8712ef2023911673e55c7c
Author: Martin StorsjΓΆ <martin at martin.st>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
M mlir/CMakeLists.txt
Log Message:
-----------
[CMake] Move -Wno-unused-but-set-parameter from MLIR up to LLVM (#221824)
This warning is known to have false positives with GCC versions before
14.
Since 3aec6a40bb4e49f9ea181ac5c949b6c7c20a5465, this warning appears
when building LLVMSupport as well - thus move the disabling of the
warning up from MLIR to all of LLVM.
In HandleLLVMOptions, the common procedure is to not check for whether
the options are supported or not, but to just hardcode the version
ranges where the options are supported, per compiler.
This option (and -Wunused-but-set-parameter) is available in GCC since
long before our minimum required version.
Commit: 011005fecf846e40dad1941f6cbbd6653ae37460
https://github.com/llvm/llvm-project/commit/011005fecf846e40dad1941f6cbbd6653ae37460
Author: Rohan Shenoy <RohanRadhesh.Shenoy at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrSNP.td
M llvm/test/MC/Disassembler/X86/x86-64.txt
M llvm/test/MC/X86/SNP-64.s
Log Message:
-----------
[X86] Support further Zen5 and Zen6 instructions (#221659)
Support the following system instructions,
RMPREAD: https://docs.amd.com/v/u/en-US/24594_3.38_APM_Vol3_PUB
RMPOPT: https://docs.amd.com/search/all?query=69201
RMPCHKD (RMP Dirty) : https://docs.amd.com/search/all?query=69203
Commit: 0c098ae4518902f8f30abae5a620bf57fa84895a
https://github.com/llvm/llvm-project/commit/0c098ae4518902f8f30abae5a620bf57fa84895a
Author: Martin StorsjΓΆ <martin at martin.st>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Support/CMakeLists.txt
Log Message:
-----------
[Support] [CMake] Only pass -Wno-c99-extensions to Clang, not GCC (#221822)
GCC doesn't support this option, only Clang.
GCC doesn't warn if an unrecognized `-Wno-<foo>` option is passed, but
if GCC produces other warnings, it also adds a note about `-Wno-<foo>`
not being recognized, and that it may have been intended to silence the
warning that was produced.
Commit: 2c2ff263a437efccf074a07cb2906025252153d0
https://github.com/llvm/llvm-project/commit/2c2ff263a437efccf074a07cb2906025252153d0
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
Log Message:
-----------
[GlobalISel] Avoid copying complex pattern renderers (NFC) (#221657)
They're immediately destroyed after being copied, move them instead.
Improves aarch64-O0-g CTMark geomean -0.10%.
https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=69a2cfb9a265b7c4a18ef7121a7afb239c886d13&stat=instructions:u
Assisted-by: codex
Commit: 2a9266ce8524af516426835bff1c06fb78d5280d
https://github.com/llvm/llvm-project/commit/2a9266ce8524af516426835bff1c06fb78d5280d
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Log Message:
-----------
[AArch64][GlobalISel] Avoid duplicate register-bank queries in selectCopy (NFC) (#221655)
selectCopy redundantly queried both register banks through a single-use
helper. Inline the helper to reuse the existing results.
Small -0.04% geomean improvement on CTMark aarch64-O0-g.
https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=ca7c3e1d88a6ca20b104b0fb62ce79897b61afc8&stat=instructions:u
Assisted-by: codex
Commit: 16df25d03f5a5becf9dbe994ef6b6d4546b357d9
https://github.com/llvm/llvm-project/commit/16df25d03f5a5becf9dbe994ef6b6d4546b357d9
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/lib/Support/APInt.cpp
Log Message:
-----------
[APInt][NFC] Add branch hints to APInt single-word (#219437)
The fast-path for APInt is generally done with for "single word"
integers, i.e. ones that can be represented in a single 64-bit word.
This commit adds branch hints to the single-word branching to help
indicate to the compilers prioritize branch-prediction towards the
fast-path. The trade-off of this is that the >64-bit APInt case will be
slower.
---------
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: e91092685eab2ab0348ea06df2c3446001b480d4
https://github.com/llvm/llvm-project/commit/e91092685eab2ab0348ea06df2c3446001b480d4
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Mangling.h
A llvm/include/llvm/ExecutionEngine/Orc/Shared/Mangler.h
A llvm/include/llvm/ExecutionEngine/Orc/Shared/SymbolNameSpec.h
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/Mangling.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/Shared/Mangler.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
R llvm/unittests/ExecutionEngine/Orc/MangleAndInternerTest.cpp
A llvm/unittests/ExecutionEngine/Orc/ManglerTest.cpp
Log Message:
-----------
[ORC] Add SymbolNameSpec, hoist name mangling into Shared.
Introduce two Shared, ExecutionSession-independent pieces:
- SymbolNameSpec (Shared/SymbolNameSpec.h): a StringRef paired with a
SymbolNameKind (Verbatim, Linker, IR, C) describing the naming level
a symbol name is expressed in. A lightweight, dependency-free value
type, so it can describe interface-name constants in Shared headers.
- Mangler (Shared/Mangler.h, Shared/Mangler.cpp): the linker
name-mangling logic factored out of MangleAndInterner. It holds only
a ManglingMode (no ExecutionSession or SymbolStringPool), so names
can be mangled on the executor side as well as the controller
side. It exposes withMangledNameDo (which avoids allocating when
mangling is a no-op) and a mangledCopy convenience, both dispatching
on the spec's SymbolNameKind.
MangleAndInterner becomes a thin wrapper: it derives a ManglingMode
(from an ABIName / ManglingMode / DataLayout), holds a Mangler, and
interns whatever the Mangler produces. Behavior is unchanged.
This lets lookup utilities eventually accept C / IR source names and
mangle them to linker level on the caller's behalf, rather than
requiring pre-mangled names. The MangleAndInternerTest unit tests are
renamed to ManglerTest and now exercise Mangler directly;
MangleAndInterner is left untested since it is slated for removal.
Commit: 03474869170f49bd676f92ab86d15063a68d3ea0
https://github.com/llvm/llvm-project/commit/03474869170f49bd676f92ab86d15063a68d3ea0
Author: David Green <david.green at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-sve-instructions.s
Log Message:
-----------
[AArch64] Correct the throughput of reductions on Neoverse V3ae (#221151)
This tightens up the throughput of sve saddv, sminv, smaxv, along with
the unsigned variants. They were a bit high due to the use of too many
micro ops.
Commit: d6a6de09cce9d0e08821a9aa15a0cbcb0889bb37
https://github.com/llvm/llvm-project/commit/d6a6de09cce9d0e08821a9aa15a0cbcb0889bb37
Author: Ketan Roy <145851442+MrRoy09 at users.noreply.github.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/DSInstructions.td
Log Message:
-----------
[AMDGPU] Use AMDGPUMnemonicAlias in DS_Real_gfx13 (NFC) (#217912)
Emit an AMDGPUMnemonicAlias in DS_Real_gfx13 so it carries the
PredicateControl fields.
NFC: 46 gfx13 aliases gain the PredicateControl fields at their
defaults; Predicates is unchanged on all of them.
Commit: a9cbac7d954efa6ac591fa099ea299a5add14188
https://github.com/llvm/llvm-project/commit/a9cbac7d954efa6ac591fa099ea299a5add14188
Author: David Green <david.green at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/dbg-verify.ll
Log Message:
-----------
[ARM] Handle debug instructions in LowOverheadLoop (#221699)
The last instruction in the block might be a debug instruction, in which
case we should get the last non-debug instruction.
Fixes #221633.
Commit: 586cfbcd9d59af33894e79192fdcad6057467465
https://github.com/llvm/llvm-project/commit/586cfbcd9d59af33894e79192fdcad6057467465
Author: Oscar Priego <oscar.priegov at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/test/CodeGen/X86/avx512-icmp-sle-zero.ll
A llvm/test/CodeGen/X86/bitcast-sign-mask.ll
A llvm/test/CodeGen/X86/compress-evex-sign-mask.mir
M llvm/test/CodeGen/X86/compress-evex-vpmov-kill.mir
Log Message:
-----------
[X86] X86CompressEVEX - Fold AVX-512 sign-mask compares to MOVMSK (#216884)
## Summary
Fold AVX-512 complementary signed sign-test masks to the corresponding
MOVMSK instructions in `X86CompressEVEX`.
AVX-512 lowers comparisons such as:
- `X >= 0`
- `X > -1`
to `VPCMP*` producing a k-mask followed by `KMOV`.
For 128-bit and 256-bit B/D/Q forms, these masks can instead be obtained
from the source sign bits using:
- `VPCMPB` -> `VPMOVMSKB`
- `VPCMPD` -> `VMOVMSKPS`
- `VPCMPQ` -> `VMOVMSKPD`
followed by the appropriate complement.
## Details
The complement is restricted to the meaningful lane-mask bits so that
unused upper bits retain the zero-extension semantics of `KMOV`.
For the 32-lane byte case, all 32 bits are meaningful, so `NOT32r` can
be used directly without clobbering EFLAGS.
The transformation is limited to 128-bit and 256-bit B/D/Q forms with a
single non-narrowing `KMOV` consumer.
The matcher also verifies the expected zero/all-ones producer for the
comparison constant and avoids the fold when required register or
EFLAGS liveness constraints are not satisfied.
## Tests
Added:
- end-to-end CodeGen coverage for the affected sign-mask cases;
- dedicated MIR coverage for `X86CompressEVEX`;
- negative MIR cases covering:
- multiple mask uses;
- source clobbers;
- unsupported predicates/constants;
- narrowing `KMOV`;
- 512-bit vectors;
- extended registers;
- live EFLAGS;
- masked-move consumers with incompatible mask polarity;
- incorrect all-ones producer width;
- dead `KMOV` destinations.
Existing `VPMOV*2M + KMOV -> MOVMSK` coverage is preserved.
Fixes #216774
Signed-off-by: Oscar Priego Verdugo <oscar.priegov at gmail.com>
AI-assisted development tools were used during this contribution; I
personally modified, reviewed, and validated the final patch
Commit: 5700f6fefdc532bb6fa6e30f780a5a553253722e
https://github.com/llvm/llvm-project/commit/5700f6fefdc532bb6fa6e30f780a5a553253722e
Author: Vlad Sytchenko <vsytch at hotmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/test/CodeGenCoroutines/coro-destructor-of-final_suspend.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/test/Transforms/Coroutines/ArgAddr.ll
M llvm/test/Transforms/Coroutines/coro-align16.ll
M llvm/test/Transforms/Coroutines/coro-align32.ll
M llvm/test/Transforms/Coroutines/coro-align64-02.ll
M llvm/test/Transforms/Coroutines/coro-align64.ll
M llvm/test/Transforms/Coroutines/coro-align8-02.ll
M llvm/test/Transforms/Coroutines/coro-align8.ll
M llvm/test/Transforms/Coroutines/coro-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-alloca-03.ll
M llvm/test/Transforms/Coroutines/coro-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-alloca-06.ll
M llvm/test/Transforms/Coroutines/coro-alloca-08.ll
M llvm/test/Transforms/Coroutines/coro-byval-param.ll
M llvm/test/Transforms/Coroutines/coro-catchswitch.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-01.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-arrayalloca.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-05.ll
M llvm/test/Transforms/Coroutines/coro-param-copy.ll
M llvm/test/Transforms/Coroutines/coro-spill-defs-before-corobegin.ll
A llvm/test/Transforms/Coroutines/coro-split-index-datalayout.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-03.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-04.ll
M llvm/test/Transforms/Coroutines/coro-split-tbaa-md.ll
Log Message:
-----------
[CoroSplit] Don't go sub-word for suspend index (#221374)
Currently, `CoroFrame` selects the coroutine suspend index type
(`SwitchIndexType`) using `Type::getIntNTy(Context, IndexBits)`. For
coroutines with fewer than 256 suspend points, this produces
sub-byte/sub-word integer types (such as `i1`, `i2`, or `i8`) in the
coroutine frame struct.
On targets whose `DataLayout` specifies `-n32` (no legal sub-32-bit
integer types), storing and loading sub-word integer fields in memory
forces the backend to emit read-modify-write sequences on every
coroutine suspend and zero-extension masks on every resume.
Use `DataLayout::getSmallestLegalIntType(Context, IndexBits)` when
selecting `SwitchIndexType` so that targets respect their legal native
integer width.
Commit: 4b11439e535eb820d2f4cc5ac9694bf539d8213f
https://github.com/llvm/llvm-project/commit/4b11439e535eb820d2f4cc5ac9694bf539d8213f
Author: David Green <david.green at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
M llvm/test/CodeGen/AArch64/arm64-tbl.ll
M llvm/test/CodeGen/AArch64/neon-anyof-splat.ll
M llvm/test/CodeGen/AArch64/pdep.ll
M llvm/test/CodeGen/AArch64/pext.ll
Log Message:
-----------
[AArch64] Combine scalar_to_vector(C) -> buildvector (#220948)
This helps keep a single canonical form of a constant vector, helping a
number of the existing buildvector combines trigger.
Commit: 296d80836bb77f9a8b5e159ef615a9965171cfba
https://github.com/llvm/llvm-project/commit/296d80836bb77f9a8b5e159ef615a9965171cfba
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-clamp-fmed3-const.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-merge-readanylane.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-smed3.mir
Log Message:
-----------
[AMDGPU][GIsel][NPM] Port "AMDGPURegBankCombiner" to NPM (#217323)
Assisted-by: Opus-4.8
Commit: 5886c703eb2d205656811d78db82b76524c47da9
https://github.com/llvm/llvm-project/commit/5886c703eb2d205656811d78db82b76524c47da9
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-08 (Tue, 08 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/StmtProfile.cpp
M clang/lib/AST/Type.cpp
Log Message:
-----------
[clang] Unique more ASTContext type pools in a UniquingSet. NFC (#221898)
Similar to #221850.
Eight pools key on a small tuple of types, integers and pointers, yet
each get*Type() serializes that into a FoldingSetNodeID and hashes it
out of line before probing. Switch to UniquingSet.
These getters re-probe after building the canonical type. A token is a
hash (#218190), not a bucket, so nothing invalidates it. Drop unneeded
assertions.
Commit: bd5c005a780ced31e3a4b7717474638be825cb15
https://github.com/llvm/llvm-project/commit/bd5c005a780ced31e3a4b7717474638be825cb15
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes e910926 (#221908)
This fixes e91092685eab2ab0348ea06df2c3446001b480d4.
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=e91092685eab2ab0348ea06df2c3446001b480d4
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 9f5548da33ffdb282225bc03e17c0702c4c31884
https://github.com/llvm/llvm-project/commit/9f5548da33ffdb282225bc03e17c0702c4c31884
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
Log Message:
-----------
[SPIRV] Preserve DebugGlobalVariable emission order. (#221759)
Iterate GlobalVariableDebugInfoMap with MapVector so OpString and
DebugGlobalVariable follow insertion order.
The following tests had non-deterministic output, although didn't fail
due to the use of CHECK-DAG:
- llvm/test/CodeGen/SPIRV/debug-info/debug-global-variable-multi-gve.ll
- llvm/test/CodeGen/SPIRV/debug-info/debug-lexical-block-namespace.ll
- llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer.ll
Commit: 478f9da04672855854811d5bca7f1fd05c52ed90
https://github.com/llvm/llvm-project/commit/478f9da04672855854811d5bca7f1fd05c52ed90
Author: MattΓ©o Rizza Murgier <matteo.rizza-murgier at sipearl.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/AArch64/fp-veclib-expansion.ll
Log Message:
-----------
[SelectionDAG] Widen vector math libcalls when no routine is available (#218948)
`tryExpandVecMathCall` currently only checks for a vector math routine
matching the node's exact vector type, unrolling when none is found.
This is suboptimal, and can lead to crashes for scalable types (which
cannot be unrolled).
This PR implements widening to first check if a routine with a wider vec
type exists before falling back to unrolling.
Example:
```
; llc -mtriple=aarch64 -mattr=+sve -vector-library=sleefgnuabi crash.ll
define <vscale x 2 x float> @frem_nxv2f32(<vscale x 2 x float> %a, <vscale x 2 x float> %b) {
%res = frem <vscale x 2 x float> %a, %b
ret <vscale x 2 x float> %res
}
```
NOTE: When the routines take a mask (e.g. if they're scalable variants),
only relevant lanes are activated. Vectors are padded with copies of the
operand to avoid running on poison.
Commit: fc884a467025ef3ed81cf62aacc1f97bc0ca9f1b
https://github.com/llvm/llvm-project/commit/fc884a467025ef3ed81cf62aacc1f97bc0ca9f1b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
M llvm/test/CodeGen/AMDGPU/fdot2.ll
M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
Log Message:
-----------
AMDGPU: Rename stale CONTRACT check prefixes in fp-contract tests (#221709)
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 87c39e6dce0a6a4106927c9284258d49924a80de
https://github.com/llvm/llvm-project/commit/87c39e6dce0a6a4106927c9284258d49924a80de
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
Log Message:
-----------
[ConstantFolding] Implement canConstantFoldCallTo() using TLI (#221903)
This did some odd matching on string names. Use TLI instead, matching
the actual constant folding logic.
I've adjusted callers to pass TLI to canConstantFoldCallTo() if they
also pass TLI to the later constant folding call.
Commit: 698dd11893fca65681f8cd84b39ff49d29ddcd1e
https://github.com/llvm/llvm-project/commit/698dd11893fca65681f8cd84b39ff49d29ddcd1e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/addrspacecast-nonnull.ll
A llvm/test/CodeGen/MIR/AMDGPU/addrspacecast-nonnull.mir
M llvm/utils/UpdateTestChecks/mir.py
Log Message:
-----------
AMDGPU: Use the addrspacecast nonnull flag in codegen (#220926)
Plumb the nonnull flag through to the backend so a flagged addrspacecast
lowers without the runtime null check, matching what
llvm.amdgcn.addrspacecast.nonnull already provides.
Add the NonNull MIFlag with MIR printer/parser support (including the
MIRPrinter path and update_mir_test_checks) so it round-trips on
G_ADDRSPACE_CAST, and preserve it through SelectionDAG vector
scalarization and splitting.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 7bf85cae41005e0394abf224a7bcfd465319c6d7
https://github.com/llvm/llvm-project/commit/7bf85cae41005e0394abf224a7bcfd465319c6d7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/Headers/bmi2intrin.h
M compiler-rt/lib/msan/tests/msan_test.cpp
Log Message:
-----------
[X86] Remove x86 PDEP/PEXT clang intrinsics and rely on generic elementwise implementations (#204969)
The clang frontend already converted the x86 builtins to generics, this just moves to using the elementwise builtins directly.
Commit: b182b415d9b2447cf1fd7231ebe28a96cfd1f9af
https://github.com/llvm/llvm-project/commit/b182b415d9b2447cf1fd7231ebe28a96cfd1f9af
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/RegisterPressure.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/RegisterPressure.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/RegisterPressureTest.cpp
Log Message:
-----------
[CodeGen] Correctly classify/mark dead defs when adjusting lane liveness (#215595)
Despite what the documentation of `adjustLaneLiveness` states, the
method never sets dead flags on dead def operands, even when missing
dead flags can later lead to machine verifier errors.
This makes the method identify dead definitions from definitions that
are initially thought to be alive, and makes it add a dead flag on the
last definition of a virtual register, matching the behavior expected by
the machine verifier (ref. "Instruction ending live segment on dead slot
has no dead flag").
`adjustLaneLiveness` and `detectDeadDefs` now also use the same
mechanism to identify dead definitions. It relies on comparing the
defined lanes of a definition with those that stay alive after it.
Commit: b3071f2b0db631e8fb0d4b47f5e46d0c8297879a
https://github.com/llvm/llvm-project/commit/b3071f2b0db631e8fb0d4b47f5e46d0c8297879a
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
Log Message:
-----------
[CIR][AMDGPU] Add support for AMDGCN class builtins (#213496)
Adds codegen for the following AMDGCN class builtins:
- __builtin_amdgcn_class (double)
- __builtin_amdgcn_classf (float)
- __builtin_amdgcn_classh (half)
These are lowered to the corresponding `llvm.amdgcn.class` intrinsics.
Commit: 97ad26d9bfdb0c83bc6edc3de016fb7bc7b3d5b3
https://github.com/llvm/llvm-project/commit/97ad26d9bfdb0c83bc6edc3de016fb7bc7b3d5b3
Author: Arda Serdar Pektezol <arda at pektezol.dev>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
A llvm/test/Transforms/LoopFlatten/invalidate-scev-pr203176.ll
Log Message:
-----------
[LoopFlatten] Invalidate SCEV on each widening (#211819)
LoopFlatten can update a loop before deciding on not to flatten it due
to profitability. SCEV has cached loop information during the checks and
the widening, where it can lead to stale data if the pass bails at
flattening. Invalidate it after each successful widening.
Fixes #203176
Co-authored-by: Steve Gustaman <stevegustaman at kaist.ac.kr>
Commit: 803252a70e326051a340e1a80b79cd10ed633e7f
https://github.com/llvm/llvm-project/commit/803252a70e326051a340e1a80b79cd10ed633e7f
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/unittests/Support/TypeSizeTest.cpp
Log Message:
-----------
[NFC][LLVM] Remove TypeSize::multiplyCoefficientBy(). (#221215)
TypeSize implements operator*() that performs the same operation.
Commit: 1f15665245afc1b303ed2cad0c5ea610f499f666
https://github.com/llvm/llvm-project/commit/1f15665245afc1b303ed2cad0c5ea610f499f666
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
[AArch64] Add a fast-path for AArch64InstrInfo::getInstSizeInBytes (NFC) (#221894)
Improves CTMark geomean -0.07% on aarch64-O0-g.
https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=be1403a1f2db85c9443fa8300fa8522561bea90a&stat=instructions:u
Assisted-by: codex
Commit: 283b9b565ea8093fd5d04d0435d6594624c58ddb
https://github.com/llvm/llvm-project/commit/283b9b565ea8093fd5d04d0435d6594624c58ddb
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/docs/resources/test.md
Log Message:
-----------
[lldb][docs] Remove duplicate title in test doc (#221944)
Commit: a1a2d57627695fb86438229340cba87560ab2c9b
https://github.com/llvm/llvm-project/commit/a1a2d57627695fb86438229340cba87560ab2c9b
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/docs/CMakeLists.txt
M clang/include/clang/Options/ClangOptionDocs.td
M clang/include/clang/Options/Options.td
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
Log Message:
-----------
Revert "[clang][docs] Generate command line reference as Markdown" (#221937)
Reverts llvm/llvm-project#220385
This has broken several flang pipelines:
-
https://github.com/llvm/llvm-project/actions/runs/34051600098/job/101536096902?pr=218746
- https://github.com/llvm/llvm-project/actions/runs/34200642862
Commit: eb96d6530255aaaa00e156803b2fc224c80678ba
https://github.com/llvm/llvm-project/commit/eb96d6530255aaaa00e156803b2fc224c80678ba
Author: MikoΕaj PirΓ³g <mikolaj.maciej.pirog at intel.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/test/CodeGen/target-builtin-noerror.c
Log Message:
-----------
[X86] Make target-builtin-noerror.c fail on warning (#221796)
As in title. Also removed deleted features. The test was previously
accepting any string
Commit: 6755672f7a2bdf286b1a53fd44d07cad26e40afe
https://github.com/llvm/llvm-project/commit/6755672f7a2bdf286b1a53fd44d07cad26e40afe
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/test/CIR/CodeGen/callsite-inline-attributes.cpp
M clang/test/CIR/IR/inline-attrs.cir
M clang/test/CIR/IR/invalid-call.cir
M clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
Log Message:
-----------
[CIR] Drop the redundant suffix from the inline kind mnemonic (#220892)
inline_kind was the one CIR enum attribute mnemonic still repeating what
its
C++ enum class name says. The attribute now spells
`#cir.inline<always_inline>`. The operation argument keeps the name
inline_kind, since that is the accessor name, so the printed form reads
`inline_kind = #cir.inline<always_inline>`.
The enum's summary also becomes "inline kind" rather than the camelCase
"inlineKind", which is what generated docs show now that
CIR_InlineKindAttr
no longer overrides it.
25 CHECK lines change across four test files. Nine are in an
aarch64-registered-target test, unsupported in an X86-only build, but
the
substitution matches the two CIR tests that do run.
Commit: 8badd964149235ea91c2d98f02e1f39a78f117f5
https://github.com/llvm/llvm-project/commit/8badd964149235ea91c2d98f02e1f39a78f117f5
Author: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
Log Message:
-----------
[AMDLIBM] Add VF8 mapping for cbrtf (amd_vrs8_cbrtf) (#220815)
Map cbrtf loops at VF=8 to amd_vrs8_cbrtf so -vector-library=AMDLIBM
matches the vector entry exported by AOCL-LibM.
AOCL repo : [AOCL-LibM](https://github.com/amd/aocl-libm-ose)
As per the latest external supported call in
[amdlibm_vec.h](https://github.com/amd/aocl-libm-ose/blob/master/include/external/amdlibm_vec.h)
Commit: fa0638edc6628ce2c386519ffdcbdcf35513e67e
https://github.com/llvm/llvm-project/commit/fa0638edc6628ce2c386519ffdcbdcf35513e67e
Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGenHIP/ternary-struct-addrspace.hip
M clang/test/CIR/CodeGenOpenMP/target-map.c
Log Message:
-----------
[CIR] Cast alloca for function parameter to the right address space (#220836)
Function parameters are stored into temporary allocas and for
address-space aware targets allocas may yield pointers to address spaces
that are different from default address space or the address space of
the parameter type. Do a cast to avoid mismatch. The address space
mismatch was reproduced using cir.ternary op returning a function
parameter and a local variable. For local variables and return
temporaries we already cast alloca address space to temporary address
space but not for function parameter allocas.
Commit: aab03a357abe175a4f9042b8fb8255c63fbd4c8e
https://github.com/llvm/llvm-project/commit/aab03a357abe175a4f9042b8fb8255c63fbd4c8e
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/scalar-steps-cost.ll
Log Message:
-----------
[VPlan] Add IV steps cost tests for small trip counts and regions (NFC). (#221948)
Add 2 tests covering missing cases: scalar-iv steps cost in single
iteration loops, and cost in replicate regions.
Commit: fc44546b1bf7cd2048dd079e9f69c3b384162d56
https://github.com/llvm/llvm-project/commit/fc44546b1bf7cd2048dd079e9f69c3b384162d56
Author: Vlad Sytchenko <vsytch at hotmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing targets for CIR (#220753)
[bazel] Add missing targets for CIR
Commit: f0e67ea7d15c44b252f46388fecac396382e1a16
https://github.com/llvm/llvm-project/commit/f0e67ea7d15c44b252f46388fecac396382e1a16
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/concurrent_base.py
M lldb/test/API/functionalities/thread/concurrent_events/main.cpp
Log Message:
-----------
[lldb] Fix flaky TestConcurrentTwoWatchpointsOneSignal (#221697)
`g_watchme` was declared right next to `g_sigusr1_count`. Hardware
watchpoints round the watched address/size to an alignment boundary, so
a watchpoint on `g_watchme` could also end up covering
`g_sigusr1_count`. When the signal thread's handler touches
`g_sigusr1_count` while the watchpoint threads write `g_watchme`, that
overlap causes a spurious hit and lldb can attribute the stop to the
wrong thread.
See llvm.org/PR35228.
Fix: group the watched field and its padding into a single aligned
struct (`WatchMePadding`), so the compiler is guaranteed to lay out the
data and padding together.
Assisted by Claude.
Commit: e93a9e0d9936dce610967bb9be3d42f0f3d1493a
https://github.com/llvm/llvm-project/commit/e93a9e0d9936dce610967bb9be3d42f0f3d1493a
Author: Jan Schultke <me at eisenwave.net>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/clmul-vector.ll
M llvm/test/CodeGen/X86/clmul.ll
Log Message:
-----------
[SelectionDAG] Expand CLMUL of zero-extended all-ones operand via parallel prefix XOR (#207339)
Fixes #204870
Commit: 09f54c2e2d9b78929089fed41275b0ed987538ff
https://github.com/llvm/llvm-project/commit/09f54c2e2d9b78929089fed41275b0ed987538ff
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.h
Log Message:
-----------
[clang][bytecode] Save Record::Field PrimType (#221945)
This does not increase the size of `Record::Field` but lets us avoid
classifying fields all the time.
Commit: b90c062f3f03f2c2311644845790252aa6e5237e
https://github.com/llvm/llvm-project/commit/b90c062f3f03f2c2311644845790252aa6e5237e
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/Mangler.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
R llvm/lib/ExecutionEngine/Orc/Shared/Mangler.cpp
Log Message:
-----------
[ORC] Move Mangler implementation from OrcShared to OrcJIT (#221942)
Many OrcJIT clients don't directly depend on OrcSupport, and so broke
when e91092685eab moved mangling from OrcJIT to OrcSupport.
We want to reorganize these libraries in the not too distant future.
Rather than forcing clients to update dependencies that may change again
soon, move the code (but not the header) back into the OrcJIT library.
We can address the mismatch between the header's and implementation's
home during the library reorganization.
Commit: 2dfc0140a0385d063a7b336549a4055778febb1a
https://github.com/llvm/llvm-project/commit/2dfc0140a0385d063a7b336549a4055778febb1a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
A llvm/test/TableGen/RuntimeLibcallEmitter-library-dispatch.td
M llvm/test/TableGen/RuntimeLibcallEmitter-library-grouping.td
M llvm/test/TableGen/RuntimeLibcallEmitter-library-name-merge.td
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
RuntimeLibcalls: Dispatch to library functions from SystemRuntimeLibrary (#217593)
When a SystemRuntimeLibrary names LibcallLibrary defs,
setTargetRuntimeLibcallSets now dispatches each under an isLibraryAvailable
guard, so an impl can be homed into a library without dropping it from the target.
Non-library members keep the inline path. No target names a library yet, so output
is unchanged.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 188842344ace5e1cc0cc84eec02d4a746213277a
https://github.com/llvm/llvm-project/commit/188842344ace5e1cc0cc84eec02d4a746213277a
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
Log Message:
-----------
[lldb][Windows] Mark unwind plan as valid at all instructions (#215514)
This is a follow up to https://github.com/llvm/llvm-project/pull/210076.
The unwind plan is now valid at every location.
Commit: 9bc8df6b880ef04a90e5b9ff05afd07f6fbdf562
https://github.com/llvm/llvm-project/commit/9bc8df6b880ef04a90e5b9ff05afd07f6fbdf562
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
Log Message:
-----------
[lldb][windows] print an error if Python fails to initialize (#181160)
Add checks around the `Py_init*` calls to check if Python was
initialized correctly. If any of the calls fails, print an error and
return early.
Python will fail to initialize if `%SystemRoot%` is not defined which
causes lldb to crash. This patch prints an error if the initialization
fails and returns early. lldb still crashes but gives a clue as to why
that's the case.
rdar://168004280
Commit: 6940519208db433dfffc408392344245129e4050
https://github.com/llvm/llvm-project/commit/6940519208db433dfffc408392344245129e4050
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M libc/shared/rpc.h
Log Message:
-----------
[libc] Simplify RPC lock handling to be scalar on the GPU (#221805)
Summary:
This interface was originally written in a complicated way as a
pessimistic bet against NVIDIA's independent thread scheduling. The idea
was that it would work regardless of which set actually executed the
function. The problem is that this forces the operation to be an
expensive vector operation.
This should be safe, we already have other safeguards against ITS in the
main loop. When this function is called, we know that the index and lane
mask are convergent in the set. ITS says the true threads executing this
could be greater than returned. But in this case the 'locked' value
would not be shuffled in, it would not see that it got the lock, and
loop again in a different mask set.
The complicated thing about ITS is mostly that any lanes that share a PC
will report convergent, but that should not bite us here as we already
guard against that before calling this.
Commit: 51eedac31577e2394d240aa9267374183a42b231
https://github.com/llvm/llvm-project/commit/51eedac31577e2394d240aa9267374183a42b231
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/test/CodeGenCUDA/fp-contract.cu
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
Log Message:
-----------
AMDGPU: Set the addrspacecast nonnull flag instead of the intrinsic (#220927)
AMDGPUCodeGenPrepare proved the source of certain flat<->local/private
addrspacecasts non-null and rewrote them to
llvm.amdgcn.addrspacecast.nonnull. Now that the flag is honored in
codegen, set it in place on the existing instruction instead.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 5e3af02eddc71b7e7c352b29783b3cf395f51330
https://github.com/llvm/llvm-project/commit/5e3af02eddc71b7e7c352b29783b3cf395f51330
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/addrspacecast.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/addrspacecast.ll
A llvm/test/Bitcode/amdgcn-addrspacecast-nonnull.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-gas.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.addrspacecast.nonnull.ll
Log Message:
-----------
AMDGPU: Remove llvm.amdgcn.addrspacecast.nonnull (#220928)
The intrinsic is fully replaced by the nonnull flag on addrspacecast,
so remove it.
Old bitcode/IR is autoupgraded, though this is very conservative. This
intrinsic was only inserted by the backend, and hopefully nobody was
directly emitting it.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: c40a02b6da9291e33c53fc19c37f2d3bf35c06d0
https://github.com/llvm/llvm-project/commit/c40a02b6da9291e33c53fc19c37f2d3bf35c06d0
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/include/lldb/Breakpoint/StopPointSiteList.h
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Small changes to StopPointSiteList::FindInRange (#221975)
1. Make the return value indicate an empty list or not. (I would return
a list, but you cannot copy this list and I don't want to make a larger
change right now)
2. Remove a redundant write at one of the call sites.
Commit: 2aa1dd5d9c56cde7f828cb78017c150e8c11629f
https://github.com/llvm/llvm-project/commit/2aa1dd5d9c56cde7f828cb78017c150e8c11629f
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/X86/vector-compress.ll
Log Message:
-----------
[LLVM][SelectionDAG] Fix incorrect splitting of VECTOR_COMPRESS when passthrough operand is not undef. (#215772)
When splitting VECTOR_COMPRESS the original mask is used for the final
step when inactive elements are set to their passthrough value. This is
incorrect because only the inactive lanes of the result should be set to
their passthrough value.
Commit: 6c8467d3f917e84ebc1bd7c10fb8bd69ded6040e
https://github.com/llvm/llvm-project/commit/6c8467d3f917e84ebc1bd7c10fb8bd69ded6040e
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
Log Message:
-----------
[CIR] Use the modern enum case classes (#220935)
The `I32EnumAttrCase` family carries an `Attr` half, and an
`IntegerAttr`
predicate with it, that a CIR enum has no use for now that the enums
derive
from `EnumInfo`. Upstream says of those forms that they "are not needed
when
using the newer `EnumCase` form".
Rename all of them to `I32EnumCase`, `I32BitEnumCaseNone`,
`I32BitEnumCaseBit` and `BitEnumCaseGroup`. The group class drops its
width
prefix because the modern spelling takes the width from its cases.
Commit: 991c62626638056a85c7af56e211344f8bdd36dc
https://github.com/llvm/llvm-project/commit/991c62626638056a85c7af56e211344f8bdd36dc
Author: TomΓ‘Ε‘ Slanina <itzexpoexpo at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Set correct stack reserve when built by Clang on Windows (#221263)
Currently it's handled correctly for MSVC's LINK and MinGW (i.e.
distributed builds of LLVM work correctly), but not lld-link, causing
such builds to crash in certain scenarios.
Commit: 3741dacd195a961f996f357a3b753dd9432a7941
https://github.com/llvm/llvm-project/commit/3741dacd195a961f996f357a3b753dd9432a7941
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-and.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-divrem-insertpt-crash.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-commute-shift.mir
M llvm/test/CodeGen/AArch64/neon-shuffle-vector-tbl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-redundant-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shift-of-shifted-logic.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/merge-values-s16-true16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-opt.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-and.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-xor.ll
M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
M llvm/test/CodeGen/AMDGPU/workitem-intrinsic-opts.ll
Log Message:
-----------
[GlobalISel] Migrate various generic wip_match_opcode combines to MIR-pattern. (#220213)
This patch converts a batch of GlobalISel combine rules from
hand-written C++ matchers to declarative MIR patterns preserving the
behavior. It also along with adds two functional changes (a
rule-ordering fix and an out-of-bounds bug fix) are described below.
- `select_same_val` β `select_same_val_trivial` +
`select_same_val_equiv` group
- `select_constant_cmp` β `_false` / `_true` / `_general` group
- `simplify_add_to_sub`, `add_p2i_to_ptradd` β `GICombinePatFrag`s
- `commute_shift` β `commute_shift_frags` (C++ residue reduced to
`isDesirableToCommuteWithShift`)
- `combine_i2p_to_p2i`, `ptr_add_zero`, `sext_trunc_sext_load` β
patterns.
- funnel-shift / rotate / `ashr_lshr` / `constant_fold_fma` /
`constant_fold_cast_op` / `combine_minmax_nan` β pattern fragments
- **`select_zero_true` / `select_zero_false`:** skip a constant
condition as they fold it to an arm instead strictly better and avoids a
`G_FREEZE` that post-legalization can't clean up.
- **`match_bitfield_extract_from_and`:** mask the AND immediate to the
operand width and reject fields where `lsb + width > size`, preventing
an out-of-bounds `G_UBFX` (fixes an AMDGPU `knownBitsForSBFE` crash).
28 CodeGen tests updated. All diffs are semantically equivalent.
Commit: a3b12f0cd5337230199fc9c6319cc2c4614f75b8
https://github.com/llvm/llvm-project/commit/a3b12f0cd5337230199fc9c6319cc2c4614f75b8
Author: Oscar Priego <oscar.priegov at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/test/Transforms/GVN/pr46054-md-nonlocaldefcache-cleanup.ll
Log Message:
-----------
[MemDep] Remove cached non-local defs referencing deleted instructions (#219929)
MemoryDependenceResults::removeInstruction() removed entries from
NonLocalDefsCache when the removed non-pointer instruction was itself a
cache key, but did not remove entries where that instruction was the cached
dependency result.
This could leave a stale instruction reachable through NonLocalDefsCache
after GVN erased it. A later non-local load query could then consume the
dangling dependency and crash in GVN::analyzeLoadAvailability().
Use ReverseNonLocalDefsCache to remove forward cache entries whose
dependency result references the removed instruction, keeping both maps
consistent.
Related removal paths now use the existing reverse-map helper, with
consistency assertions to catch future map divergence.
Fixes #219885.
A downstream Mono integration has also hit #219885 in practice when
tagging non-pointer array-header loads with !invariant.group. They
currently gate those tags off as a temporary workaround pending the
upstream fix in this PR:
Phantomical/mono at 7e44c68
Commit: 651d01e873c6fce3c8d300362585b1a5f98bb883
https://github.com/llvm/llvm-project/commit/651d01e873c6fce3c8d300362585b1a5f98bb883
Author: AZero13 <gfunni234 at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/AST/StmtPrinter.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
[clang][AST] Fix infinite recursion when printing fully qualified template parameters (#219044)
This fixes an infinite recursion crash that was introduced in #206041.
When printing a `DeclRefExpr` using
`PrintingPolicy::FullyQualifiedName`, we were previously trying to print
the fully qualified name of all decls. However, when the decl is a
template parameter, its `DeclContext` is the template specialization
itself. If a template specialization's arguments depend on that same
template parameter (e.g., `template<int Count> struct
View<int[Count]>`), attempting to print the qualified name forces Clang
to recursively evaluate the enclosing context. This led to unbounded
recursion (`View<int[Count]>::Count` ->
`View<int[View<int[Count]>::Count]>::Count` and so on). Since template
parameters are inherently scoped to their template declarations and do
not require a fully qualified name, this patch resolves the issue by
skipping `printQualifiedName` if the decl is a template parameter
(`!VD->isTemplateParameter()`).
Fixes #218076.
Commit: f20b6e56a866c49522737364de6a5ab4bedbd43e
https://github.com/llvm/llvm-project/commit/f20b6e56a866c49522737364de6a5ab4bedbd43e
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Remove return value from RemoveBreakpointOpcodesFromBuffer (#221979)
It was never set to anything and the one caller ignored it.
Commit: 08a32ba66e9c01320a6ab13edfc5f332af8d47ed
https://github.com/llvm/llvm-project/commit/08a32ba66e9c01320a6ab13edfc5f332af8d47ed
Author: Kane Wang <wangqiang1 at kylinos.cn>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/load-store.ll
Log Message:
-----------
[RISCV][GlobalISel] Fold large constant offsets in selectAddrRegImm (#219161)
Fold ADDI adjustment (AddiPair) for offsets in [-4096, 4094] and split
larger constants into materialized Hi + Lo12 offset, matching SDAG. Add
isWorthFoldingAdd to guard the split and extract the shared ADDI
renderer into renderAddiPair.
Assisted-by: Claude
Commit: c4babfb3128b9b167e469003028dbaf4e14a6167
https://github.com/llvm/llvm-project/commit/c4babfb3128b9b167e469003028dbaf4e14a6167
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[Docs] Document persistent metadata printing (#220967)
Document how persistent metadata IDs affect intermediate and standalone
textual output. Final assembly output remains canonically renumbered.
Follow-up to #220390.
Commit: 27bb4d2432d9e5643c7f4f5df495c1580fe07da8
https://github.com/llvm/llvm-project/commit/27bb4d2432d9e5643c7f4f5df495c1580fe07da8
Author: Andrzej WarzyΕski <andrzej.warzynski at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
Log Message:
-----------
[mlir][vector] Update `CastAwayTransfer{Read|Write}LeadingOneDim` (#219499)
Updates `CastAwayTransfer{Read|Write}LeadingOneDim` to use
`vector.shape_cast`, rather than `vector.extract`, as the canonical form
for stripping unit dimensions.
This change was originally implemented by @krzysz00 in #196206, but was
subsequently reverted in #199546. This PR intentionally restores only a
subset of #196206, making it easier to identify and triage any potential
regressions.
Co-authored-by: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Commit: fdffea81bc29094eb11eddf85309a6615c4f0049
https://github.com/llvm/llvm-project/commit/fdffea81bc29094eb11eddf85309a6615c4f0049
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fmaximum3.v2f16.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.v2f16.ll
Log Message:
-----------
[AMDGPU] Prefer packed minimum/maximum ops for two-input ops (#215449)
A two-input f16 fminimum or fmaximum operation should translate to a
packed two-input minimum/maximum instruction when the target supports
one.
It currently can be selected through the minimum3/maximum3 fallback
pattern instead. That emits a three-input instruction with one input
operand duplicated.
Keep the fallback for nested min/max expressions that can use the real
three-input instruction. Add a higher-priority direct pattern for
non-nested two-input operations on targets with packed IEEE
minimum/maximum opcodes.
Commit: a4e8604a2da580de80debb6a15c9c6d7379a68d5
https://github.com/llvm/llvm-project/commit/a4e8604a2da580de80debb6a15c9c6d7379a68d5
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
Log Message:
-----------
[clang-format] Recognize the signed modifier for Verilog struct (#219694)
after
```SystemVerilog
struct packed signed {
int a;
} pack1;
```
before
```SystemVerilog
struct packed signed { int a; }
pack1;
```
Commit: 09f1a51bf3a1cdd751379e0ccb9753419f4a14e9
https://github.com/llvm/llvm-project/commit/09f1a51bf3a1cdd751379e0ccb9753419f4a14e9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
A llvm/test/CodeGen/X86/active_lane_mask.ll
Log Message:
-----------
[X86] Add basic llvm.get.active.lane.mask test coverage (#221978)
Commit: cb0e50003dc09853b390eca67a13b05b3d691fc4
https://github.com/llvm/llvm-project/commit/cb0e50003dc09853b390eca67a13b05b3d691fc4
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/acos_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/asin_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ceil_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cos_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cosh_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp2_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/floor_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log10_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log2_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/roundeven_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sin_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sinh_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sqrt_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tan_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tanh_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/trunc_mat.ll
Log Message:
-----------
[SPIRV] Add matrix type legalization for many float global opcodes (#220782)
fixes #220723
The issue in #220723 is that the global opcodes can not deduce the
element type when the input is a shuffle vector. This is the same issue
as #213783. All we have to do to fix this is to have deduceTypeFromUses
in the SPIRVPostLegalizer know that we need to look up the type from the
results register for these opcodes.
The secondary issue is that there were no matrix tests for any of these
global opcodes so I added them. I did not follow the template started by
the atan2 tests because those are overkill and testing way to much stuff
not related to opcode legalization.
Assisted on the tests by MAI-Code-1.1-Flash
Commit: 52d922aa153b1232813470e014635419ce006023
https://github.com/llvm/llvm-project/commit/52d922aa153b1232813470e014635419ce006023
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.h
M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.cpp
A mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.h
A mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinitions.cpp
Log Message:
-----------
[MLIR][spirv] Shard generated operation definitions (NFC) (#221811)
Generate SPIR-V operation definitions in eight shards and use the
generated registration hook. Keep parser, printer, and verification
helpers in the existing implementation TU and expose them through a
private header.
Assisted-by: Codex
Commit: c4d8bd10c14a6902da83306270e836ef6fa5bb76
https://github.com/llvm/llvm-project/commit/c4d8bd10c14a6902da83306270e836ef6fa5bb76
Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
M mlir/lib/Dialect/X86/Transforms/AVXTranspose.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][llvm] Add convergent attribute to llvm.inline_asm. (#221990)
Expose LLVM's convergent call-site attribute on the LLVM dialect
inline_asm op. This allows marking an inline asm block as convergent so
that divergence-aware passes do not move it relative to divergent
control flow.
Commit: 15359d3801d68f93aaf06d7c9647501211f620a1
https://github.com/llvm/llvm-project/commit/15359d3801d68f93aaf06d7c9647501211f620a1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
A llvm/test/CodeGen/Hexagon/const-prop-undef.mir
Log Message:
-----------
Hexagon: Fix constant propagation crash on a use with no reaching definition (#220297)
Commit: a76045040a1297217256d917bec9e02f9723804c
https://github.com/llvm/llvm-project/commit/a76045040a1297217256d917bec9e02f9723804c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
M mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
A mlir/lib/Dialect/LLVMIR/IR/ROCDLOps.cpp
A mlir/lib/Dialect/LLVMIR/IR/ROCDLOps.h
Log Message:
-----------
[MLIR][ROCDL] Shard generated operation definitions (NFC) (#221729)
ROCDL generated operation definitions is amongst the slowest MLIR
translation unit. Generate eight definition shards, compile them as
separate sources, and use the generated sharded registration hook while
keeping custom parser and printer helpers in one implementation unit.
Assisted-by: Codex
Commit: 8c8aa74533a841a7f61dac5e80c8241799458dd6
https://github.com/llvm/llvm-project/commit/8c8aa74533a841a7f61dac5e80c8241799458dd6
Author: Letu Ren <fantasquex at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][LLVM] Add pdep and pext intrinsics (#220768)
Assisted-by: grok-4.6
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: 35fe7e14ecb4e50182fe93123e1876824d14bb94
https://github.com/llvm/llvm-project/commit/35fe7e14ecb4e50182fe93123e1876824d14bb94
Author: Alex Strelnikov <strel at google.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M libc/src/__support/printf_core/char_converter.h
M libc/src/__support/printf_core/converter.h
M libc/src/__support/printf_core/fixed_converter.h
M libc/src/__support/printf_core/float_dec_converter.h
M libc/src/__support/printf_core/float_dec_converter_limited.h
M libc/src/__support/printf_core/float_hex_converter.h
M libc/src/__support/printf_core/float_inf_nan_converter.h
M libc/src/__support/printf_core/int_converter.h
A libc/src/__support/printf_core/overflow_modes.def
M libc/src/__support/printf_core/printf_main.h
M libc/src/__support/printf_core/ptr_converter.h
M libc/src/__support/printf_core/strerror_converter.h
M libc/src/__support/printf_core/string_converter.h
M libc/src/__support/printf_core/vasprintf_internal.h
M libc/src/__support/printf_core/vfprintf_internal.h
M libc/src/__support/printf_core/write_int_converter.h
R libc/src/__support/printf_core/write_modes.def
M libc/src/__support/printf_core/writer.h
M libc/src/err/report.cpp
M libc/src/stdio/baremetal/vfprintf_internal.h
M libc/src/stdio/snprintf.cpp
M libc/src/stdio/snprintf_modular.cpp
M libc/src/stdio/sprintf.cpp
M libc/src/stdio/sprintf_modular.cpp
M libc/src/stdio/vsnprintf.cpp
M libc/src/stdio/vsnprintf_modular.cpp
M libc/src/stdio/vsprintf.cpp
M libc/src/stdio/vsprintf_modular.cpp
M libc/src/stdlib/str_from_util.h
M libc/src/stdlib/strfromd.cpp
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfroml.cpp
M libc/src/time/asctime_utils.h
M libc/src/time/strftime.cpp
M libc/src/time/strftime_core/composite_converter.h
M libc/src/time/strftime_core/converter.h
M libc/src/time/strftime_core/num_converter.h
M libc/src/time/strftime_core/str_converter.h
M libc/src/time/strftime_core/strftime_main.h
M libc/src/time/strftime_l.cpp
M libc/test/src/__support/printf_core/converter_test.cpp
M libc/test/src/__support/printf_core/writer_test.cpp
Log Message:
-----------
[libc] Update printf_core::Writer to template on character type. (#220669)
This is motivated by working toward `swprintf`.
The primary goal is to enable a `CharT` template type parameter on
`printf_core::Writer`. This requires refactoring how the "overflow
write" logic is set up to get around the limitation on function template
partial specialization.
Key changes to `printf_core::Writer` and friends:
* Separate the overflow write logic from `WriteBuffer` into an
`OverflowWriter` template where specializations handle dispatch, and
remove the `WriteBuffer` subclasses.
* Rename from `WriteMode` to `OverflowMode` to try and shorten the
enumerators with minimal loss to clarity, and reduce the number of modes
to only two: `DROP_OVERFLOW` and `CALLBACK`.
* The number of dynamic function calls for flushing and resizing use
cases stays the same by templating the callback on a `WriteSink`.
At this stage the extra `CharT` template type parameter is added in this
PR mainly to ensure the setup works without running into function
template partial specializations. Fully expanding `Writer` with
`wchar_t` will be done in follow-up PRs.
Commit: cb180d50a81674b467887eab836f563607ae89e8
https://github.com/llvm/llvm-project/commit/cb180d50a81674b467887eab836f563607ae89e8
Author: Ryan VanderMeulen <ryanvm at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/cmake/modules/FindLibXml2.cmake
Log Message:
-----------
[cmake] FindLibXml2: keep user-provided LIBXML2_DEFINITIONS (#221294)
LLVM's `FindLibXml2.cmake` (added in #166867) unconditionally does
`set(LIBXML2_DEFINITIONS ${PC_LIBXML_CFLAGS_OTHER})` and puts
`PC_LIBXML_CFLAGS_OTHER` on the imported targets. CMake's own
`FindLibXml2` module only takes pkg-config's flags when the library it
found is the one pkg-config describes; otherwise it keeps whatever
`LIBXML2_DEFINITIONS` the user passed and exposes it through
`INTERFACE_COMPILE_OPTIONS`.
This matters when cross-compiling against a static libxml2 on Windows.
Passing `-DLIBXML2_DEFINITIONS=-DLIBXML_STATIC
-DLIBXML2_LIBRARIES=.../libxml2s.lib` worked with LLVM 22 (CMake's
module): the define reached both the `xmlReadMemory` configure check and
the consumers of `LibXml2::LibXml2`. With LLVM 23 it is silently
dropped, `xmlexports.h` declares the API `__declspec(dllimport)`, the
check fails to link against the static library and
`LLVM_ENABLE_LIBXML2=FORCE_ON` aborts with `Failed to configure
libxml2`. (pkg-config on the Linux host finds the host's libxml2, so
`PC_LIBXML_CFLAGS_OTHER` is empty and unrelated to the library actually
being used.)
Mirror CMake's behaviour: keep the user's definitions unless pkg-config
found the same library, and attach them to both `LibXml2::LibXml2` and
`LibXml2::LibXml2Static`.
Seen while building the Firefox clang 23 toolchains (x86_64 and aarch64
`-pc-windows-msvc`, cross-compiled from Linux with
`LLVM_EXPORT_SYMBOLS_FOR_PLUGINS=ON`).
---
**AI tool use disclosure** (per the [LLVM AI Tool Use
Policy](https://llvm.org/docs/AIToolPolicy.html)): this change was
developed with Claude Code assisting in the analysis and drafting. The
root cause was established against real 23.1.0 binaries; this cmake
change itself has so far only been verified to apply to 23.1.0 and main
and by code reading, while Firefox's CI validated the equivalent
workaround of passing -DLIBXML_STATIC via the compiler flags. The author
reviewed the change and is accountable for and able to answer questions
about it. Commits carry an `Assisted-by:` trailer.
Commit: 2ca09022430e88ab53cbf0f09d6ec8b3d6deb138
https://github.com/llvm/llvm-project/commit/2ca09022430e88ab53cbf0f09d6ec8b3d6deb138
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
Log Message:
-----------
[GlobalISel] Avoid double DenseMap lookups in ValueToVRegInfo (NFC) (#221741)
Improves CTMark geomean -0.06% on aarch64-O0-g.
https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=fbf62152c51f2327cb2f4a382df90b3f345a8866&stat=instructions:u
Assisted-by: codex
Commit: 0650d53db287b22908ca2c76d21defbec209be44
https://github.com/llvm/llvm-project/commit/0650d53db287b22908ca2c76d21defbec209be44
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/test/CodeGen/X86/avx512fp16-frem.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/ucmp.ll
M llvm/test/CodeGen/X86/vector-fshl-128.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
M llvm/test/CodeGen/X86/vector-shuffle-avx512.ll
M llvm/test/CodeGen/X86/vector-shuffle-v192.ll
Log Message:
-----------
[X86][X86CompressEVEX] Do not compress when there is a compressed disp8 (#221923)
Fixes: #206963
Assisted-by: Claude Opus 4.8
Commit: bb6f7fcb46cdbe258b0cba12506fe1f344cd2d45
https://github.com/llvm/llvm-project/commit/bb6f7fcb46cdbe258b0cba12506fe1f344cd2d45
Author: Risan Gnanasegaram <risan888 at hotmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/test/Dialect/LLVMIR/layout.mlir
Log Message:
-----------
[mlir][LLVM] Use element allocation sizes when computing struct size (#221742)
`LLVMStructType::getTypeSizeInBits` currently advances by each element's
store size. With the data layout from #221665, this reports 11 bytes for
`!llvm.struct<packed (f80, i8)>`, while LLVM uses the 16-byte allocation
size of `f80` and reports a 17-byte struct.
Round each element's size up to its ABI alignment before adding it to
the
struct size, matching LLVM's `getTypeAllocSize` behavior. Packed structs
continue to suppress alignment gaps before elements, while each element
still consumes its allocation size.
Add regression coverage for packed, unpacked, nested, and array layouts.
Fixes #221665.
Testing: 99 relevant MLIR tests passed; 3 x86-only tests were
unsupported
on the ARM host.
Assisted by: OpenAI Codex
Commit: a25235064367ee356ceddf5064a4d14fca0f8567
https://github.com/llvm/llvm-project/commit/a25235064367ee356ceddf5064a4d14fca0f8567
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
Log Message:
-----------
[SLP][NFC] Fix createExtractVector comment missed in #221785 (#221999)
createExtractVector has no Generator; drop it from the doxygen comment.
Commit: 2e8a9d833739a7e3be91c700793b00594c3b745f
https://github.com/llvm/llvm-project/commit/2e8a9d833739a7e3be91c700793b00594c3b745f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
Log Message:
-----------
CodeGen: Remove TargetOptions::PPCGenScalarMASSEntries (#221424)
This was PPC specific and wasn't directly written by a generic cl::opt.
It also was inappropriately written based based on a check of the flag
in the TargetPassConfig, which is only likely to be the first use.
Co-authored-by: Claude (Claude-Opus-4.8)
Commit: 1c5ed251750754befcfb619adf6452bc39ecf958
https://github.com/llvm/llvm-project/commit/1c5ed251750754befcfb619adf6452bc39ecf958
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/clmul-vector-256.ll
M llvm/test/CodeGen/X86/clmul-vector-512.ll
M llvm/test/CodeGen/X86/clmul-vector.ll
M llvm/test/CodeGen/X86/pdep-vector-128.ll
M llvm/test/CodeGen/X86/pdep-vector-256.ll
M llvm/test/CodeGen/X86/pdep-vector-512.ll
M llvm/test/CodeGen/X86/pext-vector-128.ll
M llvm/test/CodeGen/X86/pext-vector-256.ll
M llvm/test/CodeGen/X86/pext-vector-512.ll
M llvm/test/CodeGen/X86/znver-pdep.ll
M llvm/test/CodeGen/X86/znver-pext.ll
Log Message:
-----------
[X86] LowerCLMUL - fix unpack order of vXi32 CLMUL/CLMULH codegen (#222001)
Fix typo in the unpack order for vXi32 CLMUL/CLMULH codegen from #221289
and #221668 - I'd gotten the variable names right, but failed to
actually use the right variables!
Fixes #221964
Commit: cec101b15dd27fb1c51b6c87cb6e9d78517d2b09
https://github.com/llvm/llvm-project/commit/cec101b15dd27fb1c51b6c87cb6e9d78517d2b09
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 52d922a (#222005)
This fixes 52d922aa153b1232813470e014635419ce006023 (#221811).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=52d922aa153b1232813470e014635419ce006023
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 8a3d6f8ca2970c31c21a90f90eb7fe0de0fb0f99
https://github.com/llvm/llvm-project/commit/8a3d6f8ca2970c31c21a90f90eb7fe0de0fb0f99
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/docs/resources/test.md
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/test/API/commands/expression/import-std-module/array/TestArrayFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/basic/TestImportStdModule.py
M lldb/test/API/commands/expression/import-std-module/conflicts/TestStdModuleWithConflicts.py
M lldb/test/API/commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/empty-module/TestEmptyStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_decl_from_module/TestForwardDeclFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/list/TestListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/missing-module-sources/TestStdModuleSourcesMissing.py
M lldb/test/API/commands/expression/import-std-module/module-build-errors/TestStdModuleBuildErrors.py
M lldb/test/API/commands/expression/import-std-module/no-std-module/TestMissingStdModule.py
M lldb/test/API/commands/expression/import-std-module/non-module-type-separation/TestNonModuleTypeSeparation.py
M lldb/test/API/commands/expression/import-std-module/pair/TestPairFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/retry-with-std-module/TestRetryWithStdModule.py
M lldb/test/API/commands/expression/import-std-module/shared_ptr-dbg-info-content/TestSharedPtrDbgInfoContentFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/stack/TestStackFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/sysroot/TestStdModuleSysroot.py
M lldb/test/API/commands/expression/import-std-module/vector-bool/TestVectorBoolFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector/TestVectorFromStdModule.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
M lldb/test/API/functionalities/breakpoint/jit_loader_rtdyld_elf/TestJitBreakPoint.py
M lldb/test/API/lang/cpp/abi_tag_structors/TestAbiTagStructors.py
M lldb/test/API/lang/cpp/forward/TestCPPForwardDeclaration.py
Log Message:
-----------
[lldb] Add requireClang decorator (#222007)
- Add requireClang, marking Clang-only tests as UNSUPPORTED elsewhere
instead of SKIPPED, following the existing require* convention.
- Replace the ~30 standalone @skipIf(compiler=no_match("clang")) uses
with @requireClang; leave the cases paired with a compiler_version check
as-is, since those are more complex than a simple compiler check.
- Remove the now-unused skipUnlessCompilerIsClang in favor of
requireClang.
- Update the testing docs to mention requireClang.
Follow-up to #214197.
Commit: ee89c01e6ad49aeefc918e08bc27f6b50c5407ba
https://github.com/llvm/llvm-project/commit/ee89c01e6ad49aeefc918e08bc27f6b50c5407ba
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
Log Message:
-----------
[XCore] Use getPtrAdd() instead of getGetElementPtr() (NFC) (#222017)
This was creating an i8 getelementptr, which is exactly what
ptradd is.
Commit: f1f0f21a51d64d9c0272959f18ece36e3247083e
https://github.com/llvm/llvm-project/commit/f1f0f21a51d64d9c0272959f18ece36e3247083e
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.cpp
A llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.h
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[SLP][modularisation][NFC] Move pointer/stride helpers to SLPMemoryUtils (#221786)
Move the following BoUpSLP-independent pointer/stride helpers out of
SLPVectorizer.cpp into a new SLPVectorizer/SLPMemoryUtils.{h,cpp}:
arePointersCompatible
computeCommonAlignment
calculateRtStride
arePointersCompatible reads the file-local RecursionMaxDepth cl::opt.
The option stays static in SLPVectorizer.cpp; the moved helper takes its
value as an explicit unsigned parameter. Behavior is unchanged.
Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
Assisted by AI.
Commit: fe65dbf7e9ad196d8b67aebab8a38936c9c14056
https://github.com/llvm/llvm-project/commit/fe65dbf7e9ad196d8b67aebab8a38936c9c14056
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.cpp
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
Log Message:
-----------
CodeGen: Remove stale LiveVariables.h includes from ARM and M68k InstrInfo (#222000)
Co-authored-by: Claude (Claude-Opus-4.8)
Commit: 07af01c0f9e55599c4b8e11ad14851d2ef5d01fe
https://github.com/llvm/llvm-project/commit/07af01c0f9e55599c4b8e11ad14851d2ef5d01fe
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Attributor] Remove dead function getKnownConstantRange (#221897)
getKnownConstantRange was added on January 15, 2020 in commit
188f9a348dc545bf9a420d998ad37761bddd7285 without any callers and has
been unused since.
Commit: b5395ed14ee6d3bc7a98c0abc9e592a1675e0bcc
https://github.com/llvm/llvm-project/commit/b5395ed14ee6d3bc7a98c0abc9e592a1675e0bcc
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
Log Message:
-----------
[WindowsSecureHotPatching] Remove redundant getGetElementPtr() (NFC) (#222019)
This was creating a degenerate getelementptr without any indices,
which is equivalent to the base pointer and will fold away.
Commit: bbf7b8439d526de7a696bad82c7f8cc8696e39f7
https://github.com/llvm/llvm-project/commit/bbf7b8439d526de7a696bad82c7f8cc8696e39f7
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
A clang/test/CIR/CodeGenCUDA/builtins-nvvm-fma-oob.cu
A clang/test/CIR/CodeGenCUDA/builtins-nvvm-half.cu
Log Message:
-----------
[CIR][NVPTX] Add support for NVVM half type builtins (#221859)
Adds codegen for the following NVVM half type builtins:
- `__nvvm_ex2_approx_{f16,f16x2}`
- `__nvvm_fmin{_ftz,}{_nan,}{_xorsign_abs,}_{f16,f16x2}`
- `__nvvm_fmax{_ftz,}{_nan,}{_xorsign_abs,}_{f16,f16x2}`
- `__nvvm_fma_rn{_ftz,}{_relu,_sat,}_{f16,f16x2}`
- `__nvvm_fma_rn_oob{_relu,}_{f16,bf16,f16x2,bf16x2}`
These are lowered to the corresponding llvm.nvvm.* intrinsics.
This diverges a bit from OG, as no half-type helper is needed here. OG
routes these through `MakeHalfType`, which coerces each argument to the
intrinsic's declared parameter type, appends the intrinsic's defaulted
arguments, and
asserts that no argument is an integer constant expression. None of that
is needed for the builtins in this patch as each already agrees with its
intrinsic on operand and result types, and none has defaulted
parameters. The existing
`emitUnaryNVVMIntrinsic` and `emitBuiltinWithOneOverloadedType<N>`
helpers are therefore sufficient.
More generally, nothing `MakeHalfType` does is half-specific.
Assisted by Claude.
Commit: d5d12741de992606a7f045b744bdbce53538e196
https://github.com/llvm/llvm-project/commit/d5d12741de992606a7f045b744bdbce53538e196
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGObjCMac.cpp
Log Message:
-----------
[CGObjCMac] Remove unnecssary zero-index GEPs (#222023)
getConstantGEP() was always called with two zero indices. However,
with opaque pointers, zero-index GEPs are redundant and will fold
away.
Commit: 3bd526b27ffe43b86d1550c79c085697434fb787
https://github.com/llvm/llvm-project/commit/3bd526b27ffe43b86d1550c79c085697434fb787
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Transforms/LoopUnroll/RISCV/runtime-unroll-max-trip-count.ll
M llvm/test/Transforms/LoopUnroll/RISCV/unroll.ll
Log Message:
-----------
[RISCV] Stop ignoring intrinsics in costing for force unrolling (#221107)
All intrinsic calls were hitting the "continue" for !isLoweredToCall
and bypassing the getInstructionCost.
I've modified runtime-unroll-max-trip-count.ll to override unrolling
costs and remove the bswap intrinsics that were previously not counted.
Test case written by Claude.
Commit: 0117d8ca5e8c37e3a14647875095cc422ee9a686
https://github.com/llvm/llvm-project/commit/0117d8ca5e8c37e3a14647875095cc422ee9a686
Author: Kirill Vedernikov <kvedernikov at nvidia.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared-collector-b.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared-decompress-b.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared-ti16.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared.mlir
M mlir/test/lit.cfg.py
Log Message:
-----------
[MLIR][NVVM] Add optional llc verification for NVVM dialect tests (#219980)
The motivation is to verify that MLIR NVVM dialect operations lower to
LLVM IR that is accepted by the NVPTX backend. Running llc gives these
tests an extra end-to-end check beyond textual IR matching and helps
catch mismatches between MLIR lowering, NVVM intrinsics, and backend
expectations.
A valid LLVM intrinsic call isn't necessarily selectable for every
combination of its immargs and target features. There is a concrete
NVPTX example in
`llvm/test/CodeGen/NVPTX/tcgen05-mma-collector-b-i8-invalid.ll`. The
intrinsic has a valid signature and individually valid immediate values,
but the combination `kind=i8` and `collector_b=lastuse` is not
supported. LLVM IR verification accepts it, while `llc` rejects it with
Cannot select.
The corresponding MLIR verifier does not duplicate every NVPTX
instruction-selection predicate. It currently checks MLIR-level
properties such as the `disable_output_lane size` and the interaction
between `a_shift` and `collector_a` (the examples are from
`tcgen05.mma`), while the backend owns the complete target-dependent
selection rules. We should improve the MLIR verifier whenever an invalid
MLIR operation can be rejected early, but a targeted integration check
also detects disagreement or drift between those two independently
maintained layers.
Another case is target-version drift. A translation test can be extended
with a new intrinsic variant requiring a newer SM or PTX ISA while
continuing to pass its textual `FileCheck`. Since the existing command
has no target contract, the test does not tell us whether all the
generated intrinsics are lowerable for one coherent target. An `llc`
invocation with explicit `-mcpu` and `-mattr` makes that contract
visible. If a test intended for sm_100a/PTX 8.6 starts using
functionality available only for sm_107f/PTX 9.4, the integration check
reports it immediately.
```
// RUN: %if has_llc_binary && host-supports-nvptx %{ mlir-translate --mlir-to-llvmir %s | %llc-verify -march=nvptx64 -mcpu=sm_<version> -mattr=+ptx<version> %}
```
`%llc-verify` finds `llc` as `lit.util.which("llc",
config.llvm_tools_dir)`.
Commit: 03fd869d69394b404698cda7cc1621f2be4121c2
https://github.com/llvm/llvm-project/commit/03fd869d69394b404698cda7cc1621f2be4121c2
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
[MicrosoftCXXABI] Remove unnecessary zero-index GEP (#222025)
This was creating a zero-index GEP constant expression, which is
equivalent to the base pointer, and will be folded away.
Commit: 46c912344a6bc59acd5a396f1c4d921eb54a2c57
https://github.com/llvm/llvm-project/commit/46c912344a6bc59acd5a396f1c4d921eb54a2c57
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/Passes.td
M flang/include/flang/Semantics/runtime-type-info.h
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/OpenACC/Analysis/FIROpenACCSupportAnalysis.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCMapInfoPrep.cpp
M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
M flang/lib/Semantics/runtime-type-info.cpp
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-attach.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-clauses.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-declare-global.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-exit.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-implicit-present.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-privatize.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-types.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep.mlir
M flang/unittests/Optimizer/OpenACC/FIROpenACCSupportAnalysisTest.cpp
A mlir/include/mlir/Dialect/OpenACC/OpenACCCGEnums.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsType.h
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsType.cpp
A mlir/test/Dialect/OpenACC/invalid-cg-mapinfo.mlir
A mlir/test/Dialect/OpenACC/ops-cg-mapinfo.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[acc] Pre-cg pass for handling flang data mapping to offload runtime (#221282)
Introduce acc.map_info as the acc dialect operation that captures a
single mapped object's offload facts (attach point, descriptor kind,
bounds, map flags, and size) so later codegen can lower data clauses to
the offload runtime from one representation.
Add a Flang pre-codegen pass, ACCMapInfoPrep, that materializes
acc.map_info for FIR-typed operands: it infers Fortran descriptor attach
and CFI facts, sizes mapped and privatized storage, and folds paired
enter/exit clause effects into map flags. This keeps FIR-specific
mapping logic out of ACCToLLVM and leaves that conversion to consume
map_info verbatim.
Commit: d3960386544aa370053b110610c8e7f30c850c0e
https://github.com/llvm/llvm-project/commit/d3960386544aa370053b110610c8e7f30c850c0e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M libcxx/include/tuple
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
Log Message:
-----------
[libc++] Fix make_from_tuple for reference types (#220966)
#215067 refactored `make_from_tuple`, which introduced a regression when
trying to construct reference types with it.
Commit: 50766c94c42ea6bd4a9424a5a63a905765d5c172
https://github.com/llvm/llvm-project/commit/50766c94c42ea6bd4a9424a5a63a905765d5c172
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-09-08 (Tue, 08 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/hdr/types/CMakeLists.txt
A libc/hdr/types/pthread_attr_t.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_getattr_np.cpp
M libc/src/pthread/pthread_getattr_np.h
M libc/test/integration/src/pthread/CMakeLists.txt
A libc/test/integration/src/pthread/pthread_getattr_np_test.cpp
Log Message:
-----------
[libc] Implement pthread_getattr_np (#221231)
Implement the GNU extension pthread_getattr_np.
For the stack address and size, the function returns the same value as
pthread_getstack_np. Specifically, this means returning
PTHREAD_STACK_DYNAMIC_NP for the main thread. Since we're not promising
async-signal-safety of this function, we could parse /proc/self/maps
(like glibc does), to get the actual stack VMA, but:
- that's a lot of code
- I'm not particularly fond of relying on /proc for libc features
- the consistency with pthread_getattr_np is nice
For these reasons, I'm not implementing this (or other alternatives like
RLIMIT_STACK) right now. This incidentally means that the current
implementation of this function is async-signal-safe, but that is likely
to change once we add support for additional attributes.
For consistency with glibc, I report the guard size of newly created
threads as zero, regardless of what was present in the thread creation
attributes. I zero the attribute directly during thread creation as it
is not used for managed stacks.
Assisted-by: Gemini
Commit: 3eb8494f6d0e40bf6e7fc3e5ec0196c5b2726bd6
https://github.com/llvm/llvm-project/commit/3eb8494f6d0e40bf6e7fc3e5ec0196c5b2726bd6
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AMDGPU] Add APIs `getTotalNumVGPRs` and `getAddressableNumVGPRs` to TargetParser (#220695)
These align with `getTotalNumSGPRs` and `getAddressableNumSGPRs` that
already exist.
Commit: 12b2a6767a17e6450a3e844359afa30440bdd9ba
https://github.com/llvm/llvm-project/commit/12b2a6767a17e6450a3e844359afa30440bdd9ba
Author: Laxman Gupta <laxman.gupta1006 at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/trunc_vector_instrs.ll
Log Message:
-----------
[AggressiveInstCombine] Add shufflevector support to TruncInstCombine (#220218)
Previously, expression graphs containing shufflevector could not be
reduced to a smaller bit-width. This change adds support for traversing
and rebuilding shufflevector operations during the transformation,
allowing truncation to propagate through shuffle operations.
The shuffle mask and vector shape are preserved while the operands are
rebuilt with the reduced element type.
This removes the corresponding TODO in TruncInstCombine.cpp.
AI Tool Used: GitHub Copilot
Commit: 1dac88b2aad1af472a4f4d5b7d87930e6e557d1f
https://github.com/llvm/llvm-project/commit/1dac88b2aad1af472a4f4d5b7d87930e6e557d1f
Author: Akash Dutta <137309513+akadutta at users.noreply.github.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHazardLatency.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
A llvm/test/CodeGen/AMDGPU/insert-delay-alu-ldsdma.mir
A llvm/test/CodeGen/AMDGPU/ldsdma-not-coexec-valu.mir
A llvm/test/CodeGen/AMDGPU/ldsdma-not-valu-wait-sgpr.mir
Log Message:
-----------
[AMDGPU] Do not treat LDSDMA as VALU in several passes (#212866)
Use AllowLDSDMA=false (and producer/consumer split in InsertDelayAlu)
where LDSDMA was incorrectly classified as VALU.
Partially addresses https://github.com/llvm/llvm-project/issues/204488
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 3199f80203b3981f87a915bc045cc6d43b850cea
https://github.com/llvm/llvm-project/commit/3199f80203b3981f87a915bc045cc6d43b850cea
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Transforms/debug-line-table-no-types.fir
M flang/test/Transforms/debug-omp-target-op-1.fir
Log Message:
-----------
[flang][debug] Don't build signature types for minimal debug levels. (#221967)
AddDebugInfo converted the result and argument types of every function
before it checked the requested debug level, so -gline-tables-only or a
-gline-directives-only ended up with the full type graph of each
signature: derived types, array types, string types and the basic types
they are built from.
Leave the type list empty at those levels which is also what clang emits
for -gline-tables-only or -gline-directives-only. The subprogram of an
omp.target region gets the same treatment.
A single variable is now used to decide this so parameter for the
`addTargetOpDISP` lambda was removed.
Fixes #217343
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: af35312797b0be96be7b2f155542911df3693a2b
https://github.com/llvm/llvm-project/commit/af35312797b0be96be7b2f155542911df3693a2b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
MachinePipeliner: Fix using getUniqueVRegDef on a physical register (#216793)
Currently this is permissive and doesn't assert when called with
a physical register, but I'm working on changing this edge case.
No current observable change.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: f40474d53bc0e780d7d3653248d5a241d36fe07a
https://github.com/llvm/llvm-project/commit/f40474d53bc0e780d7d3653248d5a241d36fe07a
Author: Ruoyu Qiu <cabbaken at outlook.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[DA] Refactor dependence analysis (NFC) (#221653)
Remove some unnecessary part of DA.
- Remove unused `GroupLoops` and `Group` subscript state.
- Reuse the already-computed source and destination loops.
- Simplify `APInt` initialization and zero SCEV construction.
- Replace redundant casts with direct typed accessors.
Commit: 5bf9caeaa485f1720db8cfbe92012710c2fad36c
https://github.com/llvm/llvm-project/commit/5bf9caeaa485f1720db8cfbe92012710c2fad36c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/docs/CommandGuide/llubi.md
A llvm/test/tools/llubi/alloca_large_size_crash.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/llubi.cpp
Log Message:
-----------
[llubi] Limit max-mem to 4 GiB (#221765)
Closes https://github.com/llvm/llvm-project/issues/220952.
Commit: dc49aeb509940d32415ce420a608fc8d4ca3b01e
https://github.com/llvm/llvm-project/commit/dc49aeb509940d32415ce420a608fc8d4ca3b01e
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
Log Message:
-----------
[flang][acc] Add missing dependencies for ACCMapInfoPrep pass (#222028)
To resolve linking failures for:
cuf::hasDataAttr and loadRecordTypeSizeFromTypeDesc
after: https://github.com/llvm/llvm-project/pull/221282
Commit: b12d510875d4d3b56a34bb425757a1b488ba3e4b
https://github.com/llvm/llvm-project/commit/b12d510875d4d3b56a34bb425757a1b488ba3e4b
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp
Log Message:
-----------
[Clang] Fix assertion when a Unicode character is splatted to a vector of its own type (#219987)
Fixes #202317
Comparing an `ext_vector_type` of `char32_t` against one of its own
elements (`V.xyzw < V.x`) splats the scalar to the vector type, and
`-Wconversion` checking then trips `Source != Target` in
`DiagnoseMixedUnicodeImplicitConversion`. `CheckImplicitConversion` does
reject `Source == Target` at the top, but only on the outer types; when
it later strips the vector wrapper off the target it ends up with
`char32_t` on both sides and nothing re-checks that. Every other element
check just happened to tolerate identical types silently, the Unicode
one is the first to assert, which is why this only showed up as a Clang
21 regression.
The fix is at the call site rather than in the diagnostic: once the
vector, matrix and SVE wrappers have been stripped, return early if the
element types are the same. That covers matrix splats and HLSL
truncation to the same element type too, not just this one warning, and
leaves the assertion and the warning's behaviour alone. A genuine
mismatch such as `V.xyzw < u8` still warns as before. Added a test with
the reproducer.
LLM tools were used for this contribution. I've reviewed, built, and
tested the change myself before pushing to GitHub.
Commit: 00a81e0a19da74292a84c0b5fcdae85f0646cc02
https://github.com/llvm/llvm-project/commit/00a81e0a19da74292a84c0b5fcdae85f0646cc02
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
A flang/test/Lower/CUDA/scalar-to-array-assign-device-O0.cuf
Log Message:
-----------
[flang][cuda] Inline scalar-to-array assignments in CUDA Fortran device code at -O0 (#221333)
At -O0, `arr = 11` lowers to a `_FortranAAssign` call. In device code
the runtime function's callees join the kernel's call graph, so the
device linker reserves a worst-case stack frame for every kernel
reaching it: `65,720` bytes per thread for a kernel with one such
assignment, versus `0` at -O1.
`InlineHLFIRAssign` already runs at -O0 with `onlyScalarRHS` for OpenMP
target device compilations. This extends that carve-out to CUDA Fortran.
Since a CUDA Fortran module holds both host and device code, the
decision is per-operation via `cuf::isCUDADeviceContext`, and host code
keeps the runtime call.
Only scalar-to-array broadcast is covered.
Commit: 443d419e798b37a3733b12db7859c5155407c6d8
https://github.com/llvm/llvm-project/commit/443d419e798b37a3733b12db7859c5155407c6d8
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
Log Message:
-----------
[lldb] Fix switch case for i386 in COFF GetModuleSpecifications (#222030)
08c94c0ac3b503dd4971da8935001aba01918688 / #188276 accidentally removed
the "case:" for i386.
Commit: b674d2c82401631326305ce0d8e624b448daf8a5
https://github.com/llvm/llvm-project/commit/b674d2c82401631326305ce0d8e624b448daf8a5
Author: Sean Perry <perry at ca.ibm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/ZOS.cpp
A clang/test/Driver/nodefaultrtlibs.c
Log Message:
-----------
[Driver][Clang] Add -nodefaultrtlibs (#219496)
On z/OS testing compiler-rt does not work with the -nodefaultlibs since
that option remove both the standard libraries like libc and the
compiler-rt library. On other platforms adding an argument like `-lc`
back to the command line in the test scripts works because the path for
libc (eg. `-L<path>`) hadn't been removed. On z/OS, the standard
libraries are located in data sets and you need to specify them by
complete name (eg. `<HLQ>.SCEELIB(CELQS003)`).
This is adding the option `-nodefaultrtlibs` so the compiler-rt tests
can remove just the compiler-rt libs from the link step.
Commit: d34b9a8dbb9e3fe3a894af0ecd381683dd95e693
https://github.com/llvm/llvm-project/commit/d34b9a8dbb9e3fe3a894af0ecd381683dd95e693
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp
Log Message:
-----------
[CodeGen] Add const MBB overload to analyzeBranch (#221847)
Commit: 91ee3ddf53d996153f80193b350df013eb068803
https://github.com/llvm/llvm-project/commit/91ee3ddf53d996153f80193b350df013eb068803
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
Log Message:
-----------
[SandboxVec][Scheduler][NFC] Rename ScheduleTopItOpt to ScheduleFrontier (#220409)
We now have an actual class `SchedulingPoint` for pointing to the top of
schedule, so it is no longer an iteraterator as `ScheduleTopItOpt` would
imply. We also support both bottom-up and top-down directions so "Top"
is no longer a good name.
This patch renames the iterator to ScheduleFrontier.
Commit: f0bcda36c9f50c3bac7fb1b1dd06686166da155b
https://github.com/llvm/llvm-project/commit/f0bcda36c9f50c3bac7fb1b1dd06686166da155b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/elementwise/roundtrip.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
Log Message:
-----------
[MLIR][linalg] Handle invalid elementwise kind safely (#221835)
The generic elementwise builder accepts an attribute list. Avoid passing
an uninitialized kind to region construction if a caller omits the
required kind, and reject attributes of the wrong type rather than
relying on an assertion.
Found by Coverity.
Assisted-by: Codex
Commit: 86a649acfded74042e2cec07df4fc2e70a02a74d
https://github.com/llvm/llvm-project/commit/86a649acfded74042e2cec07df4fc2e70a02a74d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
Log Message:
-----------
[MLIR][linalg] Share external interface implementations to reduce build time (NFC) (#221814)
The Linalg tiling and partial-reduction external models instantiate
their operation-independent implementations for every registered
structured op. Keep thin operation-specific external models, but inherit
the implementations from non-template bases so the compiler emits and
optimizes them only once.
Assisted-by: Codex
Commit: 4f22c50a5bebe5b76c3d3d45c5db2a5a769727f6
https://github.com/llvm/llvm-project/commit/4f22c50a5bebe5b76c3d3d45c5db2a5a769727f6
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/test/Sema/assign.c
Log Message:
-----------
Add a regression test; NFC (#221981)
There was a request for a regression test in #50193; this was fixed
initially by 9eef4d1c5fa6b1bcbbe675c14ca8301d5d346f7b
Commit: 6dd22919138af830711ed4fb5b792482139b8eb0
https://github.com/llvm/llvm-project/commit/6dd22919138af830711ed4fb5b792482139b8eb0
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/dpp_combine.mir
M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
A llvm/test/CodeGen/AMDGPU/dpp_combine_rev_opcode.ll
A llvm/test/CodeGen/AMDGPU/dpp_combine_rev_opcode.mir
Log Message:
-----------
[AMDGPU] Restrict DPP combine from performing bad transformations when handling certain REV insts that use Src1 as the DPP operand (#216835)
This issue was originally discovered due to a benchmark failure in the
downstream. The REV subtractions have always worked this way, and the
REV shift operands worked this way before GFX11
Commit: 67b8998d404ad633c9ec377598c8c1077b312365
https://github.com/llvm/llvm-project/commit/67b8998d404ad633c9ec377598c8c1077b312365
Author: carlobertolli <carlo.bertolli at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-proper-value-replacement.ll
Log Message:
-----------
[AMDGPU] Avoid dangling SSAUpdater reference in PromoteAlloca full-vector store (#215686)
promoteAllocaToVector walks alloca users in use-list order across
blocks. A full-vector store forwards its value operand to the
SSAUpdater, and that operand can be a load from the same alloca in a
dominating block. If the store is visited first, the SSAUpdater holds a
raw pointer to the load; the load is later RAUW'd and deleted, leaving a
dangling reference that causes a crash.
Fix by sorting blocks in reverse post-order before visiting them, so a
forwarded load is always replaced before any store hands it to the
SSAUpdater.
Assisted-By: Cursor (Claude)
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 793137b8a9f92ad09f08701fd297aead07515a50
https://github.com/llvm/llvm-project/commit/793137b8a9f92ad09f08701fd297aead07515a50
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
M mlir/lib/ExecutionEngine/SparseTensor/File.cpp
A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_file_rank.mlir
A mlir/test/Integration/data/rank_511.tns
Log Message:
-----------
[mlir][sparse] Reject tensor files with unsupported ranks (#220709)
Commit: 098c15fc1c119807ff61a16441c9903d9faefb0a
https://github.com/llvm/llvm-project/commit/098c15fc1c119807ff61a16441c9903d9faefb0a
Author: Hongyu Chen <xxs_chy at outlook.com>
Date: 2026-09-09 (Wed, 09 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-pget-index-out-of-range.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
Log Message:
-----------
[RISCV][P-ext] Support Packed Element Extract (#221565)
See also
https://github.com/riscv/riscv-p-spec/blob/master/P-ext-intrinsics.adoc#packed-element-extract.
Commit: 16bcb2727f98f366ca9e28b98b83654cdb150b89
https://github.com/llvm/llvm-project/commit/16bcb2727f98f366ca9e28b98b83654cdb150b89
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_file_coordinates.mlir
A mlir/test/Integration/data/coordinate_above_dimension.tns
A mlir/test/Integration/data/coordinate_narrow.tns
A mlir/test/Integration/data/coordinate_negative.tns
A mlir/test/Integration/data/coordinate_overflow.tns
A mlir/test/Integration/data/coordinate_zero.tns
Log Message:
-----------
[mlir][sparse] Reject invalid tensor coordinates (#220708)
Commit: 6e1cb51ab9dc2de34f8161b27cf24345b4c4ccbb
https://github.com/llvm/llvm-project/commit/6e1cb51ab9dc2de34f8161b27cf24345b4c4ccbb
Author: Szymon Piotr Milczek <szymon.milczek at intel.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Log Message:
-----------
[GlobalISel] Drop redundant scalable-dest check in G_EXTRACT_SUBVECTOR lowering (NFC) (#221934)
The scalarizing lowering of G_EXTRACT_SUBVECTOR bails out for both a
scalable source and a scalable destination.
According to llvm/docs/GlobalISel/GenericOpcode.md, G_EXTRACT_SUBVECTOR
only supports extracting a fixed vector from a scalable vector, never a
scalable vector from a fixed one.
This means that a fixed source implies a fixed destination, making the
DstTy.isScalable() check redundant.
Remove it. NFC.
Commit: 5d5365323003edd1f1c0fbc1e631ae5a2c49d176
https://github.com/llvm/llvm-project/commit/5d5365323003edd1f1c0fbc1e631ae5a2c49d176
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/include/clang/Options/FlangOptions.td
M flang/docs/ReleaseNotes.md
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/driver-help.f90
M flang/test/Lower/math-lowering/exponentiation.f90
M flang/test/Lower/split-sum-expression-tree-lowering.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Enable FP sum reassociation by default (#218746)
Enable Fortran-standard-compliant reassociation within individual REAL
and COMPLEX sum expressions by default at all optimisation levels.
Preserve the explicit positive and negative Flang override flags.
Also enable by default on bbc to match flang.
RFC:
https://discourse.llvm.org/t/rfc-flang-reasssociate-within-real-and-complex-expressions-by-default/91626
Assisted-by: Codex
Commit: 841d4ad6b315ab92c2a37e6484a3b7963b50060c
https://github.com/llvm/llvm-project/commit/841d4ad6b315ab92c2a37e6484a3b7963b50060c
Author: Larry Meadows <Lawrence.Meadows at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/test/OpenMP/amdgcn_target_device_vla.cpp
M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
M clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/nvptx_target_teams_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/parallel_if_codegen_PR51349.cpp
M clang/test/OpenMP/reduction_complex.c
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/scope_codegen.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_default_codegen.cpp
M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_tl_codegen.cpp
M clang/test/OpenMP/target_parallel_for_tl_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_tl_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_strict_codegen.cpp
M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_tl_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_openmp52_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_openmp52_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.all.expected
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.all.expected
A offload/test/offloading/nested_parallel_reduction.c
Log Message:
-----------
[Clang][OpenMP] Don't mark outlined parallel region functions norecurse (#218862)
Clang marks every outlined OpenMP region function `norecurse`, in both
`emitOutlinedFunctionPrologue` and
`emitOutlinedFunctionPrologueAggregate`, and
does the same for the GPU parallel wrapper. For a `parallel` region that
is not
true: the body is reached through the function pointer the runtime is
handed, and
if the body opens another parallel region the runtime's parallel entry
is
re-entered while the first call is still live, so the entry and the body
sit in a
call graph cycle. `rpo-function-attrs` propagates the annotation off the
body and
onto the device runtime's parallel entry once internalization makes it
internal,
and a nested parallel region can then be folded away.
This drops the annotation where the runtime can re-enter the function β
the
parallel bodies and the GPU data sharing wrapper β and keeps it where it
holds by
setting it on the teams and target bodies, which are entered once and
never
handed back to the runtime as a callback. Task bodies never carried it,
as they
are emitted through `GenerateCapturedStmtFunction`.
Where the attribute is true `function-attrs` still infers it, so a
program whose
parallel regions do not nest loses nothing. Splitting one attribute
group into
two renumbers the groups in the combined-construct codegen tests, and
that
accounts for all of the test churn.
The new offload test covers the nested case that motivated this.
Commit: 121656d9360bcfc80c62c72f90cc1a28795b826e
https://github.com/llvm/llvm-project/commit/121656d9360bcfc80c62c72f90cc1a28795b826e
Author: Valentin Clement (γγ¬γ³γΏγ€γ³ γ―γ¬γ‘γ³) <clementval at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M flang/test/Fir/OpenACC/acc-declare-gpu-module-insertion.fir
M mlir/lib/Dialect/OpenACC/Transforms/ACCDeclareGPUModuleInsertion.cpp
Log Message:
-----------
[mlir][openacc] Handle compiler generated global for unified mode (#221136)
Treat compiler generated global the same way as other global in unified
mode. This avoid having a host and device copy for runtime information
like type descriptors.
Commit: 888c6dc3c076077973e8998659caf5a8a081bb25
https://github.com/llvm/llvm-project/commit/888c6dc3c076077973e8998659caf5a8a081bb25
Author: Valentin Clement (γγ¬γ³γΏγ€γ³ γ―γ¬γ‘γ³) <clementval at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-device-global.f90
Log Message:
-----------
[flang][cuda] Add compiler generated global to unified register global (#221135)
Treat compiler generated global the same way as other in unified mode.
Host has the initializer body and the device side is just a declaration.
Commit: 028cdb4b9ec090ef6eadea47a0223f9a3ab5845c
https://github.com/llvm/llvm-project/commit/028cdb4b9ec090ef6eadea47a0223f9a3ab5845c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-conformance-tests.yaml
M .github/workflows/libcxx-pr-test-tools.yml
Log Message:
-----------
[libcxx] Move premerge jobs to k8s mode runner set (#221395)
This allows setting the container image in the workflow definition which
should vastly simplify maintenance. The issues that we were running into
previously with jobs randomly aborting (and getting marked as passed)
have been fixed with some cluster-side config changes.
Commit: 00d831fd85c0fca31a72dec32ebcd417f007b66c
https://github.com/llvm/llvm-project/commit/00d831fd85c0fca31a72dec32ebcd417f007b66c
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR][NFC] Fix build issue after Inlineasm convergent attr (#222041)
Fix build error after introducing InlineAsm convergent attribute in
https://github.com/llvm/llvm-project/pull/221990
Commit: 97195b284954aac357b9732df2a7a6ed6ca446c9
https://github.com/llvm/llvm-project/commit/97195b284954aac357b9732df2a7a6ed6ca446c9
Author: Andrzej WarzyΕski <andrzej.warzynski at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Extend `ShapeCastCreateMaskFolderTrailingOneDim` (#219494)
Extends `ShapeCastCreateMaskFolderTrailingOneDim` so that it also works
for leading unit dims. For example,
```mlir
%1 = vector.create_mask %c1, %c1, %dim, %c1 : vector<1x1x[4]x1xi1>
%2 = vector.shape_cast %1 : vector<1x1x[4]x1xi1> to vector<[4]x1xi1>
```
is folded as:
```mlir
%0 = vector.create_mask %c1, %dim : vector<[4]xi1>
```
To better reflect the extended functionality, the updated pattern is
renamed as:
* `ShapeCastCreateMaskFolderBoundaryUnitDim`.
It takes a template parameter to specify whether to consider
the leading or the trailing unit dims.
Commit: 14e941a0566ae06e982c5d8ddd085697c48fd413
https://github.com/llvm/llvm-project/commit/14e941a0566ae06e982c5d8ddd085697c48fd413
Author: Amit Tiwari <Amit.Tiwari at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M openmp/libompd/gdb-plugin/CMakeLists.txt
M openmp/libompd/gdb-plugin/ompd/ompd.py
M openmp/libompd/gdb-plugin/ompdAPITests.c
A openmp/libompd/gdb-plugin/ompdDLService.c
A openmp/libompd/gdb-plugin/ompdDLService.h
M openmp/libompd/gdb-plugin/ompdModule.c
M openmp/libompd/test/lit.cfg
A openmp/libompd/test/ompd_dl_service.c
Log Message:
-----------
[OpenMP][OMPD] Add symbol lookup helper for GDB plugin (#221956)
On LLVM today, `libompd.so` exists with `dlopen`, finds each API with
`dlsym` and checks error with `dlerror`.
**Missing piece**: There is no single place that:
load this library
look up this name
give me a real error string
**Issues**:
A later change would have to edit 30+ calls sites,
`dlerror()` is easy to misuse,
failures often drop the OS error string.
**Fix**: Add these helpers:
`ompd_load_library(path)` β load `libompd.so`
`ompd_get_symbol(name)` β look up one function
`ompd_get_dl_error()` β last error text or NULL
The plugin still uses `dlopen/dlsym` inside that helper. No LLVM
Support. No `setup.py`.
Commit: ae78759605ffc4b1b58727acb023e47cfb4157e2
https://github.com/llvm/llvm-project/commit/ae78759605ffc4b1b58727acb023e47cfb4157e2
Author: David Green <david.green at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-xaluo.ll
M llvm/test/CodeGen/AArch64/i128-math.ll
M llvm/test/CodeGen/AArch64/i256-math.ll
M llvm/test/CodeGen/AArch64/mul-i128-overflow.ll
A llvm/test/CodeGen/AArch64/overflow-vec.ll
M llvm/test/CodeGen/AArch64/overflow.ll
M llvm/test/CodeGen/AArch64/pr55644.ll
Log Message:
-----------
[AArch64][GlobalISel] Update and extend the test coverage for overflow intrinsics. NFC (#222059)
Commit: df595667da70f2c90fe6bf2942d7d3939a41322e
https://github.com/llvm/llvm-project/commit/df595667da70f2c90fe6bf2942d7d3939a41322e
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-allow-trailing-underscore.cpp
Log Message:
-----------
[clang-tidy] Add TrailingUnderscore option for naming-check (#221452)
Fixes https://github.com/llvm/llvm-project/issues/154756.
Commit: a22313e92ef003a70c1c54dac82ccf1f5ade2e2f
https://github.com/llvm/llvm-project/commit/a22313e92ef003a70c1c54dac82ccf1f5ade2e2f
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/test/MC/AMDGPU/gfx1250_asm_vopd_errs.s
M llvm/test/MC/AMDGPU/misaligned-vgpr-tuples-err.s
Log Message:
-----------
[AMDGPU] Add AsmParser tests for misaligned VGPR tuples in custom-predicate operands (#221986)
MFMA VGPR sources, DP-ALU DPP, v_pk_mov_b32 and VOPD3 f64 take VGPR tuple
operands validated by custom AsmParser predicates. Odd-aligned tuples are
currently only caught late by validateVGPRAlign, so the error points at the
whole instruction (column 1). A follow-up moves the diagnostic to the
offending operand.
Commit: 3e3965fa48ce7f8945202a8cd9ba7ea37faba0b6
https://github.com/llvm/llvm-project/commit/3e3965fa48ce7f8945202a8cd9ba7ea37faba0b6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/TargetOptionsImpl.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/test/CodeGen/ARM/build-attributes.ll
A llvm/test/CodeGen/ARM/eabi-attribute-fp-rounding-strictfp.ll
M llvm/test/CodeGen/ARM/fnmul.ll
Log Message:
-----------
CodeGen: Remove TargetOptions::HonorSignDependentRoundingFPMathOption (#222027)
This option was only settable through the hidden -enable-sign-dependent-
rounding-fp-math flag and was never set by the in-tree frontends. Its
documentation describes honoring a dynamically-changeable rounding mode,
which is what strictfp is for; this relic predates any design for FP
mode controls.
Replace the one ARM consumer with strictfp checks, and remove the
predicate from the patterns which checked it. There were also no tests
for the pattern, so add those.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 1ca6698be7708121f987d0acf896c7dc4cf63a51
https://github.com/llvm/llvm-project/commit/1ca6698be7708121f987d0acf896c7dc4cf63a51
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/include/lldb/API/SBFile.h
M lldb/source/API/SBFile.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb][Windows] Translate file descriptors between CRT instances (#217126)
The official LLVM and lldb builds use `LLVM_ENABLE_RPMALLOC`. This
changes the default CRT allocator to rpmalloc for performance reasons.
In doing so, it also changes the CRT linkage from dynamic (`/MD`) to
static (`/MT`).
Since the CRT is the one managing file descriptors on Windows, its
universe is now scoped to a module. For lldb, this means we have three
fd-spaces: the driver (lldb/lldb-dap), liblldb, and Python.
We usually pass files around as file descriptors. This breaks when we do
it between modules.
Fortunately, the C runtime provides us with helpers to translate between
the process scoped HANDLEs and file descriptors. This way, we can
allocate an fd for a handle passed across modules. For Python, there's
the [`msvcrt`](https://docs.python.org/3/library/msvcrt.html) library we
can use to translate.
Fixes #216679.
Commit: f6c89fda0ae3a08b83a19f7b67aaad3aff027b0a
https://github.com/llvm/llvm-project/commit/f6c89fda0ae3a08b83a19f7b67aaad3aff027b0a
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Value.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
Add Instruction::user_iterator. (#220391)
Users of an Instruction have a special property: they're guaranteed to
be Instructions themselves. Add a specialized iterator to take advantage
of this property.
See the change to IVDescriptors.cpp for an example of how this
simplifies code.
Commit: 9301f0b17193ff139f77c6ed69e4b9793b584bb3
https://github.com/llvm/llvm-project/commit/9301f0b17193ff139f77c6ed69e4b9793b584bb3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/hor-fp-reduction-instcount.ll
Log Message:
-----------
[SLP][NFC]Add a test with non-profitable vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/222080
Commit: e85a62955715c5ff38b685303379313ac81a0bbf
https://github.com/llvm/llvm-project/commit/e85a62955715c5ff38b685303379313ac81a0bbf
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
Log Message:
-----------
[NFCI][CIR] Add in 2 missing returns- (#222061)
I discovered these two were missing thanks to a warning diagnostic on a
downstream. It isn't clear why this doesn't cause problems anywhere (we
must just not really use these?), but fix it anyway.
Commit: b290e9efa6b991bb61887de29924a3c979de0376
https://github.com/llvm/llvm-project/commit/b290e9efa6b991bb61887de29924a3c979de0376
Author: Larry Meadows <Lawrence.Meadows at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
A llvm/test/Transforms/OpenMP/callback_parallel_regions.ll
A offload/test/offloading/fortran/target-teams-distribute-nested-parallel-do.f90
Log Message:
-----------
[OpenMPOpt] Look inside the callbacks the loop runtime functions are handed (#221449)
The `__kmpc_{distribute_,for_,distribute_for_}static_loop_*` functions
take the
loop body as a callback, so a parallel region written inside that body
is
reachable from the kernel only through the runtime call. `AAKernelInfo`
could not
see it: it recorded an unknown reaching region, and every kernel using
those
functions got a worker state machine whose only option was an indirect
call to
whatever it was handed.
Describe each function's callback argument in `OMPKinds.def`, attach
`!callback`
metadata, and fold the callback's `AAKernelInfo` state into the
caller's, so the
state machine can dispatch directly to the regions the body reaches. The
two
"more than one callee means give up" checks are relaxed for functions
carrying
`!callback`, since that edge is analyzable by construction; the
conservative
unknown-region record is kept for the case that motivated it, a callback
we only
see a declaration of.
These calls still block SPMD-ization, and the `TODO` saying they need
not is
replaced with the obstacles that actually remain. A plain `distribute`
spreads
iterations over teams, so the runtime runs it with TId 0 and a team size
of one;
SPMD-izing has every thread run its block's whole share. The
thread-indexed
families are stopped by the transform rather than the analysis: guarding
puts
single-threaded code behind a block-wide barrier, and a barrier inside a
body
only some threads run is divergent.
Ported from AMD's ROCm fork, `8176194f36b9`, which also used the
analysis to
SPMD-ize these kernels; that part is left out because it is disabled by
default
downstream after regressing applications.
Tested on gfx90a: `llvm/test/Transforms/{OpenMP,Attributor}` 260 passed,
1
unsupported. `offload/test/amdgpu-amd-amdhsa` 516 passed, including the
new
Fortran reproducer. No kernel in the AOMP smoke and smoke-fort suites
changes
execution mode.
Commit: 824137c10506050554cf15ef30e02ece7f0a9c75
https://github.com/llvm/llvm-project/commit/824137c10506050554cf15ef30e02ece7f0a9c75
Author: Valentin Clement (γγ¬γ³γΏγ€γ³ γ―γ¬γ‘γ³) <clementval at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFLaunchAttachAttr.cpp
Log Message:
-----------
[flang][cuda][NFC] Switch to a simple walk for CUFLaunchAttachAttr pass (#222073)
CUFLaunchAttachAttr only sets cuf.proc_attr on outlined CUF kernel
launches (names containing _cufk_). It did that with
applyPartialConversion on the whole module, so the conversion driver
walked host and GPU IR to touch a handful of ops.
Walk gpu.launch_func instead and apply the same filter. I
Commit: 866a738a0357106ce668543eeeb8314c0a0efeed
https://github.com/llvm/llvm-project/commit/866a738a0357106ce668543eeeb8314c0a0efeed
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
A llvm/test/CodeGen/AMDGPU/early-lis-two-address-regsequence-undef.mir
Log Message:
-----------
TwoAddressInstruction: Don't repair the unchanged def of a degenerate REG_SEQUENCE (#222053)
When every source operand of a REG_SEQUENCE is undef,
eliminateRegSequence rewrites the instruction in place to IMPLICIT_DEF.
The dead def of DstReg is left untouched, so its live range is already correct.
Passing DstReg to repairIntervalsInRange then makes it re-add an overlapping
segment with a fresh value for the unchanged def, asserting in
LiveInterval::addSegment. Drop DstReg from the repaired set in this case.
Exposed by -early-live-intervals
Co-authored-by: Claude (Claude-Opus-4.8)
Commit: 37cc0cae36a5d2231f331b7180c0a141c1b91cac
https://github.com/llvm/llvm-project/commit/37cc0cae36a5d2231f331b7180c0a141c1b91cac
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/IR/Constants.cpp
M llvm/unittests/IR/ConstantsTest.cpp
Log Message:
-----------
Reapply "[IR] `replaceUsesWith` when aliasing a GV and the use is `dso_local_equivalent`" (#220450) (#222036)
This reverts commit 751ed7b16433d2279286d0765f51cd36edc6d771.
The patch is quite indepdendent from PR #203171, which uncovered the
issue. We decouple them. The fix is tested in the unittest introduced
here. When we reland #203171, we'll add the cfi_dso_local_equivalent.ll
test.
Commit: ebd4778190106a84a583db8310054ff8b09dccf4
https://github.com/llvm/llvm-project/commit/ebd4778190106a84a583db8310054ff8b09dccf4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Exclude new OpenMP test (#222090)
Introduced in #221449. We haven't gotten around to fixing OpenMP yet, so
exclude it for now.
Commit: 5caed2fb0161f35e15cfdaa392dfb046cd037750
https://github.com/llvm/llvm-project/commit/5caed2fb0161f35e15cfdaa392dfb046cd037750
Author: Michael Jones <michaelrj at google.com>
Date: 2026-09-08 (Tue, 08 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/unistd.yaml
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/execl.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/execl.cpp
M libc/src/unistd/linux/execle.cpp
M libc/test/integration/src/unistd/CMakeLists.txt
A libc/test/integration/src/unistd/execl_test.cpp
A libc/test/integration/src/unistd/execl_test_normal_exit.cpp
Log Message:
-----------
[libc] Implement execl (#220326)
Basically the same as execle, but passes the global env pointer. POSIX
standard here:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/exec.html
Assisted-by: Automated tooling, human reviewed
Commit: 9f51fa4e9ead0da931c1f7b5d2aa3fdbc62c845e
https://github.com/llvm/llvm-project/commit/9f51fa4e9ead0da931c1f7b5d2aa3fdbc62c845e
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Fix zstd compression (#219587)
23.1.0 was the first e2e release with zstd archives. I noticed that once
it shipped they didn't have a meaningful size improvement over the
pre-existing archives. Turns out this is because by default zstd
compresses over a 128MB window which wasn't large enough to get
meaningful savings. We now use 1GB for this which uses more memory but
should take the archive from the 1.8GB that the xz release is, to ~1gb.
I played around with a few options and this was the best time vs
compress vs memory usage ratio.
Assisted-By: codex
Commit: 49d09aaac230988c61fa700c7ace90e4e2376c51
https://github.com/llvm/llvm-project/commit/49d09aaac230988c61fa700c7ace90e4e2376c51
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG][NFC] Move EmitStackConvert from LegalizeDAG to SelectionDAG (#221357)
I've ran into multiple instances, include #221358 , where I need to
effectively "bitcast" an integer value to a floating point value with
different width (and vice versa). To my best understandings storing into
stack and loading back is the only feasible way. LegalizeDAG already has
this routine, so I thought it might be a good idea to extract it out and
put inside SelectionDAG.
NFC.
Commit: 1a4e4cbd2317320e5432664bbd709feb03bb1067
https://github.com/llvm/llvm-project/commit/1a4e4cbd2317320e5432664bbd709feb03bb1067
Author: jinge90 <ge.jin at intel.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Add llvm-link deps when building compiler-rt builtins for spirv64 targets (#221906)
https://github.com/llvm/llvm-project/pull/214149 uses llvm-link to
create libclang_rt.builtins.bc from static archive library. It is better
to follow libclc approach to add llvm-link dependency for
builtin-spirv64* in llvm runtime CMakeLists.txt.
Signed-off-by: jinge90 <ge.jin at intel.com>
Commit: 3ba57d142cc3b70ee49798d47d5da9fd99b482dd
https://github.com/llvm/llvm-project/commit/3ba57d142cc3b70ee49798d47d5da9fd99b482dd
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/header-induction-start-bounds.ll
M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit-postinc.ll
M llvm/test/Transforms/PhaseOrdering/constraint-eliminiation-interactions.ll
Log Message:
-----------
[ConstraintElim] Support IV increments via [u|s]add.with.overflow. (#221771)
Treat [u|s]add.with.overflow like plain add when looking for increment
of an IV. We do not retrieve any wrap flags from the IR in that case, and
leave it to SCEV to determine them as needed.
This did not show any improvements on the workloads in
llvm-opt-benchmark-nightly, but helps to remove runtime checks for Swift
code end-to-end (see newly added PhaseOrdering test).
Alive2 Proof: https://alive2.llvm.org/ce/z/o2vMyw
PR: https://github.com/llvm/llvm-project/pull/221771
Commit: 30cfec3b4e6fc18c46d253028c52ee7bacaaf860
https://github.com/llvm/llvm-project/commit/30cfec3b4e6fc18c46d253028c52ee7bacaaf860
Author: David Green <david.green at arm.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-big-endian-bitconverts.ll
M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
Log Message:
-----------
[AArch64] Regenerate and update arm64-big-endian-bitconverts.ll. NFC (#222107)
Commit: 37dd96fedb5973485b37d03ec7a1fdbf6d1e6dbc
https://github.com/llvm/llvm-project/commit/37dd96fedb5973485b37d03ec7a1fdbf6d1e6dbc
Author: Larry Meadows <Lawrence.Meadows at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
A llvm/test/Transforms/Attributor/indirect_call_program_address_space.ll
Log Message:
-----------
[Attributor] Compare an indirect call's callee in the program address space (#222097)
Specializing an indirect call emits, for each candidate callee, an
`icmp` between
the call's callee operand and the candidate. The operand was first
normalized to
address space 0, but the candidates are functions, and functions live in
the
target's program address space. Where that is not 0 the two sides of the
comparison had different types and the `icmp` asserted:
```
Instructions.h:1266: void llvm::ICmpInst::AssertOK(): Assertion
`getOperand(0)->getType() == getOperand(1)->getType() &&
"Both operands to ICmp instruction are not of the same type!"' failed.
```
Normalize to the program address space instead. It is 0 unless a target
says
otherwise, so nothing changes for those; for `spirv64`, whose data
layout sets
`P9`, it is the difference between comparing a `ptr` with a `ptr
addrspace(9)`
and comparing two `ptr addrspace(9)`.
This was found on the `intel-sycl-gpu` builder, which crashed compiling
`offload/test/offloading/nested_parallel_reduction.c` for
`spirv64-intel` once
841d4ad6b315 let that call site reach the specialization path: before,
it took
the single-callee promotion path, which emits no comparison. The bug it
reached
is older than that commit and is not specific to OpenMP, so the test
added here
is a plain Attributor one that needs only a data layout with a non-zero
program
address space.
Commit: 6a77c9113211f81804455102823b996e01283ffc
https://github.com/llvm/llvm-project/commit/6a77c9113211f81804455102823b996e01283ffc
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalar-steps-cost.ll
Log Message:
-----------
[VPlan] Don't cost scalar IV steps if the vector body runs at most once. (#221974)
If the vector loop executes exactly once, each scalar IV step folds to a
constant, and there's nothing to cost.
Similarly to BranchOnCount and VPRegionBlock::cost, treat
VPScalarIVSteps as free in that case.
This fixes a slight inaccuracy introduced when moving to computing
VPScalarIVSteps costs in VPlan directly.
PR: https://github.com/llvm/llvm-project/pull/221974
Commit: 4afa58e64810be046a9427d3cf7827a0dc2c235c
https://github.com/llvm/llvm-project/commit/4afa58e64810be046a9427d3cf7827a0dc2c235c
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/source/Utility/ArchSpec.cpp
M lldb/unittests/Utility/ArchSpecTest.cpp
Log Message:
-----------
[lldb] Fix infinite recursion in ArchSpec's core matching (#221899)
`target create` never returns for a little-endian 32-bit MIPS ELF file,
on any host whose platform advertises `armv7m`/`armv7em` compatibility.
On Darwin that is every platform, since
`PlatformDarwin::GetCompatibleArchs()`
lists both for every arm64/arm64e host and falls through to that same
list
for any other host core. It is found by `lldb-target-fuzzer`.
Reproduce with a 52-byte ELF32 header (`ELFCLASS32`, `ELFDATA2LSB`,
`e_machine = EM_MIPS`, `e_flags = EF_MIPS_ARCH_32`, everything else
zero),
saved as `mips32el.elf`:
```
(lldb) target create mips32el.elf
```
This never returns. Attaching a debugger to the hung process shows the
same three frames looping forever, with the call stack never growing:
```
frame #1: cores_match(core1=eCore_arm_armv7m, core2=eCore_mips32el, try_inverse=false, ...) at ArchSpec.cpp:1575 [inlined]
frame #2: ArchSpec::IsMatch(rhs=..., match=CompatibleMatch) at ArchSpec.cpp:1449
frame #3: Platform::IsCompatibleArchitecture(...) at Platform.cpp:1193
```
`cores_match()` checks `core1` against `core2`. When nothing matches and
the caller did not ask for an exact match, it sets `try_inverse` and
retries once with the two cores swapped. It retries because the rule
tables are not symmetric: a core lists only what it accepts, not
everything
that accepts it.
Every case that reaches this fallback must leave `try_inverse` false on
the
way out, so the swap happens at most once. Three cases,
`eCore_arm_armv7em`, `eCore_arm_armv7m`, and `eCore_mips32el`, instead
set
it back to true unconditionally. When both sides of a comparison are one
of these three, the swapped call re-arms `try_inverse`, and the tail
call
back into `cores_match()` recurses forever.
This is a tail call, so an optimizing compiler turns the recursion into
a
loop instead of a growing stack. That is why the process spins instead
of
crashing with a stack overflow.
The three cases cannot simply leave `try_inverse` false like their
siblings. `ArchSpec("mipsel").IsCompatibleMatch(ArchSpec("mips64el"))`
is
true today only because of this same swap: `eCore_mips32el`'s own rule
says
nothing about 64-bit MIPS, but `eCore_mips64el`'s rule accepts any
32-bit
MIPS core with the same endianness, and only the inverted comparison
reaches that rule.
Instead, split the switch into a one-directional helper that never
recurses, and try both directions from a plain, non-recursive wrapper:
```
cores_match(A, B) := cores_match_one_direction(A, B) ||
cores_match_one_direction(B, A)
```
This keeps every existing one-directional rule exactly as it was,
including
the mips32el/mips64el rule above, and makes a second retry impossible no
matter what any case does.
Adds two regression tests to ArchSpecTest.cpp. One asserts that the
previously-hanging pairs now return false right away. The other locks in
the two relationships that depend on checking both directions, so a
future
change cannot bring the recursion back by "fixing" the three cases the
naive way.
Assisted-by: claude
Commit: 220294cbf949a487daed4739701d82dfee4054f3
https://github.com/llvm/llvm-project/commit/220294cbf949a487daed4739701d82dfee4054f3
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove VPWidenInductionRecipe::getStartValue (NFC). (#222015)
It now shadows VPHeaderPHIRecipe::getStartValue, which returns the same
VPValue and, as the base class accessor, also has a non-const overload.
Narrowing the return type to VPIRValue * was its only purpose.
Commit: ede01decbcb34bd2f04b9102ab96664cc6d5aa4b
https://github.com/llvm/llvm-project/commit/ede01decbcb34bd2f04b9102ab96664cc6d5aa4b
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M libc/lib/CMakeLists.txt
Log Message:
-----------
[libc] Generate a stub for libdl.a (#222098)
Avoid link errors when build rules explicitly add `-ldl` to the linker
invocation -
create an empty `libdl.a` static archive on Linux. It's necessary, for
example,
to build Clang (https://github.com/llvm/llvm-project/issues/97191)
Follow the approach from f88e9de37a52abf9b269a7232bf4d4028bc4ace8
which added a similar stub for `libpthread.a`. Like pthread, dynamic
loader
functions (although they are mostly unimplemented in LLVM-libc as of
today)
are residing in the main `libc.a` archive instead.
Commit: f91b6a0319fd900cb6e665fc8f8dcc5c1a801e4c
https://github.com/llvm/llvm-project/commit/f91b6a0319fd900cb6e665fc8f8dcc5c1a801e4c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
A llvm/test/CodeGen/PowerPC/vsx-swap-removal-undef.mir
Log Message:
-----------
PowerPC: Fix VSX swap removal crash on an undef register (#216714)
formWebs walks each vector-register use and unions its equivalence class
with that of its defining instruction, which it requires to be present
in the swap map. A use of an undef register has no defining instruction, so
the web formation crashed. Treat it like a physical-register mention so the
web is conservatively rejected.
Found by AI while working on something else.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Commit: 7024b9e1b423b3c3c6ac76ab6a73cb2c9e4ef842
https://github.com/llvm/llvm-project/commit/7024b9e1b423b3c3c6ac76ab6a73cb2c9e4ef842
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/vector-strict-fp.cpp
Log Message:
-----------
[CIR] Support fp strict for vector logical and, or ops (#221808)
Support fp strict for vector logical `cir.or` and `cir.and` ops
Commit: de2a0dd540f714f5e5ae2d3017fe22e2aa6de002
https://github.com/llvm/llvm-project/commit/de2a0dd540f714f5e5ae2d3017fe22e2aa6de002
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
A llvm/utils/gn/secondary/clang/lib/CodeGenUtils/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#222125)
9853cb54d9d2
b182b415d9b2
b90c062f3f03
e91092685eab
4c986c23921d
Commit: 43e82f2b4570c9f5be05ae7113260775bd8773a4
https://github.com/llvm/llvm-project/commit/43e82f2b4570c9f5be05ae7113260775bd8773a4
Author: Alex Langford <alangford at apple.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/source/Commands/CommandObjectType.cpp
Log Message:
-----------
[lldb] Remove ConstString from CommandObjectType interfaces (#218811)
CommandObjectType was creating ConstStrings type names, function names,
etc. before they needed to be. I'd like to remove ConstString from the
DataFormatter code entirely, so pushing the creation down as far as
possible first is a good first step.
The only remaining use (outside of function arguments) is
ScriptAddOptions. I need to understand it more before I can really
remove it.
Commit: 733c1ec3a313db0e1b5162ff3b2b4438de6cc45c
https://github.com/llvm/llvm-project/commit/733c1ec3a313db0e1b5162ff3b2b4438de6cc45c
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M libc/src/__support/CMakeLists.txt
A libc/src/__support/pwd/CMakeLists.txt
A libc/src/__support/pwd/field_tokenizer.h
A libc/src/__support/pwd/flat_file_db.h
M libc/src/pwd/CMakeLists.txt
R libc/src/pwd/field_tokenizer.h
R libc/src/pwd/flat_file_db.h
M libc/src/pwd/pwd_utils.cpp
M libc/src/pwd/pwd_utils.h
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/pwd/CMakeLists.txt
A libc/test/src/__support/pwd/field_tokenizer_test.cpp
A libc/test/src/__support/pwd/flat_file_db_test.cpp
M libc/test/src/pwd/CMakeLists.txt
R libc/test/src/pwd/field_tokenizer_test.cpp
R libc/test/src/pwd/flat_file_db_test.cpp
Log Message:
-----------
[libc][NFC] Move flat-file database to src/__support/pwd (#221778)
Move FieldTokenizer and FlatFileDatabase from libc/src/pwd to
libc/src/__support/pwd so they can be reused across subsystems (such as
grp) without cross-directory dependencies.
* Move headers to libc/src/__support/pwd/
* Move unit tests to libc/test/src/__support/pwd/
* Update include paths and CMake dependencies in libc/src/pwd/
Assisted-by: Automated tooling, human reviewed.
Commit: d4816e76ca0d005880fa9b581232f0b905a85bb0
https://github.com/llvm/llvm-project/commit/d4816e76ca0d005880fa9b581232f0b905a85bb0
Author: MattΓ©o Rizza Murgier <matteo.rizza-murgier at sipearl.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M flang/lib/Semantics/check-data.cpp
A flang/test/Semantics/data27.f90
Log Message:
-----------
[flang] Fix crash with legacy DATA initializer for an invalid declaration (#221170)
For legacy DATA /initialization/, declarations weren't checked for
errors before construction, resulting in an assert crash. This PR fixes
this by adding a check.
Fixes #220846
Commit: d298cac180f6c68a89458aaf450c9d84af8f56cc
https://github.com/llvm/llvm-project/commit/d298cac180f6c68a89458aaf450c9d84af8f56cc
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/Support/DataExtractor.h
M llvm/lib/Support/DataExtractor.cpp
M llvm/unittests/Support/DataExtractorTest.cpp
Log Message:
-----------
[Support] Add DataExtractor::getSLEB128APSInt (#218801)
Add a APSInt variant of `getSLEB128`, supporting values greater than
int64_t.
The new `getSLEB128APSInt` can support values greater than `INT64_MAX`.
This functionality will be used by LLDB formatter bytecode.
Assisted-by: claude
Commit: 9f5246879112eb81a925e02beb1822a4287e81df
https://github.com/llvm/llvm-project/commit/9f5246879112eb81a925e02beb1822a4287e81df
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/docs/CMakeLists.txt
M clang/include/clang/Basic/DiagnosticDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/test/TableGen/DiagnosticDocs.inc
A clang/test/TableGen/diag-docs-determinism.td
M clang/test/TableGen/emit-diag-docs.td
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
Log Message:
-----------
[clang][docs] Generate diagnostics reference as Markdown (#221361)
Generate Clang's diagnostics reference from MyST Markdown rather than
reStructuredText. Update diagnostic-group documentation to use native MyST
roles and references, and have the TableGen emitter produce MyST list tables
for diagnostic alternatives.
The new list-table emission code is more verbose, but it is conceptually
simpler, since it's just tracking nested indentation as it emits table cells.
Here's a sample of the table markdown output:
```
* - {warning}`warning:` {diagtext}`They say`
- :::{list-table}
:widths: auto
* - {diagtext}`good`
* - {diagtext}`bad`
:::
-
- :::{list-table}
:widths: auto
* - {diagtext}`food`
* - {diagtext}`forests`
:::
- {diagtext}`are`
- :::{list-table}
:widths: auto
* - {diagtext}`good`
* - {diagtext}`bad`
:::
- {diagtext}`according to` {placeholder}`D`
```
See clang/test/TableGen/emit-diag-docs.td for examples of how it looks.
Tracking issue: #201242
Assisted-By: Codex & Claude
Commit: 540f5aca4a2cbd88b998e155db5b85a6a95ef024
https://github.com/llvm/llvm-project/commit/540f5aca4a2cbd88b998e155db5b85a6a95ef024
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/test/CodeGenHLSL/builtins/select.hlsl
Log Message:
-----------
[HLSL] Fix float type promotion to double of the select intrinsic (#222056)
fixes #222055
A previous pr replaced per vector 2-4 overloads with an all inclusive
vector template overload. These vector overloads needed to be guarded so
that vec1s go down the scalar overload path.
Assisted by Copilot MA-code-1.1-flash
Commit: accc84148aae88d54c11403d04929afaccecf4d6
https://github.com/llvm/llvm-project/commit/accc84148aae88d54c11403d04929afaccecf4d6
Author: Michael HalkenhΓ€user <MichaelGerald.Halkenhauser at amd.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
A llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-reserved-wwm-vgpr.ll
Log Message:
-----------
[AMDGPU] Refresh RegisterClassInfo after reserving WWM registers (#221849)
AMDGPUReserveWWMRegs reserves the VGPRs the WWM allocator picked for SGPR
spill lanes and clears the per-lane VGPR mask, but updates neither
MachineRegisterInfo nor the shared RegisterClassInfo. RegAllocBase
re-freezes the reserved set, but owns its RegisterClassInfo by value, so
only its private copy is refreshed, and a later user of the analysis is
offered an allocation order that still lists the reserved register.
AMDGPURewriteAGPRCopyMFMA became such a user in #216510: its spill slot
elimination assigned that register, which asserts in VirtRegMap and, in a
build without assertions, silently clobbers the spilled SGPRs. #216510 was
reverted in #221749; this is a prerequisite for relanding it.
Update MRI and the analysis at the end of the pass, as SIPreAllocateWWMRegs
already does, after clearPerLaneVGPRAllocMask() since the mask is itself an
input to getReservedRegs().
AI-assisted.
Commit: cc5c51457347547dbac6edcfe9887ca5aeee1b3d
https://github.com/llvm/llvm-project/commit/cc5c51457347547dbac6edcfe9887ca5aeee1b3d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/TestingSupport/TestUtilities.h
Log Message:
-----------
[lldb] Fix -Wunused-template (#221815)
This warning was enabled by default in clang 23.1.0 (although reverted
for 23.1.1). These fixes still make sense to perform though. Template
definitions in headers should not use static, and others are completely
unused.
Commit: 1f388eaf27616aceced0dd292af066ea8dbcd066
https://github.com/llvm/llvm-project/commit/1f388eaf27616aceced0dd292af066ea8dbcd066
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-drop.ll
Log Message:
-----------
[SLP][NFC]Add a test with missed vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/222141
Commit: 8fdbba5073a6fe2ae16be0117f8f473eea27dc2a
https://github.com/llvm/llvm-project/commit/8fdbba5073a6fe2ae16be0117f8f473eea27dc2a
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-09-08 (Tue, 08 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/CMakeLists.txt
M libc/test/src/unistd/sysconf_test.cpp
Log Message:
-----------
[libc][unistd] Support _SC_GET(GR|PW)_R_SIZE_MAX in sysconf. (#222135)
* Add support for POSIX-specified `_SC_GETGR_R_SIZE_MAX` and
`_SC_GETPW_R_SIZE_MAX`
constants used as arguments to `sysconf` function;
* Return -1 for these values - they provide "initial size" for
user-supplied buffers passed to `getgr*` and `getpw*`
functions, but there's no real maximum limit imposed by the LLVM-libc
implementation, and user might provide a
size they can, and rely on `ERANGE` return values if the chosen size
ended up being too small for pwd/group entries.
* Add unit test coverage, and update the unit test to use proxy headers
instead of system-provided `<unistd.h>`.
Also, properly test errno values returned by `sysconf`.
This fixes one of the remaining blockers for building Clang against
LLVM-libc (https://github.com/llvm/llvm-project/issues/97191)
Commit: 4a6228ee5da99be9fd862318efb50c92b324a37c
https://github.com/llvm/llvm-project/commit/4a6228ee5da99be9fd862318efb50c92b324a37c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-conformance-tests.yaml
M .github/workflows/libcxx-pr-test-tools.yml
M .github/workflows/release-binaries.yml
M bolt/lib/Passes/FixRISCVCallsPass.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
A bolt/test/RISCV/conditional-tail-call-relocs.s
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-allow-trailing-underscore.cpp
M clang/docs/CMakeLists.txt
M clang/docs/ReleaseNotes.md
M clang/docs/StandardCPlusPlusModules.md
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/include/clang/Basic/DiagnosticDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Types.h
M clang/include/clang/Options/ClangOptionDocs.td
M clang/include/clang/Options/FlangOptions.td
M clang/include/clang/Options/Options.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/FrontendAction/CMakeLists.txt
M clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/Lowering/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/ZOS.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Headers/bmi2intrin.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/riscv_packed_simd.h
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/test/Analysis/dtor-array.cpp
M clang/test/CIR/CodeGen/callsite-inline-attributes.cpp
M clang/test/CIR/CodeGen/ptrdiff.c
M clang/test/CIR/CodeGen/ptrdiff.cpp
M clang/test/CIR/CodeGen/vector-strict-fp.cpp
R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_len.c
A clang/test/CIR/CodeGenCUDA/builtins-nvvm-fma-oob.cu
A clang/test/CIR/CodeGenCUDA/builtins-nvvm-half.cu
M clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
A clang/test/CIR/CodeGenHIP/ternary-struct-addrspace.hip
M clang/test/CIR/CodeGenOpenMP/target-map.c
M clang/test/CIR/IR/inline-attrs.cir
M clang/test/CIR/IR/invalid-call.cir
M clang/test/CIR/Lowering/lifetime.cir
M clang/test/CIR/Lowering/stack-save-restore.cir
M clang/test/CIR/Transforms/abi-lowering/byval-sret-arg-attr-lowering.cir
M clang/test/CIR/Transforms/abi-lowering/extend-signed-arg.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-bitint.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-complex.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-empty-class.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-scalars.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-direct.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-union-coerce-shapes.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-variadic-call.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-vector.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-vptr.cir
M clang/test/CIR/Transforms/abi-lowering/x86_64-wide-floats.cir
M clang/test/CMakeLists.txt
M clang/test/CodeGen/AArch64/lit.local.cfg
M clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
A clang/test/CodeGen/AArch64/sve/dup.c
A clang/test/CodeGen/AArch64/sve/len.c
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGenCUDA/fp-contract.cu
M clang/test/CodeGenCoroutines/coro-destructor-of-final_suspend.cpp
M clang/test/CodeGenHLSL/builtins/select.hlsl
A clang/test/Driver/Inputs/object0.o
M clang/test/Driver/aix-ld.c
A clang/test/Driver/nodefaultrtlibs.c
A clang/test/Driver/pch-inputs.h
A clang/test/Modules/odr-hash-using-declarations.cppm
M clang/test/Modules/pr76638.cppm
M clang/test/OpenMP/amdgcn_target_device_vla.cpp
M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
M clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/nvptx_target_teams_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/parallel_if_codegen_PR51349.cpp
M clang/test/OpenMP/reduction_complex.c
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/scope_codegen.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_default_codegen.cpp
M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_tl_codegen.cpp
M clang/test/OpenMP/target_parallel_for_tl_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_tl_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_strict_codegen.cpp
M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_tl_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_openmp52_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_openmp52_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/Parser/recovery.cpp
M clang/test/Sema/assign.c
A clang/test/Sema/global-explicit-register-undefined-type.c
A clang/test/Sema/riscv-pget-index-out-of-range.c
M clang/test/SemaCXX/MicrosoftSuper.cpp
M clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp
M clang/test/TableGen/DiagnosticDocs.inc
A clang/test/TableGen/diag-docs-determinism.td
M clang/test/TableGen/emit-diag-docs.td
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.all.expected
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.all.expected
M clang/tools/cir-opt/CMakeLists.txt
M clang/tools/cir-translate/CMakeLists.txt
M clang/tools/cir-translate/cir-translate.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/utils/TableGen/CIRLoweringEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M compiler-rt/lib/msan/tests/msan_test.cpp
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M flang/docs/ReleaseNotes.md
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/OpenACC/Passes.td
M flang/include/flang/Semantics/runtime-type-info.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/OpenACC/Analysis/FIROpenACCSupportAnalysis.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCMapInfoPrep.cpp
M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFLaunchAttachAttr.cpp
M flang/lib/Semantics/check-data.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/test/Driver/driver-help.f90
M flang/test/Fir/CUDA/cuda-device-global.f90
M flang/test/Fir/OpenACC/acc-declare-gpu-module-insertion.fir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-attach.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-clauses.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-declare-global.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-exit.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-implicit-present.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-privatize.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep-types.mlir
A flang/test/Fir/OpenACC/acc-fir-map-info-prep.mlir
A flang/test/Lower/CUDA/scalar-to-array-assign-device-O0.cuf
M flang/test/Lower/math-lowering/exponentiation.f90
M flang/test/Lower/split-sum-expression-tree-lowering.f90
A flang/test/Semantics/data27.f90
A flang/test/Transforms/debug-line-table-no-types.fir
M flang/test/Transforms/debug-omp-target-op-1.fir
M flang/tools/bbc/bbc.cpp
M flang/unittests/Optimizer/OpenACC/FIROpenACCSupportAnalysisTest.cpp
M libc/config/linux/aarch64/entrypoints.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/pthread_attr_t.h
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/include/unistd.yaml
M libc/lib/CMakeLists.txt
M libc/shared/rpc.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/utility.h
A libc/src/__support/CPP/utility/swap.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/powf.h
M libc/src/__support/printf_core/char_converter.h
M libc/src/__support/printf_core/converter.h
M libc/src/__support/printf_core/fixed_converter.h
M libc/src/__support/printf_core/float_dec_converter.h
M libc/src/__support/printf_core/float_dec_converter_limited.h
M libc/src/__support/printf_core/float_hex_converter.h
M libc/src/__support/printf_core/float_inf_nan_converter.h
M libc/src/__support/printf_core/int_converter.h
A libc/src/__support/printf_core/overflow_modes.def
M libc/src/__support/printf_core/printf_main.h
M libc/src/__support/printf_core/ptr_converter.h
M libc/src/__support/printf_core/strerror_converter.h
M libc/src/__support/printf_core/string_converter.h
M libc/src/__support/printf_core/vasprintf_internal.h
M libc/src/__support/printf_core/vfprintf_internal.h
M libc/src/__support/printf_core/write_int_converter.h
R libc/src/__support/printf_core/write_modes.def
M libc/src/__support/printf_core/writer.h
A libc/src/__support/pwd/CMakeLists.txt
A libc/src/__support/pwd/field_tokenizer.h
A libc/src/__support/pwd/flat_file_db.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/wctype/CMakeLists.txt
M libc/src/__support/wctype/perfect_hash_map.h
M libc/src/err/report.cpp
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_getattr_np.cpp
M libc/src/pthread/pthread_getattr_np.h
M libc/src/pwd/CMakeLists.txt
R libc/src/pwd/field_tokenizer.h
R libc/src/pwd/flat_file_db.h
M libc/src/pwd/pwd_utils.cpp
M libc/src/pwd/pwd_utils.h
M libc/src/stdio/baremetal/vfprintf_internal.h
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/src/stdio/scanf_core/parser.h
M libc/src/stdio/snprintf.cpp
M libc/src/stdio/snprintf_modular.cpp
M libc/src/stdio/sprintf.cpp
M libc/src/stdio/sprintf_modular.cpp
M libc/src/stdio/vsnprintf.cpp
M libc/src/stdio/vsnprintf_modular.cpp
M libc/src/stdio/vsprintf.cpp
M libc/src/stdio/vsprintf_modular.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/qsort_data.h
M libc/src/stdlib/str_from_util.h
M libc/src/stdlib/strfromd.cpp
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfroml.cpp
M libc/src/time/asctime_utils.h
M libc/src/time/strftime.cpp
M libc/src/time/strftime_core/composite_converter.h
M libc/src/time/strftime_core/converter.h
M libc/src/time/strftime_core/num_converter.h
M libc/src/time/strftime_core/str_converter.h
M libc/src/time/strftime_core/strftime_main.h
M libc/src/time/strftime_l.cpp
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/execl.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/execl.cpp
M libc/src/unistd/linux/execle.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/test/integration/src/pthread/CMakeLists.txt
A libc/test/integration/src/pthread/pthread_getattr_np_test.cpp
M libc/test/integration/src/unistd/CMakeLists.txt
A libc/test/integration/src/unistd/execl_test.cpp
A libc/test/integration/src/unistd/execl_test_normal_exit.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/algorithm_test.cpp
A libc/test/src/__support/CPP/swap_test.cpp
M libc/test/src/__support/printf_core/converter_test.cpp
M libc/test/src/__support/printf_core/writer_test.cpp
A libc/test/src/__support/pwd/CMakeLists.txt
A libc/test/src/__support/pwd/field_tokenizer_test.cpp
A libc/test/src/__support/pwd/flat_file_db_test.cpp
M libc/test/src/pwd/CMakeLists.txt
R libc/test/src/pwd/field_tokenizer_test.cpp
R libc/test/src/pwd/flat_file_db_test.cpp
M libc/test/src/stdio/scanf_core/parser_test.cpp
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/sysconf_test.cpp
M libcxx/docs/Status/Cxx26Issues.csv
M libcxx/include/__ranges/lazy_split_view.h
M libcxx/include/tuple
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/view_interface.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/not_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/greater_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/greater_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/less_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/less_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/not_equal.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
M libcxx/test/support/test_comparisons.h
M lld/MachO/ICF.cpp
M lld/MachO/UnwindInfoSection.cpp
A lld/test/MachO/icf-lsda-reloc.s
M lldb/docs/resources/test.md
M lldb/include/lldb/API/SBFile.h
M lldb/include/lldb/Breakpoint/StopPointSiteList.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/Process.h
M lldb/packages/Python/lldbsuite/test/concurrent_base.py
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/API/SBFile.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/Language/CMakeLists.txt
A lldb/source/Plugins/Language/Fortran/CMakeLists.txt
A lldb/source/Plugins/Language/Fortran/FortranLanguage.cpp
A lldb/source/Plugins/Language/Fortran/FortranLanguage.h
M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Target/Language.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Utility/ArchSpec.cpp
M lldb/test/API/commands/expression/import-std-module/array/TestArrayFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/basic/TestImportStdModule.py
M lldb/test/API/commands/expression/import-std-module/conflicts/TestStdModuleWithConflicts.py
M lldb/test/API/commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/empty-module/TestEmptyStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_decl_from_module/TestForwardDeclFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/list/TestListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/missing-module-sources/TestStdModuleSourcesMissing.py
M lldb/test/API/commands/expression/import-std-module/module-build-errors/TestStdModuleBuildErrors.py
M lldb/test/API/commands/expression/import-std-module/no-std-module/TestMissingStdModule.py
M lldb/test/API/commands/expression/import-std-module/non-module-type-separation/TestNonModuleTypeSeparation.py
M lldb/test/API/commands/expression/import-std-module/pair/TestPairFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/retry-with-std-module/TestRetryWithStdModule.py
M lldb/test/API/commands/expression/import-std-module/shared_ptr-dbg-info-content/TestSharedPtrDbgInfoContentFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/stack/TestStackFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/sysroot/TestStdModuleSysroot.py
M lldb/test/API/commands/expression/import-std-module/vector-bool/TestVectorBoolFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector/TestVectorFromStdModule.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
M lldb/test/API/functionalities/breakpoint/jit_loader_rtdyld_elf/TestJitBreakPoint.py
M lldb/test/API/functionalities/thread/concurrent_events/main.cpp
M lldb/test/API/lang/cpp/abi_tag_structors/TestAbiTagStructors.py
M lldb/test/API/lang/cpp/forward/TestCPPForwardDeclaration.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/unittests/Core/MangledTest.cpp
M lldb/unittests/Language/CMakeLists.txt
A lldb/unittests/Language/Fortran/CMakeLists.txt
A lldb/unittests/Language/Fortran/FortranLanguageTest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/TestingSupport/TestUtilities.h
M lldb/unittests/Utility/ArchSpecTest.cpp
M llvm/cmake/modules/FindLibXml2.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/CommandGuide/llubi.md
M llvm/docs/LibFuzzer.md
M llvm/docs/NVPTXUsage.md
M llvm/docs/ProgrammersManual.md
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/RegisterPressure.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/ExecutionEngine/Orc/Mangling.h
A llvm/include/llvm/ExecutionEngine/Orc/Shared/Mangler.h
A llvm/include/llvm/ExecutionEngine/Orc/Shared/SymbolNameSpec.h
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/IR/Value.h
M llvm/include/llvm/Support/DataExtractor.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/CodeGen/RegisterPressure.cpp
M llvm/lib/CodeGen/RegisterUsageInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackColoring.cpp
M llvm/lib/CodeGen/TargetOptionsImpl.cpp
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
A llvm/lib/ExecutionEngine/Orc/Mangler.cpp
M llvm/lib/ExecutionEngine/Orc/Mangling.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/NVVMIntrinsicUtils.cpp
M llvm/lib/MC/StringTableBuilder.cpp
M llvm/lib/MCA/HardwareUnits/LSUnit.cpp
M llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/DataExtractor.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHazardLatency.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
M llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.cpp
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrFPU.td
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
M llvm/lib/Target/Mips/MipsScheduleGeneric.td
M llvm/lib/Target/Mips/MipsScheduleP5600.td
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrSNP.td
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/XCore/Disassembler/CMakeLists.txt
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/GVNHoist.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.cpp
A llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/runtimes/CMakeLists.txt
A llvm/test/Analysis/ScalarEvolution/ext-addrec-wrap-flags.ll
R llvm/test/Analysis/ScalarEvolution/incorrect-nsw.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/addrspacecast.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/addrspacecast.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
A llvm/test/Bitcode/amdgcn-addrspacecast-nonnull.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-and.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-divrem-insertpt-crash.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-commute-shift.mir
M llvm/test/CodeGen/AArch64/arm64-big-endian-bitconverts.ll
M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
M llvm/test/CodeGen/AArch64/arm64-tbl.ll
M llvm/test/CodeGen/AArch64/arm64-xaluo.ll
M llvm/test/CodeGen/AArch64/fp-veclib-expansion.ll
M llvm/test/CodeGen/AArch64/i128-math.ll
M llvm/test/CodeGen/AArch64/i256-math.ll
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/mul-i128-overflow.ll
M llvm/test/CodeGen/AArch64/neon-anyof-splat.ll
M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
M llvm/test/CodeGen/AArch64/neon-shuffle-vector-tbl.ll
A llvm/test/CodeGen/AArch64/overflow-vec.ll
M llvm/test/CodeGen/AArch64/overflow.ll
M llvm/test/CodeGen/AArch64/pdep.ll
M llvm/test/CodeGen/AArch64/pext.ll
M llvm/test/CodeGen/AArch64/pr55644.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector-to-predicate-load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-redundant-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shift-of-shifted-logic.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/merge-values-s16-true16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-clamp-fmed3-const.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-merge-readanylane.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-smed3.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbankselect.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-gas.ll
A llvm/test/CodeGen/AMDGPU/addrspacecast-nonnull.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
M llvm/test/CodeGen/AMDGPU/dpp_combine.mir
M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
A llvm/test/CodeGen/AMDGPU/dpp_combine_rev_opcode.ll
A llvm/test/CodeGen/AMDGPU/dpp_combine_rev_opcode.mir
A llvm/test/CodeGen/AMDGPU/early-lis-two-address-regsequence-undef.mir
M llvm/test/CodeGen/AMDGPU/fdot2.ll
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fmaximum3.v2f16.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.v2f16.ll
M llvm/test/CodeGen/AMDGPU/frexp-inf-nan-combine.ll
A llvm/test/CodeGen/AMDGPU/insert-delay-alu-ldsdma.mir
A llvm/test/CodeGen/AMDGPU/ldsdma-not-coexec-valu.mir
A llvm/test/CodeGen/AMDGPU/ldsdma-not-valu-wait-sgpr.mir
R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.addrspacecast.nonnull.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-opt.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-proper-value-replacement.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-select.ll
A llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-reserved-wwm-vgpr.ll
M llvm/test/CodeGen/AMDGPU/true16-fold.mir
M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-and.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-xor.ll
M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
M llvm/test/CodeGen/AMDGPU/workitem-intrinsic-opts.ll
M llvm/test/CodeGen/ARM/build-attributes.ll
A llvm/test/CodeGen/ARM/eabi-attribute-fp-rounding-strictfp.ll
M llvm/test/CodeGen/ARM/fnmul.ll
A llvm/test/CodeGen/Hexagon/const-prop-undef.mir
A llvm/test/CodeGen/MIR/AMDGPU/addrspacecast-nonnull.mir
M llvm/test/CodeGen/Mips/llvm-ir/load.ll
M llvm/test/CodeGen/Mips/llvm-ir/select-dbl.ll
M llvm/test/CodeGen/Mips/mips1-load-in-delay-slot.ll
A llvm/test/CodeGen/Mips/mips1-not-support-ldc1-sdc1.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-1cta.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-2cta.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-override.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-sm100.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-validate-data.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-gather4.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-im2colw.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-im2colw128.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-invalid.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-mc32.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-override.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-validate-data.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g-im2colw.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g-scatter4.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g.ll
A llvm/test/CodeGen/PowerPC/vsx-swap-removal-undef.mir
A llvm/test/CodeGen/RISCV/GlobalISel/load-store.ll
M llvm/test/CodeGen/RISCV/and-negpow2-cmp.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/acos_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/asin_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ceil_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cos_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cosh_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp2_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/floor_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log10_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log2_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/roundeven_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sin_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sinh_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sqrt_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tan_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tanh_mat.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/trunc_mat.ll
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/dbg-verify.ll
M llvm/test/CodeGen/X86/PR40322.ll
A llvm/test/CodeGen/X86/active_lane_mask.ll
M llvm/test/CodeGen/X86/apx/adc.ll
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.ll
A llvm/test/CodeGen/X86/atomic-cmp-fold.ll
M llvm/test/CodeGen/X86/atomic-unordered.ll
M llvm/test/CodeGen/X86/avx512-icmp-sle-zero.ll
M llvm/test/CodeGen/X86/avx512f-large-stack.ll
M llvm/test/CodeGen/X86/avx512fp16-frem.ll
M llvm/test/CodeGen/X86/bfloat.ll
A llvm/test/CodeGen/X86/bitcast-sign-mask.ll
M llvm/test/CodeGen/X86/clmul-vector-256.ll
M llvm/test/CodeGen/X86/clmul-vector-512.ll
M llvm/test/CodeGen/X86/clmul-vector.ll
M llvm/test/CodeGen/X86/clmul.ll
A llvm/test/CodeGen/X86/compress-evex-sign-mask.mir
M llvm/test/CodeGen/X86/compress-evex-vpmov-kill.mir
A llvm/test/CodeGen/X86/huge-frame-index.ll
M llvm/test/CodeGen/X86/huge-stack.ll
M llvm/test/CodeGen/X86/llvm.sincos.vec.ll
M llvm/test/CodeGen/X86/overflow-intrinsic-setcc-fold.ll
M llvm/test/CodeGen/X86/pdep-vector-128.ll
M llvm/test/CodeGen/X86/pdep-vector-256.ll
M llvm/test/CodeGen/X86/pdep-vector-512.ll
M llvm/test/CodeGen/X86/pext-vector-128.ll
M llvm/test/CodeGen/X86/pext-vector-256.ll
M llvm/test/CodeGen/X86/pext-vector-512.ll
M llvm/test/CodeGen/X86/pr1505b.ll
M llvm/test/CodeGen/X86/select-lea.ll
M llvm/test/CodeGen/X86/smul-with-overflow.ll
M llvm/test/CodeGen/X86/smul_fix_sat.ll
M llvm/test/CodeGen/X86/smul_fix_sat_constants.ll
M llvm/test/CodeGen/X86/stack-align.ll
M llvm/test/CodeGen/X86/subcarry.ll
M llvm/test/CodeGen/X86/swifterror.ll
M llvm/test/CodeGen/X86/ucmp.ll
M llvm/test/CodeGen/X86/umul-with-carry.ll
M llvm/test/CodeGen/X86/umul-with-overflow.ll
M llvm/test/CodeGen/X86/umul_fix_sat.ll
M llvm/test/CodeGen/X86/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/umulo-64-legalisation-lowering.ll
M llvm/test/CodeGen/X86/var-permute-128.ll
M llvm/test/CodeGen/X86/vec_smulo.ll
M llvm/test/CodeGen/X86/vec_umulo.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-fshl-128.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
M llvm/test/CodeGen/X86/vector-shuffle-avx512.ll
M llvm/test/CodeGen/X86/vector-shuffle-v192.ll
M llvm/test/CodeGen/X86/xmulo.ll
M llvm/test/CodeGen/X86/znver-pdep.ll
M llvm/test/CodeGen/X86/znver-pext.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vopd_errs.s
M llvm/test/MC/AMDGPU/misaligned-vgpr-tuples-err.s
M llvm/test/MC/Disassembler/X86/x86-64.txt
M llvm/test/MC/X86/SNP-64.s
A llvm/test/TableGen/RuntimeLibcallEmitter-library-dispatch.td
M llvm/test/TableGen/RuntimeLibcallEmitter-library-grouping.td
M llvm/test/TableGen/RuntimeLibcallEmitter-library-name-merge.td
M llvm/test/Transforms/AggressiveInstCombine/trunc_vector_instrs.ll
A llvm/test/Transforms/Attributor/indirect_call_program_address_space.ll
M llvm/test/Transforms/ConstraintElimination/add-nsw.ll
M llvm/test/Transforms/ConstraintElimination/cond-used-in-phi.ll
M llvm/test/Transforms/ConstraintElimination/header-induction-start-bounds.ll
M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit-postinc.ll
M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit.ll
M llvm/test/Transforms/ConstraintElimination/induction-nowrap-from-scev-not-ir.ll
M llvm/test/Transforms/ConstraintElimination/loops.ll
M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-cfg.ll
M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-decrement.ll
M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-wrapping.ll
M llvm/test/Transforms/ConstraintElimination/pr70510.ll
M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned-is-known-non-negative.ll
M llvm/test/Transforms/ConstraintElimination/wrapping-math.ll
M llvm/test/Transforms/Coroutines/ArgAddr.ll
M llvm/test/Transforms/Coroutines/coro-align16.ll
M llvm/test/Transforms/Coroutines/coro-align32.ll
M llvm/test/Transforms/Coroutines/coro-align64-02.ll
M llvm/test/Transforms/Coroutines/coro-align64.ll
M llvm/test/Transforms/Coroutines/coro-align8-02.ll
M llvm/test/Transforms/Coroutines/coro-align8.ll
M llvm/test/Transforms/Coroutines/coro-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-alloca-03.ll
M llvm/test/Transforms/Coroutines/coro-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-alloca-06.ll
M llvm/test/Transforms/Coroutines/coro-alloca-08.ll
M llvm/test/Transforms/Coroutines/coro-byval-param.ll
M llvm/test/Transforms/Coroutines/coro-catchswitch.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-01.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-arrayalloca.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-05.ll
M llvm/test/Transforms/Coroutines/coro-param-copy.ll
M llvm/test/Transforms/Coroutines/coro-spill-defs-before-corobegin.ll
A llvm/test/Transforms/Coroutines/coro-split-index-datalayout.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-03.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-04.ll
M llvm/test/Transforms/Coroutines/coro-split-tbaa-md.ll
M llvm/test/Transforms/GVN/pr46054-md-nonlocaldefcache-cleanup.ll
M llvm/test/Transforms/InstCombine/trunc.ll
M llvm/test/Transforms/JumpThreading/update-bpi-bfi-unfold-select.ll
A llvm/test/Transforms/LoopFlatten/invalidate-scev-pr203176.ll
M llvm/test/Transforms/LoopUnroll/RISCV/runtime-unroll-max-trip-count.ll
M llvm/test/Transforms/LoopUnroll/RISCV/unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalar-steps-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wide-vscale-range-max-runtime-vf.ll
M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
A llvm/test/Transforms/OpenMP/callback_parallel_regions.ll
A llvm/test/Transforms/OpenMP/indirect_call_specialization_cap.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll
M llvm/test/Transforms/PhaseOrdering/constraint-eliminiation-interactions.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/hor-fp-reduction-instcount.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-drop.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_phi.ll
A llvm/test/Transforms/SLPVectorizer/X86/split-node-struct-type.ll
A llvm/test/Transforms/SimplifyCFG/preserve-unpredictable-switch-create.ll
A llvm/test/tools/llubi/alloca_large_size_crash.ll
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-sve-instructions.s
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/llubi.cpp
M llvm/unittests/ADT/FoldingSet.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/RegisterPressureTest.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
R llvm/unittests/ExecutionEngine/Orc/MangleAndInternerTest.cpp
A llvm/unittests/ExecutionEngine/Orc/ManglerTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/ConstantsTest.cpp
M llvm/unittests/Support/DataExtractorTest.cpp
M llvm/unittests/Support/TypeSizeTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
M llvm/utils/UpdateTestChecks/asm.py
M llvm/utils/UpdateTestChecks/mir.py
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
A llvm/utils/gn/secondary/clang/lib/CodeGenUtils/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/profcheck-xfail.txt
M mlir/CMakeLists.txt
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
A mlir/include/mlir/Dialect/LLVMIR/LLVMAllOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMRequiresSMTraits.h
M mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h
A mlir/include/mlir/Dialect/OpenACC/OpenACCCGEnums.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsType.h
M mlir/include/mlir/Dialect/SPIRV/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.h
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
A mlir/lib/Dialect/LLVMIR/IR/LLVMOps.cpp
A mlir/lib/Dialect/LLVMIR/IR/LLVMOps.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
A mlir/lib/Dialect/LLVMIR/IR/ROCDLOps.cpp
A mlir/lib/Dialect/LLVMIR/IR/ROCDLOps.h
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCDeclareGPUModuleInsertion.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsType.cpp
M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.cpp
A mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.h
A mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinitions.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaNarrowTypes.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/X86/Transforms/AVXTranspose.cpp
M mlir/lib/ExecutionEngine/SparseTensor/File.cpp
M mlir/lib/IR/PDL/PDLPatternMatch.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
M mlir/test/Dialect/Arith/int-range-narrowing.mlir
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/layout.mlir
M mlir/test/Dialect/LLVMIR/nvvm-target-invalid.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/Linalg/elementwise/roundtrip.mlir
A mlir/test/Dialect/OpenACC/invalid-cg-mapinfo.mlir
A mlir/test/Dialect/OpenACC/ops-cg-mapinfo.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
A mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16-aggressive.mlir
A mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_file_coordinates.mlir
A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_file_rank.mlir
A mlir/test/Integration/data/coordinate_above_dimension.tns
A mlir/test/Integration/data/coordinate_narrow.tns
A mlir/test/Integration/data/coordinate_negative.tns
A mlir/test/Integration/data/coordinate_overflow.tns
A mlir/test/Integration/data/coordinate_zero.tns
A mlir/test/Integration/data/rank_511.tns
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-alloc.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared-collector-b.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared-decompress-b.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared-ti16.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared.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
A mlir/test/Target/LLVMIR/openmp-reduction-debug-loc.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
M mlir/test/lit.cfg.py
M mlir/test/mlir-pdll/Parser/expr-failure.pdll
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.h
A offload/test/offloading/fortran/target-teams-distribute-nested-parallel-do.f90
A offload/test/offloading/nested_parallel_reduction.c
M openmp/libompd/gdb-plugin/CMakeLists.txt
M openmp/libompd/gdb-plugin/ompd/ompd.py
M openmp/libompd/gdb-plugin/ompdAPITests.c
A openmp/libompd/gdb-plugin/ompdDLService.c
A openmp/libompd/gdb-plugin/ompdDLService.h
M openmp/libompd/gdb-plugin/ompdModule.c
M openmp/libompd/test/lit.cfg
A openmp/libompd/test/ompd_dl_service.c
M openmp/runtime/src/kmp_settings.cpp
M orc-rt/include/orc-rt-c/bedrock/Session.h
M orc-rt/include/orc-rt-c/support/Logging.h
M orc-rt/lib/bedrock/CMakeLists.txt
M orc-rt/lib/support/CMakeLists.txt
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Rebase, improvements, address comments
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/9eca81cf06a4...4a6228ee5da9
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