[all-commits] [llvm/llvm-project] 2b9a80: [LLVM] Nominate Ehsan as a DA maintainer (#200375)
Joel E. Denny via All-commits
all-commits at lists.llvm.org
Tue Jun 9 13:03:53 PDT 2026
Branch: refs/heads/users/jdenny-ornl/filecheck-braced-search-ranges
Home: https://github.com/llvm/llvm-project
Commit: 2b9a8029af27be8c8e7fc6c2c07ca79bc89359a8
https://github.com/llvm/llvm-project/commit/2b9a8029af27be8c8e7fc6c2c07ca79bc89359a8
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Nominate Ehsan as a DA maintainer (#200375)
This is related to #200335. I would like to nominate Ehsan as a
maintainer for DependenceAnalysis as I am aware he expressed interest in
that. I am happy that Ryotaro became a maintainer, and if we get one
more maintainer with Ehsan, that is a really good sign of a healthy loop
optimisation community; I think this is a good thing, and support this.
---------
Co-authored-by: Ehsan Amiri <ehsan.amiri at huawei.com>
Commit: 754d3d0d966423f9d308c6823deed55b02bac9f2
https://github.com/llvm/llvm-project/commit/754d3d0d966423f9d308c6823deed55b02bac9f2
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/composite_simd_linear.f90
M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
M flang/test/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/linear_modifier.f90
M flang/test/Lower/OpenMP/loop-pointer-variable.f90
M flang/test/Lower/OpenMP/ordered-simd.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-simd-linear.mlir
Log Message:
-----------
Reland "[flang][OpenMP] Fix lowering of LINEAR iteration variables (#188851)" (#194623)
Linear iteration variables were being treated as private. This fixes
one of the issues reported in #170784.
The regressions in the OpenMP V&V and Fujitsu testsuites happened
because the users iterator was apparently becoming invalid, after one of
its uses was replaced. This was fixed by making a copy of the list of
users.
Commit: 4044ea38d4c4b3d00a33116be5e780f5bada33bb
https://github.com/llvm/llvm-project/commit/4044ea38d4c4b3d00a33116be5e780f5bada33bb
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libcxx/include/__iterator/bounded_iter.h
M libcxx/include/__iterator/capacity_aware_iterator.h
A libcxx/test/libcxx/utilities/optional/nodiscard.iterator.verify.cpp
Log Message:
-----------
[libc++] Applied `[[nodiscard]]` to `optional::iterator` (#198489)
Towards #172124
Commit: 1e79ea1f5b3e4aafdaeeb577babbf3b969744232
https://github.com/llvm/llvm-project/commit/1e79ea1f5b3e4aafdaeeb577babbf3b969744232
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
A llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions-min-max.ll
Log Message:
-----------
[LoopUnroll] Support parallel reductions for minmax (#182473)
This patch
* Supports parallel reductions for min/max operations in LoopUnroller.
* Adds relevant test (including intrinsics).
* Renames flag -unroll-add-parallel-reduction to
-unroll-parallel-reduction.
* Relaxes check in IVDescriptors.cpp (`getMinMaxRecurrence`) to handle
out-of-loop uses.
Planning to take support for vector types in the next patch.
Commit: cd6891edcffa29284bb0815ec771467facaf3f35
https://github.com/llvm/llvm-project/commit/cd6891edcffa29284bb0815ec771467facaf3f35
Author: Aayush Shrivastava <79578660+iamaayushrivastava at users.noreply.github.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libc/include/math.yaml
Log Message:
-----------
[libc][math] Add missing math.yaml entries for acospif and atan2f16 (#199442)
Fixes #199266
This PR adds missing `math.yaml` entries for `acospif` and `atan2f16`.
Commit: d1010189961f8060cebbe2543f5d586d4fbad263
https://github.com/llvm/llvm-project/commit/d1010189961f8060cebbe2543f5d586d4fbad263
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/include/clang/Analysis/CFG.h
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Store cleanup expressions for temporaries (#200568)
Now in `CFGFullExprCleanup` we also store a cleanup expressions to be
able to get an accurate location where destruction happened.
This helps user understand lifetime semantics of objects better.
Closes #195503
Commit: 294b72f48f1178e4f9cf9a68f3c807c12557298a
https://github.com/llvm/llvm-project/commit/294b72f48f1178e4f9cf9a68f3c807c12557298a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Assert operand correctness at construction. (NFC) (#200686)
Update VPWidenPHIRecipe, VPBlendRecipe and VPReductionRecipe to assert
type correctness at construction.
PR: https://github.com/llvm/llvm-project/pull/200686
Commit: 6277fbf3f1afe5a87a66301cadeb5daa4dfce3b4
https://github.com/llvm/llvm-project/commit/6277fbf3f1afe5a87a66301cadeb5daa4dfce3b4
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/include/llvm/Support/ELFAttrParserCompact.h
M llvm/include/llvm/Support/ELFAttrParserExtended.h
M llvm/lib/Support/ELFAttrParserCompact.cpp
M llvm/lib/Support/ELFAttrParserExtended.cpp
Log Message:
-----------
[Support] Remove unused argument of DataExtractor constructor (NFC) (#197121)
`AddressSize` parameter is not used by `DataExtractor` and will be
removed in the future. See #190519 for more context.
Commit: 203c0668d4b098714d1748de766e890fe6296891
https://github.com/llvm/llvm-project/commit/203c0668d4b098714d1748de766e890fe6296891
Author: Aayush Shrivastava <79578660+iamaayushrivastava at users.noreply.github.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/AST/AttrImpl.cpp
M clang/test/Sema/alloc-size.c
M clang/test/Sema/attr-nonnull.c
Log Message:
-----------
[clang] Fix assertion crash in alloc_size structural equivalence check (#199407) (#199980)
Fixes #199407
Remove ParamIdx from the `USE_DEFAULT_EQUALITY` default-comparison path
and add an explicit `equalAttrArgs<ParamIdx>` specialization that safely
handles invalid (unset) values.
Commit: 52ff7167af07c3173e0dddebba8c5cf288d45d71
https://github.com/llvm/llvm-project/commit/52ff7167af07c3173e0dddebba8c5cf288d45d71
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/vgpr_constant64_to_sgpr.mir
Log Message:
-----------
[AMDGPU] Use S_MOV_B64_IMM_PSEUDO when moving 64-bit VGPR const to SGPR (#200576)
S_MOV_B64 only encodes a 32-bit literal, so rematerializing a non-inline
64-bit immediate through it silently dropped the high 32 bits
Commit: 2a2e45257b8277ae6dbd3bce1627a9b07d1a301d
https://github.com/llvm/llvm-project/commit/2a2e45257b8277ae6dbd3bce1627a9b07d1a301d
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
Log Message:
-----------
[AMDGPU] Use fpext to widen sub DWORD FP printf args (#200870)
Widening half/bfloat printf varargs via bitcast+sext corrupted the FP
bit pattern for negative values
Extend by value-preserving fpext to float instead
Commit: 56ccbc25315030088b04435e4828efbc22f0e926
https://github.com/llvm/llvm-project/commit/56ccbc25315030088b04435e4828efbc22f0e926
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
R llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions-min-max.ll
Log Message:
-----------
Revert "[LoopUnroll] Support parallel reductions for minmax (#182473)" (#200892)
This reverts commit 1e79ea1f5b3e4aafdaeeb577babbf3b969744232.
Commit: b8db0a46a08d5aa14a872dd9b1a778b334b2cce4
https://github.com/llvm/llvm-project/commit/b8db0a46a08d5aa14a872dd9b1a778b334b2cce4
Author: Lily Gorsheneva <bgorshenev at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/unaligned-buffer.ll
Log Message:
-----------
Make tests added in rd5a24ef work in read-only source filesystems. (#200883)
Commit: 8bae84de90eb5b042cc8a320b88f92357e09975f
https://github.com/llvm/llvm-project/commit/8bae84de90eb5b042cc8a320b88f92357e09975f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
Log Message:
-----------
[flang][OpenMP] Simplify checks for type-parameter inquiry (#198217)
Remove the no longer needed IsDataRefTypeParamInquiry.
Commit: 09bf7ef7d7848e4c78d3790a51dc28d9f157e777
https://github.com/llvm/llvm-project/commit/09bf7ef7d7848e4c78d3790a51dc28d9f157e777
Author: Harlen Batagelo <hbatagelo at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/include/llvm/Testing/Annotations/Annotations.h
M llvm/lib/Testing/Annotations/Annotations.cpp
M llvm/unittests/Testing/Annotations/AnnotationsTest.cpp
Log Message:
-----------
[Testing] Allow custom markers in llvm::Annotations (#195570)
The current annotation markers can conflict with several language
constructs. Notably, `[[ ]]` and `^` collide with C++ attributes (e.g.,
`[[nodiscard]]`), the C++26 reflection operator (`^^int`), and
Objective-C blocks (`void (^foo)(void)`). Similarly, `$` can conflict
with identifiers that also use `$` with `-fdollars-in-identifiers`, as
well as with C++26 code that uses `$` as raw-string delimiters or as a
preprocessing token
([P2558R2](https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2023/p2558r2.html)).
Because the markers are currently hardcoded in `llvm::Annotations`,
existing workarounds have to rely on digraphs or macro substitution via
implicit `#define`s. These approaches reduce readability and make tests
cumbersome to write. This PR alleviates these issues by adding support
for custom markers. It adds an overloaded `Annotations` constructor that
accepts a new `Annotations::Markers` struct. For example, to use `~` for
point, `@` for name, and `{{`/`}}` for range:
```cpp
Annotations Example(R"cpp(
@name(payload){{[[nodiscard]] int foo(int x);}}~
)cpp", {"~", "@", "{{", "}}"});
```
Alternatively, we can use setters to customize the markers individually:
```cpp
Annotations Example(R"cpp(
@name(payload){{[[nodiscard]] int foo(int x);}}~
)cpp", Annotations::Markers().setPoint("~")
.setName("@@")
.setRangeBegin("{{")
.setRangeEnd("}}"));
```
Using longer markers:
```cpp
Annotations Example(R"cpp(
$$name(payload)[[[[[nodiscard]] int foo(int x);]]]^^
)cpp", {"^^", "$$", "[[[", "]]]"});
```
Using multi-byte characters:
```cpp
Annotations Example(R"cpp(
🏷️name(payload)👉[[nodiscard]] int foo(int x);👈🎯
)cpp", {"🎯", "🏷️", "👉", "👈"});
```
The existing single-argument constructor delegates to the new overload,
preserving backward compatibility.
PS: The original code has a FIXME comment mentioning alternative
approaches, such as escaping and changing the default syntax. While
valid, escaping would increase visual noise, and changing the default
syntax would break existing tests. The approach proposed here provides
the flexibility to choose a syntax that is clean for a specific context
and is backward compatible. See https://reviews.llvm.org/D59814 for
earlier discussion about these alternative design choices.
Commit: e5851a8f307a8e59742c5ab8fed7abdbe3f9cf21
https://github.com/llvm/llvm-project/commit/e5851a8f307a8e59742c5ab8fed7abdbe3f9cf21
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/convert-fp.ll
Log Message:
-----------
[NVPTX] Fix fptosi/fptoui to i1. (#200718)
The langref says:
> The 'fptosi' instruction converts its floating-point operand into the
> nearest (rounding towards zero) signed integer value. If the value
> cannot fit in ty2, the result is a poison value.
Previously `fptosi to i1` and `fptoui to i1` were lowered as `x == 0.0`,
which is clearly incorrect.
Because the conversion truncates toward zero, the only results that are
not poison are:
- 0 and -1 for the signed case, and
- 0 and 1 for the unsigned case.
So the i1 result is fully determined by a single fp compare:
- `fptosi x to i1` == `x <= -1.0`
- `fptoui x to i1` == `x >= 1.0`
with any value being acceptable for the poison (out-of-range) inputs.
Commit: 0f1f234990f40c942fb8b87cd2141c48848b8253
https://github.com/llvm/llvm-project/commit/0f1f234990f40c942fb8b87cd2141c48848b8253
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libc/test/src/math/acos_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincos_test.cpp
Log Message:
-----------
[libc][math] Adding constexpr to tests for Double-type math functions (#200681)
Similar to
```CPP
constexpr uint64_t X_COUNT = 123;
constexpr uint64_t X_START = FPBits(0.25).uintval();
constexpr uint64_t X_STOP = FPBits(4.0).uintval();
constexpr uint64_t X_STEP = (X_STOP - X_START) / X_COUNT;
constexpr uint64_t Y_COUNT = 137;
constexpr uint64_t Y_START = FPBits(0.25).uintval();
constexpr uint64_t Y_STOP = FPBits(4.0).uintval();
constexpr uint64_t Y_STEP = (Y_STOP - Y_START) / Y_COUNT;
```
in [atan2_test.cpp](https://github.com/llvm/llvm-project/blob/main/libc/test/src/math/atan2_test.cpp)
This PR tends to add constexpr to all double function tests-only
Additonally, replacing
``` CPP
LIBC_NAMESPACE::fputil::FPBits<double>(x).uintval();
```
to
```CPP
FPBits(x).uintval();
```
Assisted using Copilot.
Commit: 209d77c43a8aba33d1fbadfdcc4246a35d5fe433
https://github.com/llvm/llvm-project/commit/209d77c43a8aba33d1fbadfdcc4246a35d5fe433
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/IR/Globals.cpp
Log Message:
-----------
[IR] Reorder checks in isInterposable() (NFC) (#200862)
The isDSOLocal() check is a lot cheaper than getSemanticInterposition(),
so perform it first.
Commit: 80875b8a637dcee352721ad6fe4f7b2886abc370
https://github.com/llvm/llvm-project/commit/80875b8a637dcee352721ad6fe4f7b2886abc370
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/replace-first-order-recurrence-by-versioned-iv.ll
Log Message:
-----------
[LV] Add users to header phis in tests (NFC). (#200890)
Make sure the header phis in various tests are actually used, to make
them more robust w.r.t. to future simplification changes. Those dead
phis would be cleaned up before LV in the regular pipeline.
Commit: dc448dad35c896eab52dba9500ad599b69c420fa
https://github.com/llvm/llvm-project/commit/dc448dad35c896eab52dba9500ad599b69c420fa
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/fold-shuffle-chains-to-reduce.ll
Log Message:
-----------
[VectorCombine] Don't fold non-idempotent shuffle reductions when shuffle duplicates element (#200778)
This is a small correctness fix for foldShuffleChainsToReduce. For odd /
non-power-of-2 vector sizes the parity-mask scheme duplicates a lane,
which is only sound when the reduction op is idempotent. For
non-idempotent ops (e.g. add, xor) the duplicated lane changes the
result, so I track a HasLaneDuplication flag and bail out of the fold in
that case. Tests cover non-foldable add/xor and a still-foldable
idempotent smax.
Commit: 0d98eb6e872811bdfd0545e46bdfd4251b493e2d
https://github.com/llvm/llvm-project/commit/0d98eb6e872811bdfd0545e46bdfd4251b493e2d
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/cleanup-conditional.cpp
M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
Log Message:
-----------
[CIR] Fix ordering of lifetime-extended cleanups (#200874)
We had a bug that was causing any lifetime-extended cleanups that
occurred within a full-expression cleanup scope to be emitted
prematurely when the expression also required deferred conditional
cleanups. This was, in some cases, causing a dangling reference to
temporaries that had already been destructed. Luckily, it was also
causing us to not emit a return at the end of the function in one case,
leading the verifier to draw attention to this problem.
This change introduces new functions in RunCleanupsScope to allow
"ordinary" EH stack cleanups to be force-emitted separately from
lifetime-extended cleanups. Classic codegen doesn't need this capability
because it handles deferred conditional cleanups very differently than
CIR due to its flat/branching approach.
The testing for this fix did uncover a significant issue wherein CIR is
calling destructors in the wrong order even after the fix in this PR.
However, that's a pre-existing issue that will require changes beyond
the scope of this fix, so I'll handle it in a follow-up.
Assisted-by: Cursor / claude-opus-4.7
Commit: 9433fd7666ca6e0e38c05e3dc911b0685ffa0ab3
https://github.com/llvm/llvm-project/commit/9433fd7666ca6e0e38c05e3dc911b0685ffa0ab3
Author: Wael Yehia <wmyehia2001 at yahoo.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M compiler-rt/lib/builtins/ppc/init_ifuncs.c
Log Message:
-----------
[AIX] Set the ifunc constructor's priority to 100, to run before any user code (#200893)
Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>
Commit: 0b411ba0a26b82e301453a67ca44a5c986aa0bdc
https://github.com/llvm/llvm-project/commit/0b411ba0a26b82e301453a67ca44a5c986aa0bdc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] lowerShuffleAsBitBlend - use getConstVector to create selection mask (#200877)
Avoids wasteful SDValue creation if the shuffle matching fails, handles
any i64 legalisation and makes it easier to add UNDEF element handling
in the future.
Commit: 910b4af8118ffef60c58f397794368577b35a7e1
https://github.com/llvm/llvm-project/commit/910b4af8118ffef60c58f397794368577b35a7e1
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
M llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.yaml
M llvm/test/tools/llvm-objcopy/DXContainer/dump-section.yaml
Log Message:
-----------
Revert "[llvm-objcopy] Strip header from DXContainer's ILDB part during `--dump-section`" (#200867)
Reverts llvm/llvm-project#198578
Failed build: https://lab.llvm.org/buildbot/#/builders/190/builds/43332
Commit: 4ae332399664a0f2426576b84bfcd173e85d9125
https://github.com/llvm/llvm-project/commit/4ae332399664a0f2426576b84bfcd173e85d9125
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/CMakeLists.txt
M offload/plugins-nextgen/level_zero/dynamic_l0/level_zero/ze_api.h
M offload/plugins-nextgen/level_zero/include/AsyncQueue.h
A offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/plugins-nextgen/level_zero/include/L0Kernel.h
M offload/plugins-nextgen/level_zero/include/L0Memory.h
M offload/plugins-nextgen/level_zero/include/L0Options.h
M offload/plugins-nextgen/level_zero/include/L0Plugin.h
R offload/plugins-nextgen/level_zero/include/TLS.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
M offload/plugins-nextgen/level_zero/src/L0Memory.cpp
M offload/plugins-nextgen/level_zero/src/L0Options.cpp
M offload/plugins-nextgen/level_zero/src/L0Program.cpp
A offload/plugins-nextgen/level_zero/src/L0Queue.cpp
Log Message:
-----------
[OFFLOAD][L0] Refactor AsyncQueues (#200650)
This PR introduces a major refactor on how L0 queues are used in the
plugin as the current design is too tied to OpenMP behavior. There are
two major changes:
* We no longer have a per-thread queue cache as this resulted in a
single logical queue backed up by multiple L0 queues. We now have a per
device cache which should have a similar level of reuse performance.
* The AsyncQueueTy type has been largely extended to hide the logic of
the different queues types (which are now subclasses of AsyncQueueTy).
This has greatly simplified the L0Device implementation.
As part of this refactor a number of other changes happened:
* Copy command lists were removed in favor of the
ZE_COMMAND_QUEUE_FLAG_COPY_OFFLOAD_HINT driver hint.
* Support for inorder queues was added (can be selected using
LIBOMPTARGET_LEVEL_ZERO_COMMAND_MODE=inorder).
* Sync queues now use inorder queues.
* Queue operations conditionally only use events when necessary (OMPT,
profiling or queue logic).
* MemFill now support asynchronous operations
There are a few more things that still need to be adjusted and cleanup
but as this PR is already big enough as it is, I'll prepare a follow-up
to fix them.
Commit: 948b2b594af8101f5062c66aa8e23334fed4e2c0
https://github.com/llvm/llvm-project/commit/948b2b594af8101f5062c66aa8e23334fed4e2c0
Author: Ege Beysel <beysel at roofline.ai>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
Log Message:
-----------
[mlir][Linalg] Enable lowering/decomposing scalable pack ops (#200216)
Enables lowering/decomposing `linalg.pack` ops with dynamic inner tiles
to a sequence of `tensor.pad` -> `tensor.expand_shape` ->
`linalg.transpose` ops.
---------
Signed-off-by: Ege Beysel <beyselege at gmail.com>
Commit: 4a00d0099bbe5eb318fd4af3e701a1e150b0f9e4
https://github.com/llvm/llvm-project/commit/4a00d0099bbe5eb318fd4af3e701a1e150b0f9e4
Author: lntue <lntue at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.yml
Log Message:
-----------
[libc][ci] Use lld for linking in precommit CIs. (#200897)
Commit: ae464f629520427be2ff63768d8a9fa4f0345223
https://github.com/llvm/llvm-project/commit/ae464f629520427be2ff63768d8a9fa4f0345223
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.cpp
Log Message:
-----------
[clang-tidy] Fix cert-err33-c inheriting CheckedReturnTypes from bugp… (#200169)
…rone-unused-return-value
The cert-err33-c alias did not override CheckedReturnTypes, causing it
to inherit the default from bugprone-unused-return-value. This made it
flag any function returning std::error_code, std::expected, etc. That is
outside the scope of CERT ERR33-C (a fixed list of C standard library
functions).
Set CheckedReturnTypes to empty so the alias only checks its intended
function list.
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: c5eafbcc29c5d83deea9ae2232883ebef1febec0
https://github.com/llvm/llvm-project/commit/c5eafbcc29c5d83deea9ae2232883ebef1febec0
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/test/Analysis/bstring_UninitRead.c
M clang/test/Analysis/initialization.c
M clang/test/Analysis/initialization.cpp
Log Message:
-----------
[analyzer] Normalize sub-array indices in RegionStore initializer res… (#200044)
…olution
After #198346, alpha.unix.cstring.UninitializedRead reports a false
positive when a pointer into a fully-initialized const multidimensional
array is advanced past an inner dimension boundary and used as a source
argument to memcpy. The root cause is in
`convertOffsetsFromSvalToUnsigneds` in RegionStore, which returned
UndefinedVal for any element index exceeding its sub-array extent,
conflating pointer arithmetic legality with memory initializedness.
This patch separates the two concerns. The RegionStore now normalizes
indices that overflow an inner dimension by carrying into the outer
dimension via divmod, the same way `arr[0][5]` in `int arr[4][3]`
denotes the same memory as `arr[1][2]`. UndefinedVal is returned only
when the computed flat offset exceeds the total array allocation.
Whether cross-subobject pointer arithmetic constitutes undefined
behavior per C/C++ standards is a separate concern for individual
checkers to diagnose. No existing checker flags sub-array boundary
crossing as UB, verified both before and after #198346.
Fixes #199271
Commit: 4c64e23f917db492d1f5c125303bc2bd61f211ec
https://github.com/llvm/llvm-project/commit/4c64e23f917db492d1f5c125303bc2bd61f211ec
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/tests/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/gdb-remote/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#200910)
3d24f9acc92b
7963f459e2f3
7a435caaf3fa
866945c20298
a0ac75213425
Commit: 4b3249a79b2e2856f24d5e8d718381b4b097d29b
https://github.com/llvm/llvm-project/commit/4b3249a79b2e2856f24d5e8d718381b4b097d29b
Author: Jared Hoberock <jaredhoberock at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/test/Conversion/GPUCommon/lower-alloc-to-gpu-runtime-calls.mlir
M mlir/test/Conversion/GPUCommon/lower-launch-func-bare-ptr.mlir
Log Message:
-----------
[MLIR][GPU] Support synchronous gpu.alloc and gpu.dealloc in gpu-to-llvm (#191661)
The gpu-to-llvm conversion patterns for gpu.alloc and gpu.dealloc
previously required async tokens for non-host shared operations. This
prevented lowering synchronous device memory allocation and deallocation
to runtime calls.
Changes:
- gpu.alloc: drop the isAsyncWithOneDependency guard for non-shared
allocs. Cap the number of async dependencies at one to preserve the
prior single-dependency invariant. Cast the runtime-returned pointer to
the memref's address space when they differ, so the descriptor's pointer
slots type-check for memref<..., N>.
- gpu.dealloc: drop the async requirement entirely. Use a null stream
when no async dependencies are present. Use eraseOp instead of replaceOp
for sync deallocs (which have no results). Cap the number of async
dependencies at one.
- Add a unit test for the synchronous alloc/dealloc lowering and a test
that more than one async dependency leaves the op unconverted.
- Update lower-launch-func-bare-ptr.mlir, which previously asserted
gpu.alloc survived the conversion (because the pattern bailed for sync
non-shared allocs); it now asserts the full lowering through
mgpuMemAlloc + addrspacecast.
Assisted-by: Claude
Commit: 8c30cb246ce877c6a6b534fff5e58cc46ced95d3
https://github.com/llvm/llvm-project/commit/8c30cb246ce877c6a6b534fff5e58cc46ced95d3
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/dynamic_l0/L0DynWrapper.cpp
Log Message:
-----------
[OFFLOAD][L0] Add support for dynamic l0 fallbacks (#200517)
The PR adds support to define fallbacks for DLWRAP routines that are not
found when loading the library.
It implements a fallback for
zeCommandListAppendLaunchKernelWithArguments introduced in #194333 which
might not be available in older drivers.
Commit: eae4d72971719d7c68c30c7eeb37135606e346aa
https://github.com/llvm/llvm-project/commit/eae4d72971719d7c68c30c7eeb37135606e346aa
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCComputeLowering.cpp
M mlir/test/Dialect/OpenACC/acc-compute-lowering-loop.mlir
Log Message:
-----------
[openacc] Attach Parallelism Levels to Auto Loops (#200884)
Auto loops are analyzed by the compiler in later compilation stages to
determine whether they can be parallelized. These loops may carry
parallelism levels (this does not guarantee that they are parallelizable,
compiler should still analyze them). However, if the loop is parallelized,
the parallelism levels specified in the source should be respected. This
change attaches the parallelism level to auto loops, which enables their
propagation through next compilation steps.
Commit: 4aa9a9f6f6b9e04c64e18f2f23efbd3745982773
https://github.com/llvm/llvm-project/commit/4aa9a9f6f6b9e04c64e18f2f23efbd3745982773
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] lowerShuffleAsBitMask - use getConstVector to create bitmask (#200889)
Avoids wasteful SDValue creation if the shuffle matching fails, handles
any i64 legalisation, avoid issues with later folds not recognising fp
'allones' masks and makes it easier to add UNDEF element handling in the
future.
Commit: 659c3fbd732771ad30052a9cd2c5896cfe00737e
https://github.com/llvm/llvm-project/commit/659c3fbd732771ad30052a9cd2c5896cfe00737e
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/tools/lldb-dap/ProtocolUtils.cpp
Log Message:
-----------
[lldb-dap] Mark source deemphasize if path doesn't exist (#194702)
LLDB-DAP has a problem with sanitizers in GCC. When we stop in
sanitizer's code, lldb-dap sends stack frames with path (sanitizer's
build dir path) that doesn't exist on machine. It leads to problems in
VS Code UI (see issue below).
Fixes #184789
Commit: 27d344d36ecac3645ed8b8a1ba37dd6772be6a71
https://github.com/llvm/llvm-project/commit/27d344d36ecac3645ed8b8a1ba37dd6772be6a71
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/utils/gn/build/write_cmake_config.py
M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
Log Message:
-----------
[gn build] Port 7964b66b (#200914)
Commit: 7a9fdaa0b1a0c003d9c278bd40647b357952ca93
https://github.com/llvm/llvm-project/commit/7a9fdaa0b1a0c003d9c278bd40647b357952ca93
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
Log Message:
-----------
[lldb] Skip minidump case in TestDynamicValue.py for arm64e (#200047)
The minidump format does not currently have a way to distinguish arm64e
from arm64.
Commit: 5fa177b90c8f365743bfe2633d620aa333a4bd02
https://github.com/llvm/llvm-project/commit/5fa177b90c8f365743bfe2633d620aa333a4bd02
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Dialect/AMDGPU/amdgpu-emulate-atomics.mlir
M mlir/test/Dialect/AMDGPU/canonicalize.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][ROCDL][AMDGPU] Add result arguments to buffer atomics (#198596)
Buffer atomic operations were failing LLVM validation because they
weren't declared as having a result (the old value). This commit updates
those operations to fix the error. (Note: if you don't need the result,
you just don't use it, and the compiler backend emits an atomic that
doesn't return the old value.)
Commit: f323e93d46d9ca3b34a35739089f14ee15865012
https://github.com/llvm/llvm-project/commit/f323e93d46d9ca3b34a35739089f14ee15865012
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-flags.ll
Log Message:
-----------
[VPlan] Propagate print flags for VPInstructionWithType. (#200838)
Update VPInstructionWithType::print to include printing flags.
Commit: a330c89d7de14a13b55e5aef3b80b054815c24ab
https://github.com/llvm/llvm-project/commit/a330c89d7de14a13b55e5aef3b80b054815c24ab
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M bolt/docs/profiles.md
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/test/perf2bolt/lit.local.cfg
A bolt/test/perf2bolt/perf_brstack.test
M bolt/test/perf2bolt/perf_test.test
Log Message:
-----------
[BOLT] Add perf2bolt pre-aggregated profile output
Add a pre-aggregated profile output format (`--profile-format=preagg`)
so perf.data can be pre-parsed/aggregated and used as input with -pa.
Supports branch (T traces) and basic samples (S records).
Currently only covers main binary, can be extended to cover multi-DSO.
Test Plan: Updated perf_test.test, added perf_brstack.test
Reviewers:
yota9, ayermolo, yozhu, maksfb, yavtuk, paschalis-mpeis, rafaelauler
Reviewed By: paschalis-mpeis
Pull Request: https://github.com/llvm/llvm-project/pull/199465
Commit: a4f3a0153b8be8044d6b4a85e9632618930193f4
https://github.com/llvm/llvm-project/commit/a4f3a0153b8be8044d6b4a85e9632618930193f4
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/plugins-nextgen/level_zero/include/L0Plugin.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
Log Message:
-----------
[OFFLOAD][L0][NFC] Remove Device TLS table (#200923)
After #200650 the Device TLS table is not used anymore so it can be
removed.
Commit: 43ce763adaf01ec2e454c912bf022c7778f9c05b
https://github.com/llvm/llvm-project/commit/43ce763adaf01ec2e454c912bf022c7778f9c05b
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
R offload/plugins-nextgen/level_zero/include/AsyncQueue.h
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/plugins-nextgen/level_zero/include/L0Kernel.h
A offload/plugins-nextgen/level_zero/include/L0Queue.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Queue.cpp
Log Message:
-----------
[OFFLOAD][L0][NFC] Rename AsyncQueueTy struct to L0QueueTy (#200921)
L0QueueTy is more descriptive after the changes in #200650.
Also renamed the header name and one internal field to be more
descriptive.
Commit: 3e45dea1ecce8e0360f58a74f2d4cd45eac301e4
https://github.com/llvm/llvm-project/commit/3e45dea1ecce8e0360f58a74f2d4cd45eac301e4
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/cleanup-derived-to-base-ref.cpp
Log Message:
-----------
[CIR] Spill and reload values across deferred cleanup scopes (#200904)
The `valuesToReload` handling in our `RunCleanupScope::forceCleanup()`
function was not taking into account cleanup scopes for deferred
conditional cleanups that get created when we call
`forceDeactivation()`. This was leading to a CIR verification error in
cases where a deferred cleanup was used in an expression that returns a
value.
This change adds code to spill values ahead of the `forceDeactivation()`
call when we see that there are cleanups on the deferred stack.
Assisted-by: Cursor / claude-opus-4.7
Commit: 385ba8821c75a13ca45a38047e69670921ba9a06
https://github.com/llvm/llvm-project/commit/385ba8821c75a13ca45a38047e69670921ba9a06
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/test/API/macosx/branch-islands/Makefile
Log Message:
-----------
[lldb] Fix TestBranchIslands.py for arm64e (#200498)
Need to pass CFLAGS to clang when building the asm files, otherwise the
triple isn't used and they're automatically compiled for the host
platform.
Commit: 8b66d829fbcc37eeb8a2a2e14dfc7bf40ee067e1
https://github.com/llvm/llvm-project/commit/8b66d829fbcc37eeb8a2a2e14dfc7bf40ee067e1
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M .clang-format-ignore
R clang/.clang-format-ignore
M llvm/docs/CodingStandards.rst
Log Message:
-----------
[Docs] Update coding standard for TD files (#200848)
This PR proposes an update to the coding standards document to make
explicit that we do not want unnecessary formatting changes to TD files.
This is in response to this merged PR (#199346), which lead to this RFC
(https://discourse.llvm.org/t/80-column-limit-for-td-files/90950/).
---------
Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Commit: 4d3513075df51a2cb579e3d82e9593aac42a4bce
https://github.com/llvm/llvm-project/commit/4d3513075df51a2cb579e3d82e9593aac42a4bce
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
Log Message:
-----------
[lldb] Strip objc superclass pointer in trampoline handler (#200490)
The pointer needs to be stripped before being handed off to any objc
runtime functions. Otherwise the utility expression will hit a PAC
exception and the thread plan will fail to execute correctly.
This fixes TestObjCStepping.py on arm64e.
Commit: e6874781e5b678101ff5f220c3a0dd4df5d2cf29
https://github.com/llvm/llvm-project/commit/e6874781e5b678101ff5f220c3a0dd4df5d2cf29
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/X86/atomic-load-store.ll
Log Message:
-----------
[SelectionDAG] Widen <2 x T> vector types for atomic store (#197618)
Vector types of 2 elements must be widened. This change does this
for vector types of atomic store in SelectionDAG so that it can
translate aligned vectors of >1 size.
Store-side counterpart to #148897. Stacked on top of #197166; and below
of #197619.
Commit: 24ea912d3b66800a5b341a31b9d20494a15e728c
https://github.com/llvm/llvm-project/commit/24ea912d3b66800a5b341a31b9d20494a15e728c
Author: Ehsan Amiri <ehsan.amiri at huawei.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Fix style issue in Maintainers file (#200917)
Commit: fc2ab20894edd965e0394ca3a30a2ed5beb11617
https://github.com/llvm/llvm-project/commit/fc2ab20894edd965e0394ca3a30a2ed5beb11617
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_optimizations_mul_one.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/floor.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
M llvm/test/CodeGen/AMDGPU/callbr-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs-v2f32.ll
M llvm/test/CodeGen/AMDGPU/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
M llvm/test/CodeGen/AMDGPU/fptoui-sat-scalar.ll
M llvm/test/CodeGen/AMDGPU/fptoui-sat-vector.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
M llvm/test/CodeGen/AMDGPU/lds-barrier-memoperand.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.wave32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.f64.ll
M llvm/test/CodeGen/AMDGPU/load-atomic-flat.ll
M llvm/test/CodeGen/AMDGPU/load-atomic-global.ll
M llvm/test/CodeGen/AMDGPU/load-atomic-local.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
M llvm/test/CodeGen/AMDGPU/packed-fneg-fsub-fp16.ll
M llvm/test/CodeGen/AMDGPU/ps-shader-arg-count.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
M llvm/test/CodeGen/AMDGPU/store-atomic-flat.ll
M llvm/test/CodeGen/AMDGPU/store-atomic-global.ll
M llvm/test/CodeGen/AMDGPU/store-atomic-local.ll
Log Message:
-----------
AMDGPU/GlobalISel: Switch some tests to -new-reg-bank-select (#200853)
Commit: 9740a4bb88463581a4fd6c1362b9d1d14c995cb3
https://github.com/llvm/llvm-project/commit/9740a4bb88463581a4fd6c1362b9d1d14c995cb3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/test/CodeGen/AArch64/selectopt-cast.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[SelectOpt] Preserve Profile Information (#200680)
If at least one of the SelectLike instructions in the group has profile
metadata, we can propagate it given they all share the same condition.
Commit: 64ed6837d6026b97dcb5e175caf3d54ad3397850
https://github.com/llvm/llvm-project/commit/64ed6837d6026b97dcb5e175caf3d54ad3397850
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.exp.compr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.exp.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-i1-copy.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-select.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext-inreg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptrunc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-amdgcn-fdiv-fast.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-rotl-rotr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizer-combiner-divrem.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizer-combiner-unmerge-undef.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-load-and-mask.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-divrem.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-shuffle.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-widen-scalar-loads.mir
Log Message:
-----------
AMDGPU/GlobalISel: Remove redundant -global-isel from -run-pass MIR tests (NFC) (#200857)
Commit: 8c65695c54b74bc806f1f74314a45a0bb8c56642
https://github.com/llvm/llvm-project/commit/8c65695c54b74bc806f1f74314a45a0bb8c56642
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Queue.h
M offload/plugins-nextgen/level_zero/src/L0Queue.cpp
Log Message:
-----------
[OFFLOAD][L0][NFC] Add struct for deferred memory operations (#200928)
Improve readibility a bit by using a well-defined struct instead of
tuples.
Commit: 11158cfe3faa2c9c04c8b5fdac3ac25eec75cb51
https://github.com/llvm/llvm-project/commit/11158cfe3faa2c9c04c8b5fdac3ac25eec75cb51
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/test/Transforms/HotColdSplit/coldentrycount.ll
Log Message:
-----------
[HotColdSplit] Consolidate pass pipeline (#200941)
Codegenprepare was added for more of a E2E test in
f0f68c6e6c5e0064c0196e4f1528e910a47766e0. The pipeline was split in
cb5e48d1c2c4774ed9f17ff89412f1291b640172 to allow for the removal of the
HotColdSplit legacy pass. Now that CodeGenPrepare has been ported to the
NewPM in f1ec0d12bb0843f0deab83ef2b5cf1339cbc4f0b (which even touched
this test), we can use a single pass pipeline and simplify the run line
a little bit.
Commit: fbcf6bbf35a176a27ce8ca509c00d6b5c8a8c064
https://github.com/llvm/llvm-project/commit/fbcf6bbf35a176a27ce8ca509c00d6b5c8a8c064
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lld/COFF/Chunks.h
M lld/MachO/ConcatOutputSection.h
M lld/wasm/SyntheticSections.h
Log Message:
-----------
[lld] Remove unused DenseMapInfo::getTombstoneKey (#200636)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 54796f26bf917bd68434f4c13c2a9bb16506cba9
https://github.com/llvm/llvm-project/commit/54796f26bf917bd68434f4c13c2a9bb16506cba9
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/include/lldb/Core/Highlighter.h
M lldb/include/lldb/Host/HostThread.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Utility/ConstString.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/include/lldb/Utility/UUID.h
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb] Remove unused DenseMapInfo::getTombstoneKey (#200635)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: f0d3a8f1f20b8f569d6c2cf2add3295ea6ac3abf
https://github.com/llvm/llvm-project/commit/f0d3a8f1f20b8f569d6c2cf2add3295ea6ac3abf
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/SplitFunctions.h
M bolt/include/bolt/Profile/DataReader.h
Log Message:
-----------
[BOLT] Remove unused DenseMapInfo::getTombstoneKey (#200637)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 7ccb0ed0172625239626a7503f6996ebd27a6aea
https://github.com/llvm/llvm-project/commit/7ccb0ed0172625239626a7503f6996ebd27a6aea
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lld/wasm/Config.h
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld][WebAssembly] Refine type used for internal TLS-related symbols. NFC (#200899)
I noticed this while reviewing #200855.
Commit: 333bc302b49f37da1987e15ae6f66a3027f615f7
https://github.com/llvm/llvm-project/commit/333bc302b49f37da1987e15ae6f66a3027f615f7
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/include/lldb/Symbol/Symbol.h
Log Message:
-----------
[lldb] Add static_assert to catch increases to size of Symbol (#200919)
Commit: 67139a27775e72b0b199a37946a8b3fa0abdc75e
https://github.com/llvm/llvm-project/commit/67139a27775e72b0b199a37946a8b3fa0abdc75e
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M flang/include/flang/Lower/IterationSpace.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/Support/Utils.cpp
Log Message:
-----------
[flang] Remove unused DenseMapInfo::getTombstoneKey (#200632)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 4b91251dd8af6a109c07c7a89bafab9be0dd829c
https://github.com/llvm/llvm-project/commit/4b91251dd8af6a109c07c7a89bafab9be0dd829c
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/Analysis/CallGraph.h
M mlir/include/mlir/Analysis/DataFlowFramework.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
M mlir/include/mlir/IR/AffineExpr.h
M mlir/include/mlir/IR/AffineMap.h
M mlir/include/mlir/IR/Attributes.h
M mlir/include/mlir/IR/Block.h
M mlir/include/mlir/IR/BlockSupport.h
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/include/mlir/IR/DialectInterface.h
M mlir/include/mlir/IR/IntegerSet.h
M mlir/include/mlir/IR/Location.h
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/OpImplementation.h
M mlir/include/mlir/IR/OperationSupport.h
M mlir/include/mlir/IR/Remarks.h
M mlir/include/mlir/IR/TypeRange.h
M mlir/include/mlir/IR/Types.h
M mlir/include/mlir/IR/Value.h
M mlir/include/mlir/Pass/PassInstrumentation.h
M mlir/include/mlir/Pass/PassManager.h
M mlir/include/mlir/Support/InterfaceSupport.h
M mlir/include/mlir/Support/TypeID.h
M mlir/include/mlir/TableGen/Constraint.h
M mlir/include/mlir/TableGen/Format.h
M mlir/include/mlir/TableGen/Pattern.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Dialect/Func/Transforms/DuplicateFunctionElimination.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/lib/Support/StorageUniquer.cpp
M mlir/lib/TableGen/Constraint.cpp
M mlir/lib/Transforms/Utils/CFGToSCF.cpp
M mlir/lib/Transforms/Utils/CSE.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/tools/mlir-tblgen/EnumsGen.cpp
Log Message:
-----------
[mlir] Remove unused DenseMapInfo::getTombstoneKey (#200633)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 9e29f7ddc42e325aa34dcf58a5da800afa9f64ad
https://github.com/llvm/llvm-project/commit/9e29f7ddc42e325aa34dcf58a5da800afa9f64ad
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/atomic-load-store.ll
M llvm/test/CodeGen/X86/atomic-unordered.ll
Log Message:
-----------
[X86] Remove extra MOV after widening atomic store (#197619)
This change adds patterns to optimize out an extra MOV present after
widening the atomic store. Covers `<2 x i8>` (SSE4.1+), `<2 x i16>`,
`<4 x i8>`, `<2 x i32>`, `<2 x float>`, `<4 x i16>`,
`<2 x ptr addrspace(270)>`.
Store-side counterpart to #148898. Stacked on top of #197618; and below
of #197860.
Commit: f254ae6f7f12042d3822c64d4467fe3d385f992c
https://github.com/llvm/llvm-project/commit/f254ae6f7f12042d3822c64d4467fe3d385f992c
Author: Marcos Ramirez Joos <mramirezjoos.oss at proton.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
A libc/cmake/modules/compiler_features/check_stdc_fenv_access.cpp
M libc/src/__support/FPUtil/FEnvImpl.h
Log Message:
-----------
[libc] Add FENV_ACCESS pragma with CMake compiler feature detection (#200268)
Related to https://github.com/llvm/llvm-project/pull/199009
Added compiler feature detection for _STDC FENV_ACCESS_ pragma. It is
used to conditionally add function-scoped `#pragma STDC FENV_ACCESS ON`
to `libc/src/__support/FPUtil/FEnvAccess.h`, whenever functions from the
`<fenv.h>` header are called and the target supports the pragma.
Commit: b9d5c24b42f7101f8a34ebb660adc68a22e40dc3
https://github.com/llvm/llvm-project/commit/b9d5c24b42f7101f8a34ebb660adc68a22e40dc3
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
Log Message:
-----------
[gn build] Port 7a907089 (#200953)
Commit: d7ee01c0fa3113b0b2d98e77273f794a182bf2dd
https://github.com/llvm/llvm-project/commit/d7ee01c0fa3113b0b2d98e77273f794a182bf2dd
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx13_asm_sopc.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/literals.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopcx.txt
Log Message:
-----------
[AMDGPU] Fix disasm of i16 operands fp inline constants (#200944)
Commit: 9bda223f692b10d4311331e2c2ae82293b8af63e
https://github.com/llvm/llvm-project/commit/9bda223f692b10d4311331e2c2ae82293b8af63e
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libc/src/__support/math/acos.h
M libc/src/__support/math/asin.h
M libc/src/__support/math/asin_utils.h
M libc/src/__support/math/asinpi.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atan_utils.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/log.h
M libc/src/__support/math/log10.h
M libc/src/__support/math/log1p.h
M libc/src/__support/math/log2.h
M libc/src/__support/math/log_range_reduction.h
M libc/src/__support/math/range_reduction_double_common.h
M libc/src/__support/math/sin.h
M libc/src/__support/math/sincos.h
M libc/src/__support/math/sincos_eval.h
M libc/src/__support/math/tan.h
M libc/test/src/__support/FPUtil/comparison_operations_test.cpp
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
Log Message:
-----------
[libc] Renaming Float128 (DyadicFloat<128>) to DFloat128 (#200907)
This is to be able to use the `Float128` for emulated float128 type.
[#200565 ](https://github.com/llvm/llvm-project/pull/200565)
Commit: e58e30842fdbae26153757985de2d5fecc7a174e
https://github.com/llvm/llvm-project/commit/e58e30842fdbae26153757985de2d5fecc7a174e
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm60.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm70.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm90.ll
M llvm/test/CodeGen/NVPTX/atomicrmw.py
R llvm/test/CodeGen/NVPTX/atomics-with-scope.ll
Log Message:
-----------
[NVPTX][clang] Remove nvvm scoped atomic intrinsics; use atomicrmw/cmpxchg (#200735)
The
`llvm.nvvm.atomic.{add,exch,max,min,inc,dec,and,or,xor,cas}.gen.{i,f}.{cta,sys}`
intrinsics are redundant; we can use atomicrmw / cmpxchg with a syncscope.
Moreover, the nvvm atomics are problematic because they don't have
unsigned min/max opcodes. Clang uses these intrinsics and currently emits
signed min/max for what should be unsigned operations!
Fix by doing the following.
- Remove the nvvm intrinsics.
- Auto-upgrade the removed intrinsics to atomicrmw/cmpxchg.
- Make clang Clang emits atomicrmw/cmpxchg directly.
Commit: 1123d2bd380e6524dce0f9c09e010b8a3e80a7fa
https://github.com/llvm/llvm-project/commit/1123d2bd380e6524dce0f9c09e010b8a3e80a7fa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/clmulh.ll
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/sextw-removal.ll
Log Message:
-----------
[RISCV] Improve shrinkDemandedConstant. (#196585)
Teach shrinkDemandedConstant to restore a constant that can be
materialized as:
lui a0, hi20
addi(w) a0, a0, lo12
slli a1, a0, 32
add a0, a0, a1
or:
lui a0, hi20
addi(w) a0, a0, lo12
pack a0, a0, a0
This fixes a regression between clang 18 and 19 on this test case
https://godbolt.org/z/Ma746a8xP
Commit: daac50b33ee19d5ef5669da8f0119b6ce5c395d8
https://github.com/llvm/llvm-project/commit/daac50b33ee19d5ef5669da8f0119b6ce5c395d8
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M polly/include/polly/Support/VirtualInstruction.h
Log Message:
-----------
[Polly] Remove unused DenseMapInfo::getTombstoneKey (#200963)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 6bbbdbaad55c70fe3234519ab2e81edd26de285a
https://github.com/llvm/llvm-project/commit/6bbbdbaad55c70fe3234519ab2e81edd26de285a
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
Log Message:
-----------
[AMDGPU] Simplicy the logic in checkWMMACoexecutionHazards, NFC (#200717)
Commit: 94337fb6b2d5935cdaa9abecdba8274924119dcc
https://github.com/llvm/llvm-project/commit/94337fb6b2d5935cdaa9abecdba8274924119dcc
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb/test] Fix variant double-expansion in LLDBTestCaseFactory (#200943)
LLDBTestCaseFactory generates the actual test methods that get run: for
every `test*` method on a TestBase subclass, it stamps out one copy per
debug-info format (dwarf, dsym, ...) and, if a variant like
swift_clang's clang/noclang is registered, one copy per variant value on
top. When two test methods in the same class have names that share a
prefix and the longer one is declared first in the file, the shorter
method's expansion ends up re-stamping every copy already produced for
the longer one.
The variant-expansion helper decides what to copy by name-prefix match:
when processing `test_expr`, it grabs `test_expr`, `test_expr_dwarf`,
`test_expr_dsym`, ... and produces a clang/noclang suffix for each one.
The factory was handing it the full running dict of already-synthesized
methods, so by the time `test_expr`'s turn came, the dict also held
`test_expr_stripped_dwarf` and `test_expr_stripped_dsym` from
`test_expr_stripped`. Those names start with `test_expr_` too, so they
pick up a second clang/noclang suffix and inherit `test_expr`'s
xfail/skip predicates.
HiddenIvarsTestCase trips this twice in a row (test_expr_stripped before
test_expr; test_frame_variable_stripped before test_frame_variable).
Upstream `_test_variants` is empty so the bug is latent on mainline, but
any registered variant exposes it.
With swift_clang (values clang/noclang) registered, test_expr_stripped +
test_expr should produce eight methods (4 dwarf/dsym × 2 clang/noclang
per original). Before this patch the factory emits twelve, four of them
junk:
```
test_expr_stripped_dsym_clang_clang
test_expr_stripped_dsym_clang_noclang
test_expr_stripped_dsym_noclang_clang
test_expr_stripped_dsym_noclang_noclang
test_expr_stripped_dwarf_clang_clang
test_expr_stripped_dwarf_clang_noclang
test_expr_stripped_dwarf_noclang_clang
test_expr_stripped_dwarf_noclang_noclang
test_expr_dsym_clang
test_expr_dsym_noclang
test_expr_dwarf_clang
test_expr_dwarf_noclang
```
Track each method's expansion in a local dict and merge it back into the
shared dict only once that method is fully processed, so the variant
helper never sees another method's copies.
Commit: 0597087c44e493610d3f96608bef46e721201af6
https://github.com/llvm/llvm-project/commit/0597087c44e493610d3f96608bef46e721201af6
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M lldb/CMakeLists.txt
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/test/CMakeLists.txt
Log Message:
-----------
[lldb] Skip libc++ category tests on Darwin when no in-tree libc++ is built (#199262)
`canRunLibcxxTests()` previously short-circuited with "libc++ always
present" for all Darwin targets, meaning the "libc++" test category was
never skipped on macOS — even when `LLDB_HAS_LIBCXX` is `OFF` and no
`--libcxx-include-dir` / `--libcxx-library-dir` are passed to dotest.
The tests would silently run against the system libc++ instead of an
in-tree build, producing results inconsistent with what the suite is
designed to validate.
This fixes `canRunLibcxxTests()` to apply the same `libcxx_include_dir`
/ `libcxx_library_dir` guard on `Darwin` that `Linux` already uses. When
those dirs are absent (i.e. no in-tree libc++ was built), the function
returns `False` and `checkLibcxxSupport()` appends `libc++` to
`skip_categories` — skipping those tests exactly as Linux does.
On the CMake side, the `SEND_ERROR` for `LLDB_HAS_LIBCXX=OFF` is
downgraded to a `WARNING` so downstreams that intentionally skip the
runtimes build can keep `LLDB_INCLUDE_TESTS=ON` for the tests they
actually want to run. The warning is also gated on the new
`LLDB_ENABLE_LIBCXX_TESTS` option (default `ON`): setting it to OFF
acknowledges the deliberate choice and silences the warning without
requiring either an in-tree libc++ build or disabling all tests.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: b8aa19be4846132525b4f65e7bc5369c6693232f
https://github.com/llvm/llvm-project/commit/b8aa19be4846132525b4f65e7bc5369c6693232f
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Object/DXContainer.cpp
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[Object][DirectX] Fix UB when parsing a DXContainer from a null buffer (#200865)
Adds an additional check that `Src != nullptr` before doing other
operations on it, which caused a UB in one test with #200413.
Commit: f8a5f67e81e95c8007072c3cb307cf5b3bebfd64
https://github.com/llvm/llvm-project/commit/f8a5f67e81e95c8007072c3cb307cf5b3bebfd64
Author: Sergey Stepanov <23sas32 at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZicfiss.td
M llvm/test/CodeGen/RISCV/shadowcallstack.ll
Log Message:
-----------
[RISCV] Use sspush/sspopchk mnemonics for shadow stack codegen (#200182)
After PR #178609, SSPUSH/SSPOPCHK/C_SSPUSH became encodable under the
Zimop/Zcmop predicates alone (old Zicfiss requirement was relaxed to
Zimop).
Before that, the hw-shadow-stack codegen path introduced in PR #152251
needed PseudoMOP_* wrappers that expand to the base
MOP_RR_7/MOP_R_28/C_MOP_1, because the real SSPUSH/SSPOPCHK/C_SSPUSH
were gated by Zicfiss while the codegen path only required Zimop.
As a side effect, the assembler printed `mop.rr.7 zero, zero,
ra`/`mop.r.28 zero, ra` for hw-shadow-stack functions instead of the
proper `sspush ra`/`sspopchk ra` mnemonics from the CFI RISC-V spec
(while the disassembler already printed proper sspush/sspopchk.
With predicates now aligned, the pseudos are just plain wrappers with
identical predicates to the real instructions, so they became redundant.
This patch removes them and emits SSPUSH/SSPOPCHK/C_SSPUSH directly.
Commit: cd328c777b2925881e852adbd129848cc0c327dc
https://github.com/llvm/llvm-project/commit/cd328c777b2925881e852adbd129848cc0c327dc
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/combined-construct-create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-no_create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-present-ast.cpp
M clang/test/SemaOpenACC/combined-construct-private-firstprivate-ast.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/data-construct-create-ast.cpp
M clang/test/SemaOpenACC/data-construct-no_create-ast.cpp
M clang/test/SemaOpenACC/data-construct-present-ast.cpp
M clang/test/SemaOpenACC/sub-array-ast.cpp
M clang/test/SemaTemplate/alias-templates.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[clang] fix transformation of SubstNonTypeTemplateParmExpr nodes from type alias templates and concepts (#200850)
This makes sure SubstNonTypeTemplateParmExpr produced from
non-specialization decls (Type alias templates and concepts) are
correctly transformed.
This makes the SubstNonTypeTemplateParmExpr store the parameter type
directly, and uses that instead of relying on the AssociatedDecl.
Fixes #191738
Fixes #196375
Commit: 1460e27c8d38bd9632e1bd95d1f534ba71996a02
https://github.com/llvm/llvm-project/commit/1460e27c8d38bd9632e1bd95d1f534ba71996a02
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/swprintf.cpp
A libc/src/wchar/swprintf.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/swprintf_test.cpp
Log Message:
-----------
[libc] Add a placeholder for swprintf function (#200895)
Add a declaration and stub implementation for the `swprintf` function.
Only enable it when `LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS` is
specified to clarify that the implementation is not ready yet.
We're singling out `swprintf` among the other wide-character formatting
functions because it's used in libc++ to implement `std::to_wstring` for
floating point values
(https://github.com/llvm/llvm-project/blob/2a2e45257b8277ae6dbd3bce1627a9b07d1a301d/libcxx/src/string.cpp#L366),
and is the last remaining piece of functionality preventing us from
turning on wide character support in libc++ built against llvm-libc.
Adding the stub function would allow us to test the compilation with
`_LIBCPP_HAS_WIDE_CHARACTERS` enabled, and start keeping track of what
tests from libc++ test suite are working / not working yet.
Commit: 79b7fefcacdc7b5dc8817cecddcbb9a8da3c996c
https://github.com/llvm/llvm-project/commit/79b7fefcacdc7b5dc8817cecddcbb9a8da3c996c
Author: A. Jiang <de34 at live.cn>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/is_constant_evaluated.h
M libcxx/include/__type_traits/is_within_lifetime.h
A libcxx/test/libcxx/type_traits/nodiscard.verify.cpp
M libcxx/test/std/utilities/meta/meta.const.eval/is_within_lifetime.compile.pass.cpp
Log Message:
-----------
[libc++][type_traits] Applied `[[nodiscard]]` (#200760)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/type.traits
Commit: f1c6c1a3de116fb273b25d5f9022c8d44ea72fb4
https://github.com/llvm/llvm-project/commit/f1c6c1a3de116fb273b25d5f9022c8d44ea72fb4
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/mulwide.ll
Log Message:
-----------
[NVPTX] Fix sext(shl nsw x, topbit) miscompile. (#200924)
Consider the following IR.
i64 f(i32 %x) {
%s = shl nsw i32 %x, 31
%e = sext i32 %s to i64
ret %e
}
combineMulWide (renamed in this patch to combineSZExtToMulWide) rewrites
this into:
mul.wide.s32 %dst, %x, -2147483648
The LLVM IR is only meaningful for %x == 0 or -1; all other inputs
result in poison. Therefore to check whether this rewrite is correct, we
just need to ask if it generates the correct output when %x is 0 and
when %x is -1.
- When x == 0, IR and PTX both produce 0. OK.
- When x == -1:
- IR produces sext(INT32_MIN), whereas
- PTX produces sext(-1) * sext(INT32_MIN) = -sext(INT32_MIN)
Therefore the transformation is not correct.
This only happens when we're shifting by N-1 bits (where N is the narrow
integer width). In other cases, the multiplier is positive and it works
fine.
Commit: 45b3c4488fb59468fa5fb3637d5b9ecbd4f0c81e
https://github.com/llvm/llvm-project/commit/45b3c4488fb59468fa5fb3637d5b9ecbd4f0c81e
Author: adams381 <adams at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/bitfield-union.c
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGen/bitfields_be.c
M clang/test/CIR/CodeGen/class.cpp
M clang/test/CIR/CodeGen/cleanup.cpp
M clang/test/CIR/CodeGen/constant-inits.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/ctor.cpp
M clang/test/CIR/CodeGen/cxx-abi-lowering-string-array.cpp
M clang/test/CIR/CodeGen/destructors.cpp
M clang/test/CIR/CodeGen/dumb-record.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
M clang/test/CIR/CodeGen/empty-union.c
M clang/test/CIR/CodeGen/empty-union.cpp
M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
M clang/test/CIR/CodeGen/forward-decls.cpp
M clang/test/CIR/CodeGen/global-dtor-union-narrowed.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/mms-bitfields.c
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/no-proto-fn-ptr-global-init.c
M clang/test/CIR/CodeGen/no-unique-address.cpp
M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/record-type-metadata.cpp
M clang/test/CIR/CodeGen/record-with-padded-union.cpp
M clang/test/CIR/CodeGen/record-zero-init-padding.c
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/three-way-cmp.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/union.cpp
M clang/test/CIR/CodeGen/var_arg.c
M clang/test/CIR/CodeGen/variable-template-specialization.cpp
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGen/virtual-function-calls.cpp
M clang/test/CIR/CodeGen/vtable-emission.cpp
M clang/test/CIR/CodeGen/vtable-nyi-nonconvertible-functype.cpp
M clang/test/CIR/CodeGen/vtt.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlvp2intersect-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vp2intersect-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
M clang/test/CIR/CodeGenCXX/zero_init_bases.cpp
M clang/test/CIR/IR/array-ctor.cir
M clang/test/CIR/IR/array-dtor.cir
M clang/test/CIR/IR/bitfield_info.cir
M clang/test/CIR/IR/construct-catch-param.cir
M clang/test/CIR/IR/copy.cir
M clang/test/CIR/IR/dynamic-cast.cir
M clang/test/CIR/IR/func-attrs.cir
M clang/test/CIR/IR/func.cir
M clang/test/CIR/IR/global-init.cir
M clang/test/CIR/IR/invalid-array-structor.cir
M clang/test/CIR/IR/invalid-cast.cir
M clang/test/CIR/IR/invalid-const-record.cir
M clang/test/CIR/IR/invalid-construct-catch-param.cir
M clang/test/CIR/IR/invalid-data-member.cir
M clang/test/CIR/IR/invalid-delete-array.cir
M clang/test/CIR/IR/invalid-dyn-cast.cir
M clang/test/CIR/IR/invalid-struct.cir
M clang/test/CIR/IR/invalid-type-info.cir
M clang/test/CIR/IR/invalid-vtable.cir
M clang/test/CIR/IR/method-attr.cir
M clang/test/CIR/IR/struct.cir
M clang/test/CIR/IR/vtable-addrpt.cir
M clang/test/CIR/IR/vtable-attr.cir
M clang/test/CIR/IR/vtt-addrpoint.cir
M clang/test/CIR/Lowering/struct.cir
M clang/test/CIR/Lowering/vtt-addrpoint.cir
M clang/test/CIR/Transforms/canonicalize-cleanup-scope.cir
M clang/test/CIR/Transforms/cxx-abi-lowering-attrs.cir
M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch-invalid.cir
M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch.cir
M clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
M clang/test/CIR/Transforms/flatten-throwing-in-cleanup.cir
M clang/test/CIR/Transforms/flatten-try-op.cir
M clang/test/CIR/Transforms/pure-ptr-arithmetic.cir
M clang/unittests/CIR/PointerLikeTest.cpp
M clang/unittests/CIR/RecordTypeMetadataTest.cpp
M clang/unittests/CIR/UnionTypeSizeTest.cpp
Log Message:
-----------
[CIR] Split RecordType into StructType/UnionType
Union tail padding was stored as the last element of the `members` array
with a `padded = true` flag. Every pass touching `RecordType` had to
special-case unions: skip the last member when iterating, call
`getLargestMember()` to find the storage type, check `isUnion()` before
almost every layout query. This spread union-specific logic across
`CIRTypes.cpp`, `LowerToLLVM.cpp`, `CXXABILowering.cpp`,
`CIRGenRecordLayoutBuilder.cpp`, and `CIRGenExpr.cpp`.
This PR moves union tail padding to a dedicated `padding` field on
`RecordTypeStorage` and introduces two C++ view classes: `UnionType` and
`StructType`, both subclassing `RecordType` via `classof`-based
dispatch. `mlir::dyn_cast<UnionType>` and `mlir::isa<StructType>` work
naturally.
`UnionType` owns the union-specific API: `getPadding()` returns the
tail-padding type (null if none), and `getUnionStorageType(DataLayout)`
returns the highest-alignment variant. `RecordType::getLargestMember()`
and the old `RecordType::getPadding()` (which returned the last member)
are removed.
The CIR text syntax for padded unions changes from `union "Name" padded
{members..., padType}` to `union "Name" padded {members...}, padding =
{padType}`, separating padding from the member list.
`CIRGenRecordLayoutBuilder::appendPaddingBytes` now routes union tail
padding to a new `unionPadding` field instead of appending to
`fieldTypes`. `LowerToLLVM` and `CXXABILowering` use the new `UnionType`
API directly.
Commit: 22e13e71ed46f0d47f90ae5e6cea2956db892be3
https://github.com/llvm/llvm-project/commit/22e13e71ed46f0d47f90ae5e6cea2956db892be3
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Support/LangOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/semantics.cpp
A flang/test/Semantics/Inputs/device_modfile01_a.mod
A flang/test/Semantics/device-modfile01.f90
A flang/test/Semantics/device-modfile02.f90
Log Message:
-----------
[Flang] Fix device-side module lookup (#200863)
When invoking flang with device-offloading (eg. `flang modfile.f90
-fopenmp --offload-arch=gfx90a`), it will invoke the frontend twice:
once for the host architecture, and a second time for the architecture
specified with `--offload-arch`. However, both frontend invocations are
going to write `modfile.mod` (or whatever the module name in
`modfile.f90`), and as a result the second one for gfx90a will be what
the file contains after the driver invocation returns. Until #171515
both version of the file were identical, but now both files are using a
different set of builtin modules. Since Flang's mod files store the
checksums of used module files in them, this can result in a checksum
mismatch error. For instance, modfile.mod being the gfx90a version, and
then using it to compile with `flang modfile.f90
--target=x86_64-linux-gnu`) will have a checksum mismath.
flang -fc1 host x86_64 --> modfile.mod --> lib/clang/23/finclude/flang/x86_64-linux-gnu/iso_fortran_env.mod
/ / \ \
flang -fc1 -foffload-device nvptx / \ lib/clang/23/finclude/flang/nvptx64-nvidia-cuda/iso_fortran_env.mod
/ \
flang -fc1 -foffload-device amdgcn lib/clang/23/finclude/flang/amdgcn-amd-amdhsa/iso_fortran_env.mod
We fix this by
1. Not overwriting the `--target` host module file with the
`--offload-arch` module; the auxiliary target is the canonical version
for its contents; and
2. Ignore checksum errors when using an intrinsic module during
offloading. The device version should be compatible with the host
version, just with definitions which the .mod file will eventually
import from the intrinsic module at compile-time.
Commit: f7fd7a17361ceb850a9c370df25777ba10519710
https://github.com/llvm/llvm-project/commit/f7fd7a17361ceb850a9c370df25777ba10519710
Author: Zachary Yedidia <zyedidia at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.h
A llvm/test/MC/AArch64/LFI/tlsdesccall.s
Log Message:
-----------
[LFI][AArch64] Emit .tlsdesccall with the associated blr (#200903)
This PR fixes an issue in the LFI control-flow rewrites if a blr is
marked with `.tlsdesccall`. The `.tlsdesccall` should be moved after
rewriting so that it is associated with the rewritten `blr`, rather than
the guard instruction.
Commit: 015d0479b94ce48e431398813525a59a16c6e4eb
https://github.com/llvm/llvm-project/commit/015d0479b94ce48e431398813525a59a16c6e4eb
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
A llvm/include/llvm/Transforms/Utils/TriggerCrashPass.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/TriggerCrashPass.cpp
A llvm/test/Other/trigger-crash-flags.ll
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
[LLVM] Add flags to crash the opt/codegen pipeline (#200967)
Will be used for testing crash reduction.
Commit: c92353836fc9cccebe8af71b93bafb450d128505
https://github.com/llvm/llvm-project/commit/c92353836fc9cccebe8af71b93bafb450d128505
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Disable DCE and DSE for -O0 (#192520)
These are optimisation passes which are inappropriate to run when the
user has requested no optimisations, and which make it more difficult to
write tests.
Co-authored-by: Andrew Savonichev <andrew.savonichev at gmail.com>
Commit: 6d0b3fd88b60e23ff945b98f68b1607fb6f2fa5b
https://github.com/llvm/llvm-project/commit/6d0b3fd88b60e23ff945b98f68b1607fb6f2fa5b
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/utils/instrumentor-config-wizard.py
Log Message:
-----------
[Instrumentor] Improve the config wizard script (#199108)
This makes the config wizard script more generic as we grow
instrumentation opportunities. Better output, e.g., clear paths, are
also displayed now.
Prepared with Claude (AI) and tested by me afterwards.
Commit: 62118b56a7482549b0c19adf3fdf724afbb959a6
https://github.com/llvm/llvm-project/commit/62118b56a7482549b0c19adf3fdf724afbb959a6
Author: idubinov <igor.dubinov at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
Log Message:
-----------
[NFC][SPIR-V] Fix unused-variable in SPIRVBuiltins (#200842)
Commit: f9ae788567343e89f7cb9a9b18d1a43967baf7b3
https://github.com/llvm/llvm-project/commit/f9ae788567343e89f7cb9a9b18d1a43967baf7b3
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang/lib/Sema/HeuristicResolver.cpp
Log Message:
-----------
[clang][HeuristicResolver] Handle non-dependent TemplateSpecializationType gracefully (#200714)
Fixes https://github.com/llvm/llvm-project/issues/197716
Commit: ccd2606d0c30c58554cc11038a2160672ef529d5
https://github.com/llvm/llvm-project/commit/ccd2606d0c30c58554cc11038a2160672ef529d5
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-06-01 (Mon, 01 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/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/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] fix getTemplateInstantiationArgs (#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.
Fixes #101330
Commit: a6255e47bfc5dad9729dc0e0c7d1cda65b52adf5
https://github.com/llvm/llvm-project/commit/a6255e47bfc5dad9729dc0e0c7d1cda65b52adf5
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
R llvm/include/llvm/Transforms/Utils/TriggerCrashPass.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
R llvm/lib/Transforms/Utils/TriggerCrashPass.cpp
R llvm/test/Other/trigger-crash-flags.ll
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
Revert "[LLVM] Add flags to crash the opt/codegen pipeline" (#200977)
Reverts llvm/llvm-project#200967
Test failing on some buildbots:
https://lab.llvm.org/buildbot/#/builders/11/builds/41237
Commit: ad6366d6cc417f504b4a7fe7ff14e12ae79d7346
https://github.com/llvm/llvm-project/commit/ad6366d6cc417f504b4a7fe7ff14e12ae79d7346
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/Headers.h
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/SymbolID.h
M clang-tools-extra/clangd/index/dex/Token.h
M clang-tools-extra/clangd/index/dex/Trigram.h
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTTypeTraits.h
M clang/include/clang/AST/BaseSubobject.h
M clang/include/clang/AST/CharUnits.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/TypeOrdering.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Utils.h
M clang/include/clang/Analysis/CallGraph.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/Formula.h
M clang/include/clang/Analysis/ProgramPoint.h
M clang/include/clang/Analysis/RetainSummaryManager.h
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/TokenKinds.h
M clang/include/clang/DependencyScanning/DependencyGraph.h
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Sema/Weak.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Tooling/Inclusions/StandardLibrary.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumCXXABI.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGObjCMacConstantLiteralUtil.h
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/Indexing.cpp
Log Message:
-----------
[clang][clang-tools-extra] Remove unused DenseMapInfo::getTombstoneKey (#200634)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: dbab3f71775f6edd11546385aeddb9d0b053a2b5
https://github.com/llvm/llvm-project/commit/dbab3f71775f6edd11546385aeddb9d0b053a2b5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.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/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/predicated-inductions-vs-first-order-recurrences.ll
M llvm/test/Transforms/LoopVectorize/predicated-inductions.ll
Log Message:
-----------
[VPlan] Move IV predicate handling to VPlan. (#192876)
Commit: 8ce6c5ff2c134414d8e1815bdc122699abd89954
https://github.com/llvm/llvm-project/commit/8ce6c5ff2c134414d8e1815bdc122699abd89954
Author: Yuta Nakamura <44285097+nakasan617 at users.noreply.github.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
Log Message:
-----------
[clang-tidy] Fix false positive in bugprone-use-after-move for std::tie (#192895)
std::tie(a, b) = expr reinitializes all variables passed to std::tie
because the tuple assignment operator writes back through the stored
references. The check was not recognizing this pattern, causing a false
positive on the second std::tie assignment in loops like:
std::tie(a, b) = foo(std::move(a), std::move(b));
std::tie(a, b) = foo(std::move(a), std::move(b)); // false positive
Add std::tie assignment as a reinitialization case in
makeReinitMatcher().
Fixes #136105.
---
**AI Disclosure:** Claude (Anthropic) was used to assist in diagnosing
the CI test failure and identifying the off-by-one line number in the
CHECK-NOTES.
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Co-authored-by: Zeyi Xu <mitchell.xu2 at gmail.com>
Commit: 734012d9897c5b6a9157b8e3a8f8c38dd8ac63f4
https://github.com/llvm/llvm-project/commit/734012d9897c5b6a9157b8e3a8f8c38dd8ac63f4
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
A llvm/test/CodeGen/RISCV/cmp-zilsd-csr.ll
A llvm/test/CodeGen/RISCV/saverestore-zilsd-fixed-location.ll
Log Message:
-----------
[RISCV] Disable Zilsd CSR-pair generation when push/pop or save-restore is enabled (#200623)
We were generating duplicate/worse code due to the generation of the
`Zilsd` load/store doubles for handling `CSR's` when `Zcmp/Xqccmp` or
`Save/Restore Libcalls` were enabled.
Commit: ff2fec30ac7ca732aec032f45c7d300d04c1e7bf
https://github.com/llvm/llvm-project/commit/ff2fec30ac7ca732aec032f45c7d300d04c1e7bf
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/missing-end-comparison.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/algorithm
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/iterator
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-custom.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx17.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx98.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison.cpp
Log Message:
-----------
[clang-tidy] Add `bugprone-missing-end-comparison` check (#182543)
This PR introduces a new check `bugprone-missing-end-comparison`.
It detects instances where the result of a standard algorithm is used
directly in a boolean context without being compared against the
corresponding end iterator.
Currently the check can't handle algorithms returning `std::pair` and
`std::ranges::mismatch_result`, but it should be a good enough starting
point for future improvements.
As of AI-Usage: Assisted by Gemini CLI (for pre-commit reviewing,
documentation and some code refactor/cleanup)
Closes https://github.com/llvm/llvm-project/issues/178731
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: b3221413294c8cb1de20059b06021a5ab0d73b25
https://github.com/llvm/llvm-project/commit/b3221413294c8cb1de20059b06021a5ab0d73b25
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAcceptOrRevert.cpp
M llvm/test/Transforms/SandboxVectorizer/load_store_vec.ll
M llvm/test/Transforms/SandboxVectorizer/load_store_vec_mixed_types.ll
Log Message:
-----------
[SandboxVec][LoadStoreVec][AMDGPU] Remove early reject of mixed types (#200523)
Up until now mixing floats and non-floats was disabled in the legality
checks. This patch changes this. We are now eagerly vectorizing mixed
types, but we are also checking the cost model to make sure we don't
regress on targets where this is expensive.
Commit: c0e4fc8afeaf80e5acff8ec73b3d4ebac492a729
https://github.com/llvm/llvm-project/commit/c0e4fc8afeaf80e5acff8ec73b3d4ebac492a729
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
Log Message:
-----------
[ORC] Simplify DylibManager::lookupSymbols, remove LookupRequest. (#195954)
DylibManager::lookupSymbols used to take an array of LookupRequests,
where each request specified a handle and list of symbols to lookup
within that handle.
This commit replaces the array of lookup requests with a single handle
and list of symbols passed directly to lookupSymbols.
In practice all clients were passing a singlton array anyway, and
simplifying this signature significantly simplifies implementations.
Commit: a4e18dc2a2e300dd6b5e93225b050d852abb319d
https://github.com/llvm/llvm-project/commit/a4e18dc2a2e300dd6b5e93225b050d852abb319d
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorResolutionGenerator.h
Log Message:
-----------
[ORC] Fix header comment. NFC. (#200980)
Commit: 5148d2de75ec49b7642dff033164e51b099f06c4
https://github.com/llvm/llvm-project/commit/5148d2de75ec49b7642dff033164e51b099f06c4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
A clang/unittests/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode] Improve `getType()` (#200342)
We previously often fell back to the type of the declaration, which is
wrong if we're pointing e.g. to a nested array.
Add a new unit test to vaildate this.
Commit: fba43a5b8923ea4f1d526ff0180a33543b65bc59
https://github.com/llvm/llvm-project/commit/fba43a5b8923ea4f1d526ff0180a33543b65bc59
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/Lowering/call-llvm-intrinsic.cir
Log Message:
-----------
[CIR] Fix cir.call_llvm_intrinsic lowering for 0-result ops (#199516)
`cir.call_llvm_intrinsic` declares `Optional<CIR_AnyType>:$result`, but
the lowering indexed `op->getResultTypes()[0]` unconditionally and OOBed
on void calls.
Guard with `getNumResults()` and pick the void overload of
`LLVM::CallIntrinsicOp::create` in `createCallLLVMIntrinsicOp`.
Commit: 7290d876ad409596fe232e20bc4e83706fc5c05b
https://github.com/llvm/llvm-project/commit/7290d876ad409596fe232e20bc4e83706fc5c05b
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
Log Message:
-----------
[CIR][AMDGPU] Implement lowering for __builtin_amdgcn_dispatch_ptr (#199880)
Port `emitAMDGPUDispatchPtr` from OGCG. Emits the `amdgcn.dispatch.ptr`
intrinsic and inserts an address-space cast when the builtin's expected
return type differs.
Commit: 4cef4efb2fc088426b1d75435536fafa6b562617
https://github.com/llvm/llvm-project/commit/4cef4efb2fc088426b1d75435536fafa6b562617
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
M llvm/include/llvm/DebugInfo/LogicalView/LVReaderHandler.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
A llvm/include/llvm/DebugInfo/LogicalView/Readers/LVIRReader.h
M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVLocation.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
A llvm/lib/DebugInfo/LogicalView/Readers/LVIRReader.cpp
M llvm/lib/Transforms/Utils/DebugSSAUpdater.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-compare-logical-elements.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-print-basic-details.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-select-logical-elements.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/02-ir-logical-lines.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/03-ir-incorrect-lexical-scope-typedef.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/04-ir-missing-nested-enumerators.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/05-ir-incorrect-lexical-scope-variable.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/06-ir-full-logical-view.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/07-ir-debug-formats.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/08-ir-multiple-compile-units.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-1.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-2.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-3.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/hello-world-clang.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-43860-clang.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-44884-clang.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-46466-clang.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang-intrinsics.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang.ll
M llvm/tools/llvm-debuginfo-analyzer/CMakeLists.txt
M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
A llvm/unittests/DebugInfo/LogicalView/IRReaderTest.cpp
M llvm/unittests/DebugInfo/LogicalView/Inputs/README.md
A llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.bc
A llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.ll
Log Message:
-----------
[llvm-debuginfo-analyzer] Add support for LLVM IR format. (#200603)
llvm-debuginfo-analyzer is a command line tool that processes debug
info contained in a binary file and produces a debug information
format agnostic “Logical View”, which is a high-level semantic
representation of the debug info, independent of the low-level format.
Add support for the LLVM IR format and be able to generate logical
views. Both textual representation (.ll) and bitcode (.bc) formats
are supported.
This relands https://github.com/llvm/llvm-project/pull/135440, which was
reverted in https://github.com/llvm/llvm-project/pull/199890.
It includes the fixes for the buildbots problems.
Commit: f3bed426308372c70df7565095d6abaaab5d1aa6
https://github.com/llvm/llvm-project/commit/f3bed426308372c70df7565095d6abaaab5d1aa6
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/AArch64/vector-splice-compress-mmo-align.ll
Log Message:
-----------
[SelectionDAG] Don't over-claim alignment on vector splice/compress stack MMOs (#200622)
expandVectorSplice and expandVECTOR_COMPRESS allocate their scratch slot
on the stack with getReducedAlign, but the memory accesses they generate
touching this slot use the type's natural alignment, which may be
larger!
Commit: adcd285fc4047759e4014d6568d80bb64589aded
https://github.com/llvm/llvm-project/commit/adcd285fc4047759e4014d6568d80bb64589aded
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/mem_map_linux.cpp
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/report_linux.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
Log Message:
-----------
[scudo] Return nullptr if a remap fails on linux. (#200537)
Add a check if a fixed address mmap doesn't return the expected address.
Allow a remap call to fail if the mmap fails and returns a nullptr to
the caller.
Fix a place where if remap fails in the secondary, it didn't do
anything. Now it will unmap the original entry on failure.
Commit: 363fdc5895b55c8c4775149df832960f615d3839
https://github.com/llvm/llvm-project/commit/363fdc5895b55c8c4775149df832960f615d3839
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
A llvm/test/Assembler/dilabel.ll
Log Message:
-----------
[LLVM][IR] Make sure that DILabel's line is always printed (#200846)
This commit ensures that the textual IR of the DILabel always contains
the `line` information. This is required as the absence of a line causes
a parsing failure, i.e., this change fixes the print + parse roundtrip.
Commit: 872e45be708bbe82424addcee26757697adc7a98
https://github.com/llvm/llvm-project/commit/872e45be708bbe82424addcee26757697adc7a98
Author: hanbeom <kese111 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/gfni-or-fold.ll
Log Message:
-----------
[X86] Fold OR of constant splats into GF2P8AFFINEQB (#194330)
Fold OR of a constant byte splat into X86ISD::GF2P8AFFINEQB when the
affine matrix is known at compile time.
For bits forced to 1 by the OR mask, zero the corresponding matrix rows
(in reverse row order within each 64-bit lane) and set the same bits in
the immediate. This turns:
gf2p8affineqb(x, M, imm) | C
into:
gf2p8affineqb(x, M & KeepMask, imm | C)
where KeepMask clears the rows for output bits selected by C.
This removes a separate OR after GF2P8AFFINEQB for constant-matrix cases
and extends the existing GFNI combine coverage beyond XOR folds.
Fixes: https://github.com/llvm/llvm-project/issues/191173
Commit: d046ee42e576f9fa6f8e3b57bfe9d6c574ab1708
https://github.com/llvm/llvm-project/commit/d046ee42e576f9fa6f8e3b57bfe9d6c574ab1708
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M .github/workflows/upload-release-artifact/action.yml
Log Message:
-----------
workflows/upload-release-artifact: Fix typo introduced in 01cfbaabef6cb59a1a6eb870bf5f48ac2e747118 (#200730)
Commit: 9547e0f5960bb1021112c5a373217c209b6b4014
https://github.com/llvm/llvm-project/commit/9547e0f5960bb1021112c5a373217c209b6b4014
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
M llvm/include/llvm/DebugInfo/LogicalView/LVReaderHandler.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
R llvm/include/llvm/DebugInfo/LogicalView/Readers/LVIRReader.h
M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVLocation.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
R llvm/lib/DebugInfo/LogicalView/Readers/LVIRReader.cpp
M llvm/lib/Transforms/Utils/DebugSSAUpdater.cpp
R llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-compare-logical-elements.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-print-basic-details.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-select-logical-elements.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/02-ir-logical-lines.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/03-ir-incorrect-lexical-scope-typedef.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/04-ir-missing-nested-enumerators.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/05-ir-incorrect-lexical-scope-variable.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/06-ir-full-logical-view.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/07-ir-debug-formats.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/08-ir-multiple-compile-units.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-1.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-2.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-3.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/hello-world-clang.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-43860-clang.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-44884-clang.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-46466-clang.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang-intrinsics.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang.ll
M llvm/tools/llvm-debuginfo-analyzer/CMakeLists.txt
M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
R llvm/unittests/DebugInfo/LogicalView/IRReaderTest.cpp
M llvm/unittests/DebugInfo/LogicalView/Inputs/README.md
R llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.bc
R llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.ll
Log Message:
-----------
Revert "[llvm-debuginfo-analyzer] Add support for LLVM IR format. (#200603)" (#201019)
This reverts commit 4cef4efb2fc088426b1d75435536fafa6b562617.
There are link issues with some buildbots.
Commit: 622302e847858a7a8ca5f2b360c67d7647689cc9
https://github.com/llvm/llvm-project/commit/622302e847858a7a8ca5f2b360c67d7647689cc9
Author: Jerry Zhang Jian <jerry.zhangjian at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/lpad-setjmp-isel.ll
A llvm/test/CodeGen/RISCV/lpad-setjmp-no-cfp.ll
A llvm/test/CodeGen/RISCV/lpad-setjmp.ll
M llvm/test/CodeGen/RISCV/lpad.ll
Log Message:
-----------
[RISCV] Ensure LPAD alignment for calls to returns_twice functions (#177515)
When Zicfilp is enabled, all LPAD instructions must be 4-byte aligned,
including those following a returns_twice call. Linker relaxation can
convert calls to c.jal (RV32C) or cm.jalt (Zcmt), causing LPAD
misalignment.
This patch handles calls to returns_twice functions (e.g., setjmp) when
Zicfilp CFI is enabled:
1. In ISel (LowerCall), detect
CLI.CB->hasFnAttr(Attribute::ReturnsTwice)
and select LPAD_CALL or LPAD_CALL_INDIRECT ISD opcodes. Custom ISel
in RISCVISelDAGToDAG adds the landing pad label as a pseudo operand.
2. RISCVAsmPrinter::emitLpadAlignedCall handles assembly output: when
Zca
is enabled, emit .p2align 2 before the call. When linker relaxation is
also enabled, wrap with .option push/exact/pop to prevent relaxation.
The LPAD instruction is emitted immediately after the call.
3. RISCVMCCodeEmitter::expandFunctionCallLpad handles object output:
expands the pseudo to AUIPC+JALR+LPAD (direct) or JALR+LPAD (indirect),
without R_RISCV_RELAX relocation.
Note: Both AsmPrinter and MCCodeEmitter need separate expansion logic
because GNU assembler doesn't yet support call.lpad/jalr.lpad syntax.
4. RISCVIndirectBranchTracking no longer needs to scan for returns_twice
calls since LPAD is now emitted directly by the pseudo expansion.
The existing lpad.ll test is updated to add cf-protection-branch module
flag, as the test_returns_twice function was intended to test
CFI-enabled
behavior. Without this flag, LPAD insertion after setjmp would not be
triggered.
Known issue: When Large Code Model and Zicfilp are both enabled, direct
calls to returns_twice functions use SW_GUARDED_CALL which takes
priority
over LPAD_CALL. This combination is not yet handled and will be
addressed
in a follow-up patch.
Signed-off-by: Jerry Zhang Jian <jerry.zhangjian at sifive.com>
Commit: b8e768f6ae95343ac542b195265572ecd063fc2b
https://github.com/llvm/llvm-project/commit/b8e768f6ae95343ac542b195265572ecd063fc2b
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake
Log Message:
-----------
[CMake][Release] Use llvm-bitcode-strip on Darwin for build with -ffat-lto-objects (#200764)
Building with --fat-lto-objects was added in #140381 (cff9ae7a15a5). On
macOS the tests are failing when building release binaries with many
"The file was not recognized as a valid object file" errors, e.g.:
2026-01-16T12:54:26.0928880Z
/Users/runner/work/llvm-project/llvm-project/build/tools/clang/stage2-instrumented-bins/tools/clang/stage2-bins/_CPack_Packages/Darwin/TXZ/LLVM-22.1.0-rc1-macOS-ARM64/bin/llvm-strip:
error:
'/Users/runner/work/llvm-project/llvm-project/build/tools/clang/stage2-instrumented-bins/tools/clang/stage2-bins/_CPack_Packages/Darwin/TXZ/LLVM-22.1.0-rc1-macOS-ARM64/lib/libLLVMAArch64AsmParser.a(AArch64AsmParser.cpp.o)':
The file was not recognized as a valid object file
It's assuming bitcode is embedded in section .llvm.lto
(llvm/lib/Object/ObjectFile.cpp:80) but on MachO it's in
__LLVM,__bitcode (llvm/lib/Object/MachOObjectFile.cpp:2184)
llvm-bitcode-strip is a driver for the MachO bitcode_strip utility which
handles this. Use this instead.
Fixes #176398.
Assisted-by: codex
Commit: c4484e8422745ab8c1ada25a6bda5d69ef8da924
https://github.com/llvm/llvm-project/commit/c4484e8422745ab8c1ada25a6bda5d69ef8da924
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RegisterBankInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[CodeGen] De-type getMinimalPhysRegClass and related APIs (#197495)
Follow-up #193438 to de-type getMinimalPhysRegClass so it can be replaced with
the precomputed getDefaultMinimalPhysRegClass. Type is also removed from
related APIs.
There's very few uses of getMinimalPhysRegClass with a non-default type
(MVT::Other) and none at all for getCommonMinimalPhysRegClass. Rather than
trying to also handle the type when precomputing at compile-time it seems
better to remove the type altogether and simplify the APIs. This also improves
compile-time for a number of targets and configurations:
CTMark geomean:
- stage1-O3: -0.23%
- stage1-ReleaseThinLTO: -0.19%
- stage1-ReleaseLTO-g: -0.15%
- stage1-aarch64-O3: -0.57%
- stage2-O3: -0.23%
- clang: -0.13%
https://llvm-compile-time-tracker.com/compare.php?from=eae0b6b2498305ee29dc85a405ede9ccdc10ce7d&to=08c052a2db407d2a21d468001fd2035d3720acf7&stat=instructions%3Au
Assisted-by: codex
Commit: bb20724ecb743be0d67270934830510f0149ed15
https://github.com/llvm/llvm-project/commit/bb20724ecb743be0d67270934830510f0149ed15
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/test/CodeGen/X86/ifma-combine-vpmadd52.ll
M llvm/test/CodeGen/X86/slow-pmullq.ll
Log Message:
-----------
[X86] Move Non-VLX handling for VPMADD52 instructions entirely into tablegen (#200800)
Just widen v2i64/v4i64 cases to v8i64
Removes more VLX/NoVLX testing from DAG
Commit: b3438c9af04b2ccf13b0adb6faf5e1fa0e3fb585
https://github.com/llvm/llvm-project/commit/b3438c9af04b2ccf13b0adb6faf5e1fa0e3fb585
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/IR/invalid-lifetime.cir
A clang/test/CIR/IR/lifetime.cir
A clang/test/CIR/Lowering/lifetime.cir
Log Message:
-----------
[CIR] Add cir.lifetime.start and cir.lifetime.end Op (#199599)
### summary
Adds the `cir.lifetime.start` and `cir.lifetime.end` ops, which mark the
beginning and end of an alloca's live range. They mirror the LLVM
intrinsics `llvm.lifetime.start` / `llvm.lifetime.end`
Commit: c22474fc02c1c26c81577d4cc147ed3b7c04a079
https://github.com/llvm/llvm-project/commit/c22474fc02c1c26c81577d4cc147ed3b7c04a079
Author: Abhinav Pradeep <abhinav.pradeep at oracle.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/test/Sema/warn-lifetime-safety-lifetimebound.cpp
Log Message:
-----------
[LifetimeSafety] Prevent false-negative lifetimebound verification when origin escapes in an unrelated manner (#200786)
This PR removes a false-negative `[[lifetimebound]]` verification result
that occurs when the annotated attribute escapes via unrelated origin
escape kinds (escape through global, escape through field).
Change summary:
- `Checker.cpp` has function `checkAnnotations` which checks if an
escaping `Origin` was an annotated parameter. Modified the logic there
to only verify `[[lifetimebound]]` in the case that the escape was
through a return statement.
Fixes #200412
---------
Signed-off-by: Abhinav Pradeep <abhinav.pradeep at oracle.com>
Commit: 6f44c750a1987b050490f9655dc88c0145a44813
https://github.com/llvm/llvm-project/commit/6f44c750a1987b050490f9655dc88c0145a44813
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/math-libcalls-tbaa.c
Log Message:
-----------
[clang][CodeGen] Drop TBAA metadata emission on FP libcalls (#200752)
TBAA annotation on FP libcalls has been superseded by
recently-introduced `llvm.errno.tbaa` module-level metadata.
Commit: 114e135010ba92afd87462dd120f865b83f966b3
https://github.com/llvm/llvm-project/commit/114e135010ba92afd87462dd120f865b83f966b3
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-02 (Tue, 02 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][NFCI] Cleanup AppleObjCClassDescriptorV2::ivar_t API (#201042)
Commit: a6a5bfc12f25de87815995d08e7d4f14477764ca
https://github.com/llvm/llvm-project/commit/a6a5bfc12f25de87815995d08e7d4f14477764ca
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/memory-attr.ll
Log Message:
-----------
[LoopInterchange] Prevent interchange when memory-accessing calls exist (#200828)
Previously loop-interchange can be applied even though the loop has call
instructions which may access the memory. The root cause of this problem
is that the implementation didn't match the comment, like below:
```cpp
// readnone functions do not prevent interchanging.
if (CI->onlyWritesMemory() || isa<PseudoProbeInst>(CI))
continue;
```
However, I think ensuring `readnone` is insufficient in the first place,
because the LLVM Language Reference states about `readnone` as follows:
```
This attribute indicates that the function does not dereference that pointer argument, even though it may read or write the memory that the pointer points to if accessed through other pointers.
```
So, this patch fixes the issue by verifying that all the calls in the
loop have the `memory(none)` attribute. We could probably check that all
the arguments of the calls have `readnone`, but I believe just calling
`doesNotAccessMemory` is simpler and sufficient in practical cases
(though I haven't actually checked).
Fixes #200796.
Commit: 9c63a7e92616b96239b6687f229a15776572b5cb
https://github.com/llvm/llvm-project/commit/9c63a7e92616b96239b6687f229a15776572b5cb
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/convert_functions.ll
Log Message:
-----------
[SPIR-V] Fix inverted signed/unsigned opcode for int-to-int convert builtins (#200791)
Commit: e174a520b21103890ebc7367952202914b2baf88
https://github.com/llvm/llvm-project/commit/e174a520b21103890ebc7367952202914b2baf88
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Reject invalid UETT_OpenMPRequiredSimdAlign nodes (#200997)
Commit: 0a758f9356138e327134a9aea2d760a50c49a419
https://github.com/llvm/llvm-project/commit/0a758f9356138e327134a9aea2d760a50c49a419
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll
M llvm/test/Transforms/GVN/PRE/load-metadata.ll
M llvm/test/Transforms/GVN/PRE/lpre-call-wrap.ll
M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
M llvm/test/Transforms/GVN/PRE/phi-translate-add.ll
M llvm/test/Transforms/GVN/PRE/phi-translate.ll
M llvm/test/Transforms/GVN/PRE/pre-after-rle.ll
M llvm/test/Transforms/GVN/PRE/pre-aliasning-path.ll
M llvm/test/Transforms/GVN/PRE/pre-load-combine-metadata.ll
M llvm/test/Transforms/GVN/PRE/pre-load-dbg.ll
M llvm/test/Transforms/GVN/PRE/pre-load-guards.ll
M llvm/test/Transforms/GVN/PRE/pre-load-implicit-cf-updates.ll
M llvm/test/Transforms/GVN/PRE/pre-load.ll
M llvm/test/Transforms/GVN/PRE/pre-single-pred.ll
M llvm/test/Transforms/GVN/PRE/preserve-tbaa.ll
M llvm/test/Transforms/GVN/PRE/rle-addrspace-cast.ll
M llvm/test/Transforms/GVN/PRE/rle-semidominated.ll
M llvm/test/Transforms/GVN/PRE/rle.ll
M llvm/test/Transforms/GVN/nonescaping.ll
M llvm/test/Transforms/GVN/pr14166.ll
M llvm/test/Transforms/GVN/readattrs.ll
M llvm/test/Transforms/GVN/setjmp.ll
M llvm/test/Transforms/GVN/tbaa.ll
M llvm/test/Transforms/GVN/vscale.ll
Log Message:
-----------
[GVN] MemorySSA for GVN: eliminate redundant loads via MemorySSA (#152859)
Introduce the main algorithm performing redundant load elimination via
MemorySSA in GVN. The entry point is `findReachingValuesForLoad`, which,
given as input a possibly redundant load `L`, it attempts to provide as
output a set of reaching memory values (`ReachingMemVal`), i.e., which
values (defs or equivalent reads) can reach `L` along at least one path
where that memory location is not modified meanwhile (if non-local, PRE
will establish whether the load may be eliminated).
Specifically, a reaching value may be of the following descriptor kind
(`DepKind`):
* Def: found a new instruction that produces exactly the bits the load
would read. For example, a must-alias store (which defines the load
memory location), or a must-alias read (exactly reads the same memory
location, found, e.g., after a phi-translation fixup);
* Clobber: found a write that clobbers a superset of the bits the load
would read. For example, a memset call over a memory region, whose value
read overlaps such a region (and may be forwarded to the load), or a
generic call clobbering the load that cannot be reused;
* Other: a precise instruction could not be found, but know the block
where the dependency exists (e.g., a memory location already live at
function entry).
We start off by looking for the users of the defining memory access of
the given load within the same block, searching for local dependencies.
We may need to iteratively follow the use-def chain of the defining
memory access to find the actual clobbering access, while staying within
the scope of the load. If an actual local def/clobber (or liveOnEntry)
is found, we are done and return that one. Otherwise, we move visiting
the predecessors of the load's block, considering the incoming value
from the MemoryPhi as a potential clobbering access. Hence, we search
for dependencies within the predecessor block itself. If the new
potential clobbering access is a MemoryPhi, we continue visiting the
transitive closure of the predecessor, recording its new potential
clobbering access. In this phase, as we are exploring non-local
definitions, the load itself may be considered a must-alias def as well
when being examined from a backedge path.
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Commit: b0e72b7c3f240cdc7e20eb6692d4662e7315bbc6
https://github.com/llvm/llvm-project/commit/b0e72b7c3f240cdc7e20eb6692d4662e7315bbc6
Author: markyang92 <80628866+markyang92 at users.noreply.github.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/CMakeLists.txt
M clang/utils/perf-training/lit.site.cfg.in
Log Message:
-----------
[clang][cmake] Move perf-training out of CLANG_INCLUDE_TESTS (#192163)
perf-training defines the generate-profdata target used by the PGO
bootstrap build.
However, it is currently enabled only when CLANG_INCLUDE_TESTS=ON.
For distribution builds such as Yocto/OE, tests are usually disabled by
setting this to OFF.
But perf-training is a PGO utility, not a test target, and it is
currently gated by that block.
As a result, generate-profdata is unavailable to the PGO bootstrap build
when
CLANG_INCLUDE_TESTS=OFF.
Move perf-training out of the CLANG_INCLUDE_TESTS block.
This is safe because utils/perf-training/CMakeLists.txt adds targets
only when
LLVM_BUILD_INSTRUMENTED or CLANG_BOLT is enabled, so moving it out does
not add
any targets unless PGO or BOLT is actually in use.
Also fix the path in lit.site.cfg.in for standalone builds.
When llvm_src_dir is set from CMAKE_SOURCE_DIR, standalone clang builds
end up
using the clang source directory instead of the LLVM source directory.
Set it to the proper LLVM source location instead.
Assisted-by: claude
Commit: 0a52250e27e87b6b29492fc5223f9634acb948b1
https://github.com/llvm/llvm-project/commit/0a52250e27e87b6b29492fc5223f9634acb948b1
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/RISCV/strided-access-wide-stride.ll
Log Message:
-----------
[LV][RISCV] Add crash test for wide pointer stride in convertToStridedAccesses (#200985)
Pre-commit test for https://github.com/llvm/llvm-project/issues/199640.
The test demonstrates a crash when the pointer stride exceeds the
canonical IV type (i32) range. To be updated by #199647.
Commit: edeffec62d462e0d162c6bcb41050c9afe192815
https://github.com/llvm/llvm-project/commit/edeffec62d462e0d162c6bcb41050c9afe192815
Author: Zhige Chen <zhige_chen at outlook.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/test/tools/llubi/controlflow.ll
A llvm/test/tools/llubi/global.ll
A llvm/test/tools/llubi/global_constant_store.ll
A llvm/test/tools/llubi/global_constexpr_initializer.ll
A llvm/test/tools/llubi/global_external.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/ExecutorBase.cpp
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.cpp
M llvm/tools/llubi/lib/Value.h
M llvm/tools/llubi/llubi.cpp
Log Message:
-----------
[llubi] Global variables with simple initializers and global-address constants (#200547)
This PR implements global variables with simple initializers and
global-address constants. Support for constant expressions, alias, etc.,
are left for future PRs.
Commit: 88e96462dec6f3bbab7901a85b33bd15d4df6736
https://github.com/llvm/llvm-project/commit/88e96462dec6f3bbab7901a85b33bd15d4df6736
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
Log Message:
-----------
[AArch64][GlobalISel] Add handling for scalar sqabs intrinsic (#200222)
sqabs is a neon intrinsic, so can only be performed on vector register
banks. To handle intrinsic properly, coerce regbankselection to put
sqabs on fpr banks.
Commit: 32c7aaa3326f920cafd8474c6d5774ed5c0b3558
https://github.com/llvm/llvm-project/commit/32c7aaa3326f920cafd8474c6d5774ed5c0b3558
Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
Log Message:
-----------
Remove an invalid FIXME in a MemCpyOpt test (#200809)
Call slot optimization explicitly [requires `writable` and `noalias`][0]
when the destination is an argument, and `sret` doesn't imply any of
these.
So the `memcpy` into the return value pointer cannot be optimized away
in this test.
The test for doing this optimization when the `sret` argument is also
`writable` and `noalias` is [here][1].
Relevant commits:
- 369c9b791bc3f380e884bcad444287998c32ae16 requires writability in call
slot optimization and adds the `writable` attribute in the test linked
above, which already has `sret`, so that it optimizes as before. So
`sret` does not imply `writable`.
- f445e39ab271d07733f0f45048badd9e58905aec updates `isWritable` used in
the commit above to check for `noalias` on arguments before concluding
"writable".
The FIXME should probably have been removed with one of these commits.
[0]:
https://github.com/llvm/llvm-project/blob/356d7e6bf429a7ff3ae798bb994631ef33891a44/llvm/lib/Analysis/AliasAnalysis.cpp#L1009-L1019
[1]:
https://github.com/llvm/llvm-project/blob/356d7e6bf429a7ff3ae798bb994631ef33891a44/llvm/test/Transforms/MemCpyOpt/sret.ll#L9
Commit: ecf8b039e5e80a609a4446b29e83600062179cc6
https://github.com/llvm/llvm-project/commit/ecf8b039e5e80a609a4446b29e83600062179cc6
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
Log Message:
-----------
[AMDGPU] Recompute EXEC liveness in SIWholeQuadMode::toExact (#200866)
This is required as stale liveness information can lead to an incorrect
optimization in `SIOptimizeExecMaskingPreRA`. For example, when `hi16`
is removed from EXEC, `optimizeElseBranch` produces an incorrect result
by removing `S_AND`.
This is caused by the following code:
```c++
SlotIndex StartIdx = LIS->getInstructionIndex(SaveExecMI);
SlotIndex EndIdx = LIS->getInstructionIndex(*AndExecMI);
for (MCRegUnit Unit : TRI->regunits(ExecReg)) {
LiveRange &RegUnit = LIS->getRegUnit(Unit);
if (RegUnit.find(StartIdx) != std::prev(RegUnit.find(EndIdx)))
return false;
}
```
When `hi16` is available there are two `RegUnit`s, one for `hi16` and
one for `lo16`. In the case of `wqm.ll` test it produces two live
ranges:
```
0: [320r,320d:3)[368r,368d:2)[736r,736d:4)[832r,832d:1)[944r,944d:0) 0 at 944r 1 at 832r 2 at 368r 3 at 320r 4 at 736r
1: [12r,12d:1)[320r,320d:5)[368r,368d:4)[736r,736d:6)[744r,744d:0)[832r,832d:3)[944r,944d:2) 0 at 744r 1 at 12r 2 at 944r 3 at 832r 4 at 368r 5 at 320r 6 at 736r
```
When `hi16` is removed there is only one range:
```
0: [320r,320d:3)[368r,368d:2)[736r,736d:4)[832r,832d:1)[944r,944d:0) 0 at 944r 1 at 832r 2 at 368r 3 at 320r 4 at 736r
```
If only the first range is considered the loop will finish without
returning false and continue to remove `S_AND`. It is because EXEC
register for `S_AND` added by `SIWholeQuadMode::toExact` is not in the
range. This is incorrect.
When `hi16` is present the incorrect behavior is masked by the second
live range coming from `hi16`, causing the loop to return. This can be
most likely explained by the fact that `hi16` is only computed after the
new `S_AND` was added so contains more up to date information. Removing
EXEC from `LiveIntervals` forces the live range to be recomputed.
Commit: 2fc8a3e84ec08659e33b63e91f1d9b4be0890cfc
https://github.com/llvm/llvm-project/commit/2fc8a3e84ec08659e33b63e91f1d9b4be0890cfc
Author: Elvina Yakubova <eyakubova at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/veneer-erratum-843419.s
Log Message:
-----------
[BOLT][AArch64] Eliminate e843419 veneers (#187955)
Detect and eliminate A53 843419 errata veneers with the drop-cortex-a53-843419-veneers option.
Commit: 7d62e753bb9ef0c21d1be9d155e4f6456391a406
https://github.com/llvm/llvm-project/commit/7d62e753bb9ef0c21d1be9d155e4f6456391a406
Author: David Spickett <david.spickett at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/test/API/functionalities/thread/jump/TestThreadJump.py
Log Message:
-----------
[lldb][test] Disable part of TestThreadJump.py on WoA (#201074)
See https://github.com/llvm/llvm-project/issues/201068.
Commit: 4cfbf8ec82cb7e6f06c3f382a1b4ec082bd42b18
https://github.com/llvm/llvm-project/commit/4cfbf8ec82cb7e6f06c3f382a1b4ec082bd42b18
Author: Kshitij Paranjape <kshitijvparanjape at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
Log Message:
-----------
[ValueTracking] Conservative NoSync check prevents vectorization (#199002)
Conservative nosync check in ValueTracking.cpp returns false causing
potentially faulting load preventing vectorization. Instead check if any
instructions betweenAssume Instruction and Ctx Instruction are synchronizing.
Fixes #180180.
Commit: 924388cd4bffe04cd6f191da0cd7015a19c673ef
https://github.com/llvm/llvm-project/commit/924388cd4bffe04cd6f191da0cd7015a19c673ef
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
Log Message:
-----------
[libc] Add sys/sendfile.h to the public header list (#201062)
Commit: 4b212e5418097e31b13ab51dd9574c8cc6a3fdab
https://github.com/llvm/llvm-project/commit/4b212e5418097e31b13ab51dd9574c8cc6a3fdab
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
Log Message:
-----------
[VPlan] Propagate interleave-group metadata to narrowed wide load/store. (#199356)
VPInterleaveRecipe now carries the common metadata valid for all members
and as such hold for any member. Propagate it to narrowed load and
stores.
PR: https://github.com/llvm/llvm-project/pull/199356
Commit: c3ea53cd814abd924fd004357f357823b180ace8
https://github.com/llvm/llvm-project/commit/c3ea53cd814abd924fd004357f357823b180ace8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/interleaved_cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs-02.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/handle-iptr-with-data-layout-to-not-assert.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-half.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i8.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test
Log Message:
-----------
[VPlan] Don't print interleave group insert position. (#200023)
This patch updates interleave group printing to drop the insert
position. It does not add any information (the position of the
interleave group is determined by the position in VPlan), and for stores
we currently were printing <badref> anyways (trying to print a value
with void type).
PR: https://github.com/llvm/llvm-project/pull/200023
Commit: bae4566a422cba33fb41a072320b36fb51cb67ee
https://github.com/llvm/llvm-project/commit/bae4566a422cba33fb41a072320b36fb51cb67ee
Author: Amit Kumar Pandey <pandey.kumaramit2023 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][sanitizer_common] Generalize CheckNoDeepBind as OnDlOpen (#200748)
Rename the dlopen pre-check hook to OnDlOpen so platform-specific dlopen
handling can be extended beyond the RTLD_DEEPBIND guard on Linux.
Windows and macOS keep no-op implementations. All dlopen interceptors
call the shared hook.
Commit: bbc8fcb0e850984efa54eb815717f7ab905c4c05
https://github.com/llvm/llvm-project/commit/bbc8fcb0e850984efa54eb815717f7ab905c4c05
Author: Luke Lau <luke at igalia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
Log Message:
-----------
[VPlan] Fix assertion when VPReductionPHIRecipe is simplified (#201023)
When replacing an invariant store of a reduction, we assert that the
stored value is the backedge value. However in some cases the
VPReductionPHIRecipe may be simplified away completely, so account for
this.
Fixes #201020
Fixes #200742
Commit: 969f6415b69cce63e98c19a03e8940b89cd8b285
https://github.com/llvm/llvm-project/commit/969f6415b69cce63e98c19a03e8940b89cd8b285
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
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/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/vplan-incomplete-cases.ll
Log Message:
-----------
[VPlan] Replace VPTypeAnalysis with VPValue::getScalarType. (NFC) (#200256)
Now that all VPValues have their scalar type set at construction,
replace calls to VPTypeAnalysis::inferScalarType with direct calls to
VPValue::getScalarType, and remove the no-longer-needed VPTypeAnalysis
members from VPCostContext and VPTransformState. Also remove the
getScalarTypeOrInfer fallback helper.
Depends on https://github.com/llvm/llvm-project/pull/200255
PR: https://github.com/llvm/llvm-project/pull/200256
Commit: 238bd57ccc283a3dec84afcd0b092b4e7a378491
https://github.com/llvm/llvm-project/commit/238bd57ccc283a3dec84afcd0b092b4e7a378491
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
Log Message:
-----------
[AArch64][TG] Migrate AArch64 backend from !cond to !switch(NFC) (#200949)
Making exact matches more compact. The \!switch operator has been
introduced by: https://github.com/llvm/llvm-project/pull/199659
Commit: f341dab9edfa97d7a4a01f9bc0fe981055dc5cc9
https://github.com/llvm/llvm-project/commit/f341dab9edfa97d7a4a01f9bc0fe981055dc5cc9
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/test/CodeGen/RISCV/riscv-cf-protection.c
Log Message:
-----------
[clang][RISCV][Zicfilp] Force user to use `-mcf-branch-label-scheme=unlabeled` (#152122)
Expected Behavior:
When `-fcf-protection=branch|full` is specified, it's an error to omit
`-mcf-branch-label-scheme=unlabeled`.
Context:
When using forward-edge control flow integrity feature based on the
RISC-V Zicfilp extension, the `-mcf-branch-label-scheme` option selects
the encoding scheme used in the landing pad labels. The spec defines 2
schemes: `func-sig` and `unlabeled`, with the former specified as the
default. However the `func-sig` backend is still under active
development and won't land anytime soon; in the meanwhile, the
`unlabeled` scheme almost has complete support in the toolchain now.
Given that Clang currently accepts and defaults to
`-mcf-branch-label-scheme=func-sig` but doesn't work correctly, we want
to formally forbid the user from using
`-mcf-branch-label-scheme=func-sig` for now until the `func-sig` scheme
is properly supported. We choose to do so by forcing the user to specify
`-mcf-branch-label-scheme=unlabeled` (instead of changing the default to
`unlabeled`) so the default of `func-sig` can be retained according to
the spec and build scripts targeting the current Clang can be
forward-compatible with the Clang that supports the complete `func-sig`
scheme.
Commit: 016f53e2df9dae2177623d369eb5a1373fa6dc3c
https://github.com/llvm/llvm-project/commit/016f53e2df9dae2177623d369eb5a1373fa6dc3c
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-access-wide-stride.ll
A llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses-narrow-iv.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
Log Message:
-----------
[VPlan] Use pointer index type for stride in convertToStridedAccesses (#199647)
The type of StrideInBytes should be index type, not the canonical IV
type. When the type of canonical IV is narrower than index type (e.g.,
i32 canonical IV on a RV64), using CanonicalIVType for stride may cause
crash.
The assertion failure in SelectionDAG was a secondary symptom, and the
root cause is a semantic mismatch in the stride type.
Fixes #199509
Commit: 67aaa03dac582b5ccf65776e449eb6c7517eb11c
https://github.com/llvm/llvm-project/commit/67aaa03dac582b5ccf65776e449eb6c7517eb11c
Author: Matthias Springer <me at m-sp.org>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M mlir/docs/Dialects/LLVM.md
M mlir/docs/LangRef.md
A mlir/docs/Tokens.md
M mlir/docs/Traits/_index.md
M mlir/include/mlir/Dialect/Async/IR/Async.h
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.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
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/include/mlir/IR/BuiltinDialectBytecode.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/OpBase.td
M mlir/include/mlir/IR/OpDefinition.h
M mlir/lib/AsmParser/TokenKinds.def
M mlir/lib/AsmParser/TypeParser.cpp
M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
M mlir/lib/Dialect/Async/IR/Async.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/Verifier.cpp
M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
M mlir/lib/Target/LLVMIR/TypeToLLVM.cpp
M mlir/test/Conversion/AsyncToLLVM/convert-coro-to-llvm.mlir
M mlir/test/Dialect/ArmSME/invalid.mlir
M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed.mlir
M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed_0.mlirbc
M mlir/test/Dialect/Builtin/Bytecode/types.mlir
M mlir/test/Dialect/LLVMIR/types.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/traits.mlir
M mlir/test/IR/operand.mlir
M mlir/test/IR/result.mlir
A mlir/test/IR/token-type.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-tblgen/predicate.td
M mlir/test/mlir-tblgen/types.mlir
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][IR] Add builtin `TokenType` (#195640)
Introduces a new parameterless, opaque, builtin SSA value type,
`!token`. A token cannot appear in a value-forwarding position such as
`cf.br`, `arith.select`, `scf.for` iter-args or function call/return.
Walking back from any token use reaches the producing operation without
crossing such a boundary. Tokens carry no runtime data and cannot
constant-fold.
This contract is enforced by changing the default ODS `AnyType`
predicate to exclude tokens. In addition, token-producing and
token-consuming ops must opt in by implementing the `ProducesToken` and
`ConsumesToken` traits. The IR verifier checks for the presence of these
traits.
Note: CSE, DCE, hoisting, and `OperationEquivalence` remain unchanged. A
stronger contract (e.g., uniqueness, arity, paired lifetime), if
desirable based on the semantics of token-producing and token-consuming
ops, can be expressed at the op level via existing mechanisms (side
effects, block arguments, traits, attributes), keeping the type
orthogonal to operation-level transformations. This mirrors LLVM's
`token` type.
Other changes:
* Builtin bytecode: new entry for `TokenType`.
* AsmParser / AsmPrinter: `token` keyword for the textual format.
* Remove `LLVMTokenType` from the LLVM dialect and use the builtin
`TokenType` instead.
* Async dialect: references to `async::TokenType` are qualified to
disambiguate from the new builtin `TokenType`.
* Documentation: new `mlir/docs/Tokens.md` covering the structural
contract, design rationale, and ODS integration.
No changes to `Operation`, the generic op syntax, the bytecode op
encoding, or core C++ APIs around `Operation`.
This commit is in preparation of adding support for breaking exit from
regions. (E.g., early exit from loops.)
RFC:
https://discourse.llvm.org/t/rfc-add-a-builtin-token-type-to-mlir/90706
Assisted-by: claude-opus-4.7-thinking-high
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 9def57af57cc61ebaa83106f056ef3bbc59e0244
https://github.com/llvm/llvm-project/commit/9def57af57cc61ebaa83106f056ef3bbc59e0244
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Remove stale references to VPTypeInfo. (#201088)
VPTypeInfo has been removed, and (#199647) a016f53e2 add dead reference,
causing the build to fail on main.
Commit: c51296345de89f80fbaeac85e92d72d0df06c0cb
https://github.com/llvm/llvm-project/commit/c51296345de89f80fbaeac85e92d72d0df06c0cb
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Host/windows/PipeWindows.cpp
Log Message:
-----------
[lldb][windows] Close pipe HANDLE if _open_osfhandle fails (#200882)
Commit: 3c0daa26db4ba76359ca3285af6b709d8199c1cc
https://github.com/llvm/llvm-project/commit/3c0daa26db4ba76359ca3285af6b709d8199c1cc
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Host/windows/PseudoConsole.cpp
Log Message:
-----------
[lldb][Windows] Default-initialize PseudoConsole Kernel32 members (#200880)
Commit: 6e1f2f513c84759e0d0727925dbb8c3a3e8b5199
https://github.com/llvm/llvm-project/commit/6e1f2f513c84759e0d0727925dbb8c3a3e8b5199
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/bindings/python/CMakeLists.txt
Log Message:
-----------
[lldb][windows] copy vcpkg runtime dlls (#200416)
Commit: 6b6cb5fb35183b156f8acf648184b61b985bee8f
https://github.com/llvm/llvm-project/commit/6b6cb5fb35183b156f8acf648184b61b985bee8f
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
M llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.yaml
M llvm/test/tools/llvm-objcopy/DXContainer/dump-section.yaml
Log Message:
-----------
Reapply "[llvm-objcopy] Strip header from DXContainer's ILDB part during `--dump-section`" (#200906)
The patch is reapplied with adjustments for the test failing on some
buildbots.
It strips the header from ILDB part of DXContainer during `llvm-objcopy
--dump-section`, so that the output contains bitcode only.
Commit: 78cf6cde9fbb6f08dacb3de5bc529243f9f85d9b
https://github.com/llvm/llvm-project/commit/78cf6cde9fbb6f08dacb3de5bc529243f9f85d9b
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
Log Message:
-----------
[NFC][analyzer] Simplify ExprEngine::Visit, eliminate NodeBuilders (#200837)
Remove NodeBuilder use from `ExprEngine::Visit` to reduce its size from
700 lines to 600 lines of source code.
This commit also moves the "for instance method operators, make sure the
'this' argument has a valid region" logic (~10 lines) from the huge
`ExprEngine::Visit` to the more specific `VisitCallExpr`; and applies a
few other very minor code quality improvements.
Commit: 3191c78697c8b499a108e917a9590811db723969
https://github.com/llvm/llvm-project/commit/3191c78697c8b499a108e917a9590811db723969
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/module_asm_unsupported.ll
Log Message:
-----------
[SPIR-V] Reject module-level inline assembly with a diagnostic (#199992)
Module level inline asm is unsupported, even with extension
Commit: 7139d0b46f6d71334b74049bbd540ac4b18a1bc5
https://github.com/llvm/llvm-project/commit/7139d0b46f6d71334b74049bbd540ac4b18a1bc5
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
A clang/test/CodeGen/AArch64/f16f32dot-intrinsics.c
M clang/test/Sema/aarch64-neon-immediate-ranges/dotprod.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
A llvm/test/CodeGen/AArch64/aarch64-f16f32dot-intrinsics.ll
Log Message:
-----------
[AArch64] Add intrinsic support for Fdot instr. (#189987)
This patch adds intrinsics for new NEON Fdot instruction variants. The
implementation is based on the
[proposal](https://github.com/ARM-software/acle/pull/428) and adds these
ACLE builtins:
```
float32x2_t vdot_f32_f16(float32x2_t r, float16x4_t a, float16x4_t b);
float32x4_t vdotq_f32_f16(float32x4_t r, float16x8_t a, float16x8_t b);
float32x2_t vdot_lane_f32_f16(float32x2_t r, float16x4_t a, float16x4_t b, const int lane);
float32x4_t vdotq_laneq_f32_f16(float32x4_t r, float16x8_t a, float16x8_t b, const int lane);
float32x2_t vdot_laneq_f32_f16(float32x2_t r, float16x4_t a, float16x8_t b, const int lane);
float32x4_t vdotq_lane_f32_f16(float32x4_t r, float16x8_t a, float16x4_t b, const int lane);
```
Commit: 67b3b87e6d64d7d706e14be8c5bba6acdc200623
https://github.com/llvm/llvm-project/commit/67b3b87e6d64d7d706e14be8c5bba6acdc200623
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/select-splat-vector.ll
Log Message:
-----------
[LLVM][GlobalISel] Make CSEMIRBuilder::buildFConstant scalable vector aware. (#200386)
Commit: ad9e5bfcaf38580b2596967d3e1b7c3746d31bb1
https://github.com/llvm/llvm-project/commit/ad9e5bfcaf38580b2596967d3e1b7c3746d31bb1
Author: Weronika Lewandowska <weronika.lewandowska at intel.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[Offload] Forward LIBOMPTARGET_ cmake options to offload (#199906)
Add LIBOMPTARGET for offload so LIBOMPTARGET_* options are forwarded.
Note that the LIBOMPTARGET_* prefix was inherited from OpenMP's CMake
setup.
Commit: 3c86ffb3bd282cfad0bf1e3aa2cedf1e4895b057
https://github.com/llvm/llvm-project/commit/3c86ffb3bd282cfad0bf1e3aa2cedf1e4895b057
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/test/Verifier/immarg-param-attribute-invalid.ll
Log Message:
-----------
[LLVM][Verifier] Reject "splat (...)" as an invalid value for an immarg operand. (#200445)
This makes the behaviour consistent with ConstantDataVector based
values.
Commit: b29352f7ea1d46fa7d90900d7a279851b6de9f74
https://github.com/llvm/llvm-project/commit/b29352f7ea1d46fa7d90900d7a279851b6de9f74
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-06-02 (Tue, 02 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/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/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] fix getTemplateInstantiationArgs" (#201093)
This caused bootstrap builds on macOS to fail with
error: definition with same mangled name ... as another definition
in JSONGenerator.cpp. See comments on the original PR.
Reverts llvm/llvm-project#199528
Commit: 1872f06d60f35133bbc06e047c763b490c2d31be
https://github.com/llvm/llvm-project/commit/1872f06d60f35133bbc06e047c763b490c2d31be
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
A flang/test/HLFIR/opt-bufferization-dealloc-conflict.fir
A flang/test/HLFIR/separate-allocatable-assign.fir
M flang/test/Integration/OpenMP/workshare-axpy.f90
Log Message:
-----------
[flang][HLFIR] Add SeparateAllocatableAssign pass (#197814)
Example:
```fortran
!$acc kernels
B = A ! A, B allocatable
!$acc end kernels
```
In this code, `B = A` lowers to `hlfir.assign ... realloc`, which
becomes a `_FortranAAssign` runtime call inside the compute region — the
allocation can't be separated from the copy, and it crashes when `B` is
unallocated.
Fix: add `SeparateAllocatableAssign`, which splits the realloc assign
into an explicit conditional [re-]allocation followed by a plain
`hlfir.assign`, exposing the allocation as plain FIR. For variable RHS
it skips aliasing cases (`a = a(:n)`) by loading the LHS `fir.box` and
querying `fir::AliasAnalysis` on the data. For `hlfir.expr` RHS it
leaves ordering to bufferization, and fixes
`ElementalAssignBufferization` to stop fusing an elemental across a
deallocation.
Commit: f85f70fe78bd9d787d5414a79224c2e6b60fa472
https://github.com/llvm/llvm-project/commit/f85f70fe78bd9d787d5414a79224c2e6b60fa472
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVTypeInst.h
M llvm/lib/Target/X86/X86OptimizeLEAs.cpp
Log Message:
-----------
[Target] Remove unused DenseMapInfo::getTombstoneKey (#200955)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 414b8b986705d24e415e8ef17bc8ddbbd6839712
https://github.com/llvm/llvm-project/commit/414b8b986705d24e415e8ef17bc8ddbbd6839712
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/PBQP/CostAllocator.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
M llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/GSYM/FileEntry.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/include/llvm/Transforms/Scalar/GVNExpression.h
M llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/StackMaps.cpp
M llvm/lib/DebugInfo/CodeView/TypeHashing.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[CodeGen][Transforms] Remove unused DenseMapInfo::getTombstoneKey (#200956)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: e0f5ce18c04a5c55e5eb4e35e5ab1f1980e15c31
https://github.com/llvm/llvm-project/commit/e0f5ce18c04a5c55e5eb4e35e5ab1f1980e15c31
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/Dominators.h
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ValueHandle.h
M llvm/include/llvm/IR/ValueMap.h
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/LLVMContextImpl.h
Log Message:
-----------
[IR][Analysis] Remove unused DenseMapInfo::getTombstoneKey (#200958)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 17f85f467249d08508fe29f5c01f6a046d9a68e3
https://github.com/llvm/llvm-project/commit/17f85f467249d08508fe29f5c01f6a046d9a68e3
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/Minidump.h
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/BinaryFormat/WasmTraits.h
M llvm/include/llvm/CAS/CASID.h
M llvm/include/llvm/CAS/CASReference.h
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerDeclContext.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MemoryFlags.h
M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
M llvm/include/llvm/Frontend/OpenMP/OMPContext.h
M llvm/include/llvm/Linker/IRMover.h
M llvm/include/llvm/MC/MCRegister.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/FunctionId.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Object/Minidump.cpp
M llvm/tools/dsymutil/BinaryHolder.h
M llvm/tools/llvm-c-test/echo.cpp
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-split/llvm-split.cpp
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
M llvm/utils/gdb-scripts/prettyprinters.py
Log Message:
-----------
[llvm] Remove unused DenseMapInfo::getTombstoneKey (#200957)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: 10d3c6779d9faffed0a1d686ea76ee2cec48bd06
https://github.com/llvm/llvm-project/commit/10d3c6779d9faffed0a1d686ea76ee2cec48bd06
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/include/limits.yaml
M libc/include/llvm-libc-macros/limits-macros.h
M libc/test/src/__support/CPP/limits_test.cpp
Log Message:
-----------
[libc] Define SSIZE_MAX in limits-macros.h (#201087)
Defined SSIZE_MAX in limits-macros.h to support POSIX compliance.
Applications compiling against LLVM libc require SSIZE_MAX to be defined
in limits.h.
SSIZE_MAX is defined strictly in terms of __PTRDIFF_MAX__, matching
ssize_t defined as __PTRDIFF_TYPE__, ensuring they are always
structurally aligned and compile-time safe.
Added Doxygen comments for SSIZE_MAX.
Added SSIZE_MAX to limits.yaml and added a unit test in limits_test.cpp
to verify the definition.
Assisted-by: Automated tooling, human reviewed.
Commit: 9a9b9d92db959447c32c63a931f269189c3c0893
https://github.com/llvm/llvm-project/commit/9a9b9d92db959447c32c63a931f269189c3c0893
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/RawConstants.h
M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
A llvm/test/tools/llvm-pdbutil/dxcontainer.test
M llvm/tools/llvm-pdbutil/PdbYaml.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.h
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.h
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.h
Log Message:
-----------
Reapply "[PDB][llvm-pdbutil] Add DXContainer support for `pdb2yaml` and `yaml2pdb`" (#201092)
This reapplies #198351 with 2 issues fixed:
- `-Wchanges-meaning` causing an error in `PdbYaml.h`
- UB when parsing DXContainer header from a null buffer, fixed in
#200865
Original patch description:
This patch enables the following:
1. Attempting to parse a `DXContainer` from stream 5 (generated by
DirectX tools) of a PDB file, to be used later in `llvm-pdbutil`.
2. Outputting a PDB file with a built in DXContainer as YAML. Existing
DirectX tools form a PDB container with empty DBI, TPI and IPI streams,
so this patch also allows them to be empty when dumping a PDB file as
YAML.
3. Creating a PDB file from YAML with an built in DXContainer. When
creating a PDB with a DXContainer, streams DBI, TPI and IPI can be
completely empty, so this patch also includes adjustments to allow
forming such a PDB file. This is done to maintain compatibility with
other DirectX tools.
Commit: 0012320e60cddc1f98a9835f7d4ce8552fe12fe7
https://github.com/llvm/llvm-project/commit/0012320e60cddc1f98a9835f7d4ce8552fe12fe7
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-add.ll
Log Message:
-----------
[LLVM][ComplexDeinterleaving] Update identifyDeinterleave to support all forms of zero. (#200400)
The original code misses ConstantFP based zeros.
Commit: 574243d7fad23da3532699caf0eadf36dfc321d8
https://github.com/llvm/llvm-project/commit/574243d7fad23da3532699caf0eadf36dfc321d8
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
A llvm/test/CodeGen/SPIRV/transcoding/func_param_attr.ll
Log Message:
-----------
[SPIR-V] Emit missing Sext function parameter decoration for signext args and test other param decorations (#200801)
Commit: 94fcaf5110e21451fed27c61e1f1e0b5fb3bdb33
https://github.com/llvm/llvm-project/commit/94fcaf5110e21451fed27c61e1f1e0b5fb3bdb33
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
M llvm/test/Transforms/SandboxVectorizer/load_store_vec.ll
Log Message:
-----------
[LLVM][SandboxVec][LoadStoreVec] Add support for vector ConstantInt/FP. (#200437)
The current implementation treats all ConstantInt/FP values as scalar,
leading to the wrong number of elements being used when combining them.
Commit: 9942a38e64b2333dc3816eebe6ac9230b1993220
https://github.com/llvm/llvm-project/commit/9942a38e64b2333dc3816eebe6ac9230b1993220
Author: A. Jiang <de34 at live.cn>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/shared_mutex
M libcxx/test/libcxx/thread/nodiscard.verify.cpp
Log Message:
-----------
[libc++] Apply `[[nodiscard]]` to `unique_lock` and `<shared_mutex>` (#200986)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/thread.sharedmutex.class
- https://wg21.link/thread.sharedtimedmutex.class
- https://wg21.link/thread.lock.unique
- https://wg21.link/thread.lock.shared
Remarks:
- All constructors of `shared_lock` are marked `[[nodiscard]]`, which is
consistent with handling for constructors of `unique_lock`.
Commit: 2a7524b4e33c8dfd667fa28341ec7c6c529d9c50
https://github.com/llvm/llvm-project/commit/2a7524b4e33c8dfd667fa28341ec7c6c529d9c50
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/IDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.cpp
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
A lldb/test/Shell/Process/Windows/output_debug_string.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Windows] Support OutputDebugString (#196395)
This picks https://reviews.llvm.org/D128541 back up. It implements
support for `OutputDebugStringA/W` on Windows. It's used by some logging
systems.
The main changes since the original patch:
- Use `WaitForDebugEventEx` for getting debug events over
`WaitForDebugEvent`. According to the
[docs](https://learn.microsoft.com/en-us/windows/win32/api/debugapi/nf-debugapi-waitfordebugeventex),
the only difference is that the -Ex version correctly outputs Unicode
strings.
- Support strings longer than 64 KiB. I set an arbitrary limit of 1 MiB
for the strings we read. The debugger interface only tells us the length
modulo 64 KiB which is a bit awkward. Libraries like Qt already chunk
calls to `OutputDebugString`, so strings shouldn't be too big in
practice.
- Output to stdout instead of a log channel, so the output is always
enabled. I don't know if this should go to stdout or stderr.
Tested that it works with lldb-dap and shows up in the debug console in
all modes.
Closes #185891.
---------
Co-authored-by: Alvin Wong <alvin at alvinhc.com>
Commit: 6180a4899ff913e0a0e2338e4d019b683f8f06da
https://github.com/llvm/llvm-project/commit/6180a4899ff913e0a0e2338e4d019b683f8f06da
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
A lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.cpp
A lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.h
M lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
R lldb/source/Plugins/Process/Windows/Common/MSVCRTCFrameRecognizer.cpp
R lldb/source/Plugins/Process/Windows/Common/MSVCRTCFrameRecognizer.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
Log Message:
-----------
[lldb][Windows] Register MSVCRTCFrameRecognizer from DynamicLoaderWindowsDYLD (#201097)
Commit: 2790e61b41949e4ce61faebdb1faed614ca14416
https://github.com/llvm/llvm-project/commit/2790e61b41949e4ce61faebdb1faed614ca14416
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
Log Message:
-----------
[clang-tidy] Fix crash in readability-non-const-parameter with redecls (#200178)
The check matches `VarDecls` with `hasInitializer()`, which uses
`getAnyInitializer()` and may therefore match a redeclaration whose
initializer is attached to another declaration. So calling
`IgnoreParenCasts()` on `VD->getInit()` directly would crash when that
redeclaration had no initializer of its own.
This commit fixes the problem by using a new matcher that only matches
VarDecls with an initializer on the current declaration.
Closes https://github.com/llvm/llvm-project/issues/199197
Commit: 52fd3ec25a3d9a20efae59c453a2450bf633a970
https://github.com/llvm/llvm-project/commit/52fd3ec25a3d9a20efae59c453a2450bf633a970
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/include/unistd.yaml
M libc/src/unistd/linux/sysconf.cpp
M libc/test/include/CMakeLists.txt
A libc/test/include/unistd_macros_test.cpp
M libc/test/src/unistd/sysconf_test.cpp
Log Message:
-----------
[libc] Define _POSIX_THREADS and support _SC_THREADS in sysconf (#201091)
Defined the _POSIX_THREADS macro to 202405L in unistd-macros.h for Linux
to signal POSIX thread support.
Also implemented runtime support for _SC_THREADS in sysconf, returning
_POSIX_THREADS, and added _SC_THREADS and _POSIX_THREADS to the public
unistd.yaml specification.
Added compile-time and runtime tests to verify _POSIX_THREADS definition
and sysconf(_SC_THREADS) behavior. Standardized header comments in
unistd-macros.h to conform to LLVM style.
Assisted-by: Automated tooling, human reviewed.
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 0bbb91b73430cf6e436cb9c0fe61a2f280d9453b
https://github.com/llvm/llvm-project/commit/0bbb91b73430cf6e436cb9c0fe61a2f280d9453b
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
Log Message:
-----------
[lldb][NFCI] Cleanup AppleObjCClassDescriptorV2::ivar_t API (#200777)
Commit: bd85a10b0cbfde6e944da773c435b8006130848f
https://github.com/llvm/llvm-project/commit/bd85a10b0cbfde6e944da773c435b8006130848f
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation-direct-chain.ll
A llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation-indirect.ll
A llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation.ll
M llvm/test/CodeGen/AMDGPU/dvgpr_sym_fail_too_many_block_size_16.ll
M llvm/test/CodeGen/AMDGPU/dvgpr_sym_fail_too_many_block_size_16_anon.ll
Log Message:
-----------
[AMDGPU] Do not propagate vgpr count in dVGPR mode (#187078)
When dVGPR mode is enabled chain functions should not propagate VGPR
counts from other chain callees. VGPRs are allocated before chaining to
a chain functions. We only propagate counts from non-chain callees.
Commit: 3db25f80895d281d2d3921bb15677e0c8de03c7a
https://github.com/llvm/llvm-project/commit/3db25f80895d281d2d3921bb15677e0c8de03c7a
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/auxv.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/creat.cpp
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.cpp
Log Message:
-----------
[libc] Use linux_syscalls::open instead of manual SYS_open ifdefs (#201089)
I needed to clean up a few types in file.cpp in order to match the
wrapper prototype.
Assisted by Gemini.
Commit: fda34a97729f254d1a184d341683132c4ec65489
https://github.com/llvm/llvm-project/commit/fda34a97729f254d1a184d341683132c4ec65489
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/test/CodeGen/RISCV/riscv-cf-protection.c
Log Message:
-----------
[clang] Fix lit test after f341dab for envs that cannot write to file (#201121)
Commit: 023248a62673ce82045fa284022673882f209677
https://github.com/llvm/llvm-project/commit/023248a62673ce82045fa284022673882f209677
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
Log Message:
-----------
[lldb][Windows] Use LazyImport for WaitForDebugEventEx (#201118)
From
https://github.com/llvm/llvm-project/pull/196395#pullrequestreview-4409209050.
This uses `LazyImport` for `WaitForDebugEventEx` to simplify the import.
Commit: 492202ec237f97299c6c2070a79be4c10826992f
https://github.com/llvm/llvm-project/commit/492202ec237f97299c6c2070a79be4c10826992f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/shuffle-strided-with-offset-512.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
Log Message:
-----------
[X86] lowerShuffleWithPSHUFB - use getConstVector to create shuffle mask (#201122)
Avoids wasteful SDValue creation if the shuffle matching fails - and
makes it easier to match+merge compatible constant pool entries
Commit: 47347d24f0a9f68ae60a54ce2ab46a023b739b8d
https://github.com/llvm/llvm-project/commit/47347d24f0a9f68ae60a54ce2ab46a023b739b8d
Author: vsimion26 <vlad.simion at intel.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/Quant/IR/QuantTypes.h
M mlir/lib/Dialect/Quant/IR/QuantOps.cpp
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
M mlir/lib/Dialect/Quant/IR/TypeDetail.h
M mlir/lib/Dialect/Quant/IR/TypeParser.cpp
A mlir/test/Dialect/Quant/invalid-quantile-types.mlir
M mlir/test/Dialect/Quant/parse-uniform-invalid.mlir
M mlir/test/Dialect/Quant/parse-uniform.mlir
A mlir/test/Dialect/Quant/quantile-types.mlir
Log Message:
-----------
Quantile Type and Low FP Support (#190321)
# **QuantileType: Composing with Interface-Based Storage Types in MLIR
Quantization**
## **Context**
Recent [community
work](https://discourse.llvm.org/t/rfc-extending-uniformquantizedtype-with-interface-based-support-for-new-storage-types-in-quant-dialect/87803)
(RFC by Roman-Pevnyi, Aug 2025)
successfully extended UniformQuantizedType with a StorageTypeInterface.
This
made the quantization framework extensible, allowing new storage types
(Integer, Float8E5M2, Float8E4M3FN, NF4) to be plugged in without
modifying
core quantization logic.
## **Building on that work**
QuantileType follows the same interface-driven philosophy but addresses
a
different level of abstraction: the storage type itself.
The observation: Many low-precision storage types (ui4, si8, f8, NF4)
can be enhanced with a quantile lookup table. Rather than creating a new
complete quantized type for each variant (QuantileQuantizedType,
QuantileQuantizedPerAxisType, etc.), we insert an abstraction layer.
QuantileType is a builtin that wraps any storage type with quantile
metadata:
quantile<ui4:f16, {-1.0, -0.696, ..., 1.0}>
quantile<si8:f32, {-2.0, -1.0, 0.0, 1.0, 2.0}>
quantile<f8E4M3FN:f16, {...}>
This storage abstraction then composes naturally with existing
quantization:
!quant.uniform<quantile<ui4:f16, {...}>:f32, scale:zeropoint>
## **Architecture**
Roman's StorageTypeInterface allows UniformQuantizedType to work with
any
compliant storage type. QuantileType extends this by making it possible
to
augment any storage type WITH quantile information, creating composable
layers:
Builtin QuantileType (unified storage + quantiles)
↓ (implements StorageTypeInterface)
UniformQuantizedType (uniform quantization logic)
↓
Hardware-specific lowering
## **Key benefits**
1. SINGLE INTERFACE FOR ALL QUANTILE SCHEMES
With QuantileType: One parameterized abstraction
quantile<ui4:f16, {nf4_table}>
quantile<ui4:f16, {custom_table}>
All compose with !quant.uniform naturally
[NF4
Type](https://github.com/openvinotoolkit/npu_compiler/blob/90b6098b9ee96055d633dc520354434bae22e336/src/vpux_compiler/include/vpux/compiler/core/types/quantile_float/types.hpp#L62)
& [NF4
Table](https://github.com/openvinotoolkit/npu_compiler/blob/90b6098b9ee96055d633dc520354434bae22e336/src/vpux_compiler/src/core/types/quantile_float/types.cpp#L116-L132)
2. EXTENSIBILITY FOR NEW STORAGE TYPES
When a new low-fp storage type is added (FP3, FPx, etc.),
it automatically works with quantiles:
quantile<fpx:f16, {...}>
No new dialect types needed. The type just implements
StorageTypeInterface
and QuantileType wraps it.
3. CLEAN SEPARATION OF CONCERNS
StorageTypeInterface:
- Defines what storage types must provide (width, signedness, min/max
values)
QuantileType (builtin abstraction):
- Wraps any StorageTypeInterface-compliant type with a lookup table
- Acts as a "storage + quantile mapping" layer
UniformQuantizedType (quantization logic):
- Works with any StorageTypeInterface, including QuantileType
## **Example IR**
In uniform quantization context:
!elem_type = !quant.uniform<quantile<ui4:f16, {-1.0, ..., 1.0}>:f32,
0.01:128>
QuantileType is a natural extension of the StorageTypeInterface
architecture. It:
- Provides a unified abstraction for quantile-enhanced storage
- Avoids type explosion by parameterizing rather than creating variants
- Maintains clean separation between storage concerns and quantization
logic
- Enables portability and reusability across MLIR consumers
Commit: 16853f627616581293a8561b5c00dad33056c75f
https://github.com/llvm/llvm-project/commit/16853f627616581293a8561b5c00dad33056c75f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Variadic ctors also start lifetime (#201113)
This is the same thing we do in the non-variadic `Call()`.
Commit: d25f10e8b4a37c2759925883fb59a9da4ea0eb94
https://github.com/llvm/llvm-project/commit/d25f10e8b4a37c2759925883fb59a9da4ea0eb94
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/TestFrameVarDILBitwise.py
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/main.cpp
Log Message:
-----------
[lldb] Add bitwise shift operators and fix literals' sign in DIL (#192506)
This patch add bitwise shift operators and fixes the Scalar's sign
inside of the literals with signed types. The only way to test this fix,
for now, is to use these literals in an arithmetic right shift that does
sign extension, so this is included in this patch.
Commit: 720e796af81205c8cc215bf957db8f51d757fc8c
https://github.com/llvm/llvm-project/commit/720e796af81205c8cc215bf957db8f51d757fc8c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M flang-rt/lib/runtime/io-api-server.cpp
Log Message:
-----------
[flang-rt] Fix weak RPC stub on Mac-OS (#200998)
Summary:
This does not work like the ELF extern weak. Attempt to just provide a
weak function that will get overridden if it is linked in.
Commit: c24ae339133c6c893914a823613096f2334bba30
https://github.com/llvm/llvm-project/commit/c24ae339133c6c893914a823613096f2334bba30
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Port 6180a48 (#201128)
Commit: 384c17f8259d1bad41afb40ada89a763aaa3615f
https://github.com/llvm/llvm-project/commit/384c17f8259d1bad41afb40ada89a763aaa3615f
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/test/TableGen/aarch64-apple-tuning-features.td
Log Message:
-----------
[AArch64] Use awk on aarch64-apple-tuning-features for AIX(NFC) (#200656)
See https://github.com/llvm/llvm-project/pull/197777
Commit: 47abd870986690ed50eab4de59c9dffa56ac24b7
https://github.com/llvm/llvm-project/commit/47abd870986690ed50eab4de59c9dffa56ac24b7
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/test/Transforms/FunctionAttrs/writeonly.ll
Log Message:
-----------
[CaptureTracking] Don't require offset to stay the same (#201106)
For isIntrinsicReturningPointerAliasingArgumentWithoutCapturing() we
don't need the offset to stay the same. Even if the intrinsic applies an
offset to the pointer (like ptrmask), we can still continue by analyzing
the return value of the intrinsic, rather than considering the intrinsic
itself capturing.
Also clarify that this needs to stay in sync with isEscapeSource()
specifically, not getUnderlyingObject() or DecomposeGEP (which isn't
even possible, as they use different values for the argument). This used
to be different historically.
This was set to true in fd72bf21c958ae2fdfaa8654df55367c72575d3a, which
set all users to true, so I don't believe there was a specific reason
for this choice.
I ran into this when trying to replace some home-grown code in
FunctionAttrs with CaptureTracking.
Commit: 4d5a79542cef700f8201f113f370f35054a4e7d9
https://github.com/llvm/llvm-project/commit/4d5a79542cef700f8201f113f370f35054a4e7d9
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port 3db25f8 (#201131)
Commit: 68883a8b839f3f7f2adbae7a0e2dda3a0dd6b301
https://github.com/llvm/llvm-project/commit/68883a8b839f3f7f2adbae7a0e2dda3a0dd6b301
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port 3db25f8 (#201132)
Commit: 06978156c7ba8a8c8aca60033ea65c8335cca24c
https://github.com/llvm/llvm-project/commit/06978156c7ba8a8c8aca60033ea65c8335cca24c
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/Atomic.cpp
Log Message:
-----------
[flang] Fix possibly unused variable (NFC) (#200905)
Commit: 5d9e965c3f9983278308a00c282810e0f04754cc
https://github.com/llvm/llvm-project/commit/5d9e965c3f9983278308a00c282810e0f04754cc
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/constexpr.c
Log Message:
-----------
[clang][ExprConst] Support DesignatedInitUpdateExpr of array type (#201000)
I think this should work.
Commit: ade0e1a49c2118a98b0b34b3136661747bc5aaa0
https://github.com/llvm/llvm-project/commit/ade0e1a49c2118a98b0b34b3136661747bc5aaa0
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/IR/invalid-cast.cir
M clang/test/CIR/Lowering/cast.cir
Log Message:
-----------
[cir] Refine cir::CastOp semantics for int <-> float casts (#200005)
Int-to-float and float-to-int casts in cir::CastOp are lowered directly
to their LLVM equivalents. Update the verifier to reflect this semantics
and ensure that, for vector casts, the source and destination vectors have
the same length.
This lets the CIR verifier reject invalid casts earlier, instead of relying
on errors reported later at the LLVM IR level.
Commit: 8f58a4cab3a7eccad53797a49e16f8a933d149b1
https://github.com/llvm/llvm-project/commit/8f58a4cab3a7eccad53797a49e16f8a933d149b1
Author: Jeremy Kun <jkun at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-copy.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-dealloc.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-load-store.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-copy.mlir
M mlir/test/Dialect/EmitC/attrs.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
A mlir/test/Dialect/EmitC/member_call_opaque.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Target/Cpp/call.mlir
M mlir/test/Target/Cpp/expressions.mlir
Log Message:
-----------
[mlir][emitc]: Add MemberCallOpaque op (#200057)
Cf. https://discourse.llvm.org/t/method-calls-in-emitc/90898
Commit: 87b97d67d401938086edc0602f55fe284bffc24d
https://github.com/llvm/llvm-project/commit/87b97d67d401938086edc0602f55fe284bffc24d
Author: David Spickett <david.spickett at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/docs/conf.py
Log Message:
-----------
[clang-tools-extra][docs] Do not require myst_parser when building man pages (#201138)
Commit: afd040cb4624c7c7f843367751e22d50b39250f5
https://github.com/llvm/llvm-project/commit/afd040cb4624c7c7f843367751e22d50b39250f5
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M openmp/tools/archer/ompt-tsan.cpp
Log Message:
-----------
[OpenMP][OMPT] Remove unused var in archer (#201140)
Working on enabling the build of OpenMP and Offload in pre-merge checks
surfaced this unused var and pre-merge checks run with -Werror.
As I did not see where it should be used, remove the variable to address
the warning.
The pre-merge running into the warning as error is
https://github.com/llvm/llvm-project/actions/runs/26826349862/job/79094823845?pr=174955
Commit: 8dd51399f8a9f13cbe35fb2060f05bd30acfb6f8
https://github.com/llvm/llvm-project/commit/8dd51399f8a9f13cbe35fb2060f05bd30acfb6f8
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/include/lldb/Target/Memory.h
M lldb/source/Target/Memory.cpp
Log Message:
-----------
[lldb][NFC] Factor out helper code from MemoryCache (#201120)
This will be reused in a subsequent commit.
Commit: f813817e3495c5ab8e0dd7d3c471e531d83a630a
https://github.com/llvm/llvm-project/commit/f813817e3495c5ab8e0dd7d3c471e531d83a630a
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/convert_signedness.ll
Log Message:
-----------
[SPIR-V] Select int-to-int convert opcode from source signedness (#201116)
OpSConvert/OpUConvert sext/zext is determined by the source operand, not
the destination type. Discovered in
https://github.com/llvm/llvm-project/pull/200791/changes#r3341230426
Fix a regression caused by #200791
Commit: 6bcdd843e302063c4f0d36204686155149a6bb0a
https://github.com/llvm/llvm-project/commit/6bcdd843e302063c4f0d36204686155149a6bb0a
Author: Paweł Bylica <pawel at hepcolgum.band>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/test/CodeGen/X86/bittest-big-integer.ll
A llvm/test/CodeGen/X86/bt-merge-fuse.ll
Log Message:
-----------
[X86] Merge BT with a matching BTR/BTS/BTC (#193612)
Fixes #165291.
BTR/BTS/BTC set CF from the pre-operation bit value, so a subsequent BT
on the same source and bit index produces the same CF and is redundant.
We were emitting both.
```ll
define i1 @btr_eq_i32(ptr %word, i32 %position) nounwind {
%ofs = and i32 %position, 31
%bit = shl nuw i32 1, %ofs
%mask = xor i32 %bit, -1
%ld = load i32, ptr %word
%test = and i32 %ld, %bit
%res = and i32 %ld, %mask
%cmp = icmp eq i32 %test, 0
store i32 %res, ptr %word
ret i1 %cmp
}
```
Before:
```asm
movl (%rdi), %eax
movl %eax, %ecx
btrl %esi, %ecx
btl %esi, %eax
setae %al
movl %ecx, (%rdi)
retq
```
After:
```asm
movl (%rdi), %ecx
btrl %esi, %ecx
setae %al
movl %ecx, (%rdi)
retq
```
## Approach
- Add three flag-producing DAG nodes `X86ISD::{BTR,BTS,BTC}` that model
the register-register BTR/BTS/BTC as `(res, EFLAGS) = op src, bitno`.
- Pattern-match them to the existing BTR/BTS/BTC *rr encodings.
- Add a DAG combine in `combineBT` that fuses an `X86ISD::BT` with a
sibling `AND(Src, rotl -2, X)` / `OR(Src, shl 1, X)` / `XOR(Src, shl 1,
X)` on the same source into a single flag-producing node. The
bit-position operand can differ from BT's by trunc/zext or by an `and x,
C` that preserves the low `log2(BW)` bits (BT already masks those
implicitly), so peek through those wrappers when matching.
`llvm/test/CodeGen/X86/bittest-big-integer.ll` was regenerated and
shrinks by 78 CHECK lines; dozens of `btl` instructions collapsed into
the preceding bit-modify. All 5442 X86 CodeGen tests pass.
Commit: d81e8afe7a51005f5fa58cf4b25ccfdb41f685b1
https://github.com/llvm/llvm-project/commit/d81e8afe7a51005f5fa58cf4b25ccfdb41f685b1
Author: xgxanq <anqfu at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
A llvm/test/CodeGen/AMDGPU/rewrite-mfma-form-spill-cost-reset.ll
Log Message:
-----------
[AMDGPU] RewriteMFMAFormStage: fix SpillCost early-return missing reset (#199708)
Extract resetRewriteCandsToVGPR() to consolidate the logic that restores
MFMA candidates from AGPR form back to VGPR form after cost analysis.
getRewriteCost() returned early when SpillCost > 0 without resetting the
AGPR-form register classes set by initHeuristics(), leaving MRI in a
corrupted state. Call resetRewriteCandsToVGPR() on both the early-return
path and the normal exit path to fix this.
Also change getRewriteCost() and rewrite() to take ArrayRef instead of
const std::vector& for cleaner API.
---------
Co-authored-by: Claude Sonnet 4 (1M context) <noreply at anthropic.com>
Commit: e8f518d6613b950958618db9466a5936d844ff26
https://github.com/llvm/llvm-project/commit/e8f518d6613b950958618db9466a5936d844ff26
Author: Sean Clarke <seanedwardsclarke at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/masked_intrinsics-inseltpoison.ll
M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
M llvm/test/Transforms/InstCombine/pr83947.ll
M llvm/test/Transforms/InstSimplify/call.ll
Log Message:
-----------
[VectorUtils] Replace maskIsAll{Zero,One}OrUndef with PatternMatch (#200040)
As part of the ongoing effort to deprecate UndefValue, and also to take
better advantage of pattern matching, eliminate the VectorUtils
functions `maskIsAllZeroOrUndef`/`maskIsAllOneOrUndef` and replace them
with new matchers `m_ZeroOrPoison` and `m_AllOnesOrPoison`.
The new matchers are simply `m_CombineOr` on `m_Zero`/`m_AllOnes` and
`m_Poison`. `m_Zero` and `m_AllOnes` already match vectors where some
(but not all) elements are poison, so these matchers were created to
also match the case where all elements are poison.
This affects InstCombine/InstSimplify with a mask containing `undef` for
the intrinsics `llvm.masked.load`, `llvm.masked.store`,
`llvm.masked.gather`, and `llvm.masked.scatter`.
Some relevant tests were altered to use poison instead of undef, and
test coverage for masked loads/stores with poison was increased.
Commit: f834b7f55feb37191405bf28cca52f53f4c1873f
https://github.com/llvm/llvm-project/commit/f834b7f55feb37191405bf28cca52f53f4c1873f
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
M offload/plugins-nextgen/level_zero/include/L0Queue.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Queue.cpp
Log Message:
-----------
[OFFLOAD][L0] Move dataFence logic to L0Queue (#201046)
The dataFence device operation logic was still on L0Device. With this all the operations working on command lists have their logic consolidated in L0Queue.
Commit: 3dfd4f784d7d0837252482f28ed2c0ca99a109b0
https://github.com/llvm/llvm-project/commit/3dfd4f784d7d0837252482f28ed2c0ca99a109b0
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Refactor buildOriginFlowChain to use PImpl pattern (#201071)
Move `buildOriginFlowChain` into `AnalysisImpl`, removing `FactManager`
parameter
Commit: b54d214b77aac2bab9b949bb4bdd3cc511fbe944
https://github.com/llvm/llvm-project/commit/b54d214b77aac2bab9b949bb4bdd3cc511fbe944
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rvi-pseudos.s
Log Message:
-----------
[llvm][RISCV][MC] Fix arithmetic error in pseudo parsing (#200217)
When arithmetic was used in RISCV pseudo instructions, like lla, the
custom parsing breaks the associativity of the operators by parsing the
entire remainder of an expression. This would lead to scenarios where we
would parse `top - 0x100 -0x10` as `top - (0x100 -0x10)` and yield the
wrong offset (`0xF0`(wrong) vs. `0x110`(correct)).
Instead, don't advance the parser and just examine the token to
determine if it's an identifier and if we should handle this case or
bail out. In cases we do handle, just use `parseExpression()`, which
will handle this correctly.
Commit: 0212229ac05d60314db7dfb8ae89c11a015bb7bc
https://github.com/llvm/llvm-project/commit/0212229ac05d60314db7dfb8ae89c11a015bb7bc
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M .ci/green-dragon/lldb-windows.groovy
Log Message:
-----------
[CI] install packaging before running lldb tests on Windows (#201112)
https://ci-external.swift.org/job/lldb-windows/job/main/ is failing
because lldb API tests require the `packaging` module.
This patch installs it before running the `check-lldb` target.
Commit: 63a1b9d6386cb574e3007f7b6174eb6777916815
https://github.com/llvm/llvm-project/commit/63a1b9d6386cb574e3007f7b6174eb6777916815
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/sve-ldst-multi-vec.mir
Log Message:
-----------
[AArch64][SME] Add multi-vector store/load opcodes to getMemOpInfo (#201073)
Follow-up to #200238
Commit: 9083fb24c709238b1f18f0486bcf014e490e1997
https://github.com/llvm/llvm-project/commit/9083fb24c709238b1f18f0486bcf014e490e1997
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/test/API/commands/register/aarch64_dynamic_regset/main.c
M lldb/test/API/commands/register/aarch64_sve_registers/rw_access_static_config/main.c
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/test/CodeGen/AArch64/aarch64-sme-za-call-lowering.ll
M llvm/test/CodeGen/AArch64/aarch64-sysreg128.ll
R llvm/test/CodeGen/AArch64/arm64-invalid-sys-reg.ll
A llvm/test/CodeGen/AArch64/arm64-named-reg-notareg.ll
M llvm/test/CodeGen/AArch64/expand-sme-pseudos.mir
M llvm/test/CodeGen/AArch64/machine-sme-abi-find-insert-pt.mir
M llvm/test/CodeGen/AArch64/machine-sme-abi-skip-debug-inst.mir
M llvm/test/CodeGen/AArch64/sme-abi-eh-liveins.mir
M llvm/test/CodeGen/AArch64/sme-lazy-sve-nzcv-live.mir
M llvm/test/CodeGen/AArch64/special-reg.ll
M llvm/test/MC/AArch64/arm64-system-encoding.s
M llvm/test/MC/AArch64/armv9-mrrs-diagnostics.s
M llvm/test/MC/AArch64/armv9-mrrs.s
M llvm/test/MC/AArch64/armv9-msrr-diagnostics.s
M llvm/test/MC/AArch64/armv9-msrr.s
M llvm/test/MC/AArch64/basic-a64-instructions.s
M llvm/test/MC/Disassembler/AArch64/armv8.2a-uao.txt
M llvm/test/MC/Disassembler/AArch64/armv8.4a-dit.txt
M llvm/test/MC/Disassembler/AArch64/armv8.5a-dataproc.txt
M llvm/test/MC/Disassembler/AArch64/armv8.5a-mte.txt
M llvm/test/MC/Disassembler/AArch64/armv8.5a-sb.txt
M llvm/test/MC/Disassembler/AArch64/armv8.5a-ssbs.txt
M llvm/test/MC/Disassembler/AArch64/armv8.7a-wfxt.txt
M llvm/test/MC/Disassembler/AArch64/armv8.7a-xs.txt
M llvm/test/MC/Disassembler/AArch64/armv8.8a-nmi.txt
M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
Log Message:
-----------
Revert "[AArch64] Fix definition of system register move instructions" (#201137)
Reverts llvm/llvm-project#185709
Commit: 516867bc96ae3e3a40b296f038d24ee53cf0f5c0
https://github.com/llvm/llvm-project/commit/516867bc96ae3e3a40b296f038d24ee53cf0f5c0
Author: Henry Jiang <henry_jiang2 at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/PseudoProbeInserter.cpp
A llvm/test/CodeGen/AArch64/aarch64-pseudo-probe-tail-call.ll
A llvm/test/CodeGen/X86/pseudo-probe-tail-call.ll
Log Message:
-----------
[PseudoProbe] Preserve pseudoprobe for tailcall pseudo instrs (#197246)
Preserve probes for tail call pseudo instructions.
On AArch64, X86, and other platforms, the lowering of tail calls
requires a pseudo instruction like `TCRETURNdi`. It is often the case
that `TCRETURNdi` is within its own MBB, and the direct call probe
associated with that tail call is considered dangling and removed. This
patch tries to preserve that.
Commit: cf25fb1e0809aaf4dbb13f2b837d47e329f595b8
https://github.com/llvm/llvm-project/commit/cf25fb1e0809aaf4dbb13f2b837d47e329f595b8
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Semantics/OpenMP/declare-variant-match.f90
M flang/test/Semantics/OpenMP/declare-variant.f90
Log Message:
-----------
[flang][OpenMP] Add structure checks for DECLARE VARIANT (#198799)
This PR adds declare-variant structure checking. Following checks are
added:
- Validate [base:]variant arguments (including implicit base for
single-name form).
- Require exactly one MATCH clause; reject a second MATCH on the same
directive.
- Reject duplicate (base, variant) across multiple declare variant
directives.
- Reject clauses not allowed on declare variant.
- Apply shared context-selector checks to MATCH (reuse metadirective
logic).
- Require constant user conditions in MATCH for declare variant (dynamic
selectors deferred).
Refactor metadirective support:
- Extract CheckContextSelectorSpecification for reuse.
- Reject SCORE on trait sets that do not allow it (also affects
metadirective).
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 9f790fcc1f09ce4237801a7bb357d31a4c6050fb
https://github.com/llvm/llvm-project/commit/9f790fcc1f09ce4237801a7bb357d31a4c6050fb
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
Log Message:
-----------
[SPIR-V] Fix i8 pointer type for NULL events in OpEnqueueKernel (#201125)
Commit: 7b199bdb2fe3d852684fab77bfdd3141dbc987f9
https://github.com/llvm/llvm-project/commit/7b199bdb2fe3d852684fab77bfdd3141dbc987f9
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/include/lldb/Symbol/Symbol.h
Log Message:
-----------
[lldb] Fix Symbol static_assert for 32 bit Windows (#201130)
Follow up to
https://github.com/llvm/llvm-project/pull/200919#issuecomment-4600914496
Commit: 22ef7baaf6dc409a353af42ff52599b2746107ca
https://github.com/llvm/llvm-project/commit/22ef7baaf6dc409a353af42ff52599b2746107ca
Author: Jake Daly <48452250+jakemdaly at users.noreply.github.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticIDs.h
Log Message:
-----------
[clang][NFC] Bump the maximum number of Sema diagnostics (#200948)
The number of Sema diagnostics in DiagnosticSemaKinds.td has reached the
5000 limit. This PR increases the max limit to 6000.
Commit: af5506c5c12d73439a9fc6f1951caf1cbde183cc
https://github.com/llvm/llvm-project/commit/af5506c5c12d73439a9fc6f1951caf1cbde183cc
Author: Petr Hosek <phosek at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64.ll
M llvm/test/CodeGen/RISCV/emit-x8-as-fp.ll
M llvm/test/CodeGen/RISCV/frame.ll
M llvm/test/CodeGen/RISCV/frameaddr-returnaddr.ll
M llvm/test/CodeGen/RISCV/ipra.ll
M llvm/test/CodeGen/RISCV/large-stack.ll
M llvm/test/CodeGen/RISCV/local-stack-slot-allocation.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
M llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
M llvm/test/CodeGen/RISCV/rv64-statepoint-call-lowering-x2.ll
M llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll
M llvm/test/CodeGen/RISCV/rvv/stack-probing-dynamic.ll
M llvm/test/CodeGen/RISCV/vararg-ilp32e.ll
M llvm/test/CodeGen/RISCV/vararg.ll
M llvm/test/CodeGen/RISCV/xqccmp-callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll
M llvm/test/DebugInfo/RISCV/relax_dwo_ranges.ll
Log Message:
-----------
Revert "[RISCV] Prefer SP over FP for frame index access when offset fits within compressed immediate range. (#193962)" (#201041)
This reverts commits:
* 46e07d38e078799fa83386ef2b3b5ee423a467c5
* b5d577d3faef34276991fe80b5f869e3f8ef7442
This change is causing a miscompile in zstd, see the discussion under
https://github.com/llvm/llvm-project/pull/193962 for more details.
Commit: a6615588ac141ca87c4197f3484e80cb88899cee
https://github.com/llvm/llvm-project/commit/a6615588ac141ca87c4197f3484e80cb88899cee
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
Log Message:
-----------
[AMDGPU] Add IGLP mutations to CoexecSched (#200981)
Adds IGLP mutations support to CoexecSched -- regular handling of this
mutation in GCNSchedStage is implemented in GCNSchedStrategy.cpp
Commit: b65054f66b0a0d62c1a5fe0b3d7749696058d1c8
https://github.com/llvm/llvm-project/commit/b65054f66b0a0d62c1a5fe0b3d7749696058d1c8
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
A llvm/include/llvm/Transforms/Utils/TriggerCrashPass.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/TriggerCrashPass.cpp
A llvm/test/Other/trigger-crash-flags.ll
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
Reland [LLVM] Add flags to crash the opt/codegen pipeline (#201146)
Will be used for testing crash reduction.
Reland of #200967. Test needs `REQUIRES: backtrace`.
Commit: 836bf567e622a2e083a0c850b861b450fc97b915
https://github.com/llvm/llvm-project/commit/836bf567e622a2e083a0c850b861b450fc97b915
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/APSInt.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/BitVector.h
M llvm/include/llvm/ADT/CachedHashString.h
M llvm/include/llvm/ADT/DenseMapInfo.h
M llvm/include/llvm/ADT/DenseMapInfoVariant.h
M llvm/include/llvm/ADT/Hashing.h
M llvm/include/llvm/ADT/ImmutableList.h
M llvm/include/llvm/ADT/PointerEmbeddedInt.h
M llvm/include/llvm/ADT/PointerIntPair.h
M llvm/include/llvm/ADT/PointerSumType.h
M llvm/include/llvm/ADT/PointerUnion.h
M llvm/include/llvm/ADT/SmallBitVector.h
M llvm/include/llvm/ADT/SmallVector.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Support/FileSystem/UniqueID.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/Support/UniqueBBID.h
M llvm/include/llvm/Support/VersionTuple.h
M llvm/lib/Support/StringRef.cpp
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ADT/DenseSetTest.cpp
M llvm/unittests/ADT/MapVectorTest.cpp
M llvm/unittests/Support/ReverseIterationTest.cpp
Log Message:
-----------
[ADT] Remove unused DenseMapInfo::getTombstoneKey (#200959)
#200595 changed DenseMap to no longer create tombstone buckets, so
DenseMapInfo<T>::getTombstoneKey() is never called. Remove dead
definitions and dead tombstone branches.
Commit: e3bc0828d8562468161d64e86a2fb06d39ca8d6f
https://github.com/llvm/llvm-project/commit/e3bc0828d8562468161d64e86a2fb06d39ca8d6f
Author: David Tenty <daltenty at ibm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
A llvm/test/CodeGen/PowerPC/aix-codemodel.ll
M llvm/test/CodeGen/PowerPC/ppc-i128-cmp.ll
Log Message:
-----------
[AIX][LLVM] Update the default code model for 64-bit (#199301)
This changes the default code model on 64-bit AIX to large.
For many applications, the existing small code model is simply
inadequate to build. Users often then end up relying on expensive linker
fixups (i.e. -Wl,-bigtoc) to work around the issue when they would have
been better served by moving to the larger code model. Our analysis and
benchmarking leads us to believe this's generally a net benefit to
users.
(Assisted by AI)
Commit: 824fc060d46abbeda94c9a787ef94a81fbf12230
https://github.com/llvm/llvm-project/commit/824fc060d46abbeda94c9a787ef94a81fbf12230
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device-2.mlir
Log Message:
-----------
[Flang][OpenMP] Declare Target fixes for USM and declare target to (#200248)
Currently declare target enter would fall through the if statement even
though it's a synonym of declare target to, so fix this via adding a
simpler and more readable check for link clause instead.
USM declare target to works a little differently to regular link cases,
where the type is actually converted into a pointer, rather than a
global of the original typing. So, add a caveat where we convert the
type to a pointer if requires usm has been triggered. This gets the
correct behaviour in USM mode on USM devices.
Commit: 3658dafe2c26c3e1242ff0505b9e8f95f0f5abf1
https://github.com/llvm/llvm-project/commit/3658dafe2c26c3e1242ff0505b9e8f95f0f5abf1
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/Basic/Targets/OSTargets.h
Log Message:
-----------
[Driver] Switch clang++ to default Solaris 11.4 compilation environment (#201063)
`clang++` has long followed `g++`'s lead predefining `_XOPEN_SOURCE=600`
on Solaris. As detailed in [Switch g++ to default Solaris 11.4
compilation
environment](https://gcc.gnu.org/pipermail/gcc-patches/2026-May/716990.html),
this is no longer necessary in Solaris 11.4.
Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11`.
Commit: 55af104f1c9eeb93ca127104b810bc2520100f9c
https://github.com/llvm/llvm-project/commit/55af104f1c9eeb93ca127104b810bc2520100f9c
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp
M lldb/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp
Log Message:
-----------
[lldb][windows] return false in default branch of RegisterContextWindows_*::WriteRegister (#200885)
Commit: bc056ea2c2948d51455f6cf75975e4980b8b908f
https://github.com/llvm/llvm-project/commit/bc056ea2c2948d51455f6cf75975e4980b8b908f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/index/StdLib.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang/include/clang/Basic/FileManager.h
R clang/include/clang/Basic/FileSystemStatCache.h
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/FileManager.cpp
R clang/lib/Basic/FileSystemStatCache.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/unittests/Basic/FileManagerTest.cpp
Log Message:
-----------
[clang] Remove `FileSystemStatCache` (#198411)
This mechanism is not used anywhere, and can be easily reimplemented in
terms of a VFS if needed.
Commit: 13e532562f13ce94c7b7ffc8621252de92a29a42
https://github.com/llvm/llvm-project/commit/13e532562f13ce94c7b7ffc8621252de92a29a42
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
Log Message:
-----------
[lldb] Skip simulator platform tests on arm64e (#200505)
Simulators do not support arm64e.
Commit: d9cf2e1bc5aaf2eaacc36c765b63429d42ac0c60
https://github.com/llvm/llvm-project/commit/d9cf2e1bc5aaf2eaacc36c765b63429d42ac0c60
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/SystemZ.cpp
A clang/test/CodeGen/SystemZ/zos-abi.c
A clang/test/CodeGen/SystemZ/zos-abi.cpp
Log Message:
-----------
[SystemZ][z/OS] Add XPLink ABI on z/OS (#188501)
This patch introduces full support for the XPLINK calling convention on
z/OS within LLVM. XPLINK is documented in the Language Environment
Vendor Interface ([Chapter
22](https://www.ibm.com/docs/en/zos/3.2.0?topic=applications-call-linkage-convention-amode-64))
and in the IBM Redbook [XPLink: OS/390 Extra Performance
Linkage](http://www.redbooks.ibm.com/abstracts/sg245991.html?Open
). It defines a high‑performance linkage model used by the z/OS Language
Environment (LE) and by the XL C/C++ compiler.
This work succeeds and replaces the earlier effort in [PR
101024](https://github.com/llvm/llvm-project/pull/101024). The present
implementation restructures the original approach, significantly expands
test coverage, and aligns more closely with both the architectural
requirements of XPLINK and the de‑facto ABI behaviour of XL C/C++.
Commit: 6dfef47047def67fc141248eb8e7e2a67e4307e7
https://github.com/llvm/llvm-project/commit/6dfef47047def67fc141248eb8e7e2a67e4307e7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M libcxx/test/libcxx/atomics/builtin_clear_padding.pass.cpp
Log Message:
-----------
[clang] Treat unnamed bitfields as padding in `__builtin_clear_padding` (#201102)
Currently Clang's implementation of `__builtin_clear_padding` diverges
from GCC in its treatment of unnamed bitfields.
GCC treats them as padding (which seems correct since they can't be
named and wouldn't be part of the value representation of an object,
though I'm not sure what the standard has to say about this).
[Gobdolt](https://godbolt.org/z/e9Mo91dhh)
GCC trunk:
```
pre-clear bytes: ff ff ff ff
post-clear bytes: 01 00 00 80
```
Clang trunk:
```
pre-clear bytes: ff ff ff ff
post-clear bytes: ff ff ff ff
```
Note how we cleared the padding with GCC.
This patch skips marking unnamed bitfields as "occupied". The rest of
the machinery works out-of-the-box.
Commit: 2511bdd645ee7b2ce01064b5fc31524c5e532480
https://github.com/llvm/llvm-project/commit/2511bdd645ee7b2ce01064b5fc31524c5e532480
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/test/API/qemu/TestQemuLaunch.py
Log Message:
-----------
[lldb] Skip TestQemuLaunch.py on arm64e (#200969)
This test is set up to use a python-based qemu-like stub instead of the
actual qemu (which makes it far more portable). When trying to run the
test as arm64e, LLDB will attempt to launch an arm64e-based qemu.
Because the fake qemu is a python script, LLDB will try to launch python
as arm64e. Neither the python that ships with Xcode nor the python from
python.org have an arm64e slice, so this test will not work for arm64e.
Commit: 05d152bd59372aa3e10bbf06deae5795a81052d9
https://github.com/llvm/llvm-project/commit/05d152bd59372aa3e10bbf06deae5795a81052d9
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_in6_addr.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_in6_addr.h
M libc/include/netinet/in.yaml
M libc/test/src/netinet/CMakeLists.txt
A libc/test/src/netinet/in_test.cpp
Log Message:
-----------
[libc] Add definition of struct in6_addr to netinet/in.h (#201057)
This patch implements the struct in6_addr definition for netinet/in.h,
mapping it from netinet/in.yaml to the generated public header.
I've defined struct in6_addr under include/llvm-libc-types/ using an
anonymous union containing s6_addr, s6_addr16, and s6_addr32 (only the
first one is mandated by POSIX). Other implementations achieve this by
using a named union and defining the members as macros. This approach is
cleaner, but could potentially run into compatibility problems with code
which expects s6_addr is a macro. If we do, we may have to re-evaluate
this approach, but I'd like to avoid uglyfying this preemptively.
I added a simple test to check the memory layout of the address.
Assisted by Gemini.
Commit: fe2f7e40994574dd5d7efa4da8be5d9237905416
https://github.com/llvm/llvm-project/commit/fe2f7e40994574dd5d7efa4da8be5d9237905416
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/function-sections.f90
A flang/test/Integration/function-sections.f90
Log Message:
-----------
[flang] Support -ffunction-sections and -fdata-sections. (#199731)
Wire the flags through the driver, frontend, and TargetMachine, and add
driver and codegen lit tests.
Fixes https://github.com/llvm/llvm-project/issues/163550
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: f3dcf16115f862f6fa5ea8e520b371f7e57a9c3d
https://github.com/llvm/llvm-project/commit/f3dcf16115f862f6fa5ea8e520b371f7e57a9c3d
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-06-02 (Tue, 02 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/begin-metadirective.f90
A flang/test/Lower/OpenMP/Todo/metadirective-declarative.f90
A flang/test/Lower/OpenMP/Todo/metadirective-dynamic.f90
R flang/test/Lower/OpenMP/Todo/metadirective-exec.f90
A flang/test/Lower/OpenMP/Todo/metadirective-loop.f90
R flang/test/Lower/OpenMP/Todo/metadirective-spec.f90
A flang/test/Lower/OpenMP/Todo/metadirective-structured-trait-property.f90
A flang/test/Lower/OpenMP/Todo/metadirective-target-device.f90
A flang/test/Lower/OpenMP/metadirective-construct.f90
A flang/test/Lower/OpenMP/metadirective-device-arch.f90
A flang/test/Lower/OpenMP/metadirective-device-isa.f90
A flang/test/Lower/OpenMP/metadirective-device-kind.f90
A flang/test/Lower/OpenMP/metadirective-implementation.f90
A flang/test/Lower/OpenMP/metadirective-nothing.f90
A flang/test/Lower/OpenMP/metadirective-user.f90
M flang/test/Semantics/OpenMP/metadirective-common.f90
Log Message:
-----------
[flang][OpenMP] Support lowering of metadirective (part 1) (#193664)
Add lowering support for OpenMP metadirective variants that can be
selected statically. Selection is performed during lowering with
`llvm::omp::OMPContext`, and only the selected directive variant is
lowered.
For example:
```fortran
subroutine static_vendor()
!$omp metadirective &
!$omp & when(implementation={vendor(llvm)}: barrier) &
!$omp & otherwise(nothing)
end subroutine
```
is lowered to a function containing `omp.barrier`, because `vendor(llvm)` is statically applicable when compiling with Flang.
Applicable variants are represented with `llvm::omp::VariantMatchInfo` and ranked using OpenMP context matching and selector scores from the LLVM frontend.
This patch supports both standalone metadirectives and begin/end
metadirectives. For begin/end metadirectives, the variant is selected
before lowering the enclosed region so that the selected directive
correctly wraps the region.
This initial static-resolution PR supports:
* implementation={vendor(...)}
* device={kind(...), isa(...), arch(...)}
* user={condition(<constant-expr>)}
* construct={parallel, target, teams, for}
* default, nothing, and otherwise clauses
This patch also preserves `score(...)` on constant user conditions so scored conditions participate correctly in variant ranking. When matching nested construct selectors, it includes constructs introduced by an enclosing selected begin/end metadirective.
Dynamic user conditions (#194424), `target_device` selectors, loop-associated directive variants, and complete construct support are deferred to follow-up patches.
This patch is part of the feature work for #188820.
Assisted by GitHub Copilot and GPT-5.4.
Commit: 0d51fec35520f39f9b2f55989f50d694244c7582
https://github.com/llvm/llvm-project/commit/0d51fec35520f39f9b2f55989f50d694244c7582
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/shift-opt.ll
Log Message:
-----------
[NVPTX] PerformSELECTShiftCombine drops high bits of a wide guarded shift amount (#201165)
LLVM shifts produce poison if you shift greater than the width of the
operand. But PTX shifts clamp the shift amount:
> shl/shr: Shift amounts greater than the register width N are clamped
> to N.
NVPTXISelLowering looks for shl/shr which guard against an out-of-range
shift and lower these to an unguarded PTX shift:
define i64 @f(i64 %x, i64 %shift) {
%cmp = icmp ult i64 %shift, 64
%shl = shl i64 %x, %shift
%sel = select i1 %cmp, i64 %shl, i64 0
ret i64 %sel
}
In PTX shifts the shift amount is always i32, whereas in LLVM the shift
amount is the same type as the "shiftee". Therefore in the i64 case,
this lowering is only sound if we know that the upper 32 bits of the
shift amount are all zero.
Commit: e21e5489588c2944d5071b52bdbca684a72c756f
https://github.com/llvm/llvm-project/commit/e21e5489588c2944d5071b52bdbca684a72c756f
Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
Date: 2026-06-02 (Tue, 02 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] Upstream vector-shift-right-and-accumulate NEON builtins (#200630)
Related to https://github.com/llvm/llvm-project/issues/185382
CIR lowering for vector-shift-right-and-accumulate
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#vector-shift-right-and-accumulate)
Port tests from `clang/test/CodeGen/AArch64/neon_intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/intrinsics.c`
Commit: ff1c751223a0e99a4563743abaaa5faa50d2ed6e
https://github.com/llvm/llvm-project/commit/ff1c751223a0e99a4563743abaaa5faa50d2ed6e
Author: Jun Wang <jwang_2024 at outlook.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/docs/AMDGPU/AMDGPUAsmGFX12.rst
R llvm/docs/AMDGPU/gfx12_addr.rst
R llvm/docs/AMDGPU/gfx12_attr.rst
R llvm/docs/AMDGPU/gfx12_clause.rst
R llvm/docs/AMDGPU/gfx12_data0_56f215.rst
R llvm/docs/AMDGPU/gfx12_data0_6802ce.rst
R llvm/docs/AMDGPU/gfx12_data0_e016a1.rst
R llvm/docs/AMDGPU/gfx12_data0_fd235e.rst
R llvm/docs/AMDGPU/gfx12_data1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_data1_731030.rst
R llvm/docs/AMDGPU/gfx12_data1_e016a1.rst
R llvm/docs/AMDGPU/gfx12_data1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_delay.rst
R llvm/docs/AMDGPU/gfx12_hwreg.rst
R llvm/docs/AMDGPU/gfx12_imm16.rst
R llvm/docs/AMDGPU/gfx12_ioffset.rst
R llvm/docs/AMDGPU/gfx12_label.rst
R llvm/docs/AMDGPU/gfx12_literal_1f74c7.rst
R llvm/docs/AMDGPU/gfx12_literal_81e671.rst
R llvm/docs/AMDGPU/gfx12_m.rst
A llvm/docs/AMDGPU/gfx12_operands.rst
R llvm/docs/AMDGPU/gfx12_rsrc_5fe6d8.rst
R llvm/docs/AMDGPU/gfx12_rsrc_c9f929.rst
R llvm/docs/AMDGPU/gfx12_saddr_cdc95c.rst
R llvm/docs/AMDGPU/gfx12_saddr_d42b64.rst
R llvm/docs/AMDGPU/gfx12_samp.rst
R llvm/docs/AMDGPU/gfx12_sbase_453b95.rst
R llvm/docs/AMDGPU/gfx12_sbase_47adb7.rst
R llvm/docs/AMDGPU/gfx12_sdata_0974a4.rst
R llvm/docs/AMDGPU/gfx12_sdata_354189.rst
R llvm/docs/AMDGPU/gfx12_sdata_4585b8.rst
R llvm/docs/AMDGPU/gfx12_sdata_5c7b50.rst
R llvm/docs/AMDGPU/gfx12_sdata_6c003b.rst
R llvm/docs/AMDGPU/gfx12_sdata_836716.rst
R llvm/docs/AMDGPU/gfx12_sdata_d725ab.rst
R llvm/docs/AMDGPU/gfx12_sdata_dd9dd8.rst
R llvm/docs/AMDGPU/gfx12_sdst_006c40.rst
R llvm/docs/AMDGPU/gfx12_sdst_20064d.rst
R llvm/docs/AMDGPU/gfx12_sdst_354189.rst
R llvm/docs/AMDGPU/gfx12_sdst_836716.rst
R llvm/docs/AMDGPU/gfx12_sdst_ced58d.rst
R llvm/docs/AMDGPU/gfx12_sdst_e701cc.rst
R llvm/docs/AMDGPU/gfx12_sendmsg.rst
R llvm/docs/AMDGPU/gfx12_sendmsg_rtn.rst
R llvm/docs/AMDGPU/gfx12_simm16_15ccdd.rst
R llvm/docs/AMDGPU/gfx12_simm16_218bea.rst
R llvm/docs/AMDGPU/gfx12_simm16_39b593.rst
R llvm/docs/AMDGPU/gfx12_simm16_3d2a4f.rst
R llvm/docs/AMDGPU/gfx12_simm16_730a13.rst
R llvm/docs/AMDGPU/gfx12_simm16_7ed651.rst
R llvm/docs/AMDGPU/gfx12_simm16_81e671.rst
R llvm/docs/AMDGPU/gfx12_simm16_c98889.rst
R llvm/docs/AMDGPU/gfx12_simm16_cc1716.rst
R llvm/docs/AMDGPU/gfx12_simm16_ee8b30.rst
R llvm/docs/AMDGPU/gfx12_soffset_8ec073.rst
R llvm/docs/AMDGPU/gfx12_soffset_c5b88c.rst
R llvm/docs/AMDGPU/gfx12_soffset_ec005a.rst
R llvm/docs/AMDGPU/gfx12_src0_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src0_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src0_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src0_85aab6.rst
R llvm/docs/AMDGPU/gfx12_src0_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src0_e016a1.rst
R llvm/docs/AMDGPU/gfx12_src0_fd235e.rst
R llvm/docs/AMDGPU/gfx12_src1_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src1_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src1_731030.rst
R llvm/docs/AMDGPU/gfx12_src1_977794.rst
R llvm/docs/AMDGPU/gfx12_src1_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src1_e016a1.rst
R llvm/docs/AMDGPU/gfx12_src1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_src2_2797bc.rst
R llvm/docs/AMDGPU/gfx12_src2_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src2_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src2_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src2_7b936a.rst
R llvm/docs/AMDGPU/gfx12_src2_96fbd3.rst
R llvm/docs/AMDGPU/gfx12_src2_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src2_e016a1.rst
R llvm/docs/AMDGPU/gfx12_srcx0.rst
R llvm/docs/AMDGPU/gfx12_srcy0.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_007f9c.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_1a9ca5.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_245536.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_2797bc.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_bbb4c6.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_c4593f.rst
R llvm/docs/AMDGPU/gfx12_ssrc1_bbb4c6.rst
R llvm/docs/AMDGPU/gfx12_ssrc1_c4593f.rst
R llvm/docs/AMDGPU/gfx12_tgt.rst
R llvm/docs/AMDGPU/gfx12_vaddr_a972b9.rst
R llvm/docs/AMDGPU/gfx12_vaddr_c12f43.rst
R llvm/docs/AMDGPU/gfx12_vaddr_c8b8d4.rst
R llvm/docs/AMDGPU/gfx12_vaddr_d82160.rst
R llvm/docs/AMDGPU/gfx12_vaddr_f2b449.rst
R llvm/docs/AMDGPU/gfx12_vcc.rst
R llvm/docs/AMDGPU/gfx12_vdata_2eda77.rst
R llvm/docs/AMDGPU/gfx12_vdata_48e42f.rst
R llvm/docs/AMDGPU/gfx12_vdata_69a144.rst
R llvm/docs/AMDGPU/gfx12_vdata_89680f.rst
R llvm/docs/AMDGPU/gfx12_vdata_aac3e8.rst
R llvm/docs/AMDGPU/gfx12_vdata_bdb32f.rst
R llvm/docs/AMDGPU/gfx12_vdst_006c40.rst
R llvm/docs/AMDGPU/gfx12_vdst_227281.rst
R llvm/docs/AMDGPU/gfx12_vdst_2eda77.rst
R llvm/docs/AMDGPU/gfx12_vdst_47d3bc.rst
R llvm/docs/AMDGPU/gfx12_vdst_48e42f.rst
R llvm/docs/AMDGPU/gfx12_vdst_69a144.rst
R llvm/docs/AMDGPU/gfx12_vdst_7de8e7.rst
R llvm/docs/AMDGPU/gfx12_vdst_836716.rst
R llvm/docs/AMDGPU/gfx12_vdst_89680f.rst
R llvm/docs/AMDGPU/gfx12_vdst_bdb32f.rst
R llvm/docs/AMDGPU/gfx12_vdstx.rst
R llvm/docs/AMDGPU/gfx12_vdsty.rst
R llvm/docs/AMDGPU/gfx12_version.rst
R llvm/docs/AMDGPU/gfx12_vsrc0.rst
R llvm/docs/AMDGPU/gfx12_vsrc1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_vsrc1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_vsrc2.rst
R llvm/docs/AMDGPU/gfx12_vsrc3.rst
R llvm/docs/AMDGPU/gfx12_vsrc_56f215.rst
R llvm/docs/AMDGPU/gfx12_vsrc_6802ce.rst
R llvm/docs/AMDGPU/gfx12_vsrc_89fd7b.rst
R llvm/docs/AMDGPU/gfx12_vsrc_e016a1.rst
R llvm/docs/AMDGPU/gfx12_vsrc_fd235e.rst
R llvm/docs/AMDGPU/gfx12_vsrcx1.rst
R llvm/docs/AMDGPU/gfx12_vsrcy1.rst
R llvm/docs/AMDGPU/gfx12_waitcnt.rst
Log Message:
-----------
[AMDGPU][docs][NFC] Update gfx12 documentation (#200976)
Following what we did with the GFX950 documentation, this patch replaces
the multitude of rst files for GFX12 operands with a single file. Some
problems are fixed as well, e.g., different opcodes in the same encoding
(e.g., VDS) may have different modifiers.
Commit: 9c61a544c60b9e100d855aa95fa66b07d56a2bdf
https://github.com/llvm/llvm-project/commit/9c61a544c60b9e100d855aa95fa66b07d56a2bdf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/copyable-operand-non-scheduled-parent-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-bin-op-user.ll
Log Message:
-----------
[SLP] Schedule copyable operands modeled on non-scheduled parent nodes
A node that does not need scheduling (all values used outside the block)
has no schedule bundle, yet it can still model one of its operands as a
copyable element, registering the ScheduleCopyableData on that parent
edge. If the instruction carrying that dependency is scheduled through a
different (duplicate) bundle, the copyable dependency on the non-scheduled
edge was never decremented.
When scheduling a bundle member, also process the instruction's tree
entries that have no registered bundle via pseudo-bundles, so their
copyable operand dependencies are decremented. Real operand dependencies
are guarded against double counting by the per-operand use counter.
Fixes #200831.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/201182
Commit: c6c633740c305684645ec2b093bf36587fdbc54f
https://github.com/llvm/llvm-project/commit/c6c633740c305684645ec2b093bf36587fdbc54f
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/arpa/inet.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/inet-address-macros.h
M libc/include/llvm-libc-macros/netinet-in-macros.h
M libc/include/netinet/in.yaml
M libc/utils/docgen/arpa/inet.yaml
Log Message:
-----------
[libc] Move INET_ADDRSTRLEN and INET6_ADDRSTRLEN to a common header (#201083)
INET_ADDRSTRLEN and INET6_ADDRSTRLEN are needed by both <netinet/in.h>
and <arpa/inet.h>. Previously we had them defined directly inside
netinet-in-macros.h, which meant arpa/inet.h did not have access to
them.
I've moved them to a new inet-address-macros.h header and configured
both YAML header targets to depend on it so they get included in both
generated headers.
I'm also updating the docgen YAML file for arpa/inet.h to document these
macros.
Note that other libc implementations simply have arpa/inet.h include
netinet/in.h (which is permitted by POSIX). This implementation takes a
stricter stance and only exposes the symbols which are specified by
POSIX.
Assisted by Gemini.
Commit: 1d77b84e5133bfd39489ed6f119beff91f9db194
https://github.com/llvm/llvm-project/commit/1d77b84e5133bfd39489ed6f119beff91f9db194
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] incDecVectorConstant - use getConstVector (#201169)
Avoids wasteful SDValue creation if the fold fails
Commit: 6656fa57d610475a55ed1dd909e40b00190a4615
https://github.com/llvm/llvm-project/commit/6656fa57d610475a55ed1dd909e40b00190a4615
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
Log Message:
-----------
[SandboxVec][VecUtils][NFC] Improve VecUtils::areConsecutive() template (#201168)
This helps drop the second template argument.
Commit: 7d2dce084307356948a3ef78c902fd68558afe2e
https://github.com/llvm/llvm-project/commit/7d2dce084307356948a3ef78c902fd68558afe2e
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/Commands/CommandObjectSettings.cpp
Log Message:
-----------
[LLDB] Add always-on logging for "settings set" (#201185)
When triaging bugreports it can be very useful to understand what LLDB
defaults have been changed. Adding settings to the always-on logging
channel helps with that.
rdar://176482205
Assisted-by: claude
Commit: 51f698d450133946c84b1702f7f460eedf701a84
https://github.com/llvm/llvm-project/commit/51f698d450133946c84b1702f7f460eedf701a84
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/utils/gn/build/sync_source_lists_from_cmake.py
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/DynamicLoader/Windows-DYLD/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Windows/Common/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#201189)
And fix an issue with sync_source_lists_from_cmake.py breaking
Transforms/IPO/BUILD.gn.
5148d2de75ec
6180a4899ff9
bc056ea2c294
ff2fec30ac7c
Commit: f77f5088145b008f17799487e07a92c66e749567
https://github.com/llvm/llvm-project/commit/f77f5088145b008f17799487e07a92c66e749567
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
A llvm/test/tools/dsymutil/Inputs/drop-module-fwd-decl/debug-map.map
A llvm/test/tools/dsymutil/Inputs/drop-module-fwd-decl/input.ll
A llvm/test/tools/dsymutil/Inputs/keep-module-fwd-decl-template/debug-map.map
A llvm/test/tools/dsymutil/Inputs/keep-module-fwd-decl-template/input.ll
A llvm/test/tools/dsymutil/X86/drop-module-fwd-decl.test
A llvm/test/tools/dsymutil/X86/keep-module-fwd-decl-template.test
M llvm/test/tools/dsymutil/X86/submodules.m
Log Message:
-----------
[DWARFLinker] Preserve module forward decls in parallel linker (#198828)
The parallel linker was dropping forward-declared types nested under
DW_TAG_module skeleton CUs (clang -gmodules input). The classic linker
keeps them when no definition exists and replaces them with the
canonical definition when one does. collectRootsToKeep's default branch
silently fell through, so the forward decl never made it to the
worklist.
Route these through the type pool with MarkTypeEntryRec. Recursive
marking keeps children of templated forward decls (e.g.
DW_TAG_template_type_parameter under Foo<T> [decl]) intact, matching the
classic linker. The existing decl-vs-def race resolution in
allocateTypeDie and getFinalDie handles both ends without new
synchronization.
- No definition anywhere. DeclarationDie is allocated and emitted.
- Definition in some other CU. allocateTypeDie sets Die via the body's
spinlock. At emission, getFinalDie returns Die over DeclarationDie. Both
clone orderings yield the same output.
For non-ODR languages getFinalPlacementForEntry forces PlainDwarf, so
the forward decl stays in place under its module instead of moving to
the artificial type unit.
Commit: 6a55cb00521b57df7c170d9c888b72c4fe48bc17
https://github.com/llvm/llvm-project/commit/6a55cb00521b57df7c170d9c888b72c4fe48bc17
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/test/CodeGen/NVPTX/globals_init.ll
Log Message:
-----------
[NVPTX] Print the full value of e.g. an i65 global. (#201184)
If you have an integer global whose width is 64 and not a multiple of 8,
the NVPTX asm printer used to drop the top bits!
Commit: eaff67c9838f98d221aa563c9e5d4e714d636674
https://github.com/llvm/llvm-project/commit/eaff67c9838f98d221aa563c9e5d4e714d636674
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
Log Message:
-----------
[HIP][AMDGPU] Use non-LTO pipeline for non-RDC in the linker wrapper (#201135)
Non-RDC HIP does not need LTO, but the new offload driver compiles all
AMDGPU device code through the LTO pipeline. That makes non-RDC builds
pay
full LTO codegen cost for no benefit.
Fix this in clang-linker-wrapper instead of the driver, so device
codegen
still runs in the wrapper's parallel device-link step (kept fast by
--offload-jobs) rather than being serialized back in the driver.
The driver passes a new --no-lto flag for the non-RDC fat-binary job
(unless the user asked for -foffload-lto). With it, the wrapper drops
-flto
and, because the device images are bitcode stored in object-extension
files, also passes -x ir so clang actually compiles them (cc1 -emit-obj)
instead of handing the bitcode to lld for an LTO link.
Commit: 973b9a7d40ca42571d25f670b74177b1cdcbef61
https://github.com/llvm/llvm-project/commit/973b9a7d40ca42571d25f670b74177b1cdcbef61
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
Log Message:
-----------
Revert "[SandboxVec][VecUtils][NFC] Improve VecUtils::areConsecutive() template" (#201191)
Reverts llvm/llvm-project#201168
Commit: b89bb06afd069aa1b5e9f05ab692b3e6b41318c0
https://github.com/llvm/llvm-project/commit/b89bb06afd069aa1b5e9f05ab692b3e6b41318c0
Author: Ian Anderson <iana at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
Log Message:
-----------
[clang][driver][darwin] Hold onto full triples in Darwin SDKPlatformInfo (#200896)
The architecture can be relevant when determining if an SDK supports a
particular triple. Record the full triples in SDKPlatformInfo instead of
all of the non-architecture triple components.
Assisted-by: Claude Code
rdar://172876443
Commit: e15e51089e6a5faef7643d8dc123788f7e91f9fc
https://github.com/llvm/llvm-project/commit/e15e51089e6a5faef7643d8dc123788f7e91f9fc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/ARM/extract-cost-scale-nullptr-user.ll
Log Message:
-----------
[SLP][NFC] Add a test with the optimistic extractelements emission, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/201192
Commit: f394094f195b3d593336aab6b76ccd2b7b483e43
https://github.com/llvm/llvm-project/commit/f394094f195b3d593336aab6b76ccd2b7b483e43
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/ARM/extract-cost-scale-nullptr-user.ll
Log Message:
-----------
[SLP] Scale extract cost of external uses with nullptr user
The NCD pre-pass from #199962 only records extract blocks for external
uses that have a real user, so uses with a nullptr user were left
unscaled, making the loop in the report look profitable and get wrongly
vectorized. For a nullptr user vectorizeTree() places the extract right
after the vectorized instruction (entry block) and RAUWs the scalar, so
scale those extracts by the entry block frequency, restoring the
pre-#199962 behavior for that case.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/201193
Commit: 1fe6d564523982d2efbd28334ef50fe449765eb5
https://github.com/llvm/llvm-project/commit/1fe6d564523982d2efbd28334ef50fe449765eb5
Author: Justin Bogner <mail at justinbogner.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M third-party/benchmark/src/sysinfo.cc
Log Message:
-----------
Fix a warning and an uninitialized variable in benchmark (#200927)
After #198964 I see a -Wcovered-switch-default warning in sysinfo.cc,
but it looks like it's uncovering something a bit worse.
Back in #147357 and #149159 it looks like we tried to fix an MSVC
warning for an uncovered `CacheUnknown` case in this switch, and removed
the initialization of the variable before the switch. The update to
Google Benchmark v1.9.5 has a different fix for this - it's handling
that specific case guarded by some MSVC version macros, but this depends
on the initialization we removed!
Add the initialization back and remove the default case, effectively
reverting #149159 and #147357.
Commit: 798d0f5ee8644d9745922970515071d3fe338cb6
https://github.com/llvm/llvm-project/commit/798d0f5ee8644d9745922970515071d3fe338cb6
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/docs/MarkdownQuickstartTemplate.md
M llvm/docs/README.txt
A llvm/docs/SphinxQuickstartTemplate.md
R llvm/docs/SphinxQuickstartTemplate.rst
M openmp/docs/README.txt
Log Message:
-----------
[docs] Rename SphinxQuickstartTemplate.{rst|md} for blame (#198899)
Renames SphinxQuickstartTemplate.rst to SphinxQuickstartTemplate.md as
an isolated commit to preserve blame history. The file content is not
yet valid Markdown; the rewrite follows in a stacked PR.
Cross-references in MarkdownQuickstartTemplate.md, README.txt, and
openmp/docs/README.txt are updated accordingly.
See RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
Commit: f31bc0a478a86e45b2e2745ed097509aca669f81
https://github.com/llvm/llvm-project/commit/f31bc0a478a86e45b2e2745ed097509aca669f81
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/docs/GitHub.rst
M llvm/docs/SphinxQuickstartTemplate.md
Log Message:
-----------
[docs] Rewrite SphinxQuickstartTemplate.md in MyST Markdown (#198896)
Converts SphinxQuickstartTemplate.md from reStructuredText syntax to
MyST Markdown. Updates the overview to mention that MyST is now
preferred for new LLVM documentation, modernizes the authoring
guidelines, and replaces all RST markup constructs with their Markdown
equivalents.
The renamd landed as PR #198899.
See RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
An LLM was used to assist with the rewrite.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 3ca3bbcaf1dc8a8b4270cbd896d97e522b72f475
https://github.com/llvm/llvm-project/commit/3ca3bbcaf1dc8a8b4270cbd896d97e522b72f475
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
A llvm/test/CodeGen/Xtensa/landingpad.ll
Log Message:
-----------
[Xtensa] Implement lowering Exception Selector and Pointer Registers. (#198043)
This PR fixes issue https://github.com/llvm/llvm-project/issues/190308
Commit: 9b92e0fe9b0066d58073ee81afa0e5823a474e1e
https://github.com/llvm/llvm-project/commit/9b92e0fe9b0066d58073ee81afa0e5823a474e1e
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/X86/atomic-load-store.ll
Log Message:
-----------
[SelectionDAG] Split vector types for atomic store (#197860)
Vector types that aren't widened are split so that a single ATOMIC_STORE
is issued for the entire vector at once. This enables SelectionDAG to
translate vectors with type bfloat,half.
Store-side counterpart to #165818. Stacked on top of #197619; and below
of #197861.
Commit: 162076fe779ea8e1d9008b42e3c5f5ea3ae473dc
https://github.com/llvm/llvm-project/commit/162076fe779ea8e1d9008b42e3c5f5ea3ae473dc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86PartialReduction.cpp
M llvm/test/CodeGen/X86/sad.ll
Log Message:
-----------
[X86] Check useBWIRegs() instead of hasBWI() before creating x86_avx512_psad_bw_512 intrinsic. (#201167)
Need to check that 512-bit vectors are enabled before using a 512-bit
intrinsic.
Commit: 40ad00beb3e275e1c50d6a718800d197a6b02c4e
https://github.com/llvm/llvm-project/commit/40ad00beb3e275e1c50d6a718800d197a6b02c4e
Author: mleair <leairmark at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/intrinsic-module-array-constant.f90
Log Message:
-----------
[flang] Define array named constants from the iso_fortran_env intrins… (#201190)
…ic module
createIntrinsicModuleDefinitions() only emitted definitions for array
named constants belonging to the __fortran_ieee_exceptions intrinsic
module. Array constants declared directly in the iso_fortran_env
intrinsic module -- in practice character_kinds -- were therefore only
lowered as bodyless `fir.global` external declarations at their use site
and never defined anywhere, producing an undefined reference at link
time.
This is usually hidden because scalar iso_fortran_env parameters fold to
immediates and constant-shape array accesses are folded away, so the
dangling external symbol is DCE'd before linking. It surfaces when the
address of the array genuinely escapes to runtime, e.g.:
```
use iso_fortran_env
integer :: i, x(1)
do i = 1, size(character_kinds)
x = findloc(character_kinds, character_kinds(i))
end do
```
which fails with:
undefined reference to `_QMiso_fortran_envECcharacter_kinds'
Fix by also processing the iso_fortran_env scope in
createIntrinsicModuleDefinitions(), so its array constants are emitted
as linkonce_odr definitions with initializers.
Note that integer_kinds/real_kinds/logical_kinds are unaffected: they
are renamed from iso_fortran_env_impl, a non-intrinsic module that is
compiled into the runtime, so their definitions already exist there.
Assisted-by: AI
Commit: f2a780bbe2d8f66bcffb76e9d5f008d581be7917
https://github.com/llvm/llvm-project/commit/f2a780bbe2d8f66bcffb76e9d5f008d581be7917
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
[lldb][test] Make delayed-definition-die-searching CU-layout agnostic (#201206)
The second `ParseTypeFromDWARF` for t1 (after `p v2`) only fires when
t1's definition lives in a separate CU from its forward declaration:
LLDB parses the forward-decl DIE during `p v1` and a distinct definition
DIE during `p v2`. dsymutil's parallel linker collapses both into a
single DIE in the artificial type unit, so t1 is parsed once during `p
v1` and only re-resolved during `p v2`.
Drop the second-parse CHECK so the test no longer presumes a per-CU type
layout. The remaining `'t1' resolving forward declaration...` CHECK
after `p v2` still verifies what the test was designed to catch: t1's
complete-type resolution is deferred until v2 is evaluated. If LLDB
regressed to eager resolution during `p v1`, that log line would move
and the test would fail. Add a `(t1) (x = 0)` CHECK at the end to cover
the end-to-end value.
Commit: 87d6941017aa6022ce00baa9f1dfae5a49b113f4
https://github.com/llvm/llvm-project/commit/87d6941017aa6022ce00baa9f1dfae5a49b113f4
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
M clang/test/CodeGen/lto-newpm-pipeline.c
M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/ELF/lto/devirt_vcall_vis_public.ll
M lld/test/ELF/lto/devirt_vcall_vis_shared_def.ll
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/LTO/LTO.h
R llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/IPO/ConstantMerge.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
R llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Assembler/index-value-order.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
M llvm/test/CodeGen/X86/fat-lto-section.ll
M llvm/test/LTO/Resolution/X86/not-prevailing-alias.ll
M llvm/test/LTO/Resolution/X86/not-prevailing-weak-aliasee.ll
M llvm/test/Linker/funcimport2.ll
M llvm/test/Other/new-pm-O0-defaults.ll
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
M llvm/test/ThinLTO/AArch64/aarch64_inline.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions1.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions2.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions3.ll
M llvm/test/ThinLTO/X86/ctor-dtor-alias.ll
M llvm/test/ThinLTO/X86/ctor-dtor-alias2.ll
M llvm/test/ThinLTO/X86/deadstrip.ll
M llvm/test/ThinLTO/X86/devirt_function_alias.ll
M llvm/test/ThinLTO/X86/devirt_function_alias2.ll
M llvm/test/ThinLTO/X86/devirt_pure_virtual_base.ll
M llvm/test/ThinLTO/X86/devirt_vcall_vis_public.ll
M llvm/test/ThinLTO/X86/distributed_import.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-exported-internal.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-unknown.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-weak.ll
M llvm/test/ThinLTO/X86/globals-import.ll
M llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll
M llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll
M llvm/test/ThinLTO/X86/import-ro-constant.ll
M llvm/test/ThinLTO/X86/index-const-prop-alias.ll
M llvm/test/ThinLTO/X86/index-const-prop.ll
M llvm/test/ThinLTO/X86/linkonce_resolution_comdat.ll
M llvm/test/ThinLTO/X86/memprof-dups.ll
M llvm/test/ThinLTO/X86/memprof_callee_type_mismatch.ll
M llvm/test/ThinLTO/X86/memprof_imported_internal.ll
M llvm/test/ThinLTO/X86/memprof_imported_internal2.ll
M llvm/test/ThinLTO/X86/prevailing_weak_globals_import.ll
M llvm/test/ThinLTO/X86/visibility-elf.ll
M llvm/test/ThinLTO/X86/visibility-macho.ll
M llvm/test/ThinLTO/X86/weak_resolution.ll
M llvm/test/ThinLTO/X86/windows-vftable.ll
M llvm/test/ThinLTO/X86/writeonly.ll
R llvm/test/Transforms/AssignGUID/assign_guid.ll
M llvm/test/Transforms/ConstantMerge/merge-dbg.ll
M llvm/test/Transforms/EmbedBitcode/embed-wpd.ll
M llvm/test/Transforms/EmbedBitcode/embed.ll
M llvm/test/Transforms/FunctionImport/funcimport-debug-retained-nodes.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
R llvm/test/Transforms/GlobalMerge/guid.ll
M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
M llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
M llvm/test/Transforms/PhaseOrdering/speculative-devirt-then-inliner.ll
M llvm/test/Transforms/SampleProfile/ctxsplit.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel-profile.ll
M llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/export-vcp.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
M llvm/test/tools/gold/X86/thinlto_weak_library.ll
M llvm/test/tools/gold/X86/thinlto_weak_resolution.ll
M llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
Reverting PR #184065 and #200323 to address some interplay with CFI (#201194)
There is a relation between CFI and ThinLTO GUIDs that still needs to be
disentangled first. Note that we leave the `MD_unique_id` in
`FixedMetadataKinds.def` to avoid needing to re-number it later. Plus
the metadata string ("guid") itself is used by ctxprof.
Commit: 70edfe91f4fc6bd0b2137d20f3508a6fcd85bcde
https://github.com/llvm/llvm-project/commit/70edfe91f4fc6bd0b2137d20f3508a6fcd85bcde
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[cmake] Fix host tool path with driver build on Windows (#199152)
On Windows, the llvm-shlib dylib build uses the llvm-nm host tool to
make all symbols visible by default. The LLVM_TOOL_LLVM_DRIVER_BUILD=ON
build would fail because $<TARGET_FILE:llvm-nm> was invalid. This change
passes the name of the symlink / executable copy as a custom property so
things work out and the llvm-nm.exe host tool can be found.
Commit: b29bf9fa25bdb906a61ec361fba68796020cc6b9
https://github.com/llvm/llvm-project/commit/b29bf9fa25bdb906a61ec361fba68796020cc6b9
Author: Peter Hawkins <phawkins at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M mlir/include/mlir/Bytecode/BytecodeWriter.h
M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
M mlir/lib/Bytecode/Writer/IRNumbering.cpp
M mlir/lib/Bytecode/Writer/IRNumbering.h
M mlir/unittests/Bytecode/BytecodeTest.cpp
Log Message:
-----------
[mlir][bytecode] Add option to elide locations during serialization (#201183)
Adds a setElideLocations option to BytecodeWriterConfig to elide
locations during bytecode serialization. When enabled, all LocationAttrs
are mapped to UnknownLoc during numbering and writing to produce
location-invariant bytecode (e.g., for stable fingerprinting).
Another way to achieve the same thing would be to apply the
strip-debuginfo pass,
but that requires mutating the module, which in turn requires cloning
the module if one still requires the unstripped original.
Assisted-by: Antigravity / Gemini
Commit: f2dd83075571265427547b94e06aabda61aff974
https://github.com/llvm/llvm-project/commit/f2dd83075571265427547b94e06aabda61aff974
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBanks.td
Log Message:
-----------
[RISCV][GISel] Add GPRPair to GPRB register bank and use getXLen() for GPRSize
Map GPRPair register classes to the GPRB register bank during GlobalISel
instruction selection. This is required because the introduction of HwMode-dependent
base pointer register classes (e.g. via PtrRegClassByHwMode) causes TableGen to
emit register bank checks for GPRPair variants in RISCVGenGlobalISel.inc.
Without this mapping, instruction selection crashes on unsupported classes.
To avoid assertion failures when GPRB's maximum size increases to 128-bit on RV64
due to the register pairs, update RISCVRegisterBankInfo::getInstrMapping to query
Subtarget.getXLen() for the scalar register width instead of relying on the bank's
getMaximumSize(). This matches AArch64's design pattern of mapping register pairs
(XSeqPairsClass) to GPR and resolving scalar register sizes dynamically.
This was fine previously but was exposed by the HwMode changes in
https://github.com/llvm/llvm-project/pull/177073.
Pull Request: https://github.com/llvm/llvm-project/pull/200510
Commit: 155c6e4f887a9b4fb8900ec655124303e7308b4b
https://github.com/llvm/llvm-project/commit/155c6e4f887a9b4fb8900ec655124303e7308b4b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/cmake/caches/Apple-lldb-macOS.cmake
Log Message:
-----------
[lldb] Add lldb-mcp to LLVM_DISTRIBUTION_COMPONENTS (#201225)
Add lldb-mcp to LLVM_DISTRIBUTION_COMPONENTS
Commit: 08e8df51ce23b79e50774453e7ae120c1b5de2ef
https://github.com/llvm/llvm-project/commit/08e8df51ce23b79e50774453e7ae120c1b5de2ef
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
Log Message:
-----------
[ORC] Make SimpleExecutorDylibManager::resolve an instance method. (#201211)
Promote the lambda inside resolveWrapper to a public method on
SimpleExecutorDylibManager. This brings SimpleExecutorDylibManager into
better alignment with the NativeDylibManager implementation in the new
ORC runtime, and is a step towards allowing NativeDylibManager to be
used as a drop-in replacement for SimpleExecutorDylibManager.
Commit: 72a05d59bc8cba3728ad1e3f60bdcc8504f7a708
https://github.com/llvm/llvm-project/commit/72a05d59bc8cba3728ad1e3f60bdcc8504f7a708
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/test/API/python_api/run_locker/TestRunLocker.py
Log Message:
-----------
[lldb] Have TestRunLocker run both styles of launch (#200978)
While debugging flakey behavior with TestRunLocker, I noticed that is
intended to run its test once with a stop at the entry function (and
then Continues) and once where we launch to the main() loop. But we were
never exercising the stop-at-entry codepath.
This doesn't fix the flakey behavior, although that only happens with
the launch-directly-into-main() codepath; I don't get failures when I
stop at the entry point and then continue.
Commit: 04d9e8687b3836af1eede7df15ecc43ac5c1f67d
https://github.com/llvm/llvm-project/commit/04d9e8687b3836af1eede7df15ecc43ac5c1f67d
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Don't expand SCEVs without uses to VPInstructions (NFC). (#201221)
If a VPExpandSCEVRecipe does not have users, there's no benefit to
expand it to VPInstructions, which then have to get cleaned up.
This also prevents DCE from removing VPInstructions pointed to by
TripCount after expansion.
Commit: 2a936ce9316042cd7e45e72b528ad1d55aa2fe3c
https://github.com/llvm/llvm-project/commit/2a936ce9316042cd7e45e72b528ad1d55aa2fe3c
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/tools/debugserver/source/DNB.cpp
Log Message:
-----------
[lldb][debugserver] Arguments to kill(2) are reversed (#201226)
This codepath is only executed as an attempt to clean up during a failed
launch, so the reversed arguments were rarely actually used.
rdar://175507620
Commit: ce465594e2394ebe6894c6f0dfc9d0817b63c9da
https://github.com/llvm/llvm-project/commit/ce465594e2394ebe6894c6f0dfc9d0817b63c9da
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll
Log Message:
-----------
[NVPTX] Fix aggregate load/store lowering for (potentially) overlapping copies (#201177)
NVPTXLowerAggrCopies lowers load/store pairs of large values into a loop
of smaller copies.
However, it was incorrectly assuming that the load/store pairs it found
never alias.
This patch adds an alias check. If the pointers may alias, we emit a
memmov, which handles overlap correctly.
CUDA reproducer:
typedef char vec __attribute__((vector_size(256)));
__global__ void boom(char *p) {
*(vec *)(p + 8) = *(vec *)p;
}
Commit: 26e44e62fdaf0467e153d2f83251e2d48eb1f10e
https://github.com/llvm/llvm-project/commit/26e44e62fdaf0467e153d2f83251e2d48eb1f10e
Author: adams381 <adams at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/func-linkage-weak-import.c
A clang/test/CIR/CodeGen/inline-forward-decl.c
Log Message:
-----------
[CIR] Set ExternalWeakLinkage on weak/weak_import function declarations (#198422)
Classic CodeGen's `SetFunctionAttributes` calls `setLinkageForGV` to force `ExternalWeakLinkage` on `__attribute__((weak))` and Darwin `weak_import` declarations. CIR had no equivalent: weak function declarations were emitted with `ExternalLinkage` instead of `ExternalWeakLinkage`.
This adds `setLinkageForFunction` — the same weak/external-weak logic as `setLinkageForGV` — and calls it from `setFunctionAttributes`. The underlying crash on inline forward declarations (the original motivation) is already fixed by #195257; what remains is this linkage gap.
`inline-forward-decl.c` covers `__attribute__((weak))` on an inline forward declaration; `func-linkage-weak-import.c` covers Darwin `weak_import` (→ `extern_weak` in CIR and LLVM).
Commit: d59899763f0df2bf16fca98ab11421646957602a
https://github.com/llvm/llvm-project/commit/d59899763f0df2bf16fca98ab11421646957602a
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang-linker-wrapper] Drop SYCL dry-run stub-image special case (#201222)
Remove the `DryRun` branch in `bundleSYCL` that emitted a stub
`OffloadBinary`. SYCL goes through the same empty-buffer path as other
offload kinds, so the special case is no longer needed.
Update `linker-wrapper-image.c` to expect the resulting `[0 x i8]
zeroinitializer` constant and a size of `0` in the register/unregister
calls.
Assisted by Claude.
Commit: 142ad481b6254104a51da7d636ad9e3f30518a32
https://github.com/llvm/llvm-project/commit/142ad481b6254104a51da7d636ad9e3f30518a32
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/CMakeLists.txt
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/include/lldb/Host/Config.h.cmake
A lldb/include/lldb/Host/ScriptInterpreterRuntimeLoader.h
M lldb/include/module.modulemap
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/common/PythonRuntimeLoader.cpp
A lldb/source/Host/common/PythonRuntimeLoaderInternal.h
A lldb/source/Host/common/ScriptInterpreterRuntimeLoader.cpp
A lldb/source/Host/linux/PythonRuntimeLoaderLinux.cpp
A lldb/source/Host/macosx/PythonRuntimeLoaderDarwin.cpp
A lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp
M lldb/unittests/Host/CMakeLists.txt
A lldb/unittests/Host/PythonRuntimeLoaderTest.cpp
Log Message:
-----------
[lldb] Add PythonRuntimeLoader for runtime libpython lookup (NFC) (#200524)
Generalizes the Windows-only Python lookup in PythonPathSetup into a
cross-platform abstraction. Adds an abstract ScriptInterpreterRuntimeLoader
with a per-language factory. The Python implementation dynamically loads Python
library into the current process.
The loader no-ops when Python is already in the process, then walks
LLDB_PYTHON_LIBRARY env override, the build-time Python
(LLDB_PYTHON_RUNTIME_LIBRARY_BUILD_PATH) and finally a platform candidate list:
- Darwin: DEVELOPER_DIR, the bundled Xcode.app, and Command Line Tools joined
against Python3.framework. Then python.org, /opt/homebrew, and /usr/local
joined against Python.framework. Then xcrun -f python3 and if that fails,
libpython3.dylib as a last resort.
- Linux: libpython3.so plus descending stable-ABI SONAMEs.
- Windows: the LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME bare name (resolved via the
loader's default search list) and the exe-relative
LLDB_PYTHON_DLL_RELATIVE_PATH fallback (built off GetModuleFileNameW).
Pre-mapping python3xx.dll lets the script interpreter plugin's delay-load
thunks resolve against the already-loaded module by base name on first use.
This commit only introduces the abstraction. No existing call site is changed,
and the script interpreter plugin still hard-links Python, which are part of
two follow-up PRs.
Commit: 3eb13f8db39ed42827122489c830c414cb6660e3
https://github.com/llvm/llvm-project/commit/3eb13f8db39ed42827122489c830c414cb6660e3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/test/CMakeLists.txt
Log Message:
-----------
[lldb] Stop hard-linking libpython into the dynamic Python plugin (#200530)
Drops ${Python3_LIBRARIES} from the SHARED build of
lldbPluginScriptInterpreterPython and lets undefined Python symbols
through at link time (`-undefined dynamic_lookup` on Darwin,
`--allow-shlib-undefined` on Linux; Windows keeps its existing
delay-load + import lib).
SystemInitializerFull::Initialize resolves the Python runtime loader
via ScriptInterpreterRuntimeLoader::Get(eScriptLanguagePython) and
calls Load() before initializing any plugin, so libpython is mapped
into the process before either entry point that references it: the
static script interpreter's Initialize() (which invokes Python via
the LLDB_PLUGIN_INITIALIZE loop) and the dynamic plugin's dlopen
(whose undefined references resolve against the in-process
libpython). This covers both LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS
=ON and =OFF, and keeps Windows working in static builds where the
delay-load thunks live in liblldb itself. The loader is
once_flag-cached, and errors propagate out via the existing Expected
return.
`import lldb` from a running Python works because libpython is
already mapped into the process. The Python runtime loader probes
for stable-ABI symbols (Py_IsInitialized, Py_InitializeFromConfig)
via dlsym(RTLD_DEFAULT) / GetProcAddress and, finding them, returns
success without dlopen'ing a second libpython on top.
The dynamic plugins are added as test-suite dependencies so
check-lldb-shell and check-lldb-api wait for them; they can't be
build-order deps of liblldb itself because the plugins link against
liblldb (CMake SHARED cycle).
The unit-test static variant lldbStaticScriptInterpreterPython keeps
hard-linking libpython so link-time symbol checking is preserved.
Commit: 678891b586ab0f3b97c83987eb2df0d2d5743ffb
https://github.com/llvm/llvm-project/commit/678891b586ab0f3b97c83987eb2df0d2d5743ffb
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/test/CIR/CodeGen/compound_literal.c
Log Message:
-----------
[CIR] Implement lowering for const-emitted global compound literals (#201152)
This came up in a test suite as a NYI, it is just emitting a
constant-backing literal for an initializer. These are specific to C, as
global compound literals have static storage duration in C. This patch,
just like classic codgen, just creates a '.compoundliteral' object as
backing for these variables, and lets us create references to them.
---------
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 243ddf607bbe4841cfe734507120c8d8ddc41eca
https://github.com/llvm/llvm-project/commit/243ddf607bbe4841cfe734507120c8d8ddc41eca
Author: Schrodinger ZHU Yifan <yfzhu at google.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M libc/src/__support/block.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/freestore.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
Log Message:
-----------
[libc] add shrink in-place support for reallocations (#200272)
This PR adds shrinking in-place for the freelist heap. This allows the
heap to reuse the place if the reallocation shrinks the size larger than
a minimal block unit.
Synthesized random action tests show that that increase heap utilization
rate from 87% to 97% percent, basically aligns with the expectation of
dlmalloc.
Assisted-by: AI tools, manually checked.
Commit: a6745c933a3828f4e2cac4d94754688fe3b03f9f
https://github.com/llvm/llvm-project/commit/a6745c933a3828f4e2cac4d94754688fe3b03f9f
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/InlineSpiller.cpp
A llvm/test/CodeGen/X86/apx/memfold-origVNI-crash.ll
Log Message:
-----------
[X86][APX] Extend original LI to the same range as DstReg (#199182)
The #189222 folds NDD+Load to non-NDD when NDD memory variant not
preferred. However, this will changes DstReg from regular def to
early-clobber def, which causes "corrupted sub-interval" in
reMaterializeFor, because the OrigLI is not updated at the same time.
Fixes: https://godbolt.org/z/7n8ozz1EG
Assisted-by: Claude Sonnet 4.6
Commit: 0e40e9e341cf78662ab468fb8cdd6cac7e58ad1f
https://github.com/llvm/llvm-project/commit/0e40e9e341cf78662ab468fb8cdd6cac7e58ad1f
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OffloadTools/clang-sycl-linker/triple.ll
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker][test] Improve dry-run mode and tighten test coverage (#200513)
- Rework `--dry-run` in `clang-sycl-linker` so it skips all real output
(writing bitcode, executing tools, etc.).
- The `link:`, `sycl-module-split:`, and a new `sycl-bundle:` summary
line are now gated on `-v` alone.
- Tighten `sycl-bundle:` checks in `basic.ll`, `split-mode.ll`, and
`triple.ll` to pin kind, triple, and arch (instead of just kind),
and add `-NOT: {{.+}}` after fully-covered dry-run check groups.
- replace the `clang-sycl-linker` + `llvm-objdump --offloading`
round-trip with a single `--dry-run -v` invocation.
- add dedicated `non-dry-run` mode test to verify code paths not exposed
in `dry-run`.
Assisted by Claude.
Commit: f132e926290fe1cc69946addfb90d61b56c9402a
https://github.com/llvm/llvm-project/commit/f132e926290fe1cc69946addfb90d61b56c9402a
Author: adams381 <adams at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
A clang/test/CIR/Transforms/abi-lowering/coerce-int-to-record.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-return-larger.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-int.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-vector-to-complex.cir
Log Message:
-----------
[CIR] Coerce Direct args and returns in CallConvLowering (#195879)
Fourth PR in the split of #192119/#192124. Implements the
Direct-with-coercion path in CallConvLowering.
Every Direct argument or return whose ABI type differs from its source
type is now coerced through a store/reload roundtrip via an entry-block
alloca, mirroring classic codegen's CreateCoercedLoad/CreateCoercedStore.
The temporary alloca uses max(srcAlign, dstAlign) from the DataLayout and
is hoisted into the entry block so it composes with HoistAllocas
regardless of pipeline order. When the coerced type is larger than the
source -- e.g. a 12-byte aggregate returned as { i64, i64 } -- the slot is
sized to the larger type and accessed through a source-typed view for the
store and a destination-typed view for the load, so neither side
over-reads.
CallConvLowering is split into three phases (function-definition
coercion, call-site rewriting, and Ignore cleanup) because in-place
block-argument type changes from Direct-with-coerce otherwise confused the
earlier ordering, synthesizing alloca/load chains for call-site uses of
Ignore'd arguments that were about to be dropped.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 45bddca21c65106b41fa47a485a30c863e75da53
https://github.com/llvm/llvm-project/commit/45bddca21c65106b41fa47a485a30c863e75da53
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
A clang/test/CIR/CodeGen/switch-cleanup.cpp
Log Message:
-----------
[CIR] Fix insertion point tracking for switch with cleanups (#201210)
We had some problems where we would incorrectly maintain the insertion
point for switch statements that contained cleanup scopes. This resulted
in cir.scope statements without a terminator, tripping a verification
error.
This change adds a RunCleanupsScope RAII object for the switch statement
and adds a check inside popCleanup() to avoid moving the insertion point
to the point after the now-closed cleanup scope if the insertion point
had previously been somewhere other than inside the cleanup scope.
Assisted-by: Cursor / claude-opus-4.8
Commit: 19c7fdb3c3c68a9d6861627c85cd0251b7854f6f
https://github.com/llvm/llvm-project/commit/19c7fdb3c3c68a9d6861627c85cd0251b7854f6f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/test/CIR/CodeGen/global-temp-dtor.cpp
M clang/test/CIR/CodeGen/self-ref-temporaries.cpp
M clang/test/CIR/CodeGenCXX/global-refs.cpp
Log Message:
-----------
[CIR] Implement destruction of TLS and static global references (#200227)
This implements destruction of lifetime-extended reference temporaries
used to initialize TLS or static duration reference variables.
Assisted-by: Cursor / claude-opus-4.7
Commit: f48e6b81c3acb7007aa94ac768c95122796df08c
https://github.com/llvm/llvm-project/commit/f48e6b81c3acb7007aa94ac768c95122796df08c
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/test/CodeGen/NVPTX/intr-range.ll
Log Message:
-----------
[NVPTX] NVVMIntrRange: Handle maxntid > UINT32_MAX. (#201245)
Previously we computed the overall maxntid and downcast it to unsigned
int. This is not correct; it can be larger than UINT32_MAX.
This would cause reads of tid.xyz and ntid.xyz to have incorrect range
information. Also if maxntid was an exact multiple of 2^32, we'd get an
ICE (because we'd incorrectly think that maxntid is 0).
Commit: 8763a68723b0dbd1ef2e7cc0ac61b2635ceef000
https://github.com/llvm/llvm-project/commit/8763a68723b0dbd1ef2e7cc0ac61b2635ceef000
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/M68k/AsmParser/CMakeLists.txt
Log Message:
-----------
[M68k] Add to LINK_COMPONENTS to fix BUILD_SHARED_LIBS build (#201248)
Fixes: 6897c5e24ce5 ("[M68k][MC] Add MC support for PCI w/ base
displacement addressing mode (#200696)")
Commit: 53938ba7f3631583f79f1b7c1cf8a5d2347ba4d1
https://github.com/llvm/llvm-project/commit/53938ba7f3631583f79f1b7c1cf8a5d2347ba4d1
Author: Boyao Wang <wangboyao at bytedance.com>
Date: 2026-06-03 (Wed, 03 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/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
R llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/pr148084.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
M llvm/test/DebugInfo/RISCV/relax_dwo_ranges.ll
R llvm/test/MC/RISCV/xrivosvizip-invalid.s
R llvm/test/MC/RISCV/xrivosvizip-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Remove experimental XRivosVizip support (#200761)
Remove experimental XRivosVizip support which will not be maintained by
RVIOS any more.
Commit: 83318d027abdbd4694d6a070194c82f1e2a34739
https://github.com/llvm/llvm-project/commit/83318d027abdbd4694d6a070194c82f1e2a34739
Author: Fan Mo <w007878 at hotmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst
Log Message:
-----------
[docs][Kaleidoscope] fix function name InitializeModuleAndManagers in Kaleidoscope (#199601)
### Description
resloves #199477
The Kaleidoscope tutorial was not fully updated with the new Pass
Manager. This pr aligns the tutorial doc with the example code.
### Changes
- Use `InitializeModuleAndManagers` instead of
`InitializeModuleAndPassManager`.
- Remove `TheModule->setDataLayout(TheJIT->getDataLayout());` in line
141, as the `setDataLayout` was introduced later.
- Use `KaleidoscopeJIT` instead of `my cool jit` as the ModuleName, to
align with the final code.
Commit: 45c4ebb92ae393a541105c120e0dba2992237c03
https://github.com/llvm/llvm-project/commit/45c4ebb92ae393a541105c120e0dba2992237c03
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/docs/conf.py
Log Message:
-----------
[lldb] Enable MyST colon_fence and deflist extensions (NFC) (#201250)
Enable the colon_fence and deflist MyST parser extensions in the LLDB
docs configuration. This is a preparatory step for converting the
remaining reStructuredText documentation pages to Markdown, where these
two extensions are needed to translate RST admonition directives
(:::{note}) and definition lists.
Context:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/
Commit: ee20b106ec70d3494890a707a32ac677c64c409d
https://github.com/llvm/llvm-project/commit/ee20b106ec70d3494890a707a32ac677c64c409d
Author: Thrrreeee <shijinrui at bytedance.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
A bolt/test/X86/dwarf5-dwp-tsan-data-race.test
Log Message:
-----------
[BOLT] Fix data race in multi-threaded DWP type unit processing and DWP type unit duplication (#197359)
## Summary
This PR fixes a race condition in LLVM BOLT's
DIEBuilder::buildTypeUnits() that is triggered when DWARF5 split-DWARF
(.dwo/.dwp) inputs are processed with multi-threaded CU processing.
Concurrent invocations from different worker threads share the same DWP
type-unit state, which results in duplicated DIE extraction, assertion
failures, and intermittent crashes. The fix serializes buildTypeUnits()
for DWP inputs via a function-local static std::mutex, leaving the
non-DWO fast path unchanged.
## Problem Description
When BOLT processes DWARF debug info with --debug-thread-count=4
--cu-processing-batch-size=4 on testcase
dwarf5-df-types-dup-dwp-input.test, multiple threads concurrently call
DIEBuilder::buildTypeUnits() on shared DWP type units. Since type units
within a DWP file are shared across compilation units, multiple threads
may attempt to extract DIEs from the same type unit simultaneously,
violating the assertion.
**Note:** This is an intermittent failure — due to its dependence on
thread scheduling and interleaving, it does not reproduce on every run,
and may require multiple executions under the multi-threaded
configuration to surface, which is why it escaped earlier
single-threaded testing.
Commit: 6d7962db9397eefe3a287115d413fd4c562e4178
https://github.com/llvm/llvm-project/commit/6d7962db9397eefe3a287115d413fd4c562e4178
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCUDA/addr-of-overloaded-fn.cu
A clang/test/SemaCUDA/addr-of-overloaded-template-fn.cu
Log Message:
-----------
[clang][CUDA] Avoid ambiguity in host/device template specializations (#201049)
This commit changes SemaOverload to resolve an otherwise diagnosed
ambiguity between addresses of template specializations of functions
that are overloaded for both device and host. Similar to how it works
for non-templated function overloads, these changes prioritizes the
specializations that corresponds to the target of the owning function,
i.e. if compiling for host, the address of the host specialization takes
precedence over the device specialization and vice versa.
Fixes https://github.com/llvm/llvm-project/issues/199299
---------
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: a47bddccec30255619bb8c37fa59700e661d4e66
https://github.com/llvm/llvm-project/commit/a47bddccec30255619bb8c37fa59700e661d4e66
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
Log Message:
-----------
[clangd] Handle dependent call to function with explicit object parameter in InlayHintVisitor (#201264)
Dependent calls do not yet have the implicit object argument preprended
to the CallExpr's argument list, so the first argument should not be
expected to be present and dropped in this case.
Fixes https://github.com/llvm/llvm-project/issues/198588
Commit: 70bca0f9af520569daa85959c56d95b2d1cd0389
https://github.com/llvm/llvm-project/commit/70bca0f9af520569daa85959c56d95b2d1cd0389
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
A llvm/test/CodeGen/RISCV/rvv/xsfmm-insert-vsetvl-TMTK.mir
Log Message:
-----------
[RISCV] Make VSETTM/VSETTK not affect the VSETVL emit (#197890)
VSETTM/TK will modify VTYPE, but it only affects the TM/TK bits. This
modification is safe for other RVV operations. The TM/TK value will be
maintained in insertVSETMTK.
Commit: 866c39b61f475ca4dffd9eae280d146f59cdede6
https://github.com/llvm/llvm-project/commit/866c39b61f475ca4dffd9eae280d146f59cdede6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Remove no longer tested VP_MUL handling. (#201238)
We no longer use VP_MUL in SelectionDAG on RISC-V so this code isn't
tested.
This effectively reverts db6de1a20f75cbfe1024f41e64ad39def91fa70f
Commit: e0b580a724dc58afa119eb2ce25620ebd8d5f275
https://github.com/llvm/llvm-project/commit/e0b580a724dc58afa119eb2ce25620ebd8d5f275
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Remove untested visitVP_FADD and visitVP_FSUB. (#201247)
RISC-V no longer uses VP_FADD/FSUB in SelectionDAG.
Commit: f91f589aaa82514952f7a13b3e3bd2910d32559a
https://github.com/llvm/llvm-project/commit/f91f589aaa82514952f7a13b3e3bd2910d32559a
Author: JoshuaGrindstaff <99843934+JoshuaGrindstaff at users.noreply.github.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/test/MC/AMDGPU/mcexpr_amd.s
M llvm/test/MC/AMDGPU/mcexpr_amd_err.s
A llvm/unittests/Target/AMDGPU/AMDGPUMCExprTest.cpp
M llvm/unittests/Target/AMDGPU/CMakeLists.txt
Log Message:
-----------
[AMDGPU] Added min operation for MCExprs (#199746)
The min operation is needed in MC Expressions for a future change that
caps the max number of registers used for indirect calls.
---------
Co-authored-by: JoshuaGrindstaff <jgrindst at amd.com>
Commit: c7b4b4a33350e3805deae64f17d6185b184d7887
https://github.com/llvm/llvm-project/commit/c7b4b4a33350e3805deae64f17d6185b184d7887
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll
Log Message:
-----------
[NVPTX] Fix the build after ce465594e239. (#201268)
ce465594e239 (#201177) added sm_90 / PTX ISA 7.8 instructions to
lower-aggr-copies.ll, so we need to guard the RUN line appropriately.
Commit: baa8da34e6745536288edb042e89871d89376469
https://github.com/llvm/llvm-project/commit/baa8da34e6745536288edb042e89871d89376469
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
A mlir/test/Dialect/SPIRV/IR/tosa-ops-dynamic.mlir
Log Message:
-----------
[mlir][spirv] Allow dynamic rescale parameter lengths (#200155)
The SPIR-V TOSA rescale verifier checked multiplier and shift lengths
with a direct equality against the input channel dimension. That rejects
otherwise valid operations when either side of the shape comparison is
dynamic.
Express the check with reusable dimension predicates so unranked or
dynamic dimensions pass, while static dimensions still enforce the
per-channel and scalar length requirements. Add dedicated dynamic-shape
op coverage for dynamic input channel dimensions and dynamic
multiplier/shift lengths.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 4a74b4472833d57e0ecfaaa5d06a2c607bcceeae
https://github.com/llvm/llvm-project/commit/4a74b4472833d57e0ecfaaa5d06a2c607bcceeae
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M orc-rt/include/orc-rt/NativeDylibManager.h
M orc-rt/lib/executor/NativeDylibManager.cpp
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] Add required/weak-ref attribute to NativeDylibManager lookup. (#201272)
Replace the std::vector<std::string> argument to lookup() with a
SymbolLookupSet (a vector of (name, LookupFlags) pairs, where
LookupFlags is RequiredSymbol or WeaklyReferencedSymbol).
This brings NativeDylibManager more closely into alignment with the
SimpleExecutorDylibManager implementation in the LLVM OrcTargetProcess
library.
Commit: c264e07c2f3d9f25a2526e69926daea3a68be74b
https://github.com/llvm/llvm-project/commit/c264e07c2f3d9f25a2526e69926daea3a68be74b
Author: Konstantin Belochapka <konstantin.belochapka at sony.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M cross-project-tests/dtlto/dtlto-cache.test
M cross-project-tests/dtlto/savetemps-lock.test
M lld/COFF/LTO.cpp
M lld/ELF/LTO.cpp
M lld/test/ELF/dtlto/timetrace.test
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/DTLTO/CMakeLists.txt
M llvm/lib/DTLTO/DTLTO.cpp
A llvm/lib/DTLTO/DTLTODistributionDriver.cpp
A llvm/lib/DTLTO/DTLTOInputFiles.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/test/ThinLTO/X86/dtlto/timetrace.ll
M llvm/tools/llvm-lto2/CMakeLists.txt
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
[DTLTO] Refactor the DTLTO code. (#192629)
DTLTO implementation code has been moved from `llvm/lib/LTO/` to
`llvm/lib/DTLTO/`. This refactor does not change any externally visible
behavior, so existing DTLTO tests and documentation remain valid. The
move was done to reduce code duplication, improve maintainability, and
make it easier to adopt future performance improvements.
Commit: 9bb17a0092a16a3c72a4b701bda9271af02fcfb2
https://github.com/llvm/llvm-project/commit/9bb17a0092a16a3c72a4b701bda9271af02fcfb2
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/unittests/CMakeLists.txt
Log Message:
-----------
[clangd] Disable PCH reuse for ClangdTests (#201232)
Fixes https://github.com/llvm/llvm-project/issues/200999
Commit: 57b09398b60d6bc95993435e51989bfcc032ad49
https://github.com/llvm/llvm-project/commit/57b09398b60d6bc95993435e51989bfcc032ad49
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/src/unistd/linux/alarm.cpp
Log Message:
-----------
[libc] Fix alarm layout mismatch on 32-bit time64 (#201276)
Fixed alarm implementation on 32-bit architectures with 64-bit time_t
(like RISC-V 32-bit). The SYS_setitimer syscall on these platforms
expects the legacy 32-bit struct itimerval (with 32-bit tv_sec and
tv_usec). Convert the arguments to this layout before invoking the
syscall to avoid the kernel misinterpreting the timeout.
Assisted-by: Automated tooling, human reviewed.
Commit: d0af9c8e3f32c28e259ea90bbb179e713e62c384
https://github.com/llvm/llvm-project/commit/d0af9c8e3f32c28e259ea90bbb179e713e62c384
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Port 142ad48 (#201283)
Commit: c2ed0b1d825d7c75ca15b57812767ec3858c60db
https://github.com/llvm/llvm-project/commit/c2ed0b1d825d7c75ca15b57812767ec3858c60db
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Analysis/CaptureTracking.cpp
Log Message:
-----------
[CaptureTracking] Remove allocator comparison special case (#201143)
CaptureTracking had a special case that (incorrectly) reported
`captures(none)` for comparisons of allocation functions with null.
Remove this special case and return the correct
`captures(address_is_null)` result instead.
It seems like this doesn't have any practical benefit anymore, as things
like AA will ignore address-only captures nowadays.
Commit: 6e6c51be667e95ee456efdc6d28b2184ceb6ed32
https://github.com/llvm/llvm-project/commit/6e6c51be667e95ee456efdc6d28b2184ceb6ed32
Author: Vinay Deshmukh <vinay_deshmukh at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/__iterator/erase_if_container.h
M libcxx/include/__node_handle
M libcxx/include/__tree
M libcxx/include/__type_traits/make_transparent.h
M libcxx/include/__utility/default_three_way_comparator.h
M libcxx/include/__utility/lazy_synth_three_way_comparator.h
M libcxx/include/__utility/try_key_extraction.h
M libcxx/include/map
M libcxx/include/version
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass.cpp
M libcxx/test/std/containers/associative/from_range_associative_containers.h
M libcxx/test/std/containers/associative/map/compare.pass.cpp
M libcxx/test/std/containers/associative/map/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/at.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/empty.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/max_size.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/size.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct_const.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/clear.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/key_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/value_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp
M libcxx/test/std/containers/associative/map/types.pass.cpp
M libcxx/test/std/containers/container.node/node_handle.pass.cpp
M libcxx/test/std/containers/insert_range_maps_sets.h
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/support/CopyConstructible.h
M libcxx/test/support/is_transparent.h
M libcxx/test/support/private_constructor.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Make `<map>` `std::map` constexpr as part of P3372R3 (#134330)
Fixes https://github.com/llvm/llvm-project/issues/128660
Adds `constexpr` support for `std::map` as per P3372R3
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 6a7b8876153815cf3847d952614440e79e82fc86
https://github.com/llvm/llvm-project/commit/6a7b8876153815cf3847d952614440e79e82fc86
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libclc/CMakeLists.txt
M libclc/README.md
Log Message:
-----------
[libclc] Use generic spirv*-unknown-unknown clang triple for SPIR-V targets (#199618)
spirv-diff shows only numbering change to
spirv64-unknown-unknown/libclc.spv. No change in `llvm-spirv -to-text`
outputs. llvm-diff shows no change on reverse-translated bitcode files.
Also fixes a bug that spirv32-unknown-unknown was incorrectly using
64-bit triple.
Update README.md to use the generic target triple for SPIR-V targets.
Commit: 6b5bb08d3aa3f498b7bd9f6bb43376719bddfa60
https://github.com/llvm/llvm-project/commit/6b5bb08d3aa3f498b7bd9f6bb43376719bddfa60
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/test/CodeGen/target-data.c
M clang/test/Frontend/spirv-target-validation.c
Log Message:
-----------
Revert "[OpenCL] Allow mesa3d OS in spirv32 and spirv64 targets" (#200727)
Reverts llvm/llvm-project#197148
libclc will use generic target triple spirv32[64]-unknown-unknown for use in mesa.
Commit: edcafdb6af16350da3444ac6bde10897a4c4ceee
https://github.com/llvm/llvm-project/commit/edcafdb6af16350da3444ac6bde10897a4c4ceee
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbpexpect.py
M lldb/test/API/commands/apropos/formatting/TestAproposFormatting.py
M lldb/test/API/commands/expression/multiline-completion/TestMultilineCompletion.py
M lldb/test/API/commands/expression/multiline-navigation/TestMultilineNavigation.py
M lldb/test/API/commands/gui/basic/TestGuiBasic.py
M lldb/test/API/commands/gui/basicdebug/TestGuiBasicDebug.py
M lldb/test/API/commands/gui/breakpoints/TestGuiBreakpoints.py
M lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py
M lldb/test/API/commands/gui/spawn-threads/TestGuiSpawnThreads.py
M lldb/test/API/commands/gui/viewlarge/TestGuiViewLarge.py
M lldb/test/API/iohandler/autosuggestion/TestAutosuggestion.py
M lldb/test/API/iohandler/completion/TestIOHandlerCompletion.py
M lldb/test/API/iohandler/resize/TestIOHandlerResize.py
M lldb/test/API/iohandler/sigint/TestIOHandlerPythonREPLSigint.py
M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
M lldb/test/API/iohandler/stdio/TestIOHandlerProcessSTDIO.py
M lldb/test/API/iohandler/unicode/TestUnicode.py
M lldb/test/API/repl/clang/TestClangREPL.py
M lldb/test/API/terminal/TestDisabledBreakpoints.py
M lldb/test/API/terminal/TestEditline.py
Log Message:
-----------
[lldb][test] Always call quit when tearing down pexpect tests (#201100)
Right now we manually have to call quit at the end of each pexpect test.
This patches makes this call automatic.
This also makes tests that missed the call and where previously waiting
for a timeout faster. For example, TestClangREPL.py now only takes about
10 seconds to run instead of 1 minute.
Commit: 97bb7ec082b675cabae8c9e5001a8a8c14d03731
https://github.com/llvm/llvm-project/commit/97bb7ec082b675cabae8c9e5001a8a8c14d03731
Author: Xavier Roche <xavier.roche at algolia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/include/__type_traits/integer_traits.h
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.pass.cpp
M libcxx/test/std/utilities/utility/utility.intcmp/intcmp.verify.cpp
Log Message:
-----------
[libc++] Reject cv-qualified types in __is_signed/unsigned_integer_v (#200377)
`__is_signed_integer_v` and `__is_unsigned_integer_v` previously
admitted cv-qualified types, contradicting `[basic.fundamental]/p1-2`.
The fix adds `__is_unqualified_v<_Tp>` to both predicates.
Reported by @jwakely on
[#185027](https://github.com/llvm/llvm-project/pull/185027#issuecomment-4574289895).
Trait-level tests cover all consumers via the shared concept; cast-like
templates (`in_range`, `saturating_cast`, `extents`) get explicit
cv-rejection tests.
Assisted-by: Claude (Anthropic)
---------
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 8d42953f1518d3123ad01e4e9ccbed67042e08af
https://github.com/llvm/llvm-project/commit/8d42953f1518d3123ad01e4e9ccbed67042e08af
Author: Christian Sigg <csigg at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port c264e07 (#201292)
Commit: 7b0d00f374097fc364ff7a40c846bb98f4950945
https://github.com/llvm/llvm-project/commit/7b0d00f374097fc364ff7a40c846bb98f4950945
Author: Aayush Shrivastava <iamaayushrivastava at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/CommandGuide/llvm-strip.rst
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/ObjCopy/ObjCopy.h
M llvm/lib/ObjCopy/Archive.cpp
M llvm/lib/ObjCopy/ObjCopy.cpp
A llvm/test/tools/llvm-objcopy/verbose.test
M llvm/tools/llvm-objcopy/CommonOpts.td
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
Log Message:
-----------
[llvm-objcopy] Add --verbose option to llvm-strip/llvm-objcopy (#196611)
Added `--verbose / -v` option to `llvm-strip` and `llvm-objcopy` as part
of #123041, matching GNU strip's output format. When the flag is passed,
the tool prints one line per file processed.
copy from `'input.o' [elf64-x86-64] to 'output.o' [elf64-x86-64]`
Commit: e579340c15c1c2fa814351cde0352e9be5c4878c
https://github.com/llvm/llvm-project/commit/e579340c15c1c2fa814351cde0352e9be5c4878c
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU][NFC] Use generated hasMinMaxI64Insts subtarget feature query (#201052)
Replace the custom GCNSubtarget::hasIntMinMax64 helper with the
generated hasMinMaxI64Insts from AMDGPUSubtargetFeature.
Commit: 1bd2a0ecbafce9fbea329f1b06bb3987126c4581
https://github.com/llvm/llvm-project/commit/1bd2a0ecbafce9fbea329f1b06bb3987126c4581
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
A llvm/test/CodeGen/SystemZ/vec-move-25.ll
Log Message:
-----------
[SystemZ] Don't zero extend after a VLGV[BHF] instruction. (#201109)
The VLGV already zero extends up to 64 bits, so a following zero extend
is not needed.
New TableGen patterns for these cases as well as a handling to avoid
tryRISBGZero() selecting i64 cases.
Commit: f1620435a384c56e718a80ca0b2695285b6ce978
https://github.com/llvm/llvm-project/commit/f1620435a384c56e718a80ca0b2695285b6ce978
Author: A. Jiang <de34 at live.cn>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/test/support/nasty_string.h
Log Message:
-----------
[libc++][test] Make narrowing in `nasty_char_traits::to_char_type` more explicit (#138375)
Previously, the cast was allowed due to
[P0960R3](https://wg21.link/p0960r3), which made narrowing implicitly
done in the parenthesized aggregate initialization. MSVC doesn't seem
happy with such an implicit manner, despite not being
copy-initialization or list-initialization, and emits warning C4242.
This patch makes the narrowing more explicit to MSVC with `static_cast`.
Follows up 3e7be494f84e51d5f4245d6f39e380a500f226a6.
Commit: 74bf9b5666a6450ef87b130070b5df3da365183d
https://github.com/llvm/llvm-project/commit/74bf9b5666a6450ef87b130070b5df3da365183d
Author: Martin Wehking <martin.wehking at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_fp_int_cvtn_x2.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_int_fp_cvt.c
M clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p3_OR_sme2p3_RP___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
M clang/utils/TableGen/SveEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts_x2.ll
Log Message:
-----------
[AArch64] Add 9.7 CVT data processing intrinsics (#186807)
Add Clang intrinsics
svcvtt_f16_s8, _f32_s16, _f64_s32, _f16_u8, _f32_u16, _f64_u32
svcvtb_f16_s8, _f32_s16, _f64_s32, _f16_u8, _f32_u16, _f64_u32
+ lowering to AARCH64 Instrs. SCVTF, SCVTFLT, UCVTF, UCVTFLT
and Clang instrinsics:
svcvtn_s8[_f16_x2], _s32[_f64_x2], _u8[_f16_x2], _u16[_f32_x2],
_u32[_f64_x2]
+ lowering to AARCH64 Instrs. FCVTZSN, FCVTZUN
The Clang intrinsics are guarded by the sve2.3 and sme2.3 feature flags.
ACLE Patch:
https://github.com/ARM-software/acle/pull/428
The patch reuses `IsReductionQV` for resolving the overload of
intrinsics.
This naming is misleading and needs changed
Commit: e202047408e85b061a936a985ee9fe1e5b651633
https://github.com/llvm/llvm-project/commit/e202047408e85b061a936a985ee9fe1e5b651633
Author: eiytoq <eiytoq at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/span
M libcxx/test/std/containers/views/views.span/span.objectrep/as_bytes.pass.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.pass.cpp
R libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.verify.cpp
Log Message:
-----------
[libc++][span] LWG4243: `as_bytes`/`as_writable_bytes` is broken with `span<volatile T>` (#200993)
Closes #171317
Commit: 6bfca10b7a9da1b35717f16a820c8e837f87ea17
https://github.com/llvm/llvm-project/commit/6bfca10b7a9da1b35717f16a820c8e837f87ea17
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
[AArch64] Tidy up getMemOpInfo cases where Width == Scale (NFC) (#201153)
Commit: 39658a8fa9d1900f90f218a5eeeb205c227e1262
https://github.com/llvm/llvm-project/commit/39658a8fa9d1900f90f218a5eeeb205c227e1262
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang-rt/test/CMakeLists.txt
Log Message:
-----------
[Flang-RT][test] Add flang-rt-mod dependency (#201297)
Flang-RT's tests require the modules since #198793. #171515 did not
account for this additional dependency.
Fixes #201254
Commit: 74f1c9417e916aed314fd429ce2faee49668ffa6
https://github.com/llvm/llvm-project/commit/74f1c9417e916aed314fd429ce2faee49668ffa6
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/AST/ASTContext.cpp
A clang/test/Modules/pr195905.cppm
Log Message:
-----------
[C++20] [Modules] Ask for definition before calling isInlineDefinitionExternallyVisible (#201291)
Close https://github.com/llvm/llvm-project/issues/195905
The root cause of the problem is, after decl merging, one of the
destructor for `base` (see test case) is chosen, and its body is not
deserialized for performance as we alreday see its body in current TU.
And then, the code call
FunctionDecl::isInlineDefinitionExternallyVisible from the destructor
without a serialized body, but
FunctionDecl::isInlineDefinitionExternallyVisible's implementation
requires to see a body. Then assertion failed.
Decl merging and function decl merging is common. We can't always make
sure we find the definition without checking. It is much more
fundamental. So the PR doesn't try to touch the decl merging mechanism
or how we handle the result of lookups.
We tried to fix the issue at the calling point to make sure we have a
definition for isInlineDefinitionExternallyVisible. Other use of
isInlineDefinitionExternallyVisible does the similar thing.
Commit: 1023990a57d5824a6fc2f7a899b8f36977bbcf66
https://github.com/llvm/llvm-project/commit/1023990a57d5824a6fc2f7a899b8f36977bbcf66
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Semantics/CMakeLists.txt
R flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/lib/Semantics/check-omp-variant.cpp
Log Message:
-----------
[flang][OpenMP] Rename check-omp-metadirective.cpp (NFC). (#201159)
Both METADIRECTIVE and DECLARE VARIANT fall into the "variant
directives" category, so check-omp-variant.cpp is a more accurate name
for the file that hosts their semantic checks.
Suggested in
https://github.com/llvm/llvm-project/pull/198799#issuecomment-4576970335
Commit: ceca0519375094ca3c950bbdc2b8bf3f79cdaf4b
https://github.com/llvm/llvm-project/commit/ceca0519375094ca3c950bbdc2b8bf3f79cdaf4b
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-fpr.ll
Log Message:
-----------
[AArch64] Fix arm64-zero-cycle-zeroing-fpr.ll check lines(NFC) (#200192)
Fix `mov`->`fmov` + add `--match-full-lines` to avoid such a pitfall
again.
Commit: 1a03c29cab6bc8c67023181cfdafbd5e0dbac815
https://github.com/llvm/llvm-project/commit/1a03c29cab6bc8c67023181cfdafbd5e0dbac815
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/asm-printer-check-vcc.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-indirect-branch.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
M llvm/test/CodeGen/AMDGPU/phys-partial-liveness.mir
M llvm/test/CodeGen/AMDGPU/resource-usage-crash-unhandled-reg.mir
M llvm/test/CodeGen/AMDGPU/sched-image-sample-post-RA.mir
M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir
M llvm/test/MC/AMDGPU/gfx11_asm_t16_err.s
M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp
Log Message:
-----------
[AMDGPU] Remove definition of hi16 for scalar registers (#197467)
The sub-register is not supported by the back-end pipelines and will
eventually cause an assert. With this change machine verifier can
enforce that hi16 is not being used. Asm parser is also updated to error
on invalid sub-registers, instead of asserting.
This is a follow up change on #188781.
Assisted-by: Claude Code
Commit: d27b4b6c1c15d3e99d35749cefcf296500b0944e
https://github.com/llvm/llvm-project/commit/d27b4b6c1c15d3e99d35749cefcf296500b0944e
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/cast-costs.ll
Log Message:
-----------
[LV][NFC] Add another case to cast-costs.ll test (#201117)
Commit: 75dece729ccdbae01e1d09d4adf9604ea1103905
https://github.com/llvm/llvm-project/commit/75dece729ccdbae01e1d09d4adf9604ea1103905
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/statically-constructed-objects.cpp
Log Message:
-----------
[clang-tidy] Avoid evaluating value-dependent static initializers in fuchsia-statically-constructed-objects (#201287)
Static data member initializers in class templates could crash the check
when they used non-type template parameters. This commit skips them
during analysis.
Closes https://github.com/llvm/llvm-project/issues/201110
Commit: 62eaec6c723129d0db2c2e7112fcf1579a94f0a6
https://github.com/llvm/llvm-project/commit/62eaec6c723129d0db2c2e7112fcf1579a94f0a6
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
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-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
Log Message:
-----------
[LV] Support partial reduce subs/fsubs without a mul operand (#199664)
This allows the `UpdateR(PrevValue, ext(...))` form for fsub/sub updates
(i.e, AddWithSub or Sub reductions). For sub reductions the
codegen/handling is identical to add reductions (with the sub handled
out of loop). For AddWithSub, reductions the sub is handled in-loop with
a NegatedExtendedReduction VP expression, which the encapsulates
`reduce.[f]add(neg(ext(op)))`.
Commit: 5d0074316a86de1019c5850584f5b5cdde9edefa
https://github.com/llvm/llvm-project/commit/5d0074316a86de1019c5850584f5b5cdde9edefa
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/div-rem-fast-path.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udivrem24.ll
Log Message:
-----------
[AMDGPU] Fix LowerDIVREM24 for the unsigned case (#196418)
This PR fixes the miscompilation bug found in
https://github.com/llvm/llvm-project/issues/194829.
The test revealed that there were missing checks for the unsigned case
in LowerDIVREM24. Without those checks, the optimization is wrongly
applied assuming that the division operands do fit in 24-bit integers,
triggering the miscompilation. One of the operands was 0xFFFFFFFF.
The bug is a regression introduced in
https://github.com/llvm/llvm-project/commit/81a709503d378c188462465918df161d664c4205.
The commit refactored the conditions that validated whether the
optimization could be applied. It moved them from each call site (signed
and unsigned cases) into the function, but missed the ones for the
unsigned case.
---------
Co-authored-by: Carlo Bertolli <carlo.bertolli at amd.com>
Commit: fb6153a65039b06319cb4b9ce2fafa84d75daa6b
https://github.com/llvm/llvm-project/commit/fb6153a65039b06319cb4b9ce2fafa84d75daa6b
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/ShrinkWrap.cpp
A llvm/test/CodeGen/RISCV/shrinkwrap-save-restore-fixed-reg.ll
Log Message:
-----------
[CodeGen] Fix ShrinkWrap crash when FindIDom receives empty predecessor/successor list (#198995)
When using `-msave-restore` with `-ffixed-x5` on RISC-V,
`canUseAsPrologue` returns false for all blocks because the save-restore
prologue requires t0 (x5) which is reserved. This causes the shrink-wrap
loop to keep searching for a valid save point, eventually reaching the
entry block. On the next iteration, it calls FindIDom with the entry
block's empty predecessor list, triggering an assertion in
findNearestCommonDominator.
Fix by returning nullptr from FindIDom when the block list is empty,
which signals the caller to stop searching and give up the optimization.
Fixes #166759
Commit: 1bde29e83bc4d077d9f553d89846c4eba402f3e6
https://github.com/llvm/llvm-project/commit/1bde29e83bc4d077d9f553d89846c4eba402f3e6
Author: Osman Yasar <osmanyas05 at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-narrow-binop-feeding-add.mir
Log Message:
-----------
[GlobalISel] Add `combine_or_of_and` from SelectionDAG (#198754)
This PR adds the pattern `// fold or (and x, y), x --> x` from
SelectionDAG.
Commit: 4cfaaa679114c690edec268cb53d19d198c71bc2
https://github.com/llvm/llvm-project/commit/4cfaaa679114c690edec268cb53d19d198c71bc2
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
Log Message:
-----------
[NFC][mlir][bufferization] Remove getMemRefType() helper (#199034)
Replace getMemRefType() helper with a direct usage of
options.unknownTypeConverterFn() hook. This does not change any
behaviour since all the existing call-sites would already implicitly
call the hook. The major difference could have been in the handling of
the memref layout but this does not seem to be properly handled anyhow.
As the `getMemRefType()` helper is removed, there are two cases to keep
in mind for downstream users that need to adjust the code accordingly:
1. For creating memrefs without layouts, call
`options.unknownTypeConverterFn` hook directly (the same way this patch
is doing for upstream)
2. For creating memrefs with layouts (assuming, custom ones), please
(re)implement the same helper. As only ranked memrefs can have a layout,
a call to `mlir::MemRefType::get(shape, elementType, /*your custom
layout=*/myLayout, memorySpace)` should be sufficient.
Commit: 3419e724ad5d1cf027da971581ae31c36a9dec51
https://github.com/llvm/llvm-project/commit/3419e724ad5d1cf027da971581ae31c36a9dec51
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A bolt/docs/BOLTAArch64OptimizationStatus.rst
Log Message:
-----------
[AArch64][BOLT] Document AArch64 optimization flag support (#198282)
BOLTAArch64OptimizationStatus.rst aims to document default-off,
user-enabled passes and their status (supported/unsupported) on AArch64.
``--simplify-rodata-loads`` has a patch in review, so I have documented
its current status.
Discussion on RST/MD:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
Commit: 7496ee9be8d2d4467706615a975a4d61ccb3264d
https://github.com/llvm/llvm-project/commit/7496ee9be8d2d4467706615a975a4d61ccb3264d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/sincos.ll
Log Message:
-----------
[SLP][NFC]Add a test with non-vectorized sincos, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/201312
Commit: c958962c157b728e153b6232b800cbf556812545
https://github.com/llvm/llvm-project/commit/c958962c157b728e153b6232b800cbf556812545
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/lcssa-incoming-value-is-not-instr.ll
Log Message:
-----------
[LoopInterchange] Assume LCSSA PHI incoming value may not be instruction (#201069)
This patch fixes one of the assertion failures reported in #200819. The
root cause in this case is that `moveLCSSAPhis` assumes the incoming
values of LCSSA PHIs are always instructions and unconditionally casts
them to `Instruction`.
This assumption does not always hold, especially when the incoming value
is a constant. For such LCSSA PHI nodes, it's enough to merely replace
all the uses with its incoming value.
Commit: 94c0e6fb2536cb2c0dbd205fadd4a8e929388b1a
https://github.com/llvm/llvm-project/commit/94c0e6fb2536cb2c0dbd205fadd4a8e929388b1a
Author: A. Jiang <de34 at live.cn>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libcxx/include/__locale
M libcxx/include/__locale_dir/messages.h
M libcxx/include/__locale_dir/money.h
M libcxx/test/libcxx/localization/locales/use_facet.abort.pass.cpp
A libcxx/test/libcxx/localization/nodiscard.verify.cpp
Log Message:
-----------
[libc++][locale] Applied `[[nodiscard]]` (#200726)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/localization
Remarks:
- Virtual functions are not marked `[[nodiscard]]` because they are not
expected to be directly called by users.
- `messages::open` is marked `[[nodiscard]]` because it is logically
similar to `operator new` and its friends.
Commit: e2efa2e958270e0f21d9db2aa9a393006c9d6d0b
https://github.com/llvm/llvm-project/commit/e2efa2e958270e0f21d9db2aa9a393006c9d6d0b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/phi-vectorization-budget.ll
Log Message:
-----------
[SLP] Gather wide PHI bundles to avoid compile-time blow-up
Vectorizing a PHI bundle recurses into one operand bundle per incoming
value, so the analysis cost grows with bundle_size * num_incoming_values.
With revectorization, very wide PHIs from jump threading make
opt -O3 hang for minutes/hours. Such PHIs are not profitable to vectorize,
so gather the bundle once that product exceeds a budget (new hidden option
-slp-phi-vectorization-budget, default 1024).
Fixes #201181
Reviewers: hiraditya, bababuck, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/201227
Commit: c7ecad5c289c67829d8d43013c9ac46bc92ae4e6
https://github.com/llvm/llvm-project/commit/c7ecad5c289c67829d8d43013c9ac46bc92ae4e6
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/DebuggerControllerBase.py
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/DextIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/LocIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/StepIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/Inputs/header.h
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_function.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_line.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_file_paths.cpp
Log Message:
-----------
[Dexter] Add basic debugging support for structured scripts (#197418)
This patch adds a debugger controller for structured scripts. This
controller operates as follows:
- !where nodes at the root of the script (currently the only kind
allowed) have function or line breakpoints set to cover them.
- Whenever the debugger stops, the controller will examine the stack to
determine whether any !where nodes are in scope.
- While any !where is in scope, its associated !values will be evaluated
in the debugger and the results stored, and the debugger will
single-step.
- When no !where is in scope, the debugger will continue.
This is a simplified implementation compared to the final version, as it
is missing support for nested !where nodes, Scope evaluation, and
conditions/hit counts; these will be added in later commits.
Commit: 869be014cf9a02f26ad938cc40fa83dfb62e90f9
https://github.com/llvm/llvm-project/commit/869be014cf9a02f26ad938cc40fa83dfb62e90f9
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
Log Message:
-----------
[AMDGPU] Diagnose unsupported permlane16/mov.dpp8/tanh intrinsics (#200585)
Commit: 2fabed5f49d950b669b9f9a5a624d61aa8bdeda0
https://github.com/llvm/llvm-project/commit/2fabed5f49d950b669b9f9a5a624d61aa8bdeda0
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
A llvm/test/CodeGen/SPIRV/cloned-funcs-metadata-oob.ll
Log Message:
-----------
[SPIR-V] Diagnose out-of-bounds argument index in function type metadata (#200601)
The argument index in spv.cloned_funcs/spv.mutated_callsites metadata
was used to index the parameter list with only a lower bound assert
Add boundaries check it and report_fatal_error rather than silently
miscompiling
Commit: 66ceecd18b654a4e94c70d2a8d7239114e2705cf
https://github.com/llvm/llvm-project/commit/66ceecd18b654a4e94c70d2a8d7239114e2705cf
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/asm-printer-check-vcc.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-indirect-branch.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
M llvm/test/CodeGen/AMDGPU/phys-partial-liveness.mir
M llvm/test/CodeGen/AMDGPU/resource-usage-crash-unhandled-reg.mir
M llvm/test/CodeGen/AMDGPU/sched-image-sample-post-RA.mir
M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir
M llvm/test/MC/AMDGPU/gfx11_asm_t16_err.s
M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp
Log Message:
-----------
Revert "[AMDGPU] Remove definition of hi16 for scalar registers" (#201309)
Reverts llvm/llvm-project#197467 as it causes a buildbot failure.
Commit: 90d907b54ca222271439467c5f42073625211fed
https://github.com/llvm/llvm-project/commit/90d907b54ca222271439467c5f42073625211fed
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.inst.ll
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[AMDGPU] Add llvm.amdgcn.s.prefetch.inst intrinsic (#192440)
- New intrinsic
- New SubtargetFeature for all s_prefetch_inst*/data*
- Support blockaddress
Commit: 8a81ecc4e7cfc3b63041cc28e620d339f1933cb6
https://github.com/llvm/llvm-project/commit/8a81ecc4e7cfc3b63041cc28e620d339f1933cb6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/avx512-trunc.ll
Log Message:
-----------
[X86] avx512-trunc.ll - add basic masked trunc coverage for #200617 (#201318)
Commit: d515a6e5381d967f81f5d18d1b2a7a3255b48dc6
https://github.com/llvm/llvm-project/commit/d515a6e5381d967f81f5d18d1b2a7a3255b48dc6
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/include/llvm-libc-types/CMakeLists.txt
Log Message:
-----------
[libc] Remove redundant file(COPY) for x86_64 types (#201317)
Removed the redundant file(COPY) command from the x86_64 architecture
check in libc/include/llvm-libc-types/CMakeLists.txt.
This command eagerly copies the x86_64 directory to the binary
directory, which is redundant because individual headers are already
copied by their respective add_header targets. It also preserved
read-only depot permissions from the source tree, making the build
directory read-only and causing rm -rf to fail.
Assisted-by: Automated tooling, human reviewed.
Commit: 7dc66bf2353d09a84dfa6aca70942b3902d94f6e
https://github.com/llvm/llvm-project/commit/7dc66bf2353d09a84dfa6aca70942b3902d94f6e
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/u_char.h
A libc/include/llvm-libc-types/u_int32_t.h
A libc/include/llvm-libc-types/uint.h
M libc/include/sys/types.yaml
Log Message:
-----------
[libc] Add BSD/SysV compatibility types to sys/types.h (#201314)
Added u_char, u_int32_t, and uint to sys/types.h. These types are
commonly used by legacy and compatibility-reliant libraries like libedit
and libcap.
Assisted-by: Automated tooling, human reviewed.
Commit: fb2233e688d089b1d7bf9a8032cd92a6de2ae213
https://github.com/llvm/llvm-project/commit/fb2233e688d089b1d7bf9a8032cd92a6de2ae213
Author: Luke Lau <luke at igalia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Move mask intrinsics out of VP section (#201282)
Somehow llvm.get.active.lane.mask and
llvm.loop.dependence.{war,raw}.mask ended up in the VP intrinsics
section of the LangRef. This PR pulls them out into a new "Vector Mask
Intrinsics" section.
Commit: f86688b3a16be15f7a50132d0497fcef6110afd1
https://github.com/llvm/llvm-project/commit/f86688b3a16be15f7a50132d0497fcef6110afd1
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopInterchange/function-attr.ll
R llvm/test/Transforms/LoopInterchange/memory-attr.ll
Log Message:
-----------
[LoopInterchange] Rename test to `function-attr.ll` (NFC) (#201330)
The new name is more appropriate if we want to add further test cases.
Commit: 2ba8bebb270d64a486096b6258f8ea6f764a630c
https://github.com/llvm/llvm-project/commit/2ba8bebb270d64a486096b6258f8ea6f764a630c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/symbol.cpp
M flang/test/Semantics/OpenMP/requires-modfile.f90
Log Message:
-----------
[flang][OpenMP] Refactor interface of WithOmpDeclarative (#200876)
The two major changes are that:
1. The clause sets are not optional anymore. In the absence of any
declarative directives (REQUIRES in this case), the set will simply be
empty.
2. The optional memory order member will serve as the value of the
argument to the ATOMIC_DEFAULT_MEM_ORDER clause, and will only be
meaningful (and required) when the clause is a member of the clause set.
Additionally,
- Rename the RequiredClauses type alias to OmpClauseSet, since it will
be reused for other purposes in the future.
- Remove the has_* functions since they are not necessary, and when more
members are added these functions will only add to the clutter.
- Add a version_ member for printing directive/clause names.
Commit: 23172e419c567115a7a00e48debae327c502fe03
https://github.com/llvm/llvm-project/commit/23172e419c567115a7a00e48debae327c502fe03
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
[NFC][AMDGPU] Introduce AMDGPU::FlatAddrSpace enum to replace uint64_t FLAT discriminant (#200431)
This is the reapply of https://github.com/llvm/llvm-project/pull/200396 with renamed AMDGPU::FlatVariant to AMDGPU::FlatAddrSpace to avoid name conflict with function arguments (build error on gcc)
Replace the uint64_t parameter used as a FLAT address-space segment discriminant in isLegalFLATOffset, splitFlatOffset, allowNegativeFlatOffset with a typed enum class to prevent usage of raw TSFlags.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 8943bfbd08202aae1e85181082a1ec337e6a8b0b
https://github.com/llvm/llvm-project/commit/8943bfbd08202aae1e85181082a1ec337e6a8b0b
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
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
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
Log Message:
-----------
[AMDGPU] Do not scale private alloca size when using flat-scratch (#201142)
When using flat-scratch, the `scratch_load/scratch_store` instructions
scale the stack offset by the wavefront size on their own.
Scaling the alloca-size by the wave-front size lead to accesses outside
of the private-memory limit.
Commit: 0385a1b4e839ed35bf44bb5391999c3d48a8e2f7
https://github.com/llvm/llvm-project/commit/0385a1b4e839ed35bf44bb5391999c3d48a8e2f7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avg-mask.ll
M llvm/test/CodeGen/X86/avx512-trunc.ll
Log Message:
-----------
[X86] combineSelect - fold select(c,trunc(x),y) -> X86ISD::MTRUNC(x,y,c) for non-BWI targets (#201339)
Fixes #200617
Commit: 27fd70f849f417db18ac581457f0419332a7a1fa
https://github.com/llvm/llvm-project/commit/27fd70f849f417db18ac581457f0419332a7a1fa
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[clang][NFC] Introduce `LangOptions::isCompatibleWith(ClangABI)` (#201067)
This slightly improves readability and reduces the probability of
off-by-one errors.
Commit: 799af5d80d6335cd10de91506b6beb7c043278eb
https://github.com/llvm/llvm-project/commit/799af5d80d6335cd10de91506b6beb7c043278eb
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-vcnt.ll
Log Message:
-----------
[AArch64][GlobalISel] Add handling for cls intrinsic (#200440)
Neon intrinsic neon.cls wasn't linked to the generic node G_CTLS.
Add in this link in Legalisation (LegalizeIntrinsic), to allow the intrinsic to properly lower.
Commit: d67b41a20ca55b47f4d09bdba609fc305a9d2484
https://github.com/llvm/llvm-project/commit/d67b41a20ca55b47f4d09bdba609fc305a9d2484
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/clmul-vector.ll
Log Message:
-----------
[X86] Add clmul vector allones baseline tests for #200592 (#201321)
Commit: 906968b379d2d591299b677868e4364e0ea1b5a0
https://github.com/llvm/llvm-project/commit/906968b379d2d591299b677868e4364e0ea1b5a0
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopInterchange/function-attr.ll
Log Message:
-----------
[LoopInterchange] Add tests for func attributes called in loops (NFC) (#201331)
LoopInterchange has special handling for call instructions. In general,
loops that contain call instructions are not legal to interchange, but
if a call satisfies certain conditions, we allow the interchange to
proceed. Currently, the legality checker only verifies whether the call
reads or writes memory. However, as pointed out in
https://github.com/llvm/llvm-project/pull/200828#issuecomment-4593914293,
we also need to ensure that the call does not diverge. Otherwise, an
illegal interchange may occur.
This patch adds test cases that demonstrate the issue, which will be
fixed in a follow-up patch.
Commit: b1d5d7e3237ac5be660f82c71ec7323d6db7b724
https://github.com/llvm/llvm-project/commit/b1d5d7e3237ac5be660f82c71ec7323d6db7b724
Author: John Brawn <john.brawn at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
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/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.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/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
Log Message:
-----------
[VPlan] Don't use the legacy cost model for loop conditions (#156864)
The current behaviour of using the legacy cost model for instructions
that compute the loop exit condition gets the wrong result when the loop
has been transformed to use a different exit condition, e.g. when have
tail-folded predicated vectorization the exit condition is based on the
predicate vector.
Fix this by adding cost computation for BranchOnCount and removing the
restriction on computing the cost for scalar ICmp/FCmp, and removing the
use of the legacy cost model for loop exit conditions.
This causes quite a lot of changes to expected output in tests. Some of
these are just changes to the -debug output, others are choosing a
different VF due to previously over or under-estimating the cost, and in
others the minimum trip count has changed as we now compute the cost for
compares in the middle block.
Commit: 0fd2402e94447ae9ae77e319cc8e312b97e5a30e
https://github.com/llvm/llvm-project/commit/0fd2402e94447ae9ae77e319cc8e312b97e5a30e
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M offload/ci/hip-tpl.py
Log Message:
-----------
[HIP] Remove explicit compiler-rt from bot recipe (#201329)
The same change was done to the AnnotatedBuilder script recently. Let's
keep them in sync.
https://github.com/llvm/llvm-zorg/pull/861
Commit: 52cf94a82eabfe70d417c17a3ab38736ded4938b
https://github.com/llvm/llvm-project/commit/52cf94a82eabfe70d417c17a3ab38736ded4938b
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
M llvm/test/CodeGen/AMDGPU/widen_extending_scalar_loads.ll
Log Message:
-----------
[AMDGPU] Drop !noundef when widening sub-DWORD constant loads (#201085)
The widened i32 load reads bytes outside the original sub-DWORD load, so
new op cannot claim !noundef
Commit: 70d62e1e10907e1bd6dd0e92968acbf6fe58af37
https://github.com/llvm/llvm-project/commit/70d62e1e10907e1bd6dd0e92968acbf6fe58af37
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.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/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/Serenity.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
Log Message:
-----------
[Clang] Rework LTO mode selection to be a Toolchain property (#201155)
Summary:
Currently, the LTO mode is a property of the Driver, which makes sense
because it is used to set up phases. However, we currently have `-flto`
and `-foffload-lto`, which is a split that doesn't fully work with the
full context of a heterogenous compilation as it is 'all-or-nothing'.
This PR seeks to be mostly NFC for now, just moving the queries to a
per-toolchain interface rather than the static driver mode setting we
have right now. The *single* use of this before ToolChains are created
is for the Webassembly toolchain to set an include path. This is now
just a direct check on the flag, which is consistent. In the future they
could shift to fat LTO objects as well.
The main goal for the PR is to allow the GPU / Offloading toolchains to
specify their "real" LTO behavior. Right now SPIR-V and AMDGCN both
default to LTO, but rather than re-use the LTO handling we hack through
the driver phases to override it. Allowing this split would let us
heavily simplify this logic.
Co-authored-by: Cursor <cursoragent at cursor.com>
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 911eddeed7ba2359c953396afce934fee269f50e
https://github.com/llvm/llvm-project/commit/911eddeed7ba2359c953396afce934fee269f50e
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/include-omp-header.f90
M flang/test/lit.cfg.py
M openmp/module/CMakeLists.txt
Log Message:
-----------
[Flang] Fix omp_lib.h location and search path (#201104)
Before this PR, omp_lib.h is emitted to `${PREFIX}/include` or
`${PREFIX}/lib/clang/<version>/include` (install prefix) and
`${PREFIX}/runtime/src/omp_lib.h` (builddir prefix). It is never found
there because the driver only adds `${PREFIX}/include/flang/OpenMP` to
the include path.
Fix the `omp_lib.h` include by using the same mechanism as the
omp_lib.mod; that is, move it to
`${PREFIX}/lib/clang/<version>/finclude/flang/<target-triple>`. The
search path is already added by the driver via
`-fintrinsics-modules-path` by the driver. Although omp_lib.h currently
does not contain anything target-specific, it could do so in the future
and I don't think it is worth the effort to add a mechanism without the
target triple. It should also me consistent with omp_lib.mod.
The changes in detail consist of:
1. Move the omp_lib.h output in the builddir to
`${RUNTIMES_OUTPUT_RESOURCE_MOD_DIR}`. This already takes care of
whether it is a bootstrapping build or not.
3. Move the omp_lib.h install dir to
`${RUNTIMES_INSTALL_RESOURCE_MOD_PATH}`.
4. Remove the implicit search path `include/flang/OpenMP` from the
frontend. There is nothing in there anyway.
5. Hardcoding the include search path for testing to the
`LLVM_RUNTIME_TARGETS=default` build becomes unnecessary. This was way
the `include-omp-header.f90` test was still passing, although it would
not work outside the regression tests. Essentially, it tested
lit.site.cfg, not the driver.
6. Replace the old `include-omp-header.f90` test. It created a temporary
`omp_lib.h` that interferes with any other test that use `include
omp_lib.h` (there currently isn't but I originally intended to add the
replacement as an additional omp_lib.h test which resulted in a flaky
test while the original test was there). Due to how the %flang(_fc1)
substitution works, lookup order may also vary.
Commit: e5332f3ea1766a0cfaa1a50a4db9f78c9d39cd3b
https://github.com/llvm/llvm-project/commit/e5332f3ea1766a0cfaa1a50a4db9f78c9d39cd3b
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/MC/MCGOFFObjectWriter.h
M llvm/lib/MC/GOFFObjectWriter.cpp
Log Message:
-----------
[SystemZ][GOFF] Implement reset() for GOFFObjectWriter (#201197)
The reset() methods is used to free memory before the object is
destructed or reused. This change adds this functionality to the GOFF
writer.
Commit: c689c165ba2723285258975a14cd562d41d059ab
https://github.com/llvm/llvm-project/commit/c689c165ba2723285258975a14cd562d41d059ab
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/src/__support/FPUtil/bfloat16.h
M libc/test/src/__support/FPUtil/bfloat16_test.cpp
Log Message:
-----------
[libc] Add compound assignment operator overloads for BFloat16 (#201301)
The current Bfloat16 has normal operator overloads `+` , `-` , `=`,
`!=`, `*`, & `/`.
Later during a function failure `*=` was added in
https://github.com/llvm/llvm-project/pull/182882
For completeness the rest of the operators: `/=`, `+=`, `-=` are added
These are added along with some smoke test .
Commit: a2369b9743391351b1dd4a5c38fb61e295ff7088
https://github.com/llvm/llvm-project/commit/a2369b9743391351b1dd4a5c38fb61e295ff7088
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[Clang] Fix leftover use of old LTO path (#201360)
Summary:
This was accidentally missed when I merged the refactor because it
showed up after I made the PR and didn't have any merge conflicts I
noticed.
Commit: ef4fb183a8d5c0d1910f7b5b6776ba669d6795ef
https://github.com/llvm/llvm-project/commit/ef4fb183a8d5c0d1910f7b5b6776ba669d6795ef
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
Log Message:
-----------
[flang][hlfir] Resolve shape_of users when bufferizing eval_in_mem (#201214)
A follow-up to #197814.
Example:
```fortran
bmat = matmul(mat, mat) ! bmat is allocatable
```
In this code, `SeparateAllocatableAssign` sizes the reallocation with an
`hlfir.shape_of` of the RHS. Once the `matmul` is lowered to
`hlfir.eval_in_mem`, that `shape_of` is an extra user, so
`EvaluateIntoMemoryAssignBufferization` erases the `eval_in_mem` while
it's still used, hitting a `use-after-erase` assertion at `-O2`.
Fix: in `OptimizedBufferization`, redirect a `shape_of` user to the
`eval_in_mem`'s shape operand before erasing it.
Commit: a7bfea843c73c9b48feb1b94c996924d2881f362
https://github.com/llvm/llvm-project/commit/a7bfea843c73c9b48feb1b94c996924d2881f362
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
R llvm/test/Transforms/InferAddressSpaces/AMDGPU/old-pass-regressions-inseltpoison.ll
R llvm/test/Transforms/InterleavedAccess/AArch64/interleaved-accesses-inseltpoison.ll
Log Message:
-----------
[Transforms] Delete identical poison tests (NFC) (#201349)
These are now bit-identical to the original tests:
- llvm/test/Transforms/InferAddressSpaces/AMDGPU/old-pass-regressions.ll
- llvm/test/Transforms/InterleavedAccess/AArch64/interleaved-accesses.ll
Commit: 9e01e0970c4cf810e99bdfde3a2329610df6d90c
https://github.com/llvm/llvm-project/commit/9e01e0970c4cf810e99bdfde3a2329610df6d90c
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang-rt/CMakeLists.txt
Log Message:
-----------
[Flang-RT] Disable tests by default without modules (#201311)
With #201297 flang-rt-mod is required for running tests. Disable tests
by default if module files are not built.
Commit: 7eff475c4998039878563b987121c7fcc002b7b3
https://github.com/llvm/llvm-project/commit/7eff475c4998039878563b987121c7fcc002b7b3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/test/Driver/hip-toolchain-no-rdc.hip
Log Message:
-----------
[HIP] Fix test for --no-lto (#201367)
Commit: 3a9c6cdb5d99cbcbb98c8d3562c409ddc5822deb
https://github.com/llvm/llvm-project/commit/3a9c6cdb5d99cbcbb98c8d3562c409ddc5822deb
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A clang/include/clang/AST/MatrixUtils.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/HLSL/matrix_layout_attr.hlsl
A clang/test/CodeGenHLSL/matrix-layout-attr-overrides-default.hlsl
M clang/test/SemaHLSL/BuiltIns/logical-mat-operator-errors.hlsl
M clang/test/SemaHLSL/MatrixElementOverloadResolution.hlsl
M clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixImplicitTruncCastWarnings.hlsl
Log Message:
-----------
[Matrix][HLSL] Add codegen support for Matrix Layout keywords (#198887)
fixes #192262
- Wrap Matrix Type in a row or column major layout attribute
- Add Helper to know which Matrix Layout to apply in codegen or check
for in Sema
- Remove the Decl Atribute and only store on the type.
Assisted by Claud Opus 4.7
Commit: 270a6a8f6742b6a0e86d1a6b3ca6b90b39a64e87
https://github.com/llvm/llvm-project/commit/270a6a8f6742b6a0e86d1a6b3ca6b90b39a64e87
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Support/Fortran.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/symbol.cpp
M flang/test/Parser/OpenMP/declare_target-device_type.f90
M flang/test/Parser/OpenMP/groupprivate.f90
A flang/test/Semantics/OpenMP/declare-target-flags.f90
A flang/test/Semantics/OpenMP/declare-target-modfile.f90
M flang/test/Semantics/OpenMP/dump-requires-details.f90
Log Message:
-----------
[flang][OpenMP] Store DECLARE_TARGET information in WithOmpDeclarative (#201103)
This will be used to emit DECLARE_TARGET directives into module files.
When a symbol apperars in DECLARE_TARGET, the OmpDeclareTarget flag will
be set on it (this includes procedures containing a DECLARE_TARGET
without arguments or clauses). The set of accompanying clauses will be
stored in the associated details, in the WithOmpDeclarative mixin. The
mixin was added to ObjectEntityDetails, ProcEntityDetails, and
CommonBlockDetails.
The design goal was to be able to reconstruct the appropriate DECLARE_
TARGET directive for individual symbols for the purpose of emitting it
in a module file. Simply storing and then unparsing the AST node may
include symbols that should not be emitted.
Additionally, refactor the WithOmpDeclarative printing code for reuse in
symbol dumping for debugging, and for printing clause sets.
Commit: 9606c9ff18f0d90a639b132a7f69ebc8a8f61c99
https://github.com/llvm/llvm-project/commit/9606c9ff18f0d90a639b132a7f69ebc8a8f61c99
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCUDA/atomic-options.hip
M clang/test/CodeGenCUDA/builtins-amdgcn.cu
M clang/test/CodeGenCUDA/builtins-spirv-amdgcn.cu
M clang/test/CodeGenCUDA/record-layout.cu
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenHIP/placement-new-addrspace.hip
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/OpenMP/amdgcn_target_device_vla.cpp
M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
Log Message:
-----------
Reapply "[clang] remove lots of "innocuous" addrspacecasts" (#200427)
Reapply #197745, with an additional commit to undo a small part of the
first commit, pending further analysis of alternatives to that part of it.
In particular, make the `agg.tmp` (CreateAggTemp) values keep using the
declared expression type of the RValue. This is indeed probably
sensible, since it lets Sema influence this via the expression type,
though it runs into some issues where some expression types (notably for
any load) haven't had one of the equivalent functions
getNonLValueExprType/DeduceAutoType/getUnqualifiedType called on them,
so they are bringing along additional annotation baggage which doesn't
apply the the rvalue when turned into a temporary (see comments in
getNonLValueExprType for relevant part of C++ standard). This in turn is
also rarely relevant, since inventing temporaries aren't often allowed
in this part of the pipeline (it'd require a move constructor) so the
LValue Dest already provides the type and the RValue type is ignored.
However, it does affect a single test (which loads a global but ignores
the result) and so this adds an extra `getUnqualifiedType` call to
`CodeGenFunction::EmitAnyExpr` so that load doesn't propagate the
qualifiers from source to temporary. This might be a common issue with
load-like expressions (for example, there's a `getUnqualifiedType` in
AtomicExpr code when computing the appropriate codegen for the result,
so it also didn't trust Sema to have created this correctly--and indeed
it seems that Sema expects CG to wait until after
DefaultLvalueConversion before it is does anything with the result type)
Commit: 90a172b53e77e4171b67e9fe4215707aed45cda4
https://github.com/llvm/llvm-project/commit/90a172b53e77e4171b67e9fe4215707aed45cda4
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
M llvm/test/CodeGen/AMDGPU/inlineasm-mismatched-size-error.ll
Log Message:
-----------
[AMDGPU] Reject named single register inline asm constraints for wider types (#200771)
A named single register constraint like `={v0}` was silently accepted
for i64 result, binding it to one 32-bit register
Reject scalars larger than 32 bits as well
Commit: 4a8c5d231227d7c6c61160e5be25f4626cdabbb8
https://github.com/llvm/llvm-project/commit/4a8c5d231227d7c6c61160e5be25f4626cdabbb8
Author: Yair Ben Avraham <yairba at protonmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-2velem.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
M clang/test/CodeGen/AArch64/neon/fused-multiply.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
Log Message:
-----------
[CIR][AArch64] Lower vfmaq_lane_v and vfma_laneq_v (#197084)
Lower BI__builtin_neon_vfmaq_lane_v and BI__builtin_neon_vfma_laneq_v in
CIR.
This handles the covered vfmaq_lane_* and vfma_laneq_* ACLE wrappers by
bitcasting operands to the expected types, selecting the requested lane
from the lane source operand, and emitting fma through
emitCallMaybeConstrainedBuiltin.
For vfmaq_lane_v, the selected lane is splatted with emitNeonSplat.
For vfma_laneq_v, the lane is selected from the wider lane source; the
f64 case extracts the scalar lane before emitting scalar fma.
Neighboring scalar lane/laneq wrappers and other out-of-scope forms
remain explicit NYI cases.
Tests are moved into the existing CIR-enabled fused multiply files under
clang/test/CodeGen/AArch64/neon/, reusing upstream LLVM checks where
possible and adding CIR coverage for lane selection and fma lowering.
Part of #185382
Follow-up to #195602
Commit: f1b42dcc2326b80116430c9a60f41b0f86abbff7
https://github.com/llvm/llvm-project/commit/f1b42dcc2326b80116430c9a60f41b0f86abbff7
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early_exit_with_stores.ll
M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
M llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
A llvm/test/Transforms/LoopVectorize/interleave_uncountable_exits.ll
A llvm/test/Transforms/LoopVectorize/scalarized_conditional_ops_uncountable_exits.ll
A llvm/test/Transforms/LoopVectorize/tail_fold_uncountable_exits.ll
M llvm/unittests/Transforms/Vectorize/VPlanUncountableExitTest.cpp
Log Message:
-----------
[LV] Vectorize early exit loops with stores using masking (#178454)
This is an alternative approach to vectorizing early exit loops with
stores that avoids needing to add an extra check block. This is a
fairly straightforward approach that should work on vector ISAs
supporting masked memory ops.
The basic approach is to create a mask covering all lanes _before_ any
exiting lane, using cttz.elts and active.lane.mask (which sets all lanes
to true if the uncountable exit wasn't taken). If the uncountable exit
was taken, then there will still be one scalar iteration left to perform
after the vector loop, which will also handle which exit block we should
branch to.
We no longer need to advance exit conditions in the vector body to the
next iteration (compared to the other PR), though we still need to move
the recipes needed to generate the exit condition (depending on which
memory operations are first in the loop).
The advantage this has over a full in-loop mask approach is that we
don't need to form intermediate masks for each uncountable exit; while I
haven't tried to mix this with the ongoing multiple-exit work yet, we
should be able to handle them without increasing the amount of generated
per-exit code. We also won't need to unpick which exit condition was met
first.
For a pseudo-C example of the transformation (with S1 and S2
representing statements with a side effect, like stores, or possibly a
load that may fault if continued past the early exit), given the
following scalar loop:
```c
for (i = 0; i < N; ++i) {
S1;
if (a[i] == threshold)
break;
S2;
}
```
we would have a vector loop and scalar tail like the following:
```c
int i = 0;
for (; i < vecN; i += VF) {
// Move load for uncountable exit condition before other
// operations in the loop.
vecA = a[i]...a[i+VF-1];
// Create mask for all lanes _before_ any uncountable exit.
vecCmp = vecA == splat(threshold);
mask = get.active.lane.mask(0, cttz.elts(vecCmp));
// Execute statements with side effects using the mask
vecS1(mask);
vecS2(mask);
// If there was an uncountable exit, increase IV by the number
// of elements in the mask, and bail out to the scalar tail.
if (any_of(vecCmp)) {
i += cttz.elts(vecCmp);
break;
}
}
// Scalar tail handles remaining iterations, plus any differences
// in exit block for different exits.
for (; i < N; ++i) {
S1;
if (a[i] == threshold)
break;
S2;
}
```
For the mask, given a comparison result of `<0, 0, 1, 0>`, we would
expect a mask of `<1, 1, 0, 0>`.
Commit: fdf8fb6c13deb88c2e179a4eed0c66900dcd92d8
https://github.com/llvm/llvm-project/commit/fdf8fb6c13deb88c2e179a4eed0c66900dcd92d8
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/docs/OpenACC-extensions.md
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Lower/OpenACC/acc-module-definition-multi-name.f90
A flang/test/Lower/OpenACC/acc-routine-multi-name.f90
A flang/test/Parser/acc-routine-empty-parens.f90
M flang/test/Parser/acc-unparse.f90
A flang/test/Semantics/OpenACC/acc-routine-multi-name-disabled.f90
A flang/test/Semantics/OpenACC/acc-routine-multi-name.f90
Log Message:
-----------
[flang][openacc] add extension which accepts multiple names in a OpenACC routine directive (#200296)
This PR adds an extension which allows one or more function names in a
single named routine directive. This is treated as multiple named
routine directives with the same clauses. The bind clause is forbidden.
The empty list of names isn't excepted. Routine clauses are stable under
unparsing.
This PR tests Parsing, Unparsing, Semantics, and Lowering.
Commit: d307ba096e49c4503b50191d6e0ab2879942ffdd
https://github.com/llvm/llvm-project/commit/d307ba096e49c4503b50191d6e0ab2879942ffdd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[DAGCombiner] Remove untested vp_fma combines. (#201239)
RISC-V no longer uses vp_fma in SelectionDAG leaving these combines
untested.
This effectively reverts 2fe2a6d4b8a4647e49d69a5ff7161946aeb7cee1.
Commit: 05e8d9f86a1d29e32d92a04ff9f0371f25057f33
https://github.com/llvm/llvm-project/commit/05e8d9f86a1d29e32d92a04ff9f0371f25057f33
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/AssemblyAnnotationWriter.h
M llvm/lib/IR/AsmWriter.cpp
Log Message:
-----------
[AsmWriter] Add emitMDNodeAnnot (#198317)
Similarly to the other AAW::emit*Annot functions, this may be used to
emit a comment before a metadata node.
Commit: 5816ef1560d13b7fd27e623e7f88f2e44cd11e21
https://github.com/llvm/llvm-project/commit/5816ef1560d13b7fd27e623e7f88f2e44cd11e21
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/basic_evaluate.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/evaluate_nothing.cpp
Log Message:
-----------
[Dexter] Add basic result evaluation for structured scripts (#198803)
This patch adds evaluation for structured scripts, completing the
features required to run simple Dexter tests using structured scripts.
The basic output from these evaluations is a list of named metrics
aggregating the results of evaluating !value nodes. The verbose output
gives a per-step summary of the results for each expect node active at
that step.
Most of the new functionality is in the evaluation/ dir, which has also
absorbed some functionality previously stored in the
ScriptDebuggerController for matching !where nodes to a debugger StepIR,
as this is logic which is common to both managing a debugger session and
evaluating the end result.
Commit: aa8e38f4f87189a5952c8471fb6cb7464f2b9d94
https://github.com/llvm/llvm-project/commit/aa8e38f4f87189a5952c8471fb6cb7464f2b9d94
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M openmp/module/CMakeLists.txt
Log Message:
-----------
[OpenMP] FIx omp_lib.mod compilation for the GPU (#201377)
Commit: 582d2fd3901f2f3b5ea9373471d87c5995a26a80
https://github.com/llvm/llvm-project/commit/582d2fd3901f2f3b5ea9373471d87c5995a26a80
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/call-instructions.ll
M llvm/test/Transforms/LoopInterchange/function-attr.ll
Log Message:
-----------
[LoopInterchange] Bail out if function that may diverge is called (#201348)
This patch fixes the issue pointed out in
https://github.com/llvm/llvm-project/pull/200828#issuecomment-4593914293.
As demonstrated by the test cases added in #201331, it is not legal to
interchange loops that contain call instructions which may diverge. This
patch adds an additional check and bails out early when we cannot prove
that a call instruction in the loops doesn't diverge.
Commit: 8ae895af32cc2f7c506e39f5736e1115a8afb4ce
https://github.com/llvm/llvm-project/commit/8ae895af32cc2f7c506e39f5736e1115a8afb4ce
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/atomicrmw-allow-ftz-atomics.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm60.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm70.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-sm90.ll
M llvm/test/CodeGen/NVPTX/atomicrmw.py
M llvm/test/CodeGen/NVPTX/atomics.ll
Log Message:
-----------
[NVPTX] Respect FTZ flag when lowering atomicrmw fadd. (#200732)
Previously we unconditionally lowered LLVM atomicrmw fadd to PTX
atom.add. This is incorrect, because it ignores the FTZ behavior of the
LLVM and PTX instructions.
Commit: e97e67681d0d7de9c6ab8b293852068ea5591066
https://github.com/llvm/llvm-project/commit/e97e67681d0d7de9c6ab8b293852068ea5591066
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/test/API/macosx/expedited-thread-pcs/TestExpeditedThreadPCs.py
Log Message:
-----------
[lldb/test] Fix TestExpeditedThreadPCs on remote-darwin targets (#201275)
Commit: 12f60d0684a96e3858296c49db4c4cd275ae672f
https://github.com/llvm/llvm-project/commit/12f60d0684a96e3858296c49db4c4cd275ae672f
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Log Message:
-----------
[AMDGPU] Remove unneeded early outs in getDivNumBits. NFC. (#201366)
Commit: 2d249cd753ca8f6d291d4fccdcfba3af3bd9c778
https://github.com/llvm/llvm-project/commit/2d249cd753ca8f6d291d4fccdcfba3af3bd9c778
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
Remove incorrect gcal link from C/C++ language wg (#201374)
The C and C++ language working group meets on the first and third Wed of
the month, but Google Calendar does not support doing this via a single
event. Instead, we have one event for recurring on the 1st Wed and a
second event for recurring on the 3rd Wed. That means we cannot use a
single gcal link for the event. Instead of listing two links, this
removes the gcal link entirely because the meeting is also listed on the
community calendar itself. This reduces confusion for folks, but it
would be nice to get a replacement link at some point.
Commit: 0cea23a93700e1a454369f617525f628df84a064
https://github.com/llvm/llvm-project/commit/0cea23a93700e1a454369f617525f628df84a064
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/test/Driver/hipspv-toolchain.hip
Log Message:
-----------
[HIP] Fix another test for --no-lto (#201382)
Commit: 0f4b1e11e64fdaaf6258043e1a30014b00bd04d3
https://github.com/llvm/llvm-project/commit/0f4b1e11e64fdaaf6258043e1a30014b00bd04d3
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc-stores.ll
Log Message:
-----------
[AArch64] Address issue reported in PR#196029 (#199122)
For certain types of truncating stores, the lowering action is set to
custom although no custom lowering exists for them.
This patch addresses issue reported in PR #196029 by removing the custom lowering entry.
Commit: c6c2ad52586c28e74a724570985a48dc0022d250
https://github.com/llvm/llvm-project/commit/c6c2ad52586c28e74a724570985a48dc0022d250
Author: Aayush Shrivastava <iamaayushrivastava at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/bitfield-insert.ll
M llvm/test/CodeGen/AArch64/bswap-known-bits.ll
M llvm/test/CodeGen/AArch64/sshl_sat.ll
M llvm/test/CodeGen/AArch64/ushl_sat.ll
A llvm/test/CodeGen/X86/aext-and-trunc-avx512.ll
A llvm/test/CodeGen/X86/aext-and-trunc.ll
M llvm/test/CodeGen/X86/and-with-overflow.ll
M llvm/test/CodeGen/X86/combine-srem.ll
M llvm/test/CodeGen/X86/llvm.frexp.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/masked_store.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-innerouter.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-interleavedbits.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-interleavedbytehalves.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-lowhigh.ll
Log Message:
-----------
[DAG] Fold any-extend(and(trunc(x), C)) -> and(x, C) (#200052)
Fixes #195575
Fix a missed optimization in `DAGCombiner::visitANY_EXTEND` where the
pattern `any-extend(and(trunc(x), C))` was not being folded into `and(x,
C)` on X86, causing a redundant `movzbl` instruction to be emitted after
a small-mask AND.
Commit: 91edd87a801fc5c9d12c7f5c6863edd50327cef8
https://github.com/llvm/llvm-project/commit/91edd87a801fc5c9d12c7f5c6863edd50327cef8
Author: mike-goutokuji <gfunni234 at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/ucmp.ll
Log Message:
-----------
[Legalizer] Add support for promoting integers for s/ucmp (#198554)
Instead of manually doing promotion in LowerUCMP of platforms like
PowerPC, we should have this logic in the legalizer.
Commit: 678a6c7dbbb90b5cf856d487820c63aafa6de25b
https://github.com/llvm/llvm-project/commit/678a6c7dbbb90b5cf856d487820c63aafa6de25b
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/SampleGrad.ll
Log Message:
-----------
[DirectX] Implement lowering of SampleGrad. Refactor sample lowering functions (#200871)
Fixes #192549
This PR builds atop #199745 by adding a helper `lowerSampleOp` function
to refactor `lowerSampleBias` and implement `lowerSampleGrad`.
The `lowerSampleGrad` implementation is very similar to
`lowerSampleBias`, just with ddx and ddy arguments instead of a bias.
Unlike SampleBias, SampleGrad is usable in all shader stages because it
has explicit gradient/derivative arguments.
Assisted-by: GitHub Copilot
Commit: 06ac45db1597049c0e4f04c334bf78cd362b75ee
https://github.com/llvm/llvm-project/commit/06ac45db1597049c0e4f04c334bf78cd362b75ee
Author: Ilpo Ruotsalainen <lonewolf at iki.fi>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
A llvm/test/CodeGen/X86/GlobalISel/calllowering-inalloca.ll
Log Message:
-----------
[GISel][CallLowering] Set byval flag for inalloca/preallocated args (#200600)
GlobalISel asserts when lowering a function with an `inalloca` or
`preallocated` argument:
> TargetCallingConv.h:183: void
llvm::ISD::ArgFlagsTy::setByValSize(unsigned): Assertion `isByVal() &&
!isByRef()' failed.
https://godbolt.org/z/jWr4enjaj
`addFlagsFromAttrSet()` sets the `InAlloca`/`Preallocated` flags but
never `ByVal`.
`setArgFlags()` then calls `Flags.setByValSize()` for any non-`ByRef`
indirect argument which asserts `isByVal()`.
`SelectionDAGISel::LowerArguments()` avoids this by deliberately also
setting the `ByVal` flag for `inalloca`/`preallocated`, this change
makes the GlobalISel side match that behavior.
Commit: 15375d84799ec260d101aa35670f61fa456b6a4e
https://github.com/llvm/llvm-project/commit/15375d84799ec260d101aa35670f61fa456b6a4e
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/docs/OpenACC-extensions.md
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Semantics/OpenACC/acc-default-none-scalars-strict.f90
M flang/test/Semantics/OpenACC/acc-default-none-scalars.f90
Log Message:
-----------
[flang][openacc] change option feature flag names to address comments. (#200037)
- Fixes FeatureFlags and CLI flags to use OpenACC instead of ACC.
- Offline comments further refined the name to be
OpenACCDefaultNoneScalarsStrict
- Which changes the semantics requiring the user to opt out of the
default behavior, instead of opt-in to an extension.
- Also makes the CLI flag OptOut instead of OptIn to match the cli
behavior.
- Gets rid of the unneeded warning flag since FeatureFlags have both a
disabled bit and a warning bit.
- Updates old test for these changes and adds a new test to document all
the different cli configurations.
Commit: cd75a7db92289d9784b471b27cd72cb50a2352fd
https://github.com/llvm/llvm-project/commit/cd75a7db92289d9784b471b27cd72cb50a2352fd
Author: Jan Schultke <me at eisenwave.net>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/clmul-vector.ll
M llvm/test/CodeGen/X86/clmul.ll
Log Message:
-----------
[SelectionDAG] Fix missed optimization for CLMUL where one operand is all ones (#200592)
Fixes #200556
This special case is equivalent to a "parallel prefix XOR" or "bitwise
parity" operation, which can be expanded to a logarithmic amount of
bitwise operations instead of a linear amount (relative to the bit
width). When other bitwise operations such as BDEP and BEXT are
expanded, they rely on that operation being lowered to a CLMUL directly
or expanded to this efficient form.
See also
- #200570 (this PR needs this fix to have good codegen)
Commit: cf9bf34e29e67fae3562705cfaffb71c7846e8c8
https://github.com/llvm/llvm-project/commit/cf9bf34e29e67fae3562705cfaffb71c7846e8c8
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.cpp
M llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
Log Message:
-----------
[AMDGPU] Fix backward compatibility kernarg preload prolog base offset (#201355)
Backward compatibility preload prolog loaded args from kernarg-segment
byte 0, but on non-AMDHSA triples the explicit args start at
`getExplicitKernelArgOffset()` (value: 36), so preloaded SGPRs held the
runtime header instead of the arguments
Commit: ee10231219016efcc51a23bb74dc541dcba3aaf6
https://github.com/llvm/llvm-project/commit/ee10231219016efcc51a23bb74dc541dcba3aaf6
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF-disable.h
M libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF.h
M libc/include/stdio.yaml
Log Message:
-----------
[libc] Add explicit format attributes for modular printf (#201212)
We had been relying on compiler-generated format attributes when using
the modular_format attribute for printf-family functions, but this is
not applied in -ffreestanding mode. When modular format is enabled, libc
is explicitly asserting the semantics of these functions, so it should
be explicit about the format attributes as well to keep them from
breaking in -ffreestanding.
Generated by Gemini, reviewed and edited by hand.
Commit: 3a1420effe06748cb9bd1b2ef746bd5be25fad52
https://github.com/llvm/llvm-project/commit/3a1420effe06748cb9bd1b2ef746bd5be25fad52
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A clang/cmake/caches/generic-allow-shared-imports.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-defaults-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dylib-dist.cmake
Log Message:
-----------
[Hexagon] Add cmake caches for cross-toolchain distribution build (#201207)
Adds and extends the
clang/cmake/caches/hexagon-unknown-linux-musl-clang* files to drive a
full install-distribution build: host tools, per-target builtins (Linux
and baremetal), and runtimes for hexagon-unknown-linux-musl.
Commit: f080619e96dfc661fd0f4c0f51a7cc2457d298b9
https://github.com/llvm/llvm-project/commit/f080619e96dfc661fd0f4c0f51a7cc2457d298b9
Author: Martin Erhart <martin.erhart at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/test/python/ir/location.py
Log Message:
-----------
[mlir][Python] Downcast location returned from diagnostic (#201337)
Essentially a follow up to
https://github.com/llvm/llvm-project/pull/192630
Commit: 0b109532693fec0dce3a8d275b716f5a5fb6e45c
https://github.com/llvm/llvm-project/commit/0b109532693fec0dce3a8d275b716f5a5fb6e45c
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/CMakeLists.txt
M lldb/source/Host/common/PythonRuntimeLoader.cpp
Log Message:
-----------
[lldb][windows] explicitly load python3.dll in PythonRuntimeLoader (#201399)
When building with the Python stable API, `liblldb.dll`'s delay-load
crashes because it needs `python3.dll` and it can't find it
Loading `python310.dll` via `LoadLibrary` with a full path doesn't add
Python's directory to the DLL search path for subsequent loads.
This patch also explicitly loads `python3.dll` from the same directory
in `PythonRuntimeLoader` to fix the issue.
This is needed for https://github.com/llvm/llvm-project/pull/200533.
Commit: 7954dcc70ef251581f95582beb7929e286ec9fe9
https://github.com/llvm/llvm-project/commit/7954dcc70ef251581f95582beb7929e286ec9fe9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/test/Transforms/CodeExtractor/input-value-debug.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.generated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.nogenerated.globals.expected
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[HotColdSplit] Unconditionally mark new functions as cold (#200947)
Previously, HotColdSplit would only mark functions as cold if there was
a profile summary available in the module metadata. This was causing
profcheck failures and is inconsistent with how we handle profile
metadata in other parts of the compiler.
This behavior has been around since
c36c10ddfb3dc07129b9f3973029d17940f6a45f when the profile annotation was
first introduced.
Commit: 7e45473cc229baff6c2a8d2130b58035f4f70e41
https://github.com/llvm/llvm-project/commit/7e45473cc229baff6c2a8d2130b58035f4f70e41
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DTLTO/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#201400)
142ad481b625
87d6941017aa
c264e07c2f3d
f91f589aaa82
Commit: 28b12c6317568c8d31a701a35d1c59366030e054
https://github.com/llvm/llvm-project/commit/28b12c6317568c8d31a701a35d1c59366030e054
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-lto2/BUILD.gn
Log Message:
-----------
[gn build] Add missing dep (#201414)
Commit: 102d8583355c316618648de7d8537299f4357f95
https://github.com/llvm/llvm-project/commit/102d8583355c316618648de7d8537299f4357f95
Author: Jan Schultke <me at eisenwave.net>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/clmul.ll
Log Message:
-----------
Regenerate X86/clmul.ll expectations (#201405)
Fixes a build failure on trunk after merging:
- #200592
See
https://github.com/llvm/llvm-project/pull/200592#issuecomment-4614719422
Commit: 3f67f166d6580970a9f4d50bdf7827c510d884d3
https://github.com/llvm/llvm-project/commit/3f67f166d6580970a9f4d50bdf7827c510d884d3
Author: Philipp Rados <philipp.rados at openchip.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
A llvm/test/CodeGen/RISCV/stack-offset-large.ll
Log Message:
-----------
[RISCV] Allow 64-bit fixed frame-offsets on RV64 (#201338)
Some HPC code requires a _very_ large stack. GCC also allows 64-bit
frame-offsets on 64-bit systems.
Since RISCVInstrInfo::movImm() supports materializing 64-bit immediates
the existing framework already handles the lowering correctly.
This patch only enables support for 64-bit _fixed_ frame offsets.
Scalable offsets call RISCVInstrInfo::mulImm() which doesn't seem to
support 64-bit calculations yet. This should be fine since there'd have
to be more than 2^31 RVV spills for this case to happen.
Commit: 1c88bd716167a0650513319176c30dd715101a70
https://github.com/llvm/llvm-project/commit/1c88bd716167a0650513319176c30dd715101a70
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/include/lldb/Host/MainLoopBase.h
M lldb/source/Host/common/MainLoopBase.cpp
Log Message:
-----------
[lldb] Preserve FIFO order for equal time MainLoop callbacks (#199056)
Co-authored-by: Adrian Prantl <adrian.prantl at gmail.com>
Commit: 6cfa1a01a0f737ed1d54963810057fb1bd67a274
https://github.com/llvm/llvm-project/commit/6cfa1a01a0f737ed1d54963810057fb1bd67a274
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
R clang/test/CodeGenHIP/offload-pgo-sections.hip
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/InstrProfilingFile.c
R compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
R llvm/test/Instrumentation/InstrProfiling/amdgpu-instrumentation.ll
R llvm/test/Instrumentation/InstrProfiling/amdgpu-profc-arrays.ll
R llvm/test/Instrumentation/InstrProfiling/gpu-weak.ll
R llvm/test/Transforms/PGOProfile/amdgpu-disable-value-profiling.ll
Log Message:
-----------
Revert "[PGO][AMDGPU] Add basic HIP offload PGO support (#177665)" (#201416)
This broke profiling builds on Windows by switching the profile library
to link against the dynamic CRT; see discussion on the PR.
There were already a number of issues reported and fixed after this PR.
Rather than piling on the fixes (and this one may need some work),
revert back to green for now to let the project recover.
This reverts commit 5db13643f4b7038db0ca304d9f8900122502935c.
Additionally, this reverts the followup PRs in
635e120fb87304924508a7a204574727e3c37363,
2766733764f4bdf8399d48c0225e9c64bdfa95f7,
4c33844b4b560f24b2a3a0cc689d73510cb01ad5, and
5eca8b67ff3c5f371141d54b6e4544a0ebe77fdb:
"[PGO][HIP] Stop pulling ROCm.o into every PGO host link (#200101)"
"[compiler-rt][profile] Add COMPILER_RT_BUILD_PROFILE_ROCM option
(#200127)"
"[PGO][HIP] Skip ROCm interceptor in profile-only compiler-rt builds
(#200111)"
"[PGO][HIP] Fix profile-only Windows link by gating ROCm interceptor
macro (#200859)"
Commit: 09020f9d68e4a0a8f93d2e7f4875ef58f451f948
https://github.com/llvm/llvm-project/commit/09020f9d68e4a0a8f93d2e7f4875ef58f451f948
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.frexp.exp.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.frexp.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for llvm.amdgcn.frexp.exp (#201178)
Commit: e43adaea1fb557e860fbb34568ac024fd649cf5c
https://github.com/llvm/llvm-project/commit/e43adaea1fb557e860fbb34568ac024fd649cf5c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A lldb/docs/python_api.md
R lldb/docs/python_api.rst
A lldb/docs/python_extensions.md
R lldb/docs/python_extensions.rst
A lldb/docs/resources/caveats.md
R lldb/docs/resources/caveats.rst
A lldb/docs/resources/contributing.md
R lldb/docs/resources/contributing.rst
A lldb/docs/resources/fuzzing.md
R lldb/docs/resources/fuzzing.rst
A lldb/docs/use/links.md
R lldb/docs/use/links.rst
A lldb/docs/use/ondemand.md
R lldb/docs/use/ondemand.rst
A lldb/docs/use/python-reference.md
R lldb/docs/use/python-reference.rst
A lldb/docs/use/repeat-commands.md
R lldb/docs/use/repeat-commands.rst
Log Message:
-----------
[lldb][docs] Convert simple RST pages to Markdown (NFC) (#201256)
Convert nine short, low-risk RST docs to MyST Markdown as the first
batch of an incremental RST -> Markdown migration. Subsequent batches
will cover the rest.
Verified by building the docs on origin/main and on this branch with
identical sphinx flags and diffing the rendered HTML. Seven of nine
pages are byte-identical.
contributing.html differs in 42 lines, all attributable to `{doc}` xrefs
replacing RST hyperlinks to sibling pages (`reference external` ->
`reference internal`) and CommonMark collapsing two-spaces-after- period
to one.
ondemand.html differs in 26 lines because two bulleted lists that
followed a paragraph with no blank-line separator originally rendered as
literal `- ...` text in both RST and Markdown. The conversion tool
preserved that by emitting `\-`; this patch instead inserts a blank line
so they render as proper `<ul>` lists, fixing a latent doc bug.
Context:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/
Assisted-by: Claude
Commit: 47209321457b4302ac0d2cb668cdd3f3caff9134
https://github.com/llvm/llvm-project/commit/47209321457b4302ac0d2cb668cdd3f3caff9134
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCComputeLowering.cpp
A mlir/test/Dialect/OpenACC/acc-compute-lowering-compute-device-type.mlir
A mlir/test/Dialect/OpenACC/acc-compute-lowering-loop-device-type.mlir
Log Message:
-----------
[mlir][acc] ACCComputeLowering needs to account for device_type par (#201267)
When assigning parallelism for compute constructs or loops, device_type
parallelism must be first considered as a group for all available (gang,
worker, vector) - if any of these have device_type setting, then those
are the only ones that should be considered. Only if the loop has no
device_type specific parallelism then default parallelism should be
assigned.
Commit: 91b00526a599fa21e43da82438f1e9c8a8e1b7b3
https://github.com/llvm/llvm-project/commit/91b00526a599fa21e43da82438f1e9c8a8e1b7b3
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 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:
-----------
Remove the optional bitcast between a musttail call and its ret (#201280)
Under opaque pointers the only bitcast the verifier could accept in this
position is a no-op ptr->ptr cast
Drop it and reduce isTypeCongruent to a plain type equality check
Commit: 420b8b3cede41894dc5dac29f8e64bcff13e3620
https://github.com/llvm/llvm-project/commit/420b8b3cede41894dc5dac29f8e64bcff13e3620
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
M llvm/unittests/tools/llvm-exegesis/Mips/SnippetGeneratorTest.cpp
Log Message:
-----------
[llvm-exegesis] Support LookupRegClassByHwMode in exegesis Instruction::create
This resolves the TODO for LookupRegClassByHwMode support in llvm-exegesis by
passing the MCSubtargetInfo to Instruction::create and calling
getOpRegClassID with the active HwMode.
This also updates MemoryUse test expectations for Mips, as the target now
correctly resolve HwMode-dependent memory register operands (MSA128F16 in
Mips and post-#177073 BasePtrRegClass for RISC-V).
Pull Request: https://github.com/llvm/llvm-project/pull/200525
Commit: 4169b17acfe53c79e0e170ebb8249ef749e061a2
https://github.com/llvm/llvm-project/commit/4169b17acfe53c79e0e170ebb8249ef749e061a2
Author: adams381 <adams at nvidia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR][NFC] Remove unused DataLayout in array lowering (#201408)
The per-element loop in CIRAttrToValue::visitCirAttr(ConstArrayAttr) constructed an mlir::DataLayout for every element of an ArrayAttr-backed constant array and never used it. Constructing a DataLayout walks the parent ops to gather the layout spec, so for an N-element array this was N redundant constructions on the lowering path. Removing the dead local is NFC -- the generated IR is unchanged.
Split out of #198427, where it was flagged as an unrelated drive-by.
Commit: 0b9dc1bdd3a0186582ae7a56c3c27b6e449715fa
https://github.com/llvm/llvm-project/commit/0b9dc1bdd3a0186582ae7a56c3c27b6e449715fa
Author: cmtice <cmtice at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
A lldb/test/API/commands/frame/var-dil/expr/Assignment/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Assignment/TestFrameVarDILAssign.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/TestFrameVarDILCompositeAssign.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/main.cpp
Log Message:
-----------
[LLDB] Add assignment to DIL. (#190223)
Add the ability for DIL to recognize and process assignment, updating
program variables. Recognizes '=', '+=' and '-=' operators. Increment
and decrement ('++' and '--') will be added in a separate (future) PR.
"*=" and "/=" need to wait until DIL handles multiply and divide
operators.
Commit: 5708e7fd9eca368b1b519c13a58360a15a263e4f
https://github.com/llvm/llvm-project/commit/5708e7fd9eca368b1b519c13a58360a15a263e4f
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
Log Message:
-----------
[compiler-rt] fix out-of-bounds access in scudo test (#201390)
When `I = 0`, we can't do `Array[I-1]`.
Caught by libcxx hardening.
Commit: 517308ad15ee9480edfb9aa6dcc2c628c43da20d
https://github.com/llvm/llvm-project/commit/517308ad15ee9480edfb9aa6dcc2c628c43da20d
Author: Aayush Shrivastava <iamaayushrivastava at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
Log Message:
-----------
[clang-tidy] Extend readability-container-size-empty to std::size() (#201231)
Fixes #198494
Extend the check to warn when the non-member `std::size()` free function
is used in a boolean context or compared to 0/1, and suggest using
.empty instead.
Commit: 7e439d571e3dcf420448391eb76e58879e73ee1e
https://github.com/llvm/llvm-project/commit/7e439d571e3dcf420448391eb76e58879e73ee1e
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-intrinsics.ll
Log Message:
-----------
[VectorCombine] Skip foldShuffleOfIntrinsics when operand types differ (#201241)
Example:
```llvm
define <4 x i32> @t(<2 x float> %a, <2 x double> %b) {
%fa = call <2 x i32> @llvm.fptosi.sat.v2i32.v2f32(<2 x float> %a)
%fb = call <2 x i32> @llvm.fptosi.sat.v2i32.v2f64(<2 x double> %b)
%s = shufflevector <2 x i32> %fa, <2 x i32> %fb, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
ret <4 x i32> %s
}
```
In this code, `foldShuffleOfIntrinsics` folds `shuffle(intrinsic(x),
intrinsic(y))` into `intrinsic(shuffle(x, y))`, but only checks the
result type, not the operand types. Since `fptosi.sat` is overloaded on
its operand type, the two calls share an `<2 x i32>` result but have
different operands (`<2 x float>` vs `<2 x double>`), so the new
`shufflevector` gets mismatched operands and trips `isValidOperands`.
Fix: bail out when the intrinsics' shuffled operands have different
types.
Commit: bad4005b863bf8f8d0f108d82c27c10d59d01e6d
https://github.com/llvm/llvm-project/commit/bad4005b863bf8f8d0f108d82c27c10d59d01e6d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/utils/LLVMVisualizers/llvm.natvis
Log Message:
-----------
[NATVIS] Fix bitrotted SmallPtrSet handling (#201404)
Use IsSmall to report Small/Big Mode
Use NumEntries instead of NumNonEmpty to track array size
Commit: 85b72c16948f940058e04cd804ffb1d9b4249407
https://github.com/llvm/llvm-project/commit/85b72c16948f940058e04cd804ffb1d9b4249407
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
A llvm/test/Assembler/invalid-phi-fast-math-flags.ll
A llvm/test/Assembler/invalid-select-fast-math-flags.ll
Log Message:
-----------
[AsmParser] Delete orphaned select/phi when rejecting fast-math-flags (#201409)
parseSelect/parsePHI create the instruction before the caller checks the
fast-math-flags. When FMF are rejected on a non-FP select/phi, the error
path leaked the instruction, which crashed on teardown with "Uses remain
when a value is destroyed!".
Fix by deleting the instruction before returning the error, as is
already done for `call`.
Fixes #185111.
Commit: 974be2bc84be577e395479171f1db70d733d7efc
https://github.com/llvm/llvm-project/commit/974be2bc84be577e395479171f1db70d733d7efc
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/non-phi-uses-lcssa-phi.ll
Log Message:
-----------
[LoopInterchange] Fix assertion failure when LCSSA PHI is used by non-PHI (#201059)
This patch fixes one of the assertion failures reported in #200819. The
root cause is that the assertion assumes all uses of LCSSA PHIs are PHI
nodes, which is not always true, so `cast<PHINode>(U)` can fail. In
fact, the user does not have to be a PHI, and the assertion should apply
the special check only when the user is a PHI node.
Commit: 8eb252007ce042204d9ebf904a353864989ffe8b
https://github.com/llvm/llvm-project/commit/8eb252007ce042204d9ebf904a353864989ffe8b
Author: satyanarayana reddy janga <satyajanga at fb.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
M lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.h
M lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
M lldb/source/Utility/StringExtractorGDBRemote.cpp
M lldb/test/API/accelerator/mock/TestMockAcceleratorPlugin.py
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.cpp
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.h
A lldb/unittests/Utility/AcceleratorGDBRemotePacketsTest.cpp
M lldb/unittests/Utility/CMakeLists.txt
Log Message:
-----------
[lldb-server] Add breakpoint support to accelerator plugin protocol (#200584)
This is the 2nd PR of many related to
https://discourse.llvm.org/t/upstreaming-basic-support-for-accelerators/89827/6
Continuation to https://github.com/llvm/llvm-project/pull/198907
Extend the accelerator plugin infrastructure with breakpoint request and
hit handling, allowing plugins to set breakpoints in the native process
and respond when those breakpoints are hit.
This patch adds:
- Support for jAcceleratorPluginBreakpointHit packet handler in
GDBRemoteCommunicationServerLLGS that routes hits to the correct plugin
by name and returns the plugin's response
- Many related struct for defining request packet and response packet.
New structs: AcceleratorBreakpointByName,
AcceleratorBreakpointByAddress, AcceleratorBreakpointInfo, SymbolValue
,AcceleratorBreakpointHitArgs and AcceleratorBreakpointHitResponse
structs with JSON encode/decode for the hit round-trip.
- breakpoints field in AcceleratorActions for plugins to request
breakpoints during initialization
- Tests verifying breakpoints in initialize response and breakpoint hit
round-trip with JSON validation
- Packet documentation in lldbgdbremote.md
Commit: d8fb3dc721c4481eabc95f1a1ab6e2d270d763b4
https://github.com/llvm/llvm-project/commit/d8fb3dc721c4481eabc95f1a1ab6e2d270d763b4
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M offload/test/api/omp_indirect_func_basic.c
M offload/test/offloading/cuda_no_devices.c
M offload/test/offloading/shared_lib_fp_mapping.c
Log Message:
-----------
[offload][lit] Disable three more tests on Intel GPU (#201381)
Buildbot is still unstable, these tests are causing kernel driver errors
so let's disable them.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: b76fb96a862f3acf374117895a44a36c0a23d615
https://github.com/llvm/llvm-project/commit/b76fb96a862f3acf374117895a44a36c0a23d615
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Program.h
M offload/plugins-nextgen/level_zero/src/L0Program.cpp
M offload/unittests/OffloadAPI/symbol/olGetSymbolInfo.cpp
Log Message:
-----------
[OFFLOAD][L0] Return symbol size in getGlobalMetadataFromDevice (#201352)
Return not just the address but also the size of the symbols in getGlobalMetadataFromDevice.
Fixes olGetSymbolInfoSizeGlobalTest.SuccessSize unitt test failure with L0 plugin.
Commit: 1b5a86f165d642cac56cb4a4becbded2c1872c1d
https://github.com/llvm/llvm-project/commit/1b5a86f165d642cac56cb4a4becbded2c1872c1d
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M offload/unittests/OffloadAPI/memory/olMemFill.cpp
Log Message:
-----------
[OFFLOAD] Update L0 olMemFill unit tests known failures (#201323)
With the latest L0 changes most MemFill tests are passing. Only those
that rely on olLaunchHostFunction should be skipped.
Commit: 0fcf63e179486c0a7e72d656c65d2c0a45754a11
https://github.com/llvm/llvm-project/commit/0fcf63e179486c0a7e72d656c65d2c0a45754a11
Author: Ron Green [NVIDIA] <rogreen at nvidia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/docs/OpenACC-extensions.md
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Semantics/OpenACC/acc-reduction-validity.f90
M flang/test/Semantics/reduce.cuf
M flang/test/Semantics/resolve124.f90
Log Message:
-----------
[flang][OpenACC] Add minus operator to reduction clause (#200909)
Adds '-' as a recognized reduction operator alongside '+'. The new
ReductionOperator::Operator::Minus is parsed from the '-' token,
accepted on integer/real/complex reduction variables, and lowered the
same as Plus (mlir::acc::ReductionOperator::AccAdd in OpenACC, and
fir::ReduceOperationEnum::Add in DO CONCURRENT). The unparser emits it
as '-'.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 884168c32563d20b0f2d6df5210a07c9de18a332
https://github.com/llvm/llvm-project/commit/884168c32563d20b0f2d6df5210a07c9de18a332
Author: Michael Jones <michaelrj at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
Log Message:
-----------
[libc] add HUGE_VALL (#201235)
Straightforward macro in math-macros.h
Commit: d703919410c5055132c037df810dfe70074ef58b
https://github.com/llvm/llvm-project/commit/d703919410c5055132c037df810dfe70074ef58b
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopInterchange/atomic-memory-ordering.ll
A llvm/test/Transforms/LoopInterchange/invoke.ll
Log Message:
-----------
[LoopInterchange] Add tests for instructions that aren't checked (NFC) (#201401)
This patch adds test cases that contain instructions which are currently
not handled properly in the legality check, leading to miscompilations.
Some of the test cases are taken from #200913, and others are cases that
trigger unsafe interchange for the same reason. I am not trying to cover
all possible instruction types here, since a follow-up patch will update
the legality check so that it can handle other instructions as well.
Commit: 37432c85b43654d0c3e15edd503e95c74f39afb1
https://github.com/llvm/llvm-project/commit/37432c85b43654d0c3e15edd503e95c74f39afb1
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/unittests/Host/CMakeLists.txt
Log Message:
-----------
[lldb] Add PARTIAL_SOURCES_INTENDED to HostTests to fix build (#201361)
with LLDB_ENABLE_PYTHON=OFF
PythonRuntimeLoaderTest.cpp is only added to the target when Python is
enabled, which orphaned the source and broke configuration otherwise
culprit PR: https://github.com/llvm/llvm-project/pull/200524
Commit: 5e890995b2ebcf4bbbf8fb3161647c4788245e4c
https://github.com/llvm/llvm-project/commit/5e890995b2ebcf4bbbf8fb3161647c4788245e4c
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Log Message:
-----------
[AMDGPU] Simplify getDivNumBits with APInt::countMaxActiveBits. NFC. (#201387)
Commit: 3d830a9c517725bd73e9497cbe4c159c6d04f9ba
https://github.com/llvm/llvm-project/commit/3d830a9c517725bd73e9497cbe4c159c6d04f9ba
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-cache.f90
Log Message:
-----------
[flang][OpenACC] Re-declare cached array sections with lower bounds only (#201223)
When acc.cache yields a box, rebind the symbol with a fir.shift (lower
bounds, no extents) instead of a fir.shape_shift, so the rebox preserves
the materialized descriptor's extents and strides. Add lowering tests.
Assisted by Claude
Commit: cca173885706f6c728b46f9035f034de4f39a4ba
https://github.com/llvm/llvm-project/commit/cca173885706f6c728b46f9035f034de4f39a4ba
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/atomic-memory-ordering.ll
M llvm/test/Transforms/LoopInterchange/call-instructions-remarks.ll
M llvm/test/Transforms/LoopInterchange/invoke.ll
Log Message:
-----------
[LoopInterchange] Identify unsafe instructions for interchange (#201402)
In LoopInterchange, all instructions in the loops are traversed and
checked during the legality phase, and the pass bails out if it finds an
instruction that is unsafe to interchange. However, previously it only
handled call instructions and ignored all others, leaving several kinds
of instruction that should have been detected but were not.
This patch fixes the issue by restructuring the legality check, in
particular replacing instruction‑specific handling with calling general
Instruction APIs.
Fixes #200913.
Commit: fb649b41b0db8cd33a5be613345be845a41d0d98
https://github.com/llvm/llvm-project/commit/fb649b41b0db8cd33a5be613345be845a41d0d98
Author: Miguel A. Arroyo <miguel.arroyo at rockstargames.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
Log Message:
-----------
[compiler-rt][cmake][msvc] Install PDBs for shared libraries (#201224)
Following up on similar PRs in the past to address PDBs not being copied
for install targets:
* https://github.com/llvm/llvm-project/pull/126961
* https://github.com/llvm/llvm-project/pull/126680
* https://github.com/llvm/llvm-project/pull/120683
Commit: 3c9afa9fe7c091dffd353e65a9a16653f139787b
https://github.com/llvm/llvm-project/commit/3c9afa9fe7c091dffd353e65a9a16653f139787b
Author: Petr Hosek <phosek at google.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A llvm/docs/ProjectGovernance.rst
M llvm/docs/index.rst
Log Message:
-----------
[Docs] Project governance documentation (#197108)
This page largely covers the same information as proposal LP-0004 and
also includes information on current area team and project council
composition.
Commit: 0a4f19e4769eae755cdad1a4af1d73988762dd2c
https://github.com/llvm/llvm-project/commit/0a4f19e4769eae755cdad1a4af1d73988762dd2c
Author: mygitljf <101249452+mygitljf at users.noreply.github.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestObjC.cpp
Log Message:
-----------
[clang-format][Objective-C] Fix assertion crash on stray '-'/'+' in @interfa… (#199104)
Before calling `parseObjCMethod()`, it now checks whether the next token
is a `(` or an identifier; if not, it simply skips ahead, thereby
preventing the assertion failure and subsequent crash.
Fixes #199075
Commit: b207fd6fd43514b2852ff64b89769a2cf4b781c2
https://github.com/llvm/llvm-project/commit/b207fd6fd43514b2852ff64b89769a2cf4b781c2
Author: Martin Storsjö <martin at martin.st>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M lldb/CMakeLists.txt
M lldb/source/Host/common/PythonRuntimeLoader.cpp
Log Message:
-----------
[lldb] Use the right MinGW name for the Python DLLs (#201325)
In MinGW mode, the Python DLLs have different names than they have in
MSVC mode; they are named `libpython<major>.<minor>.dll` (a "lib" prefix
and a dot between major and minor) and `libpython3.dll`.
This avoids a warning on startup after
142ad481b6254104a51da7d636ad9e3f30518a32 and total failures to start up
after 3eb13f8db39ed42827122489c830c414cb6660e3.
Commit: 98160521cb72966e984a241f28b1dc5aae19e4ec
https://github.com/llvm/llvm-project/commit/98160521cb72966e984a241f28b1dc5aae19e4ec
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] Handle symbol-relative integer initializers in aggregates (#201220)
A symbol-relative integer applies an offset outside the ptrtoint, e.g.
@g = addrspace(1) global i8 0
@s = addrspace(1) global { i64, i64 }
{ i64 add (i64 ptrtoint (ptr addrspace(1) @g to i64), i64 4),
i64 7 }
I'm not sure this is an important feature, but it's explicitly
implemented and works for scalars; the bug is that it hits
llvm_unreachable if you use it inside an aggregate.
While we're here, we also add support for Sub in addition to Add.
Commit: 309ace568351f1d3001a736c58c496277fc000dd
https://github.com/llvm/llvm-project/commit/309ace568351f1d3001a736c58c496277fc000dd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Remove unnecessary explicit template parameter on has_single_bit (#201421)
I think this code was extracted into a function and the Amount was not a
uint32_t when it was in the original location.
Commit: 67a641cf8adb083e6694fbf306b375b99c45de91
https://github.com/llvm/llvm-project/commit/67a641cf8adb083e6694fbf306b375b99c45de91
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCComputeLowering.cpp
A mlir/test/Dialect/OpenACC/acc-compute-lowering-compute-async-wait.mlir
M mlir/test/Dialect/OpenACC/canonicalize.mlir
Log Message:
-----------
[mlir][acc] Specialize compute region target during ACCComputeLowering (#201386)
During ACCComputeLowering, when an acc compute region (such as
acc.parallel) is split into in acc.kernel_environment and
acc.compute_region, all wait and async operands are transferred over.
This includes the multiple lists that are used to manage device_type
specific aspects eg:
`acc parallel async device_type(nvidia) async(2)`
This ends up as
`acc.parallel async([#acc.device_type<none>], %c2_i32 : i32
[#acc.device_type<nvidia>])`
And similarly, acc.kernel_environment inherited both async aspects.
However, during ACCComputeLowering, the pass knows its device_type
target. Thus it can directly create a single async (because only
async(2) applies when device_type is nvidia): `acc.kernel_environment
async(%c2_i32 : i32)`
This MR simplifies the operation to not hold all of the multiple lists
and updates to ACCComputeLowering pass to ensure to transfer only
relevant information. The intent/goal is that the none of the CG
operations will hold device_type specific lists.
Commit: deb6854eec93529b2bd30178d400ad2ee7665cd4
https://github.com/llvm/llvm-project/commit/deb6854eec93529b2bd30178d400ad2ee7665cd4
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/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/test/CodeGen/NVPTX/globals_init.ll
Log Message:
-----------
[NVPTX] Pad non-power-of-2 vectors in structs properly. (#201246)
A non-power-of-2 vector inside of a struct is padded up to its alloc
size.
But when the NVPTX asm printer emits bytes for such a struct, it
currently skips this tail padding, thus emitting an incorrect struct.
Commit: 971076f616e6c6f07580c506375b700b207224f9
https://github.com/llvm/llvm-project/commit/971076f616e6c6f07580c506375b700b207224f9
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
Log Message:
-----------
[NFC][mlir][SPIR-V] Test ceildivui/ceildivsi/floordivsi via test-convert-to-spirv (#198766)
SPIR-V has no direct opcode for these ops. Verify that using
`--test-convert-to-spirv` pass is sufficient to convert these ops to
SPIR-V
Commit: 55587f7b757583b1e30c3027803ed092790471a3
https://github.com/llvm/llvm-project/commit/55587f7b757583b1e30c3027803ed092790471a3
Author: Adhemerval Zanella <zatrazz at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/read-fp-reg.ll
A llvm/test/CodeGen/AArch64/read-reg-non-entry.ll
M llvm/test/CodeGen/AArch64/write-volatile-register.ll
Log Message:
-----------
[CodeGen] Mark read_register of allocatable physreg as live-in (#200825)
llvm.read_register / llvm.read_volatile_register of an allocatable
register (e.g. the MSVC __getReg/__getRegFp intrinsics reading xN/dN)
was lowered to a plain COPY from the physical register. That COPY uses a
physical register that is never defined, which the machine verifier
rejects as "Using an undefined physical register" (seen on
read-fp-reg.ll under LLVM_ENABLE_EXPENSIVE_CHECKS).
Reading such a register only makes sense as "whatever value it currently
holds", i.e. like an inline-asm read; it cannot be modelled as a normal
SSA use of a physical register, and a live-in only works in the entry
block.
Lower these reads in AArch64 like the existing MRS/MSR sysreg path:
select to a small pseudo (READ_REGISTER_GPR64 / READ_REGISTER_FPR64)
that carries the source register as an immediate operand rather than a
tracked physical-register use, and have the AsmPrinter materialize the
real "mov Xt, Xn" / "fmov Dt, Dn". The verifier never sees an undefined
physreg use, so the read is valid in any block and needs no live-in or
undef. Reads of reserved registers (e.g. sp) and system registers keep
their existing lowering.
Commit: 4d23acde98acb72e103d8c999edf752a9317aced
https://github.com/llvm/llvm-project/commit/4d23acde98acb72e103d8c999edf752a9317aced
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M .github/workflows/release-binaries.yml
M llvm/utils/release/github-upload-release.py
Log Message:
-----------
[release] Add zstd archives to github releases (#186526)
This leaves the previous xz files but also creates zstd archives of the
binaries. This provides significantly reduced download sizes. We could
integrate this with cpack but we don't have control over the compression
level in that until version 4.3 which isn't even released yet.
Fixes https://github.com/llvm/llvm-project/issues/164537
Commit: f70a28f4d1b5d17d94fca03fb74387ad800560de
https://github.com/llvm/llvm-project/commit/f70a28f4d1b5d17d94fca03fb74387ad800560de
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
A lldb/docs/resources/build.md
R lldb/docs/resources/build.rst
A lldb/docs/resources/dataformatters.md
R lldb/docs/resources/dataformatters.rst
A lldb/docs/resources/debugging.md
R lldb/docs/resources/debugging.rst
A lldb/docs/resources/extensions.md
R lldb/docs/resources/extensions.rst
A lldb/docs/resources/formatterbytecode.md
R lldb/docs/resources/formatterbytecode.rst
A lldb/docs/resources/overview.md
R lldb/docs/resources/overview.rst
A lldb/docs/resources/projects.md
R lldb/docs/resources/projects.rst
A lldb/docs/resources/qemu-testing.md
R lldb/docs/resources/qemu-testing.rst
A lldb/docs/resources/sbapi.md
R lldb/docs/resources/sbapi.rst
A lldb/docs/resources/test.md
R lldb/docs/resources/test.rst
Log Message:
-----------
[lldb][docs] Convert resources/ RST docs to Markdown (NFC) (#201442)
Convert the ten contributor-facing RST docs under lldb/docs/resources/
to MyST Markdown. This is the second batch of an incremental RST ->
Markdown migration. The previous PR (#201256) covered nine small leaf
pages.
Files: build, dataformatters, debugging, extensions, formatterbytecode,
overview, projects, qemu-testing, sbapi, test.
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. Six of the ten pages are byte-identical. The four
that differ (dataformatters, projects, sbapi, test) differ only in:
- CommonMark collapsing two-spaces-after-period to one.
- MyST adding a `myst` CSS class to `<dl>` elements and an `<hr>`
separator before footnote sections.
- Footnote IDs renamed from auto `id3` to named `footnote-1`.
The diff also surfaced two semantic regressions in the conversion, fixed
here:
- build.md `{ref}` to `Optional Dependencies` did not match the new
`(optional-dependencies)=` anchor; updated to use the new label.
- test.md and build.md lost cross-reference behavior on single- backtick
refs to SB-class names and `lldb`. RST's default role is `any`, so
single backticks attempted xrefs; in MyST single backticks are plain
code spans. Converted these 14 occurrences to explicit `{any}`...``
syntax.
Several `eval-rst` blocks remain in formatterbytecode.md and test.md to
preserve grid tables that MyST does not render natively.
Context: https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/
Assisted-by: Claude
Commit: ad422cd10bfd0be0c069221546de7c7299ca305d
https://github.com/llvm/llvm-project/commit/ad422cd10bfd0be0c069221546de7c7299ca305d
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/cuf-constant-generic-unified.cuf
Log Message:
-----------
[flang][cuda] Handle Constant and Shared attributes in CUDA generic matching distance (#201451)
The CUDA generic resolution matching distance function did not handle
actual arguments with the `Constant` or `Shared` data attribute. These
attributes represent device memory but were unhandled, causing the
distance to fall through to infinity. Under `-gpu=mem:unified`, this led
to spurious ambiguity errors when multiple specifics (e.g.
host-to-device and device-to-device overloads) both became candidates
with tied infinite distances.
Treat Constant and Shared actuals the same as Device in the matching
distance table, since all three reside in device memory.
Commit: 9ae0d890a9236a94f23d5c3ff84ea08d7a670f03
https://github.com/llvm/llvm-project/commit/9ae0d890a9236a94f23d5c3ff84ea08d7a670f03
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
A clang/test/Analysis/Checkers/WebKit/nodelete-lazy-initialize.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Treat a r-value smart pointer return value as no-delete. (#200912)
Skip the checkin g of the destructor of T in ExprWithCleanups /
CXXBindTemporaryExpr when returning a value using r-value reference
since such a construct never invokes delete.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 901cfb4aa4d52fd4f751b78bf932f54210fdcf5b
https://github.com/llvm/llvm-project/commit/901cfb4aa4d52fd4f751b78bf932f54210fdcf5b
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
A llvm/test/CodeGen/Hexagon/hvc-remarks.ll
A llvm/test/CodeGen/Hexagon/hwloop-remarks.ll
A llvm/test/CodeGen/Hexagon/loop-idiom-remarks.ll
A llvm/test/CodeGen/Hexagon/vlcr-remarks.ll
Log Message:
-----------
[Hexagon] Add optimization remarks to Hexagon IR and MIR passes (#189176)
Add OptimizationRemark/OptimizationRemarkMissed emissions to four
Hexagon-specific passes, making them observable via the standard
-Rpass/-Rpass-missed flags:
- HexagonLoopIdiomRecognition (hexagon-lir): remarks for loop-to-memcpy/
memmove conversions and polynomial multiply recognition, with missed
remarks for non-countable loops, aliasing, non-affine pointers, etc.
- HexagonVectorLoopCarriedReuse (hexagon-vlcr): remarks for reused
loop-carried vector values, with missed remarks for multi-block loops,
non-innermost loops, and missing candidates.
- HexagonVectorCombine (hexagon-vc): remarks for aligned vector memory
operations, with missed remarks for group size limits, unsafe
relocations, and insufficient HVX version.
- HexagonHardwareLoops (hwloops): remarks for hardware loop conversion,
with missed remarks for invalid instructions (calls), multiple exits,
induction variable issues, and non-computable trip counts.
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: ba7b74ff70328b3dff4fd3a33ee513342c453ec5
https://github.com/llvm/llvm-project/commit/ba7b74ff70328b3dff4fd3a33ee513342c453ec5
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/test/CodeGen/X86/GlobalISel/legalize-undef-vec-scaling.mir
Log Message:
-----------
[X86][GlobalISel] Adding missing Query to G_BUILD_VECTOR legalization (#199435)
Once G_BUILD_VECTOR was fixed, legalize-undef-vec-scaling.mir falled
into endless legalization loop as incoming MIR doesn't match correct
lowering of the type.
Commit: 638f3ae61de291f85b711f6e3597fae6edd29986
https://github.com/llvm/llvm-project/commit/638f3ae61de291f85b711f6e3597fae6edd29986
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M compiler-rt/include/profile/InstrProfData.inc
A llvm/docs/AliasAnalysis.md
R llvm/docs/AliasAnalysis.rst
A llvm/docs/Atomics.md
R llvm/docs/Atomics.rst
A llvm/docs/BitCodeFormat.md
R llvm/docs/BitCodeFormat.rst
A llvm/docs/CommandLine.md
R llvm/docs/CommandLine.rst
A llvm/docs/CompilerWriterInfo.md
R llvm/docs/CompilerWriterInfo.rst
A llvm/docs/Coroutines.md
R llvm/docs/Coroutines.rst
A llvm/docs/CoverageMappingFormat.md
R llvm/docs/CoverageMappingFormat.rst
A llvm/docs/DebuggingLLVM.md
R llvm/docs/DebuggingLLVM.rst
A llvm/docs/ExceptionHandling.md
R llvm/docs/ExceptionHandling.rst
A llvm/docs/Extensions.md
R llvm/docs/Extensions.rst
A llvm/docs/FAQ.md
R llvm/docs/FAQ.rst
A llvm/docs/GarbageCollection.md
R llvm/docs/GarbageCollection.rst
A llvm/docs/GettingStartedVS.md
R llvm/docs/GettingStartedVS.rst
A llvm/docs/InstrProfileFormat.md
R llvm/docs/InstrProfileFormat.rst
A llvm/docs/Lexicon.md
R llvm/docs/Lexicon.rst
A llvm/docs/LibFuzzer.md
R llvm/docs/LibFuzzer.rst
A llvm/docs/LoopTerminology.md
R llvm/docs/LoopTerminology.rst
A llvm/docs/MIRLangRef.md
R llvm/docs/MIRLangRef.rst
A llvm/docs/MemorySSA.md
R llvm/docs/MemorySSA.rst
A llvm/docs/NewPassManager.md
R llvm/docs/NewPassManager.rst
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/Support/AtomicOrdering.h
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/test/Transforms/Coroutines/coro-retcon-value.ll
M llvm/test/Transforms/Coroutines/coro-retcon.ll
M llvm/test/Transforms/Coroutines/ex0.ll
M llvm/test/Transforms/Coroutines/ex1.ll
M llvm/test/Transforms/Coroutines/ex2.ll
M llvm/test/Transforms/Coroutines/ex3.ll
M llvm/test/Transforms/Coroutines/ex4.ll
M llvm/test/Transforms/Coroutines/ex5.ll
Log Message:
-----------
[docs] Rename 20 key LLVM docs to Markdown (#201464)
This may break the docs build temporarily, but there will be a follow-up
PR that fixes it immediately after. The rename is being committed first
to aid review and source code archaelogy.
Tracking issue: #201242
Commit: cab8d8c9e268d1d94c56e3068377fd7c006cdd7d
https://github.com/llvm/llvm-project/commit/cab8d8c9e268d1d94c56e3068377fd7c006cdd7d
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/docs/AliasAnalysis.md
M llvm/docs/Atomics.md
M llvm/docs/BitCodeFormat.md
M llvm/docs/CommandLine.md
M llvm/docs/CompilerWriterInfo.md
M llvm/docs/Coroutines.md
M llvm/docs/CoverageMappingFormat.md
M llvm/docs/DebuggingLLVM.md
M llvm/docs/ExceptionHandling.md
M llvm/docs/Extensions.md
M llvm/docs/FAQ.md
M llvm/docs/GarbageCollection.md
M llvm/docs/GettingStartedVS.md
M llvm/docs/InstrProfileFormat.md
M llvm/docs/Lexicon.md
M llvm/docs/LibFuzzer.md
M llvm/docs/LoopTerminology.md
M llvm/docs/MIRLangRef.md
M llvm/docs/MemorySSA.md
M llvm/docs/NewPassManager.md
Log Message:
-----------
[docs] Migrate 20 LLVM docs to markdown (#201465)
An LLM assisted in the rewrite. I didn't use pandoc or any other tools,
and I think there are fewer artifacts. I validated these docs by opening
all 20 HTML files in my browser.
Files:
- DebuggingLLVM.md
- FAQ.md
- CompilerWriterInfo.md
- GettingStartedVS.md
- NewPassManager.md
- MemorySSA.md
- LoopTerminology.md
- Lexicon.md
- MIRLangRef.md
- CoverageMappingFormat.md
- InstrProfileFormat.md
- BitCodeFormat.md
- Atomics.md
- GarbageCollection.md
- AliasAnalysis.md
- LibFuzzer.md
- Extensions.md
- CommandLine.md
- ExceptionHandling.md
- Coroutines.md
Tracking issue: #201242
Commit: 488875cedfbea669afa93298a0a98594c1a9cb92
https://github.com/llvm/llvm-project/commit/488875cedfbea669afa93298a0a98594c1a9cb92
Author: Paweł Bylica <pawel at hepcolgum.band>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bt-merge-fuse.ll
Log Message:
-----------
[X86] Fix crash on BT bit index narrower than log2(BW) (#201793)
peekThroughBitPosExtTrunc asserted that peeling
TRUNCATE/ZERO_EXTEND/ANY_EXTEND never drops below log2(BW) bits, but a
BT bit index can be e.g. a zext of i1. Stop peeking there instead: below
log2(BW) bits a peeled value no longer determines the bit index on its
own, so comparing peeled values would also be unsound.
Fixes #201444.
Commit: 1dae5dee50e73d18ef42027bc3bd853a9ae740ce
https://github.com/llvm/llvm-project/commit/1dae5dee50e73d18ef42027bc3bd853a9ae740ce
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/signal_line.cpp
Log Message:
-----------
[compiler-rt] Add missing cstdlib include to signal_line.cpp test (#201955)
Fixes test after libc++ PR #195509 which drops transitive includes.
Commit: 8aafa50c7a2dfb8ca1d5cdf8980f7f2d259779f5
https://github.com/llvm/llvm-project/commit/8aafa50c7a2dfb8ca1d5cdf8980f7f2d259779f5
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/docs/ClangSYCLLinker.rst
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/link.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OffloadTools/clang-sycl-linker/triple.ll
M clang/tools/clang-nvlink-wrapper/CMakeLists.txt
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
A llvm/include/llvm/Frontend/Offloading/ArchiveLinker.h
A llvm/lib/Frontend/Offloading/ArchiveLinker.cpp
M llvm/lib/Frontend/Offloading/CMakeLists.txt
Log Message:
-----------
[clang][sycl][nvlink] Share static library linking in Frontend/Offloading (#201253)
Move clang-nvlink-wrapper's archive member selection engine into a new
shared library in llvm/lib/Frontend/Offloading (ArchiveLinker.h/.cpp)
and use it from both clang-nvlink-wrapper and clang-sycl-linker, adding
static library (.a) and -l support to the SYCL linker.
The shared llvm::offloading::resolveArchiveMembers() API:
- Searches -L paths for -l library names (lib<name>.a or :<name>)
- Expands archives, honouring --whole-archive/--no-whole-archive
- Runs a symbol-driven fixed-point loop to extract only the archive
members that resolve undefined symbols
- Returns the resolved MemoryBuffers and symbol table; the symbol table
is consumed by clang-nvlink-wrapper's LTO resolution pass
clang-sycl-linker gains -l, --whole-archive/--no-whole-archive, and -u
options (added to SYCLLinkOpts.td). The previous --bc-library option
has been removed in favor of the standard -l mechanism.
Bug fixes included:
* Fix dangling StringRef UB: Args.getAllArgValues() returns a temporary
vector; retain it in ForcedUndefStorage so the StringRefs
remain valid through the resolveArchiveMembers call (both tools).
* Fix assert crash in clang-sycl-linker when all positional inputs are
non-existent: return a proper error instead of propagating an empty
buffer vector to linkInputs.
* Fixed forced undefined symbol handling: corrected -u option
processing to properly handle symbols.
Co-Authored-By: Claude
Commit: b7152ff7026a05282b6ae91ccf150ede0217b08a
https://github.com/llvm/llvm-project/commit/b7152ff7026a05282b6ae91ccf150ede0217b08a
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/clang/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 8aafa50 (#201958)
This fixes 8aafa50c7a2dfb8ca1d5cdf8980f7f2d259779f5.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 961d5b8ac7deb754a8b66a86ee53c9e77cb6769f
https://github.com/llvm/llvm-project/commit/961d5b8ac7deb754a8b66a86ee53c9e77cb6769f
Author: Michael Jones <michaelrj at google.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M libc/src/__support/time/linux/clock_gettime.cpp
Log Message:
-----------
[libc] Fix clock_gettime on arm32 (#201959)
After removing 32 bit time_t the buildbot has been failing due to a
segfault. This PR fixes it. Not the cleanest fix but I don't want the
buildbot failing over the weekend.
Assisted-by: Automated tooling, human reviewed.
Commit: 517a0755f5d128d950fc8a08b2bd45e629e40a95
https://github.com/llvm/llvm-project/commit/517a0755f5d128d950fc8a08b2bd45e629e40a95
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix LIBCLC_OUTPUT_LIBRARY_DIR when find_package(LLVM) fails (#201816)
If we configure llvm from llvm-project/build folder, find_package(LLVM)
succeeds, `LLVM_LIBRARY_OUTPUT_INTDIR` is `build/./lib` and
`LLVM_BINARY_DIR` is `build`.
However, in #201773, find_package(LLVM) fails due to
LLVM_LIBDIR_SUFFIX=64, LLVM_LIBRARY_OUTPUT_INTDIR is
`redhat-linux-build/runtimes/runtimes-nvptx64-nvidia-cuda-bins/lib64`
and LLVM_BINARY_DIR is `redhat-linux-build`.
Use LLVM_BINARY_DIR, which is stable for both cases, for libclc output dir.
Fixes #201773
Commit: e8753fdde70b8a2bd0d3219000228704587935bd
https://github.com/llvm/llvm-project/commit/e8753fdde70b8a2bd0d3219000228704587935bd
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M libclc/test/conversion/convert.cl
M libclc/test/geometric/cross.cl
M libclc/test/integer/add_sat.cl
M libclc/test/integer/sub_sat.cl
M libclc/test/math/cos.cl
M libclc/test/math/fabs.cl
M libclc/test/math/rsqrt.cl
M libclc/test/misc/as_type.cl
M libclc/test/work-item/get_group_id.cl
Log Message:
-----------
[libclc][Test] Add -fno-discard-value-names to RUN line (#201808)
Entry block label could be missing. Add -fno-discard-value-names to make
sure it exists.
Resolves #201773
Commit: 985e49989fa6ac24a1318969f6865bb5407574c6
https://github.com/llvm/llvm-project/commit/985e49989fa6ac24a1318969f6865bb5407574c6
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M libclc/test/update_libclc_tests.py
Log Message:
-----------
[libclc][Test] Don't hard code `clang` path in update_libclc_tests.py (#201806)
In #201773, build folder is `redhat-linux-build` rather than `build`.
Detect clang from PATH. Also add --clang-binary option to specify clang path.
Commit: 7bf820c20f08a56eeef027838b992708e5654ff7
https://github.com/llvm/llvm-project/commit/7bf820c20f08a56eeef027838b992708e5654ff7
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-root-deleted.ll
Log Message:
-----------
[SLP] Fix crash in ordered reduction with loop-carried chain root
tryToReduceOrdered built the buildTree ignore list only from the current
window's reduced values, omitting the chain root when its leaf is a
trailing scalar outside the window.
buildTree then vectorized the root through the phi cycle,
vectorizeTree unlinked it, and emitReduction inserted at the dangling
insertion point.
Build the ignore list from the full ReductionOps chain, matching the
associative-reduction path, so the root stays scalar to fix a crash.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/201963
Commit: d0397a6d7d78888e278823c4d32749f8c896ef9c
https://github.com/llvm/llvm-project/commit/d0397a6d7d78888e278823c4d32749f8c896ef9c
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
A clang/include/clang/Basic/AtomicLineLogger.h
A clang/lib/Basic/AtomicLineLogger.cpp
M clang/lib/Basic/CMakeLists.txt
A clang/unittests/Basic/AtomicLineLoggerTest.cpp
M clang/unittests/Basic/CMakeLists.txt
Log Message:
-----------
[clang] Adding an Atomic Line Logger (#195885)
This PR adds an atomic line logger to `clang`.
Situations have arisen where `clang` performs multi-threaded tasks (such
as dependency scanning), and race conditions may happen. Such race
conditions are difficult to debug using either `lldb` or with
`llvm::errs()`.
This logger provides atomic logging per line to a file on disk with time
stamps at each line to facilitate such investigations. Specifically, the
logger is designed with the following properties:
1. Each line is atomically written to the backing file. This avoids
concurrent writes making the output text interleaving.
2. Each line is prefixed with a timestamp, a process ID and a thread ID.
3. `LogLine` implements a `<<` operator to allow arbitrary printable
types to be piped into it.
4. The `LogLine`'s user does not need to check if it is setup or valid.
A LogLine is always valid and can always accept input from `<<`. It
becomes a no-op if the `LogLine` object is returned from a default
constructed `AtomicLineLogger`.
5. The write happens when a `LogLine` object goes out of scope.
The logger is inspired by the
[OnDiskCASLogger](https://github.com/llvm/llvm-project/blob/09abee845d2136630fc3f50524148daa55a740a8/llvm/include/llvm/CAS/OnDiskCASLogger.h#L33).
A followup PR https://github.com/llvm/llvm-project/pull/195896 wires up
this logger to clang's dependency scanning stack.
Assisted-by: claude-opus-4.6
rdar://39907408
Commit: dca9eaa98fd71535e8d283ae390c96266c5b9b8c
https://github.com/llvm/llvm-project/commit/dca9eaa98fd71535e8d283ae390c96266c5b9b8c
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/tools/clang-sycl-linker/CMakeLists.txt
Log Message:
-----------
[clang-sycl-linker] Add mising dependency on BitReader (#201961)
This fixes the shared library build configuration.
Commit: 8b46bd51399d3e49c601d9958b2e3ff5c1a706cd
https://github.com/llvm/llvm-project/commit/8b46bd51399d3e49c601d9958b2e3ff5c1a706cd
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M lldb/source/Core/PluginManager.cpp
Log Message:
-----------
[lldb] Skip plugin teardown when exiting without Terminate (#201739)
`import lldb` auto-calls SBDebugger::Initialize() but never Terminate().
The g_debugger_lifetime is a deliberately-leaked ManagedStatic, so the
PluginInstances containers are still populated when their static
destructors run at process exit. That tripped the "forgot to unregister
plugin?" assert, and once the assert was gated the dynamically-loaded
plugin map's PluginInfo terminate callbacks ran against PluginInstances
mutexes that had already been destroyed.
This only surfaces with LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS, where
`_lldb` is the script-interpreter plugin dylib and liblldb comes in as a
dependency that exit() finalizes. A static build leaks identically but
never reaches those destructors, so the bug stayed latent.
Track an explicit lifecycle (Uninitialized/Initialized/Terminated) in a
single never-destroyed PluginRegistry. ~PluginInstances only checks for
leftover registrations once Terminate() has run, and the map (never torn
down at exit) only runs its terminate callbacks during an explicit
clear, while every container is still alive.
Commit: 139bcc17805161ddc168ef5363969b2b94242516
https://github.com/llvm/llvm-project/commit/139bcc17805161ddc168ef5363969b2b94242516
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
A llvm/test/CodeGen/DirectX/ContainerData/CompilerVersion.ll
Log Message:
-----------
[DirectX] Generate compiler version part in llc (#199699)
This change modifies DXContainerGlobals pass to generate compiler
version (VERS) part in DXContainer.
VERS part allows consumers to information about compiler version used to
build shader.
When debug info PDB file creation will be implemented, VERS part should
go to PDB file.
Commit: 8fa4d4490ddaca238b5c420fbf17020e85ede2fc
https://github.com/llvm/llvm-project/commit/8fa4d4490ddaca238b5c420fbf17020e85ede2fc
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/thunks.cpp
M clang/test/CIR/CodeGen/virtual-function-calls.cpp
M clang/test/CIR/CodeGen/vtable-emission.cpp
M clang/test/CIR/CodeGen/vtt.cpp
Log Message:
-----------
[CIR] Fix CIR Test failures after unnamed_addr restored to vtables (#201962)
We had previously removed the `unnamed_addr` keyword check from our
vtable checks for OGCG because it was temporarily not emitted in that
case. The OGCG output has been modified again, so we need to update our
checks again.
The CIR output has not changed.
Commit: 832f4c41ae172950bbb5797803d6ec1a94edd146
https://github.com/llvm/llvm-project/commit/832f4c41ae172950bbb5797803d6ec1a94edd146
Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Options/Options.td
A clang/test/CodeGenCXX/cl-pathmap.cpp
A clang/test/Driver/cl-pathmap.c
A clang/test/Preprocessor/cl-pathmap.c
Log Message:
-----------
[clang-cl] Add new option `/pathmap:<from>=<to>` to replace the path prefix <from> with <to>. (#198664)
This option matches MSVC options and does the path substitution for the
file references in the preprocessor macros, debug and coverage information.
This option acts as a clang's ``-ffile-prefix-map=value`` and with some
known differences in behaviour with original CL's option that do not affect
the functionality:
* nomalizes the macro prefix map pathes -- removes `./` and uses the target's
platform-specific path separator character when exanding the preprocessor
macros -- ``-ffile-reproducible`` (but not the debug and coverage prefix maps).
* does not require ``/experimental:deterministic`` as by MSVC. It needed for
removing a hostname from a mangling hash gen, but clang-cl does not use
a hostname when generates the hashes.
Known issues:
* does not remap the pathes within PCH/PCM files.
Commit: 7ef07bca9b05b4a3435aa857dbd417c2aec40c22
https://github.com/llvm/llvm-project/commit/7ef07bca9b05b4a3435aa857dbd417c2aec40c22
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M compiler-rt/test/hwasan/TestCases/try-catch.cpp
Log Message:
-----------
[compiler-rt] Add missing test stdlib.h include (#201972)
Fixes test after libc++ PR #195509 which drops transitive includes.
Commit: ee5e682f4db85afca52ac6519a4b9bf0bfab4cf9
https://github.com/llvm/llvm-project/commit/ee5e682f4db85afca52ac6519a4b9bf0bfab4cf9
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
A clang/include/clang/CIR/InitAllDialects.h
M clang/lib/CIR/CMakeLists.txt
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
A clang/lib/CIR/RegisterAllDialects.cpp
A clang/test/CIR/IR/openacc.cir
M clang/tools/cir-lsp-server/CMakeLists.txt
M clang/tools/cir-lsp-server/cir-lsp-server.cpp
M clang/tools/cir-opt/CMakeLists.txt
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/cir-translate/CMakeLists.txt
M clang/tools/cir-translate/cir-translate.cpp
Log Message:
-----------
[CIR] Centralize dialect registration across CIR tools (#200266)
Commit: f53c19ebd81d372429475950bf1314b9d01f2adc
https://github.com/llvm/llvm-project/commit/f53c19ebd81d372429475950bf1314b9d01f2adc
Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Options/Options.td
R clang/test/CodeGenCXX/cl-pathmap.cpp
R clang/test/Driver/cl-pathmap.c
R clang/test/Preprocessor/cl-pathmap.c
Log Message:
-----------
Revert "[clang-cl] Add new option `/pathmap:<from>=<to>` to replace the path prefix <from> with <to>." (#201981)
Reverts llvm/llvm-project#198664
Causes test failures on
[llvm-clang-aarch64-darwin](https://lab.llvm.org/buildbot/#/builders/190)
bot.
Commit: 4113577578485d6b6e8cb398aa69637263fdb64f
https://github.com/llvm/llvm-project/commit/4113577578485d6b6e8cb398aa69637263fdb64f
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Recompute only the affected UberSet when inheriting reg units (#200962)
CodeGenRegBank::computeRegUnitWeights() runs a fixpoint over all registers;
normalizeWeight() calls the global computeUberWeights() -- which rescans
every UberRegSet, every register, and all of their register units -- each time
a register inherits register units from its subregisters.
Most of the time, we do better by just recomputing one register's
UberSet.
On AMDGPU (21266 registers) with this change, the "Compute reg unit
weights" phase drops from 3.19s to 0.70s (4.5x speedup) and
-gen-register-info improves overall from ~16.4s to ~14.0s.
Commit: ea6943c45e0880f384c9db374a60968349732947
https://github.com/llvm/llvm-project/commit/ea6943c45e0880f384c9db374a60968349732947
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
Log Message:
-----------
[X86] Remove stray :w from a comment. NFC (#201982)
Commit: 7389aa2ef380ca2b64d8fa34b633e5d2a4efef0a
https://github.com/llvm/llvm-project/commit/7389aa2ef380ca2b64d8fa34b633e5d2a4efef0a
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Frontend/Offloading/ArchiveLinker.cpp
Log Message:
-----------
[Frontend][Offloading] Fix GCC 7 build error in ArchiveLinker (#201978)
GCC 7 cannot perform implicit move construction when converting
`ResolvedInputs` to `Expected<ResolvedInputs>`.
Commit: 3e2ccf5a4d45f98bb1f8506f064e55279b244480
https://github.com/llvm/llvm-project/commit/3e2ccf5a4d45f98bb1f8506f064e55279b244480
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/support.h
M libcxx/include/__config
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/atomic
M libcxx/modules/std.cppm.in
M libcxx/src/memory_resource.cpp
M libcxx/utils/generate_libcxx_cppm_in.py
M libcxx/utils/libcxx/header_information.py
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[libc++] Assume that <atomic> is available (#199674)
We always define either `_LIBCPP_HAS_C_ATOMIC_IMP` or
`_LIBCPP_HAS_GCC_ATOMIC_IMP`, so we can remove any special handling of
not having an `<atomic>` header.
Commit: d08a2a43abd91865002a42938b60f172527defa3
https://github.com/llvm/llvm-project/commit/d08a2a43abd91865002a42938b60f172527defa3
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
Log Message:
-----------
[WebKit checkers] Treat the return value of an instance method as an unsafe pointer origin (#160569)
Commit: 54ed4695d46a178b80578a3114b6dd70a8c59ec2
https://github.com/llvm/llvm-project/commit/54ed4695d46a178b80578a3114b6dd70a8c59ec2
Author: dyung <douglas.yung at sony.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
R clang/include/clang/Basic/AtomicLineLogger.h
R clang/lib/Basic/AtomicLineLogger.cpp
M clang/lib/Basic/CMakeLists.txt
R clang/unittests/Basic/AtomicLineLoggerTest.cpp
M clang/unittests/Basic/CMakeLists.txt
Log Message:
-----------
Revert "[clang] Adding an Atomic Line Logger" (#201984)
Reverts llvm/llvm-project#195885
This is causing a build failure on a Windows bot running VS2019:
https://lab.llvm.org/buildbot/#/builders/46/builds/36187
Commit: 978191848cdb929f85c76bbf54b0666971328c59
https://github.com/llvm/llvm-project/commit/978191848cdb929f85c76bbf54b0666971328c59
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/test/CIR/CodeGen/atomic.c
Log Message:
-----------
[CIR] Initialization of atomic aggregates with padding (#200668)
This patch adds support for the initialization of atomic aggregates with
padding. The changes include:
- During CIRGen, the type `_Atomic(T)` is represented by a CIR struct
`{T, sint8[padding_size]}` if the size of `_Atomic(T)` does not match
the size of `T`. `padding_size` is the difference between the size of
`_Atomic(T)` and `T`.
- CIRGen for the initialization process is updated to handle the
initialization of such CIR struct values.
Commit: 11d7939060e874cdc8378e2b711c719b0d4ba8e1
https://github.com/llvm/llvm-project/commit/11d7939060e874cdc8378e2b711c719b0d4ba8e1
Author: owenca <owenpiano at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Keep C++20 module/import decls on a single line (#199459)
This patch fixes #193676.
- Added `UnwrappedLineParser::parseModuleDecl()` to parse C++20 module
declarations.
- Adapted `parseCppModuleImport()` from #193834 and renamed it to
`parseImportDecl()`.
- Used the test cases from the same PR.
- Removed the invalid test cases and fixed an incorrect one in
`FormatTest.cpp`.
---------
Co-authored-by: Björn Schäpers <github at hazardy.de>
Commit: 26ffc71afa7c9a4a9904742016b343de6f2ea4e6
https://github.com/llvm/llvm-project/commit/26ffc71afa7c9a4a9904742016b343de6f2ea4e6
Author: owenca <owenpiano at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Disallow breaking before/after ## (#200721)
Fixes #199775
Commit: f1267565f55ce3a57bc17a0114a07b6a22709a16
https://github.com/llvm/llvm-project/commit/f1267565f55ce3a57bc17a0114a07b6a22709a16
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M offload/test/offloading/multiple_reductions.cpp
Log Message:
-----------
[OpenMP][offload] use per-type checks for multiple_reductions.cpp (#201045)
Commit: 18b3f1f44d19ccef8f78d833b8cebd6ffd19f24d
https://github.com/llvm/llvm-project/commit/18b3f1f44d19ccef8f78d833b8cebd6ffd19f24d
Author: Ian Anderson <iana at apple.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
Log Message:
-----------
Revert "[clang][driver][darwin] Hold onto full triples in Darwin SDKPlatformInfo (#200896)" (#202010)
This doesn't work for 32 bit arm because that usually gets converted to
thumb-apple-os, and that doesn't match arm-apple-os from
SDKSettings.json.
This reverts commit b89bb06afd069aa1b5e9f05ab692b3e6b41318c0.
Commit: 43df6450eb37a47b89c027828cd35a4ab399640f
https://github.com/llvm/llvm-project/commit/43df6450eb37a47b89c027828cd35a4ab399640f
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/CSKY/CSKYTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/M68k/M68kTargetMachine.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
Log Message:
-----------
[Target] Remove `Target::resetTargetOptions` (#201825)
This function shouldn't exist, now it is an empty function, remove it.
Commit: cff8815ebb23354ac506e6b299cf74cd60227163
https://github.com/llvm/llvm-project/commit/cff8815ebb23354ac506e6b299cf74cd60227163
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/FormatString.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/Sema/format-strings-c23.c
M clang/test/Sema/format-strings.c
Log Message:
-----------
[Clang] support C23 printf width length modifiers (#199991)
This patch adds `-Wformat` support for the C23 `wN` and `wfN` length
modifiers in `printf`/`scanf` format strings. #116962
Commit: f8ee61b393dc5701d1556f22f28849ddfdae1495
https://github.com/llvm/llvm-project/commit/f8ee61b393dc5701d1556f22f28849ddfdae1495
Author: David Green <david.green at arm.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/test/CodeGen/X86/GlobalISel/legalize-ctpop.mir
M llvm/test/CodeGen/X86/GlobalISel/legalize-freeze.mir
Log Message:
-----------
[X86][GlobalISel] Remove dependency on legal ruleset (#197374)
This fills in always legal rules, to remove the dependency on the legacy
ruleset. I'm not sure about the truncate rule but all tests pass. This
is not guaranteed to be all the rules, just the ones that appear in
tests.
Commit: 86fc55edc125fd86e2aebab278650bf724a8c1c5
https://github.com/llvm/llvm-project/commit/86fc55edc125fd86e2aebab278650bf724a8c1c5
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
Log Message:
-----------
[LoopFusion] Remove unused DataLayout parameter (NFC) (#202009)
The LoopFuser constructor took a DataLayout reference that was never
stored or used, and run() computed it solely to pass it in. Drop both.
Commit: 570e532d5639c5da8746ffa8551259e742b51572
https://github.com/llvm/llvm-project/commit/570e532d5639c5da8746ffa8551259e742b51572
Author: Ralf Jung <post at ralfj.de>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] explain Byte.TagValue encoding trick (#201863)
This took me a while to understand in #185977 so let's make it more
explicit why `TagValue` can be so small.
Commit: 3fed38f4b8aa6c4a8ab1a9a864e11394eb3716d1
https://github.com/llvm/llvm-project/commit/3fed38f4b8aa6c4a8ab1a9a864e11394eb3716d1
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-intrinsic-dyn-vgpr-w32.ll
Log Message:
-----------
AMDGPU/GlobalISel: Fix tail call target in vgprs (#201873)
Insert readfirstlane, similar to SDAG version from #110984.
Commit: 81e51e0aaf7219ebf51b52eae12d5f94e888b9bf
https://github.com/llvm/llvm-project/commit/81e51e0aaf7219ebf51b52eae12d5f94e888b9bf
Author: Paul Osmialowski <pawel.osmialowski at arm.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M openmp/tools/omptest/src/OmptAssertEvent.cpp
Log Message:
-----------
[openmp][omptest] Include cstdlib for malloc() (#202021)
This is to address the error appearing when building this code with
somewhat more recent compilers:
```
Use of undeclared identifier 'malloc'
```
Such inclusion has already been added to the OmptTester.cpp file.
Commit: fbe6b5d8536181ab42b0856cf747e09c4c29a175
https://github.com/llvm/llvm-project/commit/fbe6b5d8536181ab42b0856cf747e09c4c29a175
Author: David Green <david.green at arm.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
Log Message:
-----------
[AArch64] Change postinc index types to uint64_t (#202024)
The uint32_t could overflow, make sure we do not throw away the high
bits by
using a uint64_t.
Commit: 6729f3b5a2d8650432e8415a5289fff42c660527
https://github.com/llvm/llvm-project/commit/6729f3b5a2d8650432e8415a5289fff42c660527
Author: David Green <david.green at arm.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
Log Message:
-----------
[AArch64] Use 64bit mask size for detecting extending Ands. (#202029)
Commit: e133cb4f27525e05fbcb04994ed8767140f62db9
https://github.com/llvm/llvm-project/commit/e133cb4f27525e05fbcb04994ed8767140f62db9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/recalc-copyable-operand-deps-shared-inst.ll
Log Message:
-----------
[SLP] Recompute copyable operand deps for nodes sharing an instruction
When an instruction is vectorized in several nodes and one models an operand as
copyable while another (built later) uses it directly, the operand's dependency
count missed the direct def-use edge and the scheduler decremented it more times
than its count, tripping the unscheduled-deps assertion. Defer such operand dep
recomputation unconditionally via RecalcCopyableOperandDeps instead of the narrow
IsDuplicateCopyableNode gate.
Fixes #201855
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/202032
Commit: 3a247473cf32b29d254827e1c03b88a444438a35
https://github.com/llvm/llvm-project/commit/3a247473cf32b29d254827e1c03b88a444438a35
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[DAG] Use TLO.LegalTypes() instead of AfterLegalizeTypes (#201840)
Fix typo from #178617 - AfterLegalizeTypes is an enum constant, not an actual check for legalised types
Commit: 48b138533bd62599247d5b24e913ddfe0384cb2d
https://github.com/llvm/llvm-project/commit/48b138533bd62599247d5b24e913ddfe0384cb2d
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/assume-align.ll
Log Message:
-----------
[InstCombine] Fix UB in align-assume check (#201985)
When we have a `NULL` pointer the `1ULL << computeKnownBits(RK.WasOn,
II).countMinTrailingZeros()` check becomes `1ULL << 64` which is UB.
We hit the following error in our downstream sanitizer builder:
> llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp: runtime error:
shift exponent 64 is too large for 64-bit type 'unsigned long long'
Tests were generated using an AI.
Commit: d54ff4c9b91250b93cf6b05377246fbad9e028ce
https://github.com/llvm/llvm-project/commit/d54ff4c9b91250b93cf6b05377246fbad9e028ce
Author: hpkfft.com <paul at hpkfft.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang/lib/Headers/avx512fintrin.h
Log Message:
-----------
Add _MM_FROUND_TO_NEAREST_TIES_EVEN to avx512fintrin.h (#99691)
Intrinsics such as `_mm512_add_round_ps` take a rounding mode argument
to specify the floating point rounding mode. This, and similar
instructions, do NOT round their result to an integer. Thus it is
inappropriate for user code to specify the existing
`_MM_FROUND_TO_NEAREST_INT` when desiring to round to the nearest
floating point number. This commit adds a suitable macro definition.
Commit: 0373a653ecfd55c2ed1c014fb07e3872583af736
https://github.com/llvm/llvm-project/commit/0373a653ecfd55c2ed1c014fb07e3872583af736
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
Log Message:
-----------
[CIR][NFC] Fix converting AtomicType after RecordType modification (#202036)
Fix the conversion of the AtomicType after the change in the structure
in #199790 and #200668
Fix #202031
Commit: 1f44aeb56183e87547c752b27c879fd1c0299593
https://github.com/llvm/llvm-project/commit/1f44aeb56183e87547c752b27c879fd1c0299593
Author: David Green <david.green at arm.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
Log Message:
-----------
[AArch64] Protect against v3i64->v3i8 truncates in combineI8TruncStore (#202039)
We were previously creating invalid bitcasts, protect against that by
making
sure that the type is legal.
Commit: dee1687bdba79e729b4ddf3e2c37ff9b5766dc75
https://github.com/llvm/llvm-project/commit/dee1687bdba79e729b4ddf3e2c37ff9b5766dc75
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-reused-and-reordered-operand.ll
Log Message:
-----------
[SLP]Keep reuse mask in sync when reordering split node operand
When reorderBottomToTop uses an operand order for a split vectorize
node and the operand has both reordered and reused scalars, only the
reorder indices were cleared while the reuse mask was left stale. This
diverged the split node scalars from the operand effective order.
Fold the reorder into the reuse mask (getCommonMask), reorder it by the
used mask, then clear the reorder indices, so the operand effective
order stays consistent with the reordered split node.
Fixes #202003
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/202041
Commit: 3ca2f009b8d6eae9e098dbdfe9674739dc6cff96
https://github.com/llvm/llvm-project/commit/3ca2f009b8d6eae9e098dbdfe9674739dc6cff96
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M mlir/lib/Conversion/ComplexToSPIRV/ComplexToSPIRV.cpp
M mlir/test/Conversion/ComplexToSPIRV/complex-to-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Convert complex.abs (#202026)
Commit: 7564cffdad802e80a595b2b3ce032fab7656df35
https://github.com/llvm/llvm-project/commit/7564cffdad802e80a595b2b3ce032fab7656df35
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/test/Driver/offload-device.f90
Log Message:
-----------
[Flang][Driver] Fix -foffload-device misspelling (#201857)
#200863 added a new `-foffload-device` argument for informing the
frontend that it compiling for the device-side (and as a consequence
must not overwrite any module files compiled for the host), but the
driver was mistakenly adding `-offload-device`.
Also fix the condition and add a regression test for the driver.
Commit: 428a03d5ff9352a1da801bf2a6a94db982dee79c
https://github.com/llvm/llvm-project/commit/428a03d5ff9352a1da801bf2a6a94db982dee79c
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
Log Message:
-----------
[CIR] Implement CompoundAssignLValue for Atomic Complex (#201895)
Implement CompoundAssignLValue support for Atomic Complex
Issue https://github.com/llvm/llvm-project/issues/192331
Commit: 2853284556509da5de1b52cba488e053dcf2ffc5
https://github.com/llvm/llvm-project/commit/2853284556509da5de1b52cba488e053dcf2ffc5
Author: mbhade-amd <mbhade at amd.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfShuffles - replace IR with poison on the !NewX path (#201826)
The function returns bool. The early return `return
PoisonValue::get(ShuffleDstTy);` relies on implicit pointer-to-bool
conversion of a non-null PoisonValue*, so the caller records a change
and invalidates non-CFG analyses while the original shuffle is never
replaced.
Call replaceValue(I, *PoisonValue::get(ShuffleDstTy)) and return true so
the fold actually fires. Downstream InstCombine usually cleans up the
residual shuffle via simplifyShuffleVectorInst, which masks the bug at
-O2 but leaves vector-combine producing the wrong result on its own.
Adds a regression test covering the case where both inner shuffles have
all-poison masks, so the merge loop never assigns NewX.
This was found as part of jlebar's X86 LLVM bug hunt / FuzzX effort:
https://github.com/SemiAnalysisAI/FuzzX/tree/master/x86 :
[024-foldshuffleofshuffles-poison-bool-cast](https://github.com/SemiAnalysisAI/FuzzX/tree/master/x86/bugs/024-foldshuffleofshuffles-poison-bool-cast)
Commit: 6eb47bb35bed321cbed22f46de4e301152dbe544
https://github.com/llvm/llvm-project/commit/6eb47bb35bed321cbed22f46de4e301152dbe544
Author: Sean Clarke <seanedwardsclarke at gmail.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/fpextend.ll
M llvm/test/Transforms/InstCombine/vector-casts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vector-casts.ll
Log Message:
-----------
[InstCombine] Migrate undef -> poison only for certain cast-related optimizations (#201631)
Further deprecate UndefValue by restricting several related
optimizations in InstCombineCasts to PoisonValue only. Update regression
tests to reflect these changes.
Commit: 6808d14c92eaaa4f8e80dbc9e5786511e8eec458
https://github.com/llvm/llvm-project/commit/6808d14c92eaaa4f8e80dbc9e5786511e8eec458
Author: Fuad Ismail <fuad1502 at gmail.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/shuffle_select-inseltpoison.ll
M llvm/test/Transforms/InstCombine/shuffle_select.ll
Log Message:
-----------
[InstCombine] Drop `ninf` FMF when input element can be `Inf` in shuffle-select transform (#201315)
Solves https://github.com/llvm/llvm-project/issues/74326
When binary operation has `ninf` FMF, but the input does not have
`nofpclass(inf)`, we should not propagate the `ninf` FMF. Because the
transformation may produce poison value when the input has an `Inf`
element, whereas the original code will simply pass through the `Inf`
element.
Alive proof: https://alive2.llvm.org/ce/z/nkv-vE
Commit: 4706906ba256bfbb3590ae1eb05ef9cd4b92421a
https://github.com/llvm/llvm-project/commit/4706906ba256bfbb3590ae1eb05ef9cd4b92421a
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang/lib/Interpreter/Value.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
Log Message:
-----------
[clang-repl] Fix Value's move ctor releasing storage on construction (#200888)
Value::Value(Value &&) called Release() on the just-moved-into storage,
decrementing the refcount to zero on the only remaining reference.
Subsequent reads -- including ~Value() running clear(), which calls
Release() a second time on the now-freed allocation -- hit
use-after-free.
The move should transfer the existing reference: the source clears
IsManuallyAlloc so its destructor will not Release, and *this assumes
ownership of the same refcount. Neither side needs to Retain or Release
to keep the count correct.
Add a regression test exercising move-construction, move-assignment, and
follow-on copy-construction on a K_PtrOrObj Value. AddressSanitizer
catches the bug without the fix.
Commit: 5458641e2e81dd77b7145a78b0aac7ba3f0c1bdd
https://github.com/llvm/llvm-project/commit/5458641e2e81dd77b7145a78b0aac7ba3f0c1bdd
Author: David Green <david.green at arm.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve2-rsh.ll
Log Message:
-----------
[AArch64] Fix and vs or in tryCombineExtendRShTrunc (#202053)
This condition should be checking that both are true.
Commit: 79da521f4e5adba781e62cfefd673ccfd8d168b0
https://github.com/llvm/llvm-project/commit/79da521f4e5adba781e62cfefd673ccfd8d168b0
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
workflows/libcxx-run-benchmarks: Remove template expansion (#200282)
https://docs.zizmor.sh/audits/#template-injection
https://github.com/llvm/llvm-project/security/code-scanning/1648
https://github.com/llvm/llvm-project/security/code-scanning/1649
https://github.com/llvm/llvm-project/security/code-scanning/1650
https://github.com/llvm/llvm-project/security/code-scanning/1651
Commit: 35d520a2cb8b3b445f419fb15d674941b2da38e9
https://github.com/llvm/llvm-project/commit/35d520a2cb8b3b445f419fb15d674941b2da38e9
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Intrinsics.cpp
Log Message:
-----------
[NFC][LLVM] Introduce `IIT_MATCH` to represents `LLVMMatchType` (#202034)
Currently, the fully dependent identity type `LLVMMatchType` is
represented in the IIT encoding table as `IIT_ANY` with `AK_MatchType`
argument kind. Instead, add a new IIT code `IIT_MATCH` to represent such
dependent types, so that `IIT_ANY` is used to represent just the core
overload types.
Commit: e6fab598acd8a0026ddc28eab78885d6f23e08f4
https://github.com/llvm/llvm-project/commit/e6fab598acd8a0026ddc28eab78885d6f23e08f4
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M lldb/include/lldb/Symbol/Symbol.h
Log Message:
-----------
[lldb] Change Symbol size assert to 64 bit only (#202042)
Follow up to
https://github.com/llvm/llvm-project/pull/200919#issuecomment-4635479078
Commit: c1ee07b95724d80634a399ff84e0e398021862d4
https://github.com/llvm/llvm-project/commit/c1ee07b95724d80634a399ff84e0e398021862d4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
R llvm/test/Transforms/SLPVectorizer/X86/split-node-reused-and-reordered-operand.ll
Log Message:
-----------
Revert "[SLP]Keep reuse mask in sync when reordering split node operand"
This reverts commit dee1687bdba79e729b4ddf3e2c37ff9b5766dc75 to pacify
buildbots after failures in
https://lab.llvm.org/buildbot/#/builders/25/builds/18282 and others.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/202057
Commit: 9aef31502094e2b5c997683a6d624aaf39f5bd50
https://github.com/llvm/llvm-project/commit/9aef31502094e2b5c997683a6d624aaf39f5bd50
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/Core/Debugger.h
M lldb/source/API/SBDebugger.cpp
M lldb/source/Core/Debugger.cpp
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
M lldb/tools/driver/Driver.cpp
Log Message:
-----------
[lldb] Add SBDebugger::SetTerminalDimensions to set width and height atomically (#201965)
Terminal width and height were communicated to the debugger separately,
via SetTerminalWidth() and SetTerminalHeight(). Each notified the
IOHandler and the statusline, so on a resize they recomputed their
layout twice: once with one dimension updated and the other still stale.
Add Debugger::SetTerminalDimensions(width, height) (exposed through
SBDebugger) that updates both properties before notifying, and
reimplement the single-axis setters and the driver's resize handler in
terms of it.
Also fix SBDebugger::GetTerminalHeight(), which returned the width.
Commit: 3ab0c5109ed2bfe3baffbd8f62cd85de3983daab
https://github.com/llvm/llvm-project/commit/3ab0c5109ed2bfe3baffbd8f62cd85de3983daab
Author: Nikita Taranov <nickita.taranov at gmail.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M libc/src/link/CMakeLists.txt
Log Message:
-----------
[libc] Add missing `dl_iterate_phdr` dependencies to avoid spurious build failures (#201574)
Example:
https://github.com/llvm/llvm-project/actions/runs/26945498241/job/79504837451?pr=201452
"Spurious" means, in this case, that the build may succeed or fail
depending on whether the files were generated before the dependent is
built.
Commit: 42ec0c66867ff23642d5745368191e9f7d2b155b
https://github.com/llvm/llvm-project/commit/42ec0c66867ff23642d5745368191e9f7d2b155b
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M flang/include/flang/Lower/IterationSpace.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/Support/Utils.cpp
Log Message:
-----------
[flang] Remove unused DenseMapInfo::getEmptyKey (#201988)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Commit: 4bdd4eb56704cdbd5d74c6576c06219628cf2255
https://github.com/llvm/llvm-project/commit/4bdd4eb56704cdbd5d74c6576c06219628cf2255
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseMapInfo.h
Log Message:
-----------
[ADT] Don't use getEmptyKey() when hashing std::optional (#202002)
DenseMapInfo<std::optional<T>>::getHashValue() calls T's getEmptyKey()
for the nullopt case. This blocks removing the now-unused getEmptyKey()
from DenseMapInfo specializations: a leaf type that drops getEmptyKey()
fails to compile wherever std::optional<T> is used as a DenseMap key
(e.g. DenseMapInfo<mlir::spirv::StorageClass>).
Compute the hash directly instead. Prerequisite for the getEmptyKey()
removal series; #201281 made getEmptyKey() unused by DenseMap.
Commit: d5a05ac792829360348f57166c0ae2f707d3ba3f
https://github.com/llvm/llvm-project/commit/d5a05ac792829360348f57166c0ae2f707d3ba3f
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVTypeInst.h
M llvm/lib/Target/X86/X86OptimizeLEAs.cpp
Log Message:
-----------
[Target] Remove unused DenseMapInfo::getEmptyKey (#201993)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Commit: eafc7b672217288c873bea6d2489e93e2e683246
https://github.com/llvm/llvm-project/commit/eafc7b672217288c873bea6d2489e93e2e683246
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M lld/COFF/Chunks.h
M lld/MachO/ConcatOutputSection.h
M lld/wasm/SyntheticSections.h
Log Message:
-----------
[lld] Remove unused DenseMapInfo::getEmptyKey (#201989)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Commit: 6b5883b38e158ce4659859ffd78f6ad2869979c1
https://github.com/llvm/llvm-project/commit/6b5883b38e158ce4659859ffd78f6ad2869979c1
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M polly/include/polly/Support/VirtualInstruction.h
Log Message:
-----------
[Polly] Remove unused DenseMapInfo::getEmptyKey (#201992)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Commit: 1ab61645d59c25699e32a09f74e3b5a7824915f1
https://github.com/llvm/llvm-project/commit/1ab61645d59c25699e32a09f74e3b5a7824915f1
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/SplitFunctions.h
M bolt/include/bolt/Profile/DataReader.h
Log Message:
-----------
[BOLT] Remove unused DenseMapInfo::getEmptyKey (#201986)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Commit: 7ef1b22c75da98b58e5a91cacabeac8e1356ad8f
https://github.com/llvm/llvm-project/commit/7ef1b22c75da98b58e5a91cacabeac8e1356ad8f
Author: Elio <xiongzile at bytedance.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/fmin3-fmax3-combine.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/min3-max3-combine.ll
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/fmaximum3.v2f16.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.v2f16.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fminimum.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
Log Message:
-----------
[AMDGPU][GISel] Fold 'min(min(x,y),z)' and 'max(max(x,y),z)' into min3 and max3 (#200410)
Original PR: https://github.com/llvm/llvm-project/pull/124263
Fixes: https://github.com/llvm/llvm-project/issues/123079
Commit: 8e1afdada5d09cccb18b3ff17dac04e30645b93e
https://github.com/llvm/llvm-project/commit/8e1afdada5d09cccb18b3ff17dac04e30645b93e
Author: Matt Turner <mattst88 at gmail.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M compiler-rt/lib/asan/asan_shadow_setup.cpp
Log Message:
-----------
[ASan] Skip high-shadow and gap setup when HighMem region is empty (#202037)
On targets where the shadow offset sits above all addressable user
memory (e.g. Alpha with ASAN_SHADOW_OFFSET=0x70000000000 and a 42-bit
user VAS), kHighMemBeg is set above kHighMemEnd so the HighMem region is
empty. Since MEM_TO_SHADOW is monotonically increasing, kHighMemBeg >
kHighMemEnd implies kHighShadowBeg > kHighShadowEnd. Calling
ReserveShadowMemoryRange(kHighShadowBeg, kHighShadowEnd) passes size =
kHighShadowEnd - kHighShadowBeg + 1, which underflows to a large
negative value, and mmap() fails with ENOMEM.
ProtectGap is also skipped: there is no meaningful shadow gap between
LowShadow and an empty HighShadow.
Guard both operations on kHighMemBeg <= kHighMemEnd.
Commit: 731dd05c34d9bb8d42741b67afc658d228b30e85
https://github.com/llvm/llvm-project/commit/731dd05c34d9bb8d42741b67afc658d228b30e85
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M lldb/source/API/SBDebugger.cpp
M lldb/test/API/python_api/default-constructor/sb_debugger.py
Log Message:
-----------
[lldb] Add nullptr check in GetBroadcaster (#201769)
I recently noticed LLDB crash during execution of `script
print(lldb.SBDebugger().GetBroadcaster().GetName())` command:
```
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/sergei/llvm-project/build/bin/lldb-dap
#0 0x000062735c3403d2 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/sergei/llvm-project/build/bin/lldb-dap+0x7c3d2)
#1 0x000062735c33d7ec llvm::sys::RunSignalHandlers() (/home/sergei/llvm-project/build/bin/lldb-dap+0x797ec)
#2 0x000062735c33d94c SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x00007eaa6aa45330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
#4 0x00007eaa6bb0c092 lldb::SBBroadcaster::GetName() const (/home/sergei/llvm-project/build/bin/../lib/liblldb.so.23.0git+0x90c092)
#5 0x00007eaa6bcb9a5d _wrap_SBBroadcaster_GetName LLDBWrapPython.cpp:0:0
#6 0x00007eaa6a1df5f5 (/lib/x86_64-linux-gnu/libpython3.12.so.1.0+0x1df5f5)
#7 0x00007eaa6a182b2c PyObject_Vectorcall (/lib/x86_64-linux-gnu/libpython3.12.so.1.0+0x182b2c)
#8 0x00007eaa6a11d5ee _PyEval_EvalFrameDefault (/lib/x86_64-linux-gnu/libpython3.12.so.1.0+0x11d5ee)
#9 0x00007eaa6a2a091f PyEval_EvalCode (/lib/x86_64-linux-gnu/libpython3.12.so.1.0+0x2a091f)
#10 0x00007eaa6a29c8b0 (/lib/x86_64-linux-gnu/libpython3.12.so.1.0+0x29c8b0)
#11 0x00007eaa6a11fbd3 _PyEval_EvalFrameDefault (/lib/x86_64-linux-gnu/libpython3.12.so.1.0+0x11fbd3)
#12 0x00007eaa6c4891b7 lldb_private::ScriptInterpreterPythonImpl::ExecuteOneLine(llvm::StringRef, lldb_private::CommandReturnObject*, lldb_private::ExecuteScriptOptions const&) (/home/sergei/llvm-project/build/bin/../lib/liblldb.so.23.0git+0x12891b7)
#13 0x00007eaa70326ff5 CommandObjectScriptingRun::DoExecute(llvm::StringRef, lldb_private::CommandReturnObject&) (/home/sergei/llvm-project/build/bin/../lib/liblldb.so.23.0git+0x5126ff5)
#14 0x00007eaa6bee3739 lldb_private::CommandObjectRaw::Execute(char const*, lldb_private::CommandReturnObject&) (/home/sergei/llvm-project/build/bin/../lib/liblldb.so.23.0git+0xce3739)
#15 0x00007eaa6bede09a lldb_private::CommandInterpreter::HandleCommand(char const*, lldb_private::LazyBool, lldb_private::CommandReturnObject&, bool) (/home/sergei/llvm-project/build/bin/../lib/liblldb.so.23.0git+0xcde09a)
#16 0x00007eaa6bb0f0f8 lldb::SBCommandInterpreter::HandleCommand(char const*, lldb::SBExecutionContext&, lldb::SBCommandReturnObject&, bool) (/home/sergei/llvm-project/build/bin/../lib/liblldb.so.23.0git+0x90f0f8)
#17 0x00007eaa6bb0f265 lldb::SBCommandInterpreter::HandleCommand(char const*, lldb::SBCommandReturnObject&, bool) (/home/sergei/llvm-project/build/bin/../lib/liblldb.so.23.0git+0x90f265)
#18 0x000062735c3707f3 lldb_dap::RunLLDBCommands[abi:cxx11](lldb::SBDebugger&, lldb::SBMutex, llvm::StringRef, llvm::ArrayRef<lldb_dap::protocol::String> const&, bool&, bool, bool) (/home/sergei/llvm-project/build/bin/lldb-dap+0xac7f3)
#19 0x000062735c3a8019 lldb_dap::EvaluateRequestHandler::Run(lldb_dap::protocol::EvaluateArguments const&) const (/home/sergei/llvm-project/build/bin/lldb-dap+0xe4019)
#20 0x000062735c3aba78 lldb_dap::RequestHandler<lldb_dap::protocol::EvaluateArguments, llvm::Expected<lldb_dap::protocol::EvaluateResponseBody>>::operator()(lldb_dap::protocol::Request const&) const (/home/sergei/llvm-project/build/bin/lldb-dap+0xe7a78)
#21 0x000062735c3ce1bf lldb_dap::BaseRequestHandler::Run(lldb_dap::protocol::Request const&) (/home/sergei/llvm-project/build/bin/lldb-dap+0x10a1bf)
#22 0x000062735c3577e7 lldb_dap::DAP::HandleObject(std::variant<lldb_dap::protocol::Request, lldb_dap::protocol::Response, lldb_dap::protocol::Event> const&) (/home/sergei/llvm-project/build/bin/lldb-dap+0x937e7)
#23 0x000062735c358705 lldb_dap::DAP::Loop() (/home/sergei/llvm-project/build/bin/lldb-dap+0x94705)
#24 0x000062735c2ed0c7 main (/home/sergei/llvm-project/build/bin/lldb-dap+0x290c7)
#25 0x00007eaa6aa2a1ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
```
As far as I understand default constuctors should be covered by fuzzing
tests, so I don't know how to write test for that patch.
Commit: 8d5b7f729e07d5394746ae868adabc8b327d94cf
https://github.com/llvm/llvm-project/commit/8d5b7f729e07d5394746ae868adabc8b327d94cf
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/fold-zext-of-deinterleave.ll
Log Message:
-----------
[InstCombine] Fix incorrect insert point when folding zext of deinterleave (#201977)
Fix invalid module crash in
https://github.com/llvm/llvm-project/pull/195330#issuecomment-4635245035
The problem was caused by incorrect IRBuilder insertion point. The
insertion point used when generating new instructions might not dominate
all the de-interleave fields users. This patch fixes this issue by
explicitly setting the insertion point to either
`llvm.vector.deinterleave2` or the earliest `shufflevector` instruction
(in the de-interleaving group) within the same basicblock.
Commit: 2e0fd9033183952d49ce759328764c3b0c75b94f
https://github.com/llvm/llvm-project/commit/2e0fd9033183952d49ce759328764c3b0c75b94f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-flags.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Only print original trip count if it is used. (#202069)
Similarly to other VPlan-scope values, only print trip count when it has
users for consistency.
Commit: 4f265ce6730f6b109783a56f4c9251ed537c08c4
https://github.com/llvm/llvm-project/commit/4f265ce6730f6b109783a56f4c9251ed537c08c4
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/altera/id-dependent-backward-branch.cpp
Log Message:
-----------
[clang-tidy] Fix `altera-id-dependent-backward-branch` false positives (#200660)
The check unconditionally marked the LHS of any assignment from a
variable or field as ID-dependent. As a result, ordinary assignments
like `x = y` or `i += chunk_size` could trigger false positives in later
loop conditions.
Only propagate ID-dependency when the RHS variable or field is already
known ID-dependent.
Based on the fix by @yeputons, with helper renaming and extra tests for
ordinary assignments, fields, macros, aliases, cv/ref cases, lambdas,
templates, concepts, and the #53777 range-for case.
Fix #52790
Fix #53777
Assisted by Codex.
Commit: f7f6e6f4011252d3aacd44e87dd07c263049aad1
https://github.com/llvm/llvm-project/commit/f7f6e6f4011252d3aacd44e87dd07c263049aad1
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/Analysis/CallGraph.h
M mlir/include/mlir/Analysis/DataFlowFramework.h
M mlir/include/mlir/IR/AffineExpr.h
M mlir/include/mlir/IR/AffineMap.h
M mlir/include/mlir/IR/Attributes.h
M mlir/include/mlir/IR/Block.h
M mlir/include/mlir/IR/BlockSupport.h
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/include/mlir/IR/DialectInterface.h
M mlir/include/mlir/IR/IntegerSet.h
M mlir/include/mlir/IR/Location.h
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/OpImplementation.h
M mlir/include/mlir/IR/OperationSupport.h
M mlir/include/mlir/IR/Remarks.h
M mlir/include/mlir/IR/TypeRange.h
M mlir/include/mlir/IR/Types.h
M mlir/include/mlir/IR/Value.h
M mlir/include/mlir/Pass/PassInstrumentation.h
M mlir/include/mlir/Pass/PassManager.h
M mlir/include/mlir/Support/InterfaceSupport.h
M mlir/include/mlir/Support/TypeID.h
M mlir/include/mlir/TableGen/Constraint.h
M mlir/include/mlir/TableGen/Format.h
M mlir/include/mlir/TableGen/Pattern.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Dialect/Func/Transforms/DuplicateFunctionElimination.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/lib/Support/StorageUniquer.cpp
M mlir/lib/TableGen/Constraint.cpp
M mlir/lib/Transforms/Utils/CFGToSCF.cpp
M mlir/lib/Transforms/Utils/CSE.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/tools/mlir-tblgen/EnumsGen.cpp
Log Message:
-----------
[mlir] Remove unused DenseMapInfo::getEmptyKey (#201991)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Commit: 82e436c17196b649ec5278ee51b995a8b9d0d309
https://github.com/llvm/llvm-project/commit/82e436c17196b649ec5278ee51b995a8b9d0d309
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/Minidump.h
M llvm/include/llvm/BinaryFormat/WasmTraits.h
M llvm/include/llvm/CAS/CASID.h
M llvm/include/llvm/CAS/CASReference.h
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerDeclContext.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MemoryFlags.h
M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
M llvm/include/llvm/Frontend/OpenMP/OMPContext.h
M llvm/include/llvm/Linker/IRMover.h
M llvm/include/llvm/MC/MCRegister.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/FunctionId.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Object/Minidump.cpp
M llvm/tools/dsymutil/BinaryHolder.h
M llvm/tools/llvm-c-test/echo.cpp
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-split/llvm-split.cpp
M llvm/unittests/Object/MinidumpTest.cpp
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
[llvm] Remove unused DenseMapInfo::getEmptyKey (#201996)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Commit: 371dacd08ea3f58b8d615bc25a726c81cbabcb99
https://github.com/llvm/llvm-project/commit/371dacd08ea3f58b8d615bc25a726c81cbabcb99
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M lldb/include/lldb/Core/Highlighter.h
M lldb/include/lldb/Host/HostThread.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Utility/ConstString.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/include/lldb/Utility/UUID.h
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb] Remove unused DenseMapInfo::getEmptyKey (#201990)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Commit: 35014951af06fa520616689bc9b052bd039d72ef
https://github.com/llvm/llvm-project/commit/35014951af06fa520616689bc9b052bd039d72ef
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/kshift.ll
Log Message:
-----------
[X86] kshift.ll - regenerate VPTERNLOG asm comments (#202055)
Commit: c384de1c688bab5d5d1fbf1bb3d31895c98e34cd
https://github.com/llvm/llvm-project/commit/c384de1c688bab5d5d1fbf1bb3d31895c98e34cd
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Prevent dangling references to trip count after expansion. (#201924)
Set trip count to Poison after expanding SCEVs to VPInstructions. getTripCount should not be used after that other than printing; setting to poison avoids accessing dangling references.
Commit: 3232b4d0e07802a1852874910815489dc3e4774a
https://github.com/llvm/llvm-project/commit/3232b4d0e07802a1852874910815489dc3e4774a
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/Dominators.h
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ValueHandle.h
M llvm/include/llvm/IR/ValueMap.h
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/LLVMContextImpl.h
Log Message:
-----------
[IR][Analysis] Remove unused DenseMapInfo::getEmptyKey (#201997)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Commit: 19f96a9c433bf268b1ca8aee3eca976591d8a9b8
https://github.com/llvm/llvm-project/commit/19f96a9c433bf268b1ca8aee3eca976591d8a9b8
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Object/DXContainer.cpp
Log Message:
-----------
[DirectX][ObjectYAML] Fix SRCI Names parsing on Big Endian (#202020)
```
Names.Parameters = HeaderOnDisk;
```
converts SRCI Names section header from little endian to platform native
byte order (in converting constructor).
Therefore, extra
```
if (sys::IsBigEndianHost)
Names.Parameters.swapBytes();
```
can swap bytes of the header fields again, causing an error on SPARC:
```
SRCI Names section content ends beyond the section boundary
```
Fix that.
Commit: e910a52b6a8c00c3b48efd8c38632695b3033536
https://github.com/llvm/llvm-project/commit/e910a52b6a8c00c3b48efd8c38632695b3033536
Author: Min-Yih Hsu <min at myhsu.dev>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
M llvm/lib/Target/M68k/M68kInstrFormats.td
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
M llvm/test/MC/Disassembler/M68k/data.txt
Log Message:
-----------
[M68k] Disassemble index suppress in the full extension word correctly (#202080)
When the IS (Index Suppress) bit in the full extension word is set, we
need to use NoReg for the index register in the decoded MCInst. This was
not properly supported in the disassembler before.
This patch fixes this issue by using a pseudo 5-bit "register" binary
encoding for index register, where the first 4 bits carry the actual
register number and the last bit (at MSB) indicates whether we suppress
index register or not.
Commit: 02b26ec29b0a9d823dbfd7a7aa15570043013b57
https://github.com/llvm/llvm-project/commit/02b26ec29b0a9d823dbfd7a7aa15570043013b57
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
Log Message:
-----------
[LoopInterchange] Remove unnecessary type check (NFC) (#202073)
As mentioned in #200913, there is an unnecessay type check. Let's remove
it.
Commit: c5c9676496c968c0eebabccaf17d9f0d5adda3e5
https://github.com/llvm/llvm-project/commit/c5c9676496c968c0eebabccaf17d9f0d5adda3e5
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/Headers.h
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/SymbolID.h
M clang-tools-extra/clangd/index/dex/Token.h
M clang-tools-extra/clangd/index/dex/Trigram.h
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTTypeTraits.h
M clang/include/clang/AST/BaseSubobject.h
M clang/include/clang/AST/CharUnits.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/TypeOrdering.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Utils.h
M clang/include/clang/Analysis/CallGraph.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/Formula.h
M clang/include/clang/Analysis/ProgramPoint.h
M clang/include/clang/Analysis/RetainSummaryManager.h
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/TokenKinds.h
M clang/include/clang/DependencyScanning/DependencyGraph.h
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Sema/Weak.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Tooling/Inclusions/StandardLibrary.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumCXXABI.cpp
M clang/lib/CodeGen/CGObjCMacConstantLiteralUtil.h
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/Indexing.cpp
Log Message:
-----------
[clang][clang-tools-extra] Remove unused DenseMapInfo::getEmptyKey (#201987)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Commit: 825d760892c77c00da0eb4a01c5f2397c49c9585
https://github.com/llvm/llvm-project/commit/825d760892c77c00da0eb4a01c5f2397c49c9585
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M lld/wasm/SyntheticSections.h
Log Message:
-----------
[lld][WebAssembly] Remove vestigial ImportKey::State after DenseMapInfo cleanup (#202082)
Unused after #201989 removed getEmptyKey()
Commit: 25a492be00ef46753d7fa1fb9bae03746dad1441
https://github.com/llvm/llvm-project/commit/25a492be00ef46753d7fa1fb9bae03746dad1441
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-reused-and-reordered-operand.ll
Log Message:
-----------
[SLP]Keep reuse mask in sync when reordering split node operand
When reorderBottomToTop uses an operand order for a split vectorize
node and the operand has both reordered and reused scalars, only the
reorder indices were cleared while the reuse mask was left stale. This
diverged the split node scalars from the operand effective order.
Fixes #202003
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/202084
Commit: e076ae4d0f45921966cca0cc3cd002ab87af4868
https://github.com/llvm/llvm-project/commit/e076ae4d0f45921966cca0cc3cd002ab87af4868
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/PBQP/CostAllocator.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
M llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/GSYM/FileEntry.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/include/llvm/Transforms/Scalar/GVNExpression.h
M llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/StackMaps.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[CodeGen][Transforms] Remove unused DenseMapInfo::getEmptyKey (#201994)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Commit: 35823d13a8460f57be6b73f3dc4f3b93acbcf79d
https://github.com/llvm/llvm-project/commit/35823d13a8460f57be6b73f3dc4f3b93acbcf79d
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.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/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
Log Message:
-----------
[clang-doc] Use llvm RTTI over handrolled casting (#202059)
Clang-Doc has a limited amount of polymorphism over Info types.
Historically, these have just been cast directly in a few places, but we
can use the existing llvm RTTI implementation to more rigorously
dispatch and query the types involved with only limited extra code.
This should make future changes a bit harder to get wrong.
Commit: 547cb156398a889da76bc93a022215ba0ef3e7f4
https://github.com/llvm/llvm-project/commit/547cb156398a889da76bc93a022215ba0ef3e7f4
Author: 🍌Shawn <m18824909883 at 163.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
Log Message:
-----------
[clang][NFC]: Fix typo in comment in `ASTReader.h` (#202022)
Similiar -> Similar
Commit: c44a8ff850558e6b5f91c04f88c35283ecd9717f
https://github.com/llvm/llvm-project/commit/c44a8ff850558e6b5f91c04f88c35283ecd9717f
Author: lntue <lntue at google.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M libc/include/llvm-libc-macros/stdfix-macros.h
M libc/src/__support/FPUtil/arm/sqrt.h
Log Message:
-----------
[libc][math] Fix arm-linux-gnueabihf target when building with gcc/g++. (#202090)
- `arm-linux-gnueabihf-gcc` defines fixed point macros (like
`__FRACT_FBIT__`) but does not support `_Fract` and `_Accum` types by
default. We just limit the fixed point support to clang for now.
- Specify the types for the sqrt instructions we use for ARM target.
Tested with:
```
$ cmake ../runtimes -GNinja -DLLVM_ENABLE_RUNTIMES=libc -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc-12 \
-DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++-12 \
-DLIBC_TARGET_TRIPLE=arm-linux-gnueabihf
$ export QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf
$ ninja libc-shared-tests
```
https://github.com/llvm/llvm-project/issues/201678.
Commit: 11496fa35dfdf9a84c82d2c6181e54caf7288fce
https://github.com/llvm/llvm-project/commit/11496fa35dfdf9a84c82d2c6181e54caf7288fce
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/APSInt.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/BitVector.h
M llvm/include/llvm/ADT/CachedHashString.h
M llvm/include/llvm/ADT/DenseMapInfo.h
M llvm/include/llvm/ADT/DenseMapInfoVariant.h
M llvm/include/llvm/ADT/Hashing.h
M llvm/include/llvm/ADT/ImmutableList.h
M llvm/include/llvm/ADT/PointerEmbeddedInt.h
M llvm/include/llvm/ADT/PointerIntPair.h
M llvm/include/llvm/ADT/PointerSumType.h
M llvm/include/llvm/ADT/PointerUnion.h
M llvm/include/llvm/ADT/SmallBitVector.h
M llvm/include/llvm/ADT/SmallVector.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Support/FileSystem/UniqueID.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/Support/UniqueBBID.h
M llvm/include/llvm/Support/VersionTuple.h
M llvm/lib/Support/StringRef.cpp
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ADT/DenseSetTest.cpp
M llvm/unittests/ADT/MapVectorTest.cpp
M llvm/unittests/Support/ReverseIterationTest.cpp
Log Message:
-----------
[ADT] Remove unused DenseMapInfo::getEmptyKey (#201998)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Commit: aca0ce5a7339a892e6405f23f19cb7a9931e18e7
https://github.com/llvm/llvm-project/commit/aca0ce5a7339a892e6405f23f19cb7a9931e18e7
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-06-07 (Sun, 07 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/SemaCXX/deduced-return-type-cxx14.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 (#202088)
Relands https://github.com/llvm/llvm-project/pull/199528
Previous: #201373
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: b542c92494b6bd156bacedca2d24fea2215f3792
https://github.com/llvm/llvm-project/commit/b542c92494b6bd156bacedca2d24fea2215f3792
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][CUDA] Allocate converted kernel descriptors in device-accessible storage (#201950)
Fix CUDA descriptor lowering when an `fir.embox` result reaches a
`gpu.launch_func` through an intermediate `fir.convert`.
CodeGen previously failed to recognize this use chain and could place
the descriptor in host stack storage. Since CUDA kernels may dereference
assumed-shape descriptors on the device, such descriptors must be
allocated through the CUDA descriptor allocation path. Teach the
GPU-launch-use check to look through `fir.convert` so these descriptors
are lowered with `_FortranACUFAllocDescriptor`.
Also adds a regression test for the `fir.embox -> fir.convert ->
gpu.launch_func` case.
Commit: baa69e929b67543682452e9d9f9ebbd76790ad42
https://github.com/llvm/llvm-project/commit/baa69e929b67543682452e9d9f9ebbd76790ad42
Author: dyung <douglas.yung at sony.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang/test/Driver/driverkit-path.c
M clang/test/lit.cfg.py
Log Message:
-----------
Updating test clang/test/Driver/driverkit-path.c for usage with CLANG_RESOURCE_DIR (#197154)
When the CMake option CLANG_RESOURCE_DIR is specified, it changes
the path to various tools and thus breaks some tests that look for things
in the "standard" location. This change updates one of the tests to take
into account the CLANG_RESOURCE_DIR value if specified by querying
compiler using `-print-resource-dir` to more accurately find the expected
directory in tests.
Commit: 84debf47950a188e01ef57cd8e0df61fb4d9c441
https://github.com/llvm/llvm-project/commit/84debf47950a188e01ef57cd8e0df61fb4d9c441
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M clang-tools-extra/clang-doc/Representation.cpp
Log Message:
-----------
[clang-doc] Clean up implementation with better casting (#202060)
Having access to RTTI style casting lets us use slightly nicer
structures to clean up the overly complicated dispatch logic in merging
and other places.
Commit: a0344e9f990d503274662b9cbf7f15b7ad92a3e9
https://github.com/llvm/llvm-project/commit/a0344e9f990d503274662b9cbf7f15b7ad92a3e9
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
Log Message:
-----------
[clang-doc] Move Generator classes into the anonymous namespace (#202058)
Clang-Tidy suggest moving these classes into the anonymous namespace,
to enforce internal linkage.
Commit: 825b3c71ecdc2f1eee9a5d46180532d3b9a12a67
https://github.com/llvm/llvm-project/commit/825b3c71ecdc2f1eee9a5d46180532d3b9a12a67
Author: Matt Turner <mattst88 at gmail.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_mapping.h
Log Message:
-----------
[ASan] Improve qemu-alpha shadow mapping (#201861)
With a 1T fixed shadow offset the usable app memory is split between
LowMem (0-1T) and HighMem (1.5T-4T). This works on real Alpha hardware
where all addresses stay within TASK_SIZE (4T). However, under
qemu-alpha user mode mmap(NULL) returns addresses from the host x86-64
address space (~127T), outside both regions, causing AddrIsInMem() CHECK
failures in PoisonShadow.
Switch to a fixed shadow offset of 0x70000000000 (7 TiB). TASK_SIZE is
well below the shadow offset so HighMem is empty: kHighMemBeg =
MEM_TO_SHADOW(kHighMemEnd) + 1 > kHighMemEnd. All app memory fits in
LowMem [0, 7T), a simpler layout with no HighMem split. On qemu-alpha,
-R 0x80000000000 constrains guest mappings to [0, 8T), keeping them
within LowMem.
Commit: efaed4201b8e6d5026b53e6bdce939befdcba48b
https://github.com/llvm/llvm-project/commit/efaed4201b8e6d5026b53e6bdce939befdcba48b
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/PhaseOrdering/X86/merge-functions2.ll
M llvm/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/Hexagon/switch-to-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/RISCV/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/debugloc-switch-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
M llvm/test/Transforms/SimplifyCFG/switch-dead-default-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/switch_mask.ll
Log Message:
-----------
[SimplifyCFG] Shrink integer lookup tables (#202071)
After #200664, we generate lookup tables in more cases, leading to
higher memory use and larger binaries. Partially alleviate this by
shrinking the lookup tables if all elements are small integers. The
underlying idea is that an extra integer extension can typically be
folded into a load instruction at no extra cost.
This reduces the size of stage2-clang by 0.13%.
Commit: a383c1ae2e259c0bea62b7eeb4bae490651c9c7f
https://github.com/llvm/llvm-project/commit/a383c1ae2e259c0bea62b7eeb4bae490651c9c7f
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M libcxx/test/libcxx/containers/sequences/array/nodiscard.iterator.verify.cpp
Log Message:
-----------
[libc++][array] Test `[[nodicard]]` with `array::const_iterator` (#202070)
Added tests with `array::const_iterator` for completeness.
Implemented in https://github.com/llvm/llvm-project/pull/198492
Towards #172124
Commit: 3b5f8fe2ac66b5bf7f447b1a29db8ac9c2d1820c
https://github.com/llvm/llvm-project/commit/3b5f8fe2ac66b5bf7f447b1a29db8ac9c2d1820c
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
A libcxx/test/libcxx/containers/views/views.span/nodiscard.iterator.verify.cpp
Log Message:
-----------
[libc++][span] Test `[[nodiscard]]` applied to `span::iterator` (#202068)
Adds test coverage.
`[[nodicard]]` applied in:
- https://github.com/llvm/llvm-project/pull/198489
- https://github.com/llvm/llvm-project/pull/198492
Towards #172124
Commit: 18ad6a5e073f312d3369803cf607fe9bb66a587d
https://github.com/llvm/llvm-project/commit/18ad6a5e073f312d3369803cf607fe9bb66a587d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang][bytecode] Register global constexpr-unknown variables with their pointee type (#201347)
Commit: e6bd7887070e92bba3615de04d3fdefde4beb2de
https://github.com/llvm/llvm-project/commit/e6bd7887070e92bba3615de04d3fdefde4beb2de
Author: Feng Zou <feng.zou at intel.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/X86/avx512-maxnum-minnum-masked-store.ll
Log Message:
-----------
[DAG] Narrow vselect mask to vXi1 in foldToMaskedStore (#201609)
foldToMaskedStore (added in
https://github.com/llvm/llvm-project/commit/1c0ac80d4a9ef6c21914f2317003979952c2a2c3)
rewrites
store(vselect(cond, x, load(ptr)), ptr) -> masked_store(x, ptr, cond)
passing the vselect condition straight through as the store mask. A
masked
store follows the IR convention of a vXi1 mask, but the condition can be
a
wider boolean vector. On AVX512F targets without VLX, a maxnum/minnum
store-back lowers the NaN test with a legacy packed (CMPP) comparison
whose
result is a vXi32/vXi64 vector, so the masked store is created with a
wide
mask and LowerMSTORE asserts:
Assertion `Mask.getSimpleValueType().getScalarType() == MVT::i1 &&
"Unexpected mask type"' failed.
When the matching vXi1 type is legal, narrow the mask to it before
building
the masked store. Targets where vXi1 is illegal (e.g. AVX/AVX2) keep the
wide
mask and continue to lower it as a blend/vmaskmov, and targets whose
vselect
condition is already vXi1 (e.g. AArch64 SVE, RISC-V RVV) are unaffected.
This fixes the crash at the source and lets the X86 LowerMSTORE keep its
invariant of only ever seeing a vXi1 mask (no target-specific
workaround).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 7df3d9277973096d3b4231b6819b2fcc5603c67e
https://github.com/llvm/llvm-project/commit/7df3d9277973096d3b4231b6819b2fcc5603c67e
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Add VPReplicateRecipe::operandsWithoutMask() (NFC). (#202115)
Add a helper to access a VPReplicateRecipe's operands while excluding
the mask of a predicated recipe, and use it in createReplicateRegion.
Split off from https://github.com/llvm/llvm-project/pull/201676.
Commit: 86940d72a1eba54d0a6a01bc5d418e6864344d64
https://github.com/llvm/llvm-project/commit/86940d72a1eba54d0a6a01bc5d418e6864344d64
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/X86/fold-shuffle-chains-to-reduce-fp.ll
M llvm/test/Transforms/VectorCombine/fold-shuffle-chains-to-reduce.ll
Log Message:
-----------
[VectorCombine] foldShuffleChainsToReduce - add FADD/FMUL handling (#201302)
Extend `foldShuffleChainsToReduce` to fold shuffle-reduction chains of
fadd/fmul into the corresponding vector reduction intrinsics
(llvm.vector.reduce.fadd / llvm.vector.reduce.fmul).
The transformation requires the `reassoc` fast-math flag on every binop
in the chain based on the
[langspec](https://llvm.org/docs/LangRef.html#rewrite-based-flags). The
output intrinsic receives the intersection of all binops' FMF, and the
identity start value is selected via ConstantExpr::getBinOpIdentity
(-0.0 for fadd, 1.0 for fmul, respecting nsz for the sign of zero).
Fixes #199030.
Commit: b1d1bb2ad2a272d2ddd41ae307b25aee420219ec
https://github.com/llvm/llvm-project/commit/b1d1bb2ad2a272d2ddd41ae307b25aee420219ec
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/single-scalar-cast.ll
Log Message:
-----------
[LV] Add VPlan printing test with casts converted to single scalar (NFC) (#202200)
Add test coverage for additional paths that can create single-scalar
casts: sinkScalarOperands and induction optimization.
Commit: b46f0f8eeac89d8432583a9a0720903e6ed597ff
https://github.com/llvm/llvm-project/commit/b46f0f8eeac89d8432583a9a0720903e6ed597ff
Author: Le Gia Bao <legiabao7300 at gmail.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
A llvm/test/Transforms/IndVarSimplify/callbr.ll
Log Message:
-----------
[SCEVExpander] Do not insert after callbr (#201322)
findInsertPointAfter handle invoke and otherwise use the instruction
after def instruction as the insertion point.
This is not valid for callbr which is a terminator. Advancing the
iterator moves the insertion point past the terminator, and the
following code uses that invalid position, e.g when asm goto lowers to
callbr in #200987
Use the insertion point before MustDominate for callbr.
Fixes #200987
Commit: 4b0da1a1d71040c67858a739e29ef062f63d9efd
https://github.com/llvm/llvm-project/commit/4b0da1a1d71040c67858a739e29ef062f63d9efd
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/TableGen/TGParser.cpp
M llvm/test/TableGen/switch.td
Log Message:
-----------
[TableGen] Fix crash of !switch parse in defvar context (#202119)
`ListInit::convertInitializerTo()` and similar variants do not perform a
nullptr check. Adding a check to the caller parse method and a test case
for defvar.
Commit: 5ddae7ae330fdd9880ad512c986cbfb2faa26e1f
https://github.com/llvm/llvm-project/commit/5ddae7ae330fdd9880ad512c986cbfb2faa26e1f
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
A clang/test/Analysis/array-of-structs-initializer.cpp
M clang/test/Analysis/initialization.cpp
Log Message:
-----------
[analyzer] Generalize field initializer resolution in RegionStore (#189361)
Replace the ad-hoc blocks in getBindingForField with a single helper
getConstantValFromInitializer that walks up the region chain to a
VarRegion, then walks down the InitListExpr (semantic form) by field
and element indices. Handles arbitrary nesting depth, including
multidimensional arrays of structs and structs containing arrays.
The same trust conditions apply: const-qualified types are always
trusted, and non-const globals are trusted when analyzing main().
For C++ structs with user-defined constructors, we conservatively
fall through to the symbolic path because the constructor body may
establish values that differ from the InitListExpr. Resolving
constructor-initialized values is left to a separate change.
Union initializers are handled by matching the accessed field against
the initialized member, accesses to inactive union members return
unknown.
This resolves false positives from security.ArrayBound on
sentinel-terminated struct arrays and fixes a FIXME where
CXXDefaultInitExpr in const arrays was not recognized.
---------
Co-authored-by: Donát Nagy <donat.nagy at ericsson.com>
Commit: 3b6261258a9361708b0947d48a63bbf53fc5e464
https://github.com/llvm/llvm-project/commit/3b6261258a9361708b0947d48a63bbf53fc5e464
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopInterchange/reduction-anyof.ll
Log Message:
-----------
[LoopInterchange] Add test for loop contains AnyOf reduction (NFC) (#202091)
This patch adds the test case raised in #202089. The issue will be fixed
by a follow-up patch #202092.
Commit: 67ebc46da88ba78037f8f7a7e65f303f4ba28932
https://github.com/llvm/llvm-project/commit/67ebc46da88ba78037f8f7a7e65f303f4ba28932
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/reduction-anyof.ll
M llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll
Log Message:
-----------
[LoopInterchange] Reject interchange when AnyOf reduction exists (#202092)
This patch removes `AnyOf` reductions from the legal candidates for
interchange. In some cases, especially when the result value of `AnyOf`
is loop-invariant with respect to outer loop, then the interchange
should be legal. However, at the moment, we reject all the cases
conservatively.
Fixes #202089 .
Commit: fcf1285832eed5ec9c3fab3876fdac0c52026830
https://github.com/llvm/llvm-project/commit/fcf1285832eed5ec9c3fab3876fdac0c52026830
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
A libcxx/test/libcxx/strings/basic.string/nodiscard.iterator.verify.cpp
Log Message:
-----------
[libc++][string] Test [[nodiscard]] applied to `basic_string::iterator` (#202202)
Adds test coverage.
`[[nodicard]]` applied in:
- https://github.com/llvm/llvm-project/pull/198489
- https://github.com/llvm/llvm-project/pull/198492
Towards #172124
Commit: a19c34627b8ee062ff3ee238f54cc4be8720e8dc
https://github.com/llvm/llvm-project/commit/a19c34627b8ee062ff3ee238f54cc4be8720e8dc
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
A libcxx/test/libcxx/strings/string.view/nodiscard.iterator.verify.cpp
Log Message:
-----------
[libc++][string_view] Test [[nodiscard]] applied to `basic_string_view::const_iterator` (#202203)
Adds test coverage.
`[[nodicard]]` applied in:
- https://github.com/llvm/llvm-project/pull/198489
- https://github.com/llvm/llvm-project/pull/198492
Towards #172124
Commit: 1c688221e0f0a737f34960babfef9d63f8709181
https://github.com/llvm/llvm-project/commit/1c688221e0f0a737f34960babfef9d63f8709181
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M lld/MachO/ExportTrie.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
Log Message:
-----------
[lld-macho] Replace unordered_{map,set} with Dense{Map,Set} (#202100)
DenseMap no longer uses in-band sentinel keys (#201281) and is superior
to unordered_map in these scenarios.
Commit: ed06da7cadc7d2ed2705d5bf43612ce8fc6582ed
https://github.com/llvm/llvm-project/commit/ed06da7cadc7d2ed2705d5bf43612ce8fc6582ed
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/.gitattributes
A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp.expected
A clang-tools-extra/test/clang-tidy/checkers/modernize/macro-to-enum-crlf.cpp
Log Message:
-----------
[clang-tidy] Preserve line endings in macro-to-enum fixes (#202054)
Use `StringRef::detectEOL()` when inserting enum braces so fix-its do
not mix LF into CRLF source files.
Closes https://github.com/llvm/llvm-project/issues/61593
Commit: 2abe68eaff1730336581507d4a3ec56d193439a7
https://github.com/llvm/llvm-project/commit/2abe68eaff1730336581507d4a3ec56d193439a7
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 36b3ffbae3bd (#202223)
Commit: 546990863259101175b2e7062770883abbd76cac
https://github.com/llvm/llvm-project/commit/546990863259101175b2e7062770883abbd76cac
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Windows/Common/BUILD.gn
Log Message:
-----------
[gn build] Port c4f2f2535438 (#202225)
Commit: ae35674951e4d20d45ed6202e641976c9c055f22
https://github.com/llvm/llvm-project/commit/ae35674951e4d20d45ed6202e641976c9c055f22
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Frontend/Offloading/BUILD.gn
Log Message:
-----------
[gn build] Port 8aafa50c7a2d (#202224)
Commit: 0672a177f71eb7e556c6c434425916e9b430fdac
https://github.com/llvm/llvm-project/commit/0672a177f71eb7e556c6c434425916e9b430fdac
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/single-scalar-cast.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/as_cast.ll
M llvm/test/Transforms/LoopVectorize/cast-costs.ll
M llvm/test/Transforms/LoopVectorize/cast-induction.ll
M llvm/test/Transforms/LoopVectorize/preserve-inbounds-gep-with-pointer-casts.ll
Log Message:
-----------
[VPlan] Use VPInstructionWithType for uniform casts. (#140623)
Use VPInstructionWithType instead of VPReplicate recipe for uniform
casts. This is a first step towards breaking up VPReplicateRecipe. Using
the general VPInstructionWithType has the additional benefit that we can
now apply a number of simplifications directly.
Depends on https://github.com/llvm/llvm-project/pull/140621
PR: https://github.com/llvm/llvm-project/pull/140623
Commit: 833d2418ffe9647b8a88f774208ec20c68805f73
https://github.com/llvm/llvm-project/commit/833d2418ffe9647b8a88f774208ec20c68805f73
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/ImmutableList.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/Attributes.h
Log Message:
-----------
[DenseMap] Canonicalize pointer hashes. NFC (#202226)
`(p>>4)^(p>>9)` does not mix the high bits of the address. Pointers from
one allocator grown across multiple slabs whose low-bit windows overlap
map to the same narrow bucket range, an issue fixed by #197390.
Fix by delegating to the canonical pointer hash.
Commit: 3fc92aeb55d5852dfb32ec0061e2b41c2424856c
https://github.com/llvm/llvm-project/commit/3fc92aeb55d5852dfb32ec0061e2b41c2424856c
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
[InstCombine][NFC] Use custom inserter for metadata (#202206)
Proactively getting metadata for every visited instruction is expensive.
Therefore, only store the current instruction and get the metadata only
when an instruction is actually inserted.
Commit: a8b57112df677b51bb66218972bed8b3703986e5
https://github.com/llvm/llvm-project/commit/a8b57112df677b51bb66218972bed8b3703986e5
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_masked_gather_scatter/single-element-vector-gep-no-extension.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_masked_gather_scatter/vector-of-pointers-gep-no-extension.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_masked_gather_scatter/vector-of-pointers-gep.ll
M llvm/test/CodeGen/SPIRV/pointers/getelementptr-vector-index.ll
Log Message:
-----------
[SPIR-V] Lower vector-typed GEPs with more than 1 element in SPIRVEmitIntrinsics (#197101)
Fix spirv-val concern in the IR from #186764 with vector-typed GEPs (`<N
x ptr>`) that were lowered to a single spv_gep intrinsic with a vector
return
```
error: line 54: The Result Type of OpPtrAccessChain <id> '...' must be OpTypePointer. Found OpTypeVector.
```
Resolves #186764
Commit: fd1f9225458aa5add79b1cc3039b98fd223d5dff
https://github.com/llvm/llvm-project/commit/fd1f9225458aa5add79b1cc3039b98fd223d5dff
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/instructions/extractvalue-aggregate-chain.ll
Log Message:
-----------
[SPIR-V] Rewrite extractvalue over aggregate spv_extractv result (#200065)
Chained extractvalue from an aggregate-returning call left raw IR over a
multi-register spv_extractv, crashing later in foldImm. Mutate the
producer to i32 and convert the user too
Commit: ec68f81078e155292349ee32d8cf926bd6d71eb3
https://github.com/llvm/llvm-project/commit/ec68f81078e155292349ee32d8cf926bd6d71eb3
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/NVPTX/variadics-lowering.ll
Log Message:
-----------
[NVPTX] pass variadics frame as local pointer (#201661)
Pass the pointer for variadics as a local (addrspace(5)) pointer. This
enables InferAddressSpace to convert loads of vaargs to local loads
(pipeline reordered to accomadate) and will also save a register in
short pointer mode. We leave vaListType as a generic pointer and cast
when expanding va_start to maintain backwards compatibility with IR
written expecting the va_list to be a generic pointer.
Commit: 3a522ff09cba85bb20275123b598d06408f9e21f
https://github.com/llvm/llvm-project/commit/3a522ff09cba85bb20275123b598d06408f9e21f
Author: owenca <owenpiano at gmail.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Followup cleanup after #199459 (#202104)
Commit: 49f12af164138123589263fe75ea5f1d356e8780
https://github.com/llvm/llvm-project/commit/49f12af164138123589263fe75ea5f1d356e8780
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-with-uniform-ops.ll
Log Message:
-----------
[VPlan] Only simplify ExtractLastLane of non-wide single-scalar. (#202234)
After 8e868c5, we may remove ExtractLastLane of a wide recipe that could
be single scalar but has not been narrowed. Limit to
VPInstruction/VPReplicateReceipe to fix crash in added test case.
Fixes https://github.com/llvm/llvm-project/issues/201582.
Commit: 47ef7495ad781b742a0c4435ca72590d297ba8bf
https://github.com/llvm/llvm-project/commit/47ef7495ad781b742a0c4435ca72590d297ba8bf
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M utils/bazel/configure.bzl
Log Message:
-----------
[Bazel] Mark llvm_configure reproducible (#202229)
Commit: 4931c71ceb313b6f817562f6345bc5d5399f015c
https://github.com/llvm/llvm-project/commit/4931c71ceb313b6f817562f6345bc5d5399f015c
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
Log Message:
-----------
[M68k] Fix -Wunused-variable (#202242)
Commit: 9b4b9de0319b63ff56dd157b1d12465f206681f6
https://github.com/llvm/llvm-project/commit/9b4b9de0319b63ff56dd157b1d12465f206681f6
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
Log Message:
-----------
[MRI] Avoid walking past all defs in hasOneUse() (#201249)
The use-def list is circular in the Prev direction (Head->Prev == Tail)
and defs always precede uses, see
MachineRegisterInfo::addRegOperandToUseList().
We can implement hasOneUse() by checking only the Tail and its Prev,
instead of
walking past all defs from the head via use_iterator.
Commit: a172bbc61a6e9da3b49a0169be1669439c9952cd
https://github.com/llvm/llvm-project/commit/a172bbc61a6e9da3b49a0169be1669439c9952cd
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/test/CodeGen/CSKY/atomic-rmw.ll
M llvm/test/CodeGen/CSKY/inline-asm-invalid.ll
M llvm/test/CodeGen/M68k/Atomics/rmw.ll
M llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/rmw.ll
Log Message:
-----------
[test] Regenerate CSKY/M68k codegen tests after atomic and error-message changes (#202244)
Fix tests after #195308 ([AtomicExpand] Preserve flags expanding
loads/stores to cmpxchg/atomicrmw) and ([CodeGen][NFC] Remove
contractions in error messages).
Commit: aec0da1e9455356a32ec797430794025628b4210
https://github.com/llvm/llvm-project/commit/aec0da1e9455356a32ec797430794025628b4210
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/utils/gdb-scripts/prettyprinters.py
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
[utils] Fix DenseMap debugger printers for the packed used-bit array (#201755)
DenseMap no longer use in-band sentinel keys. (#200595 and #201281).
Update the GDB pretty printer and LLDB data formatters to test the used
bit rather than comparing keys.
GDB: advancePastEmptyBuckets relied on DenseMapInfo::getEmptyKey(),
which could not be evaluated in GDB and so was disabled, leaving the printer
to emit empty and erased buckets. It now walks bucket indices and skips any
whose used bit is clear.
LLDB: DenseMapSynthetic used a key-uniqueness heuristic to guess which
buckets were live, which mishandled a lone erased bucket (hence the
former tombstones=1 summary note). It now reads the used array directly,
so erased entries are skipped exactly. NumTombstones no longer exists,
so drop it from the summary.
Written by Claude Opus 4.8
---------
Co-authored-by: Dave Lee <davelee.com at gmail.com>
Commit: 6a77c4f36b6c7b05ea33bf886af5829ce234765e
https://github.com/llvm/llvm-project/commit/6a77c4f36b6c7b05ea33bf886af5829ce234765e
Author: mygitljf <101249452+mygitljf at users.noreply.github.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/altera/id-dependent-backward-branch.cpp
Log Message:
-----------
[clang-tidy] Fix inferred field note location (#202105)
Fixed the misleading note location for inferred ID-dependent fields.
Now the note points to the assignment that introduces the dependency,
not the field declaration.
Fixes #202077
Commit: cc52760a990f45f24def4e8b10bb031e06b5127c
https://github.com/llvm/llvm-project/commit/cc52760a990f45f24def4e8b10bb031e06b5127c
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/.gitattributes
R clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp
R clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp.expected
R clang-tools-extra/test/clang-tidy/checkers/modernize/macro-to-enum-crlf.cpp
Log Message:
-----------
Revert "[clang-tidy] Preserve line endings in macro-to-enum fixes" (#202247)
This commit encountered PCH related errors on buildbot, so revert it for
now.
Commit: b4f5ae234c6d77dad1e116e58bdce9f49576ebb5
https://github.com/llvm/llvm-project/commit/b4f5ae234c6d77dad1e116e58bdce9f49576ebb5
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M runtimes/CMakeLists.txt
Log Message:
-----------
[Runtimes][CMake] Fix llvm package not found when -DLLVM_LIBDIR_SUFFIX=64 is specified (#201822)
The issue is exposed in #201773, where LLVM_FOUND is 0 in libclc in
in-tree build.
Commit: 4e3a20906338eaa54e27dd20e4d83740f9988622
https://github.com/llvm/llvm-project/commit/4e3a20906338eaa54e27dd20e4d83740f9988622
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M .github/workflows/libclang-python-tests.yml
Log Message:
-----------
[libclang/python] Upgrade latest Python version in CI to 3.14 (#202241)
As pointed out in
https://discourse.llvm.org/t/libclang-python-binding-tests-seem-inefficient/90984/3,
the latest Python version currently used in the bindings tests is not
the latest stable version.
Upgrade to the latest stable Python version (3.14), see here:
https://devguide.python.org/versions/
Commit: 9a11e0f356248d54020ee179e53f39683e69d2e1
https://github.com/llvm/llvm-project/commit/9a11e0f356248d54020ee179e53f39683e69d2e1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M .github/workflows/libclang-python-tests.yml
Log Message:
-----------
[Github] Drop persist-credentials from setup-python (#202254)
bd46a7d172661d4477737a65b107bf40782c7e40 attempted to do this but
accidentally modified the setup-python action instead of the checkout
action. bde6226911f6a95daf71bbc468046dbe53f8f92b fixed this partially by
adding persist-credentials to the checkout action, but failed to remove
the errant addition. This patch fixes that.
Commit: 57d94c90ec4d69d8d5a6a755ad40155b01531ed1
https://github.com/llvm/llvm-project/commit/57d94c90ec4d69d8d5a6a755ad40155b01531ed1
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
Log Message:
-----------
[GlobalISel] Add a shared matcher for memcpy-family instructions (NFC) (#201766)
This is a precursor to adding TableGen patterns for these combines so
the handwritten C++ handling can be removed from prelegalizer combiners.
There's a fair bit of code movement, but it should be NFC.
findGISelOptimalMemOpLowering is unchanged.
Assisted-by: codex
Commit: b3df0665148b170925042411df9cf630efd53071
https://github.com/llvm/llvm-project/commit/b3df0665148b170925042411df9cf630efd53071
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/docs/AMDGPUMemoryModel.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
A llvm/test/CodeGen/AMDGPU/memory-legalizer-av-none.ll
A llvm/test/CodeGen/AMDGPU/memory-legalizer-av-unknown.ll
Log Message:
-----------
[AMDGPU] Implement "non-av" semantics using metadata (#199489)
When the MMRA tag !{!"amdgcn-av", !"none"} is present on a
synchronization operation (fence, atomic load/store/rmw/cmpxchg),
suppress cache writeback (MakeAvailable) and cache invalidation
(MakeVisible) while preserving memory ordering (waits). This implements
the metadata proposed in #191246.
Part of a stack:
- #199486
- #199621
- #199489
- #199622
Fixes: LCOMPILER-2214
Assisted-By: Claude Opus 4.6
---------
Co-authored-by: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Commit: 5fa014f591e02e9592d1150b936c31b9018893e2
https://github.com/llvm/llvm-project/commit/5fa014f591e02e9592d1150b936c31b9018893e2
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M libc/docs/dev/implementation_standard.rst
Log Message:
-----------
[libc/docs] Add a quick note about LLVM_LIBC_VARIABLE (#201556)
Commit: 08f82c40fb691a1df3a61e1e7adb8ddc498fe38f
https://github.com/llvm/llvm-project/commit/08f82c40fb691a1df3a61e1e7adb8ddc498fe38f
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M libc/src/unistd/CMakeLists.txt
M libc/src/unistd/environ.cpp
M libc/src/unistd/environ.h
M libc/src/unistd/getopt.cpp
M libc/src/unistd/getopt.h
Log Message:
-----------
[libc] Convert environ and getopt variables to use LLVM_LIBC_VARIABLE (#201551)
This brings them in line with how other standard global variables like
stdin/stdout/stderr are managed.
Assisted by Gemini.
Commit: 7c86e6dc72868740cd353542e6ae273d5cd7507f
https://github.com/llvm/llvm-project/commit/7c86e6dc72868740cd353542e6ae273d5cd7507f
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_t_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_v_t.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vtmv_t_v.c
Log Message:
-----------
[RISCV] Support sf_vtmv OFP8 intrinsics (#201598)
This patch supports OFP8 type vtmv_v_t and vtmv_t_v intrinsics which
were missing back then since there's no OFP8 vector types.
Commit: d1cbede06860efefdef36de926004edb13fa3228
https://github.com/llvm/llvm-project/commit/d1cbede06860efefdef36de926004edb13fa3228
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map_info.h
M compiler-rt/lib/sanitizer_common/sanitizer_lzw.h
M compiler-rt/lib/sanitizer_common/tests/sanitizer_dense_map_test.cpp
Log Message:
-----------
[sanitizer_common] DenseMap: replace tombstone deletion with TAOCP 6.4 Algorithm R (#202231)
sanitizer_dense_map.h is a fork of llvm/ADT/DenseMap.h, which uses
quadratic probing with lazy deletion: an erased entry becomes a
tombstone, a third bucket state alongside empty and live that every
find/insert must inspect.
Port the upstream #200595 and getTombstoneKey() removal.
Aided by Claude Opus 4.8
Commit: 2b40c303e79f64c5c7642032554eda026594d604
https://github.com/llvm/llvm-project/commit/2b40c303e79f64c5c7642032554eda026594d604
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Diagnose negative AllocCN element counts (#202108)
Just like we do in AllocN.
Commit: 2de2edb943fe1b83d79bdffa03606eb8c5452e9b
https://github.com/llvm/llvm-project/commit/2de2edb943fe1b83d79bdffa03606eb8c5452e9b
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
Log Message:
-----------
Revert "[GlobalISel] Add a shared matcher for memcpy-family instructions (NFC)" (#202275)
broke sanitizer-aarch64-linux-bootstrap-ubsan:
https://lab.llvm.org/buildbot/#/builders/85/builds/22356
reverting while I fix
Reverts llvm/llvm-project#201766
Commit: 7893defd8b56e70ebad4eaf79a1f14caf4a9d1d1
https://github.com/llvm/llvm-project/commit/7893defd8b56e70ebad4eaf79a1f14caf4a9d1d1
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/Loads.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
Log Message:
-----------
[Loads] Always pass down context in isSafeToLoadUnconditionally() (#201833)
There is context-sensitive reasoning we can perform without a dominator
tree -- it doesn't make sense to drop the context instruction just
because there is no DT.
Also handle the case where the start instruction and the context
instruction are the same in willNotFreeBetween(). In that case we want
the function return true, not false.
Commit: 0db5d27170ba624b1b409cc68a1868023b4c41ef
https://github.com/llvm/llvm-project/commit/0db5d27170ba624b1b409cc68a1868023b4c41ef
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-access-wide-stride.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses-narrow-iv.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
Log Message:
-----------
[LV] Use index type for base pointer computation in convertToStridedAccesses (#201070)
The base pointer for strided accesses was computed as:
```
offset = canonicalIV * stride
base_ptr = ptradd start, offset
```
On a 64-bit target, if the canonical IV type is i32, the GEP operation
for ptradd will first sign-extend the offset to i64. Once the offset
multiplication has already overflowed in i32, it will ultimately result
in an incorrect base address.
This patch fixes this by extending the canonical IV to the index type
before the offset multiplication.
Based on #199647
Fixes #199640
Commit: bb088f7e1a23648b56bdd91212d468f66644f94b
https://github.com/llvm/llvm-project/commit/bb088f7e1a23648b56bdd91212d468f66644f94b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M libcxx/include/__stop_token/atomic_unique_lock.h
M libcxx/include/__stop_token/intrusive_shared_ptr.h
M libcxx/include/__stop_token/stop_state.h
M libcxx/include/condition_variable
M libcxx/include/stop_token
M libcxx/include/thread
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++] Remove <atomic> includes from <stop_token> (#201710)
Commit: 45d5d5669e1f9bd4bd1a2032e64a001500096e3f
https://github.com/llvm/llvm-project/commit/45d5d5669e1f9bd4bd1a2032e64a001500096e3f
Author: Meow <259395 at student.pwr.edu.pl>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
A llvm/test/tools/llvm-ar/count-case-sensitivity-windows.test
A llvm/test/tools/llvm-ar/count-case-sensitivity.test
M llvm/tools/llvm-ar/llvm-ar.cpp
Log Message:
-----------
[llvm-ar] fix inconsistent case sensitivity for path matching on Windows (#196541)
When deleting or extracting with -N, member counting uses case sensitive
member arguments while path matching uses normalized paths.
This causes an issue (on Windows): if you have files: foo.txt and
FOO.txt, you can only extract one of them when using -N 1, and using -N
2 results in error.
Commit: 917117ceeebf004dff4b0b430de133c354f236ba
https://github.com/llvm/llvm-project/commit/917117ceeebf004dff4b0b430de133c354f236ba
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/trunc-nonstd-bitwidth.ll
Log Message:
-----------
[SPIR-V] Add vector type support for non-standard integers in G_TRUNC op (#198213)
Commit: da17c1ca11a490e1c54c49868a38c5f5c994b947
https://github.com/llvm/llvm-project/commit/da17c1ca11a490e1c54c49868a38c5f5c994b947
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M flang/cmake/modules/FlangCommon.cmake
Log Message:
-----------
[Flang][CMake] Add missing CMakePushCheckState for standalone build (#202285)
Needed for the functions cmake_push_check_state/cmake_pop_check_state.
The corresponding include command was missing for flang-standalone
builds.
Commit: 331569d4179012955a0922516cebf314af677913
https://github.com/llvm/llvm-project/commit/331569d4179012955a0922516cebf314af677913
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Convert math.cbrt to OpenCL cbrt (#201915)
Commit: 6818ad463b5af19ecfb878a71d829c2f0e4f7f19
https://github.com/llvm/llvm-project/commit/6818ad463b5af19ecfb878a71d829c2f0e4f7f19
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Convert math.erfc to OpenCL erfc (#201907)
Commit: 23c72ca8a46d06e9ab6c613b4cd63c5341e4cea6
https://github.com/llvm/llvm-project/commit/23c72ca8a46d06e9ab6c613b4cd63c5341e4cea6
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
M mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Convert math.sincos to SPIR-V sin/cos ops (#201926)
Commit: c61fd0cf42352468b5e433e91a6b9a40530f9e94
https://github.com/llvm/llvm-project/commit/c61fd0cf42352468b5e433e91a6b9a40530f9e94
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for v_pk_add/mul_f32 (#202074)
Commit: eae020b0e8f29071fd1eb192aac6d658d90874fe
https://github.com/llvm/llvm-project/commit/eae020b0e8f29071fd1eb192aac6d658d90874fe
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/minmaxabs-i64.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for 64 bit s_min/max and u_min/max (#202076)
Commit: c9e84a7284b601df7fc3c5b90e5b02007c491b00
https://github.com/llvm/llvm-project/commit/c9e84a7284b601df7fc3c5b90e5b02007c491b00
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-transpose.ll
Log Message:
-----------
[SPIR-V] Lower 1xN/Nx1 matrix transpose to a copy (#201332)
Remove extra `OpVectorShuffle` while lowering trivial matrix transpose that is in fact basically a reshape
Commit: a08dce6881f64158a9ccb91216ec57ac6570bc8c
https://github.com/llvm/llvm-project/commit/a08dce6881f64158a9ccb91216ec57ac6570bc8c
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
A llvm/unittests/Target/AArch64/AArch64CacheLineSizeTest.cpp
M llvm/unittests/Target/AArch64/CMakeLists.txt
Log Message:
-----------
[AArch64] Set the default cache line size to 64 bytes. (#200776)
This should be set to enable more precise interchange in the future, for
instance.
Commit: a63fbe8abc068f06de30b5c90d28856292aad3b3
https://github.com/llvm/llvm-project/commit/a63fbe8abc068f06de30b5c90d28856292aad3b3
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-spills.ll
Log Message:
-----------
[LV][NFC] Fix mve-reg-pressure-spills.ll test (#202291)
Commit: c2df14973f7f51abfe284641125abe02b3bd374c
https://github.com/llvm/llvm-project/commit/c2df14973f7f51abfe284641125abe02b3bd374c
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/StringMap.h
M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
M llvm/include/llvm/ProfileData/HashKeyMap.h
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ADT/StringMapTest.cpp
Log Message:
-----------
[StringMap] Add remove_if and use it for erase-while-iterating (#202272)
Add a `remove_if` member to StringMap (and to HashKeyMap, the base of
SampleProfileMap) as a replacement for the erase-while-iterating idiom,
and convert the two in-tree users: SymbolStringPool::clearDeadEntries
and llvm-profdata's filterFunctions (a template over StringMap and
SampleProfileMap).
Extracted from #202237 - making StringMap's mutation invalidates
iterators
so that we can remove the tombstone state.
Aided by Claude Opus 4.8
Commit: 70447b4b7e6e4e141b8936287ba159d6ce75a2b2
https://github.com/llvm/llvm-project/commit/70447b4b7e6e4e141b8936287ba159d6ce75a2b2
Author: Jan André Reuter <j.reuter at fz-juelich.de>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M offload/test/ompt/callbacks.h
M offload/test/ompt/register_both.h
M offload/test/ompt/register_emi.h
M offload/test/ompt/register_emi_map.h
M offload/test/ompt/register_no_device_init.h
M offload/test/ompt/register_non_emi.h
M offload/test/ompt/register_non_emi_map.h
M offload/test/ompt/register_wrong_return.h
Log Message:
-----------
[NFC][OMPT] Use `unique_id` entry point for tests (#202228)
The OMPT tests currently use an incrementing ID for the host_op_id.
However, this value is not incremented for `submit_emi` callbacks, and
uses a global integer that is incremented on callback invocation. This
can lead to race conditions when e.g., `target nowait` is used.
Hence, replace the global integer by the `unique_id` entry point,
properly yielding unique and thread-safe IDs.
Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>
Commit: c563635ab70e44216aef28b3b89918eb7a23595c
https://github.com/llvm/llvm-project/commit/c563635ab70e44216aef28b3b89918eb7a23595c
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/test/API/lit.cfg.py
A lldb/test/API/macosx/simulator/lit.local.cfg
R lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
A lldb/test/API/tools/lldb-server/apple-simulator/Makefile
A lldb/test/API/tools/lldb-server/apple-simulator/TestAppleSimulatorOSType.py
A lldb/test/API/tools/lldb-server/apple-simulator/lit.local.cfg
A lldb/test/API/tools/lldb-server/apple-simulator/main.cpp
Log Message:
-----------
[lldb][test] Don't run simulator tests in parallel to stabilize them (#201870)
TestSimulatorPlatform is a notoriously flaky test on macOS. However, it
seems the test failures only happen when its exectuion overlaps with the
execution of TestAppleSimulatorOSType.py (which also interacts with the
simulator). Somehow one simulator test seems to break the other one, but
it's not exactly clear how they are inteferring with each other.
This patch ensures these two tests never run in parallel to avoid these
kind of issues. It creates a parallelism_group in lit for
apple-simulator and then puts both tests into that group.
TestAppleSimulatorOSType.py had to be moved to its own directory for
this. It shared its directory with a a lot of other unrelated tests and
the lit config applies to the whole directory.
Commit: d5fe431c28085692bcb37620cc351e8c84435e0e
https://github.com/llvm/llvm-project/commit/d5fe431c28085692bcb37620cc351e8c84435e0e
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
Log Message:
-----------
[lldb][test] Don't hardcode line numbers in DAP_breakpointLocations (#201820)
Otherwise the test needs to be adjusted for every minor format change.
Commit: 786c67f26d2caa887646b5bb2020336c56b3ca73
https://github.com/llvm/llvm-project/commit/786c67f26d2caa887646b5bb2020336c56b3ca73
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/include/lldb/Core/Address.h
M lldb/include/lldb/Core/AddressRange.h
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Symbol/LineTable.h
M lldb/include/lldb/Utility/ConstString.h
Log Message:
-----------
[lldb] Add size checks for frequently allocated classes (#200939)
Given how frequently we allocate these classes (or classes containing
these classes) on the heap, we should only grow them intentionally.
See also bd1b3d47462acf4f854f593bdd77b3f127adea46
Commit: e9f292cef075da614125721bb9fa542e2db8a192
https://github.com/llvm/llvm-project/commit/e9f292cef075da614125721bb9fa542e2db8a192
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/test/API/lit.cfg.py
Log Message:
-----------
[lldb][test] Don't print LLDB version in every test (#201307)
An empty minimal API test currently runs for 330ms on my macOS system.
Of these 330ms, we spend 70ms (20%) just to print the lldb version
number at the start of each test.
This patch disables this behavior by default and instead prints the LLDB
version number once at the start of the LIT test suite. This saves about
2 minutes of CPU time in an LLDB test suite run.
Commit: ef7ef3663f13b54642f0e09935926ae9d74258ba
https://github.com/llvm/llvm-project/commit/ef7ef3663f13b54642f0e09935926ae9d74258ba
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
M lldb/test/API/python_api/global_module_cache/one-print.c
M lldb/test/API/python_api/global_module_cache/two-print.c
Log Message:
-----------
[lldb][test] Speed up TestGlobalModuleCache.py (#201561)
This patch reduces the runtime of TestGlobalModuleCache from 27s to
3-4s. There are three reasons for why the old test was slow:
* We did a sleep for 2s to ensure the source code file had a newer time
stamp and Make would rebuild the project. Instead, we now just age all
times on disk by 10s into the past to do the same thing. I'm not sure
how many other tests need to do this, but introducing a utility method
for forced in-place rebuild would be a good follow up.
* We additionally slept even for the first initial build, which wasn't
needed as there is nothing to rebuild.
* I removed some of the system includes in the source files which are
also not needed.
Commit: 60dd90f3047bc1e0d727696b802da8fabd349dfc
https://github.com/llvm/llvm-project/commit/60dd90f3047bc1e0d727696b802da8fabd349dfc
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
M lldb/test/API/functionalities/postmortem/elf-core/altmain.core
M lldb/test/API/functionalities/postmortem/elf-core/altmain.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-neon.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-pac.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-pac.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-sve-fpsimd.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-sve-full.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-fpr_sse_i386.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-fpr_sse_x86_64.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-i386.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-i386.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-loongarch64.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-loongarch64.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-ppc64le.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_fpr.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_fpr.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_only.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_only.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-s390x.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-x86_64.out
M lldb/test/API/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV.amd64
M lldb/test/API/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV.amd64.core
M lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_process_SIGSEGV.amd64
M lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_process_SIGSEGV.amd64.core
M lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.amd64
M lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.amd64.core
Log Message:
-----------
[lldb][test] Remove home dir paths from core files used in tests (#201630)
Most of our core files contain paths to the source files that were used
to generate the core file. LLDB probes the existence of these source
files when it sees them in the core file, which on its own is not
problematic as that's usually quite cheap.
Unfortunately, the paths used in most core file tests are in the form of
/home/XYZ/test.c which does not exist on macOS. On some macOS machines
with network drives, these file accesses cause the kernel to perform
some kind of network request which is extremely slow.
The result is that the tests that inspect these core files run extremely
slow on macOS. For example, the TestNetBSDCore.py and TestLinuxCore.py
tests spend 95% of their runtime just probing these network paths. In
the case of TestLinuxCore.py, this causes the test to run for about 1
minute where only 3.7s are actual test logic.
This patch removes all /home/* paths from our core files and replaces
them with /tmp/* variations. To keep the actual binary diff minimal, I
padded the paths with zeroes, so this patch effectively just sets some
of the bits of the core fiiles to 0 and replaces /home/ with /tmp/.
Commit: cf4f3340ba062cdb3ce95c4a600c61bec2862c5c
https://github.com/llvm/llvm-project/commit/cf4f3340ba062cdb3ce95c4a600c61bec2862c5c
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M flang-rt/lib/runtime/iso_c_binding.f90
M flang/docs/Extensions.md
M flang/lib/Evaluate/type.cpp
A flang/test/Semantics/bind-c-real2.f90
M flang/test/Semantics/bind-c06.f90
Log Message:
-----------
[flang][flang-rt] Treat REAL(2)/COMPLEX(2) as C-interoperable types (#201888)
IEEE-754 binary16 ("half") maps cleanly to the C `_Float16` type
(ISO/IEC TS 18661-3), but flang previously rejected `REAL(KIND=2)` and
`COMPLEX(KIND=2)` in C-interoperable contexts. Make `REAL(KIND=2)` and
`COMPLEX(KIND=2)` into actual interoperable types.
`ISO_C_BINDING` now exports the gfortran-compatible named constants
`c_float16` and `c_float16_complex` (both value 2), the kind parameter
for the half-precision C interoperable types.
Assisted-by: AI
Commit: 2bd098b819c19ccca082ebdc7042211bd68cb3b1
https://github.com/llvm/llvm-project/commit/2bd098b819c19ccca082ebdc7042211bd68cb3b1
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Analysis/ProgramPoint.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ProgramPoint.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/Analysis/lifetime-end-simple-cfg-output.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/CheckLifetimeEndTest.cpp
M clang/unittests/StaticAnalyzer/CheckerRegistration.h
Log Message:
-----------
[analyzer] Trigger checkLifetimeEnd callback from CFGLifetimeEnds element
This patch adds handling of the `CFGLifetimeEnd` element to the CSA, and
produces a newly created callback `checkLifetimeEnd` for each occurrence
of it.
It is useful to implement detection of dangling pointers as in:
```
void su_use_after_block () { int* p=0; { int x=1; p=&x; } *p = 2; }
// ^ p dangles
```
This patch does not implement the check itself. it is motivated by the
discussion in
https://discourse.llvm.org/t/what-is-the-status-of-scopeend-and-scopebegin/90861
--
upstreamed part of CPP-4539
---------
Co-authored-by: tomasz-kaminski-sonarsource <tomasz.kaminski at sonarsource.com>
Commit: dab2bdb974f24553bbf69b106cbeb59dcc5af5d2
https://github.com/llvm/llvm-project/commit/dab2bdb974f24553bbf69b106cbeb59dcc5af5d2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] Fix doc build by adding missing `-dialect=` (#202313)
Commit: c1c0fb32ddbe4a4aa596e16e27f36c879a643af9
https://github.com/llvm/llvm-project/commit/c1c0fb32ddbe4a4aa596e16e27f36c879a643af9
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2026-06-08 (Mon, 08 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:
-----------
Revert "[BOLT][AArch64] Transform cmpbr ~> cmp + br when inversion not possible (#185731)" (#202309)
This reverts commit 6b13656fd8386f979e061cc97e32b607ee3fcdf4.
We have identified various bugs hence reverting:
* relaxLocalBranches() should account for BB growth and adjust subsequent BB offsets in fragment
* multiple parallel workers are sharing the same allocator in DataflowInfoManager
* liveness is run lazily, potentially after the CFG has been modified
Commit: 2e34b799749fd8c8446a3d27eee4317e78441d3c
https://github.com/llvm/llvm-project/commit/2e34b799749fd8c8446a3d27eee4317e78441d3c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
A clang/test/AST/ByteCode/switch-case-steps.cpp
Log Message:
-----------
[clang][bytecode] Only count taken jumps as steps (#201845)
There are several large array declarations in llvm-libc. They usually
look similar to this:
```c++
alignas(16) inline constexpr LogRR LOG_TABLE = {
{
{Sign::POS, 0, 0_u128},
{Sign::POS, -134, 0x8080abac'46f38946'662d417c'ed007a46_u128},
{Sign::POS, -133, 0x8102b2c4'9ac23a4f'91d082dc'e3ddcd38_u128},
{Sign::POS, -133, 0xc2492946'4655f45c'da5f3cc0'b3251dbd_u128},
{Sign::POS, -132, 0x820aec4f'3a222380'b9e3aea6'c444ef07_u128},
// ...
```
the `_u128` is a user-defined literal, so the hex constant to the left
of it is actually a `StringLiteral` and the UDL converts that to a
different type by iterating over all chars. It calls one function per
char, and that function contains the usual switch statement over all
ASCII characters.
This was problematic with the bytecode interpreter. Support for
`-fconstexpr-steps` is implemented by counting the amount of jumps, but
switch statements are implemented by comparing the switch condition to
all case values and jumping to the case body if the two values match.
This caused the amount of steps to increase rapidly as we were _also_
counting jumps we didn't take.
This commit changes this to only count the jumps we take.
The attached test case uses roughly 4'000 steps in the current
interpreter but used to use over 8'000 with the bytecode interpreter. It
now only uses 400 in the bytecode interpreter (which might be too low
again but anyway).
This fixes compiling llvm with the bytecode interpreter.
Commit: 0c57db633d6ae411e42b8aa53f328a785e258653
https://github.com/llvm/llvm-project/commit/0c57db633d6ae411e42b8aa53f328a785e258653
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
A clang/test/AST/ByteCode/libcxx/getfield-nonrecord.cpp
Log Message:
-----------
[clang][bytecode] Reject GetField{,Pop} ops on non-records (#202260)
Similar to what we do in GetPtrField{,Pop}.
Commit: 82333f7cfa553133999f4678e79215210d4b19fc
https://github.com/llvm/llvm-project/commit/82333f7cfa553133999f4678e79215210d4b19fc
Author: satyanarayana reddy janga <satyajanga at fb.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
A lldb/test/API/accelerator/mock/TestMockAcceleratorBreakpoints.py
M lldb/test/API/accelerator/mock/TestMockAcceleratorPlugin.py
M lldb/test/API/accelerator/mock/main.c
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.cpp
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.h
Log Message:
-----------
[lldb] Handle accelerator plugin breakpoint actions on the client (#201489)
Wire up the client (ProcessGDBRemote) side of the accelerator plugin
breakpoint protocol so the breakpoints requested by lldb-server
accelerator plugins are actually set, hit, and acted upon.
The below is a related packet sequence from the test could help to
better see things in action.
```
python3.12 < 104> send packet: $qSupported:xmlRegisters=i386,arm,mips,arc;multiprocess+;fork-events+;vfork-events+;swbreak+;hwbreak+#cd
python3.12 < 299> read packet: $PacketSize=131072;QStartNoAckMode+;qEcho+;native-signals+;QThreadSuffixSupported+;QListThreadsInStopReply+;qXfer:features:read+;QNonStop+;jMultiBreakpoint+;QPassSignals+;qXfer:auxv:read+;qXfer:libraries-svr4:read+;qXfer:siginfo:read+;accelerator-plugins+;multiprocess+;fork-events+;vfork-events+#86
python3.12 < 32> send packet: $jAcceleratorPluginInitialize#50
python3.12 < 238> read packet: $[{"breakpoints":[{"by_address":null,"by_name":{"function_name":"mock_gpu_accelerator_initialize","shlib":null}],"identifier":1,"symbol_names":["mock_gpu_accelerator_compute"]}]],"identifier":1,"plugin_name":"mock","session_name":""}]]#2f
python3.12 < 104> send packet: $qSupported:xmlRegisters=i386,arm,mips,arc;multiprocess+;fork-events+;vfork-events+;swbreak+;hwbreak+#cd
python3.12 < 299> read packet: $PacketSize=131072;QStartNoAckMode+;qEcho+;native-signals+;QThreadSuffixSupported+;QListThreadsInStopReply+;qXfer:features:read+;QNonStop+;jMultiBreakpoint+;QPassSignals+;qXfer:auxv:read+;qXfer:libraries-svr4:read+;qXfer:siginfo:read+;accelerator-plugins+;multiprocess+;fork-events+;vfork-events+#86
intern-state < 314> send packet: $jAcceleratorPluginBreakpointHit:{"breakpoint":{"by_address":null,"by_name":{"function_name":"mock_gpu_accelerator_initialize","shlib":null}],"identifier":1,"symbol_names":["mock_gpu_accelerator_compute"]}],"plugin_name":"mock","symbol_values":[{"name":"mock_gpu_accelerator_compute","value":94768064848192}]]}]#ef
intern-state < 360> read packet: ${"actions":{"breakpoints":[{"by_address":null,"by_name":{"function_name":"mock_gpu_accelerator_finish","shlib":"a.out"}],"identifier":3,"symbol_names":[]}],{"by_address":{"load_address":94768064848192}],"by_name":null,"identifier":2,"symbol_names":[]}]],"identifier":2,"plugin_name":"mock","session_name":""}],"auto_resume_native":false,"disable_bp":true}]#44
intern-state < 188> send packet: $jAcceleratorPluginBreakpointHit:{"breakpoint":{"by_address":{"load_address":94768064848192}],"by_name":null,"identifier":2,"symbol_names":[]}],"plugin_name":"mock","symbol_values":[]}]#fd
intern-state < 220> send packet: $jAcceleratorPluginBreakpointHit:{"breakpoint":{"by_address":null,"by_name":{"function_name":"mock_gpu_accelerator_finish","shlib":"a.out"}],"identifier":3,"symbol_names":[]}],"plugin_name":"mock","symbol_values":[]}]#d7
satyajanga at devgpu011:llvm-project (accelerator-plugin-handle-actions)$
```
Code changes:
- GDBRemoteCommunicationClient learns the "accelerator-plugins+" feature
from qSupported and gains GetAcceleratorInitializeActions() and
AcceleratorBreakpointHit() to drive the jAcceleratorPluginInitialize and
jAcceleratorPluginBreakpointHit packets.
- ProcessGDBRemote::HandleAcceleratorActions() sets the requested
breakpoints as internal breakpoints with a synchronous callback. When a
callback fires it resolves any requested symbol values, notifies the
plugin, disables the breakpoint and/or auto-resumes the native process
per the response, and handles any further actions (e.g. new breakpoints)
the plugin returns. Initial actions are fetched in DidLaunchOrAttach.
- The mock accelerator plugin now sets its initialize breakpoint on a
dedicated "accelerator_initialize" hook (rather than "main") so it only
affects this test's inferior, and exercises all three breakpoint types:
by name, by name scoped to a shared library, and by address.
- Add an end-to-end API test that launches a real process and verifies
the breakpoints are set, hit, and chained, plus updated packet-level
coverage.
Commit: d4509810cef2b83848eedca2ba8561db4afafedb
https://github.com/llvm/llvm-project/commit/d4509810cef2b83848eedca2ba8561db4afafedb
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/inline-asm.mir
Log Message:
-----------
AMDGPU/UniformityAnalysis: Test MIR uniformity analysis for INLINEASM (#201956)
Resolves to always uniform at the moment.
Commit: 3b15d851b9f15b088b5a903aa8672f65c9ec06f8
https://github.com/llvm/llvm-project/commit/3b15d851b9f15b088b5a903aa8672f65c9ec06f8
Author: Rishabh <rbali at qti.qualcomm.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Object/ELFObjectFile.cpp
A llvm/test/MC/Hexagon/hexagon_attribues_arch.s
Log Message:
-----------
[Hexagon] Fix arch attribute mapping in ELFObjectFile (#201531)
hexagonAttrToFeatureString in ELFObjectFile.cpp used a hardcoded switch
listing each supported Hexagon arch version. The switch was not kept in
sync, so .hexagon.attributes entries for newer versions returned
std::nullopt and were silently dropped. The disassembler then ran
without v68 enabled and valid instructions were rendered as <unknown> in
llvm-objdump output.
Replace the switch with `"v" + utostr(Attr)` so any current or future
arch version recorded in build attributes is translated to a subtarget
feature string automatically.
Fixes #201594
Signed-off-by: Rishabh Bali <rbali at qti.qualcomm.com>
Co-authored-by: Rishabh Bali <rbali at hu-rbali-hyd.qualcomm.com>
Commit: 3c49429089efff48e3e1fce53682e6a954ee4cbd
https://github.com/llvm/llvm-project/commit/3c49429089efff48e3e1fce53682e6a954ee4cbd
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk16.gfx1250.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx1250.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk16.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for cvt_scale intrinsics (#202075)
Commit: 83be200f418f8581f30415b0315d105965a63727
https://github.com/llvm/llvm-project/commit/83be200f418f8581f30415b0315d105965a63727
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/include/lldb/Host/common/NativeThreadProtocol.h
M lldb/source/Plugins/Process/FreeBSD/NativeThreadFreeBSD.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeThreadFreeBSD.h
M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
M lldb/source/Plugins/Process/Linux/NativeThreadLinux.h
M lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp
M lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.h
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.h
Log Message:
-----------
[NFC][lldb] move m_stop_info and m_stop_description up a class (#201858)
Now that Windows also clears stale thread info on resume
(https://github.com/llvm/llvm-project/pull/201595), `m_stop_description`
and `m_stop_info` can be moved into `NativeThreadProtocol`.
rdar://178725507
Commit: 300b2a53feb97fb0d52e8ff91d20347d195aea73
https://github.com/llvm/llvm-project/commit/300b2a53feb97fb0d52e8ff91d20347d195aea73
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py
M lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py
M lldb/test/API/functionalities/thread/state/TestThreadStates.py
Log Message:
-----------
[lldb][gdb-remote] Mark thread as stopped in RefreshStateAfterStop (#201605)
Commit: ff30f94035b465503b94dd807ca41a4adb8c85ec
https://github.com/llvm/llvm-project/commit/ff30f94035b465503b94dd807ca41a4adb8c85ec
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb][gdb-remote] Plumb interrupt_timeout through SendStdinNotification (#201884)
Commit: d9012b6f605589ceb81b75298cda0bd38d309d81
https://github.com/llvm/llvm-project/commit/d9012b6f605589ceb81b75298cda0bd38d309d81
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
Log Message:
-----------
[AMDGPU] Cache results in a bitvector for VOPDPairingMutation (#201837)
With this change the code no longer checks `(I, J)` pair when it is
known that `(_, J)` is not a valid VOPD instruction. The saving is
achieved by precomputing `(_, Y)` into a bitvector, that is also used by
`(_, I)` check, so the `(_, J)` check is "free".
---------
Co-authored-by: Antonio Carpio <antonio.carpio at amd.com>
Commit: a90d69088142417ce0db7241ddc7952a7a1e1654
https://github.com/llvm/llvm-project/commit/a90d69088142417ce0db7241ddc7952a7a1e1654
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
Log Message:
-----------
[LLDB][NFC] Move logging from GDBRemoteCommunication::CheckForPacket into a helper function (#201526)
This was a lot of the code in the middle of core logic.
Commit: cc81d46beef87d836f298ae378b67965402833df
https://github.com/llvm/llvm-project/commit/cc81d46beef87d836f298ae378b67965402833df
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
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] Add -global-isel runlines to ZCZ tests(NFC) (#200797)
ZCZ lowering relies on ISel (for FPR - pseudo instruction pattern
matching, for GPR - canonical form pattern matching). This patch adds a
representative -global-isel runlines to catch possible regressions,
though these are not very likely because both selectors should share the
patterns.
Commit: aeb1a462a02c48b61faa3d0af5f505dec00b0b4e
https://github.com/llvm/llvm-project/commit/aeb1a462a02c48b61faa3d0af5f505dec00b0b4e
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/inline-asm.mir
Log Message:
-----------
AMDGPU/UniformityAnalysis: MIR Uniformity analysis for INLINEASM (#201874)
If any of the defs are divergent, need to report instruction as
NeverUniform so that isUniformReg can calculate uniformity for each def.
Commit: 2fc3aec9fbab95a537f3fef381ec44928d76cfc8
https://github.com/llvm/llvm-project/commit/2fc3aec9fbab95a537f3fef381ec44928d76cfc8
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
A llvm/test/CodeGen/DirectX/DebugInfo/dbg-declare-undef.ll
A llvm/test/CodeGen/DirectX/DebugInfo/dbg-value.ll
A llvm/test/CodeGen/DirectX/DebugInfo/debug-info.ll
A llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit.ll
A llvm/test/CodeGen/DirectX/DebugInfo/di-label.ll
A llvm/test/CodeGen/DirectX/DebugInfo/di-subrangetype.ll
Log Message:
-----------
[DirectX] Add more CodeGen tests (#201714)
These tests were left out of the initial PRs that added the covered
functionality because the llc printed output was not yet in the right
form. It is now, so add the tests.
Commit: 714c4a5f8007e5ee52a6338f325680fb7ab89a7a
https://github.com/llvm/llvm-project/commit/714c4a5f8007e5ee52a6338f325680fb7ab89a7a
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/inbounds-gep.ll
Log Message:
-----------
[InstCombine] Ignore frees when inferring inbounds (#202304)
>From LangRef:
> Note that the object does not have to be live anymore; being
> in-bounds of a deallocated object is sufficient.
Commit: 91797152d96713a46f4ca604d191f144cbb48659
https://github.com/llvm/llvm-project/commit/91797152d96713a46f4ca604d191f144cbb48659
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/test/Transforms/ArgumentPromotion/align.ll
Log Message:
-----------
[ArgPromotion] Pass context instruction to dereferenceability check (#202305)
This is necessary for argument promotion to work under deref-at-point
semantics. For the primary case, specify the context instruction as the
first instruction in the function, which should effectively disable the
check for frees.
Commit: 87c5364aeffd3dca0e9231ff9904c799ea003626
https://github.com/llvm/llvm-project/commit/87c5364aeffd3dca0e9231ff9904c799ea003626
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
Log Message:
-----------
[lldb] Use batched string reading in ClassDescriptorV2::ivar_t::Read (#201578)
Commit: 377e0fb58d2bd7c933aea0c00076e75ba6d52896
https://github.com/llvm/llvm-project/commit/377e0fb58d2bd7c933aea0c00076e75ba6d52896
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
A llvm/include/llvm/IR/BundleAttributes.def
A llvm/include/llvm/IR/BundleAttributes.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/lib/IR/BundleAttributes.cpp
M llvm/lib/IR/CMakeLists.txt
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
R llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
M llvm/test/Analysis/ValueTracking/assume.ll
M llvm/test/Transforms/AlignmentFromAssumptions/simple.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/Attributor/nofree.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/Util/assume-builder.ll
M llvm/test/Verifier/assume-bundles.ll
M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
Log Message:
-----------
[IR] Reject unhandled assume bundles and seperate them from normal attributes (#197007)
This patch introduces the concepts of bundle attributes and updates the
code base to use them in most places where assume bundles are handled.
The notable exception is the knowledge retention API, since it tries to
be generic for attributes. However, the `--assume-preserve-all` flag is
removed, since all attributes not listed in the bundle attributes are
rejected by the verifier now. This shouldn't be a huge problem, since
any attributes not listed there were completely unused.
New functions with the naming scheme `getAssume<AttrName>Info` are also
added for attributes which are used without having to enable
experimental features.
Commit: 0552e403ee0bf631d9be2cafdc767743389a4b6e
https://github.com/llvm/llvm-project/commit/0552e403ee0bf631d9be2cafdc767743389a4b6e
Author: lntue <lntue at google.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M .github/workflows/containers/libc/Dockerfile
Log Message:
-----------
[libc][ci] Add arm-linux-gnueabihf toolchain to libc docker image. (#202099)
To prevent regression for arm-linux-gnueabihf target. See
https://github.com/llvm/llvm-project/issues/201678
Commit: 3e03c88817a119ec8178a9bc0eff23824adf2a95
https://github.com/llvm/llvm-project/commit/3e03c88817a119ec8178a9bc0eff23824adf2a95
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
R llvm/test/MC/ARM/directive-type-diagnostics.s
Log Message:
-----------
[ARM] Delete llvm/test/MC/ARM/directive-type-diagnostics.s (NFC) (#201080)
It's bit-identical to llvm/test/MC/ELF/ARM/directive-type-diagnostics.s
Commit: c65e6da9839217ad68abd8bce0cffc138585f407
https://github.com/llvm/llvm-project/commit/c65e6da9839217ad68abd8bce0cffc138585f407
Author: sujianIBM <Jian.Su at ibm.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/test/tools/llvm-cgdata/error.test
M llvm/test/tools/llvm-objcopy/ELF/add-invalid-note.test
M llvm/test/tools/llvm-offload-binary/llvm-offload-binary.ll
M llvm/test/tools/llvm-profdata/binary-ids-padding.test
M llvm/test/tools/llvm-profdata/insufficient-binary-ids-size.test
M llvm/test/tools/llvm-profdata/large-binary-id-size.test
M llvm/test/tools/llvm-profdata/malformed-not-space-for-another-header.test
M llvm/test/tools/llvm-profdata/malformed-num-counters-zero.test
M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
M llvm/test/tools/llvm-profdata/misaligned-binary-ids-size.test
M llvm/test/tools/llvm-profdata/mismatched-raw-profile-header.test
M llvm/test/tools/llvm-profdata/raw-32-bits-be.test
M llvm/test/tools/llvm-profdata/raw-32-bits-le.test
M llvm/test/tools/llvm-profdata/raw-64-bits-be.test
M llvm/test/tools/llvm-profdata/raw-64-bits-le.test
M llvm/test/tools/llvm-profdata/raw-magic-but-no-header.test
M llvm/test/tools/llvm-profdata/raw-two-profiles.test
M llvm/test/tools/llvm-strings/stdin.test
M llvm/test/tools/sanstats/elf.test
Log Message:
-----------
[z/OS] Mark 19 tests UNSUPPORTED on z/OS due to an issue in printf. (#196391)
Those tests fail on z/OS because printf interprets octal escape
sequences as EBCDIC characters and converts them to ASCII, producing
incorrect values in the output.
Commit: 55611deca57a0843cbfceca50ccbdfa9e1a3bf84
https://github.com/llvm/llvm-project/commit/55611deca57a0843cbfceca50ccbdfa9e1a3bf84
Author: firstmoonlight <1023365236 at qq.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/DeclSpec.h
M clang/lib/Sema/DeclSpec.cpp
M clang/test/CXX/class/class.friend/p6.cpp
Log Message:
-----------
[clang][Sema]fix crash of invalid friend declaration with storage-class specifier (#190597)
Fix an assertion failure in Sema::ActOnFriendTypeDecl when parsing an
invalid friend type declaration that incorrectly includes a
storage-class specifier (e.g., 'static', 'extern', 'register').
Root cause:
If the type specifier is marked as invalid, DeclSpec::Finish returns
early. However, even when the type specifier is invalid, some other
checks can still be performed instead of skipping everything.
This change allows necessary checks to proceed, preventing the
assertion in ActOnFriendTypeDecl and enabling proper error diagnostics.
Fixes: https://github.com/llvm/llvm-project/issues/186569
Co-authored-by: victorl <liuvicsen at gmail.com>
Commit: 3f5c25fbe2d87e197b137bd8287715f120f11275
https://github.com/llvm/llvm-project/commit/3f5c25fbe2d87e197b137bd8287715f120f11275
Author: NagaChaitanya Vellanki <pnagato at protonmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/Inputs/stdbit.h
A clang/test/CodeGen/builtin-stdc-memreverse8.c
M clang/test/Sema/Inputs/stdbit.h
A clang/test/Sema/builtin-stdc-memreverse8.c
M clang/test/TableGen/target-builtins-prototype-parser.td
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
[clang] Implement C2y stdc_memreverse8 and stdc_memreverse8u{8,16,32,64} builtins (#197358)
Implements the C2y <stdbit.h> memory reversal functions stdc_memreverse8
and stdc_memreverse8u{8,16,32,64}. The typed variants lower to
llvm.bswap and support constexpr evaluation.
Commit: d11a71905634e8fee7f4ab9c489317cccc23e0ad
https://github.com/llvm/llvm-project/commit/d11a71905634e8fee7f4ab9c489317cccc23e0ad
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
R llvm/include/llvm/IR/BundleAttributes.def
R llvm/include/llvm/IR/BundleAttributes.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
R llvm/lib/IR/BundleAttributes.cpp
M llvm/lib/IR/CMakeLists.txt
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
A llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
M llvm/test/Analysis/ValueTracking/assume.ll
M llvm/test/Transforms/AlignmentFromAssumptions/simple.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/Attributor/nofree.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/Util/assume-builder.ll
M llvm/test/Verifier/assume-bundles.ll
M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
Log Message:
-----------
Revert "[IR] Reject unhandled assume bundles and seperate them from normal attributes" (#202336)
Reverts llvm/llvm-project#197007
This causes an assertion failure.
Commit: 5b6236c37658b2b1341b20e9b2463d075745d108
https://github.com/llvm/llvm-project/commit/5b6236c37658b2b1341b20e9b2463d075745d108
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M flang-rt/lib/runtime/CMakeLists.txt
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/runtimes/CMakeLists.txt
M openmp/module/CMakeLists.txt
M runtimes/cmake/config-Fortran.cmake
Log Message:
-----------
[Runtimes] Drop 'flang' from runtimes configure dependency (#198205)
Summary:
This PR cuts `flang` out of the core runtimes configure dependency. We
will need the runtimes infrastructure to handle `flang` module
generation, but this dependency poisons the entire dependency stack.
`flang` and `mlir` are by far the heavily parts of the LLVM stack and
for distribution we want to only build it when absolutely necessary,
which as of now is only to install flang module files.
The approach here is to simply remove the `flang` target from the core
dependency tree, but intead configure it for the top-level `module`
targets which are part of `all`. To make this work we need to pass
COMPILER_WORKS and set up a dummy location so that configuration passes.
it's a little backdoor, but this is an extremely important quality of
life improvement for LLVM distribution support.
Commit: 86d4fadf5adb00089b2da5e3cdb4a38d8e0340fb
https://github.com/llvm/llvm-project/commit/86d4fadf5adb00089b2da5e3cdb4a38d8e0340fb
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
M libc/test/src/sys/socket/linux/CMakeLists.txt
M libc/test/src/sys/socket/linux/socketopt_test.cpp
Log Message:
-----------
[libc] Add remaining SO_ constants (#202278)
There are two complications here:
- These options have different values on some architectures. These
aren't architectures we're likely to support soon, but I've left a
#error so that it lights up in a porting attempt.
- The time-related options have two flavours, depending on the
sizeof(time_t). Since we now support only 64-bit time_t, and only
kernels newer than 5.10, we can unconditionally use the new versions
(released in 5.1). I added a test for one of the time options to verify
that it works.
Commit: 22f266395c930b83fbbcf2e84930783d438bc0d4
https://github.com/llvm/llvm-project/commit/22f266395c930b83fbbcf2e84930783d438bc0d4
Author: David Green <david.green at arm.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
R llvm/test/MC/COFF/ARM/lit.local.cfg
Log Message:
-----------
[ARM] Remove llvm/test/MC/COFF/ARM/lit.local.cfg. NFC (#202342)
Given there are no files in this folder (since
ff1d084aa2f07927f3c63c93f3286822abe9d1ac) the unused lit.local.cfg can
be
removed.
Commit: 8c1a55cb738580858b0870e04884b2e323f38484
https://github.com/llvm/llvm-project/commit/8c1a55cb738580858b0870e04884b2e323f38484
Author: Adam Scott <88979030+as4230 at users.noreply.github.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
A llvm/test/Transforms/InstCombine/X86/x86-vpmadd52.ll
Log Message:
-----------
[InstCombine][X86] Fold add(vpmadd52(0, a, b), x) -> vpmadd52(x, a, b) (#195937)
vpmadd52 computes acc + P(a, b) mod 2^64 where P is independent of acc
so add(vpmadd52(0, a, b), x) = vpmadd52(x, a, b).
Applies to all six vpmadd52{h,l}.uq.{128,256,512} variants.
Fixes #194697
Commit: c8208a483eb51f51d9a4c939ca17094bcf3cbadb
https://github.com/llvm/llvm-project/commit/c8208a483eb51f51d9a4c939ca17094bcf3cbadb
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/freebsd/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/shared/math.h
A libc/shared/math/acosbf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/acosbf16.h
M libc/src/math/CMakeLists.txt
A libc/src/math/acosbf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acosbf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/acosbf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/acosbf16_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math][c23] Add acosbf16 math function (#184633)
This PR intends to add acosbf16 higher math function for bfloat16 type .
Commit: c25b0428e574a7c65e0197d53b781c7435f04300
https://github.com/llvm/llvm-project/commit/c25b0428e574a7c65e0197d53b781c7435f04300
Author: Zach Goldthorpe <Zach.Goldthorpe at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/consecutive-loads-in-branch.ll
Log Message:
-----------
[NFC][AMDGPU][VOPD] Add lit test demonstrating current VOPD pairing behaviour (#201943)
This is a pre-commit test for #201930
The behaviour addressed loc cit is the `global_load_b128 v[2:5]`
corresponding to `%A.load` being followed immediately by its user due to
VOPDPairingMutation choosing to fuse the address computation for
`%B.load` with the use of `%A.load`.
Commit: 76699bcfc8af5ef44d7e725de68f6c2339230f9f
https://github.com/llvm/llvm-project/commit/76699bcfc8af5ef44d7e725de68f6c2339230f9f
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
M llvm/test/CodeGen/DirectX/ContainerData/DebugShaderHash.ll
A llvm/test/CodeGen/DirectX/embed-ildb.ll
M llvm/test/tools/dxil-dis/dbg-declare-undef.ll
M llvm/test/tools/dxil-dis/dbg-value.ll
M llvm/test/tools/dxil-dis/debug-info.ll
M llvm/test/tools/dxil-dis/di-compile-unit-versioned-language.ll
M llvm/test/tools/dxil-dis/di-compile-unit.ll
M llvm/test/tools/dxil-dis/di-globalvariable.ll
M llvm/test/tools/dxil-dis/di-label.ll
M llvm/test/tools/dxil-dis/di-subprogram.ll
M llvm/test/tools/dxil-dis/di-subrange.ll
M llvm/test/tools/dxil-dis/di-subrangetype.ll
M llvm/test/tools/dxil-dis/vla.ll
Log Message:
-----------
[DirectX] Write DXIL with debug info to ILDB part (#201423)
This patch writes bitcode with debug info to ILDB part, then strips that
bitcode from all debug info and writes it to DXIL part.
Note: as of now, `StripDebugInfo` doesn't remove all the debug info, but
this will be fixed in #201336 and doesn't affect this patch.
Commit: 12ebb8f10689b6adf0d52b8e8baf3619c6272f7e
https://github.com/llvm/llvm-project/commit/12ebb8f10689b6adf0d52b8e8baf3619c6272f7e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M runtimes/CMakeLists.txt
Log Message:
-----------
[LLVM][Runtimes] Fix path attempting to install to wrong location (#202352)
Summary:
When LLVM_BINARY_DIR was not set this should default to a root location
and configuration would fail by trying to write to some random system
location with insufficient perms.
Fixes the failure introduced in
https://github.com/llvm/llvm-project/commit/b4f5ae234c6d
Commit: f5fed78bbe847f7c02fd69c6f33a0f916c8fdadb
https://github.com/llvm/llvm-project/commit/f5fed78bbe847f7c02fd69c6f33a0f916c8fdadb
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
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
Log Message:
-----------
[VPlan] Rename VPIRFlags::getFastMathFlags (NFC) (#200487)
Rename it to getFastMathFlagsOrNone, in line with the recently-landed IR
change 02997d759 ([IR] Introduce Instruction::getFastMathFlagsOrNone,
#200457).
Commit: 43a128fe790286a53e9a5b1c2b9173eb0c0b2261
https://github.com/llvm/llvm-project/commit/43a128fe790286a53e9a5b1c2b9173eb0c0b2261
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
M mlir/test/Dialect/OpenACC/invalid-cg.mlir
M mlir/test/Dialect/OpenACC/ops-cg.mlir
Log Message:
-----------
[mlir][acc] Add reduction accumulate operation (#201954)
Introduce `acc.reduction_accumulate` to represent merging an SSA result
into storage (typically the private memory storage) which will then be
used to combine into the final destination storage.
Commit: 1d84916abda575472652611ae4cedafc50433b3c
https://github.com/llvm/llvm-project/commit/1d84916abda575472652611ae4cedafc50433b3c
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbSymUid.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbSymUid.h
Log Message:
-----------
[lldb][NativePDB] Remove uses of cantFail in AST builder (#200452)
As a continuation of #187158, this removes uses of `llvm::cantFail` and
replaces them with logs and early returns.
The motivation for this is the PDB of the
[ExprLanguageNote.test](https://github.com/llvm/llvm-project/blob/c241374079f12aabe5d1db5133cb5d924a3cc1d6/lldb/test/Shell/Expr/TestExprLanguageNote.test).
It's incrementally linked (if the built clang uses link.exe by default).
After some amount of checkouts + rebuilds, the PDB gets (semantically)
corrupted such that some type indices point to incorrect records. While
this is a bug in the MSVC linker, we shouldn't crash if we get these
inputs.
Commit: 55fd9ae197033d3c74bd729891ab6ab904d4643a
https://github.com/llvm/llvm-project/commit/55fd9ae197033d3c74bd729891ab6ab904d4643a
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
Log Message:
-----------
[DirectX] Delay converting to old-style debug info (#201336)
This has no impact at the moment, but upcoming work relies on debug info
still using new-style debug records after DXILPrepare.
Commit: 79762d21c62664557a5166cc15d7ec1e78ac972a
https://github.com/llvm/llvm-project/commit/79762d21c62664557a5166cc15d7ec1e78ac972a
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
Log Message:
-----------
AMDGPU/GlobalISel: Fix missing VgprV32S32 in RegBankLegalizeHelper (#202360)
Left out in two places by accident, original PR #202075.
Commit: 407daf1bb2a2400fdbbdeb3147932bb1b5c24650
https://github.com/llvm/llvm-project/commit/407daf1bb2a2400fdbbdeb3147932bb1b5c24650
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Enable OpenMP and Offload runtime in premerge (#174955)
Offload and OpenMP have been disabled in pre-commit build and test for
quite some time.
After some changes to the way how LLVM is built in pre-merge, this PR
adds both OpenMP and Offload to the premerge CI. The intention is to
introduce *build only* of those runtimes and not run any tests.
The test suites appear to still be a bit flaky and many issues we see in
the (AMDGPU OpenMP / Offload) buildbots come from simple errors that can
be caught with a simple build in pre-merge CI.
Commit: 1ef2f3b98b130bb99ecd412094de44dda89bd392
https://github.com/llvm/llvm-project/commit/1ef2f3b98b130bb99ecd412094de44dda89bd392
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
A lldb/include/lldb/Target/ProcessIOHandler.h
M lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
R lldb/source/Plugins/Process/Windows/Common/IOHandlerProcessSTDIOWindows.cpp
R lldb/source/Plugins/Process/Windows/Common/IOHandlerProcessSTDIOWindows.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Target/CMakeLists.txt
M lldb/source/Target/Process.cpp
A lldb/source/Target/ProcessIOHandler.cpp
Log Message:
-----------
[NFC][lldb][Windows] Move ProcessIOHandler in Target (#202353)
This patch merges `IOHandlerProcessSTDIO` and
`IOHandlerProcessSTDIOWindows` in one file: `ProcessIOHandler.h`.
This is an NFC change which reduces the size of `Process.cpp` and allows
to reuse `IOHandlerProcessSTDIOWindows` in GDBRemote, ahead of
https://github.com/llvm/llvm-project/pull/201638.
Commit: 2befcb4d3224a78e0676c6cac29c37125088643d
https://github.com/llvm/llvm-project/commit/2befcb4d3224a78e0676c6cac29c37125088643d
Author: Sairudra More <sairudra60 at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Integration/prefetch.f90
A flang/test/Lower/OpenMP/scalar-to-array-assign-target-device-O0.f90
M flang/test/Lower/OpenMP/workdistribute-saxpy-and-scalar-assign.f90
M flang/test/Lower/OpenMP/workdistribute-scalar-assign.f90
A flang/test/Lower/scalar-to-array-assign-host-O0.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Restrict O0 hlfir.assign scalar-to-array inlining to OpenMP target device (#201774)
Follow-up to #197092.
That PR fixed the OpenMP target-device case by running scalar-to-array
`hlfir.assign` inlining at `-O0`, so device code would not lower through
`_FortranAAssign`.
However, running that path for normal host `-g -O0` also changed
debugging behavior: a breakpoint on a scalar broadcast like `arr = 11`
could be hit once per array element because the assignment became an
inline loop.
This patch restricts the `-O0` scalar-RHS-only inlining path to OpenMP
target-device compilation. Host `-O0` keeps the existing
`_FortranAAssign` path and debugger behavior, while device `-O0` still
avoids the runtime call.
Two focused tests cover both sides:
- host `-O0` scalar broadcast keeps `_FortranAAssign`
- OpenMP target-device `-O0` scalar broadcast avoids `_FortranAAssign`
Fixing debug locations for generated inline loops more generally is left
as separate follow-up work.
The broader debug-location issue for generated inline assignment loops
is tracked separately in #202065.
Commit: 233c1d22c1ae5ae4159dd8b89fa0a6834d8580a2
https://github.com/llvm/llvm-project/commit/233c1d22c1ae5ae4159dd8b89fa0a6834d8580a2
Author: ioana ghiban <ioana.ghiban at arm.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-failed.mlir
Log Message:
-----------
[mlir][Arith][EmitC] Add tests for bail-out on arith.constant conversion (#201565)
ArithToEmitC avoids rewriting memref constants to `emitc.constant`,
since the type conversion changes the result type but the attribute
cannot be converted into a valid EmitC initializer.
This patch does not add support for converting these memrefs. It only
makes the existing limitation explicit at the conversion boundary by
adding tests for the standalone conversion pass. This pass marks its
source ops illegal, so when a pattern bails-out the pass reports a
legalization failure. This is the expected behavior and tests document
the unsupported cases directly.
Assisted-by: Codex (refine description). I reviewed all text before
submission.
Commit: 2bd367126678f3c8bb9e7f0067cf37089c4807a4
https://github.com/llvm/llvm-project/commit/2bd367126678f3c8bb9e7f0067cf37089c4807a4
Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
A llvm/test/CodeGen/Hexagon/autohvx/ieeetoqfloat.ll
Log Message:
-----------
[Hexagon] Translate IEEE HVX intrinsics to QFloat on v79+ (#198832)
On Hexagon v79 and later, the IEEE-floating-point HVX
instruction encodings (sf/hf operands) are no longer
present in the architecture. Code that uses the IEEE HVX
intrinsics still needs to compile for those targets, so
this change implicitly lowers the intrinsic calls to
equivalent QFloat (qf16 / qf32) sequences during DAG-to-DAG
instruction selection. v75 and earlier continue to emit
the original IEEE encodings unchanged.
The translation covers 22 intrinsics: arithmetic kernels
(vadd / vsub / vmpy / vmpy-acc) for both hf-hf and sf-hf
operand pairs, sign-bit manipulation (vabs / vfneg), the
non-IEEE min/max variants, the cross-domain conversions
(vcvt_hf_h, vcvt_h_hf, vcvt_sf_hf), and vassign_fp.
9 HVX IEEE intrinsics are not translated by this patch
and will be added incrementally: the byte/ubyte/uhalf
conversion variants (vcvt_b_hf, vcvt_hf_b, vcvt_ub_hf,
vcvt_hf_ub, vcvt_uh_hf, vcvt_hf_uh), vcvt_h_hf (v79
requires a runtime call), vcvt_hf_sf, and vdmpy_sf_hf.
isIEEEHVXIntrinsic excludes them, so they fall through
to the normal SelectCode path rather than hitting
llvm_unreachable (which would be UB in release builds).
Co-authored-by: Sumanth Gundapaneni <sgundapa at quicinc.com>
Co-authored-by: Santanu Das <quic_santdas at quicinc.com>
Commit: 0ce45e443dce70e12593b11039e3f6e1411cc779
https://github.com/llvm/llvm-project/commit/0ce45e443dce70e12593b11039e3f6e1411cc779
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Clarify what "group" in invariant.group means. (#200552)
Commit: 9e94ec5dba70d5387561647a1b3b5d83bb0d3522
https://github.com/llvm/llvm-project/commit/9e94ec5dba70d5387561647a1b3b5d83bb0d3522
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Analysis/ValueTracking/knownbits-shl-ctlz-msb.ll
Log Message:
-----------
[ValueTracking] Set KnownBits from MSB shift idiom (#200203)
`shl X, sub(Y, xor(ctlz(X, true), BitWidth-1))` shifts X so that its MSB
lands at bit Y, when BitWidth is a power of 2.
https://alive2.llvm.org/ce/z/qknVdk
Assisted-by: claude
Commit: 828ea9c9575c4b882238d430bdc3204472043157
https://github.com/llvm/llvm-project/commit/828ea9c9575c4b882238d430bdc3204472043157
Author: Moazin K. <mkhatti at nvidia.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsLoop.h
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsLoop.cpp
M mlir/test/Dialect/OpenACC/acc-compute-lowering-loop.mlir
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
Log Message:
-----------
[OpenACC] Add an attribute to record number of loops collapsed. (#201969)
Attach an attribute indicating the number of collapsed loops if
`convertACCLoopToSCFFor` collapses the loops.
Assisted by Claude Code.
Commit: e7ee9b15e7ee4ea99a83c7d059f0cc90d8d8ba7c
https://github.com/llvm/llvm-project/commit/e7ee9b15e7ee4ea99a83c7d059f0cc90d8d8ba7c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/test/C/C23/n3037.c
Log Message:
-----------
[C23] Fix failing assertion on structural equivalence checks (#201650)
This assertion was added in 6a22580305d779e2d712900d49578de9a5cb14e8 as
a sanity check and it turns out that the assertion was false in two
different ways.
1) An enumeration might not have an underlying type in our AST; this
happens for a forward declared enumeration without a fixed underlying
type.
2) When comparing the members, we could compare a member of enumeration
type with a member of a non-integral type like a union or structure.
We now account for both cases.
Fixes #190227
Commit: 7212c8f83b16afae9f4f4ca2fb724bc6518ae4f2
https://github.com/llvm/llvm-project/commit/7212c8f83b16afae9f4f4ca2fb724bc6518ae4f2
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
M lld/docs/ld.lld.1
A lld/test/ELF/x86-64-relax-jump-tables.s
Log Message:
-----------
ELF: CFI jump table relaxation.
Indirection via the jump table increases the icache and TLB miss rate
associated with indirect calls, and according to internal benchmarking
was identified as one of the main runtime costs of CFI, contributing
around 30% of the total overhead. #145579 addressed the problem for
direct calls to jump table entries, but the indirect call overhead is
still present. This patch implements jump table relaxation, which is a
technique for opportunistically reducing the indirect call overhead.
The basic idea is to eliminate the indirection by moving function
bodies into the jump table wherever possible. This is possible in two
circumstances:
- When the body size is at most the size of a jump table entry.
- When the function is the last function in the jump table.
In both cases, we may move the function body into the jump table by
splitting the jump table in two, with enough space in the middle for the
function body, and placing the function there.
We leave the last function in the jump table at its original location
and place the rest of the jump table behind it. The goal of this is to
decrease the TLB miss rate, on the assumption that it is more likely
for functions with the same type (and their callees) to be in the same
page as each other than for them to be in the same page as the original
location of the jump table (typically clustered together near the end
of the binary).
A complete implementation of jump table relaxation was found to reduce
the overhead of CFI in a large realistic internal Google benchmark
by between 0.2 and 0.5 percentage points, or 10-25%, depending on the
microarchitecture.
Reviewers: vitalybuka, MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/147424
Commit: 88bd366041fd539d2e8d75f2b2ae081940922f8e
https://github.com/llvm/llvm-project/commit/88bd366041fd539d2e8d75f2b2ae081940922f8e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
A llvm/include/llvm/IR/BundleAttributes.def
A llvm/include/llvm/IR/BundleAttributes.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/lib/IR/BundleAttributes.cpp
M llvm/lib/IR/CMakeLists.txt
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
R llvm/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll
A llvm/test/Analysis/ValueTracking/assume-on-value.ll
R llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
M llvm/test/Analysis/ValueTracking/assume.ll
M llvm/test/Transforms/AlignmentFromAssumptions/simple.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/Attributor/nofree.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/Util/assume-builder.ll
M llvm/test/Verifier/assume-bundles.ll
M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
Log Message:
-----------
Reapply "[IR] Reject unhandled assume bundles and seperate them from normal attributes" (#202336) (#202355)
The crash is fixed by checking for equality of value and assumption
instead of asserting it.
Original message:
This patch introduces the concepts of bundle attributes and updates
the code base to use them in most places where assume bundles are
handled.
The notable exception is the knowledge retention API, since it tries to
be generic for attributes. However, the `--assume-preserve-all` flag is
removed, since all attributes not listed in the bundle attributes are
rejected by the verifier now. This shouldn't be a huge problem, since
any
attributes not listed there were completely unused. New functions with
the
naming scheme `getAssume<AttrName>Info` are also added for attributes
which
are used without having to enable experimental features.
This reverts commit d11a71905634e8fee7f4ab9c489317cccc23e0ad.
Commit: 081568eb664543d62babfe882fa8bbfa6a353ce0
https://github.com/llvm/llvm-project/commit/081568eb664543d62babfe882fa8bbfa6a353ce0
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M compiler-rt/test/cfi/mfcall.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll
M llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
M llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
M llvm/test/Transforms/LowerTypeTests/function-disjoint.ll
M llvm/test/Transforms/LowerTypeTests/function-ext.ll
M llvm/test/Transforms/LowerTypeTests/function-weak.ll
M llvm/test/Transforms/LowerTypeTests/function.ll
M llvm/test/Transforms/LowerTypeTests/section.ll
M llvm/test/Transforms/LowerTypeTests/x86-jumptable.ll
M llvm/test/Transforms/MergeFunc/cfi-thunk-merging.ll
Log Message:
-----------
LowerTypeTests: Mark CFI jump table sections as eligible for relaxation.
Use !elf_section_properties metadata to set the type and entry size to
the correct values, and set the preferred alignment to the entry size
to enable last jump table entry placement.
Reviewers: vitalybuka, MaskRay
Reviewed By: vitalybuka, MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/149261
Commit: 055c6721526d29059857ba7887e7cde87e00bf9c
https://github.com/llvm/llvm-project/commit/055c6721526d29059857ba7887e7cde87e00bf9c
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/docs/ProgrammersManual.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/ADT/StringMap.h
M llvm/unittests/ADT/StringMapTest.cpp
Log Message:
-----------
[StringMap] Invalidate iterators on mutation (#202237)
Tighten StringMap's iterator contract so that, like DenseMap (#199369),
mutating the map invalidates iterators obtained before the call.
StringMap
now derives from DebugEpochBase and its iterators from HandleBase, and
insert/erase/clear/swap bump the epoch, so a
stale-iterator-after-mutation
bug (e.g. erase- or insert-while-iterating) fails under
LLVM_ENABLE_ABI_BREAKING_CHECKS.
In release builds DebugEpochBase/HandleBase are empty, so iterator size
and
codegen are unchanged.
Aided by Claude Opus 4.8
Commit: 2eed192c213322a235197286f08f146b94b20c86
https://github.com/llvm/llvm-project/commit/2eed192c213322a235197286f08f146b94b20c86
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M .github/workflows/release-doxygen.yml
M bolt/docs/CMakeLists.txt
M bolt/docs/doxygen.cfg.in
M clang-tools-extra/docs/CMakeLists.txt
M clang-tools-extra/docs/doxygen.cfg.in
M clang/docs/CMakeLists.txt
M clang/docs/doxygen.cfg.in
M cmake/Modules/HandleDoxygen.cmake
M flang/docs/CMakeLists.txt
M flang/docs/doxygen.cfg.in
M lldb/docs/CMakeLists.txt
M lldb/docs/doxygen.cfg.in
M llvm/docs/CMakeLists.txt
M llvm/docs/doxygen.cfg.in
M mlir/docs/CMakeLists.txt
M mlir/docs/doxygen.cfg.in
M openmp/docs/CMakeLists.txt
M openmp/docs/doxygen.cfg.in
M polly/docs/CMakeLists.txt
M polly/docs/doxygen.cfg.in
Log Message:
-----------
[docs] update CI to use latest release of doxygen (#191501)
Previously this was likely 1.9.8, with the Ubuntu 24.04 worker. Now this
is 1.17.0. This is a fix for
https://discourse.llvm.org/t/many-doxygen-links-are-broken/83809/2.
Fixes 3 significant issues for LLVM:
- `dot` execution performance is very slow (cuts this half hour step
down to mere seconds). https://github.com/doxygen/doxygen/pull/12037
- multi-thread performance is very slow (worse than single threading),
and now uses all cores for ncpu times speedup (when using version with
fix, autodetected by cmake).
https://github.com/doxygen/doxygen/pull/12027
- file links for IR.cpp and similar files were wrong
https://github.com/doxygen/doxygen/pull/11944
Assisted-by: Claude Code
Commit: 108b06f1797b3a68f78dcdbaee2bf23fbc0bd832
https://github.com/llvm/llvm-project/commit/108b06f1797b3a68f78dcdbaee2bf23fbc0bd832
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/tools/llvm-readtapi/CMakeLists.txt
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/driver.bzl
Log Message:
-----------
Add multicall driver support for llvm-readtapi (#194763)
Commit: 85da175778b7ebaeb7e5a4b8275060e5a17b62c6
https://github.com/llvm/llvm-project/commit/85da175778b7ebaeb7e5a4b8275060e5a17b62c6
Author: kwyatt-ext <kwyatt.external at hpe.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/type.h
M flang/lib/Evaluate/type.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
A flang/test/Parser/enumeration-type.f90
Log Message:
-----------
[flang] Enumeration Type: (PR 1/5) Foundation types + Parser (#192651)
This PR creates the concept of an ENUMERATION TYPE from the Fortran 2023
Standard. It is implemented as a special case of a Derived Type
internally to the compiler. It adds the parse/unparse support. The
compiler will be able to recognize the syntax of an ENUMERATION TYPE and
report to users that the feature is not yet implemented.
It is the 1st of 5 stacked PRs.
AI Usage Disclosure: AI tools (Claude Opus 4.6) were used to assist with
implementation of this feature and test code generation. I have
reviewed, modified, and tested all AI-generated code.
---------
Co-authored-by: Kevin Wyatt <kwyatt at hpe.com>
Commit: 8472bc79bf157925c87c3acb7dbb4ac4ddb3070d
https://github.com/llvm/llvm-project/commit/8472bc79bf157925c87c3acb7dbb4ac4ddb3070d
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][cuda] Don't allocate managed descriptors for OpenACC data-clause boxes (#201957)
Example:
```fortran
module m
real(8), allocatable :: u(:,:,:,:) ! device-resident allocatable
contains
subroutine core(uf, n)
integer :: n
real(8) :: uf(n,n,n,5)
!$acc kernels loop present(uf) ! descriptor built for uf
...
end subroutine
subroutine wrap(n)
call core(u, n)
end subroutine
end module
```
In this code, the descriptor for `present(uf)` is only used by `acc`
data-clause ops (the kernel gets the clause result, not the box), so it
never needs to be device-accessible. But `isDeviceAllocation()` is true,
so it's allocated via `_FortranACUFAllocDescriptor` in managed memory
and never freed — leaking it and leaving stale descriptors when the
address is reused.
Fix: allocate a descriptor in managed memory only when truly
device-accessible — used by a GPU kernel launch
(`isUsedByGPULaunchFunc`), or device-allocated and not consumed by an
`acc` data-clause op. Add `isUsedByOpenACCDataClause` and gate the
`isDeviceAllocation` branch with it.
Commit: 8e5cf611110162aa59a77cfda8d0864537dcc23f
https://github.com/llvm/llvm-project/commit/8e5cf611110162aa59a77cfda8d0864537dcc23f
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/Sample.ll
A llvm/test/CodeGen/DirectX/SampleLevel.ll
Log Message:
-----------
[DirectX] Implement lowering of Sample and SampleLevel (#201477)
Fixes https://github.com/llvm/llvm-project/issues/192547 and
https://github.com/llvm/llvm-project/issues/192550
The Sample and SampleLevel implementations are combined in this single
PR because the code is extremely similar and the changes are small
thanks to the refactoring of prior implementations of sample lowerings.
Assisted-by: Claude Opus 4.6
Commit: e643d7e7a3008e3b97a6d9a1912cd19549b712f2
https://github.com/llvm/llvm-project/commit/e643d7e7a3008e3b97a6d9a1912cd19549b712f2
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
M flang/lib/Utils/OpenMP.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] Add iterator support to map/motion clause (#197047)
Extend omp.target_data, omp.target_enter_data, omp.target_exit_data,
and omp.target_update to support `!omp.iterated<Ty>`.
This is part of feature work for llvm#188061
Assisted with copilot
Commit: 6befeaa7b57bdf31f4b249a4533eebaa4ffa0b4a
https://github.com/llvm/llvm-project/commit/6befeaa7b57bdf31f4b249a4533eebaa4ffa0b4a
Author: Jonathan L'Work <113400649+Jonathan03ant at users.noreply.github.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.quadmask.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.ll
Log Message:
-----------
[AMDGPU][GlobalIsel] RegBankLegalize rules for amdgcn_s_quadmask, amdgcn_s_wqm (#201898)
Commit: 8b45994309c19752dd369e86487461f93c00532b
https://github.com/llvm/llvm-project/commit/8b45994309c19752dd369e86487461f93c00532b
Author: Justin T. Gibbs <gibbs at scsiguy.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/CMakeLists.txt
Log Message:
-----------
[asan] Enable exceptions for asan_new_delete.cpp translation unit (#200719)
Groundwork for #196388.
Preparation for a follow-up change that lets the throwing operator new
wrappers in asan_new_delete.cpp throw std::bad_alloc on OOM. To support
that, asan_new_delete.cpp must be compiled with -fexceptions and must be
able to include <new> (i.e. without -nostdinc++). The rest of the ASan
runtime stays compiled with -fno-exceptions and -nostdinc++.
NOTE: Comments in CMakeLists.txt are written assuming the follow-on
changes to use exceptions land, thus avoiding the need to update
this file again.
Build-system changes:
* Define ASAN_CXX_CFLAGS as ASAN_CFLAGS minus -fno-exceptions and
-nostdinc++ plus -fexceptions. Define ASAN_DYNAMIC_CXX_CFLAGS likewise
relative to ASAN_DYNAMIC_CFLAGS. RTTI stays disabled; libstdc++ /
libc++abi supply the bad_alloc typeinfo.
* Static build: switch RTAsan_cxx (which already contains only
${ASAN_CXX_SOURCES} = asan_new_delete.cpp) from ASAN_CFLAGS to
ASAN_CXX_CFLAGS. RTAsan (the C slice) is unchanged.
* Dynamic build: split the previous single RTAsan_dynamic object library
into two — RTAsan_dynamic keeps ${ASAN_SOURCES} (no change in flags) and
a new RTAsan_dynamic_cxx carries ${ASAN_CXX_SOURCES} with
ASAN_DYNAMIC_CXX_CFLAGS. Both shared clang_rt.asan link rules pull in
RTAsan_dynamic_cxx alongside RTAsan_dynamic so the linked .so retains
the same set of object files; only the compile flags for
asan_new_delete.cpp change.
NFC at runtime — the asan_new_delete.cpp source as of this commit does
not yet use exceptions or include <new>, so the new flags are inert. The
follow-up commit makes use of them.
Assisted by: Claude Opus 4.7
Commit: e45c65ead95c36146449b230b3a68bb9098b88e6
https://github.com/llvm/llvm-project/commit/e45c65ead95c36146449b230b3a68bb9098b88e6
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/source/Host/windows/ConnectionConPTYWindows.cpp
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/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb][Windows] add stdin support to lldb-server (#201638)
This patch uses `IOHandlerProcessSTDIOWindows` to add support for STDIN
forwarding in `lldb-server.exe`.
This is part 1/3 of a set of 3 patches, which together, fix 2 dap tests
on Windows when using `LLDB_USE_LLDB_SERVER=1`:
- https://github.com/llvm/llvm-project/pull/201884
- https://github.com/llvm/llvm-project/pull/201885
This requires https://github.com/llvm/llvm-project/pull/202353.
rdar://178725947
Commit: ce0b332657237ef05b92e5c669ae30f750b6100a
https://github.com/llvm/llvm-project/commit/ce0b332657237ef05b92e5c669ae30f750b6100a
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/test/tools/llvm-objcopy/MachO/install-name-tool-output.test
Log Message:
-----------
[llvm-objcopy][test] Improve install-name-tool -o tests (NFC) (#201883)
Based on feedback from https://github.com/llvm/llvm-project/pull/189495
Commit: bccb07ef10b135bd02042f121427c140d874640b
https://github.com/llvm/llvm-project/commit/bccb07ef10b135bd02042f121427c140d874640b
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/remark-missing-info.ll
M llvm/test/Transforms/MemProfContextDisambiguation/remark-missing-info.ll
Log Message:
-----------
[MemProf] Improve post cloning remark (#201620)
This makes the remark when we don't have context size info more
consistent with the one when we do, and clarifies that the first
coldness tag is for the context.
Commit: 7fab0bcc9519e645e8a7c6ff0c1edfd8628b5764
https://github.com/llvm/llvm-project/commit/7fab0bcc9519e645e8a7c6ff0c1edfd8628b5764
Author: satyanarayana reddy janga <satyajanga at fb.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h
Log Message:
-----------
[lldb] Add a "plugin" log category to the gdb-remote channel (#202359)
Add a GDBRLog::Plugin category (enabled with `log enable gdb-remote
plugin`) for logging lldb-server plugin activity, such as the
accelerator plugins.
Commit: 3a4c2ec2b427ce48ae817bcf2e67a371bc2b2f7e
https://github.com/llvm/llvm-project/commit/3a4c2ec2b427ce48ae817bcf2e67a371bc2b2f7e
Author: Yexuan Xiao <bizwen at nykz.org>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/Index.h
A clang/test/Index/print-type-predefined-sugar.cpp
M clang/tools/libclang/CXType.cpp
Log Message:
-----------
[clang] Fix PredefinedSugarType reported as CXType_Unexposed (#202209)
Fix #192268.
Commit: b2e37b668bc4550bf8c72806402b116eb5d72e66
https://github.com/llvm/llvm-project/commit/b2e37b668bc4550bf8c72806402b116eb5d72e66
Author: Wooseok Lee <wolee at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/fmed3.ll
Log Message:
-----------
[AMDGPU] Fix fmed3 constant-fold sign-of-zero miscompile (#201896)
[AMDGPU] Fix fmed3 constant-fold sign-of-zero miscompile
fmed3AMDGCN identifies the maximum of three operands via
APFloat::compare,
then returns maxnum of the remaining two as the median. APFloat::compare
treats +0 and -0 as equal (cmpEqual), so for inputs like fmed3(-0, -0,
+0)
Max3=+0 incorrectly compares equal to Src0=-0, causing the wrong arm to
fire and returning +0 instead of the correct median -0.
Hardware v_med3_f32 sorts with -0 < +0 uniformly across all generations,
so fmed3(-0, -0, +0) must return -0.
Fix by replacing APFloat::compare equality checks with
APFloat::bitwiseIsEqual,
which distinguishes +0 from -0 by bit pattern. This is strictly correct:
the only case where compare returns cmpEqual but bitwiseIsEqual returns
false
is the +0/-0 pair, which is exactly the misidentification being fixed.
All
three arms of the helper are covered.
Affected inputs (all returning wrong +0 before the fix):
fmed3(-0, -0, +0), fmed3(-0, +0, -0), fmed3(+0, -0, -0)
fmed3(N, -0, +0), fmed3(-0, N, +0), fmed3(-0, +0, N) where N < 0
Commit: bf820ee556d923013ebd15f409d38dd6ac9f877b
https://github.com/llvm/llvm-project/commit/bf820ee556d923013ebd15f409d38dd6ac9f877b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
Log Message:
-----------
[VPlan] Use RUN_VPLAN_PASS for more VPlan transforms. (#202399)
Convert additional VPlan transform invocations to use RUN_VPLAN_PASS:
replaceWideCanonicalIVWithWideIV, materializeAliasMaskCheckBlock,
narrowInterleaveGroups, tryToConvertVPInstructionsToVPRecipes and
optimizeInductionLiveOutUsers. This enables more accurate transform
printing as well as extra verification.
The transforms in executePlan after dissolveLoopRegions are left as-is,
as the verifier does not yet handle the intermediate dissolved states.
Commit: 17449ef9b7296da8a10d46410c62f16fde98bcd6
https://github.com/llvm/llvm-project/commit/17449ef9b7296da8a10d46410c62f16fde98bcd6
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[flang][OpenMP][NFC] Share declare mapper helpers for iterator modifier lowering (#197752)
Move mapper lookup and implicit default mapper creation into reusable
OpenMP lowering helpers so regular map lowering and iterator-generated
map entries (#197757) can use the same resolution path.
This prepares Flang iterator modifier lowering for map and motion
clauses
without changing the generated IR for existing non-iterator maps.
Commit: 3ab997597e8a5f2920efdad01cf8c29673826ba0
https://github.com/llvm/llvm-project/commit/3ab997597e8a5f2920efdad01cf8c29673826ba0
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/type.h
M flang/lib/Evaluate/type.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
R flang/test/Parser/enumeration-type.f90
Log Message:
-----------
Revert "[flang] Enumeration Type: (PR 1/5) Foundation types + Parser" (#202408)
Reverts llvm/llvm-project#192651
It seems to be causing linker errors. Verified locally that reverting
this commit helps.
```
/usr/bin/ld: tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/type.cpp.o: in function `Fortran::evaluate::DynamicType::GetAlignment(Fortran::evaluate::TargetCharacteristics const&) const':
type.cpp:(.text._ZNK7Fortran8evaluate11DynamicType12GetAlignmentERKNS0_21TargetCharacteristicsE+0x71): undefined reference to `Fortran::semantics::DerivedTypeSpec::GetScope() const'
/usr/bin/ld: type.cpp:(.text._ZNK7Fortran8evaluate11DynamicType12GetAlignmentERKNS0_21TargetCharacteristicsE+0x87): undefined reference to `Fortran::semantics::DerivedTypeSpec::GetScope() const'
/usr/bin/ld: tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/type.cpp.o: in function `Fortran::evaluate::DynamicType::MeasureSizeInBytes(Fortran::evaluate::FoldingContext&, bool, std::optional<long>) const':
type.cpp:(.text._ZNK7Fortran8evaluate11DynamicType18MeasureSizeInBytesERNS0_14FoldingContextEbSt8optionalIlE+0x1ed): undefined reference to `Fortran::semantics::DerivedTypeSpec::GetScope() const'
/usr/bin/ld: type.cpp:(.text._ZNK7Fortran8evaluate11DynamicType18MeasureSizeInBytesERNS0_14FoldingContextEbSt8optionalIlE+0x202): undefined reference to `Fortran::semantics::DerivedTypeSpec::GetScope() const'
/usr/bin/ld: type.cpp:(.text._ZNK7Fortran8evaluate11DynamicType18MeasureSizeInBytesERNS0_14FoldingContextEbSt8optionalIlE+0x218): undefined reference to `Fortran::semantics::DerivedTypeSpec::GetScope() const'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
Commit: b6e563e628cf1a95a153b8632f0c4fbd4cd56760
https://github.com/llvm/llvm-project/commit/b6e563e628cf1a95a153b8632f0c4fbd4cd56760
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Add LLVM_ABI_FOR_TEST to classes/structs used by tests (NFC). (#202400)
Add LLVM_ABI_FOR_TEST to classes that are used in unittests, either
directly or by one of their subclasses.
Should hopefully fix visability issue in
https://lab.llvm.org/buildbot/#/builders/160/builds/39088
Commit: bd630c6390f631ba4d7adf0244340a2de253f189
https://github.com/llvm/llvm-project/commit/bd630c6390f631ba4d7adf0244340a2de253f189
Author: TPPPP <TPPPP72 at outlook.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Expr.cpp
M clang/test/Sema/warn-alloc-size.c
Log Message:
-----------
[Clang] Fixed an assertion when ``__attribute__((alloc_size))`` is ued with an argument type wider than the target's pointer width (#202381)
Replace `zext()` with `extOrTrunc()` when normalizing the `APInt` value
to `BitsInSizeT`.
fixes #190445
Commit: 3136d62938e8cb8ac3ca735d7db741a0c0d11521
https://github.com/llvm/llvm-project/commit/3136d62938e8cb8ac3ca735d7db741a0c0d11521
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tsd_shared.h
Log Message:
-----------
[scudo] Remove locks from getTSDAndLockSlow (#201960)
Change the name of getTSDAndLockSlow to getTSDLockSlow and remove all
locks in favor of using atomic variables. Continue to lock when changing
the number of shared TSDs.
This change will remove thread contention and avoid blocking between
threads when this function is called.
Commit: 68ce9d311c8557a22005f676b1fb93a1bf87aefd
https://github.com/llvm/llvm-project/commit/68ce9d311c8557a22005f676b1fb93a1bf87aefd
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
Log Message:
-----------
[AArch64][TTI] Allow mixed-extension partial reductions with +dotprod (#199762)
With the backend now lowering SUMLA via two udot products on targets
that have +dotprod (#199761), lower the cost on targets without +i8mm.
PR: https://github.com/llvm/llvm-project/pull/199762
Commit: 5d2cc4dc1742d7373f0c52a0a29dcc5ab97a4446
https://github.com/llvm/llvm-project/commit/5d2cc4dc1742d7373f0c52a0a29dcc5ab97a4446
Author: lntue <lntue at google.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M libc/src/__support/math/cos.h
M libc/src/__support/math/sin.h
Log Message:
-----------
[libc][math] Improve the performance of sin/cos for small inputs |x| < 2^-4. (#201748)
- Use a degree-9 polynomial for fast path for sin(x), generated by Sollya,
with errors bounded by `|x| * 2^-68 + 2* ulp(x^3 / 6)`.
- Use a degree-8 polynomial for fast path for cos(x), generated by Sollya,
with errors bounded by `2^-69 + ulp(x^2/ 2 )`.
Commit: 50088e227544f2e6fe54dae54c57e3fd51623111
https://github.com/llvm/llvm-project/commit/50088e227544f2e6fe54dae54c57e3fd51623111
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M .github/workflows/release-doxygen.yml
M bolt/docs/CMakeLists.txt
M bolt/docs/doxygen.cfg.in
M clang-tools-extra/docs/CMakeLists.txt
M clang-tools-extra/docs/doxygen.cfg.in
M clang/docs/CMakeLists.txt
M clang/docs/doxygen.cfg.in
M cmake/Modules/HandleDoxygen.cmake
M flang/docs/CMakeLists.txt
M flang/docs/doxygen.cfg.in
M lldb/docs/CMakeLists.txt
M lldb/docs/doxygen.cfg.in
M llvm/docs/CMakeLists.txt
M llvm/docs/doxygen.cfg.in
M mlir/docs/CMakeLists.txt
M mlir/docs/doxygen.cfg.in
M openmp/docs/CMakeLists.txt
M openmp/docs/doxygen.cfg.in
M polly/docs/CMakeLists.txt
M polly/docs/doxygen.cfg.in
Log Message:
-----------
Revert "[docs] update CI to use latest release of doxygen" (#202412)
Reverts llvm/llvm-project#191501 as cmake CI is having an issue with it:
```
-- Doxygen enabled (1.14.0).
CMake Error at /work/as-worker-4/publish-doxygen-docs/llvm-project/cmake/Modules/HandleDoxygen.cmake:29 (add_custom_target):
add_custom_target cannot create target "doxygen" because another target
with the same name already exists. The existing target is a custom target
created in source directory
"/work/as-worker-4/publish-doxygen-docs/llvm-project/llvm". See
documentation for policy CMP0002 for more details.
Call Stack (most recent call first):
docs/CMakeLists.txt:59 (include)
```
Commit: 68f38db0720ce3f663a5856a8b64647c25b5d1bf
https://github.com/llvm/llvm-project/commit/68f38db0720ce3f663a5856a8b64647c25b5d1bf
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/test/TableGen/switch.td
Log Message:
-----------
[TableGen] Add list value test for switch(NFC) (#202327)
Commit: 2af629d7874007bef7f9ae03027bab4a8abfcde2
https://github.com/llvm/llvm-project/commit/2af629d7874007bef7f9ae03027bab4a8abfcde2
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb] Fixup address in JSONUtils::ValuePointsToCode (#201951)
On platforms with metadata in pointers (i.e. arm64e), the address must
be fixed up before requesting a load address.
This fixes TestDAP_evaluate.py for arm64e.
Commit: e7e5bb5e7bd81508b616c50ee9086f5646b2bc0f
https://github.com/llvm/llvm-project/commit/e7e5bb5e7bd81508b616c50ee9086f5646b2bc0f
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
A llvm/test/CodeGen/AArch64/misched-fusion-aes-post-ra.mir
M llvm/test/CodeGen/AArch64/misched-fusion-aes.ll
Log Message:
-----------
[AArch64][MacroFusion] Fuse only tied AES pairs post-RA (#201610)
This patch adds an ad-hoc check to macro fusion to only fuse AES pairs
that are tied post-RA as a guardrail.
Currently, ISel captures every RAW dependent AESE/D+AES[I]MC pair (by
data-dependence DAG), and applies a constraint that the pair must write
to the same dest, i.e the second instruction is tied (a thing that
cannot be expressed in SSA IR). So this is effectively a NFC in that
perspective, as AES is not really being lowered through other paths.
Here we add an appropriate check to macro fusion, if registers are
physical, to avoid pre-RA regression (maintaining the current status
where pre-RA fusion hides theoretical better schedules even if the pari
is not tied). Otherwise the tests in
llvm/test/CodeGen/AArch64/misched-fusion-aes.ll may not catch an ISel
change that would happen to pass, satisfying the register allocation
being filechecked.
If it appears in the future that a subtarget can fuse untied pairs, we
should re-address and maybe distinguish 2 subtarget features for the 2
cases.
Plus adding a test runline for latest apple-m5.
First attempt: https://github.com/llvm/llvm-project/pull/196484
Commit: ad33f2dd52e755506852ac220be7f113e4f3b1a3
https://github.com/llvm/llvm-project/commit/ad33f2dd52e755506852ac220be7f113e4f3b1a3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/assume-align.ll
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[InstCombine] Drop non-power-of-two alignment assumptions (#202396)
These assumptions aren't actually used anywhere, so we might as well
drop them. We might want consider emitting an assumption that the value
is zero at some point, but we don't have the bundles for that currently
and it seems rather low priority.
Commit: fffc591d831ace2fb4da53c5bdb7c44dac810ccb
https://github.com/llvm/llvm-project/commit/fffc591d831ace2fb4da53c5bdb7c44dac810ccb
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
A lldb/test/Shell/SymbolFile/NativePDB/invalid-type-refs.yaml
Log Message:
-----------
[lldb][NativePDB] Handle invalid type references gracefully (#202371)
Incrementally linked PDBs can contain semantically incorrect references
to types from the symbol streams and the IPI stream.
I can't reproduce it reliably, but as mentioned in #200452, at some
point the references become incorrect.
We should not crash if we receive such PDBs as input. Here I noticed two
issues:
1. `CVTagRecord` requires the passed type to be a type record
(union/struct/class). We should check that this is the case with
`IsTagRecord`.
2. After casting the return of `GetOrCreateClangType`, check that it's
the expected type (not null).
I added a test for both cases.
Commit: 3ca5b7dc4f50f5e1af51f25c2575c8fa509c24b7
https://github.com/llvm/llvm-project/commit/3ca5b7dc4f50f5e1af51f25c2575c8fa509c24b7
Author: David Justo <david.justo.1996 at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[ASan] add pattern 'cmp BYTE PTR [rdx], XX' to win instruction decoder (#202407)
**Context:** The ASan instruction decoder in `interception_win.cpp` has
a manual case-based list for each instruction pattern we expect to see
in function prologues.
Today, we have an instruction decoder for `cmp BYTE PTR [rcx], XX`, but
we do not have the equivalent for `cmp BYTE PTR [rdx], XX`. In recent
builds of Windows, that latter is now seen in `ucrtbase!strstr`.
**This PR** adds the missing case.
Commit: d15d95d3ce5b0d52ec0f19c5dfabb490211d06c3
https://github.com/llvm/llvm-project/commit/d15d95d3ce5b0d52ec0f19c5dfabb490211d06c3
Author: lntue <lntue at google.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M .github/workflows/libc-shared-tests.yml
Log Message:
-----------
[libc] Add gcc-12-arm-linux-gnueabihf to libc-shared-tests CI. (#202421)
To prevent regression for arm-linux-gnueabihf target. See
https://github.com/llvm/llvm-project/issues/201678
Commit: 6c6338b3438704cddc1cf3bc6676316856b64907
https://github.com/llvm/llvm-project/commit/6c6338b3438704cddc1cf3bc6676316856b64907
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M llvm/lib/Frontend/Offloading/ArchiveLinker.cpp
Log Message:
-----------
[Frontend][Offloading] Restore silent ignore for non-existing input files in nvlink (#202352) (#202403)
Partially revert commit
https://github.com/llvm/llvm-project/commit/a0ccab35110951afc9adc5d7dc733ba8c58cf3f9
to restore
the original behavior of silently skipping non-existent positional input
files
in resolveArchiveMembers(), while preserving strict validation in
clang-sycl-linker.
Background:
The original commit added error reporting for non-existent input files
in the
shared resolveArchiveMembers() function to catch genuine user errors.
However,
this broke clang-nvlink-wrapper when unrecognized options were misparsed
as
input files (e.g., "relro" from "-z relro" before the -z option was
properly
declared in NVLinkOpts.td).
Temporary solution:
- Restore the silent skip behavior in resolveArchiveMembers() for
positional
input files that don't exist or are directories
- Move the input validation to clang-sycl-linker's getInput() function,
where
strict checking is appropriate for SYCL's more controlled linking
environment
- This preserves the existing test expectations:
* clang-nvlink-wrapper silently ignores non-existent inputs
* clang-sycl-linker reports "input file not found" errors
See discussion:
https://github.com/llvm/llvm-project/pull/201253#discussion_r3364244664
and comment
https://github.com/llvm/llvm-project/pull/201253#issuecomment-4651284736.
Co-Authored-By: Claude
Commit: 7556cf15527c817983a14eaf20b87fd796f8dc5c
https://github.com/llvm/llvm-project/commit/7556cf15527c817983a14eaf20b87fd796f8dc5c
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
A mlir/test/Conversion/XeGPUToXeVM/loadstore_nd_transpose.mlir
Log Message:
-----------
[MLIR][XeGPU] Support transposed load_nd of sub-32-bit elements (#201636)
The 2D block load transpose feature is only available for 32-bit
elements. When a transposed load_nd is requested for a sub-32-bit
element type, the XeGPU-to-XeVM lowering now emulates it by
reinterpreting the tile as 32-bit elements: the element size is promoted
to 32 bits, the tile width is scaled down by (32 / elemBitSize), and the
column offset (offsetW) is right-shifted by log2(32 / elemBitSize) to
account for the wider element.
Add a conversion test (loadstore_nd_transpose.mlir) covering the f16
transposed load path.
Commit: 790d7f63668c6ead80f3f3f281e5a325bda95eeb
https://github.com/llvm/llvm-project/commit/790d7f63668c6ead80f3f3f281e5a325bda95eeb
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/test/Dialect/OpenACC/invalid-cg.mlir
M mlir/test/Dialect/OpenACC/ops-cg.mlir
Log Message:
-----------
[mlir][acc] Format consistency for reduction accumulate (#202414)
Avoid use of parentheses so that format for
`acc.reduction_accumulate` is consistent with rest of acc reduction
operations.
Commit: 046b7e951ab2282e4ee013db4e56a7c4c95a59dc
https://github.com/llvm/llvm-project/commit/046b7e951ab2282e4ee013db4e56a7c4c95a59dc
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm.mlir
Log Message:
-----------
[MLIR][XeGPU] Update Wg dpas_mx integration test. (#201680)
Make problem size smaller and add K loop.
Add host code to call gpu kernel.
Add test input and reference output.
Add comparison code to check output against reference output.
Commit: a8cb8253e4e53138894f646a0bcb5034866e3a95
https://github.com/llvm/llvm-project/commit/a8cb8253e4e53138894f646a0bcb5034866e3a95
Author: nvptm <pmathew at nvidia.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenACC/acc-declare-use-associated-allocatable.f90
M flang/test/Lower/OpenACC/acc-declare.f90
Log Message:
-----------
[flang][acc] Fix separate compilation for module !$acc declare create on allocatables. (#202409)
With separate compilation, a module defining `!$acc declare create` on
an allocatable and a using file that allocates it did not get
declare-action lowering in the using Translation Unit(TU):
`ACCDeclareActionConversion` could not resolve the post-alloc recipe
(defined only in the module .o), so no `fir.call` was emitted.
Add `acc.declare_action` for allocatable/pointer symbols under !$acc
declare.
* In the defining TU: Export module-global post-alloc/post-dealloc
recipes as linkable definitions and mark them with acc.declare_action at
creation.
* In the using TU: When declaring a USE-associated module global, emit
private external recipe stubs so the declare-action conversion pass can
insert fir.calls that link to the module definition.
Commit: c06483c6fb9fc84bed1ae33172323c9aa57a3ca4
https://github.com/llvm/llvm-project/commit/c06483c6fb9fc84bed1ae33172323c9aa57a3ca4
Author: Hamza Khan <99187565+HamzaKodez at users.noreply.github.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
A llvm/test/MC/ARM/bf-invalid-target.s
Log Message:
-----------
[ARM] Reject invalid BF encoding when target is next instruction (#201533)
When the BF instruction targets the immediately following label, the
encoded branch offset becomes zero, causing LLVM to emit invalid machine
code.
Add validation in the fixup_bf_branch path to reject this case and emit
an error instead.
Add MC regression test to cover new validation.
Assisted by ChatGPT. Human-verified, debugged, tested and validating by
author.
Commit: 14baa81e24fcd22cca188cabe3a6c76debd14c95
https://github.com/llvm/llvm-project/commit/14baa81e24fcd22cca188cabe3a6c76debd14c95
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/frexp.ll
Log Message:
-----------
[InstCombine] Fix invalid IR when folding frexp(frexp(x)) with mismatched exponent types (#202419)
Instcombine folds the idempotent frexp pattern
%inner = call { double, i64 } @llvm.frexp.f64.i64(double %x)
%f = extractvalue { double, i64 } %inner, 0
%outer = call { double, i32 } @llvm.frexp.f64.i32(double %f)
to `{ %f, 0 }`, because the fraction after the first frexp call is known
0. It did this by reusing the inner frexp's result struct and
overwriting field 1 with zero.
But you can see in this example that reusing the inner frexp's
result struct is invalid, because that call returns { double, i64 },
whereas the second call returns { double, i32 }.
Fix this by building the new struct instead of modifying the old one.
Commit: 700febc04caa41923eaf4b3911db26cb13482a83
https://github.com/llvm/llvm-project/commit/700febc04caa41923eaf4b3911db26cb13482a83
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
Log Message:
-----------
[InstCombine] Fix incorrect is_zero_poison when folding select+ctlz to cttz (#202388)
foldSelectCtlzToCttz folds
%lz = call i32 @llvm.ctlz.i32(i32 (x & -x), i1 is_zero_poison)
%r = select (icmp eq x, 0), i32 32, i32 (xor %lz, 31)
into
%r = call i32 @llvm.cttz.i32(i32 x, i1 is_zero_poison)
The original select's result is defined when x is zero, even if
is_zero_poison is true. Therefore in the new cttz call, we need to pass
false for the second param, we can't reuse is_zero_poison.
Commit: 9f73a97cfb1a40da42a870906e2221102a71f807
https://github.com/llvm/llvm-project/commit/9f73a97cfb1a40da42a870906e2221102a71f807
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
Log Message:
-----------
[X86] Fix typo in SLH statistic description. NFC (#202424)
Commit: 1d7930a9ef276f6e85aa063c808d53cffb0719b5
https://github.com/llvm/llvm-project/commit/1d7930a9ef276f6e85aa063c808d53cffb0719b5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/utils/sanitizers/ubsan_ignorelist.txt
Log Message:
-----------
[ubsan] Add [undefined] section to ignorelist (#202380)
`-fsanitize-blacklist` this files passed as which apply to any
sanitizers.
So if Ubsan is combined with Asan, as-is these suppressions apply to
Asan
which is clearly was not the intention.
Commit: 5eae7dc2ac7d8dde06a943771b792aeb91c31f57
https://github.com/llvm/llvm-project/commit/5eae7dc2ac7d8dde06a943771b792aeb91c31f57
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/single-scalar-cast.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/as_cast.ll
M llvm/test/Transforms/LoopVectorize/cast-costs.ll
M llvm/test/Transforms/LoopVectorize/cast-induction.ll
M llvm/test/Transforms/LoopVectorize/preserve-inbounds-gep-with-pointer-casts.ll
Log Message:
-----------
Revert "[VPlan] Use VPInstructionWithType for uniform casts." (#202427)
Reverts llvm/llvm-project#140623
breaks https://lab.llvm.org/buildbot/#/builders/160/builds/39088 due to
visibility issues
Commit: 34208eb1a7fc4088da22099872f09f62c6497154
https://github.com/llvm/llvm-project/commit/34208eb1a7fc4088da22099872f09f62c6497154
Author: Michael Jones <michaelrj at google.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
Log Message:
-----------
[ObjectYAML] Avoid comparison of compressed data (#202413)
The result of zlib compression isn't consistent across versions.
Downstream this test was failing due to our version giving slightly
different results. This version passes both upstream and downstream.
Assisted-by: Automated tooling, human reviewed.
Commit: 9b128e8b28eb4fd4aa873f984c389dcf9b8fecfd
https://github.com/llvm/llvm-project/commit/9b128e8b28eb4fd4aa873f984c389dcf9b8fecfd
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-06-09 (Tue, 09 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/FormatString.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/Sema/format-strings-decimal.c
Log Message:
-----------
[Clang] add support for C23 'H', 'D', and 'DD' length modifiers (#201098)
This patch adds `-Wformat` support for the C23 `H`, `D`, and `DD` length
modifiers in `printf`/`scanf` format strings. #116962
Commit: d33b8093ce336b92d01f55033aed7021f5244eec
https://github.com/llvm/llvm-project/commit/d33b8093ce336b92d01f55033aed7021f5244eec
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/simple_3d_gemm.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/simple_3d_mxfp_gemm.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[MLIR][XeGPU] Add unrolling/blocking support for 3D+ batched operations (#201725)
**Summary**
Add complete transform pass and lowering support for 3D+ batched
operations, building on the operation definition extensions for
load_nd/store_nd/prefetch_nd/dpas/dpas_mx. This enables end-to-end
compilation of batched GEMM workloads (e.g., [4, 64, 32] × [4, 32, 64] →
[4, 64, 64]).
**Key changes:**
Transform passes (XeGPUUnroll.cpp):
> Implement 3D batch unrolling using memref.subview to handle batch
offsets
> UnrollCreateNdOp: For rank > 2 with memref source, create per-batch
memref.subview slices and corresponding create_nd_tdesc ops
> UnrollLoadNdOp/StoreNdOp/PrefetchNdOp: Iterate over batch dimension
then inner 2D tile offsets, reusing batch tdescs across inner tiles
> UnrollDpasOp/UnrollDpasMxOp: Add outer batch loop before M/K/N
unrolling
> Remove returnSingleType parameter, compute correct batch counts
directly
> Use targetShape (inst_data) for tdesc window size
>
Blocking pass (XeGPUBlocking.cpp):
> Update getUnrolledTypes() to handle batch dimensions in TensorDescType
> Extend inst_data extraction for >2D vectors with leading batch dims
> Fix getDpasInstDataVectors() to use correct M dimension for >2D types
Layout propagation (XeGPULayoutImpl.cpp, XeGPUPropagateLayout.cpp):
> Extend createScaleLayout() to handle rank >= 2
> Fix store_nd inst_data propagation for rank > 2
> Update lane layout logic to handle >2D vectors with leading unit dims
Distribution (XeGPUWgToSgDistribute.cpp):
> Extend WgToSgDpasOp and WgToSgDpasMxOp to handle >2D result shapes
Lowering (XeGPUToXeVM.cpp):
> Keep batch offset computation in unroll pass via memref.subview
> Use last 2 dims for H/W offsets and shape in CreateNdDescToXeVMPattern
> Handle tileRank >= 2 in load/store/prefetch lowering
Utilities (XeGPUUtils.cpp):
> Update getDistributedVectorType for batch-aware shapes by trimming
leading layout dims
Tests:
> Add xegpu-blocking.mlir tests for 3D batch dpas and dpas_mx unrolling
> Add simple_3d_gemm.mlir integration test (4-batch GEMM)
> Add simple_3d_mxfp_gemm.mlir integration test (XFAIL)
> Update invalid.mlir with 3D shape mismatch tests
Assisted-by-Claude
---------
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 52ba9fa9732e8dcace2d28561caf1ef0b9631a78
https://github.com/llvm/llvm-project/commit/52ba9fa9732e8dcace2d28561caf1ef0b9631a78
Author: kwyatt-ext <kwyatt.external at hpe.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/type.h
M flang/lib/Evaluate/type.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
A flang/test/Parser/enumeration-type.f90
Log Message:
-----------
Reapply "[flang] Enumeration Type: (PR 1/5) Foundation types + Parser" (#202440)
FortranEvaluate referenced DerivedTypeSpec::GetScope(), defined
out-of-line in FortranSemantics, producing an undefined reference in
libFortranEvaluate.so under BUILD_SHARED_LIBS=ON. Made GetScope() inline
in symbol.h so no cross-library symbol is needed.
This is the fix missing from the original PR (#192651), which was
reverted in #202408.
---------
Co-authored-by: Kevin Wyatt <kwyatt at hpe.com>
Commit: 26ebcddb8f886640b20a8643d5ff212f95f7bbd8
https://github.com/llvm/llvm-project/commit/26ebcddb8f886640b20a8643d5ff212f95f7bbd8
Author: jpwang <jpwang at smail.nju.edu.cn>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/prefetch-poison-arg.c
Log Message:
-----------
[Clang][CodeGen] Avoid emitting poison immargs for __builtin_prefetch (#201623)
Fixes #201448
This PR fixes invalid clang CodeGen when lowering `__builtin_prefetch`
that is called with a constant expression that produces a poison value.
The code currently assumes that the immediate operands are
`ConstantInt`s. This is not always true as poison values may come from
UB expressions (e.g., `__builtin_prefetch(0, 2 >> 32)`) due to the use
of `EmitScalarExpr`. This would cause the subsequent downcast
`cast<ConstantInt>` in `SelectionDAGBuilder` to fail.
This PR replaces `EmitScalarExpr` with `EmitScalarOrConstFoldImmArg` to
obtain an integer constant instead of emitting a poison value for the
corresponding arguments of `llvm.prefetch`.
A regression test is also added to cover the poison immediate argument
case.
I used GPT-5.5 while working on this PR for understanding the issue and
drafting the PR description / test plan. The actual code changes and
tests are written by me, and I have noted the AI tool usage in the PR
description.
Commit: 5709f9560f261866011e612993e46f72892ddb62
https://github.com/llvm/llvm-project/commit/5709f9560f261866011e612993e46f72892ddb62
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/include/lldb/API/SBModule.h
M lldb/include/lldb/API/SBModuleSpec.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/source/API/SBModule.cpp
M lldb/source/API/SBModuleSpec.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
A lldb/test/API/python_api/sbmodule/SeperateDebugInfo/Makefile
A lldb/test/API/python_api/sbmodule/SeperateDebugInfo/TestSBModuleSeparateDebugInfo.py
A lldb/test/API/python_api/sbmodule/SeperateDebugInfo/bar.cpp
A lldb/test/API/python_api/sbmodule/SeperateDebugInfo/main.cpp
Log Message:
-----------
[LLDB] Expose enumerator for separate-debug-info in SBModule (#144119)
Today we can run `target modules dump separate-debug-info --json` to get
a json blob of all the separate debug info, but it has a few
shortcomings when developing some scripting against it. Namely, the
caller has to know the structure of the JSON per architecture that will
be returned.
I've been working on a Minidump packing utility where we enumerate
symbols and source and put them in a package so we can debug with
symbols portably, and it's been difficult to maintain multiple
architectures due to the above shortcomings. To address this for myself,
I've exposed a simple iterator for the SBModule to get all the
separate-debug-info as list of filespecs with no need for the caller to
have context on what kind of data it is.
I also extened the swig interfaces to make writing my test easier and as
a nice to have.
Commit: 76afb4d5433e3324a34be585ee3adab9ee9f3d2e
https://github.com/llvm/llvm-project/commit/76afb4d5433e3324a34be585ee3adab9ee9f3d2e
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2026-06-09 (Tue, 09 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/test/Analysis/cstring-uninitread-notes.c
M clang/test/Analysis/placement-new.cpp
M clang/test/Analysis/std-c-library-functions-arg-constraints-tracking-notes.c
M clang/test/Analysis/std-c-library-functions-arg-constraints.c
M clang/test/Analysis/uninit-const.c
M clang/test/Analysis/uninit-vals.m
Log Message:
-----------
[analyzer] Fix misleading 'initialized here' note for uninitialized d… (#198345)
…eclarations
When a variable is declared without an initializer, the
BugReporterVisitor would emit 'initialized here' as a note, which is
confusing because the variable was never initialized.
Change the note to 'declared without an initial value' for declarations
that have no initializer. Global-storage variables are also taken into
consideration.
Removed the SI.Value.isUndef() case, as it is unreachable in
practice because core.uninitialized.Assign (a core checker, always
enabled) reports
the assignment before this note can surface.
Commit: 87966833a691a5cabc0507c09e15e4350e9df854
https://github.com/llvm/llvm-project/commit/87966833a691a5cabc0507c09e15e4350e9df854
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/unittests/Support/DynamicLibrary/PipSqueak.h
Log Message:
-----------
[test][DynamicLibrary] Add visibility attribute for GCC/Clang in PipSqueak.h (#202445)
By default CFI builds with hidden, failing expectation for the test.
Commit: c0c6694ad9e33deebe4187de6de06cd0c65d97c8
https://github.com/llvm/llvm-project/commit/c0c6694ad9e33deebe4187de6de06cd0c65d97c8
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions-tail-folded.ll
Log Message:
-----------
[VPlan] Fix vplan printing for VPExpressionRecipe w/conditional reduction. (#198954)
This patch contains two parts.
- Add a new vplan-printing test which is duplicated from
vplan-printing-reductions.ll and force tail folding.
- Fix the printing of VPExpressionRecipe for conditional reductions.
Since the mask operand cannot be accessed directly through the reduction
recipe once folded, it need to be fetched from the expression recipe's
operands.
Commit: 884a4344916ac52b8071317e6b57b6a38acf214e
https://github.com/llvm/llvm-project/commit/884a4344916ac52b8071317e6b57b6a38acf214e
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/ObjC/CF.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
Log Message:
-----------
[lldb][NFC] Remove redundant TypeSystemClang.h includes (#202439)
TypeSystemClang.h includes a lot of other unique headers, and should not
be included unless needed.
Commit: b01fe4e3d192a293caee9ec74ff4012958758d6b
https://github.com/llvm/llvm-project/commit/b01fe4e3d192a293caee9ec74ff4012958758d6b
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUBarrierLatency.cpp
M llvm/test/CodeGen/AMDGPU/ldsdmacnt_sched.mir
Log Message:
-----------
[AMDGPU] Do not always add latency between LDSDMA -> S_WAIT_LDSDMA (#201942)
In loop bodies we typically see LDSDMA instructions prefetched an
iteration or more. Thus, we may have LDSDMA, followed by S_WAIT_LDSDMA
that is waiting on prior iteration LDSDMA. Currently, the scheduler
thinks there will be a long stall between this LDSDMA and S_WAIT_LDSDMA.
This adds some basic checking for LDSDMA and S_WAIT_LDSDMA in the same
region to avoid adding latency in cases where we are certain the
S_WAIT_LDSDMA does not correspond with the LDSDMA.
Commit: 7087094b05a1bba64a99474cc501328919e11b4a
https://github.com/llvm/llvm-project/commit/7087094b05a1bba64a99474cc501328919e11b4a
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-syntax.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-json-extension.txt
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/id-table.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/io.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/linkage.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/permissions.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/round-trip.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/summary-data.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
Log Message:
-----------
[clang][ssaf] Convert `JSONFormat` tests for `TUSummary` and `TUSummaryEncoding` to lit tests (#192187)
This change converts most of the `TUSummary` json tests in `TUSummaryTest.cpp` to use `lit`. Some tests require more care and will be addressed in future PRs.
Commit: b47267441e513f5d65169933cba48c26eb40b803
https://github.com/llvm/llvm-project/commit/b47267441e513f5d65169933cba48c26eb40b803
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
A llvm/test/CodeGen/WebAssembly/multivalue-do-not-stackify.ll
M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
M llvm/test/CodeGen/WebAssembly/multivalue.ll
M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll
M llvm/test/CodeGen/WebAssembly/wide-arithmetic.ll
Log Message:
-----------
[WebAssembly] Don't stackify multi-def instructions (#200429)
This commit updates the `WebAssemblyRegStackify.cpp` pass to
specifically exclude attempting to stackify the first def of a multi-def
instruction. As the previous comments indicate this is possible to do in
some situations, but the current logic is incomplete and has led to
miscompilations such as #98323 and #199910. One option would be to make
the logic more robust, but in lieu of that in the meantime the change
here is to completely disable stackification in these situations. This
provides at least a "known working" base to build on later and fixes the
known regressions around this.
Closes #98323
Closes #199910
Commit: 89086dbe073123f1a6507c74681d82f674250dcb
https://github.com/llvm/llvm-project/commit/89086dbe073123f1a6507c74681d82f674250dcb
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-06-09 (Tue, 09 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_vector_bfloat16_amd.ll
Log Message:
-----------
[SPIR-V] Allow bfloat vector atomics lowering without scalarization (#202083)
This is a workaround only for AMD triple - to use
SPV_NV_shader_atomic_fp16_vector for this lowering.
Commit: 2426b855f30344b603ca84ce5b8c7e0d94799fe7
https://github.com/llvm/llvm-project/commit/2426b855f30344b603ca84ce5b8c7e0d94799fe7
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M clang/docs/ClangSYCLLinker.rst
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/link.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OffloadTools/clang-sycl-linker/triple.ll
M clang/tools/clang-nvlink-wrapper/CMakeLists.txt
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
R llvm/include/llvm/Frontend/Offloading/ArchiveLinker.h
R llvm/lib/Frontend/Offloading/ArchiveLinker.cpp
M llvm/lib/Frontend/Offloading/CMakeLists.txt
Log Message:
-----------
Revert "[clang][sycl][nvlink] Share static library linking in Frontend/Offloading (#201253)" (#202457)
This reverts commits
https://github.com/llvm/llvm-project/commit/8aafa50c7a2dfb8ca1d5cdf8980f7f2d259779f5,
https://github.com/llvm/llvm-project/commit/dca9eaa98fd71535e8d283ae390c96266c5b9b8c,
https://github.com/llvm/llvm-project/commit/7389aa2ef380ca2b64d8fa34b633e5d2a4efef0a
and
https://github.com/llvm/llvm-project/commit/6c6338b3438704cddc1cf3bc6676316856b64907.
These commits break libomptarget :: nvptx64-nvidia-cuda. See
https://github.com/llvm/llvm-project/pull/201253#issuecomment-4654267605
for more details.
Commit: 16380b4193bd7f68b23a22a2119412527116ebf7
https://github.com/llvm/llvm-project/commit/16380b4193bd7f68b23a22a2119412527116ebf7
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2026-06-09 (Tue, 09 Jun 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/green-dragon/lldb-windows.groovy
M .clang-format-ignore
M .git-blame-ignore-revs
M .github/workflows/containers/libc/Dockerfile
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/libcxx-run-benchmarks.yml
M .github/workflows/release-binaries.yml
M .github/workflows/upload-release-artifact/action.yml
A bolt/docs/BOLTAArch64OptimizationStatus.rst
M bolt/docs/profiles.md
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/SplitFunctions.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/AArch64/veneer-erratum-843419.s
M bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
A bolt/test/X86/dwarf5-dwp-tsan-data-race.test
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/perf2bolt/lit.local.cfg
A bolt/test/perf2bolt/perf_brstack.test
M bolt/test/perf2bolt/perf_test.test
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/heatmap.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/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/MDMustacheGenerator.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/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.h
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.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/ContainerSizeEmptyCheck.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/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/Headers.h
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/StdLib.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/SymbolID.h
M clang-tools-extra/clangd/index/dex/Token.h
M clang-tools-extra/clangd/index/dex/Trigram.h
M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
A clang-tools-extra/clangd/test/modules_config_remove_flags.test
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/missing-end-comparison.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
M clang-tools-extra/docs/conf.py
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/algorithm
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/iterator
M clang-tools-extra/test/clang-tidy/checkers/altera/id-dependent-backward-branch.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-custom.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx17.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx98.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
A clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/statically-constructed-objects.cpp
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
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/function-size-ignore-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
R clang/.clang-format-ignore
M clang/CMakeLists.txt
M clang/bindings/python/clang/cindex.py
A clang/cmake/caches/generic-allow-shared-imports.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-defaults-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dylib-dist.cmake
M clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang-c/BuildSystem.h
M clang/include/clang-c/Index.h
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTTypeTraits.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/BaseSubobject.h
M clang/include/clang/AST/CharUnits.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/JSONNodeDumper.h
A clang/include/clang/AST/MatrixUtils.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeOrdering.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Utils.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Analysis/CallGraph.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/Formula.h
M clang/include/clang/Analysis/ProgramPoint.h
M clang/include/clang/Analysis/RetainSummaryManager.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/FileManager.h
R clang/include/clang/Basic/FileSystemStatCache.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TokenKinds.h
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/Basic/riscv_sifive_vector.td
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/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
A clang/include/clang/CIR/InitAllDialects.h
M clang/include/clang/DependencyScanning/DependencyGraph.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Interpreter/Value.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Options/FlangOptions.td
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/Weak.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/Tooling/Inclusions/StandardLibrary.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumCXXABI.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ProgramPoint.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/FileManager.cpp
R clang/lib/Basic/FileSystemStatCache.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CMakeLists.txt
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/lib/CIR/RegisterAllDialects.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGObjCMacConstantLiteralUtil.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/CodeGen/CodeGenTypes.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/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ModulesDriver.cpp
M clang/lib/Driver/SanitizerArgs.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/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/Serenity.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Headers/__clang_hip_libdevice_declares.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Index/IndexingContext.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.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/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.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/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/lib/Tooling/Tooling.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/ByteCode/libcxx/getfield-nonrecord.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/records.cpp
A clang/test/AST/ByteCode/switch-case-steps.cpp
M clang/test/AST/HLSL/matrix_layout_attr.hlsl
M clang/test/AST/ast-dump-templates-pattern.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/mock-types.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
A clang/test/Analysis/Checkers/WebKit/nodelete-lazy-initialize.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-syntax.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-json-extension.txt
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/id-table.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/io.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/linkage.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/permissions.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/round-trip.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/summary-data.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
A clang/test/Analysis/array-of-structs-initializer.cpp
M clang/test/Analysis/bstring_UninitRead.c
M clang/test/Analysis/cstring-uninitread-notes.c
M clang/test/Analysis/initialization.c
M clang/test/Analysis/initialization.cpp
A clang/test/Analysis/lifetime-end-simple-cfg-output.cpp
M clang/test/Analysis/placement-new.cpp
M clang/test/Analysis/std-c-library-functions-arg-constraints-tracking-notes.c
M clang/test/Analysis/std-c-library-functions-arg-constraints.c
M clang/test/Analysis/uninit-const.c
M clang/test/Analysis/uninit-vals.m
M clang/test/C/C23/n3037.c
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/CodeGen/binop.cpp
M clang/test/CIR/CodeGen/bitfield-union.c
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGen/bitfields_be.c
M clang/test/CIR/CodeGen/class.cpp
M clang/test/CIR/CodeGen/cleanup-conditional.cpp
A clang/test/CIR/CodeGen/cleanup-derived-to-base-ref.cpp
M clang/test/CIR/CodeGen/cleanup.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
A clang/test/CIR/CodeGen/compound_literal.c
M clang/test/CIR/CodeGen/constant-inits.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/ctor.cpp
M clang/test/CIR/CodeGen/cxx-abi-lowering-string-array.cpp
M clang/test/CIR/CodeGen/destructors.cpp
M clang/test/CIR/CodeGen/dumb-record.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
M clang/test/CIR/CodeGen/empty-union.c
M clang/test/CIR/CodeGen/empty-union.cpp
M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
M clang/test/CIR/CodeGen/forward-decls.cpp
A clang/test/CIR/CodeGen/func-linkage-weak-import.c
M clang/test/CIR/CodeGen/global-dtor-union-narrowed.cpp
A clang/test/CIR/CodeGen/global-temp-dtor.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
A clang/test/CIR/CodeGen/inline-forward-decl.c
M clang/test/CIR/CodeGen/long-double-inc-dec.cpp
M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/mms-bitfields.c
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/no-proto-fn-ptr-global-init.c
M clang/test/CIR/CodeGen/no-unique-address.cpp
M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/record-type-metadata.cpp
M clang/test/CIR/CodeGen/record-with-padded-union.cpp
M clang/test/CIR/CodeGen/record-zero-init-padding.c
M clang/test/CIR/CodeGen/self-ref-temporaries.cpp
M clang/test/CIR/CodeGen/struct.c
A clang/test/CIR/CodeGen/switch-cleanup.cpp
M clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/three-way-cmp.cpp
M clang/test/CIR/CodeGen/thunks.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/union.cpp
M clang/test/CIR/CodeGen/var_arg.c
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGen/variable-template-specialization.cpp
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGen/virtual-function-calls.cpp
M clang/test/CIR/CodeGen/vtable-emission.cpp
M clang/test/CIR/CodeGen/vtable-nyi-nonconvertible-functype.cpp
M clang/test/CIR/CodeGen/vtt.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlvp2intersect-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vp2intersect-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
M clang/test/CIR/CodeGenCXX/global-refs.cpp
M clang/test/CIR/CodeGenCXX/zero_init_bases.cpp
M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
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/CodeGenOpenCL/as_type.cl
M clang/test/CIR/IR/array-ctor.cir
M clang/test/CIR/IR/array-dtor.cir
M clang/test/CIR/IR/bitfield_info.cir
M clang/test/CIR/IR/construct-catch-param.cir
M clang/test/CIR/IR/copy.cir
M clang/test/CIR/IR/dynamic-cast.cir
M clang/test/CIR/IR/func-attrs.cir
M clang/test/CIR/IR/func.cir
M clang/test/CIR/IR/global-init.cir
M clang/test/CIR/IR/invalid-array-structor.cir
M clang/test/CIR/IR/invalid-cast.cir
M clang/test/CIR/IR/invalid-const-record.cir
M clang/test/CIR/IR/invalid-construct-catch-param.cir
M clang/test/CIR/IR/invalid-data-member.cir
M clang/test/CIR/IR/invalid-delete-array.cir
M clang/test/CIR/IR/invalid-dyn-cast.cir
A clang/test/CIR/IR/invalid-lifetime.cir
M clang/test/CIR/IR/invalid-struct.cir
M clang/test/CIR/IR/invalid-type-info.cir
M clang/test/CIR/IR/invalid-vtable.cir
A clang/test/CIR/IR/lifetime.cir
M clang/test/CIR/IR/method-attr.cir
A clang/test/CIR/IR/openacc.cir
M clang/test/CIR/IR/struct.cir
M clang/test/CIR/IR/unary.cir
M clang/test/CIR/IR/vtable-addrpt.cir
M clang/test/CIR/IR/vtable-attr.cir
M clang/test/CIR/IR/vtt-addrpoint.cir
M clang/test/CIR/Lowering/binop-fp.cir
A clang/test/CIR/Lowering/call-llvm-intrinsic.cir
M clang/test/CIR/Lowering/cast.cir
A clang/test/CIR/Lowering/lifetime.cir
M clang/test/CIR/Lowering/struct.cir
M clang/test/CIR/Lowering/vtt-addrpoint.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-int-to-record.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-return-larger.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-int.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-vector-to-complex.cir
M clang/test/CIR/Transforms/canonicalize-cleanup-scope.cir
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CIR/Transforms/cxx-abi-lowering-attrs.cir
M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch-invalid.cir
M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch.cir
M clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
M clang/test/CIR/Transforms/flatten-throwing-in-cleanup.cir
M clang/test/CIR/Transforms/flatten-try-op.cir
M clang/test/CIR/Transforms/pure-ptr-arithmetic.cir
M clang/test/CXX/basic/basic.link/p11.cpp
M clang/test/CXX/class/class.friend/p6.cpp
M clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.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
A clang/test/CodeGen/AArch64/f16f32dot-intrinsics.c
M clang/test/CodeGen/AArch64/ls64-inline-asm.c
M clang/test/CodeGen/AArch64/neon-2velem.c
R clang/test/CodeGen/AArch64/neon-across.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
M clang/test/CodeGen/AArch64/neon/fused-multiply.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
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_fp_int_cvtn_x2.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_int_fp_cvt.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
M clang/test/CodeGen/Inputs/stdbit.h
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/RISCV/riscv-cf-protection.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_t_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_v_t.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vtmv_t_v.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
A clang/test/CodeGen/SystemZ/zos-abi.c
A clang/test/CodeGen/SystemZ/zos-abi.cpp
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
A clang/test/CodeGen/builtin-stdc-memreverse8.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/cfi-check-fail2-nomerge.c
M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
M clang/test/CodeGen/glibc_ptr_align.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/lto-newpm-pipeline.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
A clang/test/CodeGen/prefetch-poison-arg.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/target-data.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/atomic-options.hip
M clang/test/CodeGenCUDA/builtins-amdgcn.cu
M clang/test/CodeGenCUDA/builtins-spirv-amdgcn.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/amdgcn-func-arg.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/bitfield-ir.cpp
M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
M clang/test/CodeGenCXX/default-arguments.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/explicit-instantiation.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
R clang/test/CodeGenHIP/offload-pgo-sections.hip
M clang/test/CodeGenHIP/placement-new-addrspace.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
A clang/test/CodeGenHLSL/matrix-layout-attr-overrides-default.hlsl
M clang/test/CodeGenHLSL/resources/Texture2D-GetDimensions.hlsl
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/as_type.cl
M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
M clang/test/CodeGenOpenCL/atomic-ops.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/CodeGenSYCL/kernel-caller-entry-point.cpp
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/driverkit-path.c
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
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/Frontend/spirv-target-validation.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
A clang/test/Index/print-type-predefined-sugar.cpp
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/Modules/pr195905.cppm
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OffloadTools/clang-sycl-linker/triple.ll
M clang/test/OpenMP/amdgcn_target_device_vla.cpp
A clang/test/OpenMP/amdgpu-arch-compat.c
M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
M clang/test/OpenMP/bug54082.c
M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.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/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p3_OR_sme2p3_RP___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
M clang/test/Sema/Inputs/stdbit.h
M clang/test/Sema/aarch64-neon-immediate-ranges/dotprod.c
M clang/test/Sema/alloc-size.c
M clang/test/Sema/attr-nonnull.c
A clang/test/Sema/builtin-stdc-memreverse8.c
M clang/test/Sema/constexpr.c
A clang/test/Sema/format-strings-c23.c
A clang/test/Sema/format-strings-decimal.c
M clang/test/Sema/format-strings.c
M clang/test/Sema/static-init.c
M clang/test/Sema/warn-alloc-size.c
M clang/test/Sema/warn-lifetime-safety-lifetimebound.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
M clang/test/SemaCUDA/addr-of-overloaded-fn.cu
A clang/test/SemaCUDA/addr-of-overloaded-template-fn.cu
M clang/test/SemaCXX/attr-section.cpp
M clang/test/SemaCXX/co_await-range-for.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
M clang/test/SemaCXX/for-range-dereference.cpp
M clang/test/SemaCXX/typeof.cpp
M clang/test/SemaHLSL/BuiltIns/logical-mat-operator-errors.hlsl
M clang/test/SemaHLSL/MatrixElementOverloadResolution.hlsl
M clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixImplicitTruncCastWarnings.hlsl
M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
M clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/combined-construct-create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-no_create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-present-ast.cpp
M clang/test/SemaOpenACC/combined-construct-private-firstprivate-ast.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/data-construct-create-ast.cpp
M clang/test/SemaOpenACC/data-construct-no_create-ast.cpp
M clang/test/SemaOpenACC/data-construct-present-ast.cpp
M clang/test/SemaOpenACC/sub-array-ast.cpp
M clang/test/SemaTemplate/alias-templates.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/ctad.cpp
M clang/test/SemaTemplate/friend-template.cpp
M clang/test/SemaTemplate/instantiate-scope.cpp
M clang/test/TableGen/target-builtins-prototype-parser.td
M clang/test/Templight/templight-default-func-arg.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
M clang/test/lit.cfg.py
M clang/tools/cir-lsp-server/CMakeLists.txt
M clang/tools/cir-lsp-server/cir-lsp-server.cpp
M clang/tools/cir-opt/CMakeLists.txt
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/cir-translate/CMakeLists.txt
M clang/tools/cir-translate/cir-translate.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/BuildSystem.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/Indexing.cpp
M clang/tools/libclang/libclang.map
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
A clang/unittests/AST/ByteCode/Pointer.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/CIR/PointerLikeTest.cpp
M clang/unittests/CIR/RecordTypeMetadataTest.cpp
M clang/unittests/CIR/UnionTypeSizeTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/CheckLifetimeEndTest.cpp
M clang/unittests/StaticAnalyzer/CheckerRegistration.h
M clang/unittests/libclang/LibclangTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/perf-training/lit.site.cfg.in
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/asan/asan_shadow_setup.cpp
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/builtins/ppc/init_ifuncs.c
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/orc/record_section_tracker.h
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map_info.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_lzw.h
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_dense_map_test.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/mem_map_linux.cpp
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/report_linux.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tsd_shared.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/test/cfi/mfcall.cpp
M compiler-rt/test/fuzzer/OutOfProcessFuzzTarget.cpp
M compiler-rt/test/hwasan/TestCases/try-catch.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/signal_line.cpp
M compiler-rt/test/tsan/many_held_mutex.cpp
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/DebuggerControllerBase.py
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/DextIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/LocIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/StepIR.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/Inputs/header.h
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_function.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_line.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_file_paths.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/basic_evaluate.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/evaluate_nothing.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/lit.local.cfg
M cross-project-tests/dtlto/dtlto-cache.test
M cross-project-tests/dtlto/savetemps-lock.test
M flang-rt/CMakeLists.txt
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-api-server.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/iso_c_binding.f90
M flang-rt/test/CMakeLists.txt
M flang-rt/unittests/Runtime/ListInputTest.cpp
M flang-rt/unittests/Runtime/Namelist.cpp
M flang/cmake/modules/FlangCommon.cmake
M flang/docs/Extensions.md
A flang/docs/MeetingNotes/2026/2026-06-03.md
M flang/docs/OpenACC-extensions.md
M flang/docs/ParallelMultiImageFortranRuntime.md
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Lower/IterationSpace.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Lower/Support/PrivateReductionUtils.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/type.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/Fortran.h
M flang/include/flang/Support/LangOptions.def
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.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/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-omp-loop.cpp
R flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/lib/Semantics/check-omp-variant.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/lib/Utils/OpenMP.cpp
A flang/test/Driver/frelaxed-c-loc-checks.f90
A flang/test/Driver/function-sections.f90
M flang/test/Driver/include-omp-header.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
A flang/test/Driver/offload-device.f90
M flang/test/Fir/CUDA/cuda-code-gen.mlir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/boxproc.fir
A flang/test/HLFIR/opt-bufferization-dealloc-conflict.fir
M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
A flang/test/HLFIR/separate-allocatable-assign.fir
M flang/test/Integration/OpenMP/atomic-capture-release.f90
M flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Integration/OpenMP/workshare-axpy.f90
A flang/test/Integration/function-sections.f90
M flang/test/Integration/prefetch.f90
M flang/test/Lower/HLFIR/elemental-result-length.f90
M flang/test/Lower/Intrinsics/show_descriptor.f90
M flang/test/Lower/OpenACC/acc-cache.f90
A flang/test/Lower/OpenACC/acc-declare-use-associated-allocatable.f90
M flang/test/Lower/OpenACC/acc-declare.f90
A flang/test/Lower/OpenACC/acc-module-definition-multi-name.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
A flang/test/Lower/OpenACC/acc-routine-multi-name.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/begin-metadirective.f90
A flang/test/Lower/OpenMP/Todo/metadirective-declarative.f90
R flang/test/Lower/OpenMP/Todo/metadirective-exec.f90
A flang/test/Lower/OpenMP/Todo/metadirective-loop.f90
R flang/test/Lower/OpenMP/Todo/metadirective-spec.f90
A flang/test/Lower/OpenMP/Todo/metadirective-structured-trait-property.f90
A flang/test/Lower/OpenMP/Todo/metadirective-target-device.f90
M flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/composite_simd_linear.f90
M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
M flang/test/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/linear_modifier.f90
M flang/test/Lower/OpenMP/loop-pointer-variable.f90
A flang/test/Lower/OpenMP/metadirective-construct.f90
A flang/test/Lower/OpenMP/metadirective-device-arch.f90
A flang/test/Lower/OpenMP/metadirective-device-isa.f90
A flang/test/Lower/OpenMP/metadirective-device-kind.f90
A flang/test/Lower/OpenMP/metadirective-implementation.f90
A flang/test/Lower/OpenMP/metadirective-nothing.f90
A flang/test/Lower/OpenMP/metadirective-user.f90
M flang/test/Lower/OpenMP/ordered-simd.f90
A flang/test/Lower/OpenMP/scalar-to-array-assign-target-device-O0.f90
M flang/test/Lower/OpenMP/workdistribute-saxpy-and-scalar-assign.f90
M flang/test/Lower/OpenMP/workdistribute-scalar-assign.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
A flang/test/Lower/intrinsic-module-array-constant.f90
A flang/test/Lower/scalar-to-array-assign-host-O0.f90
M flang/test/Lower/volatile1.f90
M flang/test/Parser/OpenMP/atomic-unparse.f90
M flang/test/Parser/OpenMP/declare_target-device_type.f90
M flang/test/Parser/OpenMP/groupprivate.f90
A flang/test/Parser/acc-routine-empty-parens.f90
M flang/test/Parser/acc-unparse.f90
A flang/test/Parser/enumeration-type.f90
A flang/test/Semantics/Inputs/device_modfile01_a.mod
A flang/test/Semantics/OpenACC/acc-default-none-scalars-strict.f90
M flang/test/Semantics/OpenACC/acc-default-none-scalars.f90
M flang/test/Semantics/OpenACC/acc-reduction-validity.f90
A flang/test/Semantics/OpenACC/acc-routine-multi-name-disabled.f90
A flang/test/Semantics/OpenACC/acc-routine-multi-name.f90
A flang/test/Semantics/OpenMP/declare-target-flags.f90
A flang/test/Semantics/OpenMP/declare-target-modfile.f90
A flang/test/Semantics/OpenMP/declare-variant-match.f90
M flang/test/Semantics/OpenMP/declare-variant.f90
M flang/test/Semantics/OpenMP/dump-requires-details.f90
M flang/test/Semantics/OpenMP/linear-clause01.f90
M flang/test/Semantics/OpenMP/metadirective-common.f90
M flang/test/Semantics/OpenMP/metadirective-user.f90
M flang/test/Semantics/OpenMP/private03.f90
M flang/test/Semantics/OpenMP/requires-modfile.f90
M flang/test/Semantics/OpenMP/simd-aligned.f90
A flang/test/Semantics/bind-c-real2.f90
M flang/test/Semantics/bind-c06.f90
A flang/test/Semantics/cuf-constant-generic-unified.cuf
A flang/test/Semantics/cuf-missing-intrinsic-modules.cuf
A flang/test/Semantics/device-modfile01.f90
A flang/test/Semantics/device-modfile02.f90
M flang/test/Semantics/entry01.f90
M flang/test/Semantics/reduce.cuf
M flang/test/Semantics/resolve124.f90
A flang/test/Transforms/debug-char-type-2.fir
M flang/test/lit.cfg.py
M flang/tools/bbc/bbc.cpp
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
A libc/cmake/modules/compiler_features/check_stdc_fenv_access.cpp
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/config.json
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/freebsd/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
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/config/windows/entrypoints.txt
M libc/docs/dev/implementation_standard.rst
M libc/docs/headers/math/index.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_ptrace_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_in6_addr.h
A libc/hdr/types/struct_udphdr.h
M libc/include/CMakeLists.txt
M libc/include/arpa/inet.yaml
M libc/include/inttypes.yaml
M libc/include/limits.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF-disable.h
M libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF.h
A libc/include/llvm-libc-macros/inet-address-macros.h
M libc/include/llvm-libc-macros/limits-macros.h
M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/include/llvm-libc-macros/math-macros.h
M libc/include/llvm-libc-macros/netinet-in-macros.h
M libc/include/llvm-libc-macros/stdfix-macros.h
A libc/include/llvm-libc-macros/sys-ptrace-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_in6_addr.h
M libc/include/llvm-libc-types/struct_timespec.h
A libc/include/llvm-libc-types/struct_udphdr.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/llvm-libc-types/u_char.h
A libc/include/llvm-libc-types/u_int32_t.h
A libc/include/llvm-libc-types/uint.h
M libc/include/math.yaml
M libc/include/netinet/in.yaml
A libc/include/netinet/udp.yaml
M libc/include/stdio.yaml
A libc/include/sys/ptrace.yaml
M libc/include/sys/types.yaml
M libc/include/unistd.yaml
M libc/include/wchar.yaml
M libc/shared/math.h
A libc/shared/math/acosbf16.h
M libc/src/__support/CPP/tuple.h
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/auxv.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/block.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/freestore.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acos.h
A libc/src/__support/math/acosbf16.h
M libc/src/__support/math/asin.h
M libc/src/__support/math/asin_utils.h
M libc/src/__support/math/asinpi.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atan_utils.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/log.h
M libc/src/__support/math/log10.h
M libc/src/__support/math/log1p.h
M libc/src/__support/math/log2.h
M libc/src/__support/math/log_range_reduction.h
M libc/src/__support/math/range_reduction_double_common.h
M libc/src/__support/math/sin.h
M libc/src/__support/math/sincos.h
M libc/src/__support/math/sincos_eval.h
M libc/src/__support/math/tan.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/threads/linux/thread.cpp
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/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/creat.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/link/CMakeLists.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/acosbf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acosbf16.cpp
M libc/src/poll/linux/poll.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.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/src/unistd/CMakeLists.txt
M libc/src/unistd/environ.cpp
M libc/src/unistd/environ.h
M libc/src/unistd/getopt.cpp
M libc/src/unistd/getopt.h
M libc/src/unistd/linux/alarm.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/swprintf.cpp
A libc/src/wchar/swprintf.h
M libc/test/include/CMakeLists.txt
A libc/test/include/unistd_macros_test.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/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/FPUtil/bfloat16_test.cpp
M libc/test/src/__support/FPUtil/comparison_operations_test.cpp
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freelist_heap_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/math/CMakeLists.txt
M libc/test/src/math/acos_test.cpp
A libc/test/src/math/acosbf16_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincos_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/acosbf16_test.cpp
A libc/test/src/netinet/CMakeLists.txt
A libc/test/src/netinet/in_test.cpp
A libc/test/src/netinet/udp_test.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
M libc/test/src/sys/socket/linux/socketopt_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 libc/test/src/unistd/sysconf_test.cpp
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/swprintf_test.cpp
M libc/utils/docgen/arpa/inet.yaml
M libclc/CMakeLists.txt
M libclc/README.md
M libclc/test/conversion/convert.cl
M libclc/test/geometric/cross.cl
M libclc/test/integer/add_sat.cl
M libclc/test/integer/sub_sat.cl
M libclc/test/math/cos.cl
M libclc/test/math/fabs.cl
M libclc/test/math/rsqrt.cl
M libclc/test/misc/as_type.cl
M libclc/test/update_libclc_tests.py
M libclc/test/work-item/get_group_id.cl
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/support.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__config
M libcxx/include/__expected/expected.h
M libcxx/include/__functional/function.h
M libcxx/include/__iterator/bounded_iter.h
M libcxx/include/__iterator/capacity_aware_iterator.h
M libcxx/include/__iterator/erase_if_container.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/messages.h
M libcxx/include/__locale_dir/money.h
M libcxx/include/__locale_dir/wstring_convert.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__node_handle
M libcxx/include/__stop_token/atomic_unique_lock.h
M libcxx/include/__stop_token/intrusive_shared_ptr.h
M libcxx/include/__stop_token/stop_state.h
M libcxx/include/__tree
M libcxx/include/__type_traits/integer_traits.h
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/is_constant_evaluated.h
M libcxx/include/__type_traits/is_within_lifetime.h
M libcxx/include/__type_traits/make_transparent.h
M libcxx/include/__utility/default_three_way_comparator.h
M libcxx/include/__utility/lazy_synth_three_way_comparator.h
M libcxx/include/__utility/try_key_extraction.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/include/version
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/modules/std.cppm.in
M libcxx/src/ios.cpp
M libcxx/src/memory_resource.cpp
M libcxx/test/libcxx/atomics/builtin_clear_padding.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/array/nodiscard.iterator.verify.cpp
A libcxx/test/libcxx/containers/views/views.span/nodiscard.iterator.verify.cpp
A libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/pragma_suppress.compile.pass.cpp
M libcxx/test/libcxx/localization/locales/use_facet.abort.pass.cpp
A libcxx/test/libcxx/localization/nodiscard.verify.cpp
A libcxx/test/libcxx/strings/basic.string/nodiscard.iterator.verify.cpp
A libcxx/test/libcxx/strings/string.view/nodiscard.iterator.verify.cpp
M libcxx/test/libcxx/thread/nodiscard.verify.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/libcxx/type_traits/nodiscard.verify.cpp
A libcxx/test/libcxx/utilities/optional/nodiscard.iterator.verify.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass.cpp
M libcxx/test/std/containers/associative/from_range_associative_containers.h
M libcxx/test/std/containers/associative/map/compare.pass.cpp
M libcxx/test/std/containers/associative/map/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/at.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/empty.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/max_size.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/size.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct_const.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/clear.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/key_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/value_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp
M libcxx/test/std/containers/associative/map/types.pass.cpp
M libcxx/test/std/containers/container.node/node_handle.pass.cpp
M libcxx/test/std/containers/exception_safety_helpers.h
M libcxx/test/std/containers/insert_range_maps_sets.h
M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_bytes.pass.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.pass.cpp
R libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.verify.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.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 libcxx/test/std/utilities/meta/meta.const.eval/is_within_lifetime.compile.pass.cpp
M libcxx/test/std/utilities/utility/utility.intcmp/intcmp.verify.cpp
A libcxx/test/support/CopyConstructible.h
M libcxx/test/support/is_transparent.h
M libcxx/test/support/nasty_string.h
M libcxx/test/support/private_constructor.h
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/generate_libcxx_cppm_in.py
M libcxx/utils/libcxx/header_information.py
M libcxx/utils/libcxx/test/modules.py
M lld/COFF/Chunks.h
M lld/COFF/LTO.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/LTO.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
M lld/MachO/ConcatOutputSection.h
M lld/MachO/ExportTrie.cpp
M lld/MachO/LTO.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/docs/ld.lld.1
M lld/test/ELF/dtlto/timetrace.test
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/ELF/lto/devirt_vcall_vis_public.ll
M lld/test/ELF/lto/devirt_vcall_vis_shared_def.ll
A lld/test/ELF/x86-64-relax-jump-tables.s
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/Config.h
M lld/wasm/InputFiles.cpp
M lld/wasm/SyntheticSections.h
M lld/wasm/Writer.cpp
M lldb/CMakeLists.txt
M lldb/bindings/python/CMakeLists.txt
M lldb/cmake/caches/Apple-lldb-macOS.cmake
M lldb/cmake/modules/AddLLDB.cmake
A lldb/cmake/modules/LLDBConcatFiles.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/conf.py
M lldb/docs/dil-expr-lang.ebnf
A lldb/docs/index.md
R lldb/docs/index.rst
A lldb/docs/python_api.md
R lldb/docs/python_api.rst
A lldb/docs/python_api_enums.md
R lldb/docs/python_api_enums.rst
A lldb/docs/python_extensions.md
R lldb/docs/python_extensions.rst
A lldb/docs/resources/build.md
R lldb/docs/resources/build.rst
A lldb/docs/resources/caveats.md
R lldb/docs/resources/caveats.rst
A lldb/docs/resources/contributing.md
R lldb/docs/resources/contributing.rst
A lldb/docs/resources/dataformatters.md
R lldb/docs/resources/dataformatters.rst
A lldb/docs/resources/debugging.md
R lldb/docs/resources/debugging.rst
A lldb/docs/resources/extensions.md
R lldb/docs/resources/extensions.rst
A lldb/docs/resources/formatterbytecode.md
R lldb/docs/resources/formatterbytecode.rst
A lldb/docs/resources/fuzzing.md
R lldb/docs/resources/fuzzing.rst
M lldb/docs/resources/lldbgdbremote.md
A lldb/docs/resources/overview.md
R lldb/docs/resources/overview.rst
A lldb/docs/resources/projects.md
R lldb/docs/resources/projects.rst
A lldb/docs/resources/qemu-testing.md
R lldb/docs/resources/qemu-testing.rst
A lldb/docs/resources/sbapi.md
R lldb/docs/resources/sbapi.rst
A lldb/docs/resources/test.md
R lldb/docs/resources/test.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/links.md
R lldb/docs/use/links.rst
A lldb/docs/use/map.md
R lldb/docs/use/map.rst
A lldb/docs/use/ondemand.md
R lldb/docs/use/ondemand.rst
A lldb/docs/use/python-reference.md
R lldb/docs/use/python-reference.rst
A lldb/docs/use/remote.md
R lldb/docs/use/remote.rst
A lldb/docs/use/repeat-commands.md
R lldb/docs/use/repeat-commands.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/API/SBDebugger.h
M lldb/include/lldb/API/SBModule.h
M lldb/include/lldb/API/SBModuleSpec.h
M lldb/include/lldb/Core/Address.h
M lldb/include/lldb/Core/AddressRange.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/Highlighter.h
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Host/Config.h.cmake
M lldb/include/lldb/Host/HostThread.h
M lldb/include/lldb/Host/MainLoopBase.h
A lldb/include/lldb/Host/ScriptInterpreterRuntimeLoader.h
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/include/lldb/Host/common/NativeThreadProtocol.h
R lldb/include/lldb/Host/windows/PythonPathSetup/PythonPathSetup.h
M lldb/include/lldb/Symbol/LineTable.h
M lldb/include/lldb/Symbol/Symbol.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
A lldb/include/lldb/Target/ProcessIOHandler.h
M lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
M lldb/include/lldb/Utility/ConstString.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
M lldb/include/lldb/Utility/UUID.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/module.modulemap
M lldb/packages/Python/lldbsuite/support/gmodules.py
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbpexpect.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/API/SBDebugger.cpp
M lldb/source/API/SBModule.cpp
M lldb/source/API/SBModuleSpec.cpp
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/MainLoopBase.cpp
A lldb/source/Host/common/PythonRuntimeLoader.cpp
A lldb/source/Host/common/PythonRuntimeLoaderInternal.h
A lldb/source/Host/common/ScriptInterpreterRuntimeLoader.cpp
A lldb/source/Host/linux/PythonRuntimeLoaderLinux.cpp
A lldb/source/Host/macosx/PythonRuntimeLoaderDarwin.cpp
M lldb/source/Host/windows/ConnectionConPTYWindows.cpp
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
R lldb/source/Host/windows/PythonPathSetup/CMakeLists.txt
R lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
A lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
A lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.cpp
A lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.h
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/ObjC/CF.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeThreadFreeBSD.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeThreadFreeBSD.h
M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
M lldb/source/Plugins/Process/Linux/NativeThreadLinux.h
M lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp
M lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.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
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/IDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.cpp
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.h
R lldb/source/Plugins/Process/Windows/Common/MSVCRTCFrameRecognizer.cpp
R lldb/source/Plugins/Process/Windows/Common/MSVCRTCFrameRecognizer.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/NativeThreadWindows.h
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp
M lldb/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp
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/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
M lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.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/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbSymUid.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbSymUid.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Target/CMakeLists.txt
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
A lldb/source/Target/ProcessIOHandler.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
M lldb/source/Utility/RISCV_DWARF_Registers.h
M lldb/source/Utility/StringExtractorGDBRemote.cpp
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
A lldb/test/API/accelerator/mock/TestMockAcceleratorBreakpoints.py
M lldb/test/API/accelerator/mock/TestMockAcceleratorPlugin.py
M lldb/test/API/accelerator/mock/main.c
M lldb/test/API/commands/apropos/formatting/TestAproposFormatting.py
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/expression/multiline-completion/TestMultilineCompletion.py
M lldb/test/API/commands/expression/multiline-navigation/TestMultilineNavigation.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Assignment/TestFrameVarDILAssign.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/TestFrameVarDILCompositeAssign.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/main.cpp
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/TestFrameVarDILBitwise.py
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/main.cpp
M lldb/test/API/commands/gui/basic/TestGuiBasic.py
M lldb/test/API/commands/gui/basicdebug/TestGuiBasicDebug.py
M lldb/test/API/commands/gui/breakpoints/TestGuiBreakpoints.py
M lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py
M lldb/test/API/commands/gui/spawn-threads/TestGuiSpawnThreads.py
M lldb/test/API/commands/gui/viewlarge/TestGuiViewLarge.py
M lldb/test/API/commands/process/attach/main.cpp
M lldb/test/API/commands/register/aarch64_dynamic_regset/main.c
M lldb/test/API/commands/register/aarch64_sve_registers/rw_access_static_config/main.c
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
M lldb/test/API/functionalities/postmortem/elf-core/altmain.core
M lldb/test/API/functionalities/postmortem/elf-core/altmain.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-neon.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-pac.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-pac.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-sve-fpsimd.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-sve-full.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-fpr_sse_i386.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-fpr_sse_x86_64.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-i386.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-i386.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-loongarch64.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-loongarch64.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-ppc64le.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_fpr.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_fpr.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_only.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_only.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-s390x.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-x86_64.out
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/postmortem/netbsd-core/1lwp_SIGSEGV.amd64
M lldb/test/API/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV.amd64.core
M lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_process_SIGSEGV.amd64
M lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_process_SIGSEGV.amd64.core
M lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.amd64
M lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.amd64.core
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py
M lldb/test/API/functionalities/thread/jump/TestThreadJump.py
M lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py
M lldb/test/API/functionalities/thread/state/TestThreadStates.py
M lldb/test/API/iohandler/autosuggestion/TestAutosuggestion.py
M lldb/test/API/iohandler/completion/TestIOHandlerCompletion.py
M lldb/test/API/iohandler/resize/TestIOHandlerResize.py
M lldb/test/API/iohandler/sigint/TestIOHandlerPythonREPLSigint.py
M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
M lldb/test/API/iohandler/sigint/cat.cpp
M lldb/test/API/iohandler/stdio/TestIOHandlerProcessSTDIO.py
M lldb/test/API/iohandler/unicode/TestUnicode.py
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py
M lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/macosx/branch-islands/Makefile
M lldb/test/API/macosx/expedited-thread-pcs/TestExpeditedThreadPCs.py
A lldb/test/API/macosx/simulator/lit.local.cfg
M lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
M lldb/test/API/python_api/default-constructor/sb_debugger.py
M lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
M lldb/test/API/python_api/global_module_cache/one-print.c
M lldb/test/API/python_api/global_module_cache/two-print.c
M lldb/test/API/python_api/run_locker/TestRunLocker.py
A lldb/test/API/python_api/sbmodule/SeperateDebugInfo/Makefile
A lldb/test/API/python_api/sbmodule/SeperateDebugInfo/TestSBModuleSeparateDebugInfo.py
A lldb/test/API/python_api/sbmodule/SeperateDebugInfo/bar.cpp
A lldb/test/API/python_api/sbmodule/SeperateDebugInfo/main.cpp
M lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py
M lldb/test/API/qemu/TestQemuLaunch.py
M lldb/test/API/repl/clang/TestClangREPL.py
M lldb/test/API/terminal/TestDisabledBreakpoints.py
M lldb/test/API/terminal/TestEditline.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/coreFile/TestDAP_coreFile.py
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
R lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
M lldb/test/API/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
A lldb/test/API/tools/lldb-server/apple-simulator/Makefile
A lldb/test/API/tools/lldb-server/apple-simulator/TestAppleSimulatorOSType.py
A lldb/test/API/tools/lldb-server/apple-simulator/lit.local.cfg
A lldb/test/API/tools/lldb-server/apple-simulator/main.cpp
M lldb/test/CMakeLists.txt
A lldb/test/Shell/Process/Windows/output_debug_string.cpp
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
A lldb/test/Shell/SymbolFile/NativePDB/invalid-type-refs.yaml
M lldb/tools/debugserver/source/DNB.cpp
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/ProtocolUtils.cpp
M lldb/tools/lldb-dap/tool/CMakeLists.txt
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.cpp
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.h
M lldb/unittests/Host/CMakeLists.txt
A lldb/unittests/Host/PythonRuntimeLoaderTest.cpp
M lldb/unittests/Symbol/TestType.cpp
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
M lldb/unittests/Target/MemoryTest.cpp
A lldb/unittests/Utility/AcceleratorGDBRemotePacketsTest.cpp
M lldb/unittests/Utility/CMakeLists.txt
M llvm/Maintainers.md
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/docs/AMDGPU/AMDGPUAsmGFX12.rst
R llvm/docs/AMDGPU/gfx12_addr.rst
R llvm/docs/AMDGPU/gfx12_attr.rst
R llvm/docs/AMDGPU/gfx12_clause.rst
R llvm/docs/AMDGPU/gfx12_data0_56f215.rst
R llvm/docs/AMDGPU/gfx12_data0_6802ce.rst
R llvm/docs/AMDGPU/gfx12_data0_e016a1.rst
R llvm/docs/AMDGPU/gfx12_data0_fd235e.rst
R llvm/docs/AMDGPU/gfx12_data1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_data1_731030.rst
R llvm/docs/AMDGPU/gfx12_data1_e016a1.rst
R llvm/docs/AMDGPU/gfx12_data1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_delay.rst
R llvm/docs/AMDGPU/gfx12_hwreg.rst
R llvm/docs/AMDGPU/gfx12_imm16.rst
R llvm/docs/AMDGPU/gfx12_ioffset.rst
R llvm/docs/AMDGPU/gfx12_label.rst
R llvm/docs/AMDGPU/gfx12_literal_1f74c7.rst
R llvm/docs/AMDGPU/gfx12_literal_81e671.rst
R llvm/docs/AMDGPU/gfx12_m.rst
A llvm/docs/AMDGPU/gfx12_operands.rst
R llvm/docs/AMDGPU/gfx12_rsrc_5fe6d8.rst
R llvm/docs/AMDGPU/gfx12_rsrc_c9f929.rst
R llvm/docs/AMDGPU/gfx12_saddr_cdc95c.rst
R llvm/docs/AMDGPU/gfx12_saddr_d42b64.rst
R llvm/docs/AMDGPU/gfx12_samp.rst
R llvm/docs/AMDGPU/gfx12_sbase_453b95.rst
R llvm/docs/AMDGPU/gfx12_sbase_47adb7.rst
R llvm/docs/AMDGPU/gfx12_sdata_0974a4.rst
R llvm/docs/AMDGPU/gfx12_sdata_354189.rst
R llvm/docs/AMDGPU/gfx12_sdata_4585b8.rst
R llvm/docs/AMDGPU/gfx12_sdata_5c7b50.rst
R llvm/docs/AMDGPU/gfx12_sdata_6c003b.rst
R llvm/docs/AMDGPU/gfx12_sdata_836716.rst
R llvm/docs/AMDGPU/gfx12_sdata_d725ab.rst
R llvm/docs/AMDGPU/gfx12_sdata_dd9dd8.rst
R llvm/docs/AMDGPU/gfx12_sdst_006c40.rst
R llvm/docs/AMDGPU/gfx12_sdst_20064d.rst
R llvm/docs/AMDGPU/gfx12_sdst_354189.rst
R llvm/docs/AMDGPU/gfx12_sdst_836716.rst
R llvm/docs/AMDGPU/gfx12_sdst_ced58d.rst
R llvm/docs/AMDGPU/gfx12_sdst_e701cc.rst
R llvm/docs/AMDGPU/gfx12_sendmsg.rst
R llvm/docs/AMDGPU/gfx12_sendmsg_rtn.rst
R llvm/docs/AMDGPU/gfx12_simm16_15ccdd.rst
R llvm/docs/AMDGPU/gfx12_simm16_218bea.rst
R llvm/docs/AMDGPU/gfx12_simm16_39b593.rst
R llvm/docs/AMDGPU/gfx12_simm16_3d2a4f.rst
R llvm/docs/AMDGPU/gfx12_simm16_730a13.rst
R llvm/docs/AMDGPU/gfx12_simm16_7ed651.rst
R llvm/docs/AMDGPU/gfx12_simm16_81e671.rst
R llvm/docs/AMDGPU/gfx12_simm16_c98889.rst
R llvm/docs/AMDGPU/gfx12_simm16_cc1716.rst
R llvm/docs/AMDGPU/gfx12_simm16_ee8b30.rst
R llvm/docs/AMDGPU/gfx12_soffset_8ec073.rst
R llvm/docs/AMDGPU/gfx12_soffset_c5b88c.rst
R llvm/docs/AMDGPU/gfx12_soffset_ec005a.rst
R llvm/docs/AMDGPU/gfx12_src0_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src0_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src0_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src0_85aab6.rst
R llvm/docs/AMDGPU/gfx12_src0_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src0_e016a1.rst
R llvm/docs/AMDGPU/gfx12_src0_fd235e.rst
R llvm/docs/AMDGPU/gfx12_src1_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src1_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src1_731030.rst
R llvm/docs/AMDGPU/gfx12_src1_977794.rst
R llvm/docs/AMDGPU/gfx12_src1_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src1_e016a1.rst
R llvm/docs/AMDGPU/gfx12_src1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_src2_2797bc.rst
R llvm/docs/AMDGPU/gfx12_src2_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src2_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src2_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src2_7b936a.rst
R llvm/docs/AMDGPU/gfx12_src2_96fbd3.rst
R llvm/docs/AMDGPU/gfx12_src2_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src2_e016a1.rst
R llvm/docs/AMDGPU/gfx12_srcx0.rst
R llvm/docs/AMDGPU/gfx12_srcy0.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_007f9c.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_1a9ca5.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_245536.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_2797bc.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_bbb4c6.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_c4593f.rst
R llvm/docs/AMDGPU/gfx12_ssrc1_bbb4c6.rst
R llvm/docs/AMDGPU/gfx12_ssrc1_c4593f.rst
R llvm/docs/AMDGPU/gfx12_tgt.rst
R llvm/docs/AMDGPU/gfx12_vaddr_a972b9.rst
R llvm/docs/AMDGPU/gfx12_vaddr_c12f43.rst
R llvm/docs/AMDGPU/gfx12_vaddr_c8b8d4.rst
R llvm/docs/AMDGPU/gfx12_vaddr_d82160.rst
R llvm/docs/AMDGPU/gfx12_vaddr_f2b449.rst
R llvm/docs/AMDGPU/gfx12_vcc.rst
R llvm/docs/AMDGPU/gfx12_vdata_2eda77.rst
R llvm/docs/AMDGPU/gfx12_vdata_48e42f.rst
R llvm/docs/AMDGPU/gfx12_vdata_69a144.rst
R llvm/docs/AMDGPU/gfx12_vdata_89680f.rst
R llvm/docs/AMDGPU/gfx12_vdata_aac3e8.rst
R llvm/docs/AMDGPU/gfx12_vdata_bdb32f.rst
R llvm/docs/AMDGPU/gfx12_vdst_006c40.rst
R llvm/docs/AMDGPU/gfx12_vdst_227281.rst
R llvm/docs/AMDGPU/gfx12_vdst_2eda77.rst
R llvm/docs/AMDGPU/gfx12_vdst_47d3bc.rst
R llvm/docs/AMDGPU/gfx12_vdst_48e42f.rst
R llvm/docs/AMDGPU/gfx12_vdst_69a144.rst
R llvm/docs/AMDGPU/gfx12_vdst_7de8e7.rst
R llvm/docs/AMDGPU/gfx12_vdst_836716.rst
R llvm/docs/AMDGPU/gfx12_vdst_89680f.rst
R llvm/docs/AMDGPU/gfx12_vdst_bdb32f.rst
R llvm/docs/AMDGPU/gfx12_vdstx.rst
R llvm/docs/AMDGPU/gfx12_vdsty.rst
R llvm/docs/AMDGPU/gfx12_version.rst
R llvm/docs/AMDGPU/gfx12_vsrc0.rst
R llvm/docs/AMDGPU/gfx12_vsrc1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_vsrc1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_vsrc2.rst
R llvm/docs/AMDGPU/gfx12_vsrc3.rst
R llvm/docs/AMDGPU/gfx12_vsrc_56f215.rst
R llvm/docs/AMDGPU/gfx12_vsrc_6802ce.rst
R llvm/docs/AMDGPU/gfx12_vsrc_89fd7b.rst
R llvm/docs/AMDGPU/gfx12_vsrc_e016a1.rst
R llvm/docs/AMDGPU/gfx12_vsrc_fd235e.rst
R llvm/docs/AMDGPU/gfx12_vsrcx1.rst
R llvm/docs/AMDGPU/gfx12_vsrcy1.rst
R llvm/docs/AMDGPU/gfx12_waitcnt.rst
M llvm/docs/AMDGPUAsyncOperations.rst
M llvm/docs/AMDGPUMemoryModel.rst
M llvm/docs/AMDGPUUsage.rst
A llvm/docs/AliasAnalysis.md
R llvm/docs/AliasAnalysis.rst
A llvm/docs/Atomics.md
R llvm/docs/Atomics.rst
A llvm/docs/BitCodeFormat.md
R llvm/docs/BitCodeFormat.rst
M llvm/docs/CodingStandards.rst
M llvm/docs/CommandGuide/llvm-install-name-tool.rst
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/CommandGuide/llvm-strip.rst
A llvm/docs/CommandLine.md
R llvm/docs/CommandLine.rst
A llvm/docs/CompilerWriterInfo.md
R llvm/docs/CompilerWriterInfo.rst
A llvm/docs/Coroutines.md
R llvm/docs/Coroutines.rst
A llvm/docs/CoverageMappingFormat.md
R llvm/docs/CoverageMappingFormat.rst
A llvm/docs/DebuggingLLVM.md
R llvm/docs/DebuggingLLVM.rst
A llvm/docs/ExceptionHandling.md
R llvm/docs/ExceptionHandling.rst
A llvm/docs/Extensions.md
R llvm/docs/Extensions.rst
A llvm/docs/FAQ.md
R llvm/docs/FAQ.rst
M llvm/docs/Frontend/PerformanceTips.rst
A llvm/docs/GarbageCollection.md
R llvm/docs/GarbageCollection.rst
M llvm/docs/GettingInvolved.rst
A llvm/docs/GettingStartedVS.md
R llvm/docs/GettingStartedVS.rst
M llvm/docs/GitHub.rst
M llvm/docs/GlobalISel/GMIR.rst
M llvm/docs/GlobalISel/IRTranslator.rst
A llvm/docs/InstrProfileFormat.md
R llvm/docs/InstrProfileFormat.rst
M llvm/docs/LangRef.rst
A llvm/docs/Lexicon.md
R llvm/docs/Lexicon.rst
A llvm/docs/LibFuzzer.md
R llvm/docs/LibFuzzer.rst
M llvm/docs/LoopFusion.rst
A llvm/docs/LoopTerminology.md
R llvm/docs/LoopTerminology.rst
A llvm/docs/MIRLangRef.md
R llvm/docs/MIRLangRef.rst
M llvm/docs/MarkdownQuickstartTemplate.md
A llvm/docs/MemorySSA.md
R llvm/docs/MemorySSA.rst
A llvm/docs/NewPassManager.md
R llvm/docs/NewPassManager.rst
M llvm/docs/ProgrammersManual.rst
A llvm/docs/ProjectGovernance.rst
M llvm/docs/README.txt
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
A llvm/docs/SphinxQuickstartTemplate.md
R llvm/docs/SphinxQuickstartTemplate.rst
M llvm/docs/index.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/APSInt.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/BitVector.h
M llvm/include/llvm/ADT/CachedHashString.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/DenseMapInfo.h
M llvm/include/llvm/ADT/DenseMapInfoVariant.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/ADT/Hashing.h
M llvm/include/llvm/ADT/ImmutableList.h
M llvm/include/llvm/ADT/MapVector.h
M llvm/include/llvm/ADT/PointerEmbeddedInt.h
M llvm/include/llvm/ADT/PointerIntPair.h
M llvm/include/llvm/ADT/PointerSumType.h
M llvm/include/llvm/ADT/PointerUnion.h
M llvm/include/llvm/ADT/SmallBitVector.h
M llvm/include/llvm/ADT/SmallVector.h
M llvm/include/llvm/ADT/StringMap.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/Loads.h
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/VectorUtils.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/BinaryFormat/Minidump.h
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/BinaryFormat/WasmTraits.h
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CAS/CASID.h
M llvm/include/llvm/CAS/CASReference.h
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/PBQP/CostAllocator.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerDeclContext.h
M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
M llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/GSYM/FileEntry.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/RawConstants.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorResolutionGenerator.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MemoryFlags.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/SymbolStringPool.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorResolver.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
M llvm/include/llvm/Frontend/OpenMP/OMPContext.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M llvm/include/llvm/IR/AssemblyAnnotationWriter.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/include/llvm/IR/BasicBlock.h
A llvm/include/llvm/IR/BundleAttributes.def
A llvm/include/llvm/IR/BundleAttributes.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/Dominators.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/Module.h
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/IR/PatternMatch.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/IR/ValueHandle.h
M llvm/include/llvm/IR/ValueMap.h
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Linker/IRMover.h
M llvm/include/llvm/MC/DXContainerInfo.h
M llvm/include/llvm/MC/MCGOFFObjectWriter.h
M llvm/include/llvm/MC/MCRegister.h
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/ObjCopy/ObjCopy.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/FunctionId.h
M llvm/include/llvm/ProfileData/HashKeyMap.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/include/llvm/Support/AtomicOrdering.h
M llvm/include/llvm/Support/ELFAttrParserCompact.h
M llvm/include/llvm/Support/ELFAttrParserExtended.h
M llvm/include/llvm/Support/FileSystem/UniqueID.h
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/Support/UniqueBBID.h
M llvm/include/llvm/Support/VersionTuple.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/Testing/Annotations/Annotations.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/include/llvm/Transforms/Scalar/GVNExpression.h
M llvm/include/llvm/Transforms/Scalar/SROA.h
R llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
A llvm/include/llvm/Transforms/Utils/TriggerCrashPass.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/PseudoProbeInserter.cpp
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
M llvm/lib/CodeGen/RegisterBankInfo.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/CodeGen/StackMaps.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/DTLTO/CMakeLists.txt
M llvm/lib/DTLTO/DTLTO.cpp
A llvm/lib/DTLTO/DTLTODistributionDriver.cpp
A llvm/lib/DTLTO/DTLTOInputFiles.cpp
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.h
M llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
M llvm/lib/DebugInfo/CodeView/TypeHashing.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
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/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
A llvm/lib/IR/BundleAttributes.cpp
M llvm/lib/IR/CMakeLists.txt
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Operator.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/DXContainerInfo.cpp
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/ObjCopy/Archive.cpp
M llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
M llvm/lib/ObjCopy/ObjCopy.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/Minidump.cpp
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Support/ELFAttrParserCompact.cpp
M llvm/lib/Support/ELFAttrParserExtended.cpp
M llvm/lib/Support/StringRef.cpp
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.h
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUBarrierLatency.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.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/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
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/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
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.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/CSKY/CSKYTargetMachine.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/M68k/AsmParser/CMakeLists.txt
M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
M llvm/lib/Target/M68k/M68kInstrFormats.td
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/M68k/M68kTargetMachine.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBanks.td
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/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.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
R llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicfiss.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvdota.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvvm.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVTypeInst.h
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/lib/Target/X86/X86FixupLEAs.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/lib/Target/X86/X86OptimizeLEAs.cpp
M llvm/lib/Target/X86/X86PartialReduction.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
M llvm/lib/Testing/Annotations/Annotations.cpp
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/ConstantMerge.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/FunctionImport.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/HotColdSplitting.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/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.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/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
R llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/lib/Transforms/Utils/TriggerCrashPass.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAcceptOrRevert.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
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
R llvm/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/inline-asm.mir
A llvm/test/Analysis/ValueTracking/assume-on-value.ll
R llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
M llvm/test/Analysis/ValueTracking/assume.ll
A llvm/test/Analysis/ValueTracking/knownbits-shl-ctlz-msb.ll
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
A llvm/test/Assembler/dilabel.ll
M llvm/test/Assembler/fast-math-flags.ll
M llvm/test/Assembler/index-value-order.ll
M llvm/test/Assembler/invalid-interleave.ll
A llvm/test/Assembler/invalid-phi-fast-math-flags.ll
A llvm/test/Assembler/invalid-select-fast-math-flags.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
A llvm/test/Bitcode/musttail-bitcast-upgrade.ll
A llvm/test/Bitcode/musttail-bitcast-upgrade.ll.bc
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
M llvm/test/Bitcode/upgrade-masked-keep-metadata.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.mir
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/prelegalizer-combiner-narrow-binop-feeding-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-sextload-from-sextinreg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-splat-vector.ll
A llvm/test/CodeGen/AArch64/aarch64-f16f32dot-intrinsics.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
A llvm/test/CodeGen/AArch64/aarch64-pseudo-probe-tail-call.ll
M llvm/test/CodeGen/AArch64/aarch64-sme-za-call-lowering.ll
M llvm/test/CodeGen/AArch64/aarch64-sysreg128.ll
M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
M llvm/test/CodeGen/AArch64/arm64-csel.ll
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
R llvm/test/CodeGen/AArch64/arm64-invalid-sys-reg.ll
A llvm/test/CodeGen/AArch64/arm64-named-reg-notareg.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vcnt.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/bitfield-insert.ll
M llvm/test/CodeGen/AArch64/bswap-known-bits.ll
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-add.ll
A llvm/test/CodeGen/AArch64/dag-maps-huge-region.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/expand-sme-pseudos.mir
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/machine-sme-abi-find-insert-pt.mir
M llvm/test/CodeGen/AArch64/machine-sme-abi-skip-debug-inst.mir
A llvm/test/CodeGen/AArch64/misched-fusion-aes-post-ra.mir
M llvm/test/CodeGen/AArch64/misched-fusion-aes.ll
M llvm/test/CodeGen/AArch64/pr164181.ll
M llvm/test/CodeGen/AArch64/read-fp-reg.ll
A llvm/test/CodeGen/AArch64/read-reg-non-entry.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/selectopt-cast.ll
M llvm/test/CodeGen/AArch64/sitofp-to-tbl.ll
M llvm/test/CodeGen/AArch64/sme-abi-eh-liveins.mir
M llvm/test/CodeGen/AArch64/sme-lazy-sve-nzcv-live.mir
M llvm/test/CodeGen/AArch64/special-reg.ll
M llvm/test/CodeGen/AArch64/sshl_sat.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-frintz.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc-stores.ll
A llvm/test/CodeGen/AArch64/sve-frintz.ll
M llvm/test/CodeGen/AArch64/sve-ldst-multi-vec.mir
M llvm/test/CodeGen/AArch64/sve2-rsh.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts_x2.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/AArch64/ushl_sat.ll
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
A llvm/test/CodeGen/AArch64/vector-splice-compress-mmo-align.ll
M llvm/test/CodeGen/AArch64/write-volatile-register.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/amdgpu-irtranslator.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_optimizations_mul_one.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-unmerge-values.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-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/floor.f64.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fmin3-fmax3-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.exp.compr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.exp.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-i1-copy.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-select.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext-inreg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir
Log Message:
-----------
Merge branch 'main' into filecheck-test-braced-search-ranges
Commit: 00c7a763236ea2484c142cc8863e0cfbd407474b
https://github.com/llvm/llvm-project/commit/00c7a763236ea2484c142cc8863e0cfbd407474b
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2026-06-09 (Tue, 09 Jun 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/green-dragon/lldb-windows.groovy
M .clang-format-ignore
M .git-blame-ignore-revs
M .github/workflows/containers/libc/Dockerfile
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/libcxx-run-benchmarks.yml
M .github/workflows/release-binaries.yml
M .github/workflows/upload-release-artifact/action.yml
A bolt/docs/BOLTAArch64OptimizationStatus.rst
M bolt/docs/profiles.md
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/SplitFunctions.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/AArch64/veneer-erratum-843419.s
M bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
A bolt/test/X86/dwarf5-dwp-tsan-data-race.test
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/perf2bolt/lit.local.cfg
A bolt/test/perf2bolt/perf_brstack.test
M bolt/test/perf2bolt/perf_test.test
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/heatmap.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/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/MDMustacheGenerator.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/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.h
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.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/ContainerSizeEmptyCheck.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/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/Headers.h
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/StdLib.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/SymbolID.h
M clang-tools-extra/clangd/index/dex/Token.h
M clang-tools-extra/clangd/index/dex/Trigram.h
M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
A clang-tools-extra/clangd/test/modules_config_remove_flags.test
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/missing-end-comparison.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
M clang-tools-extra/docs/conf.py
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/algorithm
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/iterator
M clang-tools-extra/test/clang-tidy/checkers/altera/id-dependent-backward-branch.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-custom.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx17.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx98.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
A clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/statically-constructed-objects.cpp
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
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/function-size-ignore-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
R clang/.clang-format-ignore
M clang/CMakeLists.txt
M clang/bindings/python/clang/cindex.py
A clang/cmake/caches/generic-allow-shared-imports.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-defaults-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dist.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dylib-dist.cmake
M clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang-c/BuildSystem.h
M clang/include/clang-c/Index.h
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTTypeTraits.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/BaseSubobject.h
M clang/include/clang/AST/CharUnits.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/JSONNodeDumper.h
A clang/include/clang/AST/MatrixUtils.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeOrdering.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Utils.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Analysis/CallGraph.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/Formula.h
M clang/include/clang/Analysis/ProgramPoint.h
M clang/include/clang/Analysis/RetainSummaryManager.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/FileManager.h
R clang/include/clang/Basic/FileSystemStatCache.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TokenKinds.h
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/Basic/riscv_sifive_vector.td
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/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
A clang/include/clang/CIR/InitAllDialects.h
M clang/include/clang/DependencyScanning/DependencyGraph.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Interpreter/Value.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Options/FlangOptions.td
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/Weak.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/Tooling/Inclusions/StandardLibrary.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumCXXABI.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ProgramPoint.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/FileManager.cpp
R clang/lib/Basic/FileSystemStatCache.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CMakeLists.txt
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/lib/CIR/RegisterAllDialects.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGObjCMacConstantLiteralUtil.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/CodeGen/CodeGenTypes.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/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ModulesDriver.cpp
M clang/lib/Driver/SanitizerArgs.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/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/Serenity.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Headers/__clang_hip_libdevice_declares.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Index/IndexingContext.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.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/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.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/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/lib/Tooling/Tooling.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/ByteCode/libcxx/getfield-nonrecord.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/records.cpp
A clang/test/AST/ByteCode/switch-case-steps.cpp
M clang/test/AST/HLSL/matrix_layout_attr.hlsl
M clang/test/AST/ast-dump-templates-pattern.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/mock-types.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
A clang/test/Analysis/Checkers/WebKit/nodelete-lazy-initialize.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-syntax.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-json-extension.txt
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/id-table.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/io.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/linkage.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/permissions.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/round-trip.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/summary-data.test
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
A clang/test/Analysis/array-of-structs-initializer.cpp
M clang/test/Analysis/bstring_UninitRead.c
M clang/test/Analysis/cstring-uninitread-notes.c
M clang/test/Analysis/initialization.c
M clang/test/Analysis/initialization.cpp
A clang/test/Analysis/lifetime-end-simple-cfg-output.cpp
M clang/test/Analysis/placement-new.cpp
M clang/test/Analysis/std-c-library-functions-arg-constraints-tracking-notes.c
M clang/test/Analysis/std-c-library-functions-arg-constraints.c
M clang/test/Analysis/uninit-const.c
M clang/test/Analysis/uninit-vals.m
M clang/test/C/C23/n3037.c
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/CodeGen/binop.cpp
M clang/test/CIR/CodeGen/bitfield-union.c
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGen/bitfields_be.c
M clang/test/CIR/CodeGen/class.cpp
M clang/test/CIR/CodeGen/cleanup-conditional.cpp
A clang/test/CIR/CodeGen/cleanup-derived-to-base-ref.cpp
M clang/test/CIR/CodeGen/cleanup.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
A clang/test/CIR/CodeGen/compound_literal.c
M clang/test/CIR/CodeGen/constant-inits.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/ctor.cpp
M clang/test/CIR/CodeGen/cxx-abi-lowering-string-array.cpp
M clang/test/CIR/CodeGen/destructors.cpp
M clang/test/CIR/CodeGen/dumb-record.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
M clang/test/CIR/CodeGen/empty-union.c
M clang/test/CIR/CodeGen/empty-union.cpp
M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
M clang/test/CIR/CodeGen/forward-decls.cpp
A clang/test/CIR/CodeGen/func-linkage-weak-import.c
M clang/test/CIR/CodeGen/global-dtor-union-narrowed.cpp
A clang/test/CIR/CodeGen/global-temp-dtor.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
A clang/test/CIR/CodeGen/inline-forward-decl.c
M clang/test/CIR/CodeGen/long-double-inc-dec.cpp
M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/mms-bitfields.c
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/no-proto-fn-ptr-global-init.c
M clang/test/CIR/CodeGen/no-unique-address.cpp
M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/record-type-metadata.cpp
M clang/test/CIR/CodeGen/record-with-padded-union.cpp
M clang/test/CIR/CodeGen/record-zero-init-padding.c
M clang/test/CIR/CodeGen/self-ref-temporaries.cpp
M clang/test/CIR/CodeGen/struct.c
A clang/test/CIR/CodeGen/switch-cleanup.cpp
M clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/three-way-cmp.cpp
M clang/test/CIR/CodeGen/thunks.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/union.cpp
M clang/test/CIR/CodeGen/var_arg.c
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGen/variable-template-specialization.cpp
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGen/virtual-function-calls.cpp
M clang/test/CIR/CodeGen/vtable-emission.cpp
M clang/test/CIR/CodeGen/vtable-nyi-nonconvertible-functype.cpp
M clang/test/CIR/CodeGen/vtt.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlvp2intersect-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vp2intersect-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
M clang/test/CIR/CodeGenCXX/global-refs.cpp
M clang/test/CIR/CodeGenCXX/zero_init_bases.cpp
M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
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/CodeGenOpenCL/as_type.cl
M clang/test/CIR/IR/array-ctor.cir
M clang/test/CIR/IR/array-dtor.cir
M clang/test/CIR/IR/bitfield_info.cir
M clang/test/CIR/IR/construct-catch-param.cir
M clang/test/CIR/IR/copy.cir
M clang/test/CIR/IR/dynamic-cast.cir
M clang/test/CIR/IR/func-attrs.cir
M clang/test/CIR/IR/func.cir
M clang/test/CIR/IR/global-init.cir
M clang/test/CIR/IR/invalid-array-structor.cir
M clang/test/CIR/IR/invalid-cast.cir
M clang/test/CIR/IR/invalid-const-record.cir
M clang/test/CIR/IR/invalid-construct-catch-param.cir
M clang/test/CIR/IR/invalid-data-member.cir
M clang/test/CIR/IR/invalid-delete-array.cir
M clang/test/CIR/IR/invalid-dyn-cast.cir
A clang/test/CIR/IR/invalid-lifetime.cir
M clang/test/CIR/IR/invalid-struct.cir
M clang/test/CIR/IR/invalid-type-info.cir
M clang/test/CIR/IR/invalid-vtable.cir
A clang/test/CIR/IR/lifetime.cir
M clang/test/CIR/IR/method-attr.cir
A clang/test/CIR/IR/openacc.cir
M clang/test/CIR/IR/struct.cir
M clang/test/CIR/IR/unary.cir
M clang/test/CIR/IR/vtable-addrpt.cir
M clang/test/CIR/IR/vtable-attr.cir
M clang/test/CIR/IR/vtt-addrpoint.cir
M clang/test/CIR/Lowering/binop-fp.cir
A clang/test/CIR/Lowering/call-llvm-intrinsic.cir
M clang/test/CIR/Lowering/cast.cir
A clang/test/CIR/Lowering/lifetime.cir
M clang/test/CIR/Lowering/struct.cir
M clang/test/CIR/Lowering/vtt-addrpoint.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-int-to-record.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-return-larger.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-int.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
A clang/test/CIR/Transforms/abi-lowering/coerce-vector-to-complex.cir
M clang/test/CIR/Transforms/canonicalize-cleanup-scope.cir
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CIR/Transforms/cxx-abi-lowering-attrs.cir
M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch-invalid.cir
M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch.cir
M clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
M clang/test/CIR/Transforms/flatten-throwing-in-cleanup.cir
M clang/test/CIR/Transforms/flatten-try-op.cir
M clang/test/CIR/Transforms/pure-ptr-arithmetic.cir
M clang/test/CXX/basic/basic.link/p11.cpp
M clang/test/CXX/class/class.friend/p6.cpp
M clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.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
A clang/test/CodeGen/AArch64/f16f32dot-intrinsics.c
M clang/test/CodeGen/AArch64/ls64-inline-asm.c
M clang/test/CodeGen/AArch64/neon-2velem.c
R clang/test/CodeGen/AArch64/neon-across.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
M clang/test/CodeGen/AArch64/neon/fused-multiply.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
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_fp_int_cvtn_x2.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_int_fp_cvt.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
M clang/test/CodeGen/Inputs/stdbit.h
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/RISCV/riscv-cf-protection.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_t_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_v_t.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vtmv_t_v.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
A clang/test/CodeGen/SystemZ/zos-abi.c
A clang/test/CodeGen/SystemZ/zos-abi.cpp
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
A clang/test/CodeGen/builtin-stdc-memreverse8.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/cfi-check-fail2-nomerge.c
M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
M clang/test/CodeGen/glibc_ptr_align.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/lto-newpm-pipeline.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
A clang/test/CodeGen/prefetch-poison-arg.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/target-data.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/atomic-options.hip
M clang/test/CodeGenCUDA/builtins-amdgcn.cu
M clang/test/CodeGenCUDA/builtins-spirv-amdgcn.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/amdgcn-func-arg.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/bitfield-ir.cpp
M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
M clang/test/CodeGenCXX/default-arguments.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/explicit-instantiation.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
R clang/test/CodeGenHIP/offload-pgo-sections.hip
M clang/test/CodeGenHIP/placement-new-addrspace.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
A clang/test/CodeGenHLSL/matrix-layout-attr-overrides-default.hlsl
M clang/test/CodeGenHLSL/resources/Texture2D-GetDimensions.hlsl
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/as_type.cl
M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
M clang/test/CodeGenOpenCL/atomic-ops.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/CodeGenSYCL/kernel-caller-entry-point.cpp
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/driverkit-path.c
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
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/Frontend/spirv-target-validation.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
A clang/test/Index/print-type-predefined-sugar.cpp
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/Modules/pr195905.cppm
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OffloadTools/clang-sycl-linker/triple.ll
M clang/test/OpenMP/amdgcn_target_device_vla.cpp
A clang/test/OpenMP/amdgpu-arch-compat.c
M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
M clang/test/OpenMP/bug54082.c
M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.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/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p3_OR_sme2p3_RP___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
M clang/test/Sema/Inputs/stdbit.h
M clang/test/Sema/aarch64-neon-immediate-ranges/dotprod.c
M clang/test/Sema/alloc-size.c
M clang/test/Sema/attr-nonnull.c
A clang/test/Sema/builtin-stdc-memreverse8.c
M clang/test/Sema/constexpr.c
A clang/test/Sema/format-strings-c23.c
A clang/test/Sema/format-strings-decimal.c
M clang/test/Sema/format-strings.c
M clang/test/Sema/static-init.c
M clang/test/Sema/warn-alloc-size.c
M clang/test/Sema/warn-lifetime-safety-lifetimebound.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
M clang/test/SemaCUDA/addr-of-overloaded-fn.cu
A clang/test/SemaCUDA/addr-of-overloaded-template-fn.cu
M clang/test/SemaCXX/attr-section.cpp
M clang/test/SemaCXX/co_await-range-for.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
M clang/test/SemaCXX/for-range-dereference.cpp
M clang/test/SemaCXX/typeof.cpp
M clang/test/SemaHLSL/BuiltIns/logical-mat-operator-errors.hlsl
M clang/test/SemaHLSL/MatrixElementOverloadResolution.hlsl
M clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixImplicitTruncCastWarnings.hlsl
M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
M clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/combined-construct-create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-no_create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-present-ast.cpp
M clang/test/SemaOpenACC/combined-construct-private-firstprivate-ast.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/data-construct-create-ast.cpp
M clang/test/SemaOpenACC/data-construct-no_create-ast.cpp
M clang/test/SemaOpenACC/data-construct-present-ast.cpp
M clang/test/SemaOpenACC/sub-array-ast.cpp
M clang/test/SemaTemplate/alias-templates.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/ctad.cpp
M clang/test/SemaTemplate/friend-template.cpp
M clang/test/SemaTemplate/instantiate-scope.cpp
M clang/test/TableGen/target-builtins-prototype-parser.td
M clang/test/Templight/templight-default-func-arg.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
M clang/test/lit.cfg.py
M clang/tools/cir-lsp-server/CMakeLists.txt
M clang/tools/cir-lsp-server/cir-lsp-server.cpp
M clang/tools/cir-opt/CMakeLists.txt
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/cir-translate/CMakeLists.txt
M clang/tools/cir-translate/cir-translate.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/BuildSystem.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/Indexing.cpp
M clang/tools/libclang/libclang.map
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
A clang/unittests/AST/ByteCode/Pointer.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/CIR/PointerLikeTest.cpp
M clang/unittests/CIR/RecordTypeMetadataTest.cpp
M clang/unittests/CIR/UnionTypeSizeTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/CheckLifetimeEndTest.cpp
M clang/unittests/StaticAnalyzer/CheckerRegistration.h
M clang/unittests/libclang/LibclangTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/perf-training/lit.site.cfg.in
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/asan/asan_shadow_setup.cpp
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/builtins/ppc/init_ifuncs.c
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/orc/record_section_tracker.h
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map_info.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_lzw.h
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_dense_map_test.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/mem_map_linux.cpp
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/report_linux.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tsd_shared.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/test/cfi/mfcall.cpp
M compiler-rt/test/fuzzer/OutOfProcessFuzzTarget.cpp
M compiler-rt/test/hwasan/TestCases/try-catch.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/signal_line.cpp
M compiler-rt/test/tsan/many_held_mutex.cpp
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/DebuggerControllerBase.py
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/DextIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/LocIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/StepIR.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/Inputs/header.h
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_function.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_line.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_file_paths.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/basic_evaluate.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/evaluate_nothing.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/lit.local.cfg
M cross-project-tests/dtlto/dtlto-cache.test
M cross-project-tests/dtlto/savetemps-lock.test
M flang-rt/CMakeLists.txt
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-api-server.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/iso_c_binding.f90
M flang-rt/test/CMakeLists.txt
M flang-rt/unittests/Runtime/ListInputTest.cpp
M flang-rt/unittests/Runtime/Namelist.cpp
M flang/cmake/modules/FlangCommon.cmake
M flang/docs/Extensions.md
A flang/docs/MeetingNotes/2026/2026-06-03.md
M flang/docs/OpenACC-extensions.md
M flang/docs/ParallelMultiImageFortranRuntime.md
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Lower/IterationSpace.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Lower/Support/PrivateReductionUtils.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/type.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/Fortran.h
M flang/include/flang/Support/LangOptions.def
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.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/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-omp-loop.cpp
R flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/lib/Semantics/check-omp-variant.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/lib/Utils/OpenMP.cpp
A flang/test/Driver/frelaxed-c-loc-checks.f90
A flang/test/Driver/function-sections.f90
M flang/test/Driver/include-omp-header.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
A flang/test/Driver/offload-device.f90
M flang/test/Fir/CUDA/cuda-code-gen.mlir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/boxproc.fir
A flang/test/HLFIR/opt-bufferization-dealloc-conflict.fir
M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
A flang/test/HLFIR/separate-allocatable-assign.fir
M flang/test/Integration/OpenMP/atomic-capture-release.f90
M flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Integration/OpenMP/workshare-axpy.f90
A flang/test/Integration/function-sections.f90
M flang/test/Integration/prefetch.f90
M flang/test/Lower/HLFIR/elemental-result-length.f90
M flang/test/Lower/Intrinsics/show_descriptor.f90
M flang/test/Lower/OpenACC/acc-cache.f90
A flang/test/Lower/OpenACC/acc-declare-use-associated-allocatable.f90
M flang/test/Lower/OpenACC/acc-declare.f90
A flang/test/Lower/OpenACC/acc-module-definition-multi-name.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
A flang/test/Lower/OpenACC/acc-routine-multi-name.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/begin-metadirective.f90
A flang/test/Lower/OpenMP/Todo/metadirective-declarative.f90
R flang/test/Lower/OpenMP/Todo/metadirective-exec.f90
A flang/test/Lower/OpenMP/Todo/metadirective-loop.f90
R flang/test/Lower/OpenMP/Todo/metadirective-spec.f90
A flang/test/Lower/OpenMP/Todo/metadirective-structured-trait-property.f90
A flang/test/Lower/OpenMP/Todo/metadirective-target-device.f90
M flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/composite_simd_linear.f90
M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
M flang/test/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/linear_modifier.f90
M flang/test/Lower/OpenMP/loop-pointer-variable.f90
A flang/test/Lower/OpenMP/metadirective-construct.f90
A flang/test/Lower/OpenMP/metadirective-device-arch.f90
A flang/test/Lower/OpenMP/metadirective-device-isa.f90
A flang/test/Lower/OpenMP/metadirective-device-kind.f90
A flang/test/Lower/OpenMP/metadirective-implementation.f90
A flang/test/Lower/OpenMP/metadirective-nothing.f90
A flang/test/Lower/OpenMP/metadirective-user.f90
M flang/test/Lower/OpenMP/ordered-simd.f90
A flang/test/Lower/OpenMP/scalar-to-array-assign-target-device-O0.f90
M flang/test/Lower/OpenMP/workdistribute-saxpy-and-scalar-assign.f90
M flang/test/Lower/OpenMP/workdistribute-scalar-assign.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
A flang/test/Lower/intrinsic-module-array-constant.f90
A flang/test/Lower/scalar-to-array-assign-host-O0.f90
M flang/test/Lower/volatile1.f90
M flang/test/Parser/OpenMP/atomic-unparse.f90
M flang/test/Parser/OpenMP/declare_target-device_type.f90
M flang/test/Parser/OpenMP/groupprivate.f90
A flang/test/Parser/acc-routine-empty-parens.f90
M flang/test/Parser/acc-unparse.f90
A flang/test/Parser/enumeration-type.f90
A flang/test/Semantics/Inputs/device_modfile01_a.mod
A flang/test/Semantics/OpenACC/acc-default-none-scalars-strict.f90
M flang/test/Semantics/OpenACC/acc-default-none-scalars.f90
M flang/test/Semantics/OpenACC/acc-reduction-validity.f90
A flang/test/Semantics/OpenACC/acc-routine-multi-name-disabled.f90
A flang/test/Semantics/OpenACC/acc-routine-multi-name.f90
A flang/test/Semantics/OpenMP/declare-target-flags.f90
A flang/test/Semantics/OpenMP/declare-target-modfile.f90
A flang/test/Semantics/OpenMP/declare-variant-match.f90
M flang/test/Semantics/OpenMP/declare-variant.f90
M flang/test/Semantics/OpenMP/dump-requires-details.f90
M flang/test/Semantics/OpenMP/linear-clause01.f90
M flang/test/Semantics/OpenMP/metadirective-common.f90
M flang/test/Semantics/OpenMP/metadirective-user.f90
M flang/test/Semantics/OpenMP/private03.f90
M flang/test/Semantics/OpenMP/requires-modfile.f90
M flang/test/Semantics/OpenMP/simd-aligned.f90
A flang/test/Semantics/bind-c-real2.f90
M flang/test/Semantics/bind-c06.f90
A flang/test/Semantics/cuf-constant-generic-unified.cuf
A flang/test/Semantics/cuf-missing-intrinsic-modules.cuf
A flang/test/Semantics/device-modfile01.f90
A flang/test/Semantics/device-modfile02.f90
M flang/test/Semantics/entry01.f90
M flang/test/Semantics/reduce.cuf
M flang/test/Semantics/resolve124.f90
A flang/test/Transforms/debug-char-type-2.fir
M flang/test/lit.cfg.py
M flang/tools/bbc/bbc.cpp
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
A libc/cmake/modules/compiler_features/check_stdc_fenv_access.cpp
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/config.json
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/freebsd/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
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/config/windows/entrypoints.txt
M libc/docs/dev/implementation_standard.rst
M libc/docs/headers/math/index.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_ptrace_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_in6_addr.h
A libc/hdr/types/struct_udphdr.h
M libc/include/CMakeLists.txt
M libc/include/arpa/inet.yaml
M libc/include/inttypes.yaml
M libc/include/limits.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF-disable.h
M libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF.h
A libc/include/llvm-libc-macros/inet-address-macros.h
M libc/include/llvm-libc-macros/limits-macros.h
M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/include/llvm-libc-macros/math-macros.h
M libc/include/llvm-libc-macros/netinet-in-macros.h
M libc/include/llvm-libc-macros/stdfix-macros.h
A libc/include/llvm-libc-macros/sys-ptrace-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_in6_addr.h
M libc/include/llvm-libc-types/struct_timespec.h
A libc/include/llvm-libc-types/struct_udphdr.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/llvm-libc-types/u_char.h
A libc/include/llvm-libc-types/u_int32_t.h
A libc/include/llvm-libc-types/uint.h
M libc/include/math.yaml
M libc/include/netinet/in.yaml
A libc/include/netinet/udp.yaml
M libc/include/stdio.yaml
A libc/include/sys/ptrace.yaml
M libc/include/sys/types.yaml
M libc/include/unistd.yaml
M libc/include/wchar.yaml
M libc/shared/math.h
A libc/shared/math/acosbf16.h
M libc/src/__support/CPP/tuple.h
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/auxv.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/block.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/freestore.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acos.h
A libc/src/__support/math/acosbf16.h
M libc/src/__support/math/asin.h
M libc/src/__support/math/asin_utils.h
M libc/src/__support/math/asinpi.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atan_utils.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/log.h
M libc/src/__support/math/log10.h
M libc/src/__support/math/log1p.h
M libc/src/__support/math/log2.h
M libc/src/__support/math/log_range_reduction.h
M libc/src/__support/math/range_reduction_double_common.h
M libc/src/__support/math/sin.h
M libc/src/__support/math/sincos.h
M libc/src/__support/math/sincos_eval.h
M libc/src/__support/math/tan.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/threads/linux/thread.cpp
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/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/creat.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/link/CMakeLists.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/acosbf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acosbf16.cpp
M libc/src/poll/linux/poll.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.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/src/unistd/CMakeLists.txt
M libc/src/unistd/environ.cpp
M libc/src/unistd/environ.h
M libc/src/unistd/getopt.cpp
M libc/src/unistd/getopt.h
M libc/src/unistd/linux/alarm.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/swprintf.cpp
A libc/src/wchar/swprintf.h
M libc/test/include/CMakeLists.txt
A libc/test/include/unistd_macros_test.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/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/FPUtil/bfloat16_test.cpp
M libc/test/src/__support/FPUtil/comparison_operations_test.cpp
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freelist_heap_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/math/CMakeLists.txt
M libc/test/src/math/acos_test.cpp
A libc/test/src/math/acosbf16_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincos_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/acosbf16_test.cpp
A libc/test/src/netinet/CMakeLists.txt
A libc/test/src/netinet/in_test.cpp
A libc/test/src/netinet/udp_test.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
M libc/test/src/sys/socket/linux/socketopt_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 libc/test/src/unistd/sysconf_test.cpp
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/swprintf_test.cpp
M libc/utils/docgen/arpa/inet.yaml
M libclc/CMakeLists.txt
M libclc/README.md
M libclc/test/conversion/convert.cl
M libclc/test/geometric/cross.cl
M libclc/test/integer/add_sat.cl
M libclc/test/integer/sub_sat.cl
M libclc/test/math/cos.cl
M libclc/test/math/fabs.cl
M libclc/test/math/rsqrt.cl
M libclc/test/misc/as_type.cl
M libclc/test/update_libclc_tests.py
M libclc/test/work-item/get_group_id.cl
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/support.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__config
M libcxx/include/__expected/expected.h
M libcxx/include/__functional/function.h
M libcxx/include/__iterator/bounded_iter.h
M libcxx/include/__iterator/capacity_aware_iterator.h
M libcxx/include/__iterator/erase_if_container.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/messages.h
M libcxx/include/__locale_dir/money.h
M libcxx/include/__locale_dir/wstring_convert.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__node_handle
M libcxx/include/__stop_token/atomic_unique_lock.h
M libcxx/include/__stop_token/intrusive_shared_ptr.h
M libcxx/include/__stop_token/stop_state.h
M libcxx/include/__tree
M libcxx/include/__type_traits/integer_traits.h
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/is_constant_evaluated.h
M libcxx/include/__type_traits/is_within_lifetime.h
M libcxx/include/__type_traits/make_transparent.h
M libcxx/include/__utility/default_three_way_comparator.h
M libcxx/include/__utility/lazy_synth_three_way_comparator.h
M libcxx/include/__utility/try_key_extraction.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/include/version
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/modules/std.cppm.in
M libcxx/src/ios.cpp
M libcxx/src/memory_resource.cpp
M libcxx/test/libcxx/atomics/builtin_clear_padding.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/array/nodiscard.iterator.verify.cpp
A libcxx/test/libcxx/containers/views/views.span/nodiscard.iterator.verify.cpp
A libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/pragma_suppress.compile.pass.cpp
M libcxx/test/libcxx/localization/locales/use_facet.abort.pass.cpp
A libcxx/test/libcxx/localization/nodiscard.verify.cpp
A libcxx/test/libcxx/strings/basic.string/nodiscard.iterator.verify.cpp
A libcxx/test/libcxx/strings/string.view/nodiscard.iterator.verify.cpp
M libcxx/test/libcxx/thread/nodiscard.verify.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/libcxx/type_traits/nodiscard.verify.cpp
A libcxx/test/libcxx/utilities/optional/nodiscard.iterator.verify.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass.cpp
M libcxx/test/std/containers/associative/from_range_associative_containers.h
M libcxx/test/std/containers/associative/map/compare.pass.cpp
M libcxx/test/std/containers/associative/map/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/at.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/empty.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/max_size.pass.cpp
M libcxx/test/std/containers/associative/map/map.access/size.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct_const.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/clear.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/extract_key.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/key_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.observers/value_comp.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp
M libcxx/test/std/containers/associative/map/types.pass.cpp
M libcxx/test/std/containers/container.node/node_handle.pass.cpp
M libcxx/test/std/containers/exception_safety_helpers.h
M libcxx/test/std/containers/insert_range_maps_sets.h
M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_bytes.pass.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.pass.cpp
R libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.verify.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.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 libcxx/test/std/utilities/meta/meta.const.eval/is_within_lifetime.compile.pass.cpp
M libcxx/test/std/utilities/utility/utility.intcmp/intcmp.verify.cpp
A libcxx/test/support/CopyConstructible.h
M libcxx/test/support/is_transparent.h
M libcxx/test/support/nasty_string.h
M libcxx/test/support/private_constructor.h
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/generate_libcxx_cppm_in.py
M libcxx/utils/libcxx/header_information.py
M libcxx/utils/libcxx/test/modules.py
M lld/COFF/Chunks.h
M lld/COFF/LTO.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/LTO.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
M lld/MachO/ConcatOutputSection.h
M lld/MachO/ExportTrie.cpp
M lld/MachO/LTO.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/docs/ld.lld.1
M lld/test/ELF/dtlto/timetrace.test
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/ELF/lto/devirt_vcall_vis_public.ll
M lld/test/ELF/lto/devirt_vcall_vis_shared_def.ll
A lld/test/ELF/x86-64-relax-jump-tables.s
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/Config.h
M lld/wasm/InputFiles.cpp
M lld/wasm/SyntheticSections.h
M lld/wasm/Writer.cpp
M lldb/CMakeLists.txt
M lldb/bindings/python/CMakeLists.txt
M lldb/cmake/caches/Apple-lldb-macOS.cmake
M lldb/cmake/modules/AddLLDB.cmake
A lldb/cmake/modules/LLDBConcatFiles.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/conf.py
M lldb/docs/dil-expr-lang.ebnf
A lldb/docs/index.md
R lldb/docs/index.rst
A lldb/docs/python_api.md
R lldb/docs/python_api.rst
A lldb/docs/python_api_enums.md
R lldb/docs/python_api_enums.rst
A lldb/docs/python_extensions.md
R lldb/docs/python_extensions.rst
A lldb/docs/resources/build.md
R lldb/docs/resources/build.rst
A lldb/docs/resources/caveats.md
R lldb/docs/resources/caveats.rst
A lldb/docs/resources/contributing.md
R lldb/docs/resources/contributing.rst
A lldb/docs/resources/dataformatters.md
R lldb/docs/resources/dataformatters.rst
A lldb/docs/resources/debugging.md
R lldb/docs/resources/debugging.rst
A lldb/docs/resources/extensions.md
R lldb/docs/resources/extensions.rst
A lldb/docs/resources/formatterbytecode.md
R lldb/docs/resources/formatterbytecode.rst
A lldb/docs/resources/fuzzing.md
R lldb/docs/resources/fuzzing.rst
M lldb/docs/resources/lldbgdbremote.md
A lldb/docs/resources/overview.md
R lldb/docs/resources/overview.rst
A lldb/docs/resources/projects.md
R lldb/docs/resources/projects.rst
A lldb/docs/resources/qemu-testing.md
R lldb/docs/resources/qemu-testing.rst
A lldb/docs/resources/sbapi.md
R lldb/docs/resources/sbapi.rst
A lldb/docs/resources/test.md
R lldb/docs/resources/test.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/links.md
R lldb/docs/use/links.rst
A lldb/docs/use/map.md
R lldb/docs/use/map.rst
A lldb/docs/use/ondemand.md
R lldb/docs/use/ondemand.rst
A lldb/docs/use/python-reference.md
R lldb/docs/use/python-reference.rst
A lldb/docs/use/remote.md
R lldb/docs/use/remote.rst
A lldb/docs/use/repeat-commands.md
R lldb/docs/use/repeat-commands.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/API/SBDebugger.h
M lldb/include/lldb/API/SBModule.h
M lldb/include/lldb/API/SBModuleSpec.h
M lldb/include/lldb/Core/Address.h
M lldb/include/lldb/Core/AddressRange.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/Highlighter.h
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Host/Config.h.cmake
M lldb/include/lldb/Host/HostThread.h
M lldb/include/lldb/Host/MainLoopBase.h
A lldb/include/lldb/Host/ScriptInterpreterRuntimeLoader.h
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/include/lldb/Host/common/NativeThreadProtocol.h
R lldb/include/lldb/Host/windows/PythonPathSetup/PythonPathSetup.h
M lldb/include/lldb/Symbol/LineTable.h
M lldb/include/lldb/Symbol/Symbol.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
A lldb/include/lldb/Target/ProcessIOHandler.h
M lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
M lldb/include/lldb/Utility/ConstString.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
M lldb/include/lldb/Utility/UUID.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/module.modulemap
M lldb/packages/Python/lldbsuite/support/gmodules.py
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbpexpect.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/API/SBDebugger.cpp
M lldb/source/API/SBModule.cpp
M lldb/source/API/SBModuleSpec.cpp
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/MainLoopBase.cpp
A lldb/source/Host/common/PythonRuntimeLoader.cpp
A lldb/source/Host/common/PythonRuntimeLoaderInternal.h
A lldb/source/Host/common/ScriptInterpreterRuntimeLoader.cpp
A lldb/source/Host/linux/PythonRuntimeLoaderLinux.cpp
A lldb/source/Host/macosx/PythonRuntimeLoaderDarwin.cpp
M lldb/source/Host/windows/ConnectionConPTYWindows.cpp
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
R lldb/source/Host/windows/PythonPathSetup/CMakeLists.txt
R lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
A lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
A lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.cpp
A lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.h
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/ObjC/CF.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeThreadFreeBSD.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeThreadFreeBSD.h
M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
M lldb/source/Plugins/Process/Linux/NativeThreadLinux.h
M lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp
M lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.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
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/IDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.cpp
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.h
R lldb/source/Plugins/Process/Windows/Common/MSVCRTCFrameRecognizer.cpp
R lldb/source/Plugins/Process/Windows/Common/MSVCRTCFrameRecognizer.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/NativeThreadWindows.h
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp
M lldb/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp
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/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
M lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.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/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbSymUid.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbSymUid.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Target/CMakeLists.txt
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
A lldb/source/Target/ProcessIOHandler.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
M lldb/source/Utility/RISCV_DWARF_Registers.h
M lldb/source/Utility/StringExtractorGDBRemote.cpp
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
A lldb/test/API/accelerator/mock/TestMockAcceleratorBreakpoints.py
M lldb/test/API/accelerator/mock/TestMockAcceleratorPlugin.py
M lldb/test/API/accelerator/mock/main.c
M lldb/test/API/commands/apropos/formatting/TestAproposFormatting.py
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/expression/multiline-completion/TestMultilineCompletion.py
M lldb/test/API/commands/expression/multiline-navigation/TestMultilineNavigation.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Assignment/TestFrameVarDILAssign.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/TestFrameVarDILCompositeAssign.py
A lldb/test/API/commands/frame/var-dil/expr/Assignment/main.cpp
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/TestFrameVarDILBitwise.py
A lldb/test/API/commands/frame/var-dil/expr/Bitwise/main.cpp
M lldb/test/API/commands/gui/basic/TestGuiBasic.py
M lldb/test/API/commands/gui/basicdebug/TestGuiBasicDebug.py
M lldb/test/API/commands/gui/breakpoints/TestGuiBreakpoints.py
M lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py
M lldb/test/API/commands/gui/spawn-threads/TestGuiSpawnThreads.py
M lldb/test/API/commands/gui/viewlarge/TestGuiViewLarge.py
M lldb/test/API/commands/process/attach/main.cpp
M lldb/test/API/commands/register/aarch64_dynamic_regset/main.c
M lldb/test/API/commands/register/aarch64_sve_registers/rw_access_static_config/main.c
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
M lldb/test/API/functionalities/postmortem/elf-core/altmain.core
M lldb/test/API/functionalities/postmortem/elf-core/altmain.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-neon.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-pac.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-pac.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-sve-fpsimd.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-sve-full.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-aarch64.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-fpr_sse_i386.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-fpr_sse_x86_64.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-i386.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-i386.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-loongarch64.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-loongarch64.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-ppc64le.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_fpr.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_fpr.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_only.core
M lldb/test/API/functionalities/postmortem/elf-core/linux-riscv64.gpr_only.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-s390x.out
M lldb/test/API/functionalities/postmortem/elf-core/linux-x86_64.out
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/postmortem/netbsd-core/1lwp_SIGSEGV.amd64
M lldb/test/API/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV.amd64.core
M lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_process_SIGSEGV.amd64
M lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_process_SIGSEGV.amd64.core
M lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.amd64
M lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.amd64.core
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py
M lldb/test/API/functionalities/thread/jump/TestThreadJump.py
M lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py
M lldb/test/API/functionalities/thread/state/TestThreadStates.py
M lldb/test/API/iohandler/autosuggestion/TestAutosuggestion.py
M lldb/test/API/iohandler/completion/TestIOHandlerCompletion.py
M lldb/test/API/iohandler/resize/TestIOHandlerResize.py
M lldb/test/API/iohandler/sigint/TestIOHandlerPythonREPLSigint.py
M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
M lldb/test/API/iohandler/sigint/cat.cpp
M lldb/test/API/iohandler/stdio/TestIOHandlerProcessSTDIO.py
M lldb/test/API/iohandler/unicode/TestUnicode.py
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py
M lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/macosx/branch-islands/Makefile
M lldb/test/API/macosx/expedited-thread-pcs/TestExpeditedThreadPCs.py
A lldb/test/API/macosx/simulator/lit.local.cfg
M lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
M lldb/test/API/python_api/default-constructor/sb_debugger.py
M lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
M lldb/test/API/python_api/global_module_cache/one-print.c
M lldb/test/API/python_api/global_module_cache/two-print.c
M lldb/test/API/python_api/run_locker/TestRunLocker.py
A lldb/test/API/python_api/sbmodule/SeperateDebugInfo/Makefile
A lldb/test/API/python_api/sbmodule/SeperateDebugInfo/TestSBModuleSeparateDebugInfo.py
A lldb/test/API/python_api/sbmodule/SeperateDebugInfo/bar.cpp
A lldb/test/API/python_api/sbmodule/SeperateDebugInfo/main.cpp
M lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py
M lldb/test/API/qemu/TestQemuLaunch.py
M lldb/test/API/repl/clang/TestClangREPL.py
M lldb/test/API/terminal/TestDisabledBreakpoints.py
M lldb/test/API/terminal/TestEditline.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/coreFile/TestDAP_coreFile.py
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
R lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
M lldb/test/API/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
A lldb/test/API/tools/lldb-server/apple-simulator/Makefile
A lldb/test/API/tools/lldb-server/apple-simulator/TestAppleSimulatorOSType.py
A lldb/test/API/tools/lldb-server/apple-simulator/lit.local.cfg
A lldb/test/API/tools/lldb-server/apple-simulator/main.cpp
M lldb/test/CMakeLists.txt
A lldb/test/Shell/Process/Windows/output_debug_string.cpp
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
A lldb/test/Shell/SymbolFile/NativePDB/invalid-type-refs.yaml
M lldb/tools/debugserver/source/DNB.cpp
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/ProtocolUtils.cpp
M lldb/tools/lldb-dap/tool/CMakeLists.txt
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.cpp
M lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.h
M lldb/unittests/Host/CMakeLists.txt
A lldb/unittests/Host/PythonRuntimeLoaderTest.cpp
M lldb/unittests/Symbol/TestType.cpp
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
M lldb/unittests/Target/MemoryTest.cpp
A lldb/unittests/Utility/AcceleratorGDBRemotePacketsTest.cpp
M lldb/unittests/Utility/CMakeLists.txt
M llvm/Maintainers.md
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/docs/AMDGPU/AMDGPUAsmGFX12.rst
R llvm/docs/AMDGPU/gfx12_addr.rst
R llvm/docs/AMDGPU/gfx12_attr.rst
R llvm/docs/AMDGPU/gfx12_clause.rst
R llvm/docs/AMDGPU/gfx12_data0_56f215.rst
R llvm/docs/AMDGPU/gfx12_data0_6802ce.rst
R llvm/docs/AMDGPU/gfx12_data0_e016a1.rst
R llvm/docs/AMDGPU/gfx12_data0_fd235e.rst
R llvm/docs/AMDGPU/gfx12_data1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_data1_731030.rst
R llvm/docs/AMDGPU/gfx12_data1_e016a1.rst
R llvm/docs/AMDGPU/gfx12_data1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_delay.rst
R llvm/docs/AMDGPU/gfx12_hwreg.rst
R llvm/docs/AMDGPU/gfx12_imm16.rst
R llvm/docs/AMDGPU/gfx12_ioffset.rst
R llvm/docs/AMDGPU/gfx12_label.rst
R llvm/docs/AMDGPU/gfx12_literal_1f74c7.rst
R llvm/docs/AMDGPU/gfx12_literal_81e671.rst
R llvm/docs/AMDGPU/gfx12_m.rst
A llvm/docs/AMDGPU/gfx12_operands.rst
R llvm/docs/AMDGPU/gfx12_rsrc_5fe6d8.rst
R llvm/docs/AMDGPU/gfx12_rsrc_c9f929.rst
R llvm/docs/AMDGPU/gfx12_saddr_cdc95c.rst
R llvm/docs/AMDGPU/gfx12_saddr_d42b64.rst
R llvm/docs/AMDGPU/gfx12_samp.rst
R llvm/docs/AMDGPU/gfx12_sbase_453b95.rst
R llvm/docs/AMDGPU/gfx12_sbase_47adb7.rst
R llvm/docs/AMDGPU/gfx12_sdata_0974a4.rst
R llvm/docs/AMDGPU/gfx12_sdata_354189.rst
R llvm/docs/AMDGPU/gfx12_sdata_4585b8.rst
R llvm/docs/AMDGPU/gfx12_sdata_5c7b50.rst
R llvm/docs/AMDGPU/gfx12_sdata_6c003b.rst
R llvm/docs/AMDGPU/gfx12_sdata_836716.rst
R llvm/docs/AMDGPU/gfx12_sdata_d725ab.rst
R llvm/docs/AMDGPU/gfx12_sdata_dd9dd8.rst
R llvm/docs/AMDGPU/gfx12_sdst_006c40.rst
R llvm/docs/AMDGPU/gfx12_sdst_20064d.rst
R llvm/docs/AMDGPU/gfx12_sdst_354189.rst
R llvm/docs/AMDGPU/gfx12_sdst_836716.rst
R llvm/docs/AMDGPU/gfx12_sdst_ced58d.rst
R llvm/docs/AMDGPU/gfx12_sdst_e701cc.rst
R llvm/docs/AMDGPU/gfx12_sendmsg.rst
R llvm/docs/AMDGPU/gfx12_sendmsg_rtn.rst
R llvm/docs/AMDGPU/gfx12_simm16_15ccdd.rst
R llvm/docs/AMDGPU/gfx12_simm16_218bea.rst
R llvm/docs/AMDGPU/gfx12_simm16_39b593.rst
R llvm/docs/AMDGPU/gfx12_simm16_3d2a4f.rst
R llvm/docs/AMDGPU/gfx12_simm16_730a13.rst
R llvm/docs/AMDGPU/gfx12_simm16_7ed651.rst
R llvm/docs/AMDGPU/gfx12_simm16_81e671.rst
R llvm/docs/AMDGPU/gfx12_simm16_c98889.rst
R llvm/docs/AMDGPU/gfx12_simm16_cc1716.rst
R llvm/docs/AMDGPU/gfx12_simm16_ee8b30.rst
R llvm/docs/AMDGPU/gfx12_soffset_8ec073.rst
R llvm/docs/AMDGPU/gfx12_soffset_c5b88c.rst
R llvm/docs/AMDGPU/gfx12_soffset_ec005a.rst
R llvm/docs/AMDGPU/gfx12_src0_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src0_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src0_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src0_85aab6.rst
R llvm/docs/AMDGPU/gfx12_src0_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src0_e016a1.rst
R llvm/docs/AMDGPU/gfx12_src0_fd235e.rst
R llvm/docs/AMDGPU/gfx12_src1_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src1_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src1_731030.rst
R llvm/docs/AMDGPU/gfx12_src1_977794.rst
R llvm/docs/AMDGPU/gfx12_src1_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src1_e016a1.rst
R llvm/docs/AMDGPU/gfx12_src1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_src2_2797bc.rst
R llvm/docs/AMDGPU/gfx12_src2_5727cf.rst
R llvm/docs/AMDGPU/gfx12_src2_5cae62.rst
R llvm/docs/AMDGPU/gfx12_src2_6802ce.rst
R llvm/docs/AMDGPU/gfx12_src2_7b936a.rst
R llvm/docs/AMDGPU/gfx12_src2_96fbd3.rst
R llvm/docs/AMDGPU/gfx12_src2_c4593f.rst
R llvm/docs/AMDGPU/gfx12_src2_e016a1.rst
R llvm/docs/AMDGPU/gfx12_srcx0.rst
R llvm/docs/AMDGPU/gfx12_srcy0.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_007f9c.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_1a9ca5.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_245536.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_2797bc.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_bbb4c6.rst
R llvm/docs/AMDGPU/gfx12_ssrc0_c4593f.rst
R llvm/docs/AMDGPU/gfx12_ssrc1_bbb4c6.rst
R llvm/docs/AMDGPU/gfx12_ssrc1_c4593f.rst
R llvm/docs/AMDGPU/gfx12_tgt.rst
R llvm/docs/AMDGPU/gfx12_vaddr_a972b9.rst
R llvm/docs/AMDGPU/gfx12_vaddr_c12f43.rst
R llvm/docs/AMDGPU/gfx12_vaddr_c8b8d4.rst
R llvm/docs/AMDGPU/gfx12_vaddr_d82160.rst
R llvm/docs/AMDGPU/gfx12_vaddr_f2b449.rst
R llvm/docs/AMDGPU/gfx12_vcc.rst
R llvm/docs/AMDGPU/gfx12_vdata_2eda77.rst
R llvm/docs/AMDGPU/gfx12_vdata_48e42f.rst
R llvm/docs/AMDGPU/gfx12_vdata_69a144.rst
R llvm/docs/AMDGPU/gfx12_vdata_89680f.rst
R llvm/docs/AMDGPU/gfx12_vdata_aac3e8.rst
R llvm/docs/AMDGPU/gfx12_vdata_bdb32f.rst
R llvm/docs/AMDGPU/gfx12_vdst_006c40.rst
R llvm/docs/AMDGPU/gfx12_vdst_227281.rst
R llvm/docs/AMDGPU/gfx12_vdst_2eda77.rst
R llvm/docs/AMDGPU/gfx12_vdst_47d3bc.rst
R llvm/docs/AMDGPU/gfx12_vdst_48e42f.rst
R llvm/docs/AMDGPU/gfx12_vdst_69a144.rst
R llvm/docs/AMDGPU/gfx12_vdst_7de8e7.rst
R llvm/docs/AMDGPU/gfx12_vdst_836716.rst
R llvm/docs/AMDGPU/gfx12_vdst_89680f.rst
R llvm/docs/AMDGPU/gfx12_vdst_bdb32f.rst
R llvm/docs/AMDGPU/gfx12_vdstx.rst
R llvm/docs/AMDGPU/gfx12_vdsty.rst
R llvm/docs/AMDGPU/gfx12_version.rst
R llvm/docs/AMDGPU/gfx12_vsrc0.rst
R llvm/docs/AMDGPU/gfx12_vsrc1_6802ce.rst
R llvm/docs/AMDGPU/gfx12_vsrc1_fd235e.rst
R llvm/docs/AMDGPU/gfx12_vsrc2.rst
R llvm/docs/AMDGPU/gfx12_vsrc3.rst
R llvm/docs/AMDGPU/gfx12_vsrc_56f215.rst
R llvm/docs/AMDGPU/gfx12_vsrc_6802ce.rst
R llvm/docs/AMDGPU/gfx12_vsrc_89fd7b.rst
R llvm/docs/AMDGPU/gfx12_vsrc_e016a1.rst
R llvm/docs/AMDGPU/gfx12_vsrc_fd235e.rst
R llvm/docs/AMDGPU/gfx12_vsrcx1.rst
R llvm/docs/AMDGPU/gfx12_vsrcy1.rst
R llvm/docs/AMDGPU/gfx12_waitcnt.rst
M llvm/docs/AMDGPUAsyncOperations.rst
M llvm/docs/AMDGPUMemoryModel.rst
M llvm/docs/AMDGPUUsage.rst
A llvm/docs/AliasAnalysis.md
R llvm/docs/AliasAnalysis.rst
A llvm/docs/Atomics.md
R llvm/docs/Atomics.rst
A llvm/docs/BitCodeFormat.md
R llvm/docs/BitCodeFormat.rst
M llvm/docs/CodingStandards.rst
M llvm/docs/CommandGuide/llvm-install-name-tool.rst
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/CommandGuide/llvm-strip.rst
A llvm/docs/CommandLine.md
R llvm/docs/CommandLine.rst
A llvm/docs/CompilerWriterInfo.md
R llvm/docs/CompilerWriterInfo.rst
A llvm/docs/Coroutines.md
R llvm/docs/Coroutines.rst
A llvm/docs/CoverageMappingFormat.md
R llvm/docs/CoverageMappingFormat.rst
A llvm/docs/DebuggingLLVM.md
R llvm/docs/DebuggingLLVM.rst
A llvm/docs/ExceptionHandling.md
R llvm/docs/ExceptionHandling.rst
A llvm/docs/Extensions.md
R llvm/docs/Extensions.rst
A llvm/docs/FAQ.md
R llvm/docs/FAQ.rst
M llvm/docs/Frontend/PerformanceTips.rst
A llvm/docs/GarbageCollection.md
R llvm/docs/GarbageCollection.rst
M llvm/docs/GettingInvolved.rst
A llvm/docs/GettingStartedVS.md
R llvm/docs/GettingStartedVS.rst
M llvm/docs/GitHub.rst
M llvm/docs/GlobalISel/GMIR.rst
M llvm/docs/GlobalISel/IRTranslator.rst
A llvm/docs/InstrProfileFormat.md
R llvm/docs/InstrProfileFormat.rst
M llvm/docs/LangRef.rst
A llvm/docs/Lexicon.md
R llvm/docs/Lexicon.rst
A llvm/docs/LibFuzzer.md
R llvm/docs/LibFuzzer.rst
M llvm/docs/LoopFusion.rst
A llvm/docs/LoopTerminology.md
R llvm/docs/LoopTerminology.rst
A llvm/docs/MIRLangRef.md
R llvm/docs/MIRLangRef.rst
M llvm/docs/MarkdownQuickstartTemplate.md
A llvm/docs/MemorySSA.md
R llvm/docs/MemorySSA.rst
A llvm/docs/NewPassManager.md
R llvm/docs/NewPassManager.rst
M llvm/docs/ProgrammersManual.rst
A llvm/docs/ProjectGovernance.rst
M llvm/docs/README.txt
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
A llvm/docs/SphinxQuickstartTemplate.md
R llvm/docs/SphinxQuickstartTemplate.rst
M llvm/docs/index.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/APSInt.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/BitVector.h
M llvm/include/llvm/ADT/CachedHashString.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/DenseMapInfo.h
M llvm/include/llvm/ADT/DenseMapInfoVariant.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/ADT/Hashing.h
M llvm/include/llvm/ADT/ImmutableList.h
M llvm/include/llvm/ADT/MapVector.h
M llvm/include/llvm/ADT/PointerEmbeddedInt.h
M llvm/include/llvm/ADT/PointerIntPair.h
M llvm/include/llvm/ADT/PointerSumType.h
M llvm/include/llvm/ADT/PointerUnion.h
M llvm/include/llvm/ADT/SmallBitVector.h
M llvm/include/llvm/ADT/SmallVector.h
M llvm/include/llvm/ADT/StringMap.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/Loads.h
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/VectorUtils.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/BinaryFormat/Minidump.h
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/BinaryFormat/WasmTraits.h
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CAS/CASID.h
M llvm/include/llvm/CAS/CASReference.h
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/PBQP/CostAllocator.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerDeclContext.h
M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
M llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/GSYM/FileEntry.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/RawConstants.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorResolutionGenerator.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MemoryFlags.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/SymbolStringPool.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorResolver.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
M llvm/include/llvm/Frontend/OpenMP/OMPContext.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M llvm/include/llvm/IR/AssemblyAnnotationWriter.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/include/llvm/IR/BasicBlock.h
A llvm/include/llvm/IR/BundleAttributes.def
A llvm/include/llvm/IR/BundleAttributes.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/Dominators.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/Module.h
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/IR/PatternMatch.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/IR/ValueHandle.h
M llvm/include/llvm/IR/ValueMap.h
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Linker/IRMover.h
M llvm/include/llvm/MC/DXContainerInfo.h
M llvm/include/llvm/MC/MCGOFFObjectWriter.h
M llvm/include/llvm/MC/MCRegister.h
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/ObjCopy/ObjCopy.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/FunctionId.h
M llvm/include/llvm/ProfileData/HashKeyMap.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/include/llvm/Support/AtomicOrdering.h
M llvm/include/llvm/Support/ELFAttrParserCompact.h
M llvm/include/llvm/Support/ELFAttrParserExtended.h
M llvm/include/llvm/Support/FileSystem/UniqueID.h
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/Support/UniqueBBID.h
M llvm/include/llvm/Support/VersionTuple.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/Testing/Annotations/Annotations.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/include/llvm/Transforms/Scalar/GVNExpression.h
M llvm/include/llvm/Transforms/Scalar/SROA.h
R llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
A llvm/include/llvm/Transforms/Utils/TriggerCrashPass.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/PseudoProbeInserter.cpp
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
M llvm/lib/CodeGen/RegisterBankInfo.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/CodeGen/StackMaps.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/DTLTO/CMakeLists.txt
M llvm/lib/DTLTO/DTLTO.cpp
A llvm/lib/DTLTO/DTLTODistributionDriver.cpp
A llvm/lib/DTLTO/DTLTOInputFiles.cpp
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.h
M llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
M llvm/lib/DebugInfo/CodeView/TypeHashing.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
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/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
A llvm/lib/IR/BundleAttributes.cpp
M llvm/lib/IR/CMakeLists.txt
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Operator.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/DXContainerInfo.cpp
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/ObjCopy/Archive.cpp
M llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
M llvm/lib/ObjCopy/ObjCopy.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/Minidump.cpp
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Support/ELFAttrParserCompact.cpp
M llvm/lib/Support/ELFAttrParserExtended.cpp
M llvm/lib/Support/StringRef.cpp
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.h
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUBarrierLatency.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.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/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
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/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
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.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/CSKY/CSKYTargetMachine.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/M68k/AsmParser/CMakeLists.txt
M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
M llvm/lib/Target/M68k/M68kInstrFormats.td
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/M68k/M68kTargetMachine.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBanks.td
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/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.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
R llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicfiss.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvdota.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvvm.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVTypeInst.h
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/lib/Target/X86/X86FixupLEAs.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/lib/Target/X86/X86OptimizeLEAs.cpp
M llvm/lib/Target/X86/X86PartialReduction.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
M llvm/lib/Testing/Annotations/Annotations.cpp
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/ConstantMerge.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/FunctionImport.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/HotColdSplitting.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/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.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/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
R llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/lib/Transforms/Utils/TriggerCrashPass.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAcceptOrRevert.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
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
R llvm/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/inline-asm.mir
A llvm/test/Analysis/ValueTracking/assume-on-value.ll
R llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
M llvm/test/Analysis/ValueTracking/assume.ll
A llvm/test/Analysis/ValueTracking/knownbits-shl-ctlz-msb.ll
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
A llvm/test/Assembler/dilabel.ll
M llvm/test/Assembler/fast-math-flags.ll
M llvm/test/Assembler/index-value-order.ll
M llvm/test/Assembler/invalid-interleave.ll
A llvm/test/Assembler/invalid-phi-fast-math-flags.ll
A llvm/test/Assembler/invalid-select-fast-math-flags.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
A llvm/test/Bitcode/musttail-bitcast-upgrade.ll
A llvm/test/Bitcode/musttail-bitcast-upgrade.ll.bc
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
M llvm/test/Bitcode/upgrade-masked-keep-metadata.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.mir
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/prelegalizer-combiner-narrow-binop-feeding-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-sextload-from-sextinreg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-splat-vector.ll
A llvm/test/CodeGen/AArch64/aarch64-f16f32dot-intrinsics.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
A llvm/test/CodeGen/AArch64/aarch64-pseudo-probe-tail-call.ll
M llvm/test/CodeGen/AArch64/aarch64-sme-za-call-lowering.ll
M llvm/test/CodeGen/AArch64/aarch64-sysreg128.ll
M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
M llvm/test/CodeGen/AArch64/arm64-csel.ll
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
R llvm/test/CodeGen/AArch64/arm64-invalid-sys-reg.ll
A llvm/test/CodeGen/AArch64/arm64-named-reg-notareg.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vcnt.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/bitfield-insert.ll
M llvm/test/CodeGen/AArch64/bswap-known-bits.ll
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-add.ll
A llvm/test/CodeGen/AArch64/dag-maps-huge-region.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/expand-sme-pseudos.mir
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/machine-sme-abi-find-insert-pt.mir
M llvm/test/CodeGen/AArch64/machine-sme-abi-skip-debug-inst.mir
A llvm/test/CodeGen/AArch64/misched-fusion-aes-post-ra.mir
M llvm/test/CodeGen/AArch64/misched-fusion-aes.ll
M llvm/test/CodeGen/AArch64/pr164181.ll
M llvm/test/CodeGen/AArch64/read-fp-reg.ll
A llvm/test/CodeGen/AArch64/read-reg-non-entry.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/selectopt-cast.ll
M llvm/test/CodeGen/AArch64/sitofp-to-tbl.ll
M llvm/test/CodeGen/AArch64/sme-abi-eh-liveins.mir
M llvm/test/CodeGen/AArch64/sme-lazy-sve-nzcv-live.mir
M llvm/test/CodeGen/AArch64/special-reg.ll
M llvm/test/CodeGen/AArch64/sshl_sat.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-frintz.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc-stores.ll
A llvm/test/CodeGen/AArch64/sve-frintz.ll
M llvm/test/CodeGen/AArch64/sve-ldst-multi-vec.mir
M llvm/test/CodeGen/AArch64/sve2-rsh.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-fp-converts_x2.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/AArch64/ushl_sat.ll
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
A llvm/test/CodeGen/AArch64/vector-splice-compress-mmo-align.ll
M llvm/test/CodeGen/AArch64/write-volatile-register.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/amdgpu-irtranslator.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_optimizations_mul_one.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-unmerge-values.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-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/floor.f64.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fmin3-fmax3-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.exp.compr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.exp.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-i1-copy.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-select.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext-inreg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir
Log Message:
-----------
Merge branch 'filecheck-test-braced-search-ranges' into filecheck-braced-search-ranges
Compare: https://github.com/llvm/llvm-project/compare/ea2807b40469...00c7a763236e
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