[all-commits] [llvm/llvm-project] 5f975b: [libclang] Add clang_ModuleCache_pruneWithCallback...
Reid Kleckner via All-commits
all-commits at lists.llvm.org
Fri Jun 5 15:19:53 PDT 2026
Branch: refs/heads/users/rnk/llvm-md-2a
Home: https://github.com/llvm/llvm-project
Commit: 5f975bb6afec710e4ef47c3b90a299b2212c6ec0
https://github.com/llvm/llvm-project/commit/5f975bb6afec710e4ef47c3b90a299b2212c6ec0
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang-c/BuildSystem.h
M clang/include/clang/Serialization/ModuleCache.h
M clang/lib/Serialization/ModuleCache.cpp
M clang/tools/libclang/BuildSystem.cpp
M clang/tools/libclang/libclang.map
M clang/unittests/libclang/LibclangTest.cpp
Log Message:
-----------
[libclang] Add clang_ModuleCache_pruneWithCallback (#199789)
clang_ModuleCache_pruneWithCallback takes a callback that is invoked for
each PCM that gets pruned. This is to support build systems that would
like to clean up additional data when PCMs are removed from disk.
Commit: 2e9cdc4f3be729686c8c238f9da2ffa961690e47
https://github.com/llvm/llvm-project/commit/2e9cdc4f3be729686c8c238f9da2ffa961690e47
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/test/CodeGen/NVPTX/global-ordering.ll
Log Message:
-----------
[NVPTX] Remove support for `sub` in global initializers. (#201473)
I added this in https://github.com/llvm/llvm-project/pull/201220 and
assumed it worked because the pre-commit builders passed. But (a) this
is not attested in the PTX ISA, and (b) it seems that the builders don't
actually run ptxas.
Oops. Removed support for `sub`.
Commit: 49ac4f475e4cf643a3fd68f9bf97f6b7d1adef83
https://github.com/llvm/llvm-project/commit/49ac4f475e4cf643a3fd68f9bf97f6b7d1adef83
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/CodeGen/Xtensa/inline-asm-invalid.ll
M llvm/test/CodeGen/Xtensa/setcc.ll
Log Message:
-----------
[Xtensa] Fix setcc test. (#201196)
Fix setcc test after changes in llvm passes.
Also add minor fix in inline-asm-invalid.ll test.
Commit: 2b081a26d96450283814209d2b9001db89000f0a
https://github.com/llvm/llvm-project/commit/2b081a26d96450283814209d2b9001db89000f0a
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
A llvm/test/CodeGen/AMDGPU/ldsdmacnt_sched.mir
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
M llvm/test/CodeGen/AMDGPU/sched-ldsdma-mask.mir
Log Message:
-----------
[AMDGPU] Do not add latency for tensorcnt / asynccnt dependencies (#201201)
Currently, when constructing the ScheduleDAG we see dependencies between
LDSDMA->LDSDMA or s_wait->s_wait due to implicit $asynccnt / $tensorcnt
operands. These implicit operands are necessary to force ordering of the
instructions, but there should be no latency for this dependency. In the
LDSDMA->LDSDMA case, the scheduler thinks it will be hundreds of cycles
until the next LDSDMA is ready.
This handles the cases:
1. LDSDMA -> LDSDMA
2. WAIT -> LDSDMA
3. WAIT -> WAIT
In the LDSDMA -> WAIT case, usually the relevant WAIT is in a different
iteration, so we don't need latency between these instructions in the
same iteration, though that isn't guaranteed. I plan to handle remove
the latency for obvious cases in a followup PR.
Commit: 7917772d7d61384696c61102c08c2ea158e610fa
https://github.com/llvm/llvm-project/commit/7917772d7d61384696c61102c08c2ea158e610fa
Author: Akash Dutta <137309513+akadutta at users.noreply.github.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
Log Message:
-----------
[AMDGPU][NFC] Hoist independent condition out of loop in dependsOnLocalPhi in AMDGPUTTI (#198789)
Commit: 58de983ea7c28e1fa83add7d89d5e7b2cc6e9386
https://github.com/llvm/llvm-project/commit/58de983ea7c28e1fa83add7d89d5e7b2cc6e9386
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
Log Message:
-----------
[NFC] Remove trailing whitespaces in Intrinsics.td (#201472)
Commit: aa9099a47468425b6d16613e08ae84c8c77671b7
https://github.com/llvm/llvm-project/commit/aa9099a47468425b6d16613e08ae84c8c77671b7
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Transforms/JumpThreading/noalias-scope-decl.ll
Log Message:
-----------
[JumpThreading] Clone noalias scopes in duplicateCondBranchOnPHIIntoPred (#200550)
duplicateCondBranchOnPHIIntoPred clones a block into a predecessor with
its own loop. Unlike cloneInstructions (used by threadEdge), it never
cloned the duplicated noalias scope declarations. The duplicated code
therefore shared the original's !alias.scope/!noalias MDNodes, letting
AA incorrectly treat two accesses on different paths as non-aliasing.
Fix by cloning the scopes.
Commit: 7132f8f40649ebe15f701c8103e22dead7ea8f71
https://github.com/llvm/llvm-project/commit/7132f8f40649ebe15f701c8103e22dead7ea8f71
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[NFC] Remove trailing whitespaces from llvm/docs/ReleaseNotes.md (#201478)
Commit: 96a50e0ee0959dd3095b0d3c561fab0c5f5fe94c
https://github.com/llvm/llvm-project/commit/96a50e0ee0959dd3095b0d3c561fab0c5f5fe94c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/lto.c
Log Message:
-----------
[Clang] Accept `-flto=none` similar to `-fno-lto` (#201460)
Summary:
Personal preference, but I would like to be able to set all the LTO
kinds from the string, and it feels a little odd to need to use
`-fno-lto` to override the mode.
Commit: 086f9c1e6ea3ed30345f685d9055f57f044834a7
https://github.com/llvm/llvm-project/commit/086f9c1e6ea3ed30345f685d9055f57f044834a7
Author: ovatonne <ovatonne at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M libcxx/test/std/containers/exception_safety_helpers.h
M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
Log Message:
-----------
[libc++][tests] Add missing strong exception guarantee test coverage in forward_list (#200666)
Adds missing test coverage for exception guarantees in forward_list.
- Strong exception guarantee for forward_list::push_front and
forward_list::emplace_front.
- Exception guarantee for constructor, operator= and assign overloads
taking an initializer_list.
- Add move and inplace construction as throwing functions in test
helpers.
- Add tests throwing upon moving or constructing elements inplace for
relevant overloads.
Commit: 8a21afca17117a380f2716ae81fb402d673f48fe
https://github.com/llvm/llvm-project/commit/8a21afca17117a380f2716ae81fb402d673f48fe
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/arith-costs.ll
R llvm/test/Transforms/LoopVectorize/AArch64/binop-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
Log Message:
-----------
[LV] Add cost for VPInstruction::Not. (#198445)
This patch add the cost for VPInstruction::Not which will lower to Xor.
Commit: ff812a578f236d3554750391041146a6781a9f55
https://github.com/llvm/llvm-project/commit/ff812a578f236d3554750391041146a6781a9f55
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb/test] Add _excluded_variant_combinations hook in lldbtest (#201459)
Add a module-scope hook that LLDBTestCaseFactory consults during variant
expansion so the suite can declare combinations of variant axis values
that should never be generated. Each entry in
`_excluded_variant_combinations` is a dict mapping variant_name ->
value; the helper `_is_excluded_variant_combination(method,
variant_name, value_name)` returns True when assigning the given
variant=value to the method would produce a combination matching every
entry. `_expand_test_variants` checks the predicate before generating
each copy and drops the variant entirely so excluded crosses don't
appear in the test matrix at all.
This is a suite-wide per-axis-combination analogue of
NO_DEBUG_INFO_TESTCASE: instead of collapsing the entire debug-info axis
for one test class, it lets the suite declare narrowly that any variant
carrying e.g. {"swift_module_importer": "noclang", "swift_embedded":
"swiftembed"} should be dropped, regardless of which source method or
test class generated it. Useful when a subset of the variant matrix is
known broken (or simply redundant) without resorting to broad @skipIf /
@expectedFailureAll decorators on each affected method.
The list starts empty; the first downstream consumer
(swiftlang/llvm-project) adds the noclang × swiftembed cross at the same
time it registers the swift_module_importer / swift_embedded variants.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: c10e5060490e1377a4d59cab5f8e345134d35d97
https://github.com/llvm/llvm-project/commit/c10e5060490e1377a4d59cab5f8e345134d35d97
Author: Michael Jones <michaelrj at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/CMakeLists.txt
M libc/include/inttypes.yaml
M libc/src/inttypes/CMakeLists.txt
A libc/src/inttypes/wcstoimax.cpp
A libc/src/inttypes/wcstoimax.h
A libc/src/inttypes/wcstoumax.cpp
A libc/src/inttypes/wcstoumax.h
M libc/test/src/inttypes/CMakeLists.txt
A libc/test/src/inttypes/wcstoimax_test.cpp
A libc/test/src/inttypes/wcstoumax_test.cpp
Log Message:
-----------
[libc] implement wcstoimax/wcstoumax (#200284)
Adds the implementation and tests for wide character to intmax_t and
uintmax_t.
Assisted-by: Automated tooling, human reviewed.
Commit: 2e27610b8f79c34238ffc405d3f4558945c32752
https://github.com/llvm/llvm-project/commit/2e27610b8f79c34238ffc405d3f4558945c32752
Author: Florian Mayer <fmayer at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
R llvm/test/Bitcode/musttail-bitcast-upgrade.ll
R llvm/test/Bitcode/musttail-bitcast-upgrade.ll.bc
M llvm/test/Instrumentation/AddressSanitizer/musttail.ll
M llvm/test/Instrumentation/ThreadSanitizer/tsan_musttail.ll
M llvm/test/Transforms/CallSiteSplitting/musttail.ll
M llvm/test/Transforms/SafeStack/X86/musttail.ll
M llvm/test/Verifier/musttail-invalid.ll
Log Message:
-----------
Revert "Remove the optional bitcast between a musttail call and its ret" (#201479)
This reverts https://github.com/llvm/llvm-project/pull/201280
This broke MSan on the buildbots:
https://lab.llvm.org/buildbot/#/builders/169/builds/23291/steps/10/logs/stdio
This is the only change in the batch that touched BitcodeReader
Commit: 0f3d6b9cac25c750f5fa477d92ba15b68b03e210
https://github.com/llvm/llvm-project/commit/0f3d6b9cac25c750f5fa477d92ba15b68b03e210
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
A llvm/include/llvm/ExecutionEngine/Orc/SymbolLookupSet.h
Log Message:
-----------
[ORC] Lift SymbolLookupSet into its own header. NFCI. (#201295)
Lifts the SymbolLookupSet class and SymbolLookupFlags enum out of Core.h
and into a new SymbolLookupSet.h header.
Commit: f0d98c3693a47679115ce05a5a5629e9b869472f
https://github.com/llvm/llvm-project/commit/f0d98c3693a47679115ce05a5a5629e9b869472f
Author: savchart <metaartem at protonmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/function-size-ignore-macros.cpp
Log Message:
-----------
[clang-tidy][readability] Ignore macros in function-size check (#199549)
This patch adds an IgnoreMacros option to the readability-function-size
check.
Fixes https://github.com/llvm/llvm-project/issues/112835
Commit: 9263a42920ea470ff7377fa3ca3b3759aeb86fa1
https://github.com/llvm/llvm-project/commit/9263a42920ea470ff7377fa3ca3b3759aeb86fa1
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/test/OpenMP/amdgcn_weak_alias.c
M clang/test/OpenMP/declare_target_codegen.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_simd_codegen.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-to-host.mlir
Log Message:
-----------
[OpenMP] Use ext linkage for kernels handles and globals handles keep… (#200964)
… linkage
Host handles are now emmitted with external linkage to clash if two
kernels with the same name are registered. This could have happen right
now and silently corrupt the program, but it can happen more easily once
we allow users to name their kernels.
In the same patch we make global variable handles retain the linkage of
the global variable, forcing clashes for external ones and continue to
support weak use cases.
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 97d72648474f2bd8832810993a31a69d28196ffe
https://github.com/llvm/llvm-project/commit/97d72648474f2bd8832810993a31a69d28196ffe
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-icp-recursive.ll
Log Message:
-----------
[MemProf] Change default of memprof-icp-noinline-threshold to 0 (#201474)
This is no longer needed after PR172502 added support to identify
indirect callees from inlined frames.
Commit: 84085aac175bd949c521957af88ff5cda4aeeb20
https://github.com/llvm/llvm-project/commit/84085aac175bd949c521957af88ff5cda4aeeb20
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-category-ops.mlir
M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
Log Message:
-----------
[mlir][linalg] Improve contraction specialization (#201300)
Extend the matcher to recognize additional supported boolean contraction
form(and+or). Fixes #198235.
Commit: 70256dff97f1393c0bceb6c90c0341215d2ba598
https://github.com/llvm/llvm-project/commit/70256dff97f1393c0bceb6c90c0341215d2ba598
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
R flang/test/Lower/OpenMP/Todo/metadirective-dynamic.f90
M flang/test/Lower/OpenMP/metadirective-user.f90
M flang/test/Semantics/OpenMP/metadirective-user.f90
Log Message:
-----------
[flang][OpenMP] Support lowering of metadirective (part 2) (#194424)
Lower non-constant `user={condition(expr)}` selectors in OpenMP
metadirectives to a runtime `fir.if` / `else` selection cascade.
Dynamic user conditions are handled in two separate phases:
- Static applicability uses only selector traits that are known at
compile time.
- Guarded ranking preserves selector specificity and dynamic-condition
scores for the path where the runtime condition evaluates to true.
Lowering first filters candidates using compile-time selector traits,
then orders the remaining candidates with the normal OpenMP variant
ranking rules. If the selected candidate has a non-constant user
condition, that condition is emitted as a `fir.if` guard. When the
condition evaluates to false, the `else` branch continues selection
among the remaining candidates.
For example:
```fortran
!$omp metadirective &
!$omp & when(user={condition(score(100): high)}: barrier) &
!$omp & when(user={condition(low)}: taskwait) &
!$omp & otherwise(nothing)
```
is selected as:
```text
if (high) barrier
else if (low) taskwait
else nothing
```
Scores attached to dynamic `condition(score(...): expr)` selectors are
preserved for the guarded candidate. As a result, those scores affect
ranking only on the runtime path where the condition is true, instead of
allowing a false runtime condition to influence unconditional selection.
This also fixes the interactions with `extension(match_any)` and
`extension(match_none)`:
- `match_any` can be satisfied by a runtime condition when no static
trait matches.
- If static traits already satisfy `match_any`, the dynamic condition
score is used only when the condition is true.
- `match_none` keeps the dynamic condition inactive for static
applicability while still preserving its score for ranking.
For example, this `match_any` selector is statically applicable through
`vendor(llvm)`, but the score on `flag` is used only when `flag`
evaluates to true:
```fortran
!$omp metadirective &
!$omp & when(implementation={extension(match_any), vendor(llvm)}, &
!$omp & user={condition(score(100): flag)}: barrier) &
!$omp & when(user={condition(score(10): .true.)}: taskwait) &
!$omp & otherwise(nothing)
```
is selected as:
```text
if (flag) barrier
else taskwait
```
The final fallback is the highest-ranked unguarded candidate, an
explicit `otherwise` / `default` clause, or implicit `nothing`.
This patch is part of the feature work for #188820 and is stacked on top
of [#193664](https://github.com/llvm/llvm-project/pull/193664).
Assisted with Copilot and GPT-5.4.
Commit: a53507fb5c108f0fd71270bf6498fa0f283b27c1
https://github.com/llvm/llvm-project/commit/a53507fb5c108f0fd71270bf6498fa0f283b27c1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Fix a crash with covariant return types (#201354)
`Context::collectBaseOffset()` will assert if the passed-in classes are
the same.
Commit: 36e714b78712ef7f697d172b3ede0131568b892c
https://github.com/llvm/llvm-project/commit/36e714b78712ef7f697d172b3ede0131568b892c
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorResolver.h
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutorResolutionGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorResolver.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
M llvm/tools/lli/ForwardingMemoryManager.h
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
Log Message:
-----------
[ORC] Replace ExecutorSymbolDef with ExecutorAddr in remote lookup. (#201492)
Update DylibManager and associated interfaces to return ExecutorAddrs
for remote symbols, rather than ExecutorSymbolDefs. No clients were
using the flags component of ExecutorSymbolDef, and this brings the
SimpleExecutorDylibManager implementation in OrcTargetProcess into
closer alignment with the NativeDylibManager implementation in the new
ORC runtime.
Commit: 4a77ce7c6f510283083dba0daccefc4d32326e44
https://github.com/llvm/llvm-project/commit/4a77ce7c6f510283083dba0daccefc4d32326e44
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SplitKit.cpp
A llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
Log Message:
-----------
[CodeGen][AMDGPU] Remove premature empty subrange elimination (#201263)
This commit removes a call to `removeEmptySubRanges` inside
`SplitEditor::rewriteAssigned` which removes empty subranges that may be
expected at a later stage. The empty subranges are eliminated by a later
call to `removeEmptySubRanges`.
Fixes https://github.com/llvm/llvm-project/issues/199337.
---------
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: c17f6208157d04b730576d84c8998f7bd8112cef
https://github.com/llvm/llvm-project/commit/c17f6208157d04b730576d84c8998f7bd8112cef
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/reduction2mem-extra-lcssa.ll
Log Message:
-----------
[LoopInterchange] Check all inner-exit LCSSA PHIs (#200860)
areInnerLoopExitPHIsSupported() returned true as soon as it saw the
reduction LCSSA PHI, skipping the user-check for any later LCSSA PHIs.
If one had a non-PHI user, legality wrongly succeeded and the transform
hit a cast<PHINode> assertion. Use continue so the remaining PHIs are
still validated.
Fixes #200811.
Commit: cdf26f6721363d542865d826dd6455d448e1e860
https://github.com/llvm/llvm-project/commit/cdf26f6721363d542865d826dd6455d448e1e860
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/srem-lkk.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
Log Message:
-----------
[RISCV] Fold (add X, (mulhs X, C)) -> (mulhsu X, C) if C is negative. (#199287)
Improves some division by constant cases.
Based on this blog post
https://needlesscomplexity.substack.com/p/implementing-division-by-multiplying
Correctness proof is sketched out in the comments.
Commit: e75e96af6987cb017f8d11efc1eed430b0d6080d
https://github.com/llvm/llvm-project/commit/e75e96af6987cb017f8d11efc1eed430b0d6080d
Author: mike-goutokuji <gfunni234 at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-adjust-icmp-imm.mir
M llvm/test/CodeGen/AArch64/arm64-csel.ll
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
M llvm/test/CodeGen/AArch64/fcvt-i256.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
Log Message:
-----------
[AArch64][GlobalISel] Port shouldBeAdjustedToZero to GlobalISel (#195941)
Commit: 4695c84c7954f0133679b76302bff13e2b059def
https://github.com/llvm/llvm-project/commit/4695c84c7954f0133679b76302bff13e2b059def
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Extend op definitions to support 3D+: load_nd, store_nd, prefetch_nd (#199811)
**Summary**
Extend xegpu.load_nd, xegpu.store_nd, and xegpu.prefetch_nd operations
to support 3D and higher-dimensional tensor descriptors with batch
dimensions, enabling batched memory operations for workloads like [4, 8,
16] tensor loads/stores.
**Changes**
- Verifiers: Removed rank > 2 checks in LoadNdOp::verify() and
StoreNdOp::verify() to allow 3D+ tensor descriptors
- Documentation: Added comprehensive documentation explaining: Tensor
descriptors can be 1D, 2D, 3D, or higher dimensional; Batch dimensions
(leading dimensions) are unrolled to unit dimensions during lowering;
Operations execute at 2D granularity at subgroup level to match 2D block
IO hardware; Examples of 3D operations
- Tests: Added unit tests for 3D operations (load_nd_3d, store_nd_3d,
prefetch_nd_3d)
---------
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 5f517ddd3e7c29ac51ea88a33e500455deee03a1
https://github.com/llvm/llvm-project/commit/5f517ddd3e7c29ac51ea88a33e500455deee03a1
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Extend op definitions to support 3D+: dpas, dpas_mx (#199809)
**Summary**
Extend xegpu.dpas and xegpu.dpas_mx operations to support 3D and 4D
operands with batch dimensions, enabling batched matrix multiplication
workloads like [4, 128, 512] x [4, 512, 128] -> [4, 128, 128].
**Changes**
- Type definitions: Extended XeGPU_DpasOprType and XeGPU_DpasResType to
support rank 3-4 (previously 1-3 and 1-2)
- Op definitions: Extended dpas_mx scale operands to support rank 3-4
vectors
- Verifiers: Updated verifyDpasDimensions() to validate batch dimensions
across A, B, and result operands; updated DpasMxOp::verify() for
batch-aware scale dimension checks
- Documentation: Added comprehensive documentation explaining batch
dimensions, microarchitecture-specific matrix sizes, and 3D/4D usage
examples
- Tests: Added unit tests for 3D batched dpas and dpas_mx operations
Assisted-by-Claude
---------
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 3192648845b87e1907377a395d626b85a7bad6ee
https://github.com/llvm/llvm-project/commit/3192648845b87e1907377a395d626b85a7bad6ee
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M orc-rt/include/orc-rt/NativeDylibManager.h
M orc-rt/lib/executor/NativeDylibManager.cpp
M orc-rt/lib/executor/Unix/NativeDylibAPIs.inc
M orc-rt/lib/executor/sps-ci/NativeDylibManagerSPSCI.cpp
M orc-rt/unittests/NativeDylibManagerSPSCITest.cpp
M orc-rt/unittests/NativeDylibManagerTest.cpp
Log Message:
-----------
[orc-rt] Make NativeDylibManager::lookup return optional addresses. (#201519)
NativeDylibManager::lookup used to return (asynchronously) a vector of
void *s where null represented not-present. This commit updates it to
return a vector of std::optional<void *>s where std::nullopt represents
not-present and an address of zero indicates that the symbol is present
with an address of zero.
This matches the resolve semantics of SimpleExecutorDylibManager,
completing the alignment of the two implementations after the earlier
additions of the Mode argument to load() and the
required/weakly-referenced flag on lookup symbols.
Commit: 192c013865fbdc038996550e34ecc943f9b5c90e
https://github.com/llvm/llvm-project/commit/192c013865fbdc038996550e34ecc943f9b5c90e
Author: Guy David <guyda96 at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/dup.ll
Log Message:
-----------
[AArch64] Fix DUP-of-extload combine to ignore chain uses (#201351)
The original combine bailed when the load had more than one use, but
counted chain uses too.
Commit: b8cc5942b3c1b3dd56d3e37093b0c22e134fd0b0
https://github.com/llvm/llvm-project/commit/b8cc5942b3c1b3dd56d3e37093b0c22e134fd0b0
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.h
M mlir/lib/Conversion/TosaToSPIRVTosa/CMakeLists.txt
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.cpp
A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaConstants.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaOps.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
A mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-invalid.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-mark-invalid.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-mark.mlir
M mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir
Log Message:
-----------
[mlir][spirv] Add TOSA graph constant marking (#201095)
Add a TOSA to SPIR-V TOSA preprocessing pass that marks large tosa.const
and tosa.const_shape operations for lowering to spirv.ARM.GraphConstant.
Keep small constants inline as spirv.Constant, assign graph constant IDs
with a grapharm-prefixed marker attribute, and teach the existing
constant conversion to use the marker when present.
Expose the grapharm source-side attribute names used for interface ABI
annotations and graph constant IDs.
Add tests for marking large constants, leaving small constants unmarked,
increasing graph constant IDs across mixed constants, and lowering
pre-marked constants to spirv.ARM.GraphConstant.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 364a8837a9d67135d050fe594ba51e319fbab938
https://github.com/llvm/llvm-project/commit/364a8837a9d67135d050fe594ba51e319fbab938
Author: ShashwathiNavada <shashwathinavada at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/test/Driver/frelaxed-c-loc-checks.f90
Log Message:
-----------
[Flang] Fix -frelaxed-c-loc-checks being ignored when using the driver (#200733)
`-frelaxed-c-loc-checks` worked correctly when passed directly to -fc1,
but was silently ignored when using the driver (e.g., flang -c
-frelaxed-c-loc-checks), causing the flag to go unused. This patch fixes
it by adding `OPT_relaxed_c_loc` to the `addAllArgs` call in Flang.cpp
Also extend the existing test with a driver-mode RUN line to cover this
path.
Commit: ee1fe9431baedb216674a1452eb39aca9d3a78d9
https://github.com/llvm/llvm-project/commit/ee1fe9431baedb216674a1452eb39aca9d3a78d9
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
Log Message:
-----------
[mlir][arith] Use subui_extended in wide integer emulation of subi (#197762)
Commit: b8c18e9aa7f273a786a0dd09a4fcab822438e975
https://github.com/llvm/llvm-project/commit/b8c18e9aa7f273a786a0dd09a4fcab822438e975
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
Log Message:
-----------
[mlir][ArithToLLVM] Lower arith.subui_extended (#197737)
Commit: bdd7b4cc2a0c9a8c58e4025edae079ce6af73aa0
https://github.com/llvm/llvm-project/commit/bdd7b4cc2a0c9a8c58e4025edae079ce6af73aa0
Author: ShashwathiNavada <shashwathinavada at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/entry01.f90
Log Message:
-----------
[Flang][Semantics] Throw diagnostics for identical entry and result names. (#198500)
Fixes https://github.com/llvm/llvm-project/issues/198499
In flang entry name and result names cannot be same as per
[C1583](https://j3-fortran.org/doc/year/25/25-007r1.pdf).
Previously, Flang did not diagnose cases where the ENTRY name and RESULT
name were identical, e.g.
```
function m1f1()
integer :: m1f1
real :: m1f1e1
m1f1 = 0
entry m1f1e1() result(m1f1e1)
m1f1e1 = 0.1
end function
```
Commit: 96c0f5ad27abba13bc941df99686fdb8c7b59fff
https://github.com/llvm/llvm-project/commit/96c0f5ad27abba13bc941df99686fdb8c7b59fff
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
M lldb/unittests/Target/MemoryTest.cpp
Log Message:
-----------
[lldb] Use MemoryCache in Process::ReadRangesFromMemory (#201166)
There are scenarios (especially in the ObjectiveC metadata reading) in
which multiple strings are read over and over again, but through
different code paths. In order to make that part of the code use
MultiMemRead effectively, the memory cache must be integrated into
ReadRangesFromMemory before we can migrate the string reading to
vectorized version.
Commit: 375fa6fb02035afc8719e8484f0c914a96987fd8
https://github.com/llvm/llvm-project/commit/375fa6fb02035afc8719e8484f0c914a96987fd8
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
Log Message:
-----------
[Loads] Use willNotFreeBetween() for dereferenceable-at-point (#201353)
If dereferenceable-at-point semantics are enabled, use
willNotFreeBetween() to check whether frees are known to not occur
between the definition point of the value and the context instruction.
We already use this logic for dereferenceable assumptions, this enables
it for other dereferenceability fact (under deref-at-point).
Commit: f02dd4afbac15705016a9a7962d87161524b66cc
https://github.com/llvm/llvm-project/commit/f02dd4afbac15705016a9a7962d87161524b66cc
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/test/CodeGen/ms-intrinsics-other.c
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/Attributor/nonnull.ll
M llvm/test/Transforms/Attributor/nosync.ll
M llvm/test/Transforms/FunctionAttrs/atomic.ll
M llvm/test/Transforms/FunctionAttrs/initializes.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nofpclass.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/writeonly.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
M llvm/test/Transforms/PhaseOrdering/branch-dom-cond.ll
Log Message:
-----------
[CaptureTracking] Volatile operations only capture address (#201316)
The fact that a volatile access was performed on a certain address is an
observable effect in the abstract machine, so volatile operations
capture the address of the accessed pointer. However, they do not
capture the provenance. This matches what we document in LangRef.
While I'm pretty sure that this models the semantics correctly, I'm
slightly concerned that we might be using the provenance capture here to
paper over some other issue, though nothing specific comes to mind (and
the test changes don't show anything problematic).
Commit: 73802c2e9d102a4fb646bc039754779fca3ea476
https://github.com/llvm/llvm-project/commit/73802c2e9d102a4fb646bc039754779fca3ea476
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A offload/test/offloading/array_reductions.cpp
M offload/test/offloading/multiple_reductions.cpp
Log Message:
-----------
[OpenMP][offload] Add enhanced array-reduction tests (#201040)
Commit: 601958395ae7f24c74d85fcda2829e102e4176f0
https://github.com/llvm/llvm-project/commit/601958395ae7f24c74d85fcda2829e102e4176f0
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[NFC][GlobalISel] Refactor ownership of InstructionMatchers (#200798)
- Clarify that the array of InstructionMatchers in the RuleMatcher are
for the roots only.
- Let RuleMatcher own all of the InstructionMatcher used for/by
predicates.
They are all kept in an array in which the index of the
InstructionMatcher is equal to its
InsnID, which eliminates some redundant tracking.
- Remove duplicate tracking of InsnID from RuleMatcher;
InstructionMatcher does it on its own already.
Co-authored-by: Pierre-vh <29600849+Pierre-vh at users.noreply.github.com>
Commit: b6599484337145cd03cdc42b30de08939e3f6947
https://github.com/llvm/llvm-project/commit/b6599484337145cd03cdc42b30de08939e3f6947
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/complex-atomic-cast.c
Log Message:
-----------
[CIR] Fix Complex Casting with Atomic qualifier (#201424)
Apply Complex Casting with Atomic qualifier fixes from PRs #172210 and
#172163
Issue https://github.com/llvm/llvm-project/issues/192331
Commit: b12cd6aa2faac1af50ee332c30a3e863dc462d7d
https://github.com/llvm/llvm-project/commit/b12cd6aa2faac1af50ee332c30a3e863dc462d7d
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
Log Message:
-----------
[lldb] Use batched memory reads in ClassDescriptorV2::relative_list_entry_t (#201284)
This reduces the number of memory reads performed when reading Objective
C classes metadata.
Note: these addresses are indeed sequential (with a small offset between
them), but there are so many of them that they would not fit into a
single Process::ReadMemory cache line, so this is still a win, and it
also puts the code into the right shape for vectorizing the next read in
the same loop, which will see the biggest savings.
Commit: ca085afb41ab167597e76daf732b4f5a6eb36298
https://github.com/llvm/llvm-project/commit/ca085afb41ab167597e76daf732b4f5a6eb36298
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A llvm/test/CodeGen/X86/freeze-fp.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
Log Message:
-----------
[SelectionDAG] Pre-commit tests for dagcombine improvements (#201270)
I've got a stack of dagcombine improvements that together make an
infinite cycle relating to freeze insertion in vector-manipulation IR.
Here we have
- Handling freeze(undef) in demanded-elts for shufflevector
- Improvements to noundef checks for bitcast, concat, and select
- Improvements to extract(concat), extract(extract), and extract(insert)
handling
Even though the regression I'm fixing is an AMDGPU one, these tests are
mainly X86 because the AMDGPU calling convention makes it hard to
demonstrate the folds I'm adding.
AI note: I got an LLM to find most of these tests, especially some of
the fiddly ones that needed control flow.
Commit: b0cb331995d494dda75d5fd967e160ec0c32caf1
https://github.com/llvm/llvm-project/commit/b0cb331995d494dda75d5fd967e160ec0c32caf1
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-same-line.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
Log Message:
-----------
[clang-tidy] Avoid brace fix-it crash in macro body expansion (#198788)
`readability-braces-around-statements `could assert when diagnosing an
unbraced statement that ends in the middle of a macro body expansion. It
would be hard/unsafe to give fix-its for such cases, so treat them as
diagnostic-only.
Closes https://github.com/llvm/llvm-project/issues/198711
Commit: 6fd4b82f8985b4d86ba190781f132832637e8642
https://github.com/llvm/llvm-project/commit/6fd4b82f8985b4d86ba190781f132832637e8642
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-usabs.ll
Log Message:
-----------
[LV] Optimize partial reduction extends before handling inloop subs (#199665)
The crash avoided in #194660 was caused by the extend optimizations
failing to match as due to the extra sub/negation added to the
"ExtendedOp".
A similar crash exists for [us]abs partial reductions (see
https://godbolt.org/z/MerMon5rE), which is fixed with this patch.
This patch solves the underlying issue by running the extend
optimizations before any inloop sub/fsub handling.
Fixes #194000
Commit: 808b9e58c651486eee2e297b8814de90254082a2
https://github.com/llvm/llvm-project/commit/808b9e58c651486eee2e297b8814de90254082a2
Author: KRM7 <rugasikrisztian at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-and-mask.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-sextload-from-sextinreg.mir
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_poison.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_poison.ll
Log Message:
-----------
[GlobalISel] Combine sext(load), zext(load) patterns when the load has multiple uses (#182831)
Extend the existing combiners for sext(load), zext(load) patterns to also work when the load has multiple uses.
Commit: d226dcc019d6a83cba79951ec2a8a08c53a57858
https://github.com/llvm/llvm-project/commit/d226dcc019d6a83cba79951ec2a8a08c53a57858
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
A llvm/test/CodeGen/NVPTX/insert-vector-elt-bitcast-legalize.ll
Log Message:
-----------
[NVPTX] Fix illegal combineInsertEltToShuffle pattern (#198259)
Adds a condition to the `isShuffleMaskLegal` method to prevent
`combineInsertEltToShuffle` from creating an illegal `vector_shuffle`
after type legalization which leads to a crash.
Context:
This is triggered when bitcasting a `v2f16` into a vector that type
legalizes to a `v2i32`. This happens on architectures supporting packed
`f32` operations (>= `sm_100`). In certain cases, this leads to
`combineInsertEltToShuffle` creating a vector shuffle with `v4f16` for
simplification. Since this happens after type legalization and `v4f16`
is an illegal type, it leads to a crash.
Commit: 3112581e2945ed5027360387f0ddcb72115f3886
https://github.com/llvm/llvm-project/commit/3112581e2945ed5027360387f0ddcb72115f3886
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/constant_folding.mlir
Log Message:
-----------
[mlir][tosa] Improve folder conformance to TOSA specification (#200223)
This commit fixes some bugs in TOSA folders that cause non-conformant
results. The fixes include:
- tosa.intdiv - Folding when the lhs and rhs are zero. In the TOSA
specification this is undefined behaviour.
- tosa.div_ceil_shape/tosa.div_floor_shape - Folding when the lhs is
negative or the rhs is non-positive. In the TOSA specification this is
undefined behaviour.
In addition, some test cases have been added for non-exercised code
paths, including:
- tosa.intdiv - Rejects overflow cases
- tosa.greater/tosa.greater_equal/tosa.equal - Correctly evaluates NaN
cases to False.
- tosa.cast - Saturating rounding when input is out of range of the
output type.
- tosa.mod_shape - Rejects cases where lhs is negative or rhs is
non-positive.
Commit: c88cefb9f13ee2a448e06f75e98fe01d8a0bcb60
https://github.com/llvm/llvm-project/commit/c88cefb9f13ee2a448e06f75e98fe01d8a0bcb60
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M libcxx/include/__memory/unique_ptr.h
Log Message:
-----------
[libc++] Simplify unique_ptr constructor SFINAE (#201305)
This patch does a couple of things:
- inline aliases to `__enable_if_t`s, making it easier to understand
what's actually going on
- make the `enable_if`s dependent via a `class _Deleter = deleter_type`
instead of a `bool` and `__dependent_type`, reducing the number of
instantiated classes
- remove `__unique_ptr_deleter_sfinae`
Commit: b09fceba26bf6d34465821460deb40b3834cf50f
https://github.com/llvm/llvm-project/commit/b09fceba26bf6d34465821460deb40b3834cf50f
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
A llvm/test/Transforms/LoopFusion/peel-preserve-lcssa.ll
Log Message:
-----------
[LoopFusion] Reform LCSSA after peelFusionCandidate's peelLoop (#200442)
peelLoop's internal simplifyLoop call requires LCSSA to be preserved
across it, but the cloned exit edges and cloned defs that peelLoop
introduces are not reflected in the existing LCSSA phis, so the contract
cannot be honoured. Pass PreserveLCSSA=false to peelLoop here and reform
LCSSA on the affected nest immediately afterward. LCSSA is expected
before and after peel+fuse, just not during it.
Caught by yarpgen fuzzing of clang -O3 -fexperimental-loop-fusion -mllvm
-loop-fusion-peel-max-count=8 on AArch64.
Fixes #199418
Commit: b66b10e852ea3bcb4a35ff83c781bf875ed50870
https://github.com/llvm/llvm-project/commit/b66b10e852ea3bcb4a35ff83c781bf875ed50870
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/managed-var.cu
M clang/test/CodeGenHIP/builtins-amdgcn-vi-f16.hip
M clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
M clang/test/CodeGenHLSL/Operators/logical-not.hlsl
M clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2-overloads_mat.hlsl
M clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/resources/Texture2D-GetDimensions.hlsl
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Operator.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Assembler/fast-math-flags.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/divrem24-assume.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/log-pow.ll
Log Message:
-----------
[IR] Add fast-math support to {u,s}itofp (#198470)
- `{u,s}itofp` are floating point typed values.
- CodeGen part (foldFPToIntToFP in DAGCombiner) needs `nsz` to fold
pattern (uitofp (fptoui x)) -> (trunc x).
- LLVM has intrinsic variants of `{u,s}itofp`, which already support
fast-math flags.
Now optimization flags require 9 bits in bitcode, fast-math flags of
`uitofp` are stored in high 8 bits.
VPlan part may need some extra work, it assumes optimization flags from
different categories are disjoint.
Commit: 7da29bc529d74d327804ad25e49e0cdeccfed263
https://github.com/llvm/llvm-project/commit/7da29bc529d74d327804ad25e49e0cdeccfed263
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvdota.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/rvv/zvfqwdota8f.s
A llvm/test/MC/RISCV/rvv/zvfwdota16bf.s
A llvm/test/MC/RISCV/rvv/zvqwdotai8i16.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][MC] Support experimental Zvdota Family instructions (#195069)
Spec:
https://github.com/aswaterman/riscv-misc/blob/main/isa/ldot-bdot/ldot-bdot.adoc
---------
Co-authored-by: Brandon Wu <songwu0813 at gmail.com>
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 1960c7a9fdf2fc613a148fbc078173adddd6ca13
https://github.com/llvm/llvm-project/commit/1960c7a9fdf2fc613a148fbc078173adddd6ca13
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
[clang][bytecode] Reject erroneous vector conversions (#201368)
Commit: 8557b5714bca181906118a86d8152598f525fcc7
https://github.com/llvm/llvm-project/commit/8557b5714bca181906118a86d8152598f525fcc7
Author: Jacob Crawley <jacob.crawley at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/sve-fixed-length-frintz.ll
A llvm/test/CodeGen/AArch64/sve-frintz.ll
M llvm/test/CodeGen/AMDGPU/fptoui_uitofp.ll
Log Message:
-----------
[DAG] Fold INT_TO_FP( FP_TO_INT (x) ) to FTRUNC(X) (#198477)
Extends the `foldFPToIntToFP` DAG Combine so that it can now be applied
when `FTRUNC` has a custom lowering, and given that `INT_TO_FP
(FP_TO_INT (X))` is not already legal.
On AArch64 targets with SVE, this change simplifies the codegen of
`INT_TO_FP (FP_TO_INT (X))` conversions by making use of the `frintz`
instruction.
Commit: 6b13656fd8386f979e061cc97e32b607ee3fcdf4
https://github.com/llvm/llvm-project/commit/6b13656fd8386f979e061cc97e32b607ee3fcdf4
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/AArch64/CMakeLists.txt
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/AArch64/compare-and-branch-inversion.S
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][AArch64] Transform cmpbr ~> cmp + br when inversion not possible (#185731)
When reordering blocks we may have to invert branches. Sometimes this
isn't possible for compare-and-branch instructions because the immediate
value would overflow/underflow after the adjustment. In such cases I am
splitting the instruction into a compare followed by a branch. For this
to be legal we should be sure that the condition flags are not being
clobbered. Liveness analysis may help here.
Commit: bd209f39b43f958a1ac338c338a9a9538751b2fe
https://github.com/llvm/llvm-project/commit/bd209f39b43f958a1ac338c338a9a9538751b2fe
Author: wanglei <wanglei at loongson.cn>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
A llvm/test/CodeGen/LoongArch/pr198339.ll
Log Message:
-----------
[LoongArch] Fix FP_EXTEND legalization for v2f32 (#201260)
FP_EXTEND may reach ReplaceNodeResults due to a Custom action for
v2f32 results, but no target-specific lowering is required.
Fixes #198339
Commit: d83abac82bd290e16a38ab79f6207f0bc3a07b3c
https://github.com/llvm/llvm-project/commit/d83abac82bd290e16a38ab79f6207f0bc3a07b3c
Author: Barbara Mitic <bmitic at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/Transforms/InstCombine/AMDGPU/wave-shuffle-patterns.ll
Log Message:
-----------
[AMDGPU][InstCombine] Match ds_swizzle rotate mode for cyclic lane shuffles (#199004)
Follow-up to 17cc4f77109d [AMDGPU][InstCombine] Optimize constant
shuffle patterns (#192246).
Adds matchDsSwizzleRotatePattern to recognise shuffles of the form
dst_lane = (src_lane + N) % 32 (N in [1, 31]) and lower them to a single
ds_swizzle with rotate-mode encoding (ROTATE_MODE_ENC | N << 5),
available on GFX9+. The bitmask mode cannot express such rotations since
the carry between bit positions makes the per-bit mapping
non-independent. On wave64 the pattern is accepted only when
hasPeriodicLayout<32> confirms both 32-lane groups rotate by the same
amount. Wave32-only ID forms (mbcnt.lo alone) are correctly rejected on
wave64 targets.
Co-authored-by: Barbara Mitic <Barbara.Mitic at amd.com>
Commit: faf4728454f57e93530a1ce4fa6f6ca2192e8afb
https://github.com/llvm/llvm-project/commit/faf4728454f57e93530a1ce4fa6f6ca2192e8afb
Author: ioana ghiban <ioana.ghiban at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-dealloc.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
Log Message:
-----------
[mlir][EmitC] Convert MemRef::DeallocOp (#194591)
Add `memref.dealloc` lowering to EmitC by mapping pointer-backed
deallocations to `void*` cast + `free()` call. This complements the
existing `memref.alloc` lowering to `malloc()` / `aligned_alloc()` and
ensures the pass emits the required standard library include when
`free()` is used.
Assisted-by: Codex (refine implementation + tests). I reviewed all code
and tests before submission.
Commit: 5c2565b67d086a3f56ce837424402084c37c7895
https://github.com/llvm/llvm-project/commit/5c2565b67d086a3f56ce837424402084c37c7895
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/gep-canonicalize-index-constfold.ll
Log Message:
-----------
[InstCombine] Fix assertion in GEP exact div/shr index canonicalization (#201431)
When canonicalizing the index of `(gep ptr, (div/shr exact X, C))`,
visitGetElementPtrInst builds the new index with Builder.CreateBinOp and
then sets the exact flag via
`cast<BinaryOperator>(NewOp)->setIsExact()`. If X is a constant (as can
be proved during InstCombine), the folding builder constant-folds NewOp
to a non-BinaryOperator, so the cast asserts.
Fix this by adding a CreateExactBinOp API, so the exact flag is set on creation.
Fixes #190324.
Commit: ed4ed6f41e94e24035e07406af737502a8e149a6
https://github.com/llvm/llvm-project/commit/ed4ed6f41e94e24035e07406af737502a8e149a6
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GlobalISel] Do not depend on the RuleMatcher at MatchTable emission (#200799)
Some PredicateMatchers/MatchAction/OperandRenderers relied on accessing
RuleMatcher at emission as a crutch.
Instead, make these classes collect all necessary information in the
constructor so the `emit` methods don't depend on RuleMatcher anymore.
The primary motivation for this is that I've been looking at ways to
optimize the MatchTable better,
and the fact that Predicates/Actions/Renderers are not "pure" objects,
in the sense that they keep
accessing a bunch of data all over the place even as late as emission,
was a consistent pain.
This is NFCI. There are no changes to any of the match table for
AMDGPU/AArch64 in this patch.
This patch has a bunch of noise due to function signature changes so
I'll highlight the following interesting changes:
- `SameOperandMatcher` needed a bit of an update in its
`canHoistOutsideOf` function. I had to rewrite it
but I think the end result is the same.
- `EraseInstAction` has been updated as well, and its users in both
Combiner/ISel backends have been updated to.
Instead of ignoring this action if the Inst was already erased, it's now
the responsibility of the
builder to never insert it in the first place. `BuildMIAction` had a
small update because of that too.
Assisted-By: Claude Sonnet 4.6
Context-of-Use: I used Claude to mass-remove the `RuleMatcher&`
arguments from the `emitPredicateOpcode`
methods. It did not write any logic.
Co-authored-by: Pierre-vh <29600849+Pierre-vh at users.noreply.github.com>
Commit: 7a008c0ad92a434e3bd419f4bb1c94ce85c56844
https://github.com/llvm/llvm-project/commit/7a008c0ad92a434e3bd419f4bb1c94ce85c56844
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Protect the const member getter's this argument (#201147)
This PR fixes a bug that when a const member variable getter is
detected, we don't check if its object argument is kept alive for the
duration of the function call.
Commit: 4590ef3017290cd2bb7eeadf14c23fe0c6d5128f
https://github.com/llvm/llvm-project/commit/4590ef3017290cd2bb7eeadf14c23fe0c6d5128f
Author: Abhinav Garg <abhinav.garg at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir
Log Message:
-----------
[AMDGPU][Uniformity Analysis] Marking G_DYN_STACKALLOC AlwaysUniform in uniformity analysis (#200390)
Mark G_DYN_STACKALLOC as AlwaysUniform.
The result of G_DYN_STACKALLOC is always derived from the wave-uniform
stack pointer and wave-wide max reduce alloca size hence its always uniform.
Commit: ab478d9c57547e96e9b5db2621ac2d913bec6ab8
https://github.com/llvm/llvm-project/commit/ab478d9c57547e96e9b5db2621ac2d913bec6ab8
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/f128-fmuladd-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-scalable-vectorization-always.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-spills.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-ptradd-with-replicated-operand.ll
M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
Log Message:
-----------
[LV] Implement integer part of VPDerivedIV cost model (#198252)
Adds support for InductionDescriptor::IK_IntInduction variants of
inductions in VPDerivedIVRecipe::computeCost. Designing a cost model for
this recipe is tricky because it gets expanded in expandVPDerivedIV into
smaller individual recipes that will then be folded by simplifyRecipe.
Effectively the cost model has to guess how these will be folded
otherwise the costs will be too pessimistic. For example, 'add i32 %x,
0' and 'mul i32 %x, 1' should both be treated as zero cost since all
uses will be replaced with '%x'. Similarly,
'mul i32 %x, 4' will be converted to 'shl i32 %x, 2', and 'mul i32 %x,
-1' will be simplified to 'sub i32 0, %x'.
As can be seen by this PR, it's important to have non-zero costs for
cases where VPDerivedIVRecipe recipes will end up with non-foldable
instructions. Some of the tests now favour wider VFs to cover the
non-zero cost, or in other cases we prefer not to vectorise at all. I've
added loop attributes in some places to maintain the previous
vectorisation behaviour so that we're still matching the intent of the
test.
I built the LLVM test suite and I couldn't find any cases where we use
more than the first lane of the result so for now I maintained the
original behaviour and returned 0. The other induction types (pointers,
floating point values) are also left as returning 0 for now. These will
be handled in future PRs.
Commit: 6a68bd8892d9bbfaba3847fb48da78a8923fe144
https://github.com/llvm/llvm-project/commit/6a68bd8892d9bbfaba3847fb48da78a8923fe144
Author: adeshcom14 <aadikane at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Log Message:
-----------
[AMDGPU][GIsel] Replace old C type castings with safer C++ (#201505)
AMDGPURegisterBankInfo.cpp still contains the old C style castings to int type which can be switched to much safer C++ variants.
Commit: 76b035c3b00e072334f6f516b0ccb31140f5975f
https://github.com/llvm/llvm-project/commit/76b035c3b00e072334f6f516b0ccb31140f5975f
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-hoisting-cxx.td
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[GlobalISel] Do not use recordsOperand() to check if a Combiner C++ predicate can be hoisted (#200815)
The combiner does not use RecordNamedOperand, so assume that any operand
is "recorded" in the sense that can be used by a C++ predicate.
Commit: 31f0e25074627bd081130f81ba6ffcb0ede1aaab
https://github.com/llvm/llvm-project/commit/31f0e25074627bd081130f81ba6ffcb0ede1aaab
Author: dong jianqiang <dongjianqiang2 at huawei.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.h
M llvm/test/CodeGen/ARM/elf-preemption.ll
A llvm/test/CodeGen/ARM/weak-hidden-pic.ll
Log Message:
-----------
[ARM] Use GOT indirection for weak symbols in PIC mode (#198577)
On ARM ELF PIC, weak dso_local symbols were incorrectly accessed via
PC-relative constant pool entries (e.g. .long xxx-(.LPC+8)). The
assembler eagerly resolves this expression when both the symbol and
label are in the same section, preventing the linker from overriding a
weak definition with a strong one from another object file.
Fix #183916 by treating weak symbols as indirect (requiring GOT) on ELF
PIC, matching GCC's behavior. This affects:
- isGVIndirectSymbol (ARMTargetMachine) — Darwin, GlobalISel, stack
prot.
- isGVInGOT (ARMSubtarget)
- LowerGlobalAddressELF (SelectionDAG path)
- ARMLowerPICELF (FastISel path)
Assisted-by: Claude Opus 4.7 <noreply at anthropic.com>
Commit: 36a1b5156e94f2c07ee8eeabe710ab99fc1a5489
https://github.com/llvm/llvm-project/commit/36a1b5156e94f2c07ee8eeabe710ab99fc1a5489
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
clang: Remove hacky OpenMP handling for appending bound arch (#201555)
Use the same path as CUDA/HIP and stop doing a hacky search through
the arguments looking for -march.
Commit: 5fe1bf6c1987c3e5e38e4ba31fe26d2415d18002
https://github.com/llvm/llvm-project/commit/5fe1bf6c1987c3e5e38e4ba31fe26d2415d18002
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
Log Message:
-----------
[FunctionAttrs] Switch readonly etc inference to use CaptureTracking (#201136)
Inference of memory attributes on arguments also needs to reason about
indirect accesses via captures and implemented a home-grown variant of
CaptureTracking for that purpose. Switch it to the shared
implementation, which slightly improves precision.
Commit: 03127a03860b9d8cb440fe8f51c00647f45eb8be
https://github.com/llvm/llvm-project/commit/03127a03860b9d8cb440fe8f51c00647f45eb8be
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/extern.cpp
Log Message:
-----------
[clang][bytecode] Fix a diagnostic difference with extern variables (#201369)
If the extern variable is constexpr of of non-array type, we should
diagnose it as missing an initializer. Otherwise, we diagose a read of
non-constexpr variable.
Commit: 37f8a85dbcb70cd87471a4bf388d0d85fa105105
https://github.com/llvm/llvm-project/commit/37f8a85dbcb70cd87471a4bf388d0d85fa105105
Author: John Brawn <john.brawn at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/test/Transforms/LoopStrengthReduce/AArch64/use-outside-loop.ll
Log Message:
-----------
[LSR] Narrow search space by merging users outside and inside loop (#185929)
Loop Strength Reduce can give different (and worse) results for a loop
when it is followed by uses of variables used inside the loop. This is
because the uses outside the loop increase the size of the search space,
which can lead to using NarrowSearchSpaceByPickingWinnerRegs which often
discards the best solution.
Solve this by narrowing the search space by merging uses outside the
loop with uses inside the loop. This ignores the Kind and AccessTy of
the use which can mean that the cost may be inaccurate, but it will give
the same cost as if we had just ignored the uses outside of the loop.
Commit: 4d2a670ba868a75103424ff3203f443391d55b1b
https://github.com/llvm/llvm-project/commit/4d2a670ba868a75103424ff3203f443391d55b1b
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
M llvm/test/Transforms/FunctionAttrs/nofree.ll
M llvm/test/Transforms/FunctionAttrs/optnone.ll
M llvm/test/Transforms/FunctionAttrs/out-of-bounds-iterator-bug.ll
Log Message:
-----------
[FunctionAttrs] Regenerate test checks (NFC) (#201576)
Commit: 5e0b3c94aed2d5127843e7e5eb7f1b23eb5ca876
https://github.com/llvm/llvm-project/commit/5e0b3c94aed2d5127843e7e5eb7f1b23eb5ca876
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
Log Message:
-----------
[X86] Add test coverage for #199445 (#201564)
Commit: 9de6f9e7c8d1faabf7e7e49ba49e6d6f3af21373
https://github.com/llvm/llvm-project/commit/9de6f9e7c8d1faabf7e7e49ba49e6d6f3af21373
Author: Jan André Reuter <j.reuter at fz-juelich.de>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M offload/libomptarget/OpenMP/API.cpp
Log Message:
-----------
[Offload][libomptarget] Replace slow `omp_target_memset` implementation by `dataFill` (#200202)
`omp_target_memset` was initially implemented before the existance of
`offload`. Because of this, a slow path was chosen to implement
`omp_target_memset`, first allocating memory on the host, calling
`memset` on that memory, and then transferring this to the device.
Aside from the inefficient way of setting device memory, this also
causes a data transfer event for the OpenMP Tools Interface, interfering
with the added memset event in OpenMP v6.0.
Since offload implements setting data via `dataFill` by now, replace the
slow path by just calling `dataFill` instead. This resolves both the
inefficiency, and removes the superfluous event dispatched to a tool.
Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>
Commit: 3a1d8a8db2645a2a62b4f13916e2ba6e639a7fad
https://github.com/llvm/llvm-project/commit/3a1d8a8db2645a2a62b4f13916e2ba6e639a7fad
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/include/clang/Interpreter/Value.h
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
Log Message:
-----------
[clang-repl] Fix Value::setRawBits unit confusion and right-size raw storage. (#200886)
Value::setRawBits had inconsistent units: the default value and the size
assert treated the parameter as bytes (sizeof(Storage)), while the
memcpy treated it as bits (NBits / 8). A caller passing the natural byte
count (e.g. sizeof(long long)) ended up copying only sizeof(T)/8 bytes
-- one byte for an 8-byte payload, leaving the rest stale. The one
in-tree caller compensated by multiplying by 8, hiding the bug.
Rename the parameter to NBytes and drop the / 8 so the API name,
default, assert, and memcpy all agree on bytes. Update the caller in
InterpreterValuePrinter.cpp to pass ElemSize directly.
Right-size the Storage::m_RawBits array while we are here: it was
sizeof(long double) * 8 bytes, which reads like a bit/byte confusion
since the widest typed member of the union is long double itself. The
oversized array made sizeof(Value) ~144 bytes on x86_64 instead of ~40,
bloating every copy/move of a Value.
Add a regression test exercising setRawBits with both an explicit byte
count and the default argument. Pre-fix the test fails for both: the
explicit-count branch copies 1 byte instead of 8, and the default branch
copies sizeof(Storage)/8 bytes instead of the full union width.
Commit: 48f20c86d0fe594bdb3a5633cb11e19829211ec4
https://github.com/llvm/llvm-project/commit/48f20c86d0fe594bdb3a5633cb11e19829211ec4
Author: sujianIBM <Jian.Su at ibm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/utils/lit/tests/lit.cfg
M llvm/utils/lit/tests/shtest-cat.py
M llvm/utils/lit/tests/shtest-format.py
M llvm/utils/lit/tests/shtest-output-printing.py
Log Message:
-----------
[z/OS] Modify regex in error message to match on z/OS. (#194020)
This PR modifies regex in error message to match on z/OS:
```
[Errno 129] EDC5129I No such file or directory.: 'temp1.txt'
wc: file "missing-file": EDC5129I No such file or directory.
cat: does-not-exist: EDC5129I No such file or directory.
```
Commit: 3e447333fe327854484fa5b4c75210fdf04cb369
https://github.com/llvm/llvm-project/commit/3e447333fe327854484fa5b4c75210fdf04cb369
Author: Ádám Kallai <kadam at inf.u-szeged.hu>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M bolt/unittests/Profile/CMakeLists.txt
A bolt/unittests/Profile/PerfScripts.cpp
M bolt/unittests/Profile/PerfSpeEvents.cpp
Log Message:
-----------
[BOLT] Add pre-parsed perf script support (#163785)
Implement the functionality to read and parse a pre-parsed perf-script
profile generated by perf2bolt's '--profile-format=perfscript' option.
The '-ps' option defines the perfscript input profile format. It requires
specifying the aggregation type ('--spe', '--ba') if it differs from
the default one ('brstack'). Note that the profile has to also be generated
using the exact same aggregation type.
Examples:
For ARM SPE:
1) $ perf2bolt BINARY -p perf.data -o test.text --spe --profile-format=perfscript
2) $ perf2bolt BINARY -o test.fdata -p test.text --spe -ps
For Brstack aggregation:
1) $ perf2bolt BINARY -p perf.data -o test.text --profile-format=perfscript
2) $ perf2bolt BINARY -o test.fdata -p test.text -ps
Commit: 07e081dcd784f3286ed9aa1ac549beb61066ce97
https://github.com/llvm/llvm-project/commit/07e081dcd784f3286ed9aa1ac549beb61066ce97
Author: Ariel-Burton <arielburton at yahoo.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/test/DebugInfo/CXX/line.cpp
Log Message:
-----------
Fix clang/test/DebugInfo/CXX/line.cpp (#198401)
This PR twaeks the clang/test/DebugInfo/line.cpp test to pass on z/OS.
The reason the test was failing is that the RUN lines which specify
-triple %itanium_abi_triple expands to s390x-ibm-zos when run on z/OS.
The IR that is emitted for this triple does not match the patterns
expected by the test.
This PR tweaks the patterns in the CHECK lines so that the test also
passes on z/OS.
Commit: ba57a015bae759554357f1a88abe7b03a6e4c9e0
https://github.com/llvm/llvm-project/commit/ba57a015bae759554357f1a88abe7b03a6e4c9e0
Author: John Brawn <john.brawn at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
R llvm/test/Transforms/LoopStrengthReduce/AArch64/use-outside-loop.ll
Log Message:
-----------
Revert "[LSR] Narrow search space by merging users outside and inside loop" (#201581)
This is causing buildbot failures.
Reverts llvm/llvm-project#185929
Commit: 011fab8c30c6ec7a937c33e21f5a586391a51de2
https://github.com/llvm/llvm-project/commit/011fab8c30c6ec7a937c33e21f5a586391a51de2
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit-versioned-language.ll
A llvm/test/CodeGen/DirectX/DebugInfo/di-subprogram.ll
M llvm/test/CodeGen/DirectX/debug-info.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Move IR printing to DXILPrettyPrinter (#198318)
By doing the IR printing inside DXILPrettyPrinter, we have the option to
customise what we print and include the info that we collect and
generate in DXILDebugInfo.
Commit: 39dc8415bf0e3c444e5f67dfdd400bd4fb2062f3
https://github.com/llvm/llvm-project/commit/39dc8415bf0e3c444e5f67dfdd400bd4fb2062f3
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/force-scalable-vectorization-always.ll
Log Message:
-----------
[LV][NFC] Fix force-scalable-vectorization-always.ll (#201580)
Fixes a buildbot failure related to FP rounding error in LV debug
output.
Commit: 76ddd457c4244ea1a2cd5d3f69b5698d341a0f5b
https://github.com/llvm/llvm-project/commit/76ddd457c4244ea1a2cd5d3f69b5698d341a0f5b
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_console.py
Log Message:
-----------
[lldb-dap][Windows] skip TestDAP_restart_console (#201587)
`TestDAP_restart_console` is already failing on Windows. It reliably
crashes (UNRESOLVED) on some Windows version, including inside Docker
containers.
This is preventing us from enabling pre-merge CI testing for lldb on
Windows in https://github.com/llvm/llvm-project/pull/198906.
This patch skips the test entirely. See
https://github.com/llvm/llvm-project/issues/200840 for more details.
Commit: 78d4eac701720c252ed1c835d1f635a223bf70ce
https://github.com/llvm/llvm-project/commit/78d4eac701720c252ed1c835d1f635a223bf70ce
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
Log Message:
-----------
[lldb][Windows] Suspend new threads when stopped (#201558)
`OnCreateThread` runs from the `DebuggerThread` loop after a
`CREATE_THREAD_DEBUG_EVENT`. Each iteration of that loop ends with a
`ContinueDebugEvent`, which on Windows resumes every thread in the
debuggee that *isn't* individually suspended with `SuspendThread`.
If a thread is created while the debuggee is stopped, all the existing
threads are suspended expect the new one. After the next
ContinueDebugEvent it just runs, while lldb's StateType still reads
eStateStopped.
This patch suspends the new thread when the debuggee is stopped.
This fixes `TestTwoHitsOneActual.py` and `TestBreakOnLambdaCapture.py`
when running the test suite with `LLDB_USE_LLDB_SERVER=1`.
rdar://178718627
Commit: 9fbb941b9defce93fb98099b91653db063b0ecba
https://github.com/llvm/llvm-project/commit/9fbb941b9defce93fb98099b91653db063b0ecba
Author: ioana ghiban <ioana.ghiban at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/test/Conversion/FuncToEmitC/func-to-emitc-failed.mlir
Log Message:
-----------
[mlir][Func][EmitC] Bail-out to avoid errors from MemRef array conversions (#198583)
Update FuncToEmitC to bail-out before creating invalid EmitC ops for
unsupported cases.
FuncToEmitC now rejects functions, calls, and returns whose converted
result type is `emitc.array`, instead of relying on later `emitc.func`,
`emitc.call`, or `emitc.return` verifier failures.
This does not add support for returning memrefs from functions. It only
makes the existing limitation explicit at the conversion boundary.
## Tests
Added negative tests for the standalone conversion pass. This pass marks
their source ops illegal, so when a pattern bails-out the pass reports a
legalization failure. This is the expected behavior and documents the
unsupported cases directly.
`convert-to-emitc` is more permissive because it allows partial
conversion and does not mark the same source ops illegal, so it can
leave unsupported ops unconverted without reporting the same failures.
Assisted-by: Codex (refine description). I reviewed all text before
submission.
Commit: 50347f52b68155f49d100839fb17bbda7a40a490
https://github.com/llvm/llvm-project/commit/50347f52b68155f49d100839fb17bbda7a40a490
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/lit.local.cfg
Log Message:
-----------
[Dexter][NFC] Mark script tests unsupported for non-lldb debuggers (#201596)
The recently-added structured script feature currently relies on
DAP-based debuggers, of which the only one currently supported by Dexter
is LLDB. In order to prevent the tests that depend on this feature from
running for other debuggers, we require LLDB for the script test
directory.
Commit: 6e58021642834b4646ffea0fb9a2254f46d30173
https://github.com/llvm/llvm-project/commit/6e58021642834b4646ffea0fb9a2254f46d30173
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
A llvm/test/CodeGen/AArch64/dag-maps-huge-region.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
Log Message:
-----------
[MachineScheduler] Rework dag-maps-huge-region (#200945)
For compile time/memory reasons, dag-maps-huge-region is the number of
memory instructions at which we create a barrier and reset maps.
Previously we'd get to dag-maps-huge-region number of instructions, then
add a barrier in the middle of the current set of instructions, and
continue processing the second half of remaining instructions.
With this change, now we simply add a barrier every time we reach
dag-maps-huge-region number of memory instructions, and blow away all
previous instructions.
So now instead of waiting until we get to 1000 memory operations before
creating a barrier for 500 of them, we do it at 500 and do it for all
500.
With this change, -dag-maps-huge-region=500 still has
addChainDependencies() taking up over half of the codegen pipeline in
some cases I looked at, but it's much better than the previous 90%.
Commit: 2e9f45a7020ba1bb99409e61d17c20cfe60e2e23
https://github.com/llvm/llvm-project/commit/2e9f45a7020ba1bb99409e61d17c20cfe60e2e23
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ModulesDriver.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/unittests/Driver/ToolChainTest.cpp
Log Message:
-----------
[clang][driver] Rename ClangExecutable and getClangProgramPath (NFC) (#200814)
This patch is to rename ClangExecutable to DriverExecutable and
getClangProgramPath to getDriverProgramPath. This makes the
name more neutral and less confusing when used in flang.
Commit: 9d3f50a94aae33ee6077353f846e940f8aaff2f4
https://github.com/llvm/llvm-project/commit/9d3f50a94aae33ee6077353f846e940f8aaff2f4
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/machine-block-hash.mir
Log Message:
-----------
[X86] Fix MachineBlockInfo hash for machine-block-hash.mir (#201039)
I looked at llvm/include/llvm/CodeGen/MachineBlockHashInfo.h,
BlendedBlockHash function and rewrote failing test.
---------
Co-authored-by: mattarde <mattarde at intel.com>
Commit: 1fe66fcfff699bd4aeb6efa0a64ed32fc603af76
https://github.com/llvm/llvm-project/commit/1fe66fcfff699bd4aeb6efa0a64ed32fc603af76
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-redundant-bitcast.mir
Log Message:
-----------
[GlobalISel] Add bitcast chain combine (#200694)
Commit: ef86984f539ff8091ef4e1114a5322fae0fea836
https://github.com/llvm/llvm-project/commit/ef86984f539ff8091ef4e1114a5322fae0fea836
Author: UebelAndre <github at uebelandre.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
M utils/bazel/extensions.bzl
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPCWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
R utils/bazel/third_party_build/BUILD.bazel
R utils/bazel/third_party_build/gmp.BUILD
R utils/bazel/third_party_build/mpc.BUILD
R utils/bazel/third_party_build/mpfr.BUILD
R utils/bazel/third_party_build/nanobind.BUILD
R utils/bazel/third_party_build/pfm.BUILD
R utils/bazel/third_party_build/pyyaml.BUILD
R utils/bazel/third_party_build/robin_map.BUILD
R utils/bazel/third_party_build/vulkan_headers.BUILD
R utils/bazel/third_party_build/zlib-ng.BUILD
R utils/bazel/third_party_build/zstd.BUILD
Log Message:
-----------
[Bazel]: Pull from Bazel-Central-Registry for third party deps. (#197316)
The majority of these dependencies are available in the
[Bazel-Central-Registry](https://github.com/bazelbuild/bazel-central-registry)
(BCR) and to improve build performance for bzlmod users, llvm-project
should pull from the BCR to consolidate targets.
Commit: 6530683b31d8b9a3cb7e04eae7c59abeb223faae
https://github.com/llvm/llvm-project/commit/6530683b31d8b9a3cb7e04eae7c59abeb223faae
Author: Kartik Ohlan <kartik7ohlan at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
R clang/test/CodeGen/AArch64/neon-across.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[CIR] Maximum across vector (IEEE754) (#199779)
Part of https://github.com/llvm/llvm-project/issues/185382
Move the test cases to
[intrinsics.c](https://github.com/llvm/llvmproject/pull/clang/test/CodeGen/AArch64/neon/intrinsics.c)
Removed the test cases from
[neon-intrinsics.c](https://github.com/llvm/llvmproject/pull/clang/test/CodeGen/AArch64/neon/intrinsics.c)
Removed [neon-across.c](clang/test/CodeGen/AArch64/neon-across.c)
---------
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
Commit: 8858ddd8a4735ae120855beb23b3e97dae1887ac
https://github.com/llvm/llvm-project/commit/8858ddd8a4735ae120855beb23b3e97dae1887ac
Author: Tony Guillot <tony.guillot at protonmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[Clang][Docs] Documented sentinel attribute (#196088)
The documentation of the sentinel attribute was missing, this PR
documents the behavior of the sentinel attribute.
Commit: 9f531751bbba6b1493ef4c73c6c97f0adb029976
https://github.com/llvm/llvm-project/commit/9f531751bbba6b1493ef4c73c6c97f0adb029976
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Support packed bswap/bitreverse. (#200448)
We can implement these using combinations of rev, rev8, and ppairoe.*.
Rename REV16->REV16_RV64. A hypothetical REV16 on RV32 would have a
different encoding like REV and REV8.
Long term we should probably custom lower these instead of having
complex isel patterns. That would allow additional optimizations. But I
think the isel patterns are fine as a starting point.
Commit: 017380d800cc03dfc84f8e9c598b4ced6c052a8b
https://github.com/llvm/llvm-project/commit/017380d800cc03dfc84f8e9c598b4ced6c052a8b
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
Log Message:
-----------
[AArch64][GlobalISel] Add pattern to prevent scalar uqxtn fallback (#201546)
Previously, attempting to select the intrinsic
@llvm.aarch64.neon.scalar.uqxtn would cause GlobalISel to fall back to
SDAG.
This was both due to:
1. RegBankSelect placing the operands on gpr banks.
2. No instruction selection patterns for the intrinsic.
Add pattern, and fix RegBankSelect to place operands on the correct
banks.
Commit: 816e2924786a0d7d300aa9a2ff80e5a2a082e6fa
https://github.com/llvm/llvm-project/commit/816e2924786a0d7d300aa9a2ff80e5a2a082e6fa
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaStmt.cpp
M clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
M clang/test/SemaCXX/co_await-range-for.cpp
M clang/test/SemaCXX/for-range-dereference.cpp
Log Message:
-----------
[Clang] Correct diagnostic notes for C++11 range-based for statements with invalid iterator types (#201461)
Previously, diagnostic notes issued for errors encountered due to invalid
iterator types in C++11 range-based for statements reported the range type
as the iterator type instead of the invalid iterator type. Now fixed.
Commit: 27d0d76799cf05975ee3aa5b6a1d13d6831aae28
https://github.com/llvm/llvm-project/commit/27d0d76799cf05975ee3aa5b6a1d13d6831aae28
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrSystem.td
A llvm/test/MC/Disassembler/X86/ibhf-64.txt
A llvm/test/MC/X86/ibhf-64.s
Log Message:
-----------
[X86] Add encoding support for indirect branch history fence (#200918)
This patch introduces ISA under BHI_CTRL CPUID.
The following tech paper is published in May, 2025:
[intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/branch-history-injection.html#ibhf](https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/branch-history-injection.html#ibhf)
As shown in the paper, The encoding is F3 48 0F 1E F8.
It does not need c-intrinsic.
---------
Co-authored-by: mattarde <mattarde at intel.com>
Commit: a314c1073cb2eb3a995013cbea6a7870b82f1f1c
https://github.com/llvm/llvm-project/commit/a314c1073cb2eb3a995013cbea6a7870b82f1f1c
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][NFC] Run buildifier on libc/BUILD.bazel (#201616)
Out of order deps
Commit: 1e87cdf03fb9d6659f7d039ebbb9a4c011947a49
https://github.com/llvm/llvm-project/commit/1e87cdf03fb9d6659f7d039ebbb9a4c011947a49
Author: Sam Fuller <sgfuller31 at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
Include AArch64 SME builtins to compiler-rt for Bazel. (#196607)
Include the AArch64 SME (Scalable Matrix Extension) source files in the
compiler-rt builtins library when targeting aarch64. Added a selection
based on OS platform to use either Apple or Non-Apple sources.
Commit: 48f50e89b726578ee87cd1305330fa32932bb685
https://github.com/llvm/llvm-project/commit/48f50e89b726578ee87cd1305330fa32932bb685
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
Log Message:
-----------
[MCP] Early exit if no copies (NFC) (#201602)
These two functions do expensive per-regunit work, but are no-ops if
there are no Copies, so short-circuit this case.
Commit: fbe7392bdf453cff70615c242d74f11789dd76f1
https://github.com/llvm/llvm-project/commit/fbe7392bdf453cff70615c242d74f11789dd76f1
Author: Arun Thangamani <arun.thangamani at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
M mlir/lib/Dialect/X86/Transforms/VectorContractToPackedTypeDotProduct.cpp
M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
M mlir/test/Dialect/X86/vector-contract-to-packed-type-dotproduct.mlir
Log Message:
-----------
[mlir][x86] Fix - replace `vector.load` with `vector.transfer_read` (#201503)
This patch replaces `vector.load` with `vector.transfer_read` to load
elements as `vector<2x32xi8>` instead of `vector<64xi8>`. This fixes the
online shuffling for `int8` and `f8` types.
Commit: e44d060dfd617e8a5e37b61adcb38ed4ac5d782d
https://github.com/llvm/llvm-project/commit/e44d060dfd617e8a5e37b61adcb38ed4ac5d782d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/Driver.cpp
A clang/test/Driver/Inputs/empty.h
A clang/test/Driver/Inputs/module.modulemap
M clang/test/Driver/crash-diagnostics-dir-3.c
M clang/test/Driver/crash-diagnostics-dir.c
A clang/test/Driver/crash-diagnostics-modules.c
A clang/test/Driver/crash-diagnostics-tar.c
M clang/test/Driver/crash-ir-repro.cpp
M clang/test/Driver/crash-report-clang-cl.cpp
M clang/test/Driver/crash-report-crashfile.m
M clang/test/Driver/crash-report-header.h
M clang/test/Driver/crash-report-modules.m
M clang/test/Driver/crash-report-multi-arch.c
M clang/test/Driver/crash-report-null.test
M clang/test/Driver/crash-report-spaces.c
M clang/test/Driver/crash-report-with-asserts.c
M clang/test/Driver/crash-report.cpp
M clang/test/Driver/lld-repro.c
M clang/test/Modules/crash-vfs-headermaps.m
M clang/test/Modules/crash-vfs-include-pch.m
M clang/test/Modules/crash-vfs-ivfsoverlay.m
M clang/test/Modules/crash-vfs-path-emptydir-entries.m
M clang/test/Modules/crash-vfs-path-symlink-component.m
M clang/test/Modules/crash-vfs-path-symlink-topheader.m
M clang/test/Modules/crash-vfs-path-traversal.m
M clang/test/Modules/crash-vfs-relative-incdir.m
M clang/test/Modules/crash-vfs-relative-overlay.m
M clang/test/Modules/crash-vfs-run-reproducer.m
M clang/test/Modules/crash-vfs-umbrella-frameworks.m
M clang/tools/driver/driver.cpp
Log Message:
-----------
[clang] Add -fcrash-diagnostics-tar for tarball of crash reproducer files (#198838)
Makes it easier to move around crash diagnostics.
Commit: 01dbfa0b6e04c09e389bafd7668b2f99bba3ea79
https://github.com/llvm/llvm-project/commit/01dbfa0b6e04c09e389bafd7668b2f99bba3ea79
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/unittests/Runtime/ListInputTest.cpp
M flang-rt/unittests/Runtime/Namelist.cpp
M flang/docs/Extensions.md
Log Message:
-----------
[flang-rt] Extension: accept '!' as value separator in NAMELIST input (#200441)
Treat '!' as a self-delimiting value separator when reading NAMELIST
input, so that "name=value!comment" is accepted without an intervening
blank, comma, slash, or end of record. This matches gfortran, ifx, and
classic nvfortran behavior on real-world namelist input files.
F2023 13.11.3.6 p.1 requires a value separator before a '!' comment
introducer in namelist input, so this is a documented extension. The
change does not affect '!' characters inside character literal
constants, which continue to be taken literally.
The extension was documented in flang/docs/Extensions.md.
Assisted-by: AI
Commit: 6d1eed609e08df72209e746bb39abbc494de8750
https://github.com/llvm/llvm-project/commit/6d1eed609e08df72209e746bb39abbc494de8750
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
Log Message:
-----------
[RDA] Slightly optimize enterBasicBlock() (NFC) (#201608)
Instead of initializing LiveRegs and doing an elementwise std::max with
the first incoming predecessor, directly copy the data for the first
predecessor.
Commit: 8b140d425a48f90a858394c4186d4bb7826c1376
https://github.com/llvm/llvm-project/commit/8b140d425a48f90a858394c4186d4bb7826c1376
Author: David Green <david.green at arm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/Target/AArch64/AArch64Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/combine-select-zero.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
Log Message:
-----------
[AArch64][GlobalISel] Add select to and combines (#200131)
This adds combines for
// select c, x, 0 -> and c, x
// select c, 0, x -> and (not c), x
// select (not c), x, y -> select c, y, x
We need to freeze the value in the first two. The second is only
profitable if hasAndNot, so it excluded from all_combines.
https://alive2.llvm.org/ce/z/eG-aHT
This helps alleviate regressions when G_SELECT is made legal for vector
operations under AArch64. The AMD tests I am not sure about - let me
know if they look worse. The third combine is mostly useful
post-legalize.
Commit: 9a423a22f4047a8e4daf678cc00393a8f3b7700a
https://github.com/llvm/llvm-project/commit/9a423a22f4047a8e4daf678cc00393a8f3b7700a
Author: Muhammed Shiyas N <114045581+Shiyas-N at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/select_meta.ll
Log Message:
-----------
[InstCombine] Avoid propagating invalid metadata in FoldOpIntoSelect (#199155)
Fixes #186471
FoldOpIntoSelect may create a select with a different result type from
the original instruction. The existing implementation blindly copied all
metadata from the original select, which could propagate invalid
type-specific metadata to the transformed instruction.
In particular, folding an fcmp over a floating-point select could copy
!fpmath metadata onto a non-FP select, producing invalid IR and causing
verifier failures.
This change preserves only metadata that remains valid for the
transformed select and propagates !fpmath only for FP-typed selects.
Debug locations are also preserved explicitly.
Commit: 2a577a44a35975f1ac25096861ab87e4c5ad9ddd
https://github.com/llvm/llvm-project/commit/2a577a44a35975f1ac25096861ab87e4c5ad9ddd
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/ops-cg-privatization.mlir
M mlir/unittests/Dialect/OpenACC/OpenACCTypeInterfacesTest.cpp
Log Message:
-----------
[mlir][acc] Add operation for private handle to memref (#201603)
This MR introduces a new operation `acc.unwrap_private` for creating a
pointer-like view of the `acc.private_type` handle. This operation will
be used when materializing `acc.private_local` into the memory view
needed to access the allocated private memory. This new operation is
just a simple cast and thus it gets ViewLikeOpInterface attached to it.
Additionally, `acc.private_type` is now treated as a pointer-like type
to ease conversions to other pointer-like types via
PointerLikeType::genCast.
Commit: a7a53bfbcff401dbc9df5544b7662a7f96ce7336
https://github.com/llvm/llvm-project/commit/a7a53bfbcff401dbc9df5544b7662a7f96ce7336
Author: Ayush Sahay <asahay at qti.qualcomm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIXDynamic_riscv32.cpp
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIXDynamic_riscv32.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_riscv32.h
M lldb/source/Plugins/Process/Utility/lldb-riscv-register-enums.h
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.h
M lldb/source/Plugins/Process/elf-core/RegisterUtilities.h
M lldb/source/Utility/RISCV_DWARF_Registers.h
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
A lldb/test/API/functionalities/postmortem/elf-core/riscv32-imcxqcixqccmp.gpr_csr.core
A lldb/test/API/functionalities/postmortem/elf-core/riscv32-imcxqcixqccmp.gpr_csr.out
Log Message:
-----------
[lldb][RISCV] Handle subsets of CSRs in RV32 core dump images (#142932)
The standard RISC-V ISA sets aside a 12-bit encoding space for up to
4,096 CSRs. However, many of these may remain unutilized and needn't be
saved in core dump images. To address this, we've come up with a new
note, _NT_CSREGMAP_, that saves subsets of CSRs as key-value pairs. This
change provisions support for handling the subsets of CSRs saved in
32-bit RISC-V core dump images by building the register information for
GPRs, FPRs, and CSRs dynamically.
Kindly refer to the corresponding topic ([Add RISC-V CSRs to core
dumps](https://discourse.llvm.org/t/add-risc-v-csrs-to-core-dumps/84348))
for additional details.
Commit: b7e08b6467d554c73997b6eb6b7a2bdec51c444e
https://github.com/llvm/llvm-project/commit/b7e08b6467d554c73997b6eb6b7a2bdec51c444e
Author: Thurston Dang <thurston at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Transforms/IndVarSimplify/issue195176.ll
Log Message:
-----------
[SCEV] Fix ScalarEvolution::getBackedgeTakenInfo when L not found (#201502)
By the end of ScalarEvolution::getBackEdgeTakenInfo():
```
...
BackedgeTakenInfo Result = computeBackedgeTakenCount(L);
if (Result.hasAnyInfo()) {
// Invalidate any expression using an addrec in this loop.
...
}
return BackedgeTakenCounts.find(L)->second = std::move(Result);
```
BackedgeTakenCounts may no longer contain an entry for L, resulting in a
crash (https://github.com/llvm/llvm-project/issues/195176). This patch
fixes the issue by inserting the entry if it does not exist (and
otherwise keeping the same behavior).
This adds a regression test (crash on opt 19.1.0 onwards e.g.,
https://godbolt.org/z/Wq3n3rEqT), metarenamed from
https://github.com/dtcxzyw/llvm-autoreduce/issues/106, which in turn was
derived from https://github.com/llvm/llvm-project/issues/195176.
Commit: b6d82d2ff0c3271ff32077576bbe618d5448a6d8
https://github.com/llvm/llvm-project/commit/b6d82d2ff0c3271ff32077576bbe618d5448a6d8
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/test/CodeGen/NVPTX/vaargs.ll
Log Message:
-----------
[ExpandVariadics] Expand vaarg instructions (#201156)
Expand vaarg instructions within ExpandVariadics (Clang generally does
not emit these instructions but other front-ends may). This pass already
has all the necessary information to expand these instructions and doing
this in IR as part of this pass is simpler than lowering these
instructions during ISel after type legalization. This fixed a
type-mismatch bug in NVPTX.
Commit: 5a4516ca104fbc9607704714e3f2dbe0f8baa822
https://github.com/llvm/llvm-project/commit/5a4516ca104fbc9607704714e3f2dbe0f8baa822
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 2a577a4 (#201625)
This fixes 2a577a44a35975f1ac25096861ab87e4c5ad9ddd.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 69f7aeb52e71ebb7d264bc9e613bc4bc90cb0c47
https://github.com/llvm/llvm-project/commit/69f7aeb52e71ebb7d264bc9e613bc4bc90cb0c47
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/Driver.cpp
R clang/test/Driver/Inputs/empty.h
R clang/test/Driver/Inputs/module.modulemap
M clang/test/Driver/crash-diagnostics-dir-3.c
M clang/test/Driver/crash-diagnostics-dir.c
R clang/test/Driver/crash-diagnostics-modules.c
R clang/test/Driver/crash-diagnostics-tar.c
M clang/test/Driver/crash-ir-repro.cpp
M clang/test/Driver/crash-report-clang-cl.cpp
M clang/test/Driver/crash-report-crashfile.m
M clang/test/Driver/crash-report-header.h
M clang/test/Driver/crash-report-modules.m
M clang/test/Driver/crash-report-multi-arch.c
M clang/test/Driver/crash-report-null.test
M clang/test/Driver/crash-report-spaces.c
M clang/test/Driver/crash-report-with-asserts.c
M clang/test/Driver/crash-report.cpp
M clang/test/Driver/lld-repro.c
M clang/test/Modules/crash-vfs-headermaps.m
M clang/test/Modules/crash-vfs-include-pch.m
M clang/test/Modules/crash-vfs-ivfsoverlay.m
M clang/test/Modules/crash-vfs-path-emptydir-entries.m
M clang/test/Modules/crash-vfs-path-symlink-component.m
M clang/test/Modules/crash-vfs-path-symlink-topheader.m
M clang/test/Modules/crash-vfs-path-traversal.m
M clang/test/Modules/crash-vfs-relative-incdir.m
M clang/test/Modules/crash-vfs-relative-overlay.m
M clang/test/Modules/crash-vfs-run-reproducer.m
M clang/test/Modules/crash-vfs-umbrella-frameworks.m
M clang/tools/driver/driver.cpp
Log Message:
-----------
Revert "[clang] Add -fcrash-diagnostics-tar for tarball of crash reproducer files" (#201622)
Reverts llvm/llvm-project#198838
Test failing at
https://lab.llvm.org/buildbot/#/builders/190/builds/43494
Commit: 119e57630281e246d858717f8e331772b01f2908
https://github.com/llvm/llvm-project/commit/119e57630281e246d858717f8e331772b01f2908
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
A lldb/cmake/modules/LLDBConcatFiles.cmake
A lldb/scripts/extract-dynamic-script-interpreter-exports.py
M lldb/source/API/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[lldb] Build liblldb exports from script-interpreter imports (#201392)
With LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS, the script interpreter
plugins are built as standalone shared libraries that resolve their
lldb_private/llvm references through liblldb's re-exports. liblldb was
falling back to liblldb-private.exports, which allowlists the
lldb_private/llvm namespaces wholesale.
Generate the export list per build instead. For each plugin, run llvm-nm
on its compiled objects, keep undefined references in namespaces liblldb
owns, subtract the plugin's own definitions, and concatenate the
per-plugin lists with liblldb.exports.
The plugin's SHARED target LINK_LIBS liblldb, which makes the plugin's
compile order depend on liblldb. Wiring the exports file in via
add_llvm_symbol_exports' built-in target dependency would form a cycle
through that order-only edge. Add NO_TARGET_DEPENDENCY to
add_llvm_symbol_exports so we can apply the file via LINK_DEPENDS alone;
that still triggers a relink when the symbol set changes, without
participating in compile-order tracking.
Windows is unchanged: msvc_extract_private_symbols.py was already doing
per-symbol extraction at namespace granularity.
Assisted-by: Claude
Commit: 5b12f6e1aa8440888cb6a48099b5f999f8692b2e
https://github.com/llvm/llvm-project/commit/5b12f6e1aa8440888cb6a48099b5f999f8692b2e
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
Log Message:
-----------
[bazel] Bump versions of BCR deps + bazel 8.6->8.7 (#201613)
After merging #197316, I noticed a warning about a `rules_cc` version
mismatch (`--check_direct_dependencies=off`). Might as well bump all the
versions since we haven't done that in a while.
This doesn't bump the bazel version to 9 yet, but we could try that
next. Just bumping 8.6 -> 8.7 to keep things fresh but at the same
compatibility level.
Commit: e492f11226d81445bffe263b0421362850d37811
https://github.com/llvm/llvm-project/commit/e492f11226d81445bffe263b0421362850d37811
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[lldb][windows] enable CI tests (#198906)
Commit: a8267ccddd8324733eb5ac2663b6a0ca1d904c10
https://github.com/llvm/llvm-project/commit/a8267ccddd8324733eb5ac2663b6a0ca1d904c10
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/binop.cpp
M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
M clang/test/CIR/CodeGen/complex-mul-div.cpp
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/CIR/Lowering/binop-fp.cir
M clang/test/CodeGen/AArch64/neon/fullfp16.c
Log Message:
-----------
[CIR] Separate floating-point bin ops from integer bin ops (#201462)
This change creates new FP-specific binary operations and updates the
existing binary operations that previously accepted any arithmetic type
to only allow integer and vector-of-integer types.
This change is being done to prepare for extended floating-point
handling such as strict FP semantics and fast-math handling. It also
simplifies the handling of integer overflow flags.
Assisted-by: Cursor / claude-opus-4.8
Commit: ff25d3158175c089b39cc98c411679ec8f7be4b6
https://github.com/llvm/llvm-project/commit/ff25d3158175c089b39cc98c411679ec8f7be4b6
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py
M lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py
M lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py
Log Message:
-----------
[lldb] xfail tests for arm64e caused by compiler bugs (#201454)
These tests are caused by bugs in clang where arm64e support is not yet
complete.
Commit: 131ca5c65eca521626041639742479a0f300496c
https://github.com/llvm/llvm-project/commit/131ca5c65eca521626041639742479a0f300496c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/bolt/unittests/Profile/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#201639)
3e447333fe32
a7a53bfbcff4
Commit: c193b2df39c711eab8fdd9ad9a5cffb045835c28
https://github.com/llvm/llvm-project/commit/c193b2df39c711eab8fdd9ad9a5cffb045835c28
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M flang/docs/Extensions.md
Log Message:
-----------
[flang][docs] Documented `c_float128` and `c_float128_complex` extension (#201614)
flang has supported this for a long time, but it wasn't documented as an
extension
Commit: 7d27cf7c2bddffded12f5526be2d1215671db8d1
https://github.com/llvm/llvm-project/commit/7d27cf7c2bddffded12f5526be2d1215671db8d1
Author: Thurston Dang <thurston at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
R llvm/test/Transforms/IndVarSimplify/issue195176.ll
Log Message:
-----------
Revert "[SCEV] Fix ScalarEvolution::getBackedgeTakenInfo when L not found" (#201640)
Reverts llvm/llvm-project#201502 due to buildbot breakage:
https://lab.llvm.org/buildbot/#/builders/187/builds/20579
Commit: 77a4516f18785307d3a3add49de0aa151a69fdcf
https://github.com/llvm/llvm-project/commit/77a4516f18785307d3a3add49de0aa151a69fdcf
Author: Kunal Pathak <kunalspathak.github at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/ldst-opt-umov-fpr-store.mir
A llvm/test/CodeGen/AArch64/umov-fpr-store-from-phi.ll
Log Message:
-----------
[AArch64] Fold UMOV(lane 0) + GPR store in FPR store (#199139)
Problem: LLVM generates `umov w8, v0.h[0]` + `strh w8, [x0]` instead of
`str h0, [x0]` when storing vector lane 0 to memory, specifically when
SimplifyCFG merges stores across branches -- splitting the
extractelement and store into different basic blocks and preventing the
existing DAG combine from firing.
https://godbolt.org/z/v5G9ohMPa
Root cause: SimplifyCFG creates a PHI + merged store in a successor
block. SelectionDAG ISel processes each block independently, so it
lowers the extract to `UMOV` (GPR) in the predecessor and the store sees
only a GPR value via the PHI. Late tail duplication puts the store back
in the same block, but the `UMOV` is already baked in.
Fix: Added a post-RA peephole in `AArch64LoadStoreOptimizer` (step 6 in
`optimizeBlock`) that recognizes `UMOVvi*_idx0` + GPR store patterns and
replaces them with direct FPR sub-register stores. The peephole:
- Handles all element sizes: i8 (`bsub`), i16 (`hsub`), i32 (`ssub`),
i64 (`dsub`)
- Correctly updates liveness by clearing intervening kill flags on the
vector register
- Bails out if the GPR value has other uses, the vector register is
clobbered, or the store doesn't kill the GPR
Assisted-by: Claude
Fixes: https://github.com/llvm/llvm-project/issues/137086
---------
Co-authored-by: Kunal Pathak <kupathak at fb.com>
Commit: 52a43992cd92b98f5059851fe43a33ba94527bd4
https://github.com/llvm/llvm-project/commit/52a43992cd92b98f5059851fe43a33ba94527bd4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A lldb/docs/use/formatting.md
R lldb/docs/use/formatting.rst
A lldb/docs/use/intel_pt.md
R lldb/docs/use/intel_pt.rst
A lldb/docs/use/map.md
R lldb/docs/use/map.rst
A lldb/docs/use/remote.md
R lldb/docs/use/remote.rst
A lldb/docs/use/symbolfilejson.md
R lldb/docs/use/symbolfilejson.rst
A lldb/docs/use/symbolication.md
R lldb/docs/use/symbolication.rst
A lldb/docs/use/symbols.md
R lldb/docs/use/symbols.rst
A lldb/docs/use/troubleshooting.md
R lldb/docs/use/troubleshooting.rst
A lldb/docs/use/tutorial.md
R lldb/docs/use/tutorial.rst
A lldb/docs/use/variable.md
R lldb/docs/use/variable.rst
Log Message:
-----------
[lldb][docs] Convert use/ RST docs to Markdown (NFC) (#201467)
Convert the ten user-facing RST docs under lldb/docs/use/ to MyST
Markdown. This is the third batch of an incremental RST -> Markdown
migration; PR1 covered the small leaf pages and PR2 covered the
contributor-facing docs under resources/.
Files: formatting, intel_pt, map, remote, symbolfilejson, symbolication,
symbols, troubleshooting, tutorial, variable.
Verified by building the docs on origin/main and on this branch with
identical sphinx flags and diffing both the warnings and the rendered
HTML. After file extension and line numbers are normalized, the warning
sets match exactly. Seven of the ten pages are byte-identical. The three
that differ (symbolication, tutorial, variable) differ only in
CommonMark collapsing two-spaces-after-period to one and MyST renaming
auto-numbered footnote IDs (`id6` -> `footnote-1`) plus adding an `<hr>`
separator before footnote sections.
The diff also surfaced three semantic regressions in the conversion,
fixed here:
- variable.md lost cross-reference behavior on single-backtick refs to
`SBValue` and `SBData`. RST's default role is `any`, so single backticks
attempted xrefs; in MyST single backticks are plain code spans.
Converted these occurrences to explicit `{any}`...``.
- map.md emitted bare `[Section Name]` for the page TOC, which
CommonMark treats as an undefined reference shortcut and falls through
to literal text. Converted to `[Section Name](#slug)`.
- variable.md emitted `[format name][format name]` as a similar
undefined reference shortcut. Converted to `[format name](#format-
name)` to match the new `(format-name)=` anchor.
Context:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/
Assisted-by: Claude
Commit: 2851820759fd912c17ac07a492687499aa83906a
https://github.com/llvm/llvm-project/commit/2851820759fd912c17ac07a492687499aa83906a
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
Log Message:
-----------
[flang][acc] Attach FortranObjectViewOpInterface to acc.unwrap_private (#201646)
Since this operation is simply a zero-offset view, attach the
FortranObjectViewOpInterface to allow FIR AA to walk this if needed.
Commit: f357a470de89660b6a887abc95f6a15aae205e64
https://github.com/llvm/llvm-project/commit/f357a470de89660b6a887abc95f6a15aae205e64
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][lex] Store `HeaderFileInfo` in a `DenseMap` (#200968)
Calling `FileManager::GetUniqueIDMapping()` during modular builds gets
very expensive if the `FileManager` has seen lots of files. This
function is used in two places in the `ASTWriter` to look up
`HeaderFileInfo` in `HeaderSearch`.
This PR changes the storage of `HeaderFileInfo` from
`FileEntry::getUID()`-indexed `std::vector<T>` to
`llvm::DenseMap<FileEntryRef, T>`, improving scanning performance by
~2.5%.
Commit: c005f737e764fab61a02ca5587cf43a16716b5fc
https://github.com/llvm/llvm-project/commit/c005f737e764fab61a02ca5587cf43a16716b5fc
Author: Abinaya Saravanan <asaravan at qti.qualcomm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonPatterns.td
A llvm/test/CodeGen/Hexagon/bitcast-f64-vector.ll
Log Message:
-----------
Fix "Cannot select" crash on bitcast between f64 and int vector types (#201509)
All of i64, f64, v2i32, v4i16, v8i8 are assigned to the DoubleRegs
register class (64-bit register pairs). A bitcast between any two of
these types is a machine-level no-op (ie. the same physical register is
reinterpreted with a different type).
HexagonPatterns.td had NopCast_pat entries for all int-to-int bitcasts
within DoubleRegs, and explicit patterns for f64 <-> i64, but was
missing patterns for f64 <-> v2i32, f64 <-> v4i16, and f64 <-> v8i8. The
same gap existed in IntRegs for f32 <-> v2i16 and f32 <-> v4i8.
Without a tableGen pattern for "f64 = bitcast v2i32" node, the
instruction selector crashed with:
LLVM ERROR: Cannot select: t26: f64 = bitcast t6
t6: v2i32,ch = CopyFromReg t0, Register:v2i32 %2
Fix by adding the five missing NopCast_pat entries.
Fixes: https://github.com/llvm/llvm-project/issues/195495
Commit: 990811766057d912deab1a4aca9d61c73f136b2e
https://github.com/llvm/llvm-project/commit/990811766057d912deab1a4aca9d61c73f136b2e
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/Driver.cpp
A clang/test/Driver/Inputs/empty.h
A clang/test/Driver/Inputs/module.modulemap
M clang/test/Driver/crash-diagnostics-dir-3.c
M clang/test/Driver/crash-diagnostics-dir.c
A clang/test/Driver/crash-diagnostics-modules.c
A clang/test/Driver/crash-diagnostics-tar.c
M clang/test/Driver/crash-ir-repro.cpp
M clang/test/Driver/crash-report-clang-cl.cpp
M clang/test/Driver/crash-report-crashfile.m
M clang/test/Driver/crash-report-header.h
M clang/test/Driver/crash-report-modules.m
M clang/test/Driver/crash-report-multi-arch.c
M clang/test/Driver/crash-report-null.test
M clang/test/Driver/crash-report-spaces.c
M clang/test/Driver/crash-report-with-asserts.c
M clang/test/Driver/crash-report.cpp
M clang/test/Driver/lld-repro.c
M clang/test/Modules/crash-vfs-headermaps.m
M clang/test/Modules/crash-vfs-include-pch.m
M clang/test/Modules/crash-vfs-ivfsoverlay.m
M clang/test/Modules/crash-vfs-path-emptydir-entries.m
M clang/test/Modules/crash-vfs-path-symlink-component.m
M clang/test/Modules/crash-vfs-path-symlink-topheader.m
M clang/test/Modules/crash-vfs-path-traversal.m
M clang/test/Modules/crash-vfs-relative-incdir.m
M clang/test/Modules/crash-vfs-relative-overlay.m
M clang/test/Modules/crash-vfs-run-reproducer.m
M clang/test/Modules/crash-vfs-umbrella-frameworks.m
M clang/tools/driver/driver.cpp
Log Message:
-----------
[clang] Add -fcrash-diagnostics-tar for tarball of crash reproducer files (#201643)
Makes it easier to move around crash diagnostics.
Reland of #198838 with crash-diagnostics-tar.c and
crash-report-crashfile.m fixed.
Commit: 1b85dfdd324eb2a7eef5f17c0595d84791ded2c9
https://github.com/llvm/llvm-project/commit/1b85dfdd324eb2a7eef5f17c0595d84791ded2c9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitreverse.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add handling for X86ISD::VSHLDQ\VSRLDQ byte shift instructions (#201641)
Commit: bb3d14fb4a2f57daf5e859a6797dcfc81dfa3c51
https://github.com/llvm/llvm-project/commit/bb3d14fb4a2f57daf5e859a6797dcfc81dfa3c51
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/tools/CMakeLists.txt
Log Message:
-----------
[cmake] Add llvm-nm before lldb (#201648)
After #199152, CMake failed for me with:
```
CMake Error at cmake/modules/AddLLVM.cmake:2805 (get_target_property):
get_target_property() called with non-existent target "llvm-nm".
Call Stack (most recent call first):
F:/Dev/llvm-project/lldb/source/API/CMakeLists.txt:205 (get_host_tool_path)
```
I'm not sure why it didn't fail in CI or on the buildbots. The fix here
is to add llvm-nm before lldb like we do with other projects.
Commit: bcdb732df219fc5de7c16b9712d52aa56b22fed0
https://github.com/llvm/llvm-project/commit/bcdb732df219fc5de7c16b9712d52aa56b22fed0
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-templates-pattern.cpp
M clang/test/CXX/basic/basic.link/p11.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
M clang/test/CodeGenCXX/default-arguments.cpp
M clang/test/CodeGenCXX/explicit-instantiation.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/friend-template.cpp
M clang/test/SemaTemplate/instantiate-scope.cpp
M clang/test/Templight/templight-default-func-arg.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[clang] Reland: fix getTemplateInstantiationArgs (#201373)
Relands #199528
This implements a new strategy for collecting the template arguments, by
relying on the qualifiers and template parameter lists to navigate the
template
context of out-of-line definitions.
This greatly simplifies the signature of that function, by removing a
bunch
of workarounds, and simpliffying a couple that weren't removed yet.
Since this now relies on qualifiers and template parameter lists,
this patch expends most of its effort making sure these are placed,
transformed and propagated to template instantiations.
Also makes the explicit specialization AST nodes stop abusing the
template
parameter lists by storing it's own template parameter list, creating a
dedicated field for them, similar to partial specializations.
Commit: 9f6b3b34e278ebd11b330c6135d28189f27eb3d8
https://github.com/llvm/llvm-project/commit/9f6b3b34e278ebd11b330c6135d28189f27eb3d8
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel][lldb] Port a7a53bfbcff401dbc9df5544b7662a7f96ce7336 (#201660)
Adds a new dep
Commit: 07c318fa917428f8f2b9c7cf49f1c91a6e8a089a
https://github.com/llvm/llvm-project/commit/07c318fa917428f8f2b9c7cf49f1c91a6e8a089a
Author: KRM7 <rugasikrisztian at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-sextload-from-sextinreg.mir
Log Message:
-----------
Add missing REQUIRES: asserts to test case which needs it (#201626)
Commit: 19703323e0c75c63214fcc29272c118326b95ecc
https://github.com/llvm/llvm-project/commit/19703323e0c75c63214fcc29272c118326b95ecc
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
Log Message:
-----------
[scudo] Log if randomness degrades. (#201482)
Commit: 7b4d5d09813707fc448fd95ce366889913428614
https://github.com/llvm/llvm-project/commit/7b4d5d09813707fc448fd95ce366889913428614
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/CMakeLists.txt
M offload/plugins-nextgen/level_zero/dynamic_l0/L0DynWrapper.cpp
M offload/plugins-nextgen/level_zero/dynamic_l0/level_zero/ze_api.h
M offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
M offload/plugins-nextgen/level_zero/include/L0Context.h
M offload/plugins-nextgen/level_zero/include/L0Device.h
A offload/plugins-nextgen/level_zero/include/L0Event.h
M offload/plugins-nextgen/level_zero/include/L0Memory.h
M offload/plugins-nextgen/level_zero/include/L0Queue.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
A offload/plugins-nextgen/level_zero/src/L0Event.cpp
M offload/plugins-nextgen/level_zero/src/L0Memory.cpp
Log Message:
-----------
[OFFLOAD][L0] Implement Event APIs (#201306)
Introduce a new L0EventTy type used to implement most of the Event APIs
of PluginInterface (all but getEventElapsedTimeImpl).
---------
Co-authored-by: Kevin Sala Penades <kevinsala.ks at gmail.com>
Commit: cac3e7973a5f84473c9a6543cdae5a614114eaa9
https://github.com/llvm/llvm-project/commit/cac3e7973a5f84473c9a6543cdae5a614114eaa9
Author: Alexis Perry-Holby <aperry at lanl.gov>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A flang/docs/MeetingNotes/2026/2026-06-03.md
Log Message:
-----------
[flang] Adding notes from the Flang Community Call June 3rd (#201458)
Commit: e4828aa1eabba8905cb878d07e5e956b5cc0e165
https://github.com/llvm/llvm-project/commit/e4828aa1eabba8905cb878d07e5e956b5cc0e165
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
Log Message:
-----------
[clang-doc] Wrap per thread arenas in an accessor for BUILD_SHARED (#201388)
It seems like for BUILD_SHARED builds of the toolchain on Windows,
specifically aarch64-windows-gnu hosts, the use of the `thread_local`
variables in Representation.cpp causes an issue at link time due to
non-explicit export. Instead, just wrap them in an accessor function,
which should solve the issue in a cross platform way.
Fixes #200915
Commit: a89a59367fce12bc2d2d75510cda653b2482d962
https://github.com/llvm/llvm-project/commit/a89a59367fce12bc2d2d75510cda653b2482d962
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/LowerTypeTests/Inputs/blockaddr-import.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/cfi-direct-call.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/cfi-direct-call1.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/import-alias.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/import-icall.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/import-thinlto-funcs.yaml
M llvm/test/Transforms/LowerTypeTests/export-icall.ll
Log Message:
-----------
[CFI] Refactor `CfiFunctionIndex` to externalize GUID calculation (#201635)
In preparation for PR #201370 - the goal is to decouple CFI from _how_
ThinLTO computes its GUIDs, and enable PR #184065 (for this
[RFC](https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801)).
This PR just changes APIs and the internal implementation of
CfiFunctionIndex, the subsequent one (201370) actually propagates GUIDs
through metadata. It's _almost_ NFC - the YAML format does change
though.
Commit: 6f5702095457319e5e530baeafb191e4bcd556f3
https://github.com/llvm/llvm-project/commit/6f5702095457319e5e530baeafb191e4bcd556f3
Author: Dan Bonachea <dobonachea at lbl.gov>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M flang/docs/ParallelMultiImageFortranRuntime.md
Log Message:
-----------
docs/ParallelMultiImageFortranRuntime: Update link to latest PRIF Specification (#201403)
The PRIF Committee is pleased to announce the publication of the
Parallel Runtime Interface for Fortran (PRIF) Specification, Revision
0.8. The latest iteration of this specification represents the efforts
of a collaborative design process involving multiple individuals across
several institutions.
The document is available here: https://doi.org/10.25344/S4Z88F
The PRIF specification is governed by a formal PRIF Committee. For more
details, see: https://go.lbl.gov/prif-governance
The Committee vote to approve the technical content in this revision
began on 2026-04-30 and concluded successfully on 2026-05-18.
The 7-day committee comment period for cosmetic feedback began on
2026-05-21 and concluded on 2026-05-28 with no comments, and only minor
editorial changes by the Editor.
See the Change Log in Section 1 of the document for the list of changes
relative to the prior revision.
Commit: 889496c13bd4d3114e375bd0aeb1f161eff67c33
https://github.com/llvm/llvm-project/commit/889496c13bd4d3114e375bd0aeb1f161eff67c33
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/SemaTemplate/ctad.cpp
Log Message:
-----------
[clang] fix assertion for DeducedAsPack DeducedTemplateSpecializationType (#201664)
This fixes a regression introduced in #186727, which was never released,
so there are no release notes.
Fixes #200418
Commit: 6e310bf37a199297a86f6338d94af14220bed969
https://github.com/llvm/llvm-project/commit/6e310bf37a199297a86f6338d94af14220bed969
Author: Srividya Sundaram <srividya.sundaram at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][doc][SYCL] Expand SYCL driver release notes (#200449)
## Summary
The SYCL Support section in the release notes previously had a single
entry for the default SPIR-V target change. This PR adds driver-level
entries covering all notable SYCL changes landed upstream:
- `-fsycl`, `-fsycl-device-only`, `-fsycl-host-only` flag introduction
(#GH117268)
- C++17 default enforcement and sub-C++17 rejection (#GH194014)
- Runtime library rename from `libsycl.so` to `libLLVMSYCL.so` and
automatic runtime path / header include injection (#GH188770, #GH174877)
- Windows SYCL runtime library linking support with CRT management
(#GH194744)
- Fix for `-nolibsycl` being silently ignored and spurious spirv-link
flags forwarded to `clang-sycl-linker` (#GH200252)
Addresses the review comment on #200200 requesting that notable SYCL
driver and offload tool changes be documented alongside the front-end
changes. This PR covers only the Clang Driver changes.
---------
Co-authored-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 6ecdfcfb1ebdc545020080f10ec2d6587122c73f
https://github.com/llvm/llvm-project/commit/6ecdfcfb1ebdc545020080f10ec2d6587122c73f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
Log Message:
-----------
[LV] Add test showing incorrect flag merging in narrowIG (NFC). (#201673)
Add test showing narrowInterleaveGroups incorrectly using the flags from
the first member, even if other members do not have the same flags.
Commit: 6b3aeb8a2788f65bb16bc9542630438a44195a90
https://github.com/llvm/llvm-project/commit/6b3aeb8a2788f65bb16bc9542630438a44195a90
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/call-intrin.mlir
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/Import/intrinsic-unregistered.ll
Log Message:
-----------
[MLIR][LLVMIR] Add support for intrinsics with metadata arguments (#200308)
This updates the LLVM dialect to properly handle intrinsics with
metadata arguments.
The primary goal of this change is to support the constrained FP
intrinsics, but support for other intrinsics with metadata arguments
came along with the change.
I have not yet added the RoundingModeOpInterface and
FPExceptionBehaviorOpInterface to CallIntrinsicOp. I intend to do that
as a follow up change if this direction is accepted. I have also not yet
removed existing specialized operations that explicitly handle a subset
of the constrained intrinsics.
Assisted-by: Cursor / claude-opus-4.7
Commit: 0027d8904d5a94e6b39e2c3198e901be6d929097
https://github.com/llvm/llvm-project/commit/0027d8904d5a94e6b39e2c3198e901be6d929097
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-install-name-tool.rst
A llvm/test/tools/llvm-objcopy/MachO/install-name-tool-output.test
M llvm/tools/llvm-objcopy/InstallNameToolOpts.td
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
Log Message:
-----------
[llvm-objcopy] Add -o to install_name_tool (#189495)
This allows copying the binary vs updating it in place
Commit: cc377f71c3b5b9b3d38b7f661d88908b3f235a2f
https://github.com/llvm/llvm-project/commit/cc377f71c3b5b9b3d38b7f661d88908b3f235a2f
Author: Kevin McAfee <kmcafee at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Batch common-factor folding in getAddExpr (#184258)
The existing pairwise common-factor fold in getAddExpr handles two
patterns:
`W + X + (X * Y * Z) --> W + (X * ((Y*Z)+1))`
`X + (A*B*C) + (A*D*E) --> X + (A*(B*C+D*E))`
Both fold exactly two terms sharing a common factor, then re-enter
getAddExpr() with the partially-simplified Ops. When n terms share a
common factor X, this requires n-1 re-entries through the full
getAddExpr normalization pipeline.
Replace this with a single-pass scan that collects all terms sharing the
common factor and folds them in one shot:
`A1*X + A2*X + ... + An*X --> X * (A1 + A2 + ... + An)`
This reduces the number of top-level re-entries into getAddExpr() for
this fold from n-1 to 1, improving compile time for expressions with
many terms sharing a common factor.
Note that in some cases this change causes benign operand order
changes.
Commit: 2dce1190b0aae797996023783731efbfb8e33a8f
https://github.com/llvm/llvm-project/commit/2dce1190b0aae797996023783731efbfb8e33a8f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M libcxx/include/__expected/expected.h
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp
Log Message:
-----------
[libc++] Fix constraint recursion in std::expected's operator== (#201455)
The C++26 constraint added to operator==(const expected& x, const T2& v)
by P3379R0 evaluates *x == v as part of constraint satisfaction. When
ADL on a comparison reaches this hidden friend through a type whose
associated namespaces include std::expected -- for example std::pair<T,
std::expected<U, V>> -- the constraint check ends up considering the
same overload again with the original type as T2, producing a
"satisfaction of constraint depends on itself" error.
Parameterize the expected operand with an extra template parameter
constrained to be the same type as the enclosing expected's value type.
This is observationally equivalent but makes template argument deduction
fail for non-expected operands before the constraint is evaluated, so
the recursion never starts.
Fixes #160431
rdar://178226313
Assisted-by: Claude
Commit: 717e3c7bcf37a252ba90d612406aba037b50c0ff
https://github.com/llvm/llvm-project/commit/717e3c7bcf37a252ba90d612406aba037b50c0ff
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M libcxx/include/__locale_dir/wstring_convert.h
A libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/pragma_suppress.compile.pass.cpp
Log Message:
-----------
[libc++] Suppress deprecation warning around wstring_convert::to_bytes (#201633)
The deprecation warning for wstring_convert::to_bytes fires from inside
the libc++ header, so users can't suppress it with their own diagnostic
pragmas around the call site. Wrap the definition with
_LIBCPP_SUPPRESS_DEPRECATED_PUSH/POP, mirroring what's already done for
the destructor and from_bytes just above.
Add a regression test under test/libcxx.
rdar://173319468
Assisted-by: Claude
Commit: 7e2c7050a7b59d324f26a10da73edff5aeedd3ba
https://github.com/llvm/llvm-project/commit/7e2c7050a7b59d324f26a10da73edff5aeedd3ba
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A lldb/docs/index.md
R lldb/docs/index.rst
A lldb/docs/python_api_enums.md
R lldb/docs/python_api_enums.rst
Log Message:
-----------
[lldb][docs] Convert top-level RST docs to Markdown (NFC) (#201674)
Convert the two remaining top-level RST docs, index and
python_api_enums, to MyST Markdown. This is the final batch of an
incremental RST -> Markdown migration.
After this change, the only RST sources left under lldb/docs/ are
man/lldb.rst and man/lldb-server.rst, which conf.py intentionally keeps
as RST so the man-page builder can run without myst_parser installed
(this reduces dependencies for some llvm distributions).
Verified by building the docs on origin/main and on this branch with
identical sphinx flags and diffing both the warnings and the rendered
HTML. After file extension and line numbers are normalized, the warning
sets match exactly. index.html is byte-identical; python_api_enums.html
differs in a single line where CommonMark collapses two spaces after a
period to one.
The diff also surfaced two semantic regressions in the conversion, fixed
here:
- index.md and python_api_enums.md lost cross-reference behavior on
single-backtick refs to `lldb` and `SBHostOS.GetLLDBPath`. RST's default
role is `any`, so single backticks attempted xrefs; in MyST single
backticks are plain code spans. Converted to explicit `{any}`...``
syntax.
Context: https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/
Assisted-by: Claude
Commit: f76f26d9560356680da47bc9252df6283a14adad
https://github.com/llvm/llvm-project/commit/f76f26d9560356680da47bc9252df6283a14adad
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof-icp-metadata.ll
Log Message:
-----------
[MemProf] Fix incorrect VP metadata update during ICP promotion (#201658)
Track unpromoted candidates explicitly when performing ICP during
MemProf
context disambiguation. Previously, the code assumed that the first N
candidates were always the ones promoted, which led to incorrect
metadata
on the fallback indirect call if a candidate was skipped (e.g. due to
missing definition or being illegal to promote).
Commit: b0b433c725aa6fc80ba3de35abb345c7b2cd191e
https://github.com/llvm/llvm-project/commit/b0b433c725aa6fc80ba3de35abb345c7b2cd191e
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
Log Message:
-----------
[VPlan] Intersect IR flags across interleave members when narrowing. (#201682)
Update narrowInterleaveGroupOp to properly intersect flags for all wide
members, to make sure we only use the flags common across all combined
members.
Commit: 01c00d115c3e46c4cb78ec78c2a8c729aa0e07ca
https://github.com/llvm/llvm-project/commit/01c00d115c3e46c4cb78ec78c2a8c729aa0e07ca
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
Log Message:
-----------
[MLIR][XeGPU] Promote memref.alloca to SLM in convert-vector-to-xegpu (#197978)
Run a small pre-pass at the start of convert-vector-to-xegpu that
rewrites every memref.alloca to address space 3, so allocations coming
out of bufferization carry the SLM attribute by the time the conversion
patterns run.
Commit: bea8fa29233c8daa2dc8818df2763f6bf8765f69
https://github.com/llvm/llvm-project/commit/bea8fa29233c8daa2dc8818df2763f6bf8765f69
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit-versioned-language.ll
M llvm/test/CodeGen/DirectX/DebugInfo/di-subprogram.ll
M llvm/test/CodeGen/DirectX/Metadata/cbuffer-metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/dx_precise.ll
M llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
M llvm/test/CodeGen/DirectX/ResourceGlobalElimination.ll
M llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll
M llvm/test/CodeGen/DirectX/debug-info.ll
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead-lib.ll
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead.ll
M llvm/test/CodeGen/DirectX/finalize_linkage.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll
M llvm/test/CodeGen/DirectX/remove-dead-intriniscs.ll
M llvm/test/CodeGen/DirectX/scalar-store.ll
M llvm/test/CodeGen/DirectX/scalarize-two-calls.ll
M llvm/test/CodeGen/DirectX/strip-fn-attrs.ll
Log Message:
-----------
[DirectX] Remove --filetype=asm from tests (#201600)
--filetype=asm is the default. Suggested by arsenm.
Commit: aa513cbc24a4dcfd3f98bff0e96fa85748080e75
https://github.com/llvm/llvm-project/commit/aa513cbc24a4dcfd3f98bff0e96fa85748080e75
Author: dpalermo <dan.palermo at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/test/OpenMP/amdgcn_weak_alias.c
M clang/test/OpenMP/declare_target_codegen.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_simd_codegen.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-to-host.mlir
Log Message:
-----------
Revert "[OpenMP] Use ext linkage for kernels handles and globals handles keep…" (#201698)
Reverts llvm/llvm-project#200964
This patch breaks flang declare target on a common block
Commit: 3a4aab52cd0e6a4d253c16bab6ae4cb4cc5c8fb7
https://github.com/llvm/llvm-project/commit/3a4aab52cd0e6a4d253c16bab6ae4cb4cc5c8fb7
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 01c00d1 (#201696)
This fixes 01c00d115c3e46c4cb78ec78c2a8c729aa0e07ca.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: a81c5a6df4ddba64a4e085aebf435d276eb46e22
https://github.com/llvm/llvm-project/commit/a81c5a6df4ddba64a4e085aebf435d276eb46e22
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/rvi-pseudos-invalid.s
A llvm/test/MC/RISCV/xqci-access-pseudos.s
Log Message:
-----------
[RISCV] Support Qualcomm Access Relocations (#188671)
These QUALCOMM vendor relocations mark 16-bit compressed and 32-bit
load/store instructions as candidates for relaxation from a QC_E_LI +
Load/Store sequence.
This change adds support for assembling instructions with these
relocations. These relocations are documented in
https://github.com/quic/riscv-elf-psabi-quic-extensions
Commit: adaa9e08b73829701b0b7ebc86d35be2602d3f2a
https://github.com/llvm/llvm-project/commit/adaa9e08b73829701b0b7ebc86d35be2602d3f2a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
Revert "[clang][lex] Store `HeaderFileInfo` in a `DenseMap`" (#201702)
Reverts llvm/llvm-project#200968
This is causing some non-determinism in PCM files in the
`clang/test/Modules/rebuild.m` test.
Commit: 1d13b74cf086629d5cdae5f44ef4a62cebcaf3ff
https://github.com/llvm/llvm-project/commit/1d13b74cf086629d5cdae5f44ef4a62cebcaf3ff
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.h
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/debug-names-static-member-decl.test
Log Message:
-----------
[DWARFLinker] Emit .debug_names entries for type-unit DIEs in parallel linker (#201215)
The default tag arm of AcceleratorRecordsSaver::save returned early when
a DIE was cloned into the artificial type unit, so class-static const
data members (DW_AT_const_value, no out-of-class definition) never got
an accelerator entry. As a result `target var A::int_val` in LLDB then
found nothing.
The HasLiveAddress / HasRanges guard already decides whether a DIE
carries enough information of its own to warrant a name record; the
output unit is just doing the routing. Drop the early return and thread
the TypeEntry through saveNameRecord / saveObjCNameRecord / saveObjC so
they emit into the type-unit accel storage when appropriate, the same
way saveTypeRecord and saveNamespaceRecord already do.
Commit: 3c20bc59dd8b1a7defb021722ce38b6311f8e893
https://github.com/llvm/llvm-project/commit/3c20bc59dd8b1a7defb021722ce38b6311f8e893
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Support mulhs/u for i8 vectors. (#201665)
We already marked them as legal, but would crash.
Commit: 9959cbfeffa4f972df12130df4f921cc9ec215a3
https://github.com/llvm/llvm-project/commit/9959cbfeffa4f972df12130df4f921cc9ec215a3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/dsymutil.cpp
Log Message:
-----------
[dsymutil] Make the Parallel DWARF linker the default (#200971)
This commit toggles the default linker in dsymutil from the classic
linker to the parallel linker. This means that we have parity between
the two implementations, at least for everything we have test coverage
for in LLVM and LLDB.
I expected we'll continue to uncover more differences in the future.
However I don't think that necessitates holding off on toggling the
default. By making the parallel linker the default, we get maximum
living on upstream, even if that audience is comparatively small.
Fixes #195390
Commit: 72c2f7e0552ed468bbfb06f651b221f5c7b4b0bf
https://github.com/llvm/llvm-project/commit/72c2f7e0552ed468bbfb06f651b221f5c7b4b0bf
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/cbuffer-matrix-layout-keyword.hlsl
Log Message:
-----------
[HLSL][CBuffer][Matrix] Honor row_major/column_major keyword in cbuffer layout (#201671)
fixes #201668
A per-declaration `row_major`/`column_major` keyword on a cbuffer matrix
was being dropped when building the cbuffer layout, so the layout struct
and the buffer-layout copy fell back to the translation-unit
`-fmatrix-memory-layout=`
Needed to fix the desugar in two places:
* HLSLBufferLayoutBuilder::layOutMatrix took a `const ConstantMatrixType
*` and called ConvertTypeForMem(QualType(MT, 0)), discarding the sugar.
It now takes the sugared QualType.
* SemaHLSL's host-layout struct construction called
getUnqualifiedDesugaredType() on each field, erasing the orientation
attribute. A getHostLayoutFieldType() helper now keeps the sugared type
for constant matrices while desugaring everything else.
Commit: 6369f3382514b36a7a50f92b945d7dace1b5b9b7
https://github.com/llvm/llvm-project/commit/6369f3382514b36a7a50f92b945d7dace1b5b9b7
Author: Kewen Meng <Kewen.Meng at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A offload/ci/openmp-offload-amdgpu-libc-runtime.py
Log Message:
-----------
[CI][AMDGPU] Create scriptedbuilder for libc build (#201687)
Introduced a new scriptedbuilder for libc build. It will enable
developers to conveniently reproduce the same build by our bot:
https://lab.llvm.org/buildbot/#/builders/10
Tested locally, tests passed.
Commit: becc74f032080821ddceb04106ef7f30223b4913
https://github.com/llvm/llvm-project/commit/becc74f032080821ddceb04106ef7f30223b4913
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
A clang/test/Driver/riscv-zilsd-word-align.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/zdinx-spill.ll
M llvm/test/CodeGen/RISCV/zilsd-ldst-opt-prera.mir
M llvm/test/CodeGen/RISCV/zilsd-regalloc-hints.mir
M llvm/test/CodeGen/RISCV/zilsd-spill.ll
M llvm/test/CodeGen/RISCV/zilsd.ll
Log Message:
-----------
[RISCV] Clang flags for controlling zilsd alignment (#181439)
Called `-mzilsd-word-align` and `-mzilsd-strict-align`. These interact
with scalar/strict alignment, in hopefully a reasonable way.
They cause errors on rv64, where zilsd is not available.
Commit: 762b77ac29b8aba6783ddb895ec7c5df5e7b677a
https://github.com/llvm/llvm-project/commit/762b77ac29b8aba6783ddb895ec7c5df5e7b677a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libcxx/include/ios
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android23.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android23.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/ios.cpp
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++] Remove ios_base::__xindex_ from the ABI (#198994)
`__xindex_` is only ever used from the dylib from a single function. We
can simplify the code a bit by making the variable function-local and
avoiding exposing it to the ABI at all. This also fixes a TODO about
whether it's safe to use `atomic` with the GCC ABI: yes, since it's not
actually part of our ABI.
Commit: 48d0cbd339310d965b4602b514c420e5ab54a3d4
https://github.com/llvm/llvm-project/commit/48d0cbd339310d965b4602b514c420e5ab54a3d4
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
Log Message:
-----------
[flang][OpenMP] Separate checks for type-parameter inquiry and subobject (#201324)
This will make it possible to diagnose these situations independently.
This isn't perfect, but will be improved gradually in the future.
Commit: b19d4591663758787f9929eccfd9136c58275127
https://github.com/llvm/llvm-project/commit/b19d4591663758787f9929eccfd9136c58275127
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
Log Message:
-----------
[clang-tidy] avoid 64-bit truncation in redundant bitwise checks (#201363)
Fixes #201115
Commit: 70f7167ce2622a610a6d6dca4d5934ea8a07a056
https://github.com/llvm/llvm-project/commit/70f7167ce2622a610a6d6dca4d5934ea8a07a056
Author: Schrodinger ZHU Yifan <yfzhu at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M libc/src/__support/threads/raw_rwlock.h
Log Message:
-----------
[libc][rwlock] fix the race condition in waiter queue (#201629)
Fix #201615.
Fix the issue that non atomic operations race in waiting queue, which
causes missed futex wakeup signals.
Confirmed by TSAN:
```
==================
WARNING: ThreadSanitizer: data race (pid=388518)
Write of size 4 at 0x7ffd21cf98e4 by thread T23:
#0 __llvm_libc_23_0_0_git::RawRwLock::notify_pending_threads() ./libc/src/__support/threads/raw_rwlock.h:443:44
#1 __llvm_libc_23_0_0_git::RawRwLock::unlock() ./libc/src/__support/threads/raw_rwlock.h:520:5
#2 randomized_thread_operation(SharedData*) ./libc/test/integration/src/__support/threads/tsan_full_rwlock.cpp:104:18
#3 thread_runner(void*) ./libc/test/integration/src/__support/threads/tsan_full_rwlock.cpp:148:5
Previous atomic read of size 4 at 0x7ffd21cf98e4 by thread T4:
#0 __llvm_libc_23_0_0_git::cpp::Atomic<unsigned int>::load(...) ./libc/src/__support/CPP/atomic.h:115:5
#1 __llvm_libc_23_0_0_git::Futex::wait(...) ./libc/src/__support/threads/linux/futex_utils.h:43:17
#2 __llvm_libc_23_0_0_git::cpp::expected<int, int> __llvm_libc_23_0_0_git::rwlock::WaitingQueue::wait<Role::Reader>(...) ./libc/src/__support/threads/raw_rwlock.h:101:35
#3 __llvm_libc_23_0_0_git::rwlock::LockResult __llvm_libc_23_0_0_git::RawRwLock::lock_slow<Role::Reader>(...) ./libc/src/__support/threads/raw_rwlock.h:402:34
#4 __llvm_libc_23_0_0_git::RawRwLock::read_lock(...) ./libc/src/__support/threads/raw_rwlock.h:485:12
#5 randomized_thread_operation(SharedData*) ./libc/test/integration/src/__support/threads/tsan_full_rwlock.cpp:79:16
#6 thread_runner(void*) ./libc/test/integration/src/__support/threads/tsan_full_rwlock.cpp:148:5
Thread T23 (tid=388553, running) created by main thread at:
#0 pthread_create ...
#1 main ./libc/test/integration/src/__support/threads/tsan_full_rwlock.cpp:166:5
Thread T4 (tid=388533, running) created by main thread at:
#0 pthread_create ...
#1 main ./libc/test/integration/src/__support/threads/tsan_full_rwlock.cpp:166:5
SUMMARY: ThreadSanitizer: data race ./libc/src/__support/threads/raw_rwlock.h:443:44 in __llvm_libc_23_0_0_git::RawRwLock::notify_pending_threads()
==================
```
AI wrote the detection script. Manually fixed.
Commit: bb180dd616c61932a0000ff45cd5d69fc1195b87
https://github.com/llvm/llvm-project/commit/bb180dd616c61932a0000ff45cd5d69fc1195b87
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/test/CodeGen/WebAssembly/wasm-arguments.c
Log Message:
-----------
[WebAssembly] Fix crash combining complex numbers and multivalue (#200514)
This fixes a crash in Clang when the `experimental-mv` ABI is used on
WebAssembly targets in conjunction with complex numbers as arguments.
There's no strict definition for what the multivalue ABI is at this
time, so the main goal is to just not crash for now.
Closes #70402
Closes #153567
Commit: 60bd8f8088eba2ede01b9d112fc6b927e9e99795
https://github.com/llvm/llvm-project/commit/60bd8f8088eba2ede01b9d112fc6b927e9e99795
Author: Rashmi Mudduluru <r_mudduluru at apple.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
M clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
Log Message:
-----------
[Webkit Checkers][SaferCpp] Detect base-to-derived downcasts laundered through void* in MemoryUnsafeCastChecker (#200294)
Adds a matcher for static_cast<Derived*>(static_cast<void*>(base)),
which previously evaded detection because the outer cast's immediate
source expression is void*, not Base*.
rdar://173770143
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
Commit: ef574da13acec7d30de1e949d8a2c7c6f7ff531f
https://github.com/llvm/llvm-project/commit/ef574da13acec7d30de1e949d8a2c7c6f7ff531f
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/InstrProfilingFile.c
A compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
Log Message:
-----------
Reland HIP offload PGO runtime support as a separate opt-in library (#201606)
This mostly relands the compiler-rt part of #177665 (approved and
merged, then reverted in #201416). The first commit restores it as
merged.
It was reverted because of a Windows problem: the ROCm runtime needs the
sanitizer interception library, which is built /MD on Windows, so
putting it in clang_rt.profile forced that library to /MD and broke
users linking it with the static CRT (/MT).
The second commit fixes this by building the ROCm support as a separate,
opt-in library clang_rt.profile_rocm, a /MD superset of
clang_rt.profile. The base library is left unchanged (/MT, no ROCm). The
driver links clang_rt.profile_rocm first, so it resolves all profile
symbols and the base library stays inert.
clang_rt.profile_rocm is off by default. The compiler-side change and
driver wiring are in a separate PR.
Commit: fbbf5f0398ea7509c2da194ac67882096e232f80
https://github.com/llvm/llvm-project/commit/fbbf5f0398ea7509c2da194ac67882096e232f80
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M lld/test/wasm/many-functions.ll
Log Message:
-----------
[lld][WebAssembly] Simplify many-functions.ll test (#201711)
Remove superfluous checks (function bodies, data section, symbol table,
and segment info) from the test.
The primary purpose of this test is to verify that relocations within
the CODE section are handled correctly when linking objects with many
functions (requiring multi-byte LEB128 for function count).
Checking the entire symbol table, segment info, data section, and all
129 function bodies is superfluous and adds unnecessary noise (over 1000
lines of expectations) to the test. These features are covered by other,
more targeted tests. Reducing these checks makes the test much easier to
read and maintain.
Commit: d7a23b7ab0afad10d26f0f1a5edfce88de452f81
https://github.com/llvm/llvm-project/commit/d7a23b7ab0afad10d26f0f1a5edfce88de452f81
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
R lld/test/wasm/export-all.ll
M lld/test/wasm/export-all.s
Log Message:
-----------
[lld][Webassembly] Merge lld/test/wasm/export-all.ll into export-all.s. NFC (#201724)
Part of the effort to convert all our tests to assembly.
Commit: 1e3dc606df3aefc924fb58238dd705b8bfde1581
https://github.com/llvm/llvm-project/commit/1e3dc606df3aefc924fb58238dd705b8bfde1581
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/docs/ProgrammersManual.rst
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/BitVectorTest.cpp
M llvm/unittests/ADT/DenseMapTest.cpp
Log Message:
-----------
[DenseMap] Store occupancy in a packed used-bit array (#201281)
Track bucket occupancy in a packed 1-bit-per-bucket "used" array (uint32
words)
instead of an `Empty` sentinel key. The buckets and the used array share
one
allocation. The probing scheme is unchanged.
(uint64_t words lead to slightly larger clang binary.)
Because occupancy is a packed bit instead of an in-band sentinel,
probing and
iteration test a dense bit rather than loading each bucket key. This
helps
find-miss and iteration (the empty terminus and the empty buckets become
a bit
test, not a bucket load; for large keys it also skips the structural
compare
against the empty key) and large-bucket insert. It costs find-hit (the
matched
bucket is loaded either way, so the bit is pure overhead) and, for small
buckets,
fill/insert (the per-insert used-bit write). instructions:u rises
slightly
(stage2 sqlite around +0.4% -O0-g), but wall time is neutral-to-faster:
the
find-miss and iteration gains are cache effects an instruction count
does not
see.
The instruction-count increase concentrates in hot (pointer key,
sizeof(bucket) <= 16) maps.
getMemorySize now also counts the used array; the InitSize tests are
updated and
the BitVectorTest DenseSet test no longer expects inserting a default
key to
abort.
Aided by Clause Opus 4.8
Commit: 3b095d9763756c3ba245a9eedbce4509302a4f23
https://github.com/llvm/llvm-project/commit/3b095d9763756c3ba245a9eedbce4509302a4f23
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV][P-ext] Select scalar asub/asubu and mulhr/mulhru/mulhrsu on RV32 (#201540)
The truncate combine only formed these nodes for packed vectors; extend
it to scalar i32 on RV32 and add the matching isel patterns.
Commit: 4417a7501aae8a9b8d3ffee1d491540a0858cc29
https://github.com/llvm/llvm-project/commit/4417a7501aae8a9b8d3ffee1d491540a0858cc29
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/static-init.c
Log Message:
-----------
[ExprConstant] Treat `&*p` as not a dereference in C constant initializers (#201483)
In C, [C11 6.5.3.2p3] specifies that when the operand of unary `&` is
the result of a unary `*` operator, neither operator is evaluated and
the result is as if both were omitted. So `&*p` yields the pointer value
`p` without performing a dereference, and forming it is well-defined
even when `p` is null (e.g. `&*(int *)0`).
The constant evaluator did not honor this: it evaluated the `*` as a
real lvalue access and diagnosed a null dereference as undefined
behavior. This went unnoticed for ordinary scalar initializers, which
use the relaxed `Expr::isConstantInitializer()` check, but a bit-field
initializer is evaluated via `EvaluateAsInt()` with `SE_NoSideEffects`,
so the same expression was rejected there with "initializer element is
not a compile-time constant":
```
struct S { long v : 8; };
const struct S s = { .v = (long)&*(int *)0 }; // error
const long x = (long)&*(int *)0; // accepted
```
Handle `&*p` in `PointerExprEvaluator::VisitUnaryAddrOf` (and the
corresponding `UO_AddrOf` case in the bytecode interpreter) by
evaluating the pointer operand directly in C.
Fixes #197846.
rdar://158774335
Commit: de2d0f48ea2c237f12a046c2b56589b1b0ea22e0
https://github.com/llvm/llvm-project/commit/de2d0f48ea2c237f12a046c2b56589b1b0ea22e0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Add zero/sign extend support between 32-bit and 64-bit vectors. (#201694)
Still need to improve sext on RV64.
Assisted-by: Claude Sonnet 4.6
Commit: 2cc6b14b11010b8e537a5dfe627159ce96f5a690
https://github.com/llvm/llvm-project/commit/2cc6b14b11010b8e537a5dfe627159ce96f5a690
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Get the right definition before compiling functions (#201105)
This broke libc++'s
std/ranges/range.adaptors/range.concat/iterator/arithmetic.pass.cpp.
The (reduced via cvise but not enough) function looks like this:
```c++
friend constexpr unsigned
operator-(const __iterator &__x, const __iterator &__y)
{
(void)-(__y - __x);
return 0;
}
```
When evaluating the binary operator for overflow, we will compile the
operator- (_this_ function) to bytecode. At that point,
::isThisDeclarationADefiniton() will return true and ::getDefiniton()
returns the function itself. However, all this is happening while the
function is being instantiated, which means the function doesn't have a
body yet and the bytecode ends up being just a NoRet op. This will of
course later fail.
Fix this by querying the body before trying to compile a function.
Unfortunately I wasn't able to create a reproducer of reasonable size.
Commit: 6f233ceb01347d37bd943dde84e81710ac24bfdf
https://github.com/llvm/llvm-project/commit/6f233ceb01347d37bd943dde84e81710ac24bfdf
Author: adeshcom14 <aadikane at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
M llvm/docs/AMDGPUAsyncOperations.rst
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tensor.load.store.ll
Log Message:
-----------
[AMDGPU] Track tensor load/store DMAs with asyncmark (#200775)
Wire existing variants of the tensor load-to/store-from LDS intrinsics
into the existing asyncmark/wait.asyncmark mechanism via TENSOR_CNT
waitcnt counter.
Fixes: LCOMPILER-1619
Commit: 131fd59a0296383bc9fec9bb0459201814bc3d0c
https://github.com/llvm/llvm-project/commit/131fd59a0296383bc9fec9bb0459201814bc3d0c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
A llvm/test/Bitcode/Inputs/cfi-functions-upgrade.bc
A llvm/test/Bitcode/Inputs/cfi-summary-upgrade.bc
A llvm/test/Bitcode/cfi-functions-upgrade.ll
M llvm/test/Bitcode/summary_version.ll
M llvm/test/ThinLTO/X86/cfi-icall-only-defuse.ll
A llvm/test/ThinLTO/X86/cfi-icall-thinlto.ll
M llvm/test/ThinLTO/X86/cfi-icall.ll
M llvm/test/Transforms/CrossDSOCFI/cfi_functions.ll
M llvm/test/Transforms/LowerTypeTests/export-alias.ll
M llvm/test/Transforms/LowerTypeTests/export-cross-dso-cfi.ll
M llvm/test/Transforms/LowerTypeTests/export-icall.ll
M llvm/test/Transforms/LowerTypeTests/export-rename-local.ll
M llvm/test/Transforms/LowerTypeTests/export-symver.ll
M llvm/test/Transforms/LowerTypeTests/pr37625.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/function-alias.ll
Log Message:
-----------
[CFI][ThinLTO] Remove the need for CFI calculating ThinLTO GUIDs (#201370)
CFI does name-based matching. ThinLTO uses a hash over the function name
(the "GUID"). As a result of this
[RFC](https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801)
- see also PR #184065 - GUID calculation should be treated as an
implementation detail, i.e. passes shouldn't need to re-do / reverse
engineer GUIDs.
The main reasons CFI is aware of GUIDs is because (1) the CFI functions
need to be communicated to ThinLink, as they need to be treated as
exports, in `LTO::runThinLTO`; and (2) because CFI needs to check the
liveliness of functions referenced in `cfi.functions` metadata, and this
check happens via the thinlto export summary
(`LowerTypeTestsModule::lower`).
To a lesser extent, the optimization in PR #130382 benefits from CFI
knowing about GUIDs; however, if this were the only reason, we could
make `ValueInfo`s available at that point, which carry names, and
perform name-based matching for CFI's needs.
This PR lets GUIDs be passed to CFI. The bulk of the change is moving
them around as metadata fields. The GUID calculation is hoisted out, but
kept the same as before this patch, following that once PR #184065 is
relanded it will be switched to the stable mechanism it (PR #184065)
introduces. The compile time effects are
[here](https://llvm-compile-time-tracker.com/compare.php?from=b29bf9fa25bdb906a61ec361fba68796020cc6b9&to=7bb1c07144e8ccb8a3332e91fc193303acd9439e&stat=instructions:u).
Commit: d146ef738a7bdde3b44bbbf23487f7de69dcfecb
https://github.com/llvm/llvm-project/commit/d146ef738a7bdde3b44bbbf23487f7de69dcfecb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode.ll
Log Message:
-----------
[RISCV] Enable combineAddMulh for vectors to improve div by constant. (#201657)
I modified the constant in some RVV division tests for coverage. I can
add new tests cases if that's preferred.
Commit: dbe91f4a4b55a17197c52335db4b7a0aa9c69f6b
https://github.com/llvm/llvm-project/commit/dbe91f4a4b55a17197c52335db4b7a0aa9c69f6b
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[CIR][AArch64] Lower NEON vslid intrinsics (#199415)
### summary
part of: https://github.com/llvm/llvm-project/issues/185382
this is a follow up of :
https://github.com/llvm/llvm-project/pull/198309
This adds CIR lowering for the scalar AArch64 NEON shift-left-and-insert
intrinsics `vslid_n_s64` and `vslid_n_u64`.
These ACLE builtins expose scalar `i64` interfaces, but the
corresponding LLVM intrinsic is vector-shaped:
```llvm
llvm.aarch64.neon.vsli.v1i64(<1 x i64>, <1 x i64>, i32) -> <1 x i64>
```
The new lowering wraps the scalar 64-bit operands in one-lane CIR vector
types, emits the aarch64.neon.vsli LLVM
intrinsic call, and bitcasts the result back to the scalar return type.
Commit: 0b0a345d18626801395b6ca957af0a1be5aecc1e
https://github.com/llvm/llvm-project/commit/0b0a345d18626801395b6ca957af0a1be5aecc1e
Author: Brad Smith <brad at comstyle.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/riscv.c
A compiler-rt/lib/builtins/cpu_model/riscv.h
A compiler-rt/lib/builtins/cpu_model/riscv/hwprobe.inc
A compiler-rt/lib/builtins/cpu_model/riscv/unimplemented.inc
Log Message:
-----------
[LLVM][compiler-rt][RISCV] Refactor RISC-V CPU features (#199438)
Commit: f21e893db6e1ab89ebad69004ef7935c3bdc80a7
https://github.com/llvm/llvm-project/commit/f21e893db6e1ab89ebad69004ef7935c3bdc80a7
Author: Schrodinger ZHU Yifan <yfzhu at google.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M libc/test/integration/src/threads/cnd_test.cpp
Log Message:
-----------
[libc] fix lost signal issue in cnd_test (#201721)
Commit: 5589d540cce8fe95e12062d5c118da9e7769bd83
https://github.com/llvm/llvm-project/commit/5589d540cce8fe95e12062d5c118da9e7769bd83
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[DenseMap] Fix ubsan error after #201281 (#201742)
```
/home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/DenseMap.h:492:17: runtime error: null pointer passed as argument 1, which is declared to never be null
```
Commit: 36b3ffbae3bdfa0b4ec5adb0ad6fe6eaa6d6afec
https://github.com/llvm/llvm-project/commit/36b3ffbae3bdfa0b4ec5adb0ad6fe6eaa6d6afec
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/EPCGenericDylibManagerTest.cpp
Log Message:
-----------
[ORC] Enable EPCGenericDylibManager to use orc_rt::NativeDylibManager. (#201744)
Adds two EPCGenericDylibManager::Create overloads (taking JITDylib& or
ExecutionSession&) that look up implementation addresses by name,
defaulting to orc_rt::NativeDylibManager's SPS controller interface (CI)
symbols. SimpleExecutorDylibManager::addBootstrapSymbols now also vends
its instance, open, and resolve symbols under those names, so the new
Create overloads work against either backend.
Commit: 48686f88f06f358145e4f177dd7c6b3ba1f93ae5
https://github.com/llvm/llvm-project/commit/48686f88f06f358145e4f177dd7c6b3ba1f93ae5
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/currentLimitation.ll
A llvm/test/Transforms/LoopInterchange/guarded-inner-loop.ll
M llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
M llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
Log Message:
-----------
[LoopInterchange] Do not interchange guarded imperfect loop nests (#201504)
When the outer-loop header conditionally branches to the outer latch,
that branch guards the inner loop, so the inner loop runs only on a
subset of the outer iterations. Interchanging such a nest moves the
inner loop outside the guard and runs it on every outer iteration,
including the guarded-off ones. That is incorrect when the inner loop
relies on the guard to terminate (e.g. an eq/ne exit whose trip count is
degenerate once the guard is false): the extra runs do not terminate, so
the program hangs at run time. Reject these guarded, imperfect nests in
tightlyNested().
This patch takes conservative approach to fix the crash and keep
upstream sane. In the long term, we need to see permissible cases under
which we can still interchange. I believe this is first good step.
Most importantly, three existing tests
(`currentLimitation.ll`, `loop-interchange-optimization-remarks.ll`,
`lcssa-preheader.ll`) were going through this unsafe transform; **these
tests would no longer interchange with this patch.**
I verified that they were hanging after illegal loop interchange with
`lli`: the un-interchanged function returns but the interchanged one
spins for a degenerate input (interchange_01(0, 2), test02(0, 2),
lcssa_08(1, 0)).
Fixes #201273
Assisted by Cursor.
Commit: 6ae71f321933ff629755ca61978a276a6e816827
https://github.com/llvm/llvm-project/commit/6ae71f321933ff629755ca61978a276a6e816827
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/sys-ptrace-macros.h
A libc/include/sys/ptrace.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/ptrace.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/ptrace/CMakeLists.txt
A libc/src/sys/ptrace/linux/CMakeLists.txt
A libc/src/sys/ptrace/linux/ptrace.cpp
A libc/src/sys/ptrace/ptrace.h
M libc/test/integration/src/sys/CMakeLists.txt
A libc/test/integration/src/sys/ptrace/CMakeLists.txt
A libc/test/integration/src/sys/ptrace/linux/CMakeLists.txt
A libc/test/integration/src/sys/ptrace/linux/ptrace_test.cpp
Log Message:
-----------
[libc] (Begin to) implement ptrace for linux (#201601)
This function is more complicated than your average syscall wrapper,
which is why this PR is mainly about setting up the infrastructure. I've
made this an experimental entry point, as the only request it handles is
PTRACE_TRACEME.
I also added a test to verify the PTRACE_TRACEME behavior. It's an
integration test as anything ptrace-y requires two processes.
Assisted by Gemini.
Commit: e33f287237feb9563c4866326d95fd3a5b151a22
https://github.com/llvm/llvm-project/commit/e33f287237feb9563c4866326d95fd3a5b151a22
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] packed shift-add codegen (#201294)
Add isel patterns for `psh1add`, `pssh1sadd` and the scalar `ssh1sadd`,
matching `(a << 1) + b` and `sadd.sat(sshl.sat(a, 1), b)`/`sadd.sat(sadd.sat(a, a), b)`.
Commit: 44c1640a3b74fc32d23979a9a5c4a491fa66398f
https://github.com/llvm/llvm-project/commit/44c1640a3b74fc32d23979a9a5c4a491fa66398f
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
R llvm/test/CodeGen/MIR/Generic/scalable-vector-type-err3.mir
Log Message:
-----------
[CodeGen][MIR] Delete llvm/test/CodeGen/MIR/Generic/scalable-vector-type-err3.mir (NFC) (#201340)
It's bit-identical to
llvm/test/CodeGen/MIR/Generic/scalable-vector-type-err2.mir. Not sure
what the original intention was.
Commit: aab1251f8420273f630df7a3fe075688f4063c48
https://github.com/llvm/llvm-project/commit/aab1251f8420273f630df7a3fe075688f4063c48
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Log Message:
-----------
[GlobalISel] Move G_MEMCPY_INLINE into lowerMemCpyFamily (NFC) (#201570)
Makes refactoring this code so it can be moved into TableGen simpler.
Assisted-by: codex
Commit: 78c586615f1b31c6c5f3d37a6638c76cdb821388
https://github.com/llvm/llvm-project/commit/78c586615f1b31c6c5f3d37a6638c76cdb821388
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
A llvm/test/Transforms/LoopFusion/cannot_fuse_atomic.ll
Log Message:
-----------
[LoopFusion] Reject loops containing atomic accesses (#201525)
The fusion legality check relies on DependenceInfo, which models memory
dependences purely by address and does not capture the ordering or
synchronization (synchronizes-with / fence) semantics of atomic
operations. Fusing two loops interleaves their bodies, which can reorder
atomics in ways that violate the memory model even when they touch
different locations.
Mirror the existing volatile handling and invalidate any fusion
candidate whose body contains an atomic access, adding a
ContainsAtomicAccess statistic.
This is conservative: Instruction::isAtomic() is true for unordered and
higher, so even unordered atomics (which carry no cross-thread ordering)
are rejected. This matches the all-or-nothing volatile precedent and
keeps the check simple; it can be narrowed to allow unordered later if
needed.
Fixes #193770.
Commit: 511d2e40ddeacf25f403b40ed73a41d1dea1b636
https://github.com/llvm/llvm-project/commit/511d2e40ddeacf25f403b40ed73a41d1dea1b636
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/Parse/ParsePragma.cpp
Log Message:
-----------
[NFC][clang] Format pragma comment kind StringSwitch (#201754)
This is a formatting-only change to the pragma comment kind
`StringSwitch`.
A follow-up change needs to add another pragma comment kind to this
block. Applying the formatter as part of that functional change would
also reformat the existing cases, making the functional diff harder to
review.
No functional change intended.
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: e3260943a9bf6f14b9f92cb30de40ac6cc4ae406
https://github.com/llvm/llvm-project/commit/e3260943a9bf6f14b9f92cb30de40ac6cc4ae406
Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
A clang-tools-extra/clangd/test/modules_config_remove_flags.test
Log Message:
-----------
[clangd][modules] Provide correct context to ModulesBuilder::hasRequiredModules() call (#201419)
To make command mangler to use compile command edits from the
configuration, we need to provide the correct context to it.
Without this patch compile command edits declared in .clangd file are
not used during required modules check, which can lead to compile errors
appearing and false negative `ModulesBuilder::hadRequiredModules()`
return result.
This PR addresses problem described here
https://github.com/llvm/llvm-project/pull/200001#issuecomment-4590514342
Commit: e80f1329ce2ba3fb775e6ca0f9b69f4ab3f3866a
https://github.com/llvm/llvm-project/commit/e80f1329ce2ba3fb775e6ca0f9b69f4ab3f3866a
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/xor-decompose.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/xor-decompose.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Decompose xor constant operand when possible (#195830)
It may be desirable to fold constants directly into the addressing mode
when computing an address. While lowering GEPs and looking for a
constant to extract among the indexes, take into account constants which
are xor expressions as well. When some bits of the constant operand of
the xor are known-zero in the base operand, then, for those specific
bits (disjoint bits), xor and additions behave alike. Such bits may be
extracted from the xor, and are those that can contribute to the final
GEP offset.
Proofs: https://alive2.llvm.org/ce/z/JtmXsu.
Co-authored-by: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
Commit: df170b20e9e0bbec29f69a51c0ba6e68ecabb160
https://github.com/llvm/llvm-project/commit/df170b20e9e0bbec29f69a51c0ba6e68ecabb160
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/test/CodeGen/X86/slow-pmulld.ll
M llvm/test/CodeGen/X86/vector-interleave.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.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-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.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-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] X86FixupInstTuning - fold VPERM2x128 -> VINSERTx128 when shuffling lower xmm half ymm sources (#201618)
VINSERTx128 is never slower than VPERM2x128 and notably quicker on some
targets (btver2, znver1, e-cores, etc.).
Shuffle lowering avoids some VINSERT patterns for AVX targets as it can
affect folding/commutation - but by the time we get to the fixup passes,
these are all done and we can safely convert to VINSERTF128/I128.
There's more variants of the VPERM2 immediate mask that could be folded,
but its incredibly difficult to hit them as its easily commutable.
I hit this while working on #199445.
Commit: 45a9a697a6a31efae2f05a5f8db1028fc090b67f
https://github.com/llvm/llvm-project/commit/45a9a697a6a31efae2f05a5f8db1028fc090b67f
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir] Fix crash in test type converter for 1->N result conversion (#201738)
Use `results.append` instead of `results.assign`, preserving previous
results.
Fixes https://github.com/llvm/llvm-project/issues/201521
Commit: fd6afc5c26b1213de58ed1770aeee1dc45d17641
https://github.com/llvm/llvm-project/commit/fd6afc5c26b1213de58ed1770aeee1dc45d17641
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Object/RelocationResolver.cpp
Log Message:
-----------
[Object] Support COFF MIPS in RelocationResolver (#200477)
Similar to other 32-bit COFF logic.
Commit: ce5b2e876494cb95f02d9f915081e2b8781e74d1
https://github.com/llvm/llvm-project/commit/ce5b2e876494cb95f02d9f915081e2b8781e74d1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M compiler-rt/test/tsan/many_held_mutex.cpp
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/__functional/function.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/cwchar
M libcxx/include/deque
M libcxx/include/exception
M libcxx/include/execution
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/filesystem
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/istream
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/module.modulemap.in
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/queue
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdexcept
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/system_error
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/pr40459.pass.cpp
M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
Log Message:
-----------
[libc++] Drop transitive includes by default (#195509)
This patch removes the unused transitive includes by default.
`_LIBCPP_KEEP_TRANSITIVE_INCLUDES_LLVM23` can be defined to keep the
transitive includes around for an easier transition. The macro will be
removed in LLVM 24.
This patch implements
https://discourse.llvm.org/t/rfc-remove-unused-transitive-includes-from-the-libc-headers/90157
Commit: 53e3e24490a044bd24706d6628b73a56f0b6e9e6
https://github.com/llvm/llvm-project/commit/53e3e24490a044bd24706d6628b73a56f0b6e9e6
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/llvm.sponentry.ll
Log Message:
-----------
[AMDGPU] In `LowerDYNAMIC_STACKALLOC`, hoist the `readfirstlane` up one instruction (#201528)
Instead of:
```
$max_size_vgpr = wave_reduction_umax($vgpr_alloca_size)
$sgpr_newsp = readfirstlane($max_size_vgpr + $sgpr_sp)
```
Hoist the readfirstlane up to perform the addition using scalar
registers:
```
$max_size_sgpr = readfirstlane(wave_reduction_umax($vgpr_alloca_size))
$sgpr_newsp = $max_size_sgpr + $sgpr_sp
```
Commit: 59bdd5b63b1a649d5bfc7d422c2b4173c582d114
https://github.com/llvm/llvm-project/commit/59bdd5b63b1a649d5bfc7d422c2b4173c582d114
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py
Log Message:
-----------
[lldb][test] Make TestInterruptThreadNames not depend on debug info (#201553)
This test only reads the pthread names, which don't depend on any debug
info.
This halves the runtime of this very long test from 22s to 11s.
Commit: 7b9435b0ed1db10c81167a5f415ae14b4b3e0565
https://github.com/llvm/llvm-project/commit/7b9435b0ed1db10c81167a5f415ae14b4b3e0565
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/test/API/commands/process/attach/main.cpp
Log Message:
-----------
[lldb][test] Increase polling frequency in ProcessAttach (#201532)
The test_attach_to_process_by_id_correct_executable_offset subtest
requires us to hit a breakpoint in an attached process. For this we
implement a loop that hits the breakpoint location every 2 seconds.
This patch increases the rate at which we hit this breakpoint to 50ms.
The reason is that a 2s interval means that this test is waiting on any
fast system for nearly 2 seconds on the first breakpoint hit. With a
50ms interval this subtest passed immediately.
Commit: baccad7b70143154bf978b00d3a8bed9a03db84a
https://github.com/llvm/llvm-project/commit/baccad7b70143154bf978b00d3a8bed9a03db84a
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/support/gmodules.py
Log Message:
-----------
[lldb][test] Assume clang supports -gmodules (#201333)
We currently spend 50ms in most dotest invocations to check if clang
supports `-gmodules`. The expensive part of this check is creating the
clang process to run `clang --help`.
`-gmodules` was added 11 years ago and is present in any compiler that
has even a remote chance in supporting the rest of our test suite. This
patch just assumes that our compiler supports -gmodules if it is clang.
Commit: fdfd1c1344187d64b63504ea8e3662ae4936503a
https://github.com/llvm/llvm-project/commit/fdfd1c1344187d64b63504ea8e3662ae4936503a
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py
Log Message:
-----------
[lldb][test] Increase polling in TestInterruptThreadNames.py (#201554)
This test runs for a very long time on my machine (11s per variation),
and nearly all of this time is spent on the 10s sleep in this function.
There are two issues here:
1. It uses the (now outdated) logic that arm64 means we have a remote
Darwin device. This is no longer true these days as Macs also run on
arm64.
2. The polling duration of 1s is still very long, and the test will
still spend all its time just waiting for this 1s sleep. A 100ms sleep
that we poll in a loop should be slow enough.
Commit: ec8c8183af2087e9b6e543b3331af57db0f5a9e4
https://github.com/llvm/llvm-project/commit/ec8c8183af2087e9b6e543b3331af57db0f5a9e4
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
Log Message:
-----------
[lldb][NFC] Don't use C++20 designated initializer (#201075)
This source triggers the `-Wc++20-designator` warning as we're still
using C++ 17.
Commit: b73568035408a139e26a8d51635afe0bfc0c9044
https://github.com/llvm/llvm-project/commit/b73568035408a139e26a8d51635afe0bfc0c9044
Author: Jacques Pienaar <jacques+gh at japienaar.info>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinDialectBytecode.td
M mlir/lib/IR/BuiltinDialectBytecode.cpp
M mlir/test/Dialect/Builtin/Bytecode/attrs.mlir
M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed_0.mlirbc
Log Message:
-----------
[mlirbc] Add AffineMap serialization support (#191970)
Add binary bytecode encoding for AffineMapAttr, replacing the textual fallback.
AffineMap is encoded as numDims, numSymbols, numResults, followed by the result
expressions. Where each expression, AffineExpr, is encoded in the general case
as a recursive/prefix tree with a VarInt kind tag followed by kind-specific
data. To guard a bit more against malformed bytecode it uses an iterative
parser for these.
Special case encoding for common case AffineMap's (required less space & easy
to create without much higher maintenance needs). The ordering of the enum
serialized differs from AffineExprKind as the latter has an expansion point in
the middle (new kinds can be added there) while the serialized encoding needs
to remain stable.
Updated the checked in mlirbc file as memref has a default affinemap, so
updating it pre snap.
Assisted-by: Antigravity : Gemini
Commit: 0f18088dca8aa03124cac4d174e97174a9aa35be
https://github.com/llvm/llvm-project/commit/0f18088dca8aa03124cac4d174e97174a9aa35be
Author: Kiva <zengtao at iscas.ac.cn>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvvm.td
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/rvv/zvvmtls-invalid.s
A llvm/test/MC/RISCV/rvv/zvvmtls.s
A llvm/test/MC/RISCV/rvv/zvvmttls-invalid.s
A llvm/test/MC/RISCV/rvv/zvvmttls.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][MC] Add experimental `Zvvmtls` and `Zvvmttls` support (#198229)
This patch adds experimental MC-layer support for the [RISC-V Integrated
Matrix
Extension](https://github.com/riscv/integrated-matrix-extension/releases/tag/riscv-isa-release-71c48b9-2026-05-17),
specifically the tile load/store extensions: `Zvvmtls` and `Zvvmttls`
This PR:
- Adds the optional tile lambda operand syntax (`L1` through `L64`), and
related asm operand.
- Adds the `vmtl.v`, `vmts.v`, `vmttl.v` and `vmtts.v` instructions to
the MC
- Modifies `parseMaskReg` to return `NoMatch` to allow overloaded
mnemonics to continue matching alternative optional operands, such as
parsing `vmtl.v v8, (a0), a1, L4` as the tile-lambda form instead of
failing by treating `L4` as a malformed mask operand. Real mask
registers missing .t, such as v0, still produce the existing diagnostic.
Commit: 29f6956144ec2ec9b638108cf05058a219a548ba
https://github.com/llvm/llvm-project/commit/29f6956144ec2ec9b638108cf05058a219a548ba
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/docs/LoopFusion.rst
Log Message:
-----------
[LoopFusion][docs][NFC] Document atomic accesses as a fusion blocker (#201775)
Loops containing atomic accesses are now rejected outright, mirroring
the volatile blocker. Update the eligibility sections to match.
Commit: 6ab6b803f552d909341e3c561e84ef9bc6beefe0
https://github.com/llvm/llvm-project/commit/6ab6b803f552d909341e3c561e84ef9bc6beefe0
Author: jay0x <90309873+blazie2004 at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/private03.f90
Log Message:
-----------
[Flang][OpenMP]add semantic check for linear clause with statement function variables (#199743)
### **Description**
1. This patch adds a missing semantic check for the LINEAR clause.
2. OpenMP treats LINEAR variables similarly to PRIVATE variables.
Variables used inside statement function expressions are not allowed to
be privatized, but Flang was not checking this for LINEAR.
3. The existing privatization check already handled PRIVATE,
FIRSTPRIVATE, and LASTPRIVATE. This patch extends the same check to
LINEAR.
Fixes : [199660](https://github.com/llvm/llvm-project/issues/199660)
### **Reproducer**
```
subroutine test()
integer :: pi, r, f, x
f(r) = pi * r + x
!$omp parallel do linear(x)
do r = 1, 10
pi = f(r)
end do
!$omp end parallel do
end subroutine
```
when compiled with : `-fopenmp -fopenmp-version=45 -c`
**Observed Behavior**
` No diagnostic emitted
`
**Expected Behavior**
```
error: Variable 'x' in statement function expression cannot be in a LINEAR clause
!$omp parallel do linear(x)
```
Co-authored-by: Jay Satish Kumar Patel <kumarpat at pe31.hpc.amslabs.hpecorp.net>
Commit: d37537c53d3edda0f8c6d96c110371104b2f11ef
https://github.com/llvm/llvm-project/commit/d37537c53d3edda0f8c6d96c110371104b2f11ef
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Allow numeric values to be specified for mxint8 constants (#200762)
This commit uses the DenseElementTypeInterface to allow signless numeric
values to be specified for mxint8 constants by supplying `i8` values.
This is more user-friendly than the previous hex representation.
Commit: e379ef3ebeec1fb2592abb9b459c89c82acb3eb6
https://github.com/llvm/llvm-project/commit/e379ef3ebeec1fb2592abb9b459c89c82acb3eb6
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
Log Message:
-----------
[SLSR] Avoid repeatedly calling canReuseInstruction for the same Basis (#196545)
`canReuseInstruction` only depends on `Basis`, but runs for each
`(Basis, C)` pair. This patch moves the check earlier in the pass to
remove the repeated call.
Assisted-by: Claude Code
Commit: 9c5dcfcf8572c347b1d4acb165bdac6f43f93838
https://github.com/llvm/llvm-project/commit/9c5dcfcf8572c347b1d4acb165bdac6f43f93838
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[NFC][clang] Add pragma comment formatting commit to blame ignore list (#201765)
Add the previously landed formatting-only commit for the pragma comment
kind StringSwitch to `.git-blame-ignore-revs`.
This keeps git blame useful across the NFC formatting change.
Formatting commit:
511d2e40ddeacf25f403b40ed73a41d1dea1b636
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: 7d987f8a35a71a97754ccab804cb9966ece52e08
https://github.com/llvm/llvm-project/commit/7d987f8a35a71a97754ccab804cb9966ece52e08
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Allow no-delete default constructors (#201544)
This PR fixes the bug in TrivialFunctionAnalysis that it treats a
default constructor without an explicit body / definition as not
"trivial". Fixed the bug by allowing the function body to be missing
when isThisDeclarationADefinition is true.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 0d566c6fc6af5c9e9428c03891c9fc4da6920ddc
https://github.com/llvm/llvm-project/commit/0d566c6fc6af5c9e9428c03891c9fc4da6920ddc
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/phi-undef-loadstore.ll
Log Message:
-----------
[SimplifyCFG] Look at all uses when checking phi incoming for UB (#200164)
passingValueIsAlwaysUndefined only looks at the first use of the phi
that has a UB-candidate opcode. If that use is in a different block, the
function gives up, even when another use in the same block would prove
UB. Use-list order is not guaranteed, so this happens in practice.
Move the same-block check into the find_if lambda so the scan keeps
going past cross-block uses.
Commit: 982dc4f20cce5c6b92b1d9e3235ecf84cc84e149
https://github.com/llvm/llvm-project/commit/982dc4f20cce5c6b92b1d9e3235ecf84cc84e149
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
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-shuffle-512-v16.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - peek through BITCAST and EXTRACT_SUBVECTOR when trying to find shuffle combine candidates (#201781)
Helps with some expanded CONCAT_VECTORS cases where both halves came
from wider shuffles.
More yak shaving for #199445
Commit: 643eec316566aaf5e9bc3b29ef3a0365fdab89df
https://github.com/llvm/llvm-project/commit/643eec316566aaf5e9bc3b29ef3a0365fdab89df
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/utils/gdb-scripts/prettyprinters.py
Log Message:
-----------
[prettyprinters] Fix syntax error introduced by 17f85f467249. (#201359)
Commit: d7d2a558253250a087fe9b9b21abfc111e91425b
https://github.com/llvm/llvm-project/commit/d7d2a558253250a087fe9b9b21abfc111e91425b
Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
Log Message:
-----------
[AArch64] Add an early return and de-indent a long indented block (NFC) (#201345)
As per LLVM coding standards recommendation in [1].
[1]:
https://llvm.org/docs/CodingStandards.html#use-early-exits-and-continue-to-simplify-code
Commit: 25e94da798b1ddc24c8680e8fe0b6f4099e7e876
https://github.com/llvm/llvm-project/commit/25e94da798b1ddc24c8680e8fe0b6f4099e7e876
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
A flang/test/Transforms/debug-char-type-2.fir
Log Message:
-----------
[flang][debug] Fix DIStringType size for arrays of assumed-length chars. (#201649)
When generating DWARF for an assumed-shape array whose element type is
an assumed-length character, `convertBoxedSequenceType` called
`convertType` for the element, which in turn called
`convertCharacterType` with `hasDescriptor`=false. With no descriptor
and a non-constant length, none of the branches that set `sizeInBits` or
produce a length expression were taken, so the resulting
`DIStringTypeAttr` had `sizeInBits` equal to =0 and no
`stringLengthExp`, leaving GDB unable to determine the string length or
display the array elements.
Fix this by detecting a non-constant-length character element in
`convertBoxedSequenceType` and calling `convertCharacterType` directly
with `hasDescriptor=true`. This generates the correct `stringLengthExp`
that reads the element byte-size from the descriptor. A
`genStringLocation` parameter (default true) is also added to suppress
the string location expression for the element type, since the data
location of array elements is already provided by the enclosing array.
Fixes https://github.com/llvm/llvm-project/issues/113895
Commit: 6d4cd34d861baec5a761d15b81395fbe88f4391b
https://github.com/llvm/llvm-project/commit/6d4cd34d861baec5a761d15b81395fbe88f4391b
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/docs/Frontend/PerformanceTips.rst
M llvm/docs/GlobalISel/GMIR.rst
M llvm/docs/GlobalISel/IRTranslator.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/amdgpu-irtranslator.ll
A llvm/test/CodeGen/Generic/GlobalISel/irtranslator-byte-type.ll
M llvm/test/CodeGen/PowerPC/fast-isel-cmp-imm.ll
Log Message:
-----------
[GlobalISel] Support the byte type in the IRTranslator (#196125)
> [!NOTE]
> Stacked: this PR is the base of a 2-PR stack.
> - **#196125 (this PR)** — GlobalISel byte-type support (lands first)
> - **#177908** — LoadStoreVectorizer mixed-type support (depends on
this; rebased on top)
Mirror SelectionDAG's behaviour by treating byte as integer at the
IR-to-MIR boundary:
- `getLLTForType` maps ByteType to `LLT::integer(N)`, matching the
byte->integer EVT mapping in ValueTypes.cpp.
- `translate(Constant)` handles ConstantByte by routing through
buildConstant with the underlying APInt.
- `translateBitCast` redirects only **scalar** byte<->ptr crossings to
G_INTTOPTR / G_PTRTOINT (the well-typed MIR shape for that boundary).
Vector byte<->ptr (e.g. `<N x b32>` -> ptr produced by mixed-type load
coalescing in #177908) and other legacy ptr/non-ptr IR bitcasts (AMDGPU
iN<->p3 kernarg packing, etc.) keep their historical G_BITCAST lowering
— G_INTTOPTR has no vector-src -> scalar-ptr form.
Co-authored-by: Claude Opus 4.7 <noreply at anthropic.com>
Commit: 013b33583b632f4c680db82f42223e3684da8cb2
https://github.com/llvm/llvm-project/commit/013b33583b632f4c680db82f42223e3684da8cb2
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libcxx/include/__chrono/duration.h
Log Message:
-----------
[libc++][NFC] Simplify duration comparisons a bit (#201788)
The comparisons have been delegated to a class which has been
specialized for the equality case. This has likely been done to avoid
`common_type` if possible. However, `common_type` got a lot cheaper, to
the point where the classes likely do more harm than good.
Commit: 09a709aa70e76e00a5f3b1336d42a444b4f88c8b
https://github.com/llvm/llvm-project/commit/09a709aa70e76e00a5f3b1336d42a444b4f88c8b
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-fpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-fpr8.mir
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-gpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-fpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-gpr.ll
Log Message:
-----------
[AArch64] Align ZCM/ZCZ test strictness(NFC) (#200645)
Commit: 89905ff21441d8ed04b2bfafc57a8bb7c9402800
https://github.com/llvm/llvm-project/commit/89905ff21441d8ed04b2bfafc57a8bb7c9402800
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/test/CodeGen/AArch64/ls64-inline-asm.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lasx/builtin.c
M clang/test/CodeGen/PowerPC/builtins-dmf-vsx-vector-float.c
M clang/test/CodeGen/PowerPC/builtins-ppc-amo.c
M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
M clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/bitint.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/arm-cmse-attr.c
M clang/test/CodeGen/arm-vfp16-arguments.c
M clang/test/CodeGen/arm-vfp16-arguments2.cpp
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/cfi-check-fail2-nomerge.c
M clang/test/CodeGen/glibc_ptr_align.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/pointer-arithmetic-align.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
M clang/test/CodeGen/transparent-union-type.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/bitfield-ir.cpp
M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
M clang/test/CodeGenHIP/amdgcnspirv-uses-amdgpu-abi.cpp
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
M clang/test/CodeGenOpenCL/as_type.cl
M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-cooperative-atomics.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-add.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-max.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-workgroup-size.cl
M clang/test/CodeGenOpenCL/kernel-param-alignment.cl
M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
M clang/test/CodeGenSPIRV/Builtins/generic_cast_to_ptr_explicit.c
M clang/test/DebugInfo/Generic/cfi-icall-generalize-debuginfo.c
M clang/test/DebugInfo/Generic/ubsan-function-debuginfo.c
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/wasm.c
M clang/test/OpenMP/bug54082.c
M clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-libcall-sincos-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-uniform-waterfall.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-uniform-intrinsic-combine.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/BPF/loop-exit-cond.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll
M llvm/test/Feature/OperandBundles/function-attrs.ll
M llvm/test/LTO/X86/mix-opaque-typed.ll
M llvm/test/Other/cgscc-devirt-iteration.ll
M llvm/test/Other/optimize-inrange-gep.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
M llvm/test/Transforms/FunctionAttrs/argmemonly.ll
M llvm/test/Transforms/FunctionAttrs/atomic.ll
M llvm/test/Transforms/FunctionAttrs/convergent.ll
M llvm/test/Transforms/FunctionAttrs/initializes.ll
M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
M llvm/test/Transforms/FunctionAttrs/noalias.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nofpclass.ll
M llvm/test/Transforms/FunctionAttrs/nofree.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/norecurse.ll
M llvm/test/Transforms/FunctionAttrs/noundef.ll
M llvm/test/Transforms/FunctionAttrs/nounwind.ll
M llvm/test/Transforms/FunctionAttrs/optnone.ll
M llvm/test/Transforms/FunctionAttrs/out-of-bounds-iterator-bug.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/readnone.ll
M llvm/test/Transforms/FunctionAttrs/stats.ll
M llvm/test/Transforms/FunctionAttrs/writeonly.ll
M llvm/test/Transforms/InstCombine/unused-nonnull.ll
M llvm/test/Transforms/LoopUnroll/unroll-cleanup.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-load-from-vector-loop.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/infer-align-from-assumption.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/loop-rotate-to-enable-unrolling-and-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_muladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/scalarize-load-ext-extract.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sinking-vs-if-conversion.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/udotabd.ll
M llvm/test/Transforms/PhaseOrdering/AMDGPU/infer-address-space.ll
M llvm/test/Transforms/PhaseOrdering/RISCV/any-of-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
M llvm/test/Transforms/PhaseOrdering/X86/SROA-after-final-loop-unrolling-2.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll
M llvm/test/Transforms/PhaseOrdering/X86/madd.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/X86/sad.ll
M llvm/test/Transforms/PhaseOrdering/X86/speculation-vs-tbaa.ll
M llvm/test/Transforms/PhaseOrdering/X86/spurious-peeling.ll
M llvm/test/Transforms/PhaseOrdering/X86/unroll-vectorizer.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv-nounroll.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/always-inline-alloca-promotion.ll
M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
M llvm/test/Transforms/PhaseOrdering/branch-dom-cond.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
M llvm/test/Transforms/PhaseOrdering/early-arg-attrs-inference.ll
M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
M llvm/test/Transforms/PhaseOrdering/gvn-replacement-vs-hoist.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
M llvm/test/Transforms/PhaseOrdering/lto-argpromotion-ipsccp.ll
M llvm/test/Transforms/PhaseOrdering/memcpy-offset.ll
M llvm/test/Transforms/PhaseOrdering/phi-protected-field-ptr.ll
M llvm/test/Transforms/PhaseOrdering/pr95152.ll
M llvm/test/Transforms/PhaseOrdering/pr98799-inline-simplifycfg-ub.ll
M llvm/test/Transforms/PhaseOrdering/struct-to-vector-before-memcpyopt.ll
M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
Log Message:
-----------
[FunctionAttrs] Add support for nofree argument inference (#201591)
Unlike Attributor, FunctionAttrs currently only supports inferring
nofree on functions. This PR adds support for inferring it on arguments
as well.
I've chosen to integrate this with the inference for
readnone/readonly/writeonly attributes, as the core logic for these is
the same.
There is a lot of test fallout. The only significant changes are in
llvm/lib/Transforms/IPO/FunctionAttrs.cpp and
llvm/test/Transforms/FunctionAttrs/nofree.ll.
Commit: e26ef0c943415ec3c3bd88c9c3e9bdca3791d4fd
https://github.com/llvm/llvm-project/commit/e26ef0c943415ec3c3bd88c9c3e9bdca3791d4fd
Author: Ming Yan <ming.yan at terapines.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/test/Fir/boxproc.fir
M flang/test/Lower/HLFIR/elemental-result-length.f90
M flang/test/Lower/Intrinsics/show_descriptor.f90
M flang/test/Lower/volatile1.f90
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/SparseTensor/sparse_fill_zero.mlir
M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
Log Message:
-----------
[mlir][arith] Canonicalize cmpi select to min/max (#201737)
This PR adds canonicalization patterns that fold `arith.select` +
`arith.cmpi` into
`arith.minsi`/`arith.maxsi`/`arith.minui`/`arith.maxui` operations.
---------
Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>
Commit: 8e217eda17df80d2035d6ff27e74bfa8df77339a
https://github.com/llvm/llvm-project/commit/8e217eda17df80d2035d6ff27e74bfa8df77339a
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
Log Message:
-----------
[lldb][Windows] skip TestDAP_attachCommands.py and TestDAP_launch_extra_launch_commands.py (#201796)
Commit: aa57c6af07b9086fd7a9b9b72df22f99dd30ee64
https://github.com/llvm/llvm-project/commit/aa57c6af07b9086fd7a9b9b72df22f99dd30ee64
Author: gretay-amd <Greta.Yorsh at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
Log Message:
-----------
[AMDGPU] Preserve call-site attributes rebuilding an intrinsic (#201549)
This PR copies the original call-site attributes onto the new call.
`AMDGPUInstCombineIntrinsic` uses `IC.Builder.CreateIntrinsic` to
rebuild intrinsic calls. `CreateIntrinsic` only inherits attributes from
the intrinsic declaration, and any call-site only attributes are
silently dropped.
The change is needed in both `modifyIntrinsicCall` simplifications and
`simplifyAMDGCNMemoryIntrinsicDemanded`. The new test exercises both
transformations firing in sequence on the same `image.sample` call. Two
commits: the first adds the test that drops the attribute and then the
second commit fixes the bug and the test.
This fix was originally introduced in the context of
waterfall intrinsics #192409, but the issue and the fix are independent.
Commit: 3086dc0582b23df394d069c3d14b5edbe0afeb77
https://github.com/llvm/llvm-project/commit/3086dc0582b23df394d069c3d14b5edbe0afeb77
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
[bazel] Exclude `profile_rocm` related file for now. (#201800)
This has been intrdocued in #201606.
Commit: 3cb8eefcc3cc7c613eb729914532b7a05546953b
https://github.com/llvm/llvm-project/commit/3cb8eefcc3cc7c613eb729914532b7a05546953b
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add `LLVM_BUILD_STATIC` to `llvm-lto2` (#201799)
This is added by add_llvm_tool in CMake side and affects `DTLTO` inline
ctor. (Introduced in #192629)
Commit: 094bbde3e86c5b7890e162afe6d32957153565b6
https://github.com/llvm/llvm-project/commit/094bbde3e86c5b7890e162afe6d32957153565b6
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Semantics/openmp-utils.cpp
Log Message:
-----------
[flang][OpenMP] NFC: Move trait-matching helpers to Semantics (#201584)
Move the five trait-matching functions (`mapTraitSet`,
`mapTraitSelector`, `evaluateUserCondition`, `getTraitScore`,
`processTraitProperties`) that back metadirective lowering out of
Lower/OpenMP/Utils.cpp and into Semantics/openmp-utils.
These functions only operate on parsed OpenMP trait selectors and the
Fortran evaluate/folding machinery and carry no MLIR or lowering
dependency. Placing them in Semantics makes them reusable from the
semantic-recording phase of `declare variant` (and any other feature
that needs to build a `VariantMatchInfo`).
In Utils.cpp, the four pure mapping/folding functions are removed
entirely; their callers now call the Semantics versions directly. The
`processTraitProperties` is kept as a local wrapper to generate a TODO
error on Clause and extension properties.
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 04cedfd597561be75d46797978f8a744a2715105
https://github.com/llvm/llvm-project/commit/04cedfd597561be75d46797978f8a744a2715105
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/test/API/iohandler/sigint/cat.cpp
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
M lldb/test/API/tools/lldb-dap/breakpoint/main.cpp
Log Message:
-----------
[lldb] Add missing includes to some tests (#201804)
#195509 removed a bunch of transitive includes from libc++, causing the
test to fail.
Commit: b9e7f1f0ccbc8e829d4d68d1bf6d57665e1da62f
https://github.com/llvm/llvm-project/commit/b9e7f1f0ccbc8e829d4d68d1bf6d57665e1da62f
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/fp-to-int-to-fp.ll
M llvm/test/CodeGen/AArch64/ftrunc.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-frintz.ll
M llvm/test/CodeGen/AArch64/sve-frintz.ll
M llvm/test/CodeGen/AMDGPU/fp-to-int-to-fp.ll
M llvm/test/CodeGen/PowerPC/fp-int128-fp-combine.ll
M llvm/test/CodeGen/PowerPC/fp-to-int-to-fp.ll
M llvm/test/CodeGen/PowerPC/ftrunc-vec.ll
M llvm/test/CodeGen/PowerPC/no-extra-fp-conv-ldst.ll
M llvm/test/CodeGen/X86/ftrunc.ll
Log Message:
-----------
[SelectionDAG] Remove the remaining `NoSignedZerosFPMath` use (#201535)
This should be the last use in CodeGen part.
Commit: fd68fe73c8bebd034dab52d82f0ed4414d348c32
https://github.com/llvm/llvm-project/commit/fd68fe73c8bebd034dab52d82f0ed4414d348c32
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll
Log Message:
-----------
[DFAJumpThreading] Clone noalias scopes when duplicating a block (#200620)
cloneBlockAndUpdatePredecessor cloned the block but not its noalias scope
declarations, so duplicated paths shared the same scope MDNodes and AA could
treat aliasing accesses on different paths as noalias.
Give each clone fresh scopes, like JumpThreading/LoopUnroll/LoopPeel.
Commit: e18112c7073d0a97a158323258dcfe00c2505b42
https://github.com/llvm/llvm-project/commit/e18112c7073d0a97a158323258dcfe00c2505b42
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes d37537c (#201787)
This fixes d37537c53d3edda0f8c6d96c110371104b2f11ef.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: ea66732d303ae00e446691e105d039f527382091
https://github.com/llvm/llvm-project/commit/ea66732d303ae00e446691e105d039f527382091
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
Log Message:
-----------
[Loads] Handle missing context instruction for willNotFreeBetween() (#201828)
This crashed previously.
Commit: 978468398d2e991772e86efe249c64c4fd2ab762
https://github.com/llvm/llvm-project/commit/978468398d2e991772e86efe249c64c4fd2ab762
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
M llvm/test/Transforms/LoopVectorize/alias-mask-negative-tests.ll
M llvm/test/Transforms/LoopVectorize/alias-mask.ll
Log Message:
-----------
[LV] Allow reductions with partial alias masking (#200813)
This patch enables reductions with partial alias masking by forcing the
use of a predicated reduction select with alias masking. This prevents
poison values from being propagated to the header phi for lanes outside
the alias mask.
Note: An alternate approach would be to select the identity value before
the final horizontal reduction (outside the vector loop). That however,
does not generalize to all reduction kinds (e.g., AnyOf), and at least
for AArch64 SVE, we already prefer the in-loop selects.
Commit: 2a80e6670190bf6a0ba0e9ba97a79c1e81eede35
https://github.com/llvm/llvm-project/commit/2a80e6670190bf6a0ba0e9ba97a79c1e81eede35
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
Log Message:
-----------
[JumpThreading] NFC: Add comment referencing #199408. (#199718)
Leave a breadcrumb indicating that not `freeze`'ing a select's condition
when turning it into a conditional branch is unsound (unless we can
prove that the cond is never poison). Nonetheless this doesn't seem to
cause real-world problems afaict.
Commit: ddfa5eb8ae2e0cdd1c0542fff9c6671b8b3ff85c
https://github.com/llvm/llvm-project/commit/ddfa5eb8ae2e0cdd1c0542fff9c6671b8b3ff85c
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaAttr.cpp
M clang/test/SemaCXX/attr-section.cpp
Log Message:
-----------
[Sema] Fix assertion crash on section conflict with a non-identifier decl (#200873)
NamedDecl::getName() asserts the name is a simple identifier, so
UnifySection crashed when the conflicting section decl had a special
name such as a lambda's call operator.
Drop the argument: `note_declared_at` has no format placeholder, so it
was dead code. The error already prints the section decl.
Fixes https://github.com/llvm/llvm-project/issues/192264
Commit: fd259a565c444ebcdbafcc43da48479f935a755d
https://github.com/llvm/llvm-project/commit/fd259a565c444ebcdbafcc43da48479f935a755d
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/InstCombine/invariant.group.ll
Log Message:
-----------
[IR] Preserve !invariant.group in copyMetadataForLoad (#200535)
copyMetadataForLoad is supposed to be used when only changing a load's
type. If we're only changing the type (and not the SSA value of the
loaded pointer) then we can preserve invariant.group.
All callers of this function indeed either (a) leave the pointer SSA
value unchanged, or (b) change *all* pointers in the group from one
value to another (which is also safe).
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 07bd30557f2b00225d4eb7c125e74188b54f1faa
https://github.com/llvm/llvm-project/commit/07bd30557f2b00225d4eb7c125e74188b54f1faa
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Fix conditional operator scoping (#201777)
The code and the comment are correct, but they also applied to the
conditional operator condition, which they shouldn't.
Commit: 12cfc4dc56fcf7568602d0973d8b1090959d0900
https://github.com/llvm/llvm-project/commit/12cfc4dc56fcf7568602d0973d8b1090959d0900
Author: Timur Golubovich <timurgol007 at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/test/CodeGen/X86/apx/memfold-no-physreg.ll
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
A llvm/test/CodeGen/X86/apx/setjmp-win64-abi.ll
A llvm/test/CodeGen/X86/apx/win64-abi.ll
Log Message:
-----------
[X86][APX] Implement Windows APX ABI callee-saved registers per Microsoft spec (#200391)
Per the Microsoft x64 calling convention, R30 and R31 are non-volatile
when APX is available. Define CSR_Win64_APX and CSR_Win64_APX_NoSSE
extending the standard Win64 CSR sets. Update getCalleeSavedRegs and
getCallPreservedMask accordingly.
Reserve R30/R31 in functions that call setjmp, as the unwinder cannot
restore APX extended registers. Emit a warning for large functions where
this may impact performance.
Ref:
https://learn.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170#callercallee-saved-registers
---------
Co-authored-by: Daniel Paoliello <danpao at microsoft.com>
Commit: 9e2db573528ea46d659c74f0a059fb73eeb2fb42
https://github.com/llvm/llvm-project/commit/9e2db573528ea46d659c74f0a059fb73eeb2fb42
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concat 4x128-bit shuffles as 2x256-bit shuffles (#201831)
Fixes #199445
Commit: 85da6a915345ce0a8614f8ff4531ba4efb592564
https://github.com/llvm/llvm-project/commit/85da6a915345ce0a8614f8ff4531ba4efb592564
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
A clang/test/OpenMP/amdgpu-arch-compat.c
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
Log Message:
-----------
OpenMP: Accept amdgpu name in arch directive (#201789)
Accept amdgpu as an alias for amdgcn as part of the general
trend of preferring the amdgpu name. This is so the name is
consistent in the future when the triple arch name changes.
Commit: 72668850f6f204451350a1e42fe8a5d9954542a9
https://github.com/llvm/llvm-project/commit/72668850f6f204451350a1e42fe8a5d9954542a9
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_ptrace_macros.h
M libc/include/llvm-libc-macros/sys-ptrace-macros.h
M libc/include/sys/ptrace.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/ptrace.h
M libc/src/sys/ptrace/linux/CMakeLists.txt
M libc/src/sys/ptrace/linux/ptrace.cpp
M libc/test/integration/src/sys/ptrace/linux/ptrace_test.cpp
Log Message:
-----------
[libc] Support for argument-taking ptrace requests (#201830)
Some of these requests are architecture specific, and linux/ptrace.h is
pretty clean, so I'm including it for all the constants definitions
(this matches bionic, but not musl or glibc).
There's one unfortunate rename that we need to fix up (kernel uses
PTRACE_PEEKUSR, without the *E*), and (matching all libc
implementations) I also add the BSD-compatibility names for the basic
requests (although the usefulness if this is questionable as nearly
everything about ptrace is OS-specific).
Some of the options structs also have a different name in the kernel
headers (ptrace_peeksiginfo_args) and glibc (__ptrace_peeksiginfo_args),
but:
- these are very scarcely used, and
- the manpage actually documents the kernel names
which is why I'm hoping we can get away with this.
The ptrace entry point implements the standard PTRACE_PEEK translation
from by-ptr arguments to return values.
---------
Co-authored-by: Jeff Bailey <jbailey at raspberryginger.com>
Commit: b2a6da6197daabfc5bda2f4b2a5880aae10fc1a9
https://github.com/llvm/llvm-project/commit/b2a6da6197daabfc5bda2f4b2a5880aae10fc1a9
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/config/config.json
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/struct_timespec.h
M libc/include/llvm-libc-types/suseconds_t.h
M libc/include/llvm-libc-types/time_t.h
R libc/include/llvm-libc-types/time_t_32.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/utimensat.h
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/time/linux/clock_gettime.cpp
M libc/src/__support/time/linux/clock_settime.cpp
M libc/src/poll/linux/poll.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/time/linux/getitimer.cpp
M libc/src/sys/time/linux/setitimer.cpp
M libc/src/sys/time/linux/utimes.cpp
M libc/src/time/linux/nanosleep.cpp
M libc/src/time/time_constants.h
M libc/src/time/time_utils.cpp
M libc/test/src/__support/time/linux/timeout_test.cpp
M libc/test/src/sys/time/utimes_test.cpp
M libc/test/src/time/asctime_test.cpp
M libc/test/src/time/gmtime_r_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
Log Message:
-----------
[libc] Remove 32-bit time_t support (#200426)
Removed time_t_32.h and forced time_t to 64-bit (__INT64_TYPE__) on all
platforms.
Forced tv_nsec in struct timespec and tv_usec in struct timeval to
64-bit. This ensures struct timespec matches the kernel layout of struct
__kernel_timespec, allowing direct casting in syscall wrappers. Note
that under C23, tv_nsec is allowed to be any signed integer type capable
of representing [0, 999999999], making this 64-bit definition fully
compliant.
Updated syscall wrappers to prefer 64-bit time syscalls:
* clock_gettime64
* clock_settime64
* clock_nanosleep_time64
* pselect6_time64
* utimensat_time64
* futex_time64
Added static_asserts to legacy fallback paths to prevent compiling on
32-bit platforms that lack 64-bit time support.
Removed obsolete Y2038 overflow tests from mktime and other time tests.
Assisted-by: Automated tooling, human reviewed.
Commit: 1c0b58eeab671d0173b3431bebd96f2d974b3628
https://github.com/llvm/llvm-project/commit/1c0b58eeab671d0173b3431bebd96f2d974b3628
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/fneg-combines.legal.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.si.ll
M llvm/test/CodeGen/AMDGPU/fneg-fold-legalize-dag-increase-insts.ll
M llvm/test/CodeGen/PowerPC/scalar-min-max-p10.ll
Log Message:
-----------
[CodeGen] Remove `--enable-no-signed-zeros-fp-math` flag support (#201819)
Now CodeGen part no longer depends on this flag, remove it, so we can
remove `Target::resetTargetOptions` later.
Commit: 4fdb108b8e203e7fc7ff3ea73b7fc5d009a36954
https://github.com/llvm/llvm-project/commit/4fdb108b8e203e7fc7ff3ea73b7fc5d009a36954
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem24.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
Log Message:
-----------
[AMDGPU] Be more careful about using expandDivRem24 (#201186)
expandDivRem24 uses v_rcp_f32 which can have an error of one ulp. This
can cause an incorrect calculation of Y/X when abs(Y) > 0x800000. Thus,
do not use expandDivRem24 for unsigned 24-bit values.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 48aec0a9c45209139339c252f67898219e596a94
https://github.com/llvm/llvm-project/commit/48aec0a9c45209139339c252f67898219e596a94
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/bolt/unittests/Profile/BUILD.gn
Log Message:
-----------
[gn] make bolt ProfileTests depend on TargetsToBuild (#201842)
Added to CMake in f75973949b0e5, actually needed after
3e447333fe32785.
Commit: ff643b208cf697291510043ae47c404834bf464a
https://github.com/llvm/llvm-project/commit/ff643b208cf697291510043ae47c404834bf464a
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/bolt/unittests/Profile/BUILD.gn
Log Message:
-----------
[gn] make bolt ProfileTests depend on TestingSupport (#201843)
Part of porting 3e447333fe.
Commit: b082ea1f961b22e02a870c0cb6f3f8bcd031b2a8
https://github.com/llvm/llvm-project/commit/b082ea1f961b22e02a870c0cb6f3f8bcd031b2a8
Author: Vadim Curcă <80581374+VadimCurca at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
Log Message:
-----------
[MLIR][LLVMIR] Fix llvm.extractvalue folder (#201838)
Fix the llvm.extractvalue folder when trying to extract a value from a
multidimensional constant. Add lit tests that would crash without the
fix.
Commit: 441a7255e97c8198988b66ad7e15ab69051ed358
https://github.com/llvm/llvm-project/commit/441a7255e97c8198988b66ad7e15ab69051ed358
Author: Aditya Trivedi <120598696+adit4443ya at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/linear-clause01.f90
M flang/test/Semantics/OpenMP/simd-aligned.f90
Log Message:
-----------
[Flang][OpenMP] Fix false positive common block error in LINEAR clause (#189170)
Fixes #184923
Commit: 678c1a2a02927677e1013c5cb60cc3dc09e461e8
https://github.com/llvm/llvm-project/commit/678c1a2a02927677e1013c5cb60cc3dc09e461e8
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
Log Message:
-----------
[LoopFusion][NFC] Fix NumSunkInsts statistic description (NFC) (#201841)
The NumSunkInsts counter was described as "Number of hoisted preheader
instructions.", a copy of NumHoistedInsts. It counts sunk instructions.
Commit: 3734a928541890a8f2b5d91587ff0bd6ebc90b46
https://github.com/llvm/llvm-project/commit/3734a928541890a8f2b5d91587ff0bd6ebc90b46
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
Log Message:
-----------
[lldb][Windows] Forward debuggee STDOUT through lldb-server via ConPTY (#201124)
`lldb-server.exe` currently does not forward the debuggee's STDIO to the
client.
This patch wires STDOUT using a ConPTY, mirroring the existing
`ProcessWindows` path. The two implementations share the same
infrastructure (PseudoConsole, ConnectionConPTY, ThreadedCommunication):
- The ConPTY is setup in
`GDBRemoteCommunicationServerLLGS::LaunchProcess`.
- `NativeProcessWindows` owns the ConPTY STDOUT read thread. The
read-thread callback forwards each chunk into a new
`NativeProcessProtocol::NewProcessOutput` delegate hook.
- `GDBRemoteCommunicationServerLLGS::NewProcessOutput` copies the data
and posts `SendONotification` to the main loop.
- The ConPTY is closed in `OnExitProcess`.
This patch uses a default terminal size to create the ConPTY, which
causes issues. This will be fixed in
https://github.com/llvm/llvm-project/pull/201141.
The STDIN path will be done in a follow up PR.
rdar://178725650
Commit: 9fb174c2955ae7e0d3e1b73e2fc9d4b39105f1e8
https://github.com/llvm/llvm-project/commit/9fb174c2955ae7e0d3e1b73e2fc9d4b39105f1e8
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/ctls.ll
Log Message:
-----------
[AMDGPU] Fix umin(sffbh(x), bitwidth) fold when x may be all-ones (#201795)
We can drop the umin clamp only if x is neither 0 nor -1. There is a
problem with -1 check:
- old: The old guard `!isAllOnes()` is too weak because if the bit is
not definitely unknown (could be either 0 or 1) this check will not work
properly
- new: `Known.Zero.getBoolValue()` guarantees that there is at least one
`0` bit which means that the value is definitely not -1 which is needed
for this specific case
Commit: acbd01a55d0ff71ec37654878a94111624c298dc
https://github.com/llvm/llvm-project/commit/acbd01a55d0ff71ec37654878a94111624c298dc
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
Log Message:
-----------
[lldb][Windows] Clear stale thread stop info on resume (#201595)
Commit: 36ba42d09737872243f1968067fa835fbaecbe73
https://github.com/llvm/llvm-project/commit/36ba42d09737872243f1968067fa835fbaecbe73
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vbmi2-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vlvbmi2-builtins.c
A clang/test/CodeGen/builtin-masked-addrspace.c
M clang/test/CodeGen/builtin-masked.c
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/test/Analysis/CostModel/AArch64/masked_expand_load.ll
M llvm/test/Analysis/CostModel/PowerPC/ld-st-with-length.ll
M llvm/test/Analysis/CostModel/RISCV/gep.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-expandload-compressstore.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Assembler/masked-load-store-intrinsics-attributes.ll
M llvm/test/Bitcode/upgrade-masked-keep-metadata.ll
M llvm/test/Instrumentation/AddressSanitizer/asan-masked-load-store.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/masked-store-load.ll
M llvm/test/Other/force-opaque-ptrs.ll
M llvm/test/Transforms/InstCombine/load-store-masked-constant-array.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/SPIRV/expand-masked-compressstore.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/SPIRV/expand-masked-expandload.ll
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[IR][CodeGen][mlir] Overload pointer argument for compressstore/expandload intrinsics (#200492)
Update the `llvm.masked.expandload` and `llvm.masked.compressstore`
intrinsics to have overloaded pointer arguments so other address spaces
can be used. This puts these intrinsics in line with other similar
intrinsics, which already have overloaded pointer arguments.
The change may look large, but almost all of the changes are adding
`.p0` to tests.
This is needed for targets that have non-zero default address space, the
problem was found when trying to compile the libc LIT tests for SPIRV,
specifically
[this](https://github.com/llvm/llvm-project/blob/4ac26f45fa8f5c58a90effb903808cb0e908cf1c/libc/test/src/__support/CPP/simd_test.cpp)
one.
Co-Authored-By: Claude Sonnet 4.5 <noreply at anthropic.com>
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 3dad31f753a9950ac1841dea1a9b03f32e8b6997
https://github.com/llvm/llvm-project/commit/3dad31f753a9950ac1841dea1a9b03f32e8b6997
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
Log Message:
-----------
[clang] Fix VFS creation crash with missing `DiagnosticConsumer` (#201397)
For convenience, the `CompilerInstance::createVirtualFileSystem()` API
allows omitting the diagnostic consumer for clients that don't care
about missing overlay files and other VFS creation errors. However, even
in that case, the temporary `DiagnosticsEngine` created internally
within the function does need a consumer. This PR sets it up.
rdar://176754115
Commit: 383e5d2a6907410dc3486604bdaae0c18cbf111c
https://github.com/llvm/llvm-project/commit/383e5d2a6907410dc3486604bdaae0c18cbf111c
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/test/Driver/objc-constant-literals.m
Log Message:
-----------
[Driver] Don't warn on ObjC constant-literal flags for non-ObjC inputs (#200303)
-fobjc-constant-literals and the per-kind
-f[no-]constant-ns{number,array, dictionary}-literals flags are only
acted on for Objective-C inputs. When a build system passes them
uniformly to every source via a shared response file, they go unclaimed
on assembly and C/C++ inputs and trigger:
error: argument unused during compilation: '-fobjc-constant-literals'
[-Werror,-Wunused-command-line-argument]
Mark the options NoArgumentUnused so the unused argument is ignored
regardless of input type or whether the cc1 or cc1as path runs. The
behavior of the flags is unchanged: only the positive forms are
forwarded to cc1, and only for ObjC inputs.
rdar://175647747
Commit: de1ff3e2db8a207f366f33b8918079a5ed273d77
https://github.com/llvm/llvm-project/commit/de1ff3e2db8a207f366f33b8918079a5ed273d77
Author: Ryan Mitchell <Ryan.Mitchell at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vimage_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vimage.txt
Log Message:
-----------
[AMDGPU] Allow null operands in VImage tensor instructions (#200911)
NULL is equivalent to passing a block of SGPRs that are set to zero, and
is allowed for 3+ opnds.
Commit: c8faaf9a9ef24873fe97d46554ad5fb909d0fd5d
https://github.com/llvm/llvm-project/commit/c8faaf9a9ef24873fe97d46554ad5fb909d0fd5d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
A llvm/test/tools/llubi/call_unknown.ll
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[llubi] Don't check type after the program exited (#201862)
Closes https://github.com/llvm/llvm-project/issues/201791.
Commit: 86d0c2b10427110892de794f73c0b0db476a9211
https://github.com/llvm/llvm-project/commit/86d0c2b10427110892de794f73c0b0db476a9211
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
Log Message:
-----------
[lldb][Windows] enable TestGdbRemote_qThreadStopInfo (#201868)
Commit: fdd3e7cae11fff30a33af79a8814db9c72d5179b
https://github.com/llvm/llvm-project/commit/fdd3e7cae11fff30a33af79a8814db9c72d5179b
Author: Miguel A. Arroyo <miguel.arroyo at rockstargames.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[llvm][cmake] Pass /Brepro to linker (#201708)
* The /Brepro flag should also be passed to the linker. The `BUILD.gn`
correctly does
[this](https://github.com/llvm/llvm-project/blob/70f7167ce2622a610a6d6dca4d5934ea8a07a056/llvm/utils/gn/build/BUILD.gn#L332).
* The /Brepro flag in `clang-cl` omits the timestamp for .obj files
while the linker flag omits the timestamp for .exe and .dll files.
Commit: ae3ef5367dd37e7b6b80339fcaa267dead9ad223
https://github.com/llvm/llvm-project/commit/ae3ef5367dd37e7b6b80339fcaa267dead9ad223
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
Log Message:
-----------
[AArch64][GlobalISel] Add patterns for signed scalar extend intrinsics (#201617)
Follow on from https://github.com/llvm/llvm-project/pull/201546
Add patterns for signed versions of scalar extend intrinsics as well.
Commit: c941964c58cf8ba2b65c1358f42576ab1eff67b0
https://github.com/llvm/llvm-project/commit/c941964c58cf8ba2b65c1358f42576ab1eff67b0
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-int-string-dedup.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-multi-scalar-params.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-omit.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-pointer-debug-none-base.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-pointer-param.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-scalar-returns.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-subroutine-type-flags.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-void-prototypes.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer-composite-pointee.ll
Log Message:
-----------
[SPIRV] Extend NSDI debug handling for DebugTypeFunction. (#197003)
Extend NSDI handling for
[DebugTypeFunction](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.html#DebugTypeFunction).
Changes:
- Collect required types with DebugInfoFinder instead of walking
DbgVariableRecords only. This allows processing types that might not be
available in these records, and avoids code duplication for the
traversals.
- Emit DebugTypeFunction for DISubroutineType when every signature slot
maps to an emitted debug type.
- Reset per-module state in beginModule().
- Replace parallel FileStringRegs/BasicTypeNameRegs with a StringMap
OpString cache, deduplicating identical strings.
- Add LLVM DINode flag lowering for NSDI.
- Cache DebugInfoNone, OpTypeVoid and OpTypeInt32 registers to avoid
duplicate instructions.
Commit: c4f2f2535438cbdf23d9f84689ea0f518ffa4a95
https://github.com/llvm/llvm-project/commit/c4f2f2535438cbdf23d9f84689ea0f518ffa4a95
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
A lldb/source/Plugins/Process/Windows/Common/IOHandlerProcessSTDIOWindows.cpp
A lldb/source/Plugins/Process/Windows/Common/IOHandlerProcessSTDIOWindows.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
Log Message:
-----------
[NFC][lldb][Windows] extract IOHandlerProcessSTDIOWindows (#201651)
Co-authored-by: Nerixyz <nero.9 at hotmail.de>
Commit: 89f4b84d8b2cd0a5c54dc9a819090f131bf87d0d
https://github.com/llvm/llvm-project/commit/89f4b84d8b2cd0a5c54dc9a819090f131bf87d0d
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
Log Message:
-----------
[InstCombine] Use copyMetadata in PointerReplacer::replace (#201827)
PointerReplacer::replace creates a new load that differs from the
original only in its pointer operand; the loaded type is unchanged. It
was using copyMetadataForLoad(), which is meant for the case where the
load's *type* changes. Since the type is the same here, plain
copyMetadata() is correct and preserves all metadata directly.
Commit: 3691cf9d025a1d37f69da8abf8577926e8fe9b84
https://github.com/llvm/llvm-project/commit/3691cf9d025a1d37f69da8abf8577926e8fe9b84
Author: Timur Golubovich <timur.golubovich at intel.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
M llvm/test/CodeGen/AArch64/pr164181.ll
M llvm/test/CodeGen/AArch64/sitofp-to-tbl.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
M llvm/test/CodeGen/X86/mbp-false-cfg-break.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/pr62660-normalization-failure.ll
Log Message:
-----------
[Test] Fix loop exit conditions to prevent trivial optimizations (#201867)
Several tests had 'br i1 %ec, label %loop, label %exit' which exits on
the first iteration instead of looping so I swapped them. Also changed
predicates to keep the loops, otherwise they are going to be eliminated
by https://github.com/llvm/llvm-project/pull/201839.
Commit: b16873b218bd3f387adb33d796e0775a57a2490e
https://github.com/llvm/llvm-project/commit/b16873b218bd3f387adb33d796e0775a57a2490e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/Headers/__clang_hip_libdevice_declares.h
M clang/test/Headers/__clang_hip_libdevice_declares.cpp
M clang/test/Headers/openmp-device-functions-bool.c
Log Message:
-----------
clang/HIP: Remove __ockl_fdot2 declaration (#201878)
The builtin headers should not be in the business of exporting
ockl functions, and only declaring the minimum which are actively
used by the builtin headers.
Commit: 581ee88f638e53b91245e0b8f938263cf974a938
https://github.com/llvm/llvm-project/commit/581ee88f638e53b91245e0b8f938263cf974a938
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/IR/Intrinsics.cpp
M llvm/test/Assembler/invalid-interleave.ll
M llvm/test/Assembler/invalid-vecreduce.ll
M llvm/test/Verifier/intrinsic-bad-arg-type.ll
M llvm/test/Verifier/intrinsic-bad-arg-type1.ll
M llvm/test/Verifier/reduction-intrinsics.ll
M llvm/test/Verifier/scatter_gather.ll
Log Message:
-----------
[LLVM] Precise error message for intrinsic signature verification (3/n) (#200493)
Print precise error message for dependent types when an intrinsic's type
signature verification fails.
Commit: 92a57848c2ac96021bc8abc1d422c60fe7a01565
https://github.com/llvm/llvm-project/commit/92a57848c2ac96021bc8abc1d422c60fe7a01565
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-unparse.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[flang][OpenMP] Adding support for weak extended-atomic clause (#201823)
Adding support for "!$omp atomic compare weak".
!$omp atomic compare weak
if (var1 == num1) var1 = num2
!$omp end atomic
This also Fixes
[#201812](https://github.com/llvm/llvm-project/issues/201812)
---------
Co-authored-by: Sunil Kuravinakop <kuravina at pe31.hpc.amslabs.hpecorp.net>
Commit: 559ea918dfe81b1bbe222af15a0085eb73a7c3d1
https://github.com/llvm/llvm-project/commit/559ea918dfe81b1bbe222af15a0085eb73a7c3d1
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/test/Driver/objc-constant-literals.m
Log Message:
-----------
[Driver][test] Use -### for non-ObjC constant-literal RUN lines (#201877)
The RUN lines added in 3b100666a70f did a real compile for
arm64-apple-macosx11, which fails on builders that don't register the
AArch64 backend (e.g. llvm-clang-x86_64-sie-ubuntu-fast). The
NoArgumentUnused behavior under test is driver-side, so switch to -###
and avoid the backend dependency.
Commit: 96f3f0a7f7ebbc3e6078fe3d691822c6d9e7df0a
https://github.com/llvm/llvm-project/commit/96f3f0a7f7ebbc3e6078fe3d691822c6d9e7df0a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
clang: Remove use of auto which may have been a triple copy (#201880)
Commit: 7839f1fad5402dcf081432c2cd4c2b19ee987f62
https://github.com/llvm/llvm-project/commit/7839f1fad5402dcf081432c2cd4c2b19ee987f62
Author: Hex Wu <hex4 at foxmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lld/wasm/InputFiles.cpp
Log Message:
-----------
[lld][WebAssembly] Add missing space in unmodeled diagnostic (#201764)
This is just a nit change, I hit this fatal while trying to use a GC
object, and noticed that the diagnostic showed `foo.ofile has unmodeled
reference or GC types`
Commit: e668f641467892c75ea724ec21c30439a463a772
https://github.com/llvm/llvm-project/commit/e668f641467892c75ea724ec21c30439a463a772
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-templates-pattern.cpp
M clang/test/CXX/basic/basic.link/p11.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
M clang/test/CodeGenCXX/default-arguments.cpp
M clang/test/CodeGenCXX/explicit-instantiation.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/friend-template.cpp
M clang/test/SemaTemplate/instantiate-scope.cpp
M clang/test/Templight/templight-default-func-arg.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Revert "[clang] Reland: fix getTemplateInstantiationArgs" (#201864)
Reverts llvm/llvm-project#201373
This caused compilation errors. See comment on the original PR.
Commit: 681fc74ac47eaa597d22506231a347748dda635b
https://github.com/llvm/llvm-project/commit/681fc74ac47eaa597d22506231a347748dda635b
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUAttrs.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUBase.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
A mlir/include/mlir/Dialect/LLVMIR/ROCDLAttrs.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h
A mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
A mlir/include/mlir/Dialect/LLVMIR/ROCDLEnums.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Target/LLVM/ROCDL/Utils.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
M mlir/test/Conversion/AMDGPUToROCDL/global-prefetch.mlir
M mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
M mlir/test/Conversion/AMDGPUToROCDL/mfma.mlir
M mlir/test/Conversion/AMDGPUToROCDL/wmma-gfx1250.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
A mlir/test/Dialect/LLVMIR/rocdl-cache-policy-invalid.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Integration/GPU/ROCM/gpu-lower-to-rocdl-pipeline.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][ROCDL] Move ROCDL intrinsic enum immargs to enums (#198875)
In many cases, a "i32" `immarg` arguhment to an intrinsic in the AMDGPU
backend actually corresponds directly to some enumerated set of values
in the backend, which we have to smuggle through an I32. This makes the
MLIR forms of intrinsics less readable and means that people either have
to use the `amdgpu` dialect to get these enums or have to roll their own
enums if they want to know what's going on.
This PR rips the band-aid off and breaks the world by swapping out those
integer attributes for enum attributes.
Of special note is the handling of the aux/cachepolicy field on various
intrinsics; in the backend, all the architectures share an enum and
you've just got to use the right names in the right spots. Here, we've
separated out the cases for pre-gfx942, gfx942+, and gfx12 enums as
separate attributes (including separate casing for gfx12 atomics) and
allowed any of them to be used. We also allow an I32Attr in those
arguments for easy importing and to make the common case of "0" portably
printable.
In all other cases, we've just moved to the new enums.
The WMMA ops, which have multiple immadiate arguments that could be
confusing, have been given assembly formats than name the filed names.
This commit also moves the AMDGPU dialct to use the new enums.
In order to be able to use the current `EnumAttr` system, a method has
been added to LLVM translation to allow such enum attributes to be
converted to their underlying integer constants.
AI usage: this is a quasi-mechanical refactor that was pretty much
farmed out to Codex
---------
Co-authored-by: OpenAI Codex <codex at openai.com>
Commit: b764858749de56611794a7e92b32ee3008936337
https://github.com/llvm/llvm-project/commit/b764858749de56611794a7e92b32ee3008936337
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/include/flang/Lower/Support/PrivateReductionUtils.h
M flang/include/flang/Lower/Support/Utils.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/Utils.cpp
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-distribute-parallel-do-simd-private-adjustable-array.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-distribute-private-adjustable-array.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-nested-distribute-private-adjustable-array.f90
Log Message:
-----------
[Flang][OpenMP] Heap-allocate GPU dynamic private arrays in distribute parallel do (#200841)
Fixes GPU offload crashes for Fortran automatic arrays privatised in
target teams distribute parallel do.
For delayed privatisation on GPU, dynamically sized boxed array privates
are now routed through the existing heap-allocation path, with matching
cleanup emitted in the privatiser dealloc region. This avoids lowering
such arrays to runtime-sized scratch allocas whose descriptors can be
captured across the distribute callback boundary.
Fixes [#2419](https://github.com/ROCm/llvm-project/issues/2419).
Co-authored-by: Codex <codex at openai.com>
Commit: 44ef831f9da0283e16c11c903d81d4186ed8ea6d
https://github.com/llvm/llvm-project/commit/44ef831f9da0283e16c11c903d81d4186ed8ea6d
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/Basic/Attr.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/Type.cpp
A clang/test/AST/attributed-type-dedup-address-space.c
A clang/test/AST/attributed-type-dedup-annotate-type-args.c
A clang/test/AST/attributed-type-dedup-annotate-type.m
A clang/test/AST/attributed-type-dedup-nullability.m
A clang/test/AST/attributed-type-dedup-objc-ownership.m
A clang/test/AST/attributed-type-dedup-pcs.c
A clang/test/AST/attributed-type-dedup-swift-attr.m
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang][AST] Hash `AttributedType`'s `Attr` by Arguments (#200961)
https://github.com/llvm/llvm-project/pull/108631 added
`ID.AddPointer(attr)` to `AttributedType::Profile`, which turned the
`ID` into a pointer-identity key. This inhibits deduplication of
attributed types (such as types with `_Nonnull/_Nullable` attributes).
Such duplications can lead to significant increases in pcm/pch sizes.
This PR adds the arguments of the attributes to the folding set ID, so
that the content of the argument is taken into account when computing
the ID in addition to the existing inputs. The implementation teaches
tablegen to generate the `profile` method for each attribute, similar to
how we generate methods to check equivalence. This way, the argument
contents are handled automatically. Additionally, an attribute can have
an escape hatch to add its own customized profile method, through the
`profileFn` tablegen field, in case something special is needed.
Assisted-by: claude-opus-4.7
Fixes rdar://170586474.
Commit: 05d4fd021e9e5b8d2815163a8e4463bcf1f515e6
https://github.com/llvm/llvm-project/commit/05d4fd021e9e5b8d2815163a8e4463bcf1f515e6
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
Log Message:
-----------
[NFC][Doc] Fix non-existing reference in BuiltinsAMDGPUDocs.td (#201889)
Commit: d4ec02e1afa71847a72ced8929448ea1e7b84018
https://github.com/llvm/llvm-project/commit/d4ec02e1afa71847a72ced8929448ea1e7b84018
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Support v4i16/v2i32->v4i8/v2i16 truncate. (#201757)
Commit: 2433b06e6dbe3ef015a226620d207a45f7b98c7c
https://github.com/llvm/llvm-project/commit/2433b06e6dbe3ef015a226620d207a45f7b98c7c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][TargetLowering][P-ext] Support sext_inreg or v2i32/v4i16 vectors on RV32. (#201752)
Update sext_vector_inreg expansion to use sext_inreg. Previously it
emitted 2 shifts that wouldn't be combined.
Commit: a4e48b5d1a5dc7af00c4adb4076145afd9846739
https://github.com/llvm/llvm-project/commit/a4e48b5d1a5dc7af00c4adb4076145afd9846739
Author: Ehsan Amiri <ehsan.amiri at huawei.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/test/Transforms/LoopFusion/cannot_fuse.ll
Log Message:
-----------
[LoopFusion] Simplify the logic of checking trip count equality (NFCI). (#201446)
Currently `haveIdenticalTripCounts` has a clunky return value, which
makes it very easy to make a mistake. The returned pair doesn't provide
much value and can be replaced with an optional integer. Also the
function `haveIdenticalTripCounts` does more than what its name
suggests. It checks whether peeling is supported for the pair of loops
or not. Interestingly this is not the only place where we check whether
peeling for this pair is supported!
This patch changes the function and renames it to
`calculateTripCountDiff`. It does exactly what the names says. It tries
to calculate the difference of the trip counts of the two loops and if
it fails it returns an empty optional. It is up to the caller to decide
whether it wants to do fusion/peeling based on this result. The patch
changes some debug output but no functional change is intended.
Datatypes has been modified with explicit specification of size and
signedness to avoid any bug due to overflow in subtraction or comparison
of different integer types.
Commit: 427d632c4c307dfac7f21a3f0cd3f82b5e11dea4
https://github.com/llvm/llvm-project/commit/427d632c4c307dfac7f21a3f0cd3f82b5e11dea4
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 681fc74 (#201894)
This fixes 681fc74ac47eaa597d22506231a347748dda635b.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: f04b27125ad150f3ca7488272cddc3a6341cbf15
https://github.com/llvm/llvm-project/commit/f04b27125ad150f3ca7488272cddc3a6341cbf15
Author: Kazu Hirata <kazu at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
Log Message:
-----------
[SampleProfile] Switch getNameTable() to return iterator_range (NFC) (#200995)
This patch teaches SampleProfileReader::getNameTable() to return an
iterator_range instead of a pointer to std::vector<FunctionId>.
This patch is meant to be a preparation patch for the following
speed-up opportunity. I'm planning to lazy-load SecNameTable in a
subsequent patch for performance reasons. We have SecNameTable that
takes up about 90MB on disk. We eager-load this section into
std::vector<FunctionId> on the heap. This ends up taking about 180MB
on the heap because the element type of the section is 8-byte MD5 hash
value while FunctionId takes up 16 bytes. This eager loading shows up
on the execution profile -- about 1%. Since we do have a few places
where we scan the entire NameTable, we should accommodate those places
with iterators that lazy-load SecNameTable.
See the RFC at:
https://discourse.llvm.org/t/rfc-faster-sample-profile-loading/90957
Commit: c19fa5be5f47d8747f523509382b12997f2bd25f
https://github.com/llvm/llvm-project/commit/c19fa5be5f47d8747f523509382b12997f2bd25f
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
M llvm/test/CodeGen/WebAssembly/saturating-truncation.ll
Log Message:
-----------
[WebAssembly] narrow instructions use signed saturation (#201798)
Fixes https://github.com/llvm/llvm-project/issues/201780
Per
https://www.w3.org/TR/wasm-core-2/#-hrefop-narrowmathrmnarrowmathsfu_m-n-i
the saturation is signed, the truncation is unsigned.
Commit: a9f6afded01c7a8a9f949937e89d0d961f7a8423
https://github.com/llvm/llvm-project/commit/a9f6afded01c7a8a9f949937e89d0d961f7a8423
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/test/Driver/function-sections.f90
Log Message:
-----------
[flang] Update a test case for AIX (NFC) (#201865)
-fdata-sections is specified by default on AIX. This patch is to adjust
the testing for the case that the option is off and on by default.
Commit: 3b983204e4c2cc3c383dba022fe85463e520b3b5
https://github.com/llvm/llvm-project/commit/3b983204e4c2cc3c383dba022fe85463e520b3b5
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
R lld/test/wasm/Inputs/custom.ll
A lld/test/wasm/Inputs/custom.s
R lld/test/wasm/Inputs/explicit-section.ll
A lld/test/wasm/Inputs/explicit-section.s
R lld/test/wasm/Inputs/locals-duplicate1.ll
A lld/test/wasm/Inputs/locals-duplicate1.s
R lld/test/wasm/Inputs/locals-duplicate2.ll
A lld/test/wasm/Inputs/locals-duplicate2.s
R lld/test/wasm/Inputs/many-funcs.ll
A lld/test/wasm/Inputs/many-funcs.s
R lld/test/wasm/Inputs/tag-section1.ll
A lld/test/wasm/Inputs/tag-section1.s
R lld/test/wasm/Inputs/tag-section2.ll
A lld/test/wasm/Inputs/tag-section2.s
R lld/test/wasm/custom-section-name.ll
A lld/test/wasm/custom-section-name.s
R lld/test/wasm/custom-sections.ll
A lld/test/wasm/custom-sections.s
R lld/test/wasm/function-imports-first.ll
A lld/test/wasm/function-imports-first.s
R lld/test/wasm/gc-sections.ll
A lld/test/wasm/gc-sections.s
R lld/test/wasm/init-fini-no-gc.ll
A lld/test/wasm/init-fini-no-gc.s
R lld/test/wasm/local-symbols.ll
A lld/test/wasm/local-symbols.s
M lld/test/wasm/locals-duplicate.test
R lld/test/wasm/many-functions.ll
A lld/test/wasm/many-functions.s
M lld/test/wasm/section-symbol-relocs.yaml
R lld/test/wasm/signature-mismatch-export.ll
A lld/test/wasm/signature-mismatch-export.s
R lld/test/wasm/signature-mismatch-unknown.ll
A lld/test/wasm/signature-mismatch-unknown.s
R lld/test/wasm/signature-mismatch-weak.ll
A lld/test/wasm/signature-mismatch-weak.s
R lld/test/wasm/startstop.ll
A lld/test/wasm/startstop.s
R lld/test/wasm/tag-section.ll
A lld/test/wasm/tag-section.s
R lld/test/wasm/undefined.ll
A lld/test/wasm/undefined.s
R lld/test/wasm/visibility-hidden.ll
A lld/test/wasm/visibility-hidden.s
Log Message:
-----------
[lld][WebAssembly] Convert more tests from .ll to .s (#201713)
This continues the work of converting Wasm tests to use assembly instead
of LLVM IR.
For this change I chose all of the `.ll` tests that could be converted
with minimal changed.
Some changes that were needed:
- data-segments.s: Updated segment order and offsets to match .tdata
behavior.
- visibility-hidden.s: Removed __stack_pointer export expectation as
it's no longer automatically exported in the assembly-based test.
- init-fini.s: Updated body encoding and InitFunctions indices to match
llvm-mc output.
- locals-duplicate.test: Added explicit alignment to inputs to match
original test expectations.
- function-imports-first.s, init-fini.s, signature-mismatch-export.s:
Removed __stack_pointer export expectation as it's no longer
automatically exported in assembly-based tests when unused.
- gc-sections.s: Updated expectations to reflect that __stack_pointer is
garbage collected when GC is enabled.
- tag-section.s: Added and exported an explicit global variable
(`my_global`) to ensure a GLOBAL section is created, preserving the test
for checking that the GLOBAL section comes after the TAG section.
To verify the expectation changes, you can use the following command to
diff the .ll (pre-image) and .s (post-image) expectations ignoring
comment character differences:
```shell
git diff --name-status HEAD~1 HEAD | grep '^D' | grep '\.ll$' | while read -r _ ll; do \
s="${ll%.ll}.s"; \
if [ -f "$s" ]; then \
echo "=== Diff for $s ==="; \
diff -u \
<(git show HEAD~1:"$ll" | grep -E 'CHECK|RUN' | sed -E 's/^;[[:space:]]*//') \
<(cat "$s" | grep -E 'CHECK|RUN' | sed -E 's/^#[[:space:]]*//'); \
fi; \
done
```
Commit: 9bcd58f811dd2760fa721affd605abc2a4ddbb6e
https://github.com/llvm/llvm-project/commit/9bcd58f811dd2760fa721affd605abc2a4ddbb6e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
Log Message:
-----------
[CIR] Fix compressstore builtin tests (#201902)
The llvm.masked.compressstore intrinsic was update to allow overloaded
pointer arguments for address space support. This led to failures in the
CIR tests that check for this intrinsic being called. This change
updates the checks.
Commit: de727e5f511816d74178c8bde35d56cc61ebab6a
https://github.com/llvm/llvm-project/commit/de727e5f511816d74178c8bde35d56cc61ebab6a
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/freeze-vector.ll
Log Message:
-----------
[DAG] isGuaranteedNotToBeUndefOrPoison - add ISD::CONCAT_VECTORS handling (#200932)
Teach isGuaranteedNotToBeUndefOrPoison to distribute fixed-length
demanded element masks across CONCAT_VECTORS operands. This is part of
the series of fixes needed to resolve a SelectionDAG hang by making it
possible to prove certain values don't need to be frozen.
AI note: an LLM generated the code and the test, I've read them
---------
Co-authored-by: OpenAI Codex <codex at openai.com>
Commit: aa1c599c7ef96169514b481afaf4275791c4e955
https://github.com/llvm/llvm-project/commit/aa1c599c7ef96169514b481afaf4275791c4e955
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/freeze-vector.ll
Log Message:
-----------
[SelectionDAG] isGuaranteedNotToBeUndefOrPoison - add ISD::SELECT handling (#200934)
Propagate demanded elements through to the two arms of a select, which might be vectors.
AI note: an LLM generated the code and the test, I've read them
---------
Co-authored-by: OpenAI Codex <codex at openai.com>
Commit: a79272b56bcbeda369ec29a6f013a4d5ecedf8a4
https://github.com/llvm/llvm-project/commit/a79272b56bcbeda369ec29a6f013a4d5ecedf8a4
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Restrict addOperand to sub-classes that need it (NFC). (#200692)
Make addOperand protected and add dedicated helpers in sub-classes that
verify the type of the added operand if possible.
Most recipes already add all their operands on construction. This patch
makes sure that addOperand cannot be used to add operands with invalid
types.
PR: https://github.com/llvm/llvm-project/pull/200692
Commit: 0dedc9511bca8038ef0386225b97c867037f45bb
https://github.com/llvm/llvm-project/commit/0dedc9511bca8038ef0386225b97c867037f45bb
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Support/Unix/Signals.inc
M llvm/unittests/Support/SignalsTest.cpp
Log Message:
-----------
[Support] Fix symbolizer markup backtrace; reenable test (#181035)
The symbolizer markup backtrace test depended on the binary having a
build ID; this isn't a given. Instead, we check to see if the binary
name is anywhere in the output string; if not, we skip the test. This
isn't perfect of course, but determining whether the binary under test
overlaps contains a build ID overlaps too much with the implementation
of the feature; this at least keeps the tests independent.
The above fix uncovered an issue: the build ID of another DSO would be
misattributed to the main DSO if the main DSO had no build ID. This
issue has been corrected also.
Fixes #168891
Commit: 8dd73767aa9081cf67cd6aaa1358970034a7d697
https://github.com/llvm/llvm-project/commit/8dd73767aa9081cf67cd6aaa1358970034a7d697
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Support 4i16/v8i8 MULHS/MULHU/MULHSU for division by constant (#201747)
Update the mulhs+add->mulhsu combine to create a split mulhsu for 64-bit
types. LegalizeVectorOps will ignore target specific opcodes so we can't
custom lower it later.
Commit: 97b7e451423b8e971d6feb3369d67f659037ce83
https://github.com/llvm/llvm-project/commit/97b7e451423b8e971d6feb3369d67f659037ce83
Author: Petr Hosek <phosek at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Debugging/CMakeLists.txt
Log Message:
-----------
[ORC] Add missing dependency on intrinsics_gen to Debugging library (#201908)
The Debugging library includes llvm/IR/Attributes.inc so it needs to
depend on intrinsics_gen to make sure the file is generated before it's
used.
Commit: 237644975a5d2df88f624b5e797522cc81b65aac
https://github.com/llvm/llvm-project/commit/237644975a5d2df88f624b5e797522cc81b65aac
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libc/src/__support/CPP/tuple.h
Log Message:
-----------
[libc] Fix putting tuple_size into libc++ namespace. (#201905)
633539bfa1516e616b798b2eae98bea689b3c410 added special-case for putting
`tuple_size` into correct namespace when building with libc++. It uses
`_LIBCPP_BEGIN_NAMESPACE_STD` macro, which recently started to contain
more logic, including the Clang pragmas to ensure correct visibility. It
also may also introduce warnings for `-Wpragma-clang-attribute` which
need to be suppressed. After fad51d3f41482e148683e12741ac9abfbe49742d,
this suppression only works for libc++ headers themselves (which define
`#pragma GCC system_header`), but not for the user code.
This change bypasses explicit ABI annotation macros in libc++ by
switching to using `_LIBCPP_ABI_NAMESPACE` (that libc++ uses under the
hood) if it's available.
Commit: ae48a36859750575a9d9166b5ebd604656741ad1
https://github.com/llvm/llvm-project/commit/ae48a36859750575a9d9166b5ebd604656741ad1
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M compiler-rt/lib/orc/record_section_tracker.h
Log Message:
-----------
[orc] Add missing <iterator> include (#201916)
Fixes build after libc++ PR #195509 which drops transitive includes.
Commit: 4bf77a4abbeec52d2b229d36f9ae01d09d2794b8
https://github.com/llvm/llvm-project/commit/4bf77a4abbeec52d2b229d36f9ae01d09d2794b8
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/bindings/python/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
Log Message:
-----------
[lldb][windows] Fix Python library link for LLDB_ENABLE_PYTHON_LIMITED_API (#201407)
When `LLDB_ENABLE_PYTHON_LIMITED_API` is `ON`, `liblldb` should link
against `python3.dll` (stable ABI) rather than the `python310.dll`.
Previously, two issues prevented this on Windows:
1. The `ScriptInterpreter` plugin explicitly linked
`${Python3_LIBRARIES}` regardless of whether the limited API was
enabled.
2. Python's `pyconfig.h` emits a `#pragma` to select the import library
at link time, choosing `python3.lib` or `python310.lib` depending on
whether `Py_LIMITED_API` is defined. However,
`LLDB_ENABLE_PYTHON_LIMITED_API` was only surfaced through Config.h,
which is not included early enough in the compilation chain to affect
pyconfig.h in all translation units.
This patch fixes both issues.
This is needed for https://github.com/llvm/llvm-project/pull/200533.
Commit: ff65d814129d3220845ff64cbec90c1b83cf79e7
https://github.com/llvm/llvm-project/commit/ff65d814129d3220845ff64cbec90c1b83cf79e7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
R lldb/include/lldb/Host/windows/PythonPathSetup/PythonPathSetup.h
M lldb/source/Host/CMakeLists.txt
R lldb/source/Host/windows/PythonPathSetup/CMakeLists.txt
R lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/tool/CMakeLists.txt
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
Log Message:
-----------
[lldb] Drop client-side Python pre-load and remove PythonPathSetup (#200533)
PythonPathSetup was a Windows-only helper that pre-mapped python3xx.dll
into lldb.exe / lldb-dap.exe so liblldb.dll's direct imports from
python3xx.dll would resolve when the delay-load thunk for liblldb fired
on the first SB call. ScriptInterpreterRuntimeLoader's Windows backend
has subsumed that responsibility, so this commit deletes the helper and
rewrites the two clients on the new API.
The Windows pre-load itself stays in the clients: the central load in
SystemInitializerFull::Initialize() lives behind the liblldb.dll thunk
that the import binding fires against, so the loader still has to run
from the binary that statically links lldbHost (lldb.exe / lldb-dap.exe)
before the first SB call lands.
Commit: e3fee08c14eab9ee30c7d6d19c66cbd6bf1ff704
https://github.com/llvm/llvm-project/commit/e3fee08c14eab9ee30c7d6d19c66cbd6bf1ff704
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
Log Message:
-----------
[VPlan] Remove special cost logic for stores predicated by header mask. (#196632)
Update the predicated memop costs with uniform operands to
match the code we generate.
Depends on https://github.com/llvm/llvm-project/pull/196630
PR: https://github.com/llvm/llvm-project/pull/196632
Commit: 989ef9ccdf6eb327f7b358485509774f11eadbce
https://github.com/llvm/llvm-project/commit/989ef9ccdf6eb327f7b358485509774f11eadbce
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/freeze-vector.ll
Log Message:
-----------
[DAG] isGuaranteedNotToBeUndefOrPoison - add ISD::BITCAST demanded elements handling (#200933)
Bitcasts preserve undef/poison status, but vector bitcasts can change
which source lanes cover a demanded result lane. Map the demanded
element mask through fixed-length vector bitcasts before checking the
source where possible.
AI note: an LLM generated the code and the test, I've read them
Fixes #161512
Co-Authored-By: OpenAI Codex <codex at openai.com>
---------
Co-authored-by: OpenAI Codex <codex at openai.com>
Commit: 1118fa12a9db10712b38db126807df983f4dda9a
https://github.com/llvm/llvm-project/commit/1118fa12a9db10712b38db126807df983f4dda9a
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M flang/test/Semantics/OpenMP/linear-clause01.f90
Log Message:
-----------
[flang][OpenMP] Fix failure in linear-clause01.f90 test (#201920)
Apparently the order of some OpenMP checks changed since the pre-commit
CI tested PR #189170.
Now the error `The list item 'i' must be a dummy argument` occurs
instead of
`'cc' is a common block name and must not appear in a LINEAR clause`.
Commit: ab9644ac1733b30e5947a65f0e11946bb9d56895
https://github.com/llvm/llvm-project/commit/ab9644ac1733b30e5947a65f0e11946bb9d56895
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/complex-builtins.cpp
M clang/test/CIR/CodeGen/complex-unary.cpp
M clang/test/CIR/CodeGen/long-double-inc-dec.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/IR/unary.cir
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CodeGen/AArch64/neon/fullfp16.c
Log Message:
-----------
[CIR] Update CIR unary operations (#201727)
This creates a floating-point-specific FNegOp and updates the type
constraints on the existing unary operations to match the types that are
actually produced by the Clang AST.
This change also moves complex types out of the unary operations. A
ComplexConjOp is added to handle what was previously being incorrectly
referred to as "not", while inc, dec, and minus are just expanded to
their component representation during codegen. We may want to consider
adding operations like cir.complex.add later, but for now I'm just
removing this type from the unary ops. I'm doing this for two reasons:
(1) the old use was inconsistent with how we handle other arithmetic
operations on complex types, and (2) I will soon need to attach
FP-specific attributes to add and subtract of complex types (and so also
inc and dec).
Assisted-by: Cursor / claude-opus-4.8
Commit: 6a8608e5a75f9c4b945c3ed210dee6b20705cefe
https://github.com/llvm/llvm-project/commit/6a8608e5a75f9c4b945c3ed210dee6b20705cefe
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/test/Driver/crash-diagnostics-tar.c
Log Message:
-----------
[clang] Disable crash-diagnostic-tar.c if backtraces are disabled (#201921)
PR #201643 adds a test that fails if backtraces are disabled, e.g. in
tests for a stripped build. This was failing the Fuchsia CI, so this
change disables this test in such cases. It is likely possible to make
this test finer-grained to allow it to succeed with backtraces disabled.
Commit: fa9e7b77b19a9d59b13a49116924b562b09a6599
https://github.com/llvm/llvm-project/commit/fa9e7b77b19a9d59b13a49116924b562b09a6599
Author: macurtis-amd <macurtis at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
A llvm/test/CodeGen/AMDGPU/debug-independence-exec-masking.mir
Log Message:
-----------
AMDGPU: fix assert when calling LiveRegUnits::stepBackward (#201887)
`stepBackward` assert added in
https://github.com/llvm/llvm-project/pull/193104.
Found while building `aqlprofile` as part of TheRock.
Commit: 1227b19800524b542df685282096a2fe07a0aa5d
https://github.com/llvm/llvm-project/commit/1227b19800524b542df685282096a2fe07a0aa5d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Fix -Wunused-variable (#201932)
NumDstElts is only used in assertions so mark it [[maybe_unused]] to
prevent any issues with non-asserts builds and -Wunused-variable.
Commit: 6ffd9f8c5c574f20c930d1104ef7215ff20536d5
https://github.com/llvm/llvm-project/commit/6ffd9f8c5c574f20c930d1104ef7215ff20536d5
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
M mlir/test/Target/SPIRV/ocl-ops.mlir
Log Message:
-----------
[mlir][SPIR-V] Add OpenCL erfc op (#201906)
Commit: 0dcca55e4a9adb7909eacb59e56ddcb0167d0d36
https://github.com/llvm/llvm-project/commit/0dcca55e4a9adb7909eacb59e56ddcb0167d0d36
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/test/Dialect/SPIRV/IR/types.mlir
Log Message:
-----------
[mlir][SPIR-V] Validate float types in parseAndVerifyType (#201910)
Commit: 75db4ce2177b37a2ae94fdbb9cee076dde5080df
https://github.com/llvm/llvm-project/commit/75db4ce2177b37a2ae94fdbb9cee076dde5080df
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCUDA/increment-index-for-thunks.cu
M clang/test/CodeGenCUDA/record-layout.cu
M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
M clang/test/Headers/hip-header.hip
M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
M clang/test/OpenMP/target_vtable_codegen_explicit.cpp
Log Message:
-----------
Restore unnamed_addr on vtables in -fno-rtti builds (#201846)
This is a follow-up to #200108 which dropped unnamed_addr from vtables
since it can break dynamic_cast under some circumstances. However, that
caused significant binary size regressions due to preventing ICF of
vtables.
This patch restores unnamed_addr on vtables in -fno-rtti builds, since
those do not support dynamic_cast, recovering the binary size savings at
least for those using that configuration.
Commit: c3e9d05ce8044612ecae2eb27dd5ca52b612a8ac
https://github.com/llvm/llvm-project/commit/c3e9d05ce8044612ecae2eb27dd5ca52b612a8ac
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lld/MachO/LTO.cpp
M lld/test/MachO/icf-safe-thunks.ll
Log Message:
-----------
[lld-macho][LTO] Emit `__llvm_addrsig` for `--icf=safe_thunks` (#188486)
LTO was emitting `__llvm_addrsig` metadata when `--icf=safe` was
specified, but not for `--icf=safe_thunks`. After the recent PR
https://github.com/llvm/llvm-project/pull/188400 that makes safe ICF
conservative without `__llvm_addrsig` (marking all symbols as
address-significant when the section is absent), this omission caused
safe_thunks to silently degrade for all LTO-compiled objects: every
symbol became `keepUnique`, preventing body folding entirely.
Fix this by also enabling `EmitAddrsig` when `icfLevel` is
`safe_thunks`. This allows the LTO backend to emit precise
address-significance metadata, so that only truly address-significant
functions get thunk treatment while non-address-significant identical
functions can still be body-folded.
Add a regression test that verifies LTO + `--icf=safe_thunks` correctly
body-folds non-address-significant identical functions, which would fail
without this fix due to missing addrsig metadata.
Commit: 276cc2fac75a476824ea25b5349dfbac0d5b5545
https://github.com/llvm/llvm-project/commit/276cc2fac75a476824ea25b5349dfbac0d5b5545
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
A llvm/test/CodeGen/DirectX/DebugInfo/di-globalvariable.ll
A llvm/test/tools/dxil-dis/di-globalvariable.ll
Log Message:
-----------
[DirectX] Rewrite DIGlobalVariableExpression to DXDIGlobalVariable (#199791)
DIGlobalVariable used to have an `expr` operand. Starting from
bceaaa964360 `expr` is now an operand of DIGlobalVariableExpression,
which references both the variable and the expression.
Before:
!0 = !DIGlobalVariable(expr: !1)
!1 = !DIExpression(DW_OP_plus, 4)
Now:
!2 = !DIGlobalVariableExpression(var: !3, expr: !4)
!3 = distinct !DIGlobalVariable(name: "a", scope: null, isLocal: false,
isDefinition: true, type: !6)
!4 = !DIExpression(DW_OP_plus, 4)
DXIL does not support DIGlobalVariableExpression, so we have to fold
`expr` back to DIGlobalVariable.
---------
Co-authored-by: Andrew Savonichev <andrew.savonichev at gmail.com>
Commit: 35901313800ea6e6cbeb9226e51c7c4b29bfc40e
https://github.com/llvm/llvm-project/commit/35901313800ea6e6cbeb9226e51c7c4b29bfc40e
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
M mlir/test/Target/SPIRV/ocl-ops.mlir
Log Message:
-----------
[mlir][SPIR-V] Add OpenCL cbrt op (#201914)
Commit: de59f9ed12db9d47ad41ad44d54ec604ef8841cb
https://github.com/llvm/llvm-project/commit/de59f9ed12db9d47ad41ad44d54ec604ef8841cb
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/MC/DXContainerInfo.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/MC/DXContainerInfo.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-zlib-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-zlib.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-zlib-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-zlib.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart.yaml
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
Log Message:
-----------
[DirectX][ObjectYAML] Add SRCI part support (#199446)
Add support for DXContainer SRCI in the ObjectYAML pipeline so it can be
represented in structured YAML and round-tripped through
yaml2obj/obj2yaml.
SRCI is emitted into shader PDB files. It stores shader source code that
is displayed in PIX, and shader compilation flags.
Commit: 3b89e77151214ec62546f7437b4d5e07b1c2ce1d
https://github.com/llvm/llvm-project/commit/3b89e77151214ec62546f7437b4d5e07b1c2ce1d
Author: Florian Mayer <fmayer at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cpp
Log Message:
-----------
[compiler-rt] [sanitizers] Add includes for symbolizer (#201929)
After ce5b2e876494cb95f02d9f915081e2b8781e74d1 this stopped building.
Commit: e9a4dd0b325c8d171e68662fbea554a86757a79f
https://github.com/llvm/llvm-project/commit/e9a4dd0b325c8d171e68662fbea554a86757a79f
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M compiler-rt/test/fuzzer/OutOfProcessFuzzTarget.cpp
Log Message:
-----------
[compiler-rt] Add stdlib include to OutOfProcessFuzzTarget.cpp (#201944)
Fixes test after libc++ PR #195509 which drops transitive includes.
Commit: 80ad2966e2902ec378050228321080eff3f4702e
https://github.com/llvm/llvm-project/commit/80ad2966e2902ec378050228321080eff3f4702e
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/Bitcode/musttail-bitcast-upgrade.ll
A llvm/test/Bitcode/musttail-bitcast-upgrade.ll.bc
M llvm/test/Instrumentation/AddressSanitizer/musttail.ll
M llvm/test/Instrumentation/ThreadSanitizer/tsan_musttail.ll
M llvm/test/Transforms/CallSiteSplitting/musttail.ll
M llvm/test/Transforms/SafeStack/X86/musttail.ll
M llvm/test/Verifier/musttail-invalid.ll
Log Message:
-----------
Reland "Remove the optional bitcast between a musttail call and its ret" (#201280) (#201642)
This relands #201280, which was reverted in #201479 because it broke the
sanitizer buildbot
The revert was caused by a heap-use-after-free in
`BitcodeReader::materialize`
Fix: The CallBase branch could have erased I before we read it in the
new conditional
Commit: 4f73c8195b51042d349916c162663252c7f60eb7
https://github.com/llvm/llvm-project/commit/4f73c8195b51042d349916c162663252c7f60eb7
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTWriter.cpp
M llvm/include/llvm/ADT/MapVector.h
Log Message:
-----------
[clang][lex] Store `HeaderFileInfo` in a `MapVector` (#201936)
This is a re-commit of PR #200968 (f357a47) that was reverted by PR
#201702 (adaa9e0). One call-site of
`HeaderSearch::forEachExistingLocalFileInfo()` in `ASTWriter` relies on
stable order, which the `DenseMap` didn't provide. This PR switches to
`MapVector`, which has the same performance characteristics as the
original solution at the cost of a theoretical memory usage increase.
Original PR description:
Calling `FileManager::GetUniqueIDMapping()` during modular builds gets
very expensive if the `FileManager` has seen lots of files. This
function is used in two places in the `ASTWriter` to look up
`HeaderFileInfo` in `HeaderSearch`.
This PR changes the storage of `HeaderFileInfo` from
`FileEntry::getUID()`-indexed `std::vector<T>` to
`llvm::DenseMap<FileEntryRef, T>`, improving scanning performance by
~2.5%.
Commit: fe560c527768792ae01f200c03d14f1f25c9d028
https://github.com/llvm/llvm-project/commit/fe560c527768792ae01f200c03d14f1f25c9d028
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .git-blame-ignore-revs
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/AArch64/CMakeLists.txt
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/AArch64/compare-and-branch-inversion.S
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M bolt/unittests/Profile/CMakeLists.txt
A bolt/unittests/Profile/PerfScripts.cpp
M bolt/unittests/Profile/PerfSpeEvents.cpp
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h
M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
A clang-tools-extra/clangd/test/modules_config_remove_flags.test
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-same-line.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/function-size-ignore-macros.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang-c/BuildSystem.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Interpreter/Value.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Options/Options.td
M clang/include/clang/Serialization/ModuleCache.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ModulesDriver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Headers/__clang_hip_libdevice_declares.h
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/extern.cpp
A clang/test/AST/attributed-type-dedup-address-space.c
A clang/test/AST/attributed-type-dedup-annotate-type-args.c
A clang/test/AST/attributed-type-dedup-annotate-type.m
A clang/test/AST/attributed-type-dedup-nullability.m
A clang/test/AST/attributed-type-dedup-objc-ownership.m
A clang/test/AST/attributed-type-dedup-pcs.c
A clang/test/AST/attributed-type-dedup-swift-attr.m
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/CIR/CodeGen/binop.cpp
M clang/test/CIR/CodeGen/complex-atomic-cast.c
M clang/test/CIR/CodeGen/complex-builtins.cpp
M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
M clang/test/CIR/CodeGen/complex-mul-div.cpp
M clang/test/CIR/CodeGen/complex-unary.cpp
M clang/test/CIR/CodeGen/long-double-inc-dec.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/CIR/IR/unary.cir
M clang/test/CIR/Lowering/binop-fp.cir
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
M clang/test/CodeGen/AArch64/ls64-inline-asm.c
R clang/test/CodeGen/AArch64/neon-across.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lasx/builtin.c
M clang/test/CodeGen/PowerPC/builtins-dmf-vsx-vector-float.c
M clang/test/CodeGen/PowerPC/builtins-ppc-amo.c
M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
M clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/bitint.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/WebAssembly/wasm-arguments.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vbmi2-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vlvbmi2-builtins.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/arm-cmse-attr.c
M clang/test/CodeGen/arm-vfp16-arguments.c
M clang/test/CodeGen/arm-vfp16-arguments2.cpp
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by.c
A clang/test/CodeGen/builtin-masked-addrspace.c
M clang/test/CodeGen/builtin-masked.c
M clang/test/CodeGen/cfi-check-fail2-nomerge.c
M clang/test/CodeGen/glibc_ptr_align.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/ms-intrinsics-other.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/pointer-arithmetic-align.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
M clang/test/CodeGen/transparent-union-type.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCUDA/increment-index-for-thunks.cu
M clang/test/CodeGenCUDA/managed-var.cu
M clang/test/CodeGenCUDA/record-layout.cu
M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/bitfield-ir.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
M clang/test/CodeGenHIP/amdgcnspirv-uses-amdgpu-abi.cpp
M clang/test/CodeGenHIP/builtins-amdgcn-vi-f16.hip
M clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
M clang/test/CodeGenHLSL/Operators/logical-not.hlsl
M clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2-overloads_mat.hlsl
M clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
A clang/test/CodeGenHLSL/cbuffer-matrix-layout-keyword.hlsl
M clang/test/CodeGenHLSL/resources/Texture2D-GetDimensions.hlsl
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
M clang/test/CodeGenOpenCL/as_type.cl
M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-cooperative-atomics.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-add.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-max.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-workgroup-size.cl
M clang/test/CodeGenOpenCL/kernel-param-alignment.cl
M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
M clang/test/CodeGenSPIRV/Builtins/generic_cast_to_ptr_explicit.c
M clang/test/DebugInfo/CXX/line.cpp
M clang/test/DebugInfo/Generic/cfi-icall-generalize-debuginfo.c
M clang/test/DebugInfo/Generic/ubsan-function-debuginfo.c
A clang/test/Driver/Inputs/empty.h
A clang/test/Driver/Inputs/module.modulemap
M clang/test/Driver/crash-diagnostics-dir-3.c
M clang/test/Driver/crash-diagnostics-dir.c
A clang/test/Driver/crash-diagnostics-modules.c
A clang/test/Driver/crash-diagnostics-tar.c
M clang/test/Driver/crash-ir-repro.cpp
M clang/test/Driver/crash-report-clang-cl.cpp
M clang/test/Driver/crash-report-crashfile.m
M clang/test/Driver/crash-report-header.h
M clang/test/Driver/crash-report-modules.m
M clang/test/Driver/crash-report-multi-arch.c
M clang/test/Driver/crash-report-null.test
M clang/test/Driver/crash-report-spaces.c
M clang/test/Driver/crash-report-with-asserts.c
M clang/test/Driver/crash-report.cpp
M clang/test/Driver/lld-repro.c
M clang/test/Driver/lto.c
M clang/test/Driver/objc-constant-literals.m
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Driver/riscv-zilsd-word-align.c
M clang/test/Headers/__clang_hip_libdevice_declares.cpp
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/hip-header.hip
M clang/test/Headers/openmp-device-functions-bool.c
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/Headers/wasm.c
M clang/test/Modules/crash-vfs-headermaps.m
M clang/test/Modules/crash-vfs-include-pch.m
M clang/test/Modules/crash-vfs-ivfsoverlay.m
M clang/test/Modules/crash-vfs-path-emptydir-entries.m
M clang/test/Modules/crash-vfs-path-symlink-component.m
M clang/test/Modules/crash-vfs-path-symlink-topheader.m
M clang/test/Modules/crash-vfs-path-traversal.m
M clang/test/Modules/crash-vfs-relative-incdir.m
M clang/test/Modules/crash-vfs-relative-overlay.m
M clang/test/Modules/crash-vfs-run-reproducer.m
M clang/test/Modules/crash-vfs-umbrella-frameworks.m
A clang/test/OpenMP/amdgpu-arch-compat.c
M clang/test/OpenMP/bug54082.c
M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
M clang/test/OpenMP/target_vtable_codegen_explicit.cpp
M clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Sema/static-init.c
M clang/test/SemaCXX/attr-section.cpp
M clang/test/SemaCXX/co_await-range-for.cpp
M clang/test/SemaCXX/for-range-dereference.cpp
M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
M clang/test/SemaTemplate/ctad.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/BuildSystem.cpp
M clang/tools/libclang/libclang.map
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/libclang/LibclangTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/builtins/cpu_model/riscv.c
A compiler-rt/lib/builtins/cpu_model/riscv.h
A compiler-rt/lib/builtins/cpu_model/riscv/hwprobe.inc
A compiler-rt/lib/builtins/cpu_model/riscv/unimplemented.inc
M compiler-rt/lib/orc/record_section_tracker.h
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/InstrProfilingFile.c
A compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/test/fuzzer/OutOfProcessFuzzTarget.cpp
M compiler-rt/test/tsan/many_held_mutex.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/lit.local.cfg
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/unittests/Runtime/ListInputTest.cpp
M flang-rt/unittests/Runtime/Namelist.cpp
M flang/docs/Extensions.md
A flang/docs/MeetingNotes/2026/2026-06-03.md
M flang/docs/ParallelMultiImageFortranRuntime.md
M flang/include/flang/Lower/Support/PrivateReductionUtils.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Driver/frelaxed-c-loc-checks.f90
M flang/test/Driver/function-sections.f90
M flang/test/Fir/boxproc.fir
M flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Lower/HLFIR/elemental-result-length.f90
M flang/test/Lower/Intrinsics/show_descriptor.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-distribute-parallel-do-simd-private-adjustable-array.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-distribute-private-adjustable-array.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-nested-distribute-private-adjustable-array.f90
R flang/test/Lower/OpenMP/Todo/metadirective-dynamic.f90
M flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/metadirective-user.f90
M flang/test/Lower/volatile1.f90
M flang/test/Parser/OpenMP/atomic-unparse.f90
M flang/test/Semantics/OpenMP/linear-clause01.f90
M flang/test/Semantics/OpenMP/metadirective-user.f90
M flang/test/Semantics/OpenMP/private03.f90
M flang/test/Semantics/OpenMP/simd-aligned.f90
M flang/test/Semantics/entry01.f90
A flang/test/Transforms/debug-char-type-2.fir
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/config/config.json
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_ptrace_macros.h
M libc/include/CMakeLists.txt
M libc/include/inttypes.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/sys-ptrace-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/struct_timespec.h
M libc/include/llvm-libc-types/suseconds_t.h
M libc/include/llvm-libc-types/time_t.h
R libc/include/llvm-libc-types/time_t_32.h
A libc/include/sys/ptrace.yaml
M libc/src/__support/CPP/tuple.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/ptrace.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/utimensat.h
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/threads/raw_rwlock.h
M libc/src/__support/time/linux/clock_gettime.cpp
M libc/src/__support/time/linux/clock_settime.cpp
M libc/src/inttypes/CMakeLists.txt
A libc/src/inttypes/wcstoimax.cpp
A libc/src/inttypes/wcstoimax.h
A libc/src/inttypes/wcstoumax.cpp
A libc/src/inttypes/wcstoumax.h
M libc/src/poll/linux/poll.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sys/CMakeLists.txt
A libc/src/sys/ptrace/CMakeLists.txt
A libc/src/sys/ptrace/linux/CMakeLists.txt
A libc/src/sys/ptrace/linux/ptrace.cpp
A libc/src/sys/ptrace/ptrace.h
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/time/linux/getitimer.cpp
M libc/src/sys/time/linux/setitimer.cpp
M libc/src/sys/time/linux/utimes.cpp
M libc/src/time/linux/nanosleep.cpp
M libc/src/time/time_constants.h
M libc/src/time/time_utils.cpp
M libc/test/integration/src/sys/CMakeLists.txt
A libc/test/integration/src/sys/ptrace/CMakeLists.txt
A libc/test/integration/src/sys/ptrace/linux/CMakeLists.txt
A libc/test/integration/src/sys/ptrace/linux/ptrace_test.cpp
M libc/test/integration/src/threads/cnd_test.cpp
M libc/test/src/__support/time/linux/timeout_test.cpp
M libc/test/src/inttypes/CMakeLists.txt
A libc/test/src/inttypes/wcstoimax_test.cpp
A libc/test/src/inttypes/wcstoumax_test.cpp
M libc/test/src/sys/time/utimes_test.cpp
M libc/test/src/time/asctime_test.cpp
M libc/test/src/time/gmtime_r_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/__chrono/duration.h
M libcxx/include/__expected/expected.h
M libcxx/include/__functional/function.h
M libcxx/include/__locale_dir/wstring_convert.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/cwchar
M libcxx/include/deque
M libcxx/include/exception
M libcxx/include/execution
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/filesystem
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/istream
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/module.modulemap.in
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/queue
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdexcept
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/system_error
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android23.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android23.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/ios.cpp
A libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/pragma_suppress.compile.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/containers/exception_safety_helpers.h
M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/pr40459.pass.cpp
M lld/MachO/LTO.cpp
M lld/test/MachO/icf-safe-thunks.ll
R lld/test/wasm/Inputs/custom.ll
A lld/test/wasm/Inputs/custom.s
R lld/test/wasm/Inputs/explicit-section.ll
A lld/test/wasm/Inputs/explicit-section.s
R lld/test/wasm/Inputs/locals-duplicate1.ll
A lld/test/wasm/Inputs/locals-duplicate1.s
R lld/test/wasm/Inputs/locals-duplicate2.ll
A lld/test/wasm/Inputs/locals-duplicate2.s
R lld/test/wasm/Inputs/many-funcs.ll
A lld/test/wasm/Inputs/many-funcs.s
R lld/test/wasm/Inputs/tag-section1.ll
A lld/test/wasm/Inputs/tag-section1.s
R lld/test/wasm/Inputs/tag-section2.ll
A lld/test/wasm/Inputs/tag-section2.s
R lld/test/wasm/custom-section-name.ll
A lld/test/wasm/custom-section-name.s
R lld/test/wasm/custom-sections.ll
A lld/test/wasm/custom-sections.s
R lld/test/wasm/export-all.ll
M lld/test/wasm/export-all.s
R lld/test/wasm/function-imports-first.ll
A lld/test/wasm/function-imports-first.s
R lld/test/wasm/gc-sections.ll
A lld/test/wasm/gc-sections.s
R lld/test/wasm/init-fini-no-gc.ll
A lld/test/wasm/init-fini-no-gc.s
R lld/test/wasm/local-symbols.ll
A lld/test/wasm/local-symbols.s
M lld/test/wasm/locals-duplicate.test
R lld/test/wasm/many-functions.ll
A lld/test/wasm/many-functions.s
M lld/test/wasm/section-symbol-relocs.yaml
R lld/test/wasm/signature-mismatch-export.ll
A lld/test/wasm/signature-mismatch-export.s
R lld/test/wasm/signature-mismatch-unknown.ll
A lld/test/wasm/signature-mismatch-unknown.s
R lld/test/wasm/signature-mismatch-weak.ll
A lld/test/wasm/signature-mismatch-weak.s
R lld/test/wasm/startstop.ll
A lld/test/wasm/startstop.s
R lld/test/wasm/tag-section.ll
A lld/test/wasm/tag-section.s
R lld/test/wasm/undefined.ll
A lld/test/wasm/undefined.s
R lld/test/wasm/visibility-hidden.ll
A lld/test/wasm/visibility-hidden.s
M lld/wasm/InputFiles.cpp
M lldb/bindings/python/CMakeLists.txt
M lldb/cmake/modules/AddLLDB.cmake
A lldb/cmake/modules/LLDBConcatFiles.cmake
A lldb/docs/index.md
R lldb/docs/index.rst
A lldb/docs/python_api_enums.md
R lldb/docs/python_api_enums.rst
A lldb/docs/use/formatting.md
R lldb/docs/use/formatting.rst
A lldb/docs/use/intel_pt.md
R lldb/docs/use/intel_pt.rst
A lldb/docs/use/map.md
R lldb/docs/use/map.rst
A lldb/docs/use/remote.md
R lldb/docs/use/remote.rst
A lldb/docs/use/symbolfilejson.md
R lldb/docs/use/symbolfilejson.rst
A lldb/docs/use/symbolication.md
R lldb/docs/use/symbolication.rst
A lldb/docs/use/symbols.md
R lldb/docs/use/symbols.rst
A lldb/docs/use/troubleshooting.md
R lldb/docs/use/troubleshooting.rst
A lldb/docs/use/tutorial.md
R lldb/docs/use/tutorial.rst
A lldb/docs/use/variable.md
R lldb/docs/use/variable.rst
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
R lldb/include/lldb/Host/windows/PythonPathSetup/PythonPathSetup.h
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
M lldb/packages/Python/lldbsuite/support/gmodules.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
A lldb/scripts/extract-dynamic-script-interpreter-exports.py
M lldb/source/API/CMakeLists.txt
M lldb/source/Host/CMakeLists.txt
R lldb/source/Host/windows/PythonPathSetup/CMakeLists.txt
R lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIXDynamic_riscv32.cpp
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIXDynamic_riscv32.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_riscv32.h
M lldb/source/Plugins/Process/Utility/lldb-riscv-register-enums.h
M lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
A lldb/source/Plugins/Process/Windows/Common/IOHandlerProcessSTDIOWindows.cpp
A lldb/source/Plugins/Process/Windows/Common/IOHandlerProcessSTDIOWindows.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.h
M lldb/source/Plugins/Process/elf-core/RegisterUtilities.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Utility/RISCV_DWARF_Registers.h
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
M lldb/test/API/commands/process/attach/main.cpp
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
A lldb/test/API/functionalities/postmortem/elf-core/riscv32-imcxqcixqccmp.gpr_csr.core
A lldb/test/API/functionalities/postmortem/elf-core/riscv32-imcxqcixqccmp.gpr_csr.out
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/iohandler/sigint/cat.cpp
M lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py
M lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py
M lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py
M lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py
M lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
M lldb/test/API/tools/lldb-dap/breakpoint/main.cpp
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_console.py
M lldb/test/API/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/tool/CMakeLists.txt
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
M lldb/unittests/Target/MemoryTest.cpp
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/AMDGPUAsyncOperations.rst
M llvm/docs/CommandGuide/llvm-install-name-tool.rst
M llvm/docs/Frontend/PerformanceTips.rst
M llvm/docs/GlobalISel/GMIR.rst
M llvm/docs/GlobalISel/IRTranslator.rst
M llvm/docs/LangRef.rst
M llvm/docs/LoopFusion.rst
M llvm/docs/ProgrammersManual.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/MapVector.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h
A llvm/include/llvm/ExecutionEngine/Orc/SymbolLookupSet.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorResolver.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/MC/DXContainerInfo.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/CommandFlags.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/LowLevelTypeUtils.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.h
M llvm/lib/ExecutionEngine/Orc/Debugging/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutorResolutionGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorResolver.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/MC/DXContainerInfo.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.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/SIOptimizeExecMasking.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.h
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvdota.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvvm.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Analysis/CostModel/AArch64/masked_expand_load.ll
M llvm/test/Analysis/CostModel/PowerPC/ld-st-with-length.ll
M llvm/test/Analysis/CostModel/RISCV/gep.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-expandload-compressstore.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
M llvm/test/Assembler/fast-math-flags.ll
M llvm/test/Assembler/invalid-interleave.ll
M llvm/test/Assembler/invalid-vecreduce.ll
M llvm/test/Assembler/masked-load-store-intrinsics-attributes.ll
A llvm/test/Bitcode/Inputs/cfi-functions-upgrade.bc
A llvm/test/Bitcode/Inputs/cfi-summary-upgrade.bc
A llvm/test/Bitcode/cfi-functions-upgrade.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/upgrade-masked-keep-metadata.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-select-zero.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-adjust-icmp-imm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-and-mask.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-sextload-from-sextinreg.mir
M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
M llvm/test/CodeGen/AArch64/arm64-csel.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-fpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-fpr8.mir
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-gpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-fpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-gpr.ll
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
A llvm/test/CodeGen/AArch64/dag-maps-huge-region.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/fcvt-i256.ll
M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
M llvm/test/CodeGen/AArch64/fp-to-int-to-fp.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/ftrunc.ll
A llvm/test/CodeGen/AArch64/ldst-opt-umov-fpr-store.mir
M llvm/test/CodeGen/AArch64/pr164181.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/sitofp-to-tbl.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-frintz.ll
A llvm/test/CodeGen/AArch64/sve-frintz.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
A llvm/test/CodeGen/AArch64/umov-fpr-store-from-phi.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/amdgpu-irtranslator.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-redundant-bitcast.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-libcall-sincos-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-uniform-waterfall.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-uniform-intrinsic-combine.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
M llvm/test/CodeGen/AMDGPU/ctls.ll
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_poison.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_poison.ll
A llvm/test/CodeGen/AMDGPU/debug-independence-exec-masking.mir
M llvm/test/CodeGen/AMDGPU/divrem24-assume.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.legal.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.si.ll
M llvm/test/CodeGen/AMDGPU/fneg-fold-legalize-dag-increase-insts.ll
M llvm/test/CodeGen/AMDGPU/fp-to-int-to-fp.ll
M llvm/test/CodeGen/AMDGPU/fptoui_uitofp.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
A llvm/test/CodeGen/AMDGPU/ldsdmacnt_sched.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tensor.load.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.sponentry.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
M llvm/test/CodeGen/AMDGPU/sched-ldsdma-mask.mir
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
A llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem24.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/ARM/elf-preemption.ll
A llvm/test/CodeGen/ARM/weak-hidden-pic.ll
M llvm/test/CodeGen/BPF/loop-exit-cond.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll
A llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit-versioned-language.ll
A llvm/test/CodeGen/DirectX/DebugInfo/di-globalvariable.ll
A llvm/test/CodeGen/DirectX/DebugInfo/di-subprogram.ll
M llvm/test/CodeGen/DirectX/Metadata/cbuffer-metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/dx_precise.ll
M llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
M llvm/test/CodeGen/DirectX/ResourceGlobalElimination.ll
M llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll
M llvm/test/CodeGen/DirectX/debug-info.ll
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead-lib.ll
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead.ll
M llvm/test/CodeGen/DirectX/finalize_linkage.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll
M llvm/test/CodeGen/DirectX/remove-dead-intriniscs.ll
M llvm/test/CodeGen/DirectX/scalar-store.ll
M llvm/test/CodeGen/DirectX/scalarize-two-calls.ll
M llvm/test/CodeGen/DirectX/strip-fn-attrs.ll
A llvm/test/CodeGen/Generic/GlobalISel/irtranslator-byte-type.ll
A llvm/test/CodeGen/Hexagon/bitcast-f64-vector.ll
A llvm/test/CodeGen/LoongArch/pr198339.ll
R llvm/test/CodeGen/MIR/Generic/scalable-vector-type-err3.mir
M llvm/test/CodeGen/NVPTX/global-ordering.ll
A llvm/test/CodeGen/NVPTX/insert-vector-elt-bitcast-legalize.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/PowerPC/fast-isel-cmp-imm.ll
M llvm/test/CodeGen/PowerPC/fp-int128-fp-combine.ll
M llvm/test/CodeGen/PowerPC/fp-to-int-to-fp.ll
M llvm/test/CodeGen/PowerPC/ftrunc-vec.ll
M llvm/test/CodeGen/PowerPC/no-extra-fp-conv-ldst.ll
M llvm/test/CodeGen/PowerPC/scalar-min-max-p10.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/srem-lkk.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/zdinx-spill.ll
M llvm/test/CodeGen/RISCV/zilsd-ldst-opt-prera.mir
M llvm/test/CodeGen/RISCV/zilsd-regalloc-hints.mir
M llvm/test/CodeGen/RISCV/zilsd-spill.ll
M llvm/test/CodeGen/RISCV/zilsd.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-int-string-dedup.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-multi-scalar-params.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-omit.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-pointer-debug-none-base.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-pointer-param.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-scalar-returns.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-subroutine-type-flags.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-void-prototypes.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer-composite-pointee.ll
M llvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
M llvm/test/CodeGen/WebAssembly/saturating-truncation.ll
M llvm/test/CodeGen/X86/apx/memfold-no-physreg.ll
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
A llvm/test/CodeGen/X86/apx/setjmp-win64-abi.ll
A llvm/test/CodeGen/X86/apx/win64-abi.ll
M llvm/test/CodeGen/X86/bitreverse.ll
A llvm/test/CodeGen/X86/freeze-fp.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/ftrunc.ll
M llvm/test/CodeGen/X86/machine-block-hash.mir
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/mbp-false-cfg-break.ll
M llvm/test/CodeGen/X86/slow-pmulld.ll
M llvm/test/CodeGen/X86/vector-interleave.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.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-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.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-2.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-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/Xtensa/inline-asm-invalid.ll
M llvm/test/CodeGen/Xtensa/setcc.ll
M llvm/test/Feature/OperandBundles/function-attrs.ll
M llvm/test/Instrumentation/AddressSanitizer/asan-masked-load-store.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/masked-store-load.ll
M llvm/test/LTO/X86/mix-opaque-typed.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vimage_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vimage.txt
A llvm/test/MC/Disassembler/X86/ibhf-64.txt
M llvm/test/MC/RISCV/rvi-pseudos-invalid.s
A llvm/test/MC/RISCV/rvv/zvfqwdota8f.s
A llvm/test/MC/RISCV/rvv/zvfwdota16bf.s
A llvm/test/MC/RISCV/rvv/zvqwdotai8i16.s
A llvm/test/MC/RISCV/rvv/zvvmtls-invalid.s
A llvm/test/MC/RISCV/rvv/zvvmtls.s
A llvm/test/MC/RISCV/rvv/zvvmttls-invalid.s
A llvm/test/MC/RISCV/rvv/zvvmttls.s
A llvm/test/MC/RISCV/xqci-access-pseudos.s
A llvm/test/MC/X86/ibhf-64.s
M llvm/test/Other/cgscc-devirt-iteration.ll
M llvm/test/Other/force-opaque-ptrs.ll
M llvm/test/Other/optimize-inrange-gep.ll
A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-hoisting-cxx.td
M llvm/test/ThinLTO/X86/cfi-icall-only-defuse.ll
A llvm/test/ThinLTO/X86/cfi-icall-thinlto.ll
M llvm/test/ThinLTO/X86/cfi-icall.ll
A llvm/test/ThinLTO/X86/memprof-icp-metadata.ll
M llvm/test/ThinLTO/X86/memprof-icp-recursive.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/Attributor/nonnull.ll
M llvm/test/Transforms/Attributor/nosync.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/CrossDSOCFI/cfi_functions.ll
M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll
M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
M llvm/test/Transforms/FunctionAttrs/argmemonly.ll
M llvm/test/Transforms/FunctionAttrs/atomic.ll
M llvm/test/Transforms/FunctionAttrs/convergent.ll
M llvm/test/Transforms/FunctionAttrs/initializes.ll
M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
M llvm/test/Transforms/FunctionAttrs/noalias.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nofpclass.ll
M llvm/test/Transforms/FunctionAttrs/nofree.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/norecurse.ll
M llvm/test/Transforms/FunctionAttrs/noundef.ll
M llvm/test/Transforms/FunctionAttrs/nounwind.ll
M llvm/test/Transforms/FunctionAttrs/optnone.ll
M llvm/test/Transforms/FunctionAttrs/out-of-bounds-iterator-bug.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/readnone.ll
M llvm/test/Transforms/FunctionAttrs/stats.ll
M llvm/test/Transforms/FunctionAttrs/writeonly.ll
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
M llvm/test/Transforms/InstCombine/AMDGPU/wave-shuffle-patterns.ll
A llvm/test/Transforms/InstCombine/gep-canonicalize-index-constfold.ll
M llvm/test/Transforms/InstCombine/invariant.group.ll
M llvm/test/Transforms/InstCombine/load-store-masked-constant-array.ll
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
M llvm/test/Transforms/InstCombine/log-pow.ll
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
M llvm/test/Transforms/InstCombine/select_meta.ll
M llvm/test/Transforms/InstCombine/unused-nonnull.ll
M llvm/test/Transforms/JumpThreading/noalias-scope-decl.ll
M llvm/test/Transforms/LoopFusion/cannot_fuse.ll
A llvm/test/Transforms/LoopFusion/cannot_fuse_atomic.ll
A llvm/test/Transforms/LoopFusion/peel-preserve-lcssa.ll
M llvm/test/Transforms/LoopInterchange/currentLimitation.ll
A llvm/test/Transforms/LoopInterchange/guarded-inner-loop.ll
M llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
M llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
A llvm/test/Transforms/LoopInterchange/reduction2mem-extra-lcssa.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/pr62660-normalization-failure.ll
M llvm/test/Transforms/LoopUnroll/unroll-cleanup.ll
M llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
A llvm/test/Transforms/LoopVectorize/AArch64/arith-costs.ll
R llvm/test/Transforms/LoopVectorize/AArch64/binop-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/f128-fmuladd-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-scalable-vectorization-always.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-usabs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-spills.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-ptradd-with-replicated-operand.ll
M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/alias-mask-negative-tests.ll
M llvm/test/Transforms/LoopVectorize/alias-mask.ll
M llvm/test/Transforms/LowerTypeTests/Inputs/blockaddr-import.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/cfi-direct-call.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/cfi-direct-call1.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/import-alias.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/import-icall.yaml
M llvm/test/Transforms/LowerTypeTests/Inputs/import-thinlto-funcs.yaml
M llvm/test/Transforms/LowerTypeTests/export-alias.ll
M llvm/test/Transforms/LowerTypeTests/export-cross-dso-cfi.ll
M llvm/test/Transforms/LowerTypeTests/export-icall.ll
M llvm/test/Transforms/LowerTypeTests/export-rename-local.ll
M llvm/test/Transforms/LowerTypeTests/export-symver.ll
M llvm/test/Transforms/LowerTypeTests/pr37625.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-load-from-vector-loop.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/infer-align-from-assumption.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/loop-rotate-to-enable-unrolling-and-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_muladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/scalarize-load-ext-extract.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sinking-vs-if-conversion.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/udotabd.ll
M llvm/test/Transforms/PhaseOrdering/AMDGPU/infer-address-space.ll
M llvm/test/Transforms/PhaseOrdering/RISCV/any-of-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
M llvm/test/Transforms/PhaseOrdering/X86/SROA-after-final-loop-unrolling-2.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll
M llvm/test/Transforms/PhaseOrdering/X86/madd.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/X86/sad.ll
M llvm/test/Transforms/PhaseOrdering/X86/speculation-vs-tbaa.ll
M llvm/test/Transforms/PhaseOrdering/X86/spurious-peeling.ll
M llvm/test/Transforms/PhaseOrdering/X86/unroll-vectorizer.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv-nounroll.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/always-inline-alloca-promotion.ll
M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
M llvm/test/Transforms/PhaseOrdering/branch-dom-cond.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
M llvm/test/Transforms/PhaseOrdering/early-arg-attrs-inference.ll
M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
M llvm/test/Transforms/PhaseOrdering/gvn-replacement-vs-hoist.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
M llvm/test/Transforms/PhaseOrdering/lto-argpromotion-ipsccp.ll
M llvm/test/Transforms/PhaseOrdering/memcpy-offset.ll
M llvm/test/Transforms/PhaseOrdering/phi-protected-field-ptr.ll
M llvm/test/Transforms/PhaseOrdering/pr95152.ll
M llvm/test/Transforms/PhaseOrdering/pr98799-inline-simplifycfg-ub.ll
M llvm/test/Transforms/PhaseOrdering/struct-to-vector-before-memcpyopt.ll
M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/SPIRV/expand-masked-compressstore.ll
A llvm/test/Transforms/ScalarizeMaskedMemIntrin/SPIRV/expand-masked-expandload.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/xor-decompose.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/xor-decompose.ll
M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
M llvm/test/Transforms/SimplifyCFG/phi-undef-loadstore.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/function-alias.ll
M llvm/test/Verifier/intrinsic-bad-arg-type.ll
M llvm/test/Verifier/intrinsic-bad-arg-type1.ll
M llvm/test/Verifier/reduction-intrinsics.ll
M llvm/test/Verifier/scatter_gather.ll
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/debug-names-static-member-decl.test
A llvm/test/tools/dxil-dis/di-globalvariable.ll
A llvm/test/tools/llubi/call_unknown.ll
A llvm/test/tools/llvm-objcopy/MachO/install-name-tool-output.test
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-zlib-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-zlib.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-zlib-compute.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart-zlib.yaml
A llvm/test/tools/obj2yaml/DXContainer/SRCIPart.yaml
M llvm/tools/CMakeLists.txt
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/lli/ForwardingMemoryManager.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llvm-objcopy/InstallNameToolOpts.td
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/unittests/ADT/BitVectorTest.cpp
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/EPCGenericDylibManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
M llvm/unittests/Support/SignalsTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
M llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/gdb-scripts/prettyprinters.py
M llvm/utils/gn/secondary/bolt/unittests/Profile/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
M llvm/utils/lit/tests/lit.cfg
M llvm/utils/lit/tests/shtest-cat.py
M llvm/utils/lit/tests/shtest-format.py
M llvm/utils/lit/tests/shtest-output-printing.py
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUAttrs.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUBase.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
A mlir/include/mlir/Dialect/LLVMIR/ROCDLAttrs.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h
A mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
A mlir/include/mlir/Dialect/LLVMIR/ROCDLEnums.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/include/mlir/IR/BuiltinDialectBytecode.td
M mlir/include/mlir/Target/LLVM/ROCDL/Utils.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/CMakeLists.txt
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.cpp
A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaConstants.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaOps.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
M mlir/lib/Dialect/X86/Transforms/VectorContractToPackedTypeDotProduct.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/IR/BuiltinDialectBytecode.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
M mlir/test/Conversion/AMDGPUToROCDL/global-prefetch.mlir
M mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
M mlir/test/Conversion/AMDGPUToROCDL/mfma.mlir
M mlir/test/Conversion/AMDGPUToROCDL/wmma-gfx1250.mlir
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/FuncToEmitC/func-to-emitc-failed.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-dealloc.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-invalid.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-mark-invalid.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-mark.mlir
M mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir
M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
M mlir/test/Dialect/Builtin/Bytecode/attrs.mlir
M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed_0.mlirbc
M mlir/test/Dialect/LLVMIR/call-intrin.mlir
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
A mlir/test/Dialect/LLVMIR/rocdl-cache-policy-invalid.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-category-ops.mlir
M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
M mlir/test/Dialect/OpenACC/ops-cg-privatization.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
M mlir/test/Dialect/SPIRV/IR/types.mlir
M mlir/test/Dialect/SparseTensor/sparse_fill_zero.mlir
M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
M mlir/test/Dialect/Tosa/constant_folding.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
M mlir/test/Dialect/X86/vector-contract-to-packed-type-dotproduct.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Integration/GPU/ROCM/gpu-lower-to-rocdl-pipeline.mlir
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/Import/intrinsic-unregistered.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
M mlir/test/Target/SPIRV/ocl-ops.mlir
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCTypeInterfacesTest.cpp
A offload/ci/openmp-offload-amdgpu-libc-runtime.py
M offload/libomptarget/OpenMP/API.cpp
M offload/plugins-nextgen/level_zero/CMakeLists.txt
M offload/plugins-nextgen/level_zero/dynamic_l0/L0DynWrapper.cpp
M offload/plugins-nextgen/level_zero/dynamic_l0/level_zero/ze_api.h
M offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
M offload/plugins-nextgen/level_zero/include/L0Context.h
M offload/plugins-nextgen/level_zero/include/L0Device.h
A offload/plugins-nextgen/level_zero/include/L0Event.h
M offload/plugins-nextgen/level_zero/include/L0Memory.h
M offload/plugins-nextgen/level_zero/include/L0Queue.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
A offload/plugins-nextgen/level_zero/src/L0Event.cpp
M offload/plugins-nextgen/level_zero/src/L0Memory.cpp
A offload/test/offloading/array_reductions.cpp
M offload/test/offloading/multiple_reductions.cpp
M orc-rt/include/orc-rt/NativeDylibManager.h
M orc-rt/lib/executor/NativeDylibManager.cpp
M orc-rt/lib/executor/Unix/NativeDylibAPIs.inc
M orc-rt/lib/executor/sps-ci/NativeDylibManagerSPSCI.cpp
M orc-rt/unittests/NativeDylibManagerSPSCITest.cpp
M orc-rt/unittests/NativeDylibManagerTest.cpp
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
M utils/bazel/extensions.bzl
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPCWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
R utils/bazel/third_party_build/BUILD.bazel
R utils/bazel/third_party_build/gmp.BUILD
R utils/bazel/third_party_build/mpc.BUILD
R utils/bazel/third_party_build/mpfr.BUILD
R utils/bazel/third_party_build/nanobind.BUILD
R utils/bazel/third_party_build/pfm.BUILD
R utils/bazel/third_party_build/pyyaml.BUILD
R utils/bazel/third_party_build/robin_map.BUILD
R utils/bazel/third_party_build/vulkan_headers.BUILD
R utils/bazel/third_party_build/zlib-ng.BUILD
R utils/bazel/third_party_build/zstd.BUILD
Log Message:
-----------
Merge branch 'main' into users/rnk/llvm-md-2a
Compare: https://github.com/llvm/llvm-project/compare/5772033bc753...fe560c527768
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