[all-commits] [llvm/llvm-project] f94a69: [Passes] Use consistent naming for printer passes ...
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Mon May 25 22:48:12 PDT 2026
Branch: refs/heads/users/vitalybuka/spr/lit-enforce-read-only-behavior-on-lit_configmaxindividualtesttime-1
Home: https://github.com/llvm/llvm-project
Commit: f94a6901f82dcb36de7c889525ba8223198712fd
https://github.com/llvm/llvm-project/commit/f94a6901f82dcb36de7c889525ba8223198712fd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M llvm/docs/AliasAnalysis.rst
M llvm/docs/Passes.rst
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/AliasSet/argmemonly.ll
M llvm/test/Analysis/AliasSet/guards.ll
M llvm/test/Analysis/AliasSet/intrinsics.ll
M llvm/test/Analysis/AliasSet/memloc-vscale.ll
M llvm/test/Analysis/AliasSet/memset.ll
M llvm/test/Analysis/AliasSet/memtransfer.ll
M llvm/test/Analysis/AliasSet/saturation.ll
M llvm/test/Analysis/BasicAA/separate_storage-alias-sets.ll
M llvm/test/Analysis/MustExecute/const-cond.ll
M llvm/test/Analysis/MustExecute/infinite_loops.ll
M llvm/test/Analysis/MustExecute/irreducible-cfg.ll
M llvm/test/Analysis/MustExecute/loop-header.ll
M llvm/test/Analysis/MustExecute/must_be_executed_context.ll
M llvm/test/Analysis/MustExecute/pr57780.ll
M llvm/test/Analysis/ValueTracking/deref-abstract-gc.ll
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
M llvm/test/Other/debugcounter-predicateinfo.ll
M llvm/test/Other/print-cfg-scc.ll
M llvm/test/Transforms/FunctionSpecialization/ssa-copy.ll
M llvm/test/Transforms/LoopVectorize/pr25281.ll
M llvm/test/Transforms/Util/PredicateInfo/assume-operand-bundles.ll
M llvm/test/Transforms/Util/PredicateInfo/branch-on-same-cond.ll
M llvm/test/Transforms/Util/PredicateInfo/condprop.ll
M llvm/test/Transforms/Util/PredicateInfo/diamond.ll
M llvm/test/Transforms/Util/PredicateInfo/edge.ll
M llvm/test/Transforms/Util/PredicateInfo/ordering.ll
M llvm/test/Transforms/Util/PredicateInfo/pr33456.ll
M llvm/test/Transforms/Util/PredicateInfo/pr33457.ll
M llvm/test/Transforms/Util/PredicateInfo/testandor.ll
M llvm/test/Transforms/Util/PredicateInfo/unnamed-types.ll
M llvm/test/Transforms/Util/PredicateInfo/unreachable.ll
Log Message:
-----------
[Passes] Use consistent naming for printer passes (#198144)
Commit: 47e142b5ee3d1a428c91dc25a281972e19b57a8a
https://github.com/llvm/llvm-project/commit/47e142b5ee3d1a428c91dc25a281972e19b57a8a
Author: Lukáš Lalinský <lukas at lalinsky.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/inline-asm-clobber-x29-x30.ll
Log Message:
-----------
[AArch64] Fix handling of x29/x30 in inline assembly clobbers (#167783)
The AArch64 backend was silently ignoring inline assembly clobbers when
numeric register names (x29, x30) were used instead of their
architectural aliases (fp, lr). I found this bug via inline assembly
in Zig, which not normalize the register names the way clang does.
There is an incoplete workaround for this in Rust, but that only
handles `x30/lr`, not `x29/fp`. I thought it would make
sense to fix this properly rather than adding a workaround to Zig.
This patch adds explicit handling in getRegForInlineAsmConstraint() to
map both numeric and alias forms to the correct physical registers,
following the same pattern used by the RISC-V backend.
I've left `x31/sp` without changes, it would nice to have to have
warning when trying to clobber `x31`, just like there is for `sp`,
but that register needs different handling, so it's best done
separately.
If you have code like this:
define void @clobber_x30() nounwind {
tail call void asm sideeffect "nop", "~{x30}"()
ret void
}
Here is the generated assembly before:
clobber_x30: // @clobber_x30
//APP
nop
//NO_APP
ret
And after:
clobber_x30: // @clobber_x30
str x30, [sp, #-16]! // 8-byte Folded Spill
//APP
nop
//NO_APP
ldr x30, [sp], #16 // 8-byte Folded Reload
ret
Commit: 3a2876d8cbab2efe2dd866de14edf372671a25ee
https://github.com/llvm/llvm-project/commit/3a2876d8cbab2efe2dd866de14edf372671a25ee
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Fix math.powf lowering for non-integer exponents (#197727)
The ConvertFToS usage only works when y is an integer. Use it only for
integer constants, for others: lower as GL.Exp(y * GL.Log(x))
Commit: 598acfb82d27b583e7adb1526b3cfd27f2a84041
https://github.com/llvm/llvm-project/commit/598acfb82d27b583e7adb1526b3cfd27f2a84041
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/coverage-module-unloaded.cpp
M compiler-rt/test/sanitizer_common/TestCases/get_module_and_offset_for_pc.cpp
Log Message:
-----------
[sanitizer][test] Fix coverage-module-unloaded.cpp etc. on Solaris (#198164)
When switching `clang++` to the default Solaris 11.4 compilation
environment, XPG7 + extensions, two tests `FAIL`:
```
AddressSanitizer-i386-sunos :: TestCases/Posix/coverage-module-unloaded.cpp
AddressSanitizer-i386-sunos-dynamic :: TestCases/Posix/coverage-module-unloaded.cpp
SanitizerCommon-asan-i386-SunOS :: get_module_and_offset_for_pc.cpp
SanitizerCommon-ubsan-i386-SunOS :: get_module_and_offset_for_pc.cpp
SanitizerCommon-ubsan-x86_64-SunOS :: get_module_and_offset_for_pc.cpp
```
The failure mode is the same in both cases: the tests fail to link with
`main` undefined. This happens because `<sys/mman.h>` defines
```
#define SHARED 0x10
```
for the benefit of the Solaris-specific `memcntl(2)`. This was
previously hidden since `clang++` defined `_XOPEN_SOURCE=600`. This
interferes with the use of `SHARED` in the tests.
While I'm the first to admit that such a generic identifier is highly
unfortunate, this is also true for the tests. The interface goes all the
way back to Solaris 1.0/SunOS 4, thus isn't going to change.
This patch fixes this by following the lead of other tests that use
`SHARED_LIB` instead of `SHARED` for this purpose.
Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11`.
Commit: 0e92b557a78eddc7493ade4cfc0a3b6b93ee61cf
https://github.com/llvm/llvm-project/commit/0e92b557a78eddc7493ade4cfc0a3b6b93ee61cf
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp
Log Message:
-----------
[sanitizer_common] Fix sanitizer_platform_limits_solaris.cpp compilation (#198158)
When switching `clang++` to the default Solaris 11.4 compilation
environment, XPG7 + extensions, `sanitizer_platform_limits_solaris.cpp`
fails to compile:
```
compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp:93:53: error: use of undeclared identifier 'ucontext_t'; did you mean 'ucontext_t_sz'?
93 | unsigned ucontext_t_sz(void *ctx) { return sizeof(ucontext_t); }
| ^~~~~~~~~~
| ucontext_t_sz
compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp:93:12: note: 'ucontext_t_sz' declared here
93 | unsigned ucontext_t_sz(void *ctx) { return sizeof(ucontext_t); }
| ^
compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp:93:52: error: invalid application of 'sizeof' to a function type
93 | unsigned ucontext_t_sz(void *ctx) { return sizeof(ucontext_t); }
| ^~~~~~~~~~~~
```
Previously, `<sys/signal.h>` would include `<sys/ucontext.h>` due to a
XPG4v2 requirement. Now the latter needs to be included directly.
Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11`.
Commit: c497efb82a02a1dc1126bda17f9373f120df298a
https://github.com/llvm/llvm-project/commit/c497efb82a02a1dc1126bda17f9373f120df298a
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/logical-select.ll
Log Message:
-----------
[InstCombine] Convert logical and/or with trunc nuw to i1 into bitwise ops (#198178)
if it is know that `trunc nuw to i1 ` can not be poison logical and/or
can be folded to bitwise ops.
proof https://alive2.llvm.org/ce/z/xQ2Sj-
Commit: df905252dbe931929cd3118630e5d13dc9d470d8
https://github.com/llvm/llvm-project/commit/df905252dbe931929cd3118630e5d13dc9d470d8
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
Log Message:
-----------
[JTS] Readd assertion
Now that VP metadata has been cleaned up a little bit, we can reenable
this assertion.
Reviewers: alexander-shaposhnikov, mtrofin
Pull Request: https://github.com/llvm/llvm-project/pull/198141
Commit: 856f7d4d33d425e2e993c37785d941cac9a0e3b9
https://github.com/llvm/llvm-project/commit/856f7d4d33d425e2e993c37785d941cac9a0e3b9
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Extract helper to simplify phi removal in connectEpiVectorL (NFC) (#198203)
Extract the repeated edge-redirect + DomTree update pattern into a
RedirectEdge lambda, and convert the separate removeIncomingValue calls
for check blocks into a loop.
Commit: 46c1fa8d1759feaefae1f6f88e1768e77c017365
https://github.com/llvm/llvm-project/commit/46c1fa8d1759feaefae1f6f88e1768e77c017365
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Use ResumeForEpilogue to get epilogue vector trip count (NFC). (#198210)
Use ResumeForEpilogue to look up the vector trip count instead of plain
IR lookup. Also prepares for non-phi resume values.
Commit: c5c8e91e1b1755ac2120e9be89f0f33e4e7a95e0
https://github.com/llvm/llvm-project/commit/c5c8e91e1b1755ac2120e9be89f0f33e4e7a95e0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
Log Message:
-----------
[ICP] Update comment about duplicate values in VP MD
With https://github.com/llvm/llvm-project/pull/196649 deduplicating VP
values and https://github.com/llvm/llvm-project/pull/193083 enforcing
this, we no longer need to worry about duplicate values, zero or
otherwise. Update the comment to reflect this.
Reviewers: mingmingl-llvm, teresajohnson
Reviewed By: mingmingl-llvm
Pull Request: https://github.com/llvm/llvm-project/pull/198140
Commit: 5f2bedca745d5efa1955369cfe352bcd09be4633
https://github.com/llvm/llvm-project/commit/5f2bedca745d5efa1955369cfe352bcd09be4633
Author: Marcos Ramirez Joos <mramirezjoos.oss at proton.me>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/PCH/builtins-fenv.c
A clang/test/PCH/builtins-fenv.h
A clang/test/Sema/builtin-fenv.c
A clang/test/Sema/fenv-access-implicit.c
A clang/test/Sema/fenv-access-unevaluated.cpp
A clang/test/Sema/fenv-access.c
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
Add clang warning if fp exception functions are called without appropriate flags/pragmas (#187860)
Fixes https://github.com/llvm/llvm-project/issues/128239
The implementation adds warnings for floating-point exception function
calls (fenv.h) made without enabling floating-point exception behavior
via `-ffp-exception-behavior=maytrap/strict` or `#pragma STDC
FENV_ACCESS ON`. To support recognition of all fenv.h builtins,
`fexcept_t` and `fenv_t` were added as builtin types.
Commit: 3a1206a7551a7d071f3105bd9a12e8a8169f8e6f
https://github.com/llvm/llvm-project/commit/3a1206a7551a7d071f3105bd9a12e8a8169f8e6f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
Log Message:
-----------
[LV] Add find-last-iv test with blend (NFC). (#198214)
Add test cases showing functional change for
https://github.com/llvm/llvm-project/pull/194729.
Commit: 6a14487429c48cbdc0cf5b76e160a59fc5e1fa82
https://github.com/llvm/llvm-project/commit/6a14487429c48cbdc0cf5b76e160a59fc5e1fa82
Author: Anshul Nigham <nigham at google.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
Log Message:
-----------
[NewPM] Add newpm port for AArch64LowerHomogeneousPrologEpilog (#197606)
Commit: 938211b6006b29f26e2803c565c03d9fc67ae8c1
https://github.com/llvm/llvm-project/commit/938211b6006b29f26e2803c565c03d9fc67ae8c1
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Move isMoreProfitable to LoopVectorizationPlanner.cpp (NFC). (#195269)
isMoreProfitable does not depend on anything in LoopVectorize.cpp, move
it to the recently added LoopVectorizationPlanner.cpp.
PR: https://github.com/llvm/llvm-project/pull/195269
Commit: 3d3f4be0f13d69d46914c330895c9d5eff48a8d1
https://github.com/llvm/llvm-project/commit/3d3f4be0f13d69d46914c330895c9d5eff48a8d1
Author: Andrei Sabalenka <mechakotik at gmail.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
Log Message:
-----------
[compiler-rt] Fix StackDepot benchmark thread barrier (#197633)
Use Param.Threads (number of worker threads) as barrier threshold
instead of Param.UniqueThreads (boolean that controls input generation).
This also silences
[-Wbool-integral-comparison](https://github.com/llvm/llvm-project/pull/194180)
warning I'm working on.
Commit: 8f740a3cb68c30eb3a276fbc3b9cf460a196c217
https://github.com/llvm/llvm-project/commit/8f740a3cb68c30eb3a276fbc3b9cf460a196c217
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/static-initialization-cycle.cpp
Log Message:
-----------
[clang-tidy] Fix crash in misc-static-initialization-cycle (#198155)
This commit fixes `misc-static-initialization-cycle` crashing on `catch
(...)`.
Catch-all handlers have no exception declaration, so traversal of
`CXXCatchStmt` can call `TraverseDecl(nullptr)`. The check previously
passed that null pointer to `DeclContext::containsDecl`. This commit
fixes the problem by adding a null guard.
Closes #198150
Commit: 3e20d3d3964a3a6ac5f882842c7716e2682d622f
https://github.com/llvm/llvm-project/commit/3e20d3d3964a3a6ac5f882842c7716e2682d622f
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[DA] Delete early return in accumulateCoefficientsGCD (NFCI) (#197935)
This patch resolved one TODO comment in `accumulateCoefficientsGCD`
regarding an early return. I think this early return doesn't change the
final result because:
- The presence/absence of this early return can only affect whether
`CurLoopCoeff` is set.
- Regardless the value of `CurLoopCoeff`, if `RunningGCD` equals 1, the
result of caller side while loop doesn't change.
Deleting this early return is somewhat beneficial, because it allows us
to merge `analyzeCoefficientsForGCD` into this function.
Commit: e9122d11ff92f2f343668cc759081496a130a943
https://github.com/llvm/llvm-project/commit/e9122d11ff92f2f343668cc759081496a130a943
Author: eiytoq <eiytoq at outlook.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M libcxx/include/__mdspan/extents.h
M libcxx/test/std/containers/views/mdspan/extents/ctor_from_integral.pass.cpp
Log Message:
-----------
[libc++][mdspan] Add missing `std::move` in `std::extents` (#196574)
Without this fix, libc++ rejects this example:
```cpp
#include <mdspan>
struct RValueInt {
constexpr operator int() && noexcept { return 0; }
};
int main() {
std::extents<int, std::dynamic_extent> e(RValueInt{});
}
```
Commit: 8d3d6114fe588f327f43c132b135b14ed30781be
https://github.com/llvm/llvm-project/commit/8d3d6114fe588f327f43c132b135b14ed30781be
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[Clang] Instantiate ParmVarDecls on-demand for FunctionParmPackExpr (#196919)
This is missed when we implemented CWG2369, where their instantiations
should be built in place when they are needed.
Fixes #173086
Commit: 48873518fcf6d19f251e61e559478e869051e0c1
https://github.com/llvm/llvm-project/commit/48873518fcf6d19f251e61e559478e869051e0c1
Author: Hocky Yudhiono <hocky.yudhiono at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir][linalg] Add splat transpose canonicalization patterns (#195991)
All elements in a dense splat are identical, transposing it only changes
the shape, but still maintaining the value. Add a pattern where it would
replace the `linalg.transpose` of a splat constant with a
`arith.constant` of the transposed result shape.
Assisted-by: Cursor (GPT-5.5)
Commit: 428cc1676e519f94d5162a862edde82e4062fcc3
https://github.com/llvm/llvm-project/commit/428cc1676e519f94d5162a862edde82e4062fcc3
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
M clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zbb.c
Log Message:
-----------
[CIR][RISCV] Support rest zbb builtin codegen (#196704)
Inlcude: __builtin_riscv_clz_32, __builtin_riscv_clz_64,
__builtin_riscv_ctz_32, __builtin_riscv_ctz_64.
Commit: 7f396dbc9cdcf33e85dd857945dd8f1e921f887c
https://github.com/llvm/llvm-project/commit/7f396dbc9cdcf33e85dd857945dd8f1e921f887c
Author: yonghong-song <yhs at fb.com>
Date: 2026-05-17 (Sun, 17 May 2026)
Changed paths:
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
Log Message:
-----------
[BPF] Remove getMaxNumArgs() from BPFTargetTransformInfo (#198223)
The function getMaxNumArgs() hardcoded the maximum number of function
arguments to 5. LLVM now supports more than 5 arguments with stack
argument support. Remove this leftover.
Commit: 9a0ca632189db14823b26356c0af6e164ec4eb58
https://github.com/llvm/llvm-project/commit/9a0ca632189db14823b26356c0af6e164ec4eb58
Author: Nikita Terentev <svet58585 at mail.ru>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
M llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp
Log Message:
-----------
[llvm-debuginfo-analyzer] Fix missed 'else' (LVCodeViewReader / LVDWARFReader) (#192923)
Issues found PVS studio static analyzer.
LVCodeViewReader.cpp. PR for #170117.
4. Potent UB: manipulation of invalid object.
The PVS-Studio warning: V519 The 'FeaturesValue' variable is assigned
values twice successively.
The original patch caused fail tests for linker error and it was reverted.
This PR include original (#188578) + necessary edit in CMakeList.
Committed on behalf of @Seraphimt
Commit: d8e40964f2597c38af2b4c7967aa95d7f76a8d48
https://github.com/llvm/llvm-project/commit/d8e40964f2597c38af2b4c7967aa95d7f76a8d48
Author: Nico Weber <thakis at chromium.org>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M libc/src/__support/math/pow.h
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
Log Message:
-----------
[libc][math] Fix pow() subnormal base exponent computation (#198134)
For subnormal inputs, get_exponent() returns -1023. The code subtracted
64 after normalizing but didn't recompute e_x from the normalized value.
This set e_x to -1087 for every subnormal.
To fix, compute e_x from the normalized value.
powf() doesn't have this bug because it adds
`x_u >> FloatBits::FRACTION_LEN` to ex, where x_u is `x_u =
FloatBits(x).uintval();` with `x` being the normalized value. Added
subnormal base tests for powf to show that it works fine as-is.
Fixes #197212.
Commit: 85db72339ba6b7ceef7b7314e7c2a5d43f7a039e
https://github.com/llvm/llvm-project/commit/85db72339ba6b7ceef7b7314e7c2a5d43f7a039e
Author: Varad Rahul Kamthe <133588066+varadk27 at users.noreply.github.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
A mlir/test/Target/LLVMIR/nvvm/sqrt/sqrt.mlir
A mlir/test/Target/LLVMIR/nvvm/sqrt/sqrt_invalid.mlir
Log Message:
-----------
[MLIR][NVVM] Add sqrt Ops (#197422)
Adds two NVVM dialect ops covering all 14 floating-point `sqrt` forms:
- `nvvm.sqrt` -- IEEE-compliant sqrt with explicit rounding mode
(`sqrt.<RM>[.ftz].{f32,f64}`), 12 forms.
- `nvvm.sqrt.approx` -- fast approximate sqrt (`sqrt.approx[.ftz].f32`),
2 forms; uses the `NVVM_F32UnaryApproxOp` base class.
The two ops are split because the rounded forms require an explicit rounding mode and support both f32 and f64, while the approx forms have no rounding mode and are f32-only.
Commit: aa1081f2c4cc28477ccbf473302c94d027b7fd1f
https://github.com/llvm/llvm-project/commit/aa1081f2c4cc28477ccbf473302c94d027b7fd1f
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M libc/docs/dev/syscall_wrapper_refactor.rst
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/auxv.h
M libc/src/__support/OSUtil/linux/syscall.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mmap.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/startup/linux/aarch64/CMakeLists.txt
M libc/startup/linux/aarch64/tls.cpp
M libc/startup/linux/riscv/CMakeLists.txt
M libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/CMakeLists.txt
M libc/startup/linux/x86_64/tls.cpp
Log Message:
-----------
[libc] Introduce a typed syscall wrapper and use it in mmap (#197459)
Linux reserves a range of values (everything above -4096u, aka
MAX_ERRNO) as an error value, so the check can be performed without
knowing the details of the specific syscall. libc functions where these
values would be a valid result (e.g. PTRACE_PEEKDATA) are implemented
differently at the kernel level (e.g. returning the result through a
pointer argument). The only exception are a handful of syscalls (getpid,
getuid, ...) which can never fail, and where this could be an actual
user/group ID (particularly on 32-bit systems).
Specifically, for mmap, this lets us remove the is_valid_mmap helper and
SYS_mmap2 ifdefs in various places.
More generally, this can simplify many syscall wrappers as often the
only thing they are doing is converting the return value into an
ErrorOr.
Commit: ee54401f2ab98924c64f59673441b1e1ede44e48
https://github.com/llvm/llvm-project/commit/ee54401f2ab98924c64f59673441b1e1ede44e48
Author: Dhruv Chauhan <dhruv.chauhan at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
M mlir/test/Conversion/GPUToSPIRV/wmma-ops-to-spirv-khr-coop-matrix.mlir
Log Message:
-----------
[mlir][spirv] Set signed coop matrix operands (#197932)
Populate CooperativeMatrixOperandsKHR on KHR cooperative matrix
multiply-add based on the cooperative matrix element types. Signed
integer A, B, C and result matrices require their corresponding signed
component bits; otherwise SPIR-V treats those integer components as
unsigned.
Added lit test
Co-authored-by: Hsiangkai Wang <hsiangkai.wang at arm.com>
Commit: 992df0aed5dda0a644c8939daa81b028f198651b
https://github.com/llvm/llvm-project/commit/992df0aed5dda0a644c8939daa81b028f198651b
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
Log Message:
-----------
[GlobalISel][MatchTable] Fix RTTI of Imm/ImmPredicate classes (#197142)
Commit: 06d50ac2b7ba29646c0e871fbef928889abf4182
https://github.com/llvm/llvm-project/commit/06d50ac2b7ba29646c0e871fbef928889abf4182
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-aarch64-sdiv.mir
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerRecursion.td
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GlobalISel] Recursively Optimise MatchTable Matchers (#197143)
The core of this change is the additional call to `Matcher::optimize()`
in the `optimizeRules` function,
which enables the match table optimization logic to recurse on the
children of every GroupMatcher, forming
additional groups (which hoist more common predicates into a shared
group).
To enable that, I had to update the `getFirstConditionAsRootType`
implementation to support `GroupMatcher`.
I also included a small refactoring of the match table optimization
pipeline that was identical between the
GlobalISel and GlobalISelCombiner emitters.
The results of this change are up to a 25% size reduction for GlobalISel
match tables.
There is a tiny increase (a few bytes) in a combiner table because we
now create new groups
(which need up to 3 additional opcodes because of the new `Try` and
`Reject` required) to hoist one predicate for only 2 rules, which
result in a small net negative change (one or two more ops).
I used a small bash script to compare all relevant files, this is the
before/after:
```
FILE OLD NEW DIFF% SAME?
---- ------- ------- ----- -----
AArch64GenGlobalISel.inc 202434 192045 -5,1% no
AArch64GenPostLegalizeGICombiner.inc 4428 4432 0,1% no
AArch64GenPreLegalizeGICombiner.inc 8974 8977 0,0% no
AMDGPUGenGlobalISel.inc 789379 590082 -25,2% no
AMDGPUGenPostLegalizeGICombiner.inc 9203 9207 0,0% no
AMDGPUGenPreLegalizeGICombiner.inc 8950 8954 0,0% no
AMDGPUGenRegBankGICombiner.inc 1981 1981 0,0% yes
```
Commit: 0f6f00a5a209f75cc6f4de7e0463a0dda28e43a9
https://github.com/llvm/llvm-project/commit/0f6f00a5a209f75cc6f4de7e0463a0dda28e43a9
Author: Pengxiang Huang <71998072+Pengxiang-Huang at users.noreply.github.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaBoundsSafety.cpp
A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs-anon.c
Log Message:
-----------
[Sema] Call ActOnFields before late parsing in ParseStructUnionBody (#187166)
Implements for: #186914
Move the call to `ActOnFields()` before `ParseLexedCAttributeList()` in
ParseStructUnionBody for reordering so that the struct type is complete
when late-parsed attributes like counted_by get evaluated. This is a
prerequisite for supporting sizeof/offsetof expressions in counted_by
evaluation.
Update the heuristic for `GetEnclosingNamedOrTopAnonRecord`. Remove the
`isCompleteDefinition()` condition since it will always return true
under the new ordering. The `GetEnclosingNamedOrTopAnonRecord` intend to
treat the unnamed and anonymous struct permissively.
Add one test to verify the new ordering still make sure the function of
unnamed and anonymous struct works normally.
Commit: 3bdd54eb11e2005610efbd33daf5ed126decb3e4
https://github.com/llvm/llvm-project/commit/3bdd54eb11e2005610efbd33daf5ed126decb3e4
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/crel-relocs.s
Log Message:
-----------
[BOLT] Add support for CREL code relocations (#196383)
BOLT only checked for .rela sections when deciding whether relocation
mode could be enabled. This caused binaries with SHT_CREL code
relocations (such as .crel.text) to be rejected as missing relocations.
No support for SHT_REL has been added in this patch.
Reference:
https://discourse.llvm.org/t/rfc-crel-a-compact-relocation-format-for-elf/77600
Based on https://github.com/llvm/llvm-project/pull/119150 to address
issue https://github.com/llvm/llvm-project/issues/110407.
Co-Author: @0xfk0
Commit: f0200959c5d1ca6ab3f6c28441d70ebcf00267cb
https://github.com/llvm/llvm-project/commit/f0200959c5d1ca6ab3f6c28441d70ebcf00267cb
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
Log Message:
-----------
[LV][RISCV] Add strided search test for early-exit vectorization. nfc (#198080)
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 8fb1715ac4bb0ab71798fb4cc738f573769f58b3
https://github.com/llvm/llvm-project/commit/8fb1715ac4bb0ab71798fb4cc738f573769f58b3
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.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
Log Message:
-----------
[LV][NFC] Regenerate CHECK lines for some tests (#197939)
Commit: 24dc0d0d1064ad8894eb2e05d9fef04cd342faee
https://github.com/llvm/llvm-project/commit/24dc0d0d1064ad8894eb2e05d9fef04cd342faee
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Scalar/LICM.cpp
Log Message:
-----------
[LICM][NFC] Factor canHoistLoad out of canSinkOrHoistInst into LoopUtils (#197870)
This patch moves the load-only legality logic from `canSinkOrHoistInst`
into a new `canHoistLoad` helper, declared in
`llvm/Transforms/Utils/LoopUtils.h` and defined in `LICM.cpp`.
`canSinkOrHoistInst` delegates to it for `LoadInst`, so its behavior is
unchanged.
This exposes the load-hoist check for reuse by other passes (e.g. the
GVN min-finding select transform in PR #162259).
Commit: 2a619c453117bf584724c44345fbdf2526ba0ed0
https://github.com/llvm/llvm-project/commit/2a619c453117bf584724c44345fbdf2526ba0ed0
Author: Nagesh Nazare <nageshnnazare at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/lib/Analysis/BodyFarm.cpp
M clang/test/Analysis/OSAtomic_mac.cpp
Log Message:
-----------
[clang] Fix OSAtomicCompareAndSwap* bodyfarm crash (#197489)
When the user-declared OSAtomicCompareAndSwap* prototype has mismatched
oldValue/ newValue/ *theValue types, BodyFarm previously asserted while
synthesizing the body. It should bail out gracefully and let the
analyzer fall back to generic call semantics.
Fixes #197211
Fix for the crash reproduced with:
https://godbolt.org/z/9dcb837YE
```
int foo = 0;
bool OSAtomicCompareAndSwap(char32_t __oldValue, int __newValue,
volatile int *__theValue);
void baz() {
if (OSAtomicCompareAndSwap(0, 0, &foo))
;
}
```
Commit: e15ce19f349604324aa1e86f566f197cdc62eb43
https://github.com/llvm/llvm-project/commit/e15ce19f349604324aa1e86f566f197cdc62eb43
Author: David Spickett <david.spickett at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M lldb/include/lldb/Core/UserSettingsController.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/include/lldb/Interpreter/OptionValueProperties.h
M lldb/include/lldb/Interpreter/Property.h
M lldb/source/Commands/CommandObjectApropos.cpp
M lldb/source/Core/UserSettingsController.cpp
M lldb/source/Interpreter/OptionValue.cpp
M lldb/source/Interpreter/OptionValueProperties.cpp
M lldb/source/Interpreter/Property.cpp
M lldb/test/API/commands/apropos/formatting/TestAproposFormatting.py
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[LLDB] Include components of settings paths in apropos search (#194873)
Fixes #188479.
`apropos` was previously only looking at the "name" of the setting,
which is the final part of what I as a user think of as the "name" as in
the "platform.plugin.something.something-else" form. That that form is
in fact the "qualified name".
In this change, I've extended apropos to look in the paths of settings,
that is the part of the settings name isn't the final name. For example,
"qemu-user" will now show a "path" as a result, which you can then look
up with "settings list".
(the alternative was to apply the search to the qualified name of all
settings, but this would result in a lot of results for top level things
like "platform")
This is the new behaviour:
```
(lldb) apropos qemu-user
No commands found pertaining to 'qemu-user'. Try 'help' to see a complete list of debugger commands.
The following settings paths may relate to 'qemu-user':
platform.plugin.qemu-user
(use 'settings list <path>' to show settings with a given path)
```
Then users can do:
```
(lldb) settings list platform.plugin.qemu-user
'platform.plugin.qemu-user' variables:
<...>
```
And this is what it looks like for a more common term:
```
(lldb) apropos platform
The following commands may relate to 'platform':
platform -- Commands to manage and create platforms.
<...>
The following settings paths may relate to 'platform':
platform.plugin.remote-android
<...>
(use 'settings list <path>' to show settings with a given path)
The following settings variables may relate to 'platform':
target.auto-install-main-executable -- Always install the main executable when connected to a
remote platform.
<...>
```
It does not list any `platform.<...>` in the "The following settings"
section. The results for settings names are the same as before.
Along the way, I fixed a bug in DumpQualifiedName where properties that
were groups of other properties would end up putting their name on the
end of the qualified name twice.
Commit: 84cd7ef2d2216e9ca290df6b5a6986f44990df9f
https://github.com/llvm/llvm-project/commit/84cd7ef2d2216e9ca290df6b5a6986f44990df9f
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes aa1081f (#198236)
This fixes aa1081f2c4cc28477ccbf473302c94d027b7fd1f.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 041f41b3157726a5d90a9ca2eed497576df72ccd
https://github.com/llvm/llvm-project/commit/041f41b3157726a5d90a9ca2eed497576df72ccd
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/MC/RISCV/rvf-user-csr-names.s
A llvm/test/tools/llvm-objdump/ELF/RISCV/mapping-sym-isa-absolute.s
A llvm/test/tools/llvm-objdump/ELF/RISCV/mapping-sym-isa-bad-string.test
A llvm/test/tools/llvm-objdump/ELF/RISCV/mapping-sym-isa-data.s
A llvm/test/tools/llvm-objdump/ELF/RISCV/mapping-sym-isa-disassemble-symbols.s
A llvm/test/tools/llvm-objdump/ELF/RISCV/mapping-sym-isa-disassembly.s
A llvm/test/tools/llvm-objdump/ELF/RISCV/mapping-sym-isa-legacy-fallback.test
A llvm/test/tools/llvm-objdump/ELF/RISCV/mapping-sym-isa-mattr-add.s
A llvm/test/tools/llvm-objdump/ELF/RISCV/mapping-sym-isa-mattr-conflict.s
A llvm/test/tools/llvm-objdump/ELF/RISCV/mapping-sym-isa-multi-section.s
A llvm/test/tools/llvm-objdump/ELF/RISCV/mapping-sym-isa-plain-x.test
A llvm/test/tools/llvm-objdump/ELF/RISCV/mapping-sym-isa-rvc.s
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump][RISCV] Use ISA mapping symbols for per-region disassembly (#193448)
llvm-objdump now honours "$x<ISAString>" mapping symbols emitted by the
RISC-V assembler to select the correct instruction decoder for each code
region.
Note that this also makes the --mattr= option of llvm-objdump much less
useful (only regions without an ISA mapping symbol are affected by
--mattr=).
The implementation also caches parsed ISA mapping symbols. We learned
this lesson from our downstream binutils implementation, where the first
version had no cache and made disassembling large binaries very slow, so
I decide introduce cache from the beginning here.
Test changes summary:
- zibi-valid.s: fix a bug where the rv64 test did not pass +64bit to
llvm-objdump, so address operands were not printed correctly.
- csr-aliases.s: llvm-objdump now picks the correct CSR from the mapping
symbol, so we can no longer force f off with llvm-objdump -f.
- rv32e-xqccmp-invalid.s, rv32e-zcmp-invalid.s, rv64e-xqccmp-invalid.s,
rv64e-zcmp-invalid.s, rve-invalid.s, rvf-user-csr-names.s: with mapping
symbols, we can no longer use llvm-objdump --mattr= to force how to
disassemble.
- Most other RVV tests: drop the unknown decode check and share with
CHECK-INST; some tests need `-M no-aliases` or `--no-print-imm-hex` to
keep the existing check lines simple.
- mapping-sym-isa-absolute.s, mapping-sym-isa-bad-string.test,
mapping-sym-isa-data.s, mapping-sym-isa-disassemble-symbols.s,
mapping-sym-isa-disassembly.s, mapping-sym-isa-legacy-fallback.test,
mapping-sym-isa-multi-section.s, mapping-sym-isa-rvc.s: new tests.
Assisted-by: Claude Opus
- For helping creating testcase, translate commit message from Chinese,
add comment, and review.
Commit: 1a4e0c9ec987b01c7e895393f38bcf27d19e3486
https://github.com/llvm/llvm-project/commit/1a4e0c9ec987b01c7e895393f38bcf27d19e3486
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[MLIR][Vector] Add canonicalization for interleave/deinterleave chain (#196979)
Commit: f48501b18cba818dea7df82f243c775b58962a76
https://github.com/llvm/llvm-project/commit/f48501b18cba818dea7df82f243c775b58962a76
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteUndefForPHI.cpp
M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
Log Message:
-----------
[AMDGPU] Replace !isDivergentAt with isUniformAt and vice versa. NFC. (#198253)
Commit: c47de2f3d211f72cb1959aead7cadb345c4bde22
https://github.com/llvm/llvm-project/commit/c47de2f3d211f72cb1959aead7cadb345c4bde22
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/test/Sema/warn-lifetime-safety-fixits.cpp
Log Message:
-----------
[LifetimeSafety] Fix lifetimebound fix-it location for defaulted parameters (#198092)
Earlier, we placed the attribute after the full parameter declaration.
Now, in the default-argument case, we place it after the parameter name.
Fixes #192271
Commit: 3c6fe49a912adc1ffe174bdf3d547a8bd6826bee
https://github.com/llvm/llvm-project/commit/3c6fe49a912adc1ffe174bdf3d547a8bd6826bee
Author: Wenju He <wenju.he at intel.com>
Date: 2026-05-18 (Mon, 18 May 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:
-----------
[OpenCL] Allow mesa3d OS in spirv32 and spirv64 targets (#197148)
Fix libclc `spirv32-mesa-mesa3d` target build error: unknown target
triple 'spirv32-mesa-mesa3d'
Fix libclc `spirv-mesa-mesa3d` target build error: SPIR-V target
requires a Vulkan environment.
mesa3d is a valid OS in llvm triple. This PR enables libclc build for
spirv32-mesa-mesa3d and spirv64-mesa-mesa3d targets.
Note previously spirv[64]-mesa3d- targets used spir[64]-unknown-unknown.
This PR canonicalizes the triples to spirv32[64]-mesa-mesa3d.
Commit: 86a4aa8a790ac5da89bb448be2ecfa21feaad05d
https://github.com/llvm/llvm-project/commit/86a4aa8a790ac5da89bb448be2ecfa21feaad05d
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/opencl/ddx-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddx_coarse-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddx_fine-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddy-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddy_coarse-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddy_fine-error.ll
M llvm/test/CodeGen/SPIRV/opencl/faceforward-error.ll
M llvm/test/CodeGen/SPIRV/opencl/fwidth-error.ll
M llvm/test/CodeGen/SPIRV/opencl/packhalf2x16-error.ll
M llvm/test/CodeGen/SPIRV/opencl/reflect-error.ll
M llvm/test/CodeGen/SPIRV/opencl/refract-error.ll
M llvm/test/CodeGen/SPIRV/opencl/unpackhalf2x16-error.ll
Log Message:
-----------
[SPIR-V] Route ISel errors through diagnoseUnsupported (#196899)
Replace report_fatal_error in ISel with diagnoseUnsupported so user gets
readable diagnostics with source location instead of simple errors
Commit: d656159f6e0bee49f70e1ada51318085d26147dc
https://github.com/llvm/llvm-project/commit/d656159f6e0bee49f70e1ada51318085d26147dc
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[MLIR][Vector] Add linearization patterns for interleave/deinterleave (#197123)
Commit: cc169110c5c9e049a145b64b50d81ae7c044c20d
https://github.com/llvm/llvm-project/commit/cc169110c5c9e049a145b64b50d81ae7c044c20d
Author: Ming Yan <ming.yan at terapines.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll
M llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
M llvm/test/Analysis/ScalarEvolution/exact-exit-count-more-precise.ll
M llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
M llvm/test/Analysis/ScalarEvolution/flags-from-poison-noautogen.ll
M llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/max-expr-cache.ll
M llvm/test/Analysis/ScalarEvolution/outer_phi.ll
M llvm/test/Analysis/ScalarEvolution/scev-dispositions.ll
M llvm/test/Analysis/ScalarEvolution/trivial-phis.ll
M llvm/test/Analysis/ScalarEvolution/two-loop-latches.ll
M llvm/test/Analysis/ScalarEvolution/zext-add.ll
Log Message:
-----------
Reapply "[SCEV] Introduce loop-uniform SCEV classification." (#196357)
This reverts commit 45d94f67b84bdc5a85aa8e3c5c266914062dcfef.
This recommit contains a small fix: when `loop-computable` are mixed
with `loop-uniform`, it returns `loop-variant (unknown)`.
Original message:
This patch extends `ScalarEvolution::LoopDisposition` with a new
`LoopUniform` state to describe SCEVs that are invariant across all
iterations of a given loop, but may still depend on inner-loop induction
variables.
Unlike `LoopInvariant`, which requires the value to be fully invariant
with respect to the loop, LoopUniform captures expressions that do not
depend on the loop’s own induction variables, yet may vary in nested
loops. This distinction is useful for analyses and optimizations that
reason about per-iteration stability at a specific loop level.
Example:
```
for (i)
for (j)
dep(j); // uniform w.r.t. i
dep(i, j); // not uniform w.r.t. i
```
This enables us to more precisely reason about the behavior of SCEV in
the context of nested loops, which is very useful for optimizations such
as `LoopUnrollAndJam` and `OuterLoopVectorization`.
PR: https://github.com/llvm/llvm-project/pull/194304
Commit: ae265f57c0708283d0c4234fc6709556c9a9b27c
https://github.com/llvm/llvm-project/commit/ae265f57c0708283d0c4234fc6709556c9a9b27c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Remove Def pointer from for VPSingleDefRecipes (NFC) (#195483)
For VPSingleDefRecipe, the VPRecipeValue's Def pointer always points
back to the containing VPRecipeBase, which is computable via
static_cast.
Introduce 2 VPRecipeValue subclasses to distinguish the VPValues defined
by VPSingleDefRecipes (VPSingleDefValue), and VPStandaloneValue for
other recipes.
The former does not need to store a pointer to the defining recipe, as
it can be computed via static_cast. This saves 8 bytes for most recipes.
I plan to use the extra bytes to store the type directly in VPValue as
follow-ups.
PR: https://github.com/llvm/llvm-project/pull/195483
Commit: d7aa289b7c241125ab92d6b721550525402b106c
https://github.com/llvm/llvm-project/commit/d7aa289b7c241125ab92d6b721550525402b106c
Author: Jared Hoberock <jaredhoberock at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
Log Message:
-----------
[MLIR][ExecutionEngine] Revert stream/event teardown error suppressions (#194440)
#190717 fixed the race that produced CUDA_ERROR_CONTEXT_IS_DESTROYED on
mgpuStreamDestroy, mgpuStreamWaitEvent, mgpuEventDestroy, and
mgpuEventSynchronize. This changes restores CUDA_REPORT_IF_ERROR on
those four sites.
Keep the CUDA_ERROR_DEINITIALIZED tolerance on mgpuModuleUnload because
that's a separate global-destructor ordering issue, and an error on
module unload is benign anyway.
This is a partial revert of #190563.
Assisted-by: Claude
Commit: aaf8d4e4da5ceebe515c66ab6a5fca47480b575b
https://github.com/llvm/llvm-project/commit/aaf8d4e4da5ceebe515c66ab6a5fca47480b575b
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M lldb/source/Target/AssertFrameRecognizer.cpp
M lldb/test/Shell/Recognizer/assert.test
Log Message:
-----------
Revert "[lldb][windows] add assert frame recognizer Windows (#197282)" (#198263)
This reverts commit 9144646bed5684833fd4c7874c5d1ad78f3f3fe0.
Commit: c7c289e85c48ee4ce59c52dcb4613a35a520e91b
https://github.com/llvm/llvm-project/commit/c7c289e85c48ee4ce59c52dcb4613a35a520e91b
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/CodeGen/WebAssembly/slp-memory-interleave.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
R llvm/test/Transforms/SLPVectorizer/AArch64/scalable-type-revec.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalable-vector.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/trunc-insertion.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s352.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
R llvm/test/Transforms/SLPVectorizer/AMDGPU/transform-node-gather-struct.ll
R llvm/test/Transforms/SLPVectorizer/RISCV/complex-nonvect-struct-returned.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reduced-value-repeated-and-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-saddo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-uaddo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-mul-smulo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-mul-umulo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssubo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-usubo.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-store-chains.ll
M llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll
M llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/extracts-non-extendable.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-extractelements-different-bbs.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-use-bitcasted-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/parent-node-split-non-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-bool-logic-op-inside.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-same-vals.ll
M llvm/test/Transforms/SLPVectorizer/X86/reused-extract-scalar-lanes.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-non-power-2-to-power-2-large-vect.ll
M llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/scalarize-ctlz.ll
M llvm/test/Transforms/SLPVectorizer/X86/schedule-bundle.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-copyable-cmp-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-reduction-op.ll
M llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
M llvm/test/Transforms/SLPVectorizer/bool-logical-op-reduction-with-poison.ll
M llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
M llvm/test/Transforms/SLPVectorizer/reduced-gathered-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/sincos.ll
M llvm/test/Transforms/SLPVectorizer/struct-return-revec.ll
Log Message:
-----------
Revert "[SLP] Vectorize struct-returning intrinsics" (#198265)
It causes assertions failure such as this one. See discussion on the PR.
Constants.cpp:2802:
static Constant *llvm::ConstantExpr::getInsertElement(Constant *,
Constant *, Constant *, Type *): Assertion `Val->getType()->isVectorTy()
&&
"Tried to create insertelement operation on non-vector type!"' failed.
> Allow SLP to combine across lanes calls that return a literal struct
> (llvm.sincos, llvm.*.with.overflow, llvm.frexp, ...) into a single
> call returning a struct of vectors, by widening {T, T, ...} to
> {<VF x T>, ...} via VectorTypeUtils and emitting extractvalue +
> extractelement for external uses.
>
> Original Pull Request:
https://github.com/llvm/llvm-project/pull/195521
>
> Original Pull Request2:
https://github.com/llvm/llvm-project/pull/196756
>
> Recommit after revert https://github.com/llvm/llvm-project/pull/197969
>
> Added check for valid vectorizable type.
>
> Reviewers:
>
> Pull Request: https://github.com/llvm/llvm-project/pull/197994
This reverts commit 1c5e395e234b5c4c6048a51842480c0c074f6ccf
and the follow-up or dependent commits landed since:
aa2f1240da2d [SLP] Enable full non-power-of-2 vectorization by default
6e8b6efff127 [SLP][REVEC] Fix crash on scalable vector types with
-slp-revec
8156fcedc45e [SLP] Prefer VF-matching scalar-set match in gather-shuffle
lookup
97ce93a054d9 [SLP]Consider non-profitable trees with buildvector of
struct-returning instructions
f0adfab10816 [SLP] Preserve profitable trees when subtree trimming would
reduce to buildvector-only
Commit: 40013b367c2c3ed5fe61c23c5a8d26de7a2697af
https://github.com/llvm/llvm-project/commit/40013b367c2c3ed5fe61c23c5a8d26de7a2697af
Author: David Spickett <david.spickett at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
Log Message:
-----------
[lldb][NFC] Deduplicate code to format speed test packet (#198268)
The code was the same as the existing MakeSpeedTestPacket helper
function.
Commit: 6aac1077c3587967a78f71b33fadfa2aae1dc4f1
https://github.com/llvm/llvm-project/commit/6aac1077c3587967a78f71b33fadfa2aae1dc4f1
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[PassBuilder] Consistently use isLTOXxx helper functions (NFC) (#196290)
In `PassBuilderPipelines.cpp`, we sometimes use `isLTOPreLink()`/etc
helper functions and sometimes direct comparison against elements of the
`ThinOrFullLTOPhase` enum.
This patch add a few more helper functions and makes the code
consistently use them.
Commit: 71b76eb10fce5d8ae0cc08f005ed4a159a1baacb
https://github.com/llvm/llvm-project/commit/71b76eb10fce5d8ae0cc08f005ed4a159a1baacb
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M flang-rt/test/Driver/write01.f90
Log Message:
-----------
[flang-rt][test] Fix write01.f90 missing LD_LIBRARY_PATH (introduced in #187662) (#198230)
The test binary was run without setting LD_LIBRARY_PATH, causing
libflang_rt.runtime.so to not be found at runtime. Match the pattern
used other tests in the same directory.
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: f97789da65cc2e55d5ff77b83b6f779d1d11aa7f
https://github.com/llvm/llvm-project/commit/f97789da65cc2e55d5ff77b83b6f779d1d11aa7f
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/Transforms/ArgumentPromotion/BPF/argpromotion.ll
Log Message:
-----------
[ArgumentPromotion][BPF] Regenerate check lines (NFC) (#198272)
Test update after 7f396dbc9cdcf33e85dd857945dd8f1e921f887c, previously
missing.
Fixes: https://github.com/llvm/llvm-project/issues/198264.
Commit: 15bc5608c8cf381038971caa8c3cb03d768da4bc
https://github.com/llvm/llvm-project/commit/15bc5608c8cf381038971caa8c3cb03d768da4bc
Author: Fady Farag <com.webkit.iidmsa at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/test/Driver/modules-driver-incompatible-options.cpp
Log Message:
-----------
[clang][test] Use `FileCheck` in `Driver/modules-driver-incompatible-options.cpp` (#198218)
The test had `CHECK` directives that were never executed because the
`RUN` line did not pipe output to `FileCheck`.
This also includes `2>&1` before the pipe to `FileCheck`, since Clang's
driver error messages are written to `stderr`.
This also adds `%t/` prefix to `main.cpp`, which should be the intended
directory.
Commit: 67a902f209437b700810893664150c5816337e3f
https://github.com/llvm/llvm-project/commit/67a902f209437b700810893664150c5816337e3f
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/IR/Constants.cpp
Log Message:
-----------
[LLVM] Refactor ConstantFP member functions to rely on its native vector support. (#197931)
ConstantFP has native vector support so many of its member functions can
be simplified by removing the ConstantVector indirection and can return
a ConstantFP* rather than a generic Constant*.
NOTE: The changes to ConstantFolding.cpp are reverting part of
https://github.com/llvm/llvm-project/pull/193254 that was necessary at
the time.
Commit: 858f734d2d2ae74306e12ee726cc51e098c687d4
https://github.com/llvm/llvm-project/commit/858f734d2d2ae74306e12ee726cc51e098c687d4
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Expr.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
A clang/test/Modules/embed-directive.cppm
Log Message:
-----------
[clang] Fix #embed with C++20 modules (#197434)
Fix a bug in EmbedExpr's constructor, correct serialization to make sure
to initialize all required fields and add a test.
Fixes https://github.com/llvm/llvm-project/issues/195350
Commit: 3e780b624d1fd7e19fdf4d294e31ac16ea33a90b
https://github.com/llvm/llvm-project/commit/3e780b624d1fd7e19fdf4d294e31ac16ea33a90b
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd-cost.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/partial-reduce-usabs.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/find-last.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/interleave-conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/widen-canonical-iv-register-pressure.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
Log Message:
-----------
[VPlan] Print RecurKind when dumping VPReductionPHI (#190114)
This makes it easier to see what type of recurrence is in a plan when
viewing the debug output.
It also adds an explicit string for each recurrence kind instead of
using through the opcode, as there were some kinds that share opcodes
with other kinds like fmuladd that we were forgetting to handle.
Commit: 393d3e4040e7300a56a0619aaadc42badf5b3762
https://github.com/llvm/llvm-project/commit/393d3e4040e7300a56a0619aaadc42badf5b3762
Author: David Green <david.green at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
Log Message:
-----------
[RISCV][GlobalISel] Remove dependency on legal ruleset (#197377)
This fills in always legal rules, to remove the dependency on the legacy
ruleset. I'm really 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: 84fab943b5740ec273e9f8d238ea8420033320a4
https://github.com/llvm/llvm-project/commit/84fab943b5740ec273e9f8d238ea8420033320a4
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
A llvm/test/CodeGen/AArch64/sve-multivector-loads.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Lower to multivector loads instead of splitting them. (#150421)
NOTE: Transformation requires subreg liveness because otherwise register allocation can introduce unnecessary copies.
Commit: e43fcb010aad590ed868b17055b344cd76eff7dd
https://github.com/llvm/llvm-project/commit/e43fcb010aad590ed868b17055b344cd76eff7dd
Author: Takashi Idobe <idobetakashi at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
A llvm/test/CodeGen/X86/inline-asm-intel-negative-scale.ll
M llvm/test/MC/X86/intel-syntax-invalid-scale.s
Log Message:
-----------
[X86] Fix Invalid assembly given inverted meaning (#190460)
Previously, `lea rax, [rax - 8 * rdx]` would be misassembled as `lea rax, [rax + 8 * rdx]` when a program with this line should've been rejected.
This patch rejects the invalid program and cleans up some misleading `unknown token in expression` diagnostics that came up in similar programs.
Fixes: https://github.com/llvm/llvm-project/issues/96427
Commit: 7d27a760a7c781e9d24ca79a9665b9a535da16f2
https://github.com/llvm/llvm-project/commit/7d27a760a7c781e9d24ca79a9665b9a535da16f2
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Constants.cpp
M llvm/test/Assembler/constant-splat.ll
Log Message:
-----------
[LLVM][AsmWriter] Fix ConstantFP zeroinitializer check (#196097)
It turns out ppc_fp128 has a value where isPosZero() returns true but
isNullValue() returns false.
Commit: 73ddc72392a84385591ca541e1d15f71626edcae
https://github.com/llvm/llvm-project/commit/73ddc72392a84385591ca541e1d15f71626edcae
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/CodeGen/X86/atomic-load-store.ll
Log Message:
-----------
[X86] Add atomic vector store tests for unaligned >1 sizes. (#197372)
Unaligned atomic vector stores with size >1 are lowered to calls.
Adding their tests separately here.
Store-side counterpart to #148896. Stacked below #197165.
Commit: 661aae4343458319f4c0ba71c1a5c29b154c0587
https://github.com/llvm/llvm-project/commit/661aae4343458319f4c0ba71c1a5c29b154c0587
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg30xx.cpp
M clang/test/CXX/drs/cwg31xx.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add tests for some of CWG issues resolved in Croydon (2026-03) (#189299)
This PR adds tests for the following Core issues:
- [CWG2765](https://cplusplus.github.io/CWG/issues/2765.html) "Address
comparisons between potentially non-unique objects during constant
evaluation";
- [CWG2966](https://cplusplus.github.io/CWG/issues/2966.html) "Alignment
and value representation of `std::nullptr_t`";
- [CWG3035](https://cplusplus.github.io/CWG/issues/3035.html) "Lambda
expressions in anonymous unions";
- [CWG3128](https://cplusplus.github.io/CWG/issues/3128.html)
"Potentially-throwing unevaluated operands";
- [CWG3151](https://cplusplus.github.io/CWG/issues/3151.html) "Closure
types that are `final`";
- [CWG3156](https://cplusplus.github.io/CWG/issues/3156.html) "Handling
of deleted functions in unevaluated _lambda-captures_".
Additionally, the following Core issues are marked as "N/A", because I
don't think they can be tested:
- [CWG2660](https://cplusplus.github.io/CWG/issues/2660.html) "Confusing
term "this parameter"";
- [CWG2983](https://cplusplus.github.io/CWG/issues/2983.html) "Non-type
template parameters are not variables";
- [CWG2992](https://cplusplus.github.io/CWG/issues/2992.html) "Labels do
not have names";
- [CWG3058](https://cplusplus.github.io/CWG/issues/3058.html) ""Program
point" is not defined";
- [CWG3172](https://cplusplus.github.io/CWG/issues/3172.html) "Reference
to wrong placeholder".
-------
[P4160R0](https://wg21.link/p4160r0) "Core Language Working Group
"ready" Issues for the March, 2026 meeting" is what was voted in.
Individual Core issues pages linked above also contain up-to-date
resolutions.
Commit: 4e111f5273f6888926968f837d08c2dd5c6e2aac
https://github.com/llvm/llvm-project/commit/4e111f5273f6888926968f837d08c2dd5c6e2aac
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
A llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
Log Message:
-----------
[LoopInterchange] Add tests for a simple profitable case currently missed (NFC) (#181990)
This patch adds test cases where the heuristic function `instorder` is
somewhat inaccurate, causing the profitability decision to behave
unexpectedly. The root cause is that the heuristic function assumes that
the structure of GEPs "reflect" the original memory access patterns,
which is not always the case. For example, given the following code:
```c
int A[100][100];
for (i = 0; i < 100; i++)
for (j = 0; j < 100; j++)
A[i][j] = ...;
```
The heuristic assumes that the memory access will be transformed into
like:
```llvm
%gep = getelementptr [100 x i32], ptr %A, i32 %i, i32 %j
```
This assumption is incorrect. Actually, the heuristic cannot handle a
case like the following:
```llvm
%mul = mul i64 %j, 100
%offset = add i64 %i, %mul
%gep = getelementptr inbounds i8, ptr %A, i64 %offset
```
The follow-up patch #181991 will address this issue.
Related: #172011
Commit: 64c39dd22f6aa9a72fa2c9e68d6ce6b2e3743572
https://github.com/llvm/llvm-project/commit/64c39dd22f6aa9a72fa2c9e68d6ce6b2e3743572
Author: Tim <timothy.smith at hpe.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Semantics/scope.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/test/Integration/debug-use-stmt.f90
M flang/test/Lower/debug-use-stmt.f90
Log Message:
-----------
[flang][debug] Only import debug info for specified renamed variables (#194926)
Given the following:
USE mod, ONLY : alias => var
Currently, flang will create a DW_TAG_imported_module tag for mod when
it should only be creating a list of DW_TAG_imported_declaration tags
for each imported variable. This causes erroneous variables from mod to
be visible in the debugger with undefined information.
The correct logic to do this was previously implemented at line 837 in
flang/lib/Optimizer/Transforms/AddDebugInfo.cpp under the comment "//
Process renames within ONLY clause". But this code block would never be
invoked as the function handleOnlyClause would never be called as only
one of renames or ONLY clauses could be present at once, not both. This
commit fixes the logic and allows the proper code block to be called.
Fixes #180836
Commit: 24b04ab8eaedb00aeed1991fd2be3f318da184aa
https://github.com/llvm/llvm-project/commit/24b04ab8eaedb00aeed1991fd2be3f318da184aa
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/CodeGen/SPIRV/instructions/float-fast-flags.ll
Log Message:
-----------
[NFC][SPIR-V] Add FPFastMathMode decorations checks in float-fast-flags test (#198209)
Commit: 18e5a2dbb47065dd4d9870d71431d715aa76bc14
https://github.com/llvm/llvm-project/commit/18e5a2dbb47065dd4d9870d71431d715aa76bc14
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/CodeGen/SPIRV/instructions/scalar-floating-point-arithmetic.ll
Log Message:
-----------
[NFC][SPIR-V] Re-enable scalar fneg arithmetic test (#198204)
Commit: 41dab73eb5a21fb2f48d6ce8a115047c0d04ba4a
https://github.com/llvm/llvm-project/commit/41dab73eb5a21fb2f48d6ce8a115047c0d04ba4a
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Remove unused SDTypeProfile from AArch64InstrInfo.td (NFC) (#198269)
These became dead in earlier cleanups:
- SDT_AArch64unvec and SDT_AArch64binvec in b0b97e3b0507
- SDT_AArch64fcmpz in d7f3c3129344
- SDT_AArch64TLSDescCall in aea846182090
Commit: 0b806bca3f3fe0dbe4d70d46404e4978af1fd731
https://github.com/llvm/llvm-project/commit/0b806bca3f3fe0dbe4d70d46404e4978af1fd731
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M flang-rt/CMakeLists.txt
Log Message:
-----------
[flang-rt] Add -Wno-fenv-access to flang-rt compile options (#198286)
A check recently added to clang will now flag uses of floating-point
exception routines. There are some calls to these functions in the flang
runtime. Since the flang runtime is compiled with the freshly built
clang, it now shows these warnings.
Since the CI build uses -Werror, this breaks the flang-rt build even
though no changes to the flang-rt have been made:
```
flang-rt/lib/runtime/main.cpp:20:3: error:
'feclearexcept' used without enabling floating-point exception behavior;
use 'pragma STDC FENV_ACCESS ON' or compile with
'-ffp-exception-behavior=maytrap' [-Werror,-Wfenv-access]
20 | std::feclearexcept(FE_ALL_EXCEPT);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
flang-rt/lib/runtime/main.cpp:25:3: error:
'fesetround' used without enabling floating-point exception behavior; use
'pragma STDC FENV_ACCESS ON' or compile with
'-ffp-exception-behavior=maytrap' [-Werror,-Wfenv-access]
25 | std::fesetround(FE_TONEAREST);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
```
This PR will add a flag to turn off the warning as a means to restore
the flang-rt build.
Commit: c8a570e26e261a3126746166faf5d9ee5f9d0b5b
https://github.com/llvm/llvm-project/commit/c8a570e26e261a3126746166faf5d9ee5f9d0b5b
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/outer-latch-phi.ll
Log Message:
-----------
[LoopInterchange] Bail out if outer latch has PHI with more than one incoming values (#197675)
In the transformation phase of LoopInterchange, `simplifyLCSSAPhis`
replaces all PHI nodes in the outer loop latch with LCSSA PHIs. This
means that the transformation phase does not assume PHI nodes with more
than one incoming value. However, the outer loop latch can have more
than one predecessor, such as the outer loop header and the inner loop
latch, like below:
```llvm
outer.header:
br i1 %c, label %outer.latch, label %inner.header
inner.header:
...
inner.latch:
...
br label %outer.latch
outer.latch:
%p = phi [ ..., %outer.header ], [ ..., %inner.latch ]
```
In such a case, `simplifyLCSSAPhis` failed to handle the PHI node and
crashed.
This patch addresses the issue by inspecting PHI nodes in the outer loop
latch during the legality check phase and bailing out if such PHI nodes
are found.
Fixes #194328
Commit: c2fb503a4b49f02595ac8357aae7148b32da074b
https://github.com/llvm/llvm-project/commit/c2fb503a4b49f02595ac8357aae7148b32da074b
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
Log Message:
-----------
[lldb][windows] Make skipUnlessMSVC tolerate cl.exe not in PATH (#198290)
If `cl.exe` is not in the PATH, `subprocess.run([\"cl.exe\"])` raises
`FileNotFoundError`. This marks the test as `UNRESOLVED` instead of
`SKIPPED`.
This patch makes sure lit catches `FileNotFoundError` so the test is
skipped cleanly.
Commit: a0f3274ec8041d58edfca414657d02439d0122a3
https://github.com/llvm/llvm-project/commit/a0f3274ec8041d58edfca414657d02439d0122a3
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Recognise single-scalar VPInstructions in isUniformAcrossVFsAndUFs (#194674)
The VPInstruction case of vputils::isUniformAcrossVFsAndUFs only
consults preservesUniformity(opcode), missing single-scalar opcodes like
VScale, ExplicitVectorLength, and ResumeForEpilogue. Mirror the
structure of vputils::isSingleScalar's VPInstruction case: also accept
VPI->isSingleScalar() and VPI->isVectorToScalar(), gated by
the existing all_of(operands, isUniformAcrossVFsAndUFs) recursion.
Commit: 48ab00842a1f30a346440800360fd67810a4a821
https://github.com/llvm/llvm-project/commit/48ab00842a1f30a346440800360fd67810a4a821
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
Log Message:
-----------
[NFC][ObjectYAML][llvm-obj2yaml] Move the code for creating DXContainerYAML to lib/ObjectYAML (#197984)
This code is needed to implement DXContainer support for `llvm-pdbutil
pdb2yaml` in an upcoming PR.
Commit: 499d0bb35f1c9fa0a6421c1a333de3683ff490cb
https://github.com/llvm/llvm-project/commit/499d0bb35f1c9fa0a6421c1a333de3683ff490cb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M offload/CMakeLists.txt
M offload/liboffload/CMakeLists.txt
M offload/libomptarget/CMakeLists.txt
M openmp/CMakeLists.txt
Log Message:
-----------
[Offload] Add a proper `install-offload` target (#198206)
Summary:
This target is missing, it's the expected behavior for all LLVM
components to have a way to install them individually as components.
This allows us to selectively install offload versus other pieces of the
runtime. Also make this and the openmp handling canonical with libcxx.
Commit: 444588536ff17f2c1dde4852899ea809cd23415e
https://github.com/llvm/llvm-project/commit/444588536ff17f2c1dde4852899ea809cd23415e
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M libc/src/ctype/isalnum_l.h
M libc/src/ctype/isalpha_l.h
M libc/src/ctype/isblank_l.h
M libc/src/ctype/iscntrl_l.h
M libc/src/ctype/isdigit_l.h
M libc/src/ctype/isgraph_l.h
M libc/src/ctype/islower_l.h
M libc/src/ctype/isprint_l.h
M libc/src/ctype/ispunct_l.h
M libc/src/ctype/isspace_l.h
M libc/src/ctype/isupper_l.h
M libc/src/ctype/isxdigit_l.h
M libc/src/ctype/tolower_l.h
M libc/src/ctype/toupper_l.h
Log Message:
-----------
[libc][ctype] fix macro guard collisions in locale-aware headers (#198279)
Commit: dc92178561d2fa6bdcff0cbcc05a346797591efd
https://github.com/llvm/llvm-project/commit/dc92178561d2fa6bdcff0cbcc05a346797591efd
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Apply flags, metadata when executing scalar casts (NFC) (#195629)
The change is non-functional because scalar casts are only ever created
by VPlanConstruction, which are turned into wide or replicate recipes
prior to execution. The change is in preparation to make scalar casts
flow through unconverted.
Commit: 34d152105d4611374aa36695e7c7f42455c86d6d
https://github.com/llvm/llvm-project/commit/34d152105d4611374aa36695e7c7f42455c86d6d
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb][gdb-remote] Send executable path with native separators in vRun (#197942)
When running the tests with `LLDB_USE_LLDB_SERVER=1`, the lldb-server
gdb-remote vRun packet sends the executable path in FileSpec's
normalised form (forward slashes). On Windows the inferior's `argv[0]`
therefore uses '/', while the program path in the setup uses '\\'.
CreateProcessW accepts either spelling, so the inferior runs fine but
the strict-equality assertion fails.
This will not work for UNC paths (`\\server\foo.exe` cannot be converted
to `//server/foo.exe`).
This patch uses `GetPath(/*denormalize=*/true)` so that the path uses
native separators. This is a no-op with POSIX style paths.
This fixes 3 lldb-dap tests on Windows when running with
`LLDB_USE_LLDB_SERVER=1`.
Commit: a75778d8ae6eb26ff4588e4628e64325972d4d6a
https://github.com/llvm/llvm-project/commit/a75778d8ae6eb26ff4588e4628e64325972d4d6a
Author: Usha Gupta <usha.gupta at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/fmaximumnum-fminimumnum-select.ll
Log Message:
-----------
[AArch64][SelectionDAG] Fold late FCMP+CSEL patterns to FMAXNM/FMINNM during AArch64 DAG-to-DAG preprocessing. (#197429)
This patch adds a late AArch64 SelectionDAG peephole for scalar
floating-point patterns:
```
fcmp x, C
fcsel x, C
```
When the pattern is ordered, uses a non-NaN constant C, and the variable
operand is known never-sNaN, it is folded directly to FMAXNM/FMINNM. The transform requires `nsz` only when C is zero, to avoid signed-zero
mismatches.
The transform is intentionally performed in _AArch64DAGToDAGISel::PreprocessISelDAG_ rather than DAGCombine.
Doing it earlier can be invalidated by later DAG combines that rewrite
the defining operation of the operand.
Commit: d90baf57f3ed31e0e6f13e9e0771289cc85472f7
https://github.com/llvm/llvm-project/commit/d90baf57f3ed31e0e6f13e9e0771289cc85472f7
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
Log Message:
-----------
[flang][OpenMP] Change return type of Enter from bool to void, NFC (#198299)
Some of the overloads of the "Enter" functions in OmpStructureChecker
are declared with bool as the return type. The actual return type of
Enter is void, and if there is any value returned, it will be ignored.
Change the return type to void for the several functions that return
bool.
Commit: 798c5c0cad3204059d14c789f1ad7c2600bce37c
https://github.com/llvm/llvm-project/commit/798c5c0cad3204059d14c789f1ad7c2600bce37c
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc] Disable newly added -Wfenv-access clang warning (#198303)
Added in #187860, the warning triggers on existing libc code. This
unbreaks the precommit bots.
Commit: 4e51905a4a3b8f3b36ce92f2bb5db21d1f78c4c1
https://github.com/llvm/llvm-project/commit/4e51905a4a3b8f3b36ce92f2bb5db21d1f78c4c1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx-cvt-3.ll
M llvm/test/CodeGen/X86/pr74736.ll
M llvm/test/CodeGen/X86/vector-compress.ll
Log Message:
-----------
[X86] combineVectorInsert - attempt to merge consecutive constant insertions (#198273)
If we have 2 INSERT_VECTOR_ELT nodes in sequence (DAGCombine should have
sorted these into ascending indices), then if they are both inserting
constant scalars, attempt to concat the scalars together and insert the
wider constant.
Reduces gpr pressure, gpr->vec traffic and (total) encoding size
Commit: 45426ccfbd39e27969a0e4696c207c2af32631a2
https://github.com/llvm/llvm-project/commit/45426ccfbd39e27969a0e4696c207c2af32631a2
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/UnicodeCharSets.h
M clang/test/Lexer/unicode.c
M llvm/lib/Support/Unicode.cpp
M llvm/lib/Support/UnicodeNameToCodepoint.cpp
M llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
M llvm/unittests/Support/UnicodeTest.cpp
Log Message:
-----------
Update Unicode tables to Unicode 18.0. (#198255)
We are currently on Unicode 15.0, this updates to Unicode 18. Unicode
18.0 is currently in Beta so some properties could change. However the
name are stable and the probability of other property changing is very
low.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 2da84a8307e4ef729458d990b221650a5da22639
https://github.com/llvm/llvm-project/commit/2da84a8307e4ef729458d990b221650a5da22639
Author: Julian Nagele <j.nagele at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/pr197910.ll
Log Message:
-----------
[VectorCombine] Fix iterator invalidation in foldSelectShuffle (#197914)
A loop in foldSelectShuffle walked shuffles with a range-for while
push_back-ing into the same SmallVector. Once the inner pushes grew the
vector past its current heap capacity the buffer was reallocated,
leaving the range-for iterator dangling.
Iterate the original entries by index instead.
Fixes #197910
Fixes #196709
Commit: e3ffa9b8f128b818e71503d1d8454b134d2b01bc
https://github.com/llvm/llvm-project/commit/e3ffa9b8f128b818e71503d1d8454b134d2b01bc
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
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/interleave-conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/widen-canonical-iv-register-pressure.ll
Log Message:
-----------
[VPlan] Expand WideCanIV into executable recipes (#191219)
Expand VPWidenCanonicalIVRecipe into executable recipes via
convertToConcreteRecipes, making the necessary adjustments to
VPlanUnroll, eliminating VPUnrollAccessor and
VPWidenCanonicalIVRecipe::execute entirely.
Commit: 60f40032e00424ace21ae539de02ff227ff8b72e
https://github.com/llvm/llvm-project/commit/60f40032e00424ace21ae539de02ff227ff8b72e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
R clang/test/AST/ast-dump-default-arg-json.cpp
R clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-for-range-lifetime.cpp
R clang/test/AST/ast-dump-lambda-json.cpp
M clang/test/AST/ast-dump-lambda.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
Log Message:
-----------
[clang] Refactor some JSON dump tests (#198116)
This PR reduces the amount of JSON dumping our tests do:
- `ast-dump-default-arg-json.cpp` is folded into
`ast-dump-for-range-lifetime.cpp`.
- `ast-dump-default-init-json.cpp` is folded into
`ast-dump-default-init.cpp`.
- `ast-dump-lambda-json.cpp` is merged with `ast-dump-lambda.cpp`.
- Test case in `ast-dump-template-json-win32-mangler-crash.cpp` comes
from #61440. I reduced it further.
Commit: 1091fd726352d416023a8b8f28cd8f5ecf3c6961
https://github.com/llvm/llvm-project/commit/1091fd726352d416023a8b8f28cd8f5ecf3c6961
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
Log Message:
-----------
[NaryReassociate] Fix typo in function name (#198305)
Commit: f0fc9d0abf7024ceb5cb827b16f02c10e54fe0fd
https://github.com/llvm/llvm-project/commit/f0fc9d0abf7024ceb5cb827b16f02c10e54fe0fd
Author: Stefan Weigl-Bosker <stefan at s00.xyz>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
Log Message:
-----------
[X86] Fix EVEX compression for VPMOV*2M + KMOV with tied mask use (#198220)
When scanning uses of the mask produced by `VPMOV*2M`, we previously bailed out as soon as we encountered a write. For tied read/write mask instructions such as `KSHIFTR*`, which both read and write the same mask register, the pass could miss the use, fold the earlier `KMOV`, and erase the `VPMOV*2M` def even though the mask was still live.
Disclaimer: LLM came up with the MIR tests and explained this pass to me.
Fixes #198197
Commit: 04240709c525895ea93b4a6958f59f8cf64e780b
https://github.com/llvm/llvm-project/commit/04240709c525895ea93b4a6958f59f8cf64e780b
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/test/Tooling/clang-sycl-linker.ll
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Report unknown command-line options as errors (#197975)
Pass OPT_UNKNOWN (not OPT_INVALID) to OptTable::parseArgs so the error
callback fires for unrecognized flags. With OPT_INVALID the filter in
parseArgs matches no Args, leaving bogus options silently dropped.
Add a lit test that exercises this path.
Drive-by cleanups in the same area:
- Use the single-argument createStringError() overload where the error
code was redundantly inconvertibleErrorCode().
- Drop redundant single-quote escapes and std::string() cast in the
device-library-not-found message; use Twine concat directly.
- Replace the dead "Arch must be specified" branch in
runAOTCompileIntelGPU with an assert documenting the invariant enforced
by the caller (IsIntelGPUOffloadArch implies non-empty arch).
- Replace the unreachable "Unsupported arch" fallthrough in
runAOTCompile with llvm_unreachable; the dispatch only enters this
function under IsIntelOffloadArch.
- Drop the unused [&] capture on the parseArgs error lambda.
Co-Authored-By: Claude
Commit: 0d0761c04ce4e6973db565c6761834cb661767a3
https://github.com/llvm/llvm-project/commit/0d0761c04ce4e6973db565c6761834cb661767a3
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/Maintainers.md
Log Message:
-----------
Nominate Joshua Cranmer as floating-point maintainer (#198287)
Joshua has been doing the heavy lifting in this area for a while now, so
this is making things more official.
Commit: 6c34ed7b365bcd70d5a2cf658698559198e11bd9
https://github.com/llvm/llvm-project/commit/6c34ed7b365bcd70d5a2cf658698559198e11bd9
Author: Trung Nguyen <git at trungnt2910.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/test/CodeGen/exceptions-seh-finally.c
M clang/test/CodeGen/exceptions-seh-nested-finally.c
M clang/test/CodeGen/exceptions-seh.c
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/test/CodeGen/ARM/Windows/wineh-framepointer.ll
A llvm/test/CodeGen/ARM/seh-except.ll
A llvm/test/CodeGen/ARM/seh-finally.ll
A llvm/test/CodeGen/ARM/wineh-dtor.ll
A llvm/test/CodeGen/ARM/wineh-try-catch-stack-args.ll
Log Message:
-----------
[ARM] Add support for Windows SEH (#184953)
This commit implements Windows Structured Exception Handling (SEH)
support for ARM `clang` in MSVC mode.
This includes enabling the relevant language constructs in the Clang
frontend and adding new ARM-specific code lowering logic.
Since R11 is clobbered by the SEH dispatchers on 32-bit ARM Windows,
this commit forces functions involving SEH to reference stack variables
offset by R6 (the base pointer). Test coverage for scenarios this may
potentially affect (e.g. Windows C++ EH) has been added.
This commit only covers SEH (`__try`/`__except`/`__finally`). It does
not support Windows C++ EH (`try`/`catch`).
Commit: ca27181439f7c11744e5c2a20211dfe41c0699ce
https://github.com/llvm/llvm-project/commit/ca27181439f7c11744e5c2a20211dfe41c0699ce
Author: Sam Parker <sam.parker at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/CodeGen/WebAssembly/memory-interleave.ll
Log Message:
-----------
[NFC] Wasm codegen test (#198310)
Commit: 41010281d643da47d75ab61f5226104a64fac44e
https://github.com/llvm/llvm-project/commit/41010281d643da47d75ab61f5226104a64fac44e
Author: Łukasz Plewa <lukasz.plewa at intel.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M offload/include/Shared/APITypes.h
M offload/liboffload/API/Device.td
M offload/liboffload/API/Kernel.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/plugins-nextgen/level_zero/include/L0Kernel.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
M offload/tools/offload-tblgen/PrintGen.cpp
M offload/unittests/Conformance/lib/DeviceContext.cpp
M offload/unittests/OffloadAPI/CMakeLists.txt
M offload/unittests/OffloadAPI/common/Fixtures.hpp
M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
A offload/unittests/OffloadAPI/kernel/olLaunchKernelCooperative.cpp
M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp
M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp
Log Message:
-----------
[offload] Add properties parameter to olLaunchKernel (#197897)
Introduce a properties argument to olLaunchKernel to enable future
extensions.
This change adds initial extension for cooperative kernel launch.
The change restores the functionality from:
https://github.com/llvm/llvm-project/pull/184343
which was later reverted in:
https://github.com/llvm/llvm-project/pull/197463
#184343 modified the API, and between the last rebase and the final
merge, additional tests were added
upstream(https://github.com/llvm/llvm-project/pull/193927) that still
relied on the previous API version.
Diff between this PR and #184343
```
diff --git a/offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp b/offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
index 0251bffefe60..cd527f18db38 100644
--- a/offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
+++ b/offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
@@ -241,8 +241,8 @@ TEST_P(olLaunchKernelSingleCounterSyncEventTest, SuccessSyncEvent) {
ArgsSingleCounter Args{LoopRange, NumberToAdd, (uint32_t *)InitValuePassed,
(uint32_t *)ResNum};
- ASSERT_SUCCESS(
- olLaunchKernel(Queue, Device, Kernel, &Args, sizeof(Args), &LaunchArgs));
+ ASSERT_SUCCESS(olLaunchKernel(Queue, Device, Kernel, &Args, sizeof(Args),
+ &LaunchArgs, nullptr));
uint32_t FinalResVal = 0;
ASSERT_SUCCESS(olMemcpy(Queue, &FinalResVal, Host, ResNum, Device, Size));
@@ -294,8 +294,8 @@ TEST_P(olLaunchKernelSingleCounterSyncEventTest, SuccessTwoQueues) {
ArgsSingleCounter Args{LoopRange, NumberToAdd, (uint32_t *)InitValuePassed,
(uint32_t *)ResNum1};
- ASSERT_SUCCESS(
- olLaunchKernel(Queue, Device, Kernel, &Args, sizeof(Args), &LaunchArgs));
+ ASSERT_SUCCESS(olLaunchKernel(Queue, Device, Kernel, &Args, sizeof(Args),
+ &LaunchArgs, nullptr));
ol_event_handle_t Event = nullptr;
ASSERT_SUCCESS(olCreateEvent(Queue, &Event));
@@ -308,7 +308,7 @@ TEST_P(olLaunchKernelSingleCounterSyncEventTest, SuccessTwoQueues) {
// been completed by the time the kernel is executed using the second queue,
// the FinalResVal would be incorrect.
ASSERT_SUCCESS(olLaunchKernel(Queue2, Device, Kernel, &Args2, sizeof(Args2),
- &LaunchArgs));
+ &LaunchArgs, nullptr));
ASSERT_SUCCESS(olSyncQueue(Queue2));
uint32_t FinalResVal = 0;
```
Commit: 13da33e922fe43cd97246f5e33320acc4f5ea186
https://github.com/llvm/llvm-project/commit/13da33e922fe43cd97246f5e33320acc4f5ea186
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M openmp/device/CMakeLists.txt
Log Message:
-----------
[libc] Demote compiler check error to a warning (#198033)
Summary:
This check exists to encode the policy that this is only intended to be
built with a just-built compiler. In practice it's a little too strict
and breaks pretty much every six months when the version bumps or when
people try to build a separate patch. Just demote to a warning.
Commit: 0475a4b34c7f9dab74f42c4ca10ccd6908d65875
https://github.com/llvm/llvm-project/commit/0475a4b34c7f9dab74f42c4ca10ccd6908d65875
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/netinet_in_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/in_addr_t.h
A libc/hdr/types/struct_in_addr.h
M libc/src/CMakeLists.txt
M libc/src/arpa/inet/CMakeLists.txt
M libc/src/arpa/inet/inet_addr.cpp
M libc/src/arpa/inet/inet_addr.h
M libc/src/arpa/inet/inet_aton.h
M libc/test/src/CMakeLists.txt
Log Message:
-----------
[libc] Enable arpa/inet.h entrypoints in overlay mode (#198270)
Two of these depend on in_addr_t and struct in_addr, but these are types
whose layout is defined by POSIX and OS ABIs, and they are simpler than
struct sockaddr_in, which we enabled in #195035.
Commit: 3c532a4fe152b83111c7814d3e8d2cf8a250d09c
https://github.com/llvm/llvm-project/commit/3c532a4fe152b83111c7814d3e8d2cf8a250d09c
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.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/hdr/CMakeLists.txt
A libc/hdr/regex_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/regex_t.h
A libc/hdr/types/regmatch_t.h
A libc/hdr/types/regoff_t.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/regex-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/regex_t.h
A libc/include/llvm-libc-types/regmatch_t.h
A libc/include/llvm-libc-types/regoff_t.h
A libc/include/regex.yaml
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
A libc/src/regex/CMakeLists.txt
A libc/src/regex/regcomp.cpp
A libc/src/regex/regcomp.h
A libc/src/regex/regerror.cpp
A libc/src/regex/regerror.h
A libc/src/regex/regexec.cpp
A libc/src/regex/regexec.h
A libc/src/regex/regfree.cpp
A libc/src/regex/regfree.h
M libc/test/src/CMakeLists.txt
A libc/test/src/regex/CMakeLists.txt
A libc/test/src/regex/regerror_test.cpp
A libc/test/src/regex/regex_basic_test.cpp
Log Message:
-----------
[libc] Add POSIX regex stub implementation and build infrastructure (#196995)
Added the four POSIX regex entrypoints (regcomp, regexec, regerror,
regfree) and registered them for x86_64, aarch64, riscv, and arm.
regerror is fully implemented with all 13 POSIX error code strings. The
other three are stubs backed by simple string matching to validate the
build pipeline end-to-end.
This implementation is restricted to full-build mode
(LLVM_LIBC_FULL_BUILD) to avoid ABI compatibility risks with system
headers and internal state management in overlay mode.
New files:
* include/regex.yaml and regex-macros.h for header generation
* regex_t, regoff_t, regmatch_t type headers
* src/regex/ with all four entrypoints
* test/src/regex/ with regerror and basic round-trip tests
All 7 tests pass.
Commit: 835be4f9042a02eb9048924134ea3323015ed929
https://github.com/llvm/llvm-project/commit/835be4f9042a02eb9048924134ea3323015ed929
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-multiply.ll
Log Message:
-----------
[SPIR-V] Support 1x1 result in matrix multiply combiner (#198091)
Emit a copy instead of G_BUILD_VECTOR for the scalarized 1-element
result, and skip extractelement when storing a 1-element vector to a [1
x T] array
Enable the previously-disabled 1x2 * 2x1 test
Commit: 2021782464a016b645bdac0fe723979f9f7afdd2
https://github.com/llvm/llvm-project/commit/2021782464a016b645bdac0fe723979f9f7afdd2
Author: Roman Beliaev <r.beliaev at ispras.ru>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
M compiler-rt/lib/profile/InstrProfilingWriter.c
M compiler-rt/test/profile/instrprof-binary-correlate-debuginfod.c
M compiler-rt/test/profile/instrprof-binary-correlate.c
A compiler-rt/test/profile/instrprof-mcdc-correlation.c
M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
A llvm/test/Instrumentation/InstrProfiling/debug-info-correlate-bitmap.ll
Log Message:
-----------
[MC/DC][Coverage] Enable profile correlation for MC/DC (#136437)
Commit: 807d484046c1827d03e073de828a38962085dd2d
https://github.com/llvm/llvm-project/commit/807d484046c1827d03e073de828a38962085dd2d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-calling-conv.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/avx512fp16-novl.ll
M llvm/test/CodeGen/X86/masked-sdiv.ll
M llvm/test/CodeGen/X86/masked-srem.ll
M llvm/test/CodeGen/X86/masked-udiv.ll
M llvm/test/CodeGen/X86/masked-urem.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/masked_store.ll
M llvm/test/CodeGen/X86/vec-strict-cmp-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-cmp-sub128.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll
M llvm/test/CodeGen/X86/vec_smulo.ll
M llvm/test/CodeGen/X86/vec_umulo.ll
M llvm/test/CodeGen/X86/vector-compress.ll
Log Message:
-----------
[X86] LowerBUILD_VECTORvXi1 - attempt to fold as VPTESTMB(BUILD_VECTOR_vXi8(X),1) for v2i1/v4i1/v8i1 types (#198293)
Extends #198166 to handle cases where we need to BUILD_VECTOR using vXi8 smaller than 128-bits
Commit: 943761340a3689a60284797d1d2cf3325131d70e
https://github.com/llvm/llvm-project/commit/943761340a3689a60284797d1d2cf3325131d70e
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/static-initialization-cycle.cpp
Log Message:
-----------
Revert "[clang-tidy] Fix crash in misc-static-initialization-cycle" (#198315)
The previous commit caused a buildbot failure:
https://lab.llvm.org/buildbot/#/builders/46/builds/35532
Commit: 847e1acb50c14f93a8c1ae7c663b66840bf06ffa
https://github.com/llvm/llvm-project/commit/847e1acb50c14f93a8c1ae7c663b66840bf06ffa
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/include/clang/Basic/Module.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ModuleManager.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleManager.cpp
Log Message:
-----------
[clang][modules] Remove `ModuleManager` in-memory buffers (#194753)
The last remaining undesirable `FileManager` usage in
`ModuleManager::addModule()` is the lookup in the in-memory buffers map.
This PR merges that functionality with the `InMemoryModuleCache`,
simplifying the code and removing unnecessary file system access via
`ModuleManager::lookupBuffer()`.
This is also useful downstream, where we already use the
`InMemoryModuleCache` for PCMs loaded from CAS, but don't have an
explicit way to represent the PCM location in `ModuleFile{Name,Key}`.
Commit: 4d34694904ee667b4c116618e646e10f40768556
https://github.com/llvm/llvm-project/commit/4d34694904ee667b4c116618e646e10f40768556
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeReader.h
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/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
Log Message:
-----------
[clang-doc] Update type aliases (#190425)
Many of the type aliases we introduced to simplify migration to arena
allocation are no longer relevant after completing the migration. We
can use more relevant names and remove dead aliases.
Commit: 3e30430c03da5f225b6cdc76030454c07c7e4ac7
https://github.com/llvm/llvm-project/commit/3e30430c03da5f225b6cdc76030454c07c7e4ac7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Add patterns for padd.dbs/dhs/dws. (#198227)
Commit: e9a46b92b57b3c8d905cec90a6d5830758f5edf4
https://github.com/llvm/llvm-project/commit/e9a46b92b57b3c8d905cec90a6d5830758f5edf4
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Skip verification for intermediate VPlan transforms (#198321)
Fix #198274
Commit: 9c1157113e22b29330cfc2abbcc0ab8b2143ac7b
https://github.com/llvm/llvm-project/commit/9c1157113e22b29330cfc2abbcc0ab8b2143ac7b
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDisassemble.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
Log Message:
-----------
Revert "[lldb] Make CommandObject::GetTarget filter out the dummy target (#198026)" (#198325)
This reverts commit d90baa054dfc7d9f53148e4739effbf9fd7ac27a.
Fails in CI in `TestMultipleBinaryCorefile.py` when running `image list
-g` in `test_corefile_binaries_dsymforuuid` because `TargetModulesList`
currently asserts we have a target even with the `-g` flag set.
Original PR https://github.com/llvm/llvm-project/pull/198026
Commit: e88d1b7c245cd9e42d825d5b9119d6c9e060e83e
https://github.com/llvm/llvm-project/commit/e88d1b7c245cd9e42d825d5b9119d6c9e060e83e
Author: Matthew Nagy <matthew.nagy at sony.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/docs/TypeSanitizer.rst
Log Message:
-----------
[Docs] Fix and update TySan docs (#198331)
Commit: f63b8ee1e7ae30790d6b4d1fad4e75c02800d66d
https://github.com/llvm/llvm-project/commit/f63b8ee1e7ae30790d6b4d1fad4e75c02800d66d
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr196804.ll
Log Message:
-----------
[SelectionDAG] Fix miscompile in known-0/1 setcc fold with XOR (#196804) (#197767)
When simplifySetCC folds `(xor X, C) != 0` (where the XOR result is
known 0/1) into `TRUNCATE(XOR X, C)`, later DAG combines can incorrectly
fold the XOR back into its source operand, losing the NOT semantics.
This causes the x86 backend to test the original value instead of the
XOR result, inverting the condition and producing wrong code.
Fix by folding `(xor X, C) ==/!= N1` directly into `setcc(X, N1^C,
cond)` instead of returning TRUNCATE(XOR). The SETCC form is canonical
and immune to the problematic DAG combine.
Fixes #196804.
Commit: 8ec281bb1e5024fda3e0ae4fa7f3d315ab656f07
https://github.com/llvm/llvm-project/commit/8ec281bb1e5024fda3e0ae4fa7f3d315ab656f07
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/IR/Intrinsics.cpp
M llvm/test/CodeGen/AArch64/sve-bad-intrinsics.ll
M llvm/test/CodeGen/WinEH/wineh-intrinsics-invalid.ll
A llvm/test/Verifier/intrinsic-bad-arg-type1.ll
M llvm/unittests/IR/VerifierTest.cpp
Log Message:
-----------
[LLVM] Precise error message for intrinsic signature verification (1/n) (#196802)
Generate more precise error message when intrinsic signature
verification fails. Keep track of the current position/component of the
intrinsic signature being checked and print a more descriptive error
message which includes the position/element of the signature that failed
and the reason it failed.
Note that not all cases in `matchIntrinsicType` generate errors, so have
a temporary fallback to keep generating a generic error message in those
cases. This fallback will be eventually removed.
Added a C++ unit test for testing intrinsic struct return type that is
either an identified struct or a packed struct, as these cases cannot be
created from a .ll file directly (since autoupgrade in the parser fixes
them up).
Commit: 20165e1fa0e0d071d4ce4c50935879dbcdf3f468
https://github.com/llvm/llvm-project/commit/20165e1fa0e0d071d4ce4c50935879dbcdf3f468
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/reused-extract-scalar-lanes.ll
Log Message:
-----------
[SLP] Prefer VF-matching scalar-set match in gather-shuffle lookup
In isGatherShuffledSingleRegisterEntry, the perfect-match search accepted
an entry that isSame(TE->Scalars) regardless of the entry's vector factor.
isSame can succeed via ReuseShuffleIndices on an entry whose actual VF is
smaller than TE->Scalars.size(); the subsequent mask construction then
copies TE->getCommonMask() indices that overrun the chosen source's lanes,
producing wrong shufflevector masks and a more-poisonous result than the
scalar code.
Fixes #197765
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/198334
Commit: dce3bc297650e0b3479e2c7109589ed199715aa0
https://github.com/llvm/llvm-project/commit/dce3bc297650e0b3479e2c7109589ed199715aa0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Run libc tests on clang changes (#198295)
The libc tests are relatively lightweight, and given we build libc with
a just built clang, it's very easy for clang changes to cause issues in
libc, especially with -Werror. For example, #187860 broke libc due to
adding a new warning that libc was not clean on.
Commit: cf80e0eb97208525a01f24b40ec5eaf78371ca57
https://github.com/llvm/llvm-project/commit/cf80e0eb97208525a01f24b40ec5eaf78371ca57
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
M llvm/test/Transforms/SLPVectorizer/X86/scalarize-ctlz.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-copyable-cmp-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
Log Message:
-----------
[SLP] Preserve profitable trees when subtree trimming would reduce to buildvector-only
In calculateTreeCostAndTrimNonProfitable, the subtree trim loop returns
Invalid when trimming node Idx==1 under an InsertElement root would
leave only a buildvector, to avoid infinite vectorization attempts.
This is too aggressive when the original untrimmed tree is already
profitable (Cost < -SLPCostThreshold). In that case, undo any partial
trims and return the original cost instead of rejecting the tree.
Original Pull Request: https://github.com/llvm/llvm-project/pull/197763
Recommit after unrelated revert in https://github.com/llvm/llvm-project/pull/198265
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/198336
Commit: 176134c6039d17f32d4c429921c0494ebbff2155
https://github.com/llvm/llvm-project/commit/176134c6039d17f32d4c429921c0494ebbff2155
Author: David Green <david.green at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-isel-umin.ll
Log Message:
-----------
[AArch64] Regenerate aarch64-isel-umin.ll. NFC (#198337)
Commit: 1c8c50070812f859b15be48929c4f20ae4dfa74b
https://github.com/llvm/llvm-project/commit/1c8c50070812f859b15be48929c4f20ae4dfa74b
Author: anjenner <161845516+anjenner at users.noreply.github.com>
Date: 2026-05-18 (Mon, 18 May 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/GlobalISel/regbankselect-ctpop.mir
M llvm/test/CodeGen/AMDGPU/ctpop.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
Log Message:
-----------
[AMDGPU][GISel] Add Register Bank Legalization rules for G_CTPOP. (#197510)
Commit: f33e9e4aea5a0cfe3e54e75680ae0e127d1d0b4e
https://github.com/llvm/llvm-project/commit/f33e9e4aea5a0cfe3e54e75680ae0e127d1d0b4e
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M libc/hdr/elf_macros.h
M libc/hdr/errno_macros.h
M libc/hdr/fcntl_macros.h
M libc/hdr/fenv_macros.h
M libc/hdr/float_macros.h
M libc/hdr/limits_macros.h
M libc/hdr/link_macros.h
M libc/hdr/locale_macros.h
M libc/hdr/math_function_macros.h
M libc/hdr/math_macros.h
M libc/hdr/offsetof_macros.h
M libc/hdr/pthread_macros.h
M libc/hdr/sched_macros.h
M libc/hdr/signal_macros.h
M libc/hdr/stdio_macros.h
M libc/hdr/stdlib_macros.h
M libc/hdr/sys_auxv_macros.h
M libc/hdr/sys_epoll_macros.h
M libc/hdr/sys_ioctl_macros.h
M libc/hdr/sys_ipc_macros.h
M libc/hdr/sys_mman_macros.h
M libc/hdr/sys_sem_macros.h
M libc/hdr/sys_socket_macros.h
M libc/hdr/sys_stat_macros.h
M libc/hdr/time_macros.h
M libc/hdr/types/ACTION.h
M libc/hdr/types/ENTRY.h
M libc/hdr/types/Elf32_Addr.h
M libc/hdr/types/Elf32_Chdr.h
M libc/hdr/types/Elf32_Dyn.h
M libc/hdr/types/Elf32_Ehdr.h
M libc/hdr/types/Elf32_Half.h
M libc/hdr/types/Elf32_Lword.h
M libc/hdr/types/Elf32_Nhdr.h
M libc/hdr/types/Elf32_Off.h
M libc/hdr/types/Elf32_Phdr.h
M libc/hdr/types/Elf32_Rel.h
M libc/hdr/types/Elf32_Rela.h
M libc/hdr/types/Elf32_Shdr.h
M libc/hdr/types/Elf32_Sword.h
M libc/hdr/types/Elf32_Sym.h
M libc/hdr/types/Elf32_Verdaux.h
M libc/hdr/types/Elf32_Verdef.h
M libc/hdr/types/Elf32_Vernaux.h
M libc/hdr/types/Elf32_Verneed.h
M libc/hdr/types/Elf32_Versym.h
M libc/hdr/types/Elf32_Word.h
M libc/hdr/types/Elf32_Xword.h
M libc/hdr/types/Elf32_auxv_t.h
M libc/hdr/types/Elf64_Addr.h
M libc/hdr/types/Elf64_Chdr.h
M libc/hdr/types/Elf64_Dyn.h
M libc/hdr/types/Elf64_Ehdr.h
M libc/hdr/types/Elf64_Half.h
M libc/hdr/types/Elf64_Lword.h
M libc/hdr/types/Elf64_Nhdr.h
M libc/hdr/types/Elf64_Off.h
M libc/hdr/types/Elf64_Phdr.h
M libc/hdr/types/Elf64_Rel.h
M libc/hdr/types/Elf64_Rela.h
M libc/hdr/types/Elf64_Shdr.h
M libc/hdr/types/Elf64_Sword.h
M libc/hdr/types/Elf64_Sxword.h
M libc/hdr/types/Elf64_Sym.h
M libc/hdr/types/Elf64_Verdaux.h
M libc/hdr/types/Elf64_Verdef.h
M libc/hdr/types/Elf64_Vernaux.h
M libc/hdr/types/Elf64_Verneed.h
M libc/hdr/types/Elf64_Versym.h
M libc/hdr/types/Elf64_Word.h
M libc/hdr/types/Elf64_Xword.h
M libc/hdr/types/Elf64_auxv_t.h
M libc/hdr/types/FILE.h
M libc/hdr/types/VISIT.h
M libc/hdr/types/atexithandler_t.h
M libc/hdr/types/clock_t.h
M libc/hdr/types/clockid_t.h
M libc/hdr/types/cookie_io_functions_t.h
M libc/hdr/types/cpu_set_t.h
M libc/hdr/types/div_t.h
M libc/hdr/types/fenv_t.h
M libc/hdr/types/fexcept_t.h
M libc/hdr/types/gid_t.h
M libc/hdr/types/jmp_buf.h
M libc/hdr/types/key_t.h
M libc/hdr/types/ldiv_t.h
M libc/hdr/types/lldiv_t.h
M libc/hdr/types/locale_t.h
M libc/hdr/types/mbstate_t.h
M libc/hdr/types/mode_t.h
M libc/hdr/types/nfds_t.h
M libc/hdr/types/off_t.h
M libc/hdr/types/pid_t.h
M libc/hdr/types/posix_tnode.h
M libc/hdr/types/pthread_barrier_t.h
M libc/hdr/types/pthread_barrierattr_t.h
M libc/hdr/types/sigjmp_buf.h
M libc/hdr/types/stack_t.h
M libc/hdr/types/struct_pollfd.h
M libc/hdr/types/struct_rlimit.h
M libc/hdr/types/struct_sched_param.h
M libc/hdr/types/struct_sembuf.h
M libc/hdr/types/struct_semid_ds.h
M libc/hdr/types/struct_seminfo.h
M libc/hdr/types/struct_stat.h
M libc/hdr/types/suseconds_t.h
M libc/hdr/types/time_t.h
M libc/hdr/types/uid_t.h
M libc/hdr/types/wchar_t.h
M libc/hdr/types/wctype_t.h
M libc/hdr/types/wint_t.h
M libc/hdr/unistd_macros.h
M libc/hdr/wchar_macros.h
Log Message:
-----------
[libc][NFC] Fix #endif comments in hdr/ proxy headers (#198313)
The #endif closing the LIBC_FULL_BUILD guard used the CMake variable
name LLVM_LIBC_FULL_BUILD in its comment rather than the preprocessor
macro LIBC_FULL_BUILD that the #ifdef above references. These are
distinct: LLVM_LIBC_FULL_BUILD is the CMake option; LIBC_FULL_BUILD is
the C macro defined via -DLIBC_FULL_BUILD when that option is ON.
Fixed 113 files under libc/hdr/ with a mechanical substitution.
Assisted-by: Automated tooling, human reviewed.
Commit: cab2fdaf5a1009c78e1705ed9b1308f0b4b9a1fb
https://github.com/llvm/llvm-project/commit/cab2fdaf5a1009c78e1705ed9b1308f0b4b9a1fb
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/test/CodeGen/SPIRV/GlobalISel/fn-ptr-addrspacecast.ll
Log Message:
-----------
[SPIRV] Allow casting between CodeSectionINTEL and Generic storage classes (#197556)
In the previous versions of the SPV_INTEL_function_pointers
[spec](https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_function_pointers.asciidoc),
casts between the CodeSectionINTEL storage class (used for function
pointers) and the Generic storage class were illegal.
The spec was updated a few months ago, and the new version allows the
cast, specifying `CodeSectionIntel` as one of the overloaded storage
classes that can be represented by Generic, alongside `WorkGroup`, etc.
I also confirmed with a spec author that one of the intentions of the
spec updates was to allow the cast.
Update the SPIR-V backend to allow the cast. This is basically required
to use function pointers in real world use cases.
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 633d731707707b008fe9554bd71e196ba776c987
https://github.com/llvm/llvm-project/commit/633d731707707b008fe9554bd71e196ba776c987
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/TableGen/aarch64-apple-tuning-features.td
Log Message:
-----------
[llvm] Re-format aarch64-apple-tuning-features.td. NFC (#197777)
It's much easier to review diffs with each feature on its own line. Also
add an -implicit-check-not so we don't miss any CPUs going forward.
Commit: dd199b4b919972f45ffec269f8f581435c38b087
https://github.com/llvm/llvm-project/commit/dd199b4b919972f45ffec269f8f581435c38b087
Author: David Green <david.green at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Log Message:
-----------
[AMDGPU][GlobalISel] Remove dependency on legal ruleset (#197371)
This fills in always legal rules, to remove the dependency on the legacy
ruleset. This is not guaranteed to be all the rules, just the ones that
appear in tests.
Commit: f4ee477c7ab2a27ab9ec2499f9398b748ed9d849
https://github.com/llvm/llvm-project/commit/f4ee477c7ab2a27ab9ec2499f9398b748ed9d849
Author: Henry Jiang <henry_jiang2 at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/Transforms/HotColdSplit/issue-197982.ll
Log Message:
-----------
[NFC][CodeExtractor] simplify test for #197986 (#198011)
Commit: c93c17b0c084c410c8ac2c824864470e71fc1b39
https://github.com/llvm/llvm-project/commit/c93c17b0c084c410c8ac2c824864470e71fc1b39
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/include/clang/DependencyScanning/ModuleDepCollector.h
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
Log Message:
-----------
[clang][deps] Move `ModuleDepCollectorPP` to .cpp file (#197964)
This PR moves the `ModuleDepCollectorPP` type into the .cpp file. It's
an implementation detail that the header doesn't need to expose.
Commit: 9886c72b7fa35cd89a6dd46a8c97a69bc151f46c
https://github.com/llvm/llvm-project/commit/9886c72b7fa35cd89a6dd46a8c97a69bc151f46c
Author: Iñaki V Arrechea <inakiarrechea at google.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/IR/FunctionProperties.def
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
Log Message:
-----------
Add noreturn call count to FunctionPropertiesAnalysis pass (#198322)
Adding this metric to visualize how many noreturn functions there are
with the idea of analyzing their relationship with unreachable
instructions
Commit: 58ee64e673839b78797d40e5e08edd8797735103
https://github.com/llvm/llvm-project/commit/58ee64e673839b78797d40e5e08edd8797735103
Author: Petr Hosek <phosek at google.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/test/Driver/fuchsia.c
M clang/test/Driver/ohos.c
Log Message:
-----------
[Driver] Uniform handling of invalid rtlib across drivers (#198219)
This is mostly an NFC except for a different diagnostic being emitted.
The goal is to unify validation and handling of invalid rtlib value
across different drivers to simplify supporting more -rtlib= values in
the future.
Commit: 7eab3e05b3b2971e4771f5e53f5753337c125adf
https://github.com/llvm/llvm-project/commit/7eab3e05b3b2971e4771f5e53f5753337c125adf
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
A flang/test/Transforms/FIRToMemRef/omp-wsloop-simd-private.mlir
Log Message:
-----------
[FIRToMemRef] Fix fir.convert insertion inside omp.wsloop (#197653)
When replaceFIRMemrefs inserted a fir.convert before an op inside a
LoopWrapperInterface region (e.g. omp.simd inside omp.wsloop), it
violated the single-nested-op invariant, producing a verifier error. Fix
by walking up the LoopWrapperInterface parent chain and inserting before
the outermost wrapper instead.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 755732f184ea73b9f6f28765b33cf3030c0dc9d7
https://github.com/llvm/llvm-project/commit/755732f184ea73b9f6f28765b33cf3030c0dc9d7
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M mlir/include/mlir/Conversion/GPUToSPIRV/GPUToSPIRV.h
M mlir/include/mlir/Dialect/GPU/IR/GPUBase.td
M mlir/include/mlir/Dialect/GPU/IR/GPUDialect.h
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
A mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm-invalid-named-barrier.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-barrier.mlir
A mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-barriers-gfx12.mlir
A mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-invalid-named-barrier.mlir
A mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-named-barrier-non-const.mlir
M mlir/test/Conversion/GPUToSPIRV/gpu-to-spirv.mlir
M mlir/test/Dialect/GPU/barrier-elimination.mlir
M mlir/test/Dialect/GPU/canonicalize.mlir
A mlir/test/Dialect/GPU/named-barrier.mlir
Log Message:
-----------
[mlir][GPU] Extend gpu.barrier with scope and named-barrier support (#195692)
This commit adds two features to gpu.barrier that are supported on
targets like recent AMDGPU chips, Nvidia's hardware, and SPIR-V.
The first of these is named barriers, which allow creating a barrier
object that is initialized with the number of subgroups that must arrive
at it before those subgroups are released. These are represented in MLIR
with a new `!gpu.named_barrier` type and created by
`gpu.initialized_named_barrier` operation. These named barriers then
become arguments to `gpu.barrier`.
The other change is adding a "scope" enum and using it to specify the
execution scope of barriers. This allows for rerpresenting cluster- and
subgroup-wide barriers (the latter exists on AMDGPU and Nvidia, and
while I suspect Nvidia has cluster-scope barriers, I didn't go looking)
and allows us to fully lower to SPIR-V's OpControlBarrier.
While these are two different features, I figured I'd land them in one
PR so the full API for `gpu.barrier` only changes once.
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply at anthropic.com>
Commit: 2a53990301a6b1f615bbff6ea2aa59c85a212eae
https://github.com/llvm/llvm-project/commit/2a53990301a6b1f615bbff6ea2aa59c85a212eae
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb][test] Use octal literal (NFC) (#198343)
Commit: daff70e9b37ab8caa37cd379fe03d5de81a4bfb1
https://github.com/llvm/llvm-project/commit/daff70e9b37ab8caa37cd379fe03d5de81a4bfb1
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 755732f (#198347)
This fixes 755732f184ea73b9f6f28765b33cf3030c0dc9d7.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 6a866508f88c9c8ee7c1d43c1ee09bdd0300c76a
https://github.com/llvm/llvm-project/commit/6a866508f88c9c8ee7c1d43c1ee09bdd0300c76a
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
A mlir/include/mlir/Dialect/AMDGPU/Transforms/MemoryAccessOpInterfacesImpl.h
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
A mlir/include/mlir/Dialect/AMDGPU/Utils/MemorySpaceUtils.h
M mlir/include/mlir/Dialect/MemRef/IR/MemoryAccessOpInterfaces.td
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
R mlir/lib/Dialect/AMDGPU/Transforms/FoldMemRefsOps.cpp
A mlir/lib/Dialect/AMDGPU/Transforms/MemoryAccessOpInterfacesImpl.cpp
M mlir/lib/Dialect/MemRef/IR/MemoryAccessOpInterfaces.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/RegisterAllDialects.cpp
R mlir/test/Dialect/AMDGPU/amdgpu-fold-memrefs.mlir
A mlir/test/Dialect/AMDGPU/fold-memref-alias-ops.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][AMDGPU] Move memory access op folding to memref interfaces (#197310)
This PR implements IndexedAccessOpInterface and
IndexedMemCopyOpInterface for relevant ops in the AMDGPU dialect,
removing the custom folding pass we used to have now that there's
interfaces for this sort of thing.
As a result:
- The in-bonuds semantics of various AMDGPU ops have been clarified
- Interface methods to enable oob checks on DMA operations have been
added (to prevent accidental `disjoint`ing and the like)
- Said memref rewrite patterns have been hardened to allow for mixed
tensor/memref semantics.
- Helpers for detecting memory spaces were factored out of
`AMDGPUOps.cpp` so that they could be re-used in the interface
implementations.
# Breaking changes / migration
The custom `amdgpu-fold-memrefs-ops` pass and its patterns are removed.
Users should move to the general FoldMemRefAliasOps.cpp pass on the
memref dialect instead, as these special-case patterns are no longer
needed.
Commit: 72daa33e5d233176310cb20f5dbca6e5a4379f38
https://github.com/llvm/llvm-project/commit/72daa33e5d233176310cb20f5dbca6e5a4379f38
Author: Kartik Ohlan <kartik7ohlan at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M 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] max-across-vector (vmaxv_*) intrinsics (#197095)
Part of #185382
Added the vmax_v variants.
Moved the test cases to
[intrinsics.c](https://github.com/llvm/llvm-project/pull/clang/test/CodeGen/AArch64/neon/intrinsics.c)
Removed the test cases from
[neon-intrinsics.c](clang/test/CodeGen/AArch64/neon/intrinsics.c)
Commit: 0646ec9e2497c2e6835ab51a0dc25ffcbb9cb2aa
https://github.com/llvm/llvm-project/commit/0646ec9e2497c2e6835ab51a0dc25ffcbb9cb2aa
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
R clang/test/PCH/builtins-fenv.c
R clang/test/PCH/builtins-fenv.h
R clang/test/Sema/builtin-fenv.c
R clang/test/Sema/fenv-access-implicit.c
R clang/test/Sema/fenv-access-unevaluated.cpp
R clang/test/Sema/fenv-access.c
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
Revert "Add clang warning if fp exception functions are called without appropriate flags/pragmas" (#198341)
Reverts llvm/llvm-project#187860
Reason: this breaks compiling several different versions of libc, and is
also issuing diagnostics for platforms that are incompatible (see
https://github.com/llvm/llvm-project/pull/187860 for details).
Revert for now until we resolve how to move forward and reland.
Commit: 332c06b5531c4a771e0c2b3c5c9029a3e68a9aad
https://github.com/llvm/llvm-project/commit/332c06b5531c4a771e0c2b3c5c9029a3e68a9aad
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/include/llvm/Target/Target.td
M llvm/test/TableGen/aarch64-apple-tuning-features.td
Log Message:
-----------
[llvm] Sort the Subtarget feature implies list by name (#197700)
Commit: 1b7f9a05410da3aca680e66a1511a20a87eae782
https://github.com/llvm/llvm-project/commit/1b7f9a05410da3aca680e66a1511a20a87eae782
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M .github/workflows/pr-code-lint.yml
Log Message:
-----------
[Github][CI] Don't build analysis targets when no relevant projects present (#196882)
Fixes error described in
[link](https://github.com/llvm/llvm-project/pull/194442#issuecomment-4330108752),
When `clang-tools-extra` project was not computed to build but
`genconfusable` (part of `clang-tools-extra`) was build anyway.
Commit: 545fea0024e9f9d26a3bcb9694159f86438fe6c8
https://github.com/llvm/llvm-project/commit/545fea0024e9f9d26a3bcb9694159f86438fe6c8
Author: TPPPP <TPPPP72 at outlook.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/test/Sema/block-misc.c
R clang/test/Sema/block-on-objc-ivars.m
M clang/test/Sema/gh183974.c
M clang/test/SemaCXX/blocks.cpp
A clang/test/SemaObjC/block-on-ivar.m
M clang/test/SemaObjC/block-on-method-param.m
Log Message:
-----------
[Clang] Improve __block attribute coverage for ivars and static variables (#198167)
As discussed in #194856, we need to improve the diagnostic coverage for
the `__block` attribute.
The modifications I made are as follows:
1. added diagnostic definitions
2. modified diagnostic logic
3. added test cases
4. modified the affected test cases
close #197213
Commit: 4046dc4b458f956ef885e751fde78a734828286a
https://github.com/llvm/llvm-project/commit/4046dc4b458f956ef885e751fde78a734828286a
Author: Jade Abraham <jademabraham17 at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/cmake/modules/CrossCompile.cmake
Log Message:
-----------
Make sure optional components are excluded (#187824)
Extends a fix from
https://github.com/llvm/llvm-project/commit/b1e92f8def98c5e34fdb3b4c18ac16d65fb613a2
to examples and docs, both of which may be missing but are
unconditionally included if missing
This fixes an issue where the Chapel team vendors LLVM (and subsequently
deletes directories like docs and examples for smaller file sizes), but
if those directories are missing the build will fail
Signed-off-by: Jade Abraham <jademabraham17 at gmail.com>
Commit: df6994dcd9f190e3f2b1cfc8ae31c439b10c25d5
https://github.com/llvm/llvm-project/commit/df6994dcd9f190e3f2b1cfc8ae31c439b10c25d5
Author: Atafid <124087040+Atafid at users.noreply.github.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-avg.mir
M llvm/test/CodeGen/AArch64/arm64-vhadd.ll
M llvm/test/CodeGen/AArch64/hadd-combine.ll
Log Message:
-----------
[AArch64][GlobalISel] Add pre-legalizer combines for AVGFLOOR and AVGCEIL (#192866)
This patch adds GlobalISel pre-legalizer combines to pattern-match and
optimize average operations, bringing GlobalISel on par with
SelectionDAG.
Specifically, it matches:
- `(a + b) >> 1` into `G_UAVGFLOOR` / `G_SAVGFLOOR`
- `(a + b + 1) >> 1` into `G_UAVGCEIL` / `G_SAVGCEIL`
Support is included for both scalar and vector types, correctly handling
constants and splat vectors via `isOneOrOneSplat()`. This builds upon
the generic opcodes introduced for AArch64 intrinsics lowering and
enables optimal emission of Neon instructions (e.g., `urhadd`, `shadd`)
directly from generic IR.
Fixes #118083
Commit: 20d89aca503c0fb5e5ab3801f79a32b2d82149a7
https://github.com/llvm/llvm-project/commit/20d89aca503c0fb5e5ab3801f79a32b2d82149a7
Author: Alan Li <me at alanli.org>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
A mlir/test/Dialect/MemRef/emulate-narrow-type-cf-types.mlir
A mlir/test/Dialect/MemRef/emulate-narrow-type-cf.mlir
M mlir/test/lib/Dialect/MemRef/CMakeLists.txt
M mlir/test/lib/Dialect/MemRef/TestEmulateNarrowType.cpp
Log Message:
-----------
[MLIR][test] Add lit coverage for cf.br/cond_br/switch under narrow-type emulation (#198053)
Wires `cf::populateCFStructuralTypeConversionsAndLegality` into the
in-tree `TestEmulateNarrowType` pass and adds lit coverage that
exercises `cf.br` / `cf.cond_br` / `cf.switch` operand and successor
block-argument rewriting when emulating sub-byte element types:
* `memref<NxiW>` carried across `cf.br` / `cf.cond_br` / `cf.switch`.
* Sub-byte integer scalars across `cf.br`.
* Sub-byte integer vectors across `cf.br`.
This PR initially added thin wrapper functions
(`memref::populateMemRefNarrowTypeEmulationCFPatterns`,
`vector::populateVectorNarrowTypeEmulationCFPatterns`) over
`cf::populateCFStructuralTypeConversionsAndLegality`. Per review
feedback those wrappers were redundant, so callers (including the
in-tree test pass) now call
`cf::populateCFStructuralTypeConversionsAndLegality`
directly. Net contribution is the test-pass plumbing and the new lit
tests demonstrating that the existing cf structural type conversion
correctly handles narrow-type-emulated values.
Commit: a11ca824b1343b8aa6fe10a1e7231650ef58e006
https://github.com/llvm/llvm-project/commit/a11ca824b1343b8aa6fe10a1e7231650ef58e006
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
Log Message:
-----------
[clang][AArch64][NFC] Remove redundant bitcasts in builtin codegen (#196988)
Update CodeGen for the ACLE AdvSIMD “extract one element from vector”
builtins to avoid emitting unnecessary bitcasts:
* https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#extract-one-element-from-vector
The existing tests continue to cover the generated IR and require no
updates, confirming that this is an NFC cleanup.
This is similar to #195825.
Commit: d5ad8116f3a26e760a3fcf1e96b6878b89c620e3
https://github.com/llvm/llvm-project/commit/d5ad8116f3a26e760a3fcf1e96b6878b89c620e3
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/load-store.ll
Log Message:
-----------
[SLP] Generate StoreChainContext for all chains for a given base pointer first (#193616)
Rather than generating the chains for a `RelatedStoreInsts` worth of
stores at a time and then vectorizing that group, create the
StoreChainContext for all chains in all `RelatedStoreInsts`, and then
vectorize at the end.
Will allow easier integration with runtime strided stores since those
will exist across `RelatedStoreInsts`.
Bigger VF chains are now attempted before smaller VF chains across all
`RelatedStoreInsts` groups for a base value type, so some behavioral
changes in the vectorization of overlapping chains as the relative order
in which we attempt to vectorize them may have changed (longer before
shorter).
Commit: d70adc0f3d9b74363ffe70c332ca6eae49a36e31
https://github.com/llvm/llvm-project/commit/d70adc0f3d9b74363ffe70c332ca6eae49a36e31
Author: Laxman Sole <lsole at nvidia.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinter.cpp
A llvm/test/tools/llvm-dwarfdump/NVPTX/lit.local.cfg
A llvm/test/tools/llvm-dwarfdump/NVPTX/ptx-register-name.yaml
M llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
Log Message:
-----------
[llvm-dwarfdump] Decode the virtual register names from the dwarf register numbers (#192353)
Backends like `NVPTX` encode virtual register names as the DWARF
register number- the ASCII bytes of the name are concatenated into a
uint64_t.
This change adds fallback logic to decode these dwarf register numbers
into strings.
This improves the readability of Dwarfdump output.
e.g.
Before the change-
` DW_AT_location (DW_OP_regx 0x25726431)`
After the change-
` DW_AT_location (DW_OP_regx %rd1)`
Commit: d6f5793c143b354ff13c32fd220eba09771da9ca
https://github.com/llvm/llvm-project/commit/d6f5793c143b354ff13c32fd220eba09771da9ca
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/dot-product-complex.cpp
A flang-rt/lib/runtime/dot-product-integer.cpp
A flang-rt/lib/runtime/dot-product-real.cpp
R flang-rt/lib/runtime/dot-product.cpp
A flang-rt/lib/runtime/dot-product.h
A flang-rt/lib/runtime/extrema-maxloc-dim.cpp
A flang-rt/lib/runtime/extrema-maxloc.cpp
A flang-rt/lib/runtime/extrema-minloc-dim.cpp
A flang-rt/lib/runtime/extrema-minloc.cpp
A flang-rt/lib/runtime/extrema-value.cpp
R flang-rt/lib/runtime/extrema.cpp
A flang-rt/lib/runtime/extrema.h
A flang-rt/lib/runtime/findloc-dim.cpp
A flang-rt/lib/runtime/findloc-total.cpp
R flang-rt/lib/runtime/findloc.cpp
A flang-rt/lib/runtime/findloc.h
A flang-rt/lib/runtime/matmul-complex.cpp
A flang-rt/lib/runtime/matmul-extypes-int16.cpp
A flang-rt/lib/runtime/matmul-extypes-real10.cpp
A flang-rt/lib/runtime/matmul-extypes-real16.cpp
A flang-rt/lib/runtime/matmul-integer.cpp
A flang-rt/lib/runtime/matmul-real.cpp
A flang-rt/lib/runtime/matmul-transpose-complex.cpp
A flang-rt/lib/runtime/matmul-transpose-extypes-int16.cpp
A flang-rt/lib/runtime/matmul-transpose-extypes-real10.cpp
A flang-rt/lib/runtime/matmul-transpose-extypes-real16.cpp
A flang-rt/lib/runtime/matmul-transpose-integer.cpp
A flang-rt/lib/runtime/matmul-transpose-real.cpp
R flang-rt/lib/runtime/matmul-transpose.cpp
A flang-rt/lib/runtime/matmul-transpose.h
R flang-rt/lib/runtime/matmul.cpp
A flang-rt/lib/runtime/matmul.h
Log Message:
-----------
[flang-rt][NFC] Split up expensive .cpp files into multiple files (#198111)
Summary:
This PR simply takes the existing `.cpp` files for the heaviest
implementations and separates them logically, typically between real,
integer, and complex types. The existing `.cpp` file is turned into a
`.h` file and we create new `.cpp` files that *only* contain the old
portion that used `RTDEF`. This allows for far more build system
parallelism, and it also means that static library linking semantics
mean that if the user only uses integer routines the linker will not
include the unused complex / real routines in the final executable.
All around this is a good practice for runtime libraries. Verified that
all `_Fortran` entrypoint routines are still present, port was strictly
mechanical.
The result of all of this is that I can now build `flang-rt` in ~10s
with all threads instead of ~50s due to the most expensive files being
split into parallelizable chunks.
Commit: 0dd29960cd6102b37651cc3f58f872652099b83b
https://github.com/llvm/llvm-project/commit/0dd29960cd6102b37651cc3f58f872652099b83b
Author: Alina Sbirlea <asbirlea at google.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/address-space-patfrags.td
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
Log Message:
-----------
[TableGen] Resolve GlobalISel strict weak ordering check. (#197071)
This is aiming to resolve:
`llvm-tblgen failed: error executing TdGenerate command llvm-tblgen
-gen-global-isel-combiner '-combiners=AArch64PostLegalizerCombiner'
[...]
llvm-project/llvm/lib/Target/AArch64/AArch64GenPostLegalizeGICombiner.inc`
`strict_weak_ordering_check.h:50: libc++ Hardening assertion
!__comp(*(__first + __a), *(__first + __b)) failed: Your comparator is
not a valid strict-weak ordering`.
Commit: 045375dfa85c1eccbe8ddf008279e30ca603aeea
https://github.com/llvm/llvm-project/commit/045375dfa85c1eccbe8ddf008279e30ca603aeea
Author: Artem Belevich <tra at google.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
Log Message:
-----------
[clang][CUDA] Add new new CUDA and PTX versions (#197992)
PTX 9.1 and 9.2 already exists in LLVM, so this change just plumbs these
versions into clang to allow using newer instructions when we're
compiling with cuda-13.x
Commit: 0b4a877e0e37f28d5b4be589bed055d149ac88dd
https://github.com/llvm/llvm-project/commit/0b4a877e0e37f28d5b4be589bed055d149ac88dd
Author: Sadaf Ebrahimi <sadafebrahimi at google.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
Log Message:
-----------
[scudo] Add unit test for StackDepot edge cases
This increases test coverage for stack_depot.h to 100%.
Commit: 862ba4798e09142ae9cf1f259b94301c7438c156
https://github.com/llvm/llvm-project/commit/862ba4798e09142ae9cf1f259b94301c7438c156
Author: Alan Li <me at alanli.org>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
A mlir/include/mlir/Analysis/DataFlow/IntegerDivisibilityAnalysis.h
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/Arith/IR/Arith.h
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Interfaces/CMakeLists.txt
A mlir/include/mlir/Interfaces/InferIntDivisibilityOpInterface.h
A mlir/include/mlir/Interfaces/InferIntDivisibilityOpInterface.td
M mlir/lib/Analysis/CMakeLists.txt
A mlir/lib/Analysis/DataFlow/IntegerDivisibilityAnalysis.cpp
M mlir/lib/Dialect/Affine/IR/CMakeLists.txt
A mlir/lib/Dialect/Affine/IR/InferIntDivisibilityOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/IR/CMakeLists.txt
A mlir/lib/Dialect/Arith/IR/InferIntDivisibilityOpInterfaceImpl.cpp
M mlir/lib/Interfaces/CMakeLists.txt
A mlir/lib/Interfaces/InferIntDivisibilityOpInterface.cpp
A mlir/test/Analysis/DataFlow/integer-divisibility.mlir
M mlir/test/lib/Analysis/CMakeLists.txt
A mlir/test/lib/Analysis/DataFlow/TestIntegerDivisibilityAnalysis.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Reland "[MLIR] Add `IntegerDivisibilityAnalysis` and `InferIntDivisibilityOpInterface`" (#198110)
Relands #197728, which was reverted in #198048 because it broke
shared-library builds.
## Summary of build fix:
`IntegerDivisibilityAnalysis.cpp` calls
`mlir::getConstantIntValue(OpFoldResult)`, which is defined in
`mlir/lib/Dialect/Utils/StaticValueUtils.cpp`. Without this link
dependency, shared-library
builds of `libMLIRAnalysis.so` fail with undefined references.
This was the root cause of
https://github.com/llvm/llvm-project/pull/198048.
Commit: 2b92ab07b4d550576175512f988cc0c200bf691a
https://github.com/llvm/llvm-project/commit/2b92ab07b4d550576175512f988cc0c200bf691a
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/include/clang/Driver/Compilation.h
M clang/include/clang/Driver/Job.h
M clang/lib/Driver/Driver.cpp
A clang/test/Driver/crash-report-multi-arch.c
Log Message:
-----------
[clang] Enable crash reproducers when multiple -arch flags are involved (#197600)
rdar://176327788
Commit: b7612bf90ff71aa532ae9b13a26e50ca17fd07fe
https://github.com/llvm/llvm-project/commit/b7612bf90ff71aa532ae9b13a26e50ca17fd07fe
Author: Justin Bogner <mail at justinbogner.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/CodeGen/DirectX/discard_error.ll
Log Message:
-----------
[DirectX] Update intrinsic test with more precise error message (#198376)
Error messages for bad intrinsic signatures were improved in #196802,
update this test to match.
Commit: 519eb6c8128a548a67d43eeabd13538b7af4e218
https://github.com/llvm/llvm-project/commit/519eb6c8128a548a67d43eeabd13538b7af4e218
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/numeric-templates.h
M flang-rt/lib/runtime/character.cpp
M libc/shared/rpc_dispatch.h
Log Message:
-----------
[flang-rt][NFC] Clean up warnings when building flang-rt (#198384)
Summary:
Trivial warning fixes around uninitialized values.
Commit: 91334a845ffa16349a6264aa3fda2d843044ea86
https://github.com/llvm/llvm-project/commit/91334a845ffa16349a6264aa3fda2d843044ea86
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/test/MC/AMDGPU/gfx1250_asm_vop2.s
M llvm/test/MC/AMDGPU/literals.s
Log Message:
-----------
[AMDGPU] Error out on too large lit() constants (#197803)
Commit: a45b6bf0cffdb8d78b17289d3524935f32d203fb
https://github.com/llvm/llvm-project/commit/a45b6bf0cffdb8d78b17289d3524935f32d203fb
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 6a86650 (#198355)
This fixes 6a866508f88c9c8ee7c1d43c1ee09bdd0300c76a.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: ac4170fe250a1a21955ef5cbe422d53fe329e654
https://github.com/llvm/llvm-project/commit/ac4170fe250a1a21955ef5cbe422d53fe329e654
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/live-out.ll
Log Message:
-----------
[VPlan] Conservatively handle VPPhi in isUniformAcrossVFsAndUFs. (#198387)
Should be NFC in terms of optimizations, but fixes a infinite cycle when
running the VPlan verifier for extracts of a lane mask on RISCV
(https://github.com/llvm/llvm-project/issues/198274).
Commit: 03431a2a68f11046e6121028548965a06a5660d8
https://github.com/llvm/llvm-project/commit/03431a2a68f11046e6121028548965a06a5660d8
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Fix 20d89aca503c0fb5e5ab3801f79a32b2d82149a7 (#198397)
Missing layering check deps
Commit: 33cf7c00ee7dc3f9b1ebd9489de27533bf06be26
https://github.com/llvm/llvm-project/commit/33cf7c00ee7dc3f9b1ebd9489de27533bf06be26
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
Log Message:
-----------
[LLDB] Support reading size of constant values from DWARF directly (#198392)
Some type systems (such as Swift) cannot determine a type's byte size
without an execution context (e.g. types whose layout depends on runtime
metadata). In those cases the debug info might still carry the static
size of the value's box, which is enough if the value is a constant.
This patch adds a unit test that mocks up an analogous situation using
TypeSystemClang.
Assisted-by: claude
Commit: 4628cbd0421b5349b05f49ea18b6480a16fe3c76
https://github.com/llvm/llvm-project/commit/4628cbd0421b5349b05f49ea18b6480a16fe3c76
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/docs/OpenACC-extensions.md
M flang/docs/OpenACC.md
M flang/docs/index.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.f90
Log Message:
-----------
[flang][openacc] add optional extension to allow default none scalars (#197718)
Adds the flag, `-facc-allow-default-none-scalars`. When this flag is
enabled, Flang reverts to the pre-3.2 behavior: scalar variables
referenced inside a `default(none)` compute region without an explicit
data clause do not produce an error. Instead, Flang infers implicit data
attributes for those scalars via the same implicit-copy logic applied in
regions without `default(none)`.
- Adds tests and documentation.
- Makes an explicit extensions doc for OpenACC to mirror the OpenMP
extensions doc.
- Moves the intentional deviations to from the standard to the
extensions doc.
Commit: fbbc9ca4f8ea7fdc237841d56f377b4a6ffb65de
https://github.com/llvm/llvm-project/commit/fbbc9ca4f8ea7fdc237841d56f377b4a6ffb65de
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
A llvm/test/tools/llvm-dwarfdump/verify_debug_names_compile_unit_with_dwo_id.yaml
Log Message:
-----------
[DWARFVerifier] Don't require .dwo for non-skeleton CUs (#198112)
The presence of `DW_AT_(GNU_)dwo_id` alone does not make a compile unit
a skeleton: a regular `DW_TAG_compile_unit` is allowed to carry a DWO
id. DWARF 5 marks skeleton CUs with `DW_TAG_skeleton_unit` while older
pre DWARF 5 identifies them by absence of children.
Before this change, the verifier would any CU whose header reported a
DWO id as a skeleton, then tried and failed to load its (non-existent)
.dwo and reported an error. This updates the verifier to gate the check
on the CU being an actual skeleton CU.
Commit: b5e5e2a3aba67f2008a608b3ed8d2b7c7ec38cff
https://github.com/llvm/llvm-project/commit/b5e5e2a3aba67f2008a608b3ed8d2b7c7ec38cff
Author: adams381 <adams at nvidia.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/character-literal.c
Log Message:
-----------
[CIR] Allow implicit truncation in CharacterLiteral codegen (#197269)
`VisitCharacterLiteral` is calling the `IntAttr::get(Type, int64_t)`
builder, which builds the underlying `APInt` with
`isSigned=type.isSigned()` and no implicit truncation. That asserts the
moment a high-bit character literal like `'\xFF'` (which the AST stores
as `CharacterLiteral 'int' 4294967295`) comes through with `int` as the
destination type:
```
APInt.h:121: Assertion `llvm::isIntN(BitWidth, val) &&
"Value is not an N-bit signed value"' failed.
```
Classic CodeGen passes `IsSigned=false, ImplicitTrunc=true` here, with a
comment that says character literals are stored unsigned even for signed
char. Just mirror that: build the `APInt` explicitly with those flags
and hand it to `IntAttr::get`. After this the CIR const folder produces
`#cir.int<-1> : !s8i` for `signed char c = '\xFF';` and the lowered
LLVM is identical to OGCG.
Found while sweeping SPEC CPU 2026 with `-fclangir` -- hits cpython
(`Modules/_decimal/_decimal.c`) and omnetpp (yxml + 8 other TUs).
One-liner repro: `void f(void) { signed char c = '\xFF'; }`.
Test covers `\xFF`, `\x80`, `'A'`, and the unsigned-char destination,
all with the CIR + LLVM + OGCG triple.
Commit: 4f1169392785979696b9e94dab3eb6b0dd4766d9
https://github.com/llvm/llvm-project/commit/4f1169392785979696b9e94dab3eb6b0dd4766d9
Author: adams381 <adams at nvidia.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/include/llvm/ABI/Types.h
A llvm/unittests/ABI/CMakeLists.txt
A llvm/unittests/ABI/TypesTest.cpp
M llvm/unittests/CMakeLists.txt
Log Message:
-----------
[llvm][ABI] Add NonTrivialCopyConstructor and NonTrivialDestructor RecordFlags (#194427)
Breakout from @vortex73's PR #140112.
Add HasNonTrivialCopyConstructor and HasNonTrivialDestructor flags to
RecordFlags, with accessor methods on RecordType. These flags are needed
by target-specific ABI classifiers (e.g. X86_64) to determine whether a
C++ record type must be passed indirectly per the Itanium ABI.
Also adds unit test infrastructure for the ABI library
(llvm/unittests/ABI/) with tests for the new flags and their interaction
with existing flags.
This is Narayan's design and logic from the LLVM ABI Lowering Library,
adapted to the current upstream API.
Made with [Cursor](https://cursor.com)
Co-authored-by: Narayan Raul Kamath <vortex73 at users.noreply.github.com>
Commit: c8f686e7c270a954515c7648afe73bd8ab04ff67
https://github.com/llvm/llvm-project/commit/c8f686e7c270a954515c7648afe73bd8ab04ff67
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGenCXX/new-array-init-list-non-trivial-dtor.cpp
Log Message:
-----------
[CIR] Add support for partial array cleanup with ILE (#198000)
This adds support for partial array cleanup when an array of a
destructed type is initialized, or partially initialized with an init
list expression.
In the case where the array is only partially initialized with the ILE
and the remainder gets implicit initialization, the cleanup for both
pieces of initialization is handled by the same cleanup scope. This is a
difference from classic codegen, but there is a FIXME in the classic
codegen implementation suggesting exactly this change.
Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh
Commit: 9721f891b38277c183075d483627e55c519cf739
https://github.com/llvm/llvm-project/commit/9721f891b38277c183075d483627e55c519cf739
Author: Matt <MattPD at users.noreply.github.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
A flang/test/Semantics/declarations09.f90
Log Message:
-----------
[flang] Add diagnostics for conflicting EXTERNAL/INTRINSIC and TARGET attributes (#197831)
Flang silently accepted declarations with both EXTERNAL and TARGET (or
INTRINSIC and TARGET) attributes on the same entity. This violates the
Fortran standard since TARGET requires a variable, but EXTERNAL/INTRINSIC
makes the entity a procedure.
Add CheckConflicting calls in CheckProcEntity to diagnose both cases.
All other major Fortran compilers already reject these combinations.
Fixes #197830
Assisted-by: Claude Opus 4.6.
Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>
Commit: 6beacfbd3ffd92ccfbf8012d978bd743b7faec7a
https://github.com/llvm/llvm-project/commit/6beacfbd3ffd92ccfbf8012d978bd743b7faec7a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Add helpers to get header, latch and middle VPBB from CFG (NFC) (#198378)
Retrieving header, latch and middle VPBBs from the plain CFG is a
somewhat common operation. Add dedicated helpers.
Commit: 1053f6a05c6309004c99d950609fe52df81505ef
https://github.com/llvm/llvm-project/commit/1053f6a05c6309004c99d950609fe52df81505ef
Author: Steven Wu <stevenwu at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h
Log Message:
-----------
[llvm] Add missing include in SSAUpdaterImpl.h (#198400)
Add a missing include file in SSAUpdaterImpl.h. This fixes the module
build failure when including this header.
Commit: 87490ed4ea9df60ba49bc6e1848d65195e2115be
https://github.com/llvm/llvm-project/commit/87490ed4ea9df60ba49bc6e1848d65195e2115be
Author: adams381 <adams at nvidia.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/include/llvm/ABI/Types.h
R llvm/unittests/ABI/CMakeLists.txt
R llvm/unittests/ABI/TypesTest.cpp
M llvm/unittests/CMakeLists.txt
Log Message:
-----------
[llvm][ABI] Revert "Add NonTrivialCopyConstructor and NonTrivialDestructor RecordFlags" (#198402)
Reverts #194427 (`4f11693`). That breakout was merged before @nikic
and @vortex73 finished review.
We are not landing this work from our fork; Narayan owns the LLVM ABI
Lowering Library on #140112. #194433 is closed.
Sorry for the premature merge.
Commit: 23fdc1e9cd5a42985b3fe53df5aee874d3dc2d8e
https://github.com/llvm/llvm-project/commit/23fdc1e9cd5a42985b3fe53df5aee874d3dc2d8e
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/test/tools/dsymutil/AArch64/cas-config.test
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
Log Message:
-----------
[dsymutil] Trim trailing comma and newline in JSON output
Assisted-by: claude
Commit: 707f7e5212932c8a635ed98c97460e650aa491ff
https://github.com/llvm/llvm-project/commit/707f7e5212932c8a635ed98c97460e650aa491ff
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Build/test LLVM/Clang/libcxx on shared libc changes (#198379)
libc is now being used/planned on being used in more places around the
repo, particularly inside of APFloat, for constexpr evaluation, and
inside of libc++. Setup premerge to handle this. I'm only aware of the
APFloat planned usage that should reland soon, but running the clang
tests should not hurt.
Commit: b0c08070f0f934d4b8c3f4df2d2347aa063b5f2e
https://github.com/llvm/llvm-project/commit/b0c08070f0f934d4b8c3f4df2d2347aa063b5f2e
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
Log Message:
-----------
[lldb] Fix "Debugger::Initialize called more than once!" (#198409)
When running multiple tests from the same binary,
1bac9410365260e250ab9483f096a411da5936b0 caused debugger_initialize_flag
to be called more than once.
We use the shared location: TestUtilities::g_debugger_initialize_flag to
ensure that the flag is initialized only once, following what is done in
other tests.
Commit: b6d5a3ec7b6f3cf21a0415401a9fb9b2d56a986f
https://github.com/llvm/llvm-project/commit/b6d5a3ec7b6f3cf21a0415401a9fb9b2d56a986f
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-5-generic-err.cl
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[AMDGPU] Remove some features from `gfx12-5-generic` (#198396)
Fixes LCOMPILER-2213.
Commit: 488a3630a11f904dc0fa99dc60de320b8747c4e2
https://github.com/llvm/llvm-project/commit/488a3630a11f904dc0fa99dc60de320b8747c4e2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/test/tools/dsymutil/X86/modules.m
Log Message:
-----------
[DWARFLinker] Fix .debug_names emission for -gmodules in parallel linker (#198047)
The parallel linker tripped up the DWARF verifier for the .debug_names
section when the input contained -gmodules skeleton CUs. The issue was
caused by, link(), which reset UniqueUnitID to zero. By that point
addObjectFile() had already handed out IDs to clang module CUs loaded
from .pcm files, so the regular compile units loaded after the reset
reused those IDs. emitDWARFv5DebugNamesSection then collapsed two
distinct CUs onto the same CUidToIdx slot, sending one CU's .debug_names
entries to the other CU's index. Stop resetting the counter since the
constructor already initializes it.
Commit: 53ebfe0442bd112977b4304254a9f1fb65b1f073
https://github.com/llvm/llvm-project/commit/53ebfe0442bd112977b4304254a9f1fb65b1f073
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/extension/package.json
A lldb/tools/lldb-dap/extension/src/commands/attach-to-process.ts
A lldb/tools/lldb-dap/extension/src/commands/pick-process.ts
A lldb/tools/lldb-dap/extension/src/commands/pid-helpers.ts
M lldb/tools/lldb-dap/extension/src/debug-configuration-provider.ts
M lldb/tools/lldb-dap/extension/src/extension.ts
A lldb/tools/lldb-dap/extension/src/process-tree.ts
M lldb/tools/lldb-dap/extension/syntaxes/disassembly.json
A lldb/tools/lldb-dap/extension/test/unit/pid-helpers.test.ts
A lldb/tools/lldb-dap/extension/test/unit/process-tree.test.ts
M lldb/tools/lldb-dap/extension/tsconfig.json
Log Message:
-----------
[lldb-dap] Add process picker command to VS Code extension (#197513)
Adds a process picker command to the LLDB DAP extension that will prompt
the user to select a process. It's based on #128943 but uses lldb-dap to
provide the list of processes through the platform abstraction
(#197330).
The new command is hidden from the command palette, but can be used in
an "attach" debug configuration to select a process at the start of a
debug session. It also comes with a new debug configuration snippet
called "LLDB: Attach to Process" that will fill in the appropriate
variable substitution.
```
{
"type": "lldb-dap",
"request": "attach",
"name": "Attach to Process",
"pid": "${command:pickProcess}"
}
```
To list processes for a different platform than the host, the existing
`platformName` option can be used.
Fixes #96279
rdar://176902576
Commit: 93a14f8d93ce002ba12ffd87cb728f86a91fc6a9
https://github.com/llvm/llvm-project/commit/93a14f8d93ce002ba12ffd87cb728f86a91fc6a9
Author: Dillon <dsharlet at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M llvm/lib/MC/MCSubtargetInfo.cpp
Log Message:
-----------
[NFC] Optimize `SetImpliedBits` (#193289)
This function sometimes shows up on my profiles of slow compiles as
using up to ~3% of CPU cycles. This change reduces this to ~0%. So, it's
not a huge improvement, but it's not nothing.
Currently, this function recursively sets all implied bits for every
feature, which does a lot of redundant work. Many features are implied
by multiple different other features.
This changes the algorithm to only process newly implied bits.
I suspect that a better fix would be to avoid so many calls to
`SetImpliedBits` in the first place, but this is a deeper change that is
probably best made by someone who understands the structure of the
surrounding code.
Fixes #155808
Commit: a3f12670e6e3b3d22af757b667033f4b1b53b637
https://github.com/llvm/llvm-project/commit/a3f12670e6e3b3d22af757b667033f4b1b53b637
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libcxx/include/__locale_dir/locale_base_api.h
Log Message:
-----------
[libc++] Revert changes to locale_base_api.h accidentally committed in f5b6e4f (#198413)
These changes weren't intended to be in the patch and don't make sense
as-is, so this reverts them.
Commit: 731a114253878c761a9f10772f3db10c711d9538
https://github.com/llvm/llvm-project/commit/731a114253878c761a9f10772f3db10c711d9538
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/test/HLFIR/opt-bufferization-skip-volatile.fir
Log Message:
-----------
[flang] Pass-through fir.volatile_cast in FIR AliasAnalysis. (#198050)
It should be safe to pass-through `fir.volatile_cast` for the purpose of
alias analysis. The missing pass-through prevented optimization of the
`nonvolatile_src_volatile_dst` test (see updated LIT test).
Commit: 45348da0ba9fad34c5fdf0216c6979a3ac00104d
https://github.com/llvm/llvm-project/commit/45348da0ba9fad34c5fdf0216c6979a3ac00104d
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
Log Message:
-----------
[AMDGPU] Change the base feature of FeatureISAVersion12_5_Generic to FeatureISAVersion12_50_Common (#198406)
Commit: be011ad134d2e35de7f0cecf39da35f2189e4f63
https://github.com/llvm/llvm-project/commit/be011ad134d2e35de7f0cecf39da35f2189e4f63
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/test/Dialect/GPU/invalid.mlir
Log Message:
-----------
[mlir][gpu] Diagnose too few launch region arguments (#198232)
Use the cluster-aware argument count when verifying `gpu.launch` bodies,
and update `invalid.mlir` with clustered and non-clustered malformed
launches.
Commit: 80662a0d3cfce071b6a898a5aa345f2a9045d363
https://github.com/llvm/llvm-project/commit/80662a0d3cfce071b6a898a5aa345f2a9045d363
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/static-initialization-cycle.cpp
Log Message:
-----------
Reland "[clang-tidy] Fix crash in misc-static-initialization-cycle" (#198329)
This commit fixes misc-static-initialization-cycle crashing on catch
(...).
Catch-all handlers have no exception declaration, so traversal of
CXXCatchStmt can call TraverseDecl(nullptr). The check previously passed
that null pointer to DeclContext::containsDecl. This commit fixes the
problem by adding a null guard.
Also added `-fexceptions` in the regression test to avoid buildbot
failure.
Commit: a4cd17e9635263b6dde04364db9bf62c75a4da35
https://github.com/llvm/llvm-project/commit/a4cd17e9635263b6dde04364db9bf62c75a4da35
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/include/llvm/Demangle/DemangleConfig.h
Log Message:
-----------
[llvm] Fix DEMANGLE_ABI for MinGW (#198288)
Exclude MinGW from __declspec(dllimport) like LLVM_ABI in
llvm/include/llvm/Support/Compiler.h does. MinGW auto-exports all DLL
symbols, so __declspec is not needed and causes undefined __imp__
references when linking static libraries.
Commit: f7c49a9e5efae0aa34f7162a358fc8e3262d7407
https://github.com/llvm/llvm-project/commit/f7c49a9e5efae0aa34f7162a358fc8e3262d7407
Author: TPPPP <TPPPP72 at outlook.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/SemaTemplate/gh176152.cpp
Log Message:
-----------
[Clang] Fixed a crash when instantiating an invalid out-of-line static data member definition in a local class (#196772)
Add check before the function that cause assertion.
Fix #176152, Fix #195416
Commit: 476b8c8cebb8bea2696e2de444032933fca02aeb
https://github.com/llvm/llvm-project/commit/476b8c8cebb8bea2696e2de444032933fca02aeb
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M lldb/include/lldb/Expression/ExpressionVariable.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectCast.h
M lldb/source/API/SBValue.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlTree.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlVariant.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectCast.cpp
M lldb/source/ValueObject/ValueObjectMemory.cpp
M lldb/source/ValueObject/ValueObjectVTable.cpp
Log Message:
-----------
[lldb] Change ValueObject::Clone to take StringRef (NFC) (#198035)
Make `ValueObject`'s name being a `ConstString` more of an
implementation detail by changing `Clone` and `SetName` take a
`StringRef`.
Commit: c1b47480f8a4a81cc13baec44b9ff029dd8d9cd5
https://github.com/llvm/llvm-project/commit/c1b47480f8a4a81cc13baec44b9ff029dd8d9cd5
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvp-bitcast-paired.ll
M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
Log Message:
-----------
[RISCV][P-ext] Set BITCAST to Custom for 64-bit packed vectors on RV32 (#198267)
Bitcasts between i64 and v8i8/v4i16/v2i32 used to expand to a stack
roundtrip, and the resulting concat_vectors let DAG combine split
paired-register arithmetic into two single-reg ops (e.g. v8i8 add became
two padd.b instead of one padd.db). The existing Is64BitCast handler in
LowerOperation already treats these as no-ops; this just routes through
it.
Commit: 2377f82514e12895ea56dcb3c53e305e029a72e8
https://github.com/llvm/llvm-project/commit/2377f82514e12895ea56dcb3c53e305e029a72e8
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/amdgcn-av-scopes.ll
A llvm/test/CodeGen/AMDGPU/av-invalid-scope.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
A llvm/test/CodeGen/AMDGPU/unsupported-av-load.ll
A llvm/test/CodeGen/AMDGPU/unsupported-av-store.ll
A llvm/test/Verifier/AMDGPU/intrinsics-av.ll
Log Message:
-----------
[AMDGPU] Add amdgcn.av.(load|store).b128 intrinsics (#191390)
The new `@llvm.amdgcn.av` family of intrinsics have availability and
visibility semantics as described in #191246. Each of them takes a scope
operand that is then translated to target-specific cache policy bits.
This allows the user to control how the side-effects of these loads and
stores are made visible to other threads.
This patch was extracted from #172090.
Co-authored-by: macurtis-amd <macurtis at amd.com>
Assisted-by: Claude Opus 4.6
Commit: 00b13e21b689c0506ab05d8840db18de4bf06dc0
https://github.com/llvm/llvm-project/commit/00b13e21b689c0506ab05d8840db18de4bf06dc0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang][bytecode] Improve constexpr-unknown handling (#196334)
1) Global variables as well as dummies can not be marked
constexpr-unknown. There is a subtlety here with global variables: we
can't register it as constexpr-unknown and later figure out that it
actually _isn't_.
2) Add a `GetRefGlobal` op similar to the existing `GetRefLocal`.
3) Reject constexpr-unknown values in `CmpHelperEQ<Pointer>`
4) Diagnose constexpr-unknown values in `GetTypeidPtr`
Commit: 3e70c424cbb04509545968bad79b149539803afd
https://github.com/llvm/llvm-project/commit/3e70c424cbb04509545968bad79b149539803afd
Author: Wenju He <wenju.he at intel.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
Log Message:
-----------
[AMDGPU] AMDGPULibCalls: Set new ldexp intrinsic calling convention to C (#198246)
Found the issue while trying to add libclc test for ldexp.
Commit: 94667a71db02007d4bfc9b94eb3dd40a79bd8709
https://github.com/llvm/llvm-project/commit/94667a71db02007d4bfc9b94eb3dd40a79bd8709
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/bindings/interface/SBValueExtensions.i
M lldb/include/lldb/API/SBValue.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/source/API/SBValue.cpp
M lldb/source/ValueObject/ValueObjectSynthetic.cpp
A lldb/test/API/python_api/sbvalue_get_parent/Makefile
A lldb/test/API/python_api/sbvalue_get_parent/TestSBValueGetParent.py
A lldb/test/API/python_api/sbvalue_get_parent/main.cpp
Log Message:
-----------
[lldb] Increase availability of ValueObject::GetParent (#197311)
While working formatter bytecode, one of the C++ formatters needs
`GetParent`. While adding `GetParent` support in the bytecode, I noticed
the SB API also does not expose `GetParent`. This remedies that.
During review of this PR, it was pointed out that `GetParent` does work
with synthetic value objects. This PR also addresses that shortcoming.
Assisted-by: claude
Commit: d09ffba14f03936909dd8c9cdad67a8d857ad59e
https://github.com/llvm/llvm-project/commit/d09ffba14f03936909dd8c9cdad67a8d857ad59e
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M lldb/docs/resources/formatterbytecode.rst
M lldb/examples/python/formatter_bytecode.py
M lldb/include/lldb/DataFormatters/FormatterBytecode.def
M lldb/source/DataFormatters/FormatterBytecode.cpp
Log Message:
-----------
[lldb][bytecode] Add GetParent and Clone selectors (#197312)
`GetParent` and `Clone` are needed to implement a `std::optional<T>`
data formatter for libc++.
Commit: 07d0ff1cab1ae6831d9138a04efe704e19c8c9ec
https://github.com/llvm/llvm-project/commit/07d0ff1cab1ae6831d9138a04efe704e19c8c9ec
Author: Garvit Gupta <garvgupt at qti.qualcomm.com>
Date: 2026-05-19 (Tue, 19 May 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/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXqccmt.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/MC/RISCV/xqccmt-invalid.s
A llvm/test/MC/RISCV/xqccmt-user-csr-name.s
A llvm/test/MC/RISCV/xqccmt-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add assembler and disassembler support for Xqccmt extension (#197673)
Xqccmt is Qualcomm's vendor extension providing compressed (16-bit) jump
table instructions, equivalent to (and mutually exclusive with) the
standard Zcmt extension.
Two instructions are added:
- qc.cm.jt (index 0-31): jump via table, no link register written
- qc.cm.jalt (index 32-255): jump via table with link; bit 0 of the jump
table entry selects the link register at runtime: 0 = ra (x1), 1 = t0
(x5)
The encoding is identical to cm.jt/cm.jalt from Zcmt. Xqccmt and Zcmt
are mutually exclusive and cannot be combined. Xqccmt is also
incompatible with Zcd (overlapping encoding space).
Spec: https://github.com/riscv/riscv-unified-db/pull/1788
Commit: c459d8617d0008f9092223499549d72526f419b2
https://github.com/llvm/llvm-project/commit/c459d8617d0008f9092223499549d72526f419b2
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-18 (Mon, 18 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/test/Analysis/Checkers/WebKit/binding-to-refptr.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Emit a warning for a WeakPtr argument. (#184563)
This PR fixes a bug in UncountedCallArgsChecker that it would not emit a
warning when a function is called with a WeakPtr local variable as an
argument.
We normally don't generate a warning for a local variable passed to a
function argument in UncountedCallArgsChecker as the variable may have a
guardian in an outer scope but only UncountedLocalVarsChecker is capable
of locating one. So rather than generating a warning in
UncountedCallArgsChecker directly, we rely on UncountedLocalVarsChecker
to generate a warning for the local variable.
This all falls apart in the case of a WeakPtr local variable because a
WeakPtr is explicitly allowed as a local variable by
UncountedLocalVarsChecker.
So, this PR fixes the bug by detecting this exact scenario (a WeakPtr
local variable used as a function argument), and generate a warning
directly in UncountedCallArgsChecker.
Also added the support for recognizing more weak smart pointer types in
WebKit.
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
Commit: 94dbed284f96d6baa366e58da63d343db3561c2a
https://github.com/llvm/llvm-project/commit/94dbed284f96d6baa366e58da63d343db3561c2a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-18 (Mon, 18 May 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] Check arguments of function pointers (#188162)
This PR fixes a hole in WebKit's static analysis that we weren't
checking the soundness of argumnets to a function call via a (member)
function pointer.
Commit: f60e4137fae82f61d5b567a2addb1dad2e85db64
https://github.com/llvm/llvm-project/commit/f60e4137fae82f61d5b567a2addb1dad2e85db64
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/accept.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/accept4.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/connect.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getpeername.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getsockname.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getsockopt.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/listen.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/setsockopt.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/shutdown.h
Log Message:
-----------
[libc] Migrate socket syscall wrappers to syscall_checked (#198241)
Also update the file headers while I'm at it. Move includes into a
single block so that clang-format can enforce a consistent ordering. Fix
a couple of discrepancies in the cmake file.
Assisted by Gemini.
Commit: 0df8d4730a29d76098db1b450bf68016ec261880
https://github.com/llvm/llvm-project/commit/0df8d4730a29d76098db1b450bf68016ec261880
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
Log Message:
-----------
[AMDGPU] De-type getMinimalPhysRegClass uses (NFC) (#198301)
Pulled out of #197495 which is de-typing this API. There's very few uses
of this API with a type across the whole codebase and only two in AMDPU.
No test fallout when dropping the type from these calls, so I'm assuming
they're not necessary.
Commit: 6054851db6c9e0c2c015e68592c15bae4b9cedb7
https://github.com/llvm/llvm-project/commit/6054851db6c9e0c2c015e68592c15bae4b9cedb7
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
Log Message:
-----------
[x86] De-type getMinimalPhysRegClass uses (NFC) (#198332)
Pulled out of #197495 which is de-typing this API. There's very few uses
of this API with a type across the whole codebase and only three in x86
related to callee-saves where an RC can instead be chosen directly.
Commit: 4e2f71d9271d9d2f6e22494a592a6c86b3f26e49
https://github.com/llvm/llvm-project/commit/4e2f71d9271d9d2f6e22494a592a6c86b3f26e49
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-stores.ll
Log Message:
-----------
[SLP] Properly handle re-ordering of strided stores (#198408)
Currently, strided stores that are reordered (except for reversed strided stores) output incorrect shuffle indexes.
Commit: ed990cdc7807ea3e8db808bd5e4af351fa924fcc
https://github.com/llvm/llvm-project/commit/ed990cdc7807ea3e8db808bd5e4af351fa924fcc
Author: Raul Tambre <raul at tambre.ee>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[cmake][runtimes] Remove obsolete LLVM_RUNTIMES_PREFIX (#198367)
Hasn't been used by anything for close to 8 years.
Fixes: 887f26d4703616934fd7a11b6649f605e1c7b4e3
Commit: c606dbdb073078ac5af61e1a6ba34e07a2760d1c
https://github.com/llvm/llvm-project/commit/c606dbdb073078ac5af61e1a6ba34e07a2760d1c
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[AMDGPU] Add Pierre-vh and ritter-x2a as memory model code owners (#198247)
Covers both SIMemoryLegalizer (code sequence lowering) and
InsertWaitcnt.
Commit: 916347a34b6cabced53f6d373d8b5545696acde8
https://github.com/llvm/llvm-project/commit/916347a34b6cabced53f6d373d8b5545696acde8
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
Log Message:
-----------
[AArch64] Apply generational deltas for Apple tuning features (#197115)
This patch refactors how we manage tuning features for AArch64 Apple
CPUs. Instead of duplicating feature lists for each generation, we now
form a chain such that every generation only adds or removes features
from the immediate predecessor.
This creates a much more compact representation, enables to view
generational changes at a glance, and can reduce potential copy-paste
errors by establishing a more structured dataflow.
However, not without pitfalls: to gather a feature list for a specific
gen we need to traverse a chain, and feature addition and removal
becomes more subtle as it propagates across the chain. The TableGen test
of complete feature lists per generation may alleviate these issues a
bit.
Commit: b6d485ffdc00a88f0c5faf75ab9bf689ac6cdafb
https://github.com/llvm/llvm-project/commit/b6d485ffdc00a88f0c5faf75ab9bf689ac6cdafb
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[MISched] Make TG MacroFusion creation target specific(NFC) (#198304)
This patch moves TableGen-based macro fusion initialization from generic
MachineScheduler factory methods, to the specific targets that use it,
currently only RISCV. This better enables targets to have complete
control over DAG mutation ordering, e.g. for porting other targets to
TableGen macro fusion. More specifically, AArch64 requires the inverse
partial order between ld/st clustering and macro fusion, as part of an
attempt to migrate it to TableGen.
Commit: 2d9407bb56b79645a6d6700d90e1626ae894b5ac
https://github.com/llvm/llvm-project/commit/2d9407bb56b79645a6d6700d90e1626ae894b5ac
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-extract-last-active.ll
M llvm/test/CodeGen/X86/vector-reduce-smax.ll
M llvm/test/CodeGen/X86/vector-reduce-smin.ll
M llvm/test/CodeGen/X86/vector-reduce-umax.ll
M llvm/test/CodeGen/X86/vector-reduce-umin.ll
Log Message:
-----------
[X86] Add handling for sub-128bit minmax reductions (#198319)
Fold sub-128bit minmax reductions as ISD::VECREDUCE nodes.
This needed some cleanup to correct discard "identity value padded"
upper elements from legalisation - existing folds struggle to do this
due to the DemandedElts mask needing to be accurate enough (and
reductions nearly always result in multiple uses of source operands) -
I've been trying to do something similar in
TargetLowering::expandVecReduce but haven't managed it yet.
Final backend patch blocking #194473 - still some middle-end reduction
pattern matching that needs some fixing first though.
Commit: 9d62e96c3bace77cdacd29fbaf8a7f70468af927
https://github.com/llvm/llvm-project/commit/9d62e96c3bace77cdacd29fbaf8a7f70468af927
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instruction.def
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Operator.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Operator.cpp
Log Message:
-----------
[IR] Store fast-math flags in subclasses of Instruction (#191190)
Move fast-math flags out from `Value`, because we are out of space of
`Value::SubclassOptionalData` and it is incompatible with other
optimization flags like `nneg`.
FP variant for `call/select/phi` is not introduced, because of
`mutateType`, it may change the type of the `Instruction` instance,
which may cause UB.
RFC:
https://discourse.llvm.org/t/rfc-store-fast-math-flags-in-subclasses-of-instruction/
Commit: 729a8e4f35ac8a61b21afc95b1821c0e9b226304
https://github.com/llvm/llvm-project/commit/729a8e4f35ac8a61b21afc95b1821c0e9b226304
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/spirv-amd-toolchain.c
Log Message:
-----------
[NFC][HIP][SPIRV] Revert the disablement of untyped ptrs (#198428)
This exposes issues in the translator, and is also not the path we're currently exercising, hence we should revert to the known good state.
Commit: f10d02a240a679b5ca0be9f00298f8504f942449
https://github.com/llvm/llvm-project/commit/f10d02a240a679b5ca0be9f00298f8504f942449
Author: eiytoq <eiytoq at outlook.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libcxx/include/__mdspan/extents.h
Log Message:
-----------
[libc++][mdspan][NFC] Simplify `std::extents` implementation (#196819)
Commit: 0b1caa3e06758a2630fa41d097a70c1266004848
https://github.com/llvm/llvm-project/commit/0b1caa3e06758a2630fa41d097a70c1266004848
Author: Mark Murray <mark.murray at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/test/MC/ARM/thumb-diagnostics.s
A llvm/test/MC/ARM/thumb2-ldrd-strd-post-imm8s4-invalid.s
Log Message:
-----------
[ARM] Reject unencodable Thumb2 LDRD/STRD post-index offsets (#197228)
Thumb2 post-index LDRD/STRD immediates are encoded as scaled-by-4
values. Without the Imm8s4 parser class, plain assembly can accept byte
offsets that cannot be represented exactly.
Reject those operands during asm matching so invalid input does not
reach later MC paths where debug builds assert and release builds can
silently encode the rounded-down value.
The t2am_imm8s4_offset_asmoperand parser is updated to accommodate
constructs such as #-0 which preserve the negative sentinel on the zero.
Commit: c816a36cdc19a0d9f98d8347aa9f76a99f6f92bb
https://github.com/llvm/llvm-project/commit/c816a36cdc19a0d9f98d8347aa9f76a99f6f92bb
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment.ll
M llvm/test/Transforms/LoopVectorize/AArch64/findlast-epilogue-loop.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invalid-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/load-cast-context.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked_ldst_sme.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub-epilogue-vec.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-with-invariant-stores.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reverse-load-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/struct-return-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vscale-fixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-scalable.ll
M llvm/test/Transforms/LoopVectorize/narrow-interleave-groups-scalable-vf.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
Log Message:
-----------
[VPlan] Expand simple SCEVs directly to VPInstructions. (#189455)
Add initial simple SCEV expansion directly to VPInstructions. To start
with, just support expanding SCEV expressions for the vector step (VF *
UF). This requires expanding VScale, constants and multiply expressions.
This allows enables CSE for some redundant vscale calls as first step
and also enables expanding SCEV expressions in blocks other than the
header as follow-ups. For example, this could be useful to avoid some
code movement with https://github.com/llvm/llvm-project/pull/189372.
Commit: 6f9218051ab9e04a8547f7029ca1a9804b5c526d
https://github.com/llvm/llvm-project/commit/6f9218051ab9e04a8547f7029ca1a9804b5c526d
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUDialect.h
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
M mlir/lib/Dialect/NVGPU/IR/CMakeLists.txt
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Dialect/NVGPU/invalid.mlir
Log Message:
-----------
[MLIR][NVGPU] Use NVVM enums in NVGPU dialect (#195812)
Updates the `nvgpu.rcp` Op to use the NVVM `FPRoundingModeAttr`
attribute instead of redefining the attribute in the NVGPU dialect.
Commit: f3da7b92f7f87f2fb9c4174fe75fae70da132157
https://github.com/llvm/llvm-project/commit/f3da7b92f7f87f2fb9c4174fe75fae70da132157
Author: David Green <david.green at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
Log Message:
-----------
[MIPS][GlobalISel] Remove dependency on legal ruleset (#197379)
This fills in always legal rules, to remove the dependency on the legacy
ruleset. This is not guaranteed to be all the rules, just the ones that
appear in tests.
Commit: 60e95e5d2685d6097aad31af6f9e77a9bb7c79ac
https://github.com/llvm/llvm-project/commit/60e95e5d2685d6097aad31af6f9e77a9bb7c79ac
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
R flang/test/Driver/Inputs/basictestmoduleone.mod
M flang/test/Driver/Inputs/ieee_arithmetic.mod
M flang/test/Driver/Inputs/iso_fortran_env.mod
A flang/test/Driver/Inputs/module-dir-one/basictestmoduleone.mod
A flang/test/Driver/Inputs/resource_dir_with_per_target_subdir/finclude/flang/x86_64-unknown-linux-gnu/.keep
A flang/test/Driver/intrinsic-module-path_per_target.f90
M flang/test/Driver/use-module.f90
Log Message:
-----------
[Flang][Driver] Add per-target search path for modules (#196558)
Adds the version- and target-specific path
../lib/clang/<version>/finclude/flang/<target>
to the intrinsic module search path in addition to
../finclude/flang
with the former taking precedence if a module file should exist in both.
The version/target-specific path is added by the driver by passing
`-fintrinsic-modules-path` to the `-fc1` invocation. This is consistent
with gfortran and the usual pattern that the driver resolves paths into
the resource path, not the frontend.
This PR adds nothing into that directory, which will be done in #171515.
Extracted out of #171515 as requested by
https://github.com/llvm/llvm-project/pull/171515#pullrequestreview-4179212219
---------
Co-authored-by: Tarun Prabhu <tarun at lanl.gov>
Commit: e7887d5470e080c55fd69de83786fbf060d3955a
https://github.com/llvm/llvm-project/commit/e7887d5470e080c55fd69de83786fbf060d3955a
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[AArch64][SVE] Use truncating stores whenever possible (#196029)
For fixed length SVE and fixed length vectors x/y, fold
```
store(concat_vector(truncate(x), truncate(y)))
--> store(truncate(x))
store(truncate(y))
```
Commit: 64f70354e262e288e3787566645919230c05196d
https://github.com/llvm/llvm-project/commit/64f70354e262e288e3787566645919230c05196d
Author: Raphael Isemann <rise at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
Log Message:
-----------
[lldb] Fix wrong buffer size when fetching Objective-C classes (#197389)
LLDB calls objc_getRealizedClassList_trylock to fetch the list of
realized Objective-C classes.
Jim spotted that we currently pass the buffer length in *bytes*, when
actually this API takes the buffer length in number of elements. This
causes that the Objective-C runtime write more memory that we allocated
for it. This can cause that the function calling expression crashes and
leaves the Objective-C runtime mutex locked.
Commit: 304d077d43240d43408dc5595a00374629e97886
https://github.com/llvm/llvm-project/commit/304d077d43240d43408dc5595a00374629e97886
Author: Jacob Crawley <jacob.crawley at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub-epilogue-vec.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
Log Message:
-----------
[AArch64] Add missing FSub case to isLegalToVectorizeReduction (#198302)
Adds missing RecurKind::Fsub case to lower to partial reduction.
Commit: 0eceac10de71050086961c6bde5a6976727b30e8
https://github.com/llvm/llvm-project/commit/0eceac10de71050086961c6bde5a6976727b30e8
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/include/CMakeLists.txt
Log Message:
-----------
[libc] Add regex_macros dependency to regex header (#198453)
Added the regex_macros dependency to the regex header target.
regex-macros.h was not being installed when regex entrypoints were
enabled.
Assisted-by: Automated tooling, human reviewed.
Commit: 8ec15f5ac95ddc6bc794e43c714b2704081b8efe
https://github.com/llvm/llvm-project/commit/8ec15f5ac95ddc6bc794e43c714b2704081b8efe
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/test/TableGen/ArtificialRegs.td
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[TableGen] Fix getting weights of register classes (#198328)
The first member can be an aritifical register, so we have to find a
non-artificial one to query its weight.
Commit: a256cf74819b911a8876e5cfba58ec8aade6dca7
https://github.com/llvm/llvm-project/commit/a256cf74819b911a8876e5cfba58ec8aade6dca7
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/attr-target-aarch64.c
A clang/test/CIR/CodeGen/attr-target-x86.c
A clang/test/CIR/CodeGenHIP/attr-target-amdgpu.hip
Log Message:
-----------
[CIR] Implement function target/tune attrs and FMV metadata. (#195813)
Port OGCG's GetCPUAndFeaturesAttributes into CIRGenModule, replacing the
opFuncMultiVersioning placeholder. Handles TargetAttr /
TargetVersionAttr /CPUSpecificAttr / TargetClonesAttr, AMDGPU
delta-feature encoding, and AArch64 fmv-features metadata.
Commit: 7c45228c97288c2665788e698feb58a6a4d9ff47
https://github.com/llvm/llvm-project/commit/7c45228c97288c2665788e698feb58a6a4d9ff47
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/include/lldb/Host/FileAction.h
M lldb/include/lldb/Host/windows/WindowsFileAction.h
M lldb/source/Host/common/FileAction.cpp
M lldb/source/Host/windows/WindowsFileAction.cpp
Log Message:
-----------
[lldb] Remove FileAction::Clear (#198350)
Commit: 4c10240569025ab1fe086f220d59d36abfcbe906
https://github.com/llvm/llvm-project/commit/4c10240569025ab1fe086f220d59d36abfcbe906
Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/tools/llvm-ir2vec/Bindings/requirements.txt
Log Message:
-----------
[llvm-ir2vec][NFC] Adding disclaimer to Bindings requirements.txt to check compatibility with ml-compiler-opt (#198171)
Follow up PR for
https://github.com/llvm/llvm-zorg/pull/846#issuecomment-4467263196
Commit: 647cb063d5d3d91547f35809b7990a7769227984
https://github.com/llvm/llvm-project/commit/647cb063d5d3d91547f35809b7990a7769227984
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libcxx/test/std/ranges/range.factories/range.iota.view/begin.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/end.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/star.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/subscript.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/views_iota.pass.cpp
Log Message:
-----------
[libc++][ranges] `ranges::iota_view` update tests with `__int128` (#175447)
https://github.com/llvm/llvm-project/pull/167869 made `iota_view`
`__int128` aware but tests needed updating.
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: aecb57616f5853d3c4a405eff8a9b1c14ed05d23
https://github.com/llvm/llvm-project/commit/aecb57616f5853d3c4a405eff8a9b1c14ed05d23
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
M lldb/source/ValueObject/DILEval.cpp
Log Message:
-----------
[lldb] Fix no compile unit crash. (#195853)
This crash happens in lldb-dap when hovering inspecting over instruction
addresses in a frame that does not have debug information.
Commit: de3ee84346d6dcf77ac20fe5c8acc95594886cbc
https://github.com/llvm/llvm-project/commit/de3ee84346d6dcf77ac20fe5c8acc95594886cbc
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 6f92180 (#198467)
This fixes 6f9218051ab9e04a8547f7029ca1a9804b5c526d.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 182ae96a82fc355eca89d12c179d6a0961c653d8
https://github.com/llvm/llvm-project/commit/182ae96a82fc355eca89d12c179d6a0961c653d8
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/openbsd.h
A libcxx/include/__locale_dir/support/openbsd.h
R libcxx/include/__support/xlocale/__strtonum_fallback.h
M libcxx/include/module.modulemap.in
Log Message:
-----------
[libc++] Port The OpenBSD localization to the new locale API (#194317)
Commit: 5ac91ca11e897f1e06b1cd1439ade7e191d03001
https://github.com/llvm/llvm-project/commit/5ac91ca11e897f1e06b1cd1439ade7e191d03001
Author: Jack Styles <jack.styles at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/include/flang/Support/OpenMP-utils.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[Flang][OpenMP][NFC] Track Objects for BlockArgs (#197442)
When lowering a BlockArg in OpenMP, currently the symbol is tracked.
This can however cause issues later on down the line as information may
be lost relating to an expression. For example, an ArrayElement will be
represented by its symbol, in this case the full array. This is not
ideal as its just he ArrayElement that is intended to be represented.
Now, the object is tracked instead of the Symbol. For cases where the
symbol is required, appropriate API is available to retrieve this
information. This change opens the ability to better handle lowering of
expressions such as Array Elements.
Assisted-by: Codex
Commit: 230980947083c2309f135c82f10c735b0e06461f
https://github.com/llvm/llvm-project/commit/230980947083c2309f135c82f10c735b0e06461f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder-non-empty.ll
Log Message:
-----------
[SLP] Support ordered fadd reduction via reduction intrinsics
Add matchOrderedReduction() to recognize linearized ordered fadd chains
(both LHS- and RHS-associated) and tryToReduceOrdered() to vectorize
them using ordered reduction intrinsics (llvm.vector.reduce.fadd).
Previously, the SLP vectorizer could only vectorize ordered reductions
by keeping the original scalar chain and emitting extractelement
instructions. The new path replaces the scalar chain with a vector
ordered reduction intrinsic (where profitable), which allows the backend to lower it
more efficiently.
Reviewers: hiraditya, RKSimon, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/189451
Commit: 0e8f3574ad757596eeb1df446121f61c3146c961
https://github.com/llvm/llvm-project/commit/0e8f3574ad757596eeb1df446121f61c3146c961
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
M llvm/test/Transforms/SLPVectorizer/X86/complex-fma-combine.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
M llvm/test/Transforms/SLPVectorizer/buildvector-nodes-dependency.ll
Log Message:
-----------
[SLP] Prefer outer binary op when opcode groups tie in buildInstructionsState
When VL contains instructions of different opcodes with equal counts,
the tie-breaking in buildInstructionsState could replace an outer
operation (e.g., fadd) with an inner one (e.g., fmul) that appears as
its direct operand, depending on SmallMapVector iteration order. Add a
check: if the current MainOp is a BinaryOperator with a direct operand
matching the challenger partition's opcode in the same block, keep
MainOp instead of switching to the inner operation.
Partially fixes #43353
Reviewers: bababuck, hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/198194
Commit: 75ae202145b316883caa6074e9c94431ef152c26
https://github.com/llvm/llvm-project/commit/75ae202145b316883caa6074e9c94431ef152c26
Author: David Green <david.green at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-fcmeq.mir
Log Message:
-----------
[AArch64][GlobalISel] Add sign bits for G_FCMEQ (#198314)
This adds basic num-sign-bits for G_FCMEQ, G_FCMGE and G_FCMGT, which
all produce either all-ones or all-zeros in each vector lane. This
function apparently goes in AArch64ISelLowering.
Commit: 313cc46e5893e6299ee1460e8dcc4f0ff5da015a
https://github.com/llvm/llvm-project/commit/313cc46e5893e6299ee1460e8dcc4f0ff5da015a
Author: dcandler <david.candler at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
Log Message:
-----------
[libc][cmake] Don't assume CPU features in cross builds (#198308)
Assuming all CPU features are available during cross builds will be
incorrect in some cases, such as armv8.0-a where FullFP16 is not
available and therefore FP16 instructions will not be understood.
Looking at the file history, the feature detection code previously
relied on try_run instead of try_compile, which might explain why it
couldn't be used in cross builds as cross built binaries wouldn't be
executable. But now the tests are compile only, they can work for cross
builds too, which would be better than assuming features.
Commit: b4aca7a59d0754eb54bbeddb53de746adfbe8b4b
https://github.com/llvm/llvm-project/commit/b4aca7a59d0754eb54bbeddb53de746adfbe8b4b
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/docs/analyzer/user-docs/Annotations.rst
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[NFC] Clarify behavior of ownership_holds in docs (#197933)
I misunderstood the behavior of the attribute `ownership_holds` based on
the claim that "using held memory is assumed to be legitimate".
To avoid similar misunderstandings in the future, I'm adding an extra
sentence to the documentation.
(This question came up during the discussion of #196798)
Commit: ea922daab1803d4be3a1df0bb37cce83bc48d8a3
https://github.com/llvm/llvm-project/commit/ea922daab1803d4be3a1df0bb37cce83bc48d8a3
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
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/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb][windows] Plumb Windows DLL load/unload through lldb-server (#197901)
Commit: a84d94802dad5b60947b66c2b04ec12e1efa8d7a
https://github.com/llvm/llvm-project/commit/a84d94802dad5b60947b66c2b04ec12e1efa8d7a
Author: Raphael Isemann <rise at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
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/ProcessGDBRemoteProperties.td
A lldb/test/API/functionalities/gdb_remote_client/TestPacketTestDelay.py
Log Message:
-----------
[lldb] Add a packet-test-delay setting for testing slow connections (#195440)
[lldb] Add a packet-test-delay setting for testing slow connections
Sending/receiving packets to/from a non-host devices adds latency to
the gdb-remote communication that induces substantial slowdown into the
debugging experience.
This patch adds an artificial delay before sending a packet to
simulate this latency without requiring an emulated/physical device.
The test checks only checks that there is a delay when this setting is
activated, but not that there is no delay when the setting is not
activated. The reason for this is that this negative test would either
require a large delay (which further slows down the test suite) or be
prone to accidential failures on overloaded test bots.
There is also the question whether we should have dynamic delays that
depend on the number of transferred bytes. From talking to Felipe it
seems the real bottleneck is really just the latency and not the
transfer speed. From my own testing, it seems that a simple fixed array
mostly simulated the remote debugging performance, and the delays I can
see on my own machine seem to mostly resemble the delays we can see
when debugging on a remote device.
This patch also required wrapping `SendPacketAndWaitForResponse` so we
can sync this setting on a per-packet basis for the
GDBRemoteCommunication class. Without this, we could only set the delay
before connecting and then never change afterwards which would make
this feature less useful and writing a simple test impossible.
Commit: 14cb771bb45040d217c205624aaa9cd8e505ab5a
https://github.com/llvm/llvm-project/commit/14cb771bb45040d217c205624aaa9cd8e505ab5a
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[LV][NFC] Fix enums and comments in VPInstruction class (#198498)
>From an audit of the code I can see that we only ever create
VPInstructionWithType objects for the following opcodes:
Scalar loads - see createVPInstructionsForVPBB
All supported CastInst variants - see createVPInstructionsForVPBB
VPInstruction::StepVector via createNaryOp
VPInstruction::WideIVStep via createNaryOp
VPInstruction::VScale via createElementCount
Explicit creation of Instruction::Trunc, Instruction::SExt and
Instruction::ZExt via createScalarZExtOrTrunc, etc.
Therefore, I've updated the list of enums in the VPInstruction class to
reflect what classes they are associated with. This now correctly
matches the code in VPInstructionWithType::classof.
Commit: fa46161cbd86f59a2b4d66dcac8909c7690135c9
https://github.com/llvm/llvm-project/commit/fa46161cbd86f59a2b4d66dcac8909c7690135c9
Author: Sam Parker <sam.parker at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/test/CodeGen/WebAssembly/memory-interleave.ll
Log Message:
-----------
[NFC][WebAssembly] Codegen test (#198503)
Commit: e7df16d856c86d2ecdcdf110bf62a5af46513ad6
https://github.com/llvm/llvm-project/commit/e7df16d856c86d2ecdcdf110bf62a5af46513ad6
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
A llvm/test/Transforms/LoopInterchange/ninf.ll
Log Message:
-----------
[LoopInterchange] Add test for poison can be produced due to ninf (NFC) (#197922)
This patch adds a test case illustrating that loop interchange can turn
an input program that was previously well‑defined into one that exhibits
UB, because reordering floating‑point operations in the presence of the
ninf flag may produce a poison value. In such a case, we should drop the
ninf from instructions involved in the transformation.
Also add another case to show that we can safely apply loop-interchange
without eliminating ninf, because it doesn't change the order of
floating-point operations chain.
Related issue: #148851
Commit: c80b992d20e9d71c1361e28c5e4d25fc7716ee99
https://github.com/llvm/llvm-project/commit/c80b992d20e9d71c1361e28c5e4d25fc7716ee99
Author: Raul Tambre <raul at tambre.ee>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[cmake][runtimes] Remove unused local CMake flag transform (#198506)
This was used by some code to pass flags per-architecture to runtime builds.
User code can never reach this path and the last use was removed more than a year ago.
Fixes: bd6df0fe21faeaf3fd2a8ad17074f10620c78378
Commit: 4a32cf0b6d90f6bec3b5f2ad50b11ca1dba62954
https://github.com/llvm/llvm-project/commit/4a32cf0b6d90f6bec3b5f2ad50b11ca1dba62954
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
M compiler-rt/lib/profile/InstrProfilingWriter.c
M compiler-rt/test/profile/instrprof-binary-correlate-debuginfod.c
M compiler-rt/test/profile/instrprof-binary-correlate.c
R compiler-rt/test/profile/instrprof-mcdc-correlation.c
M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
R llvm/test/Instrumentation/InstrProfiling/debug-info-correlate-bitmap.ll
Log Message:
-----------
Revert "[MC/DC][Coverage] Enable profile correlation for MC/DC" (#198520)
The instrprof-mcdc-correlation.c test doesn't pass on Mac, see
discussion on the PR.
Reverts llvm/llvm-project#136437
Commit: e2464bf702197349a1ec0691e4ab188ea9a18155
https://github.com/llvm/llvm-project/commit/e2464bf702197349a1ec0691e4ab188ea9a18155
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_sockaddr_in.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/netinet-in-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_sockaddr_in.h
M libc/include/netinet/in.yaml
M libc/test/src/sys/socket/linux/CMakeLists.txt
M libc/test/src/sys/socket/linux/bind_test.cpp
M libc/utils/docgen/netinet/in.yaml
Log Message:
-----------
[libc] Add struct sockaddr_in (#197909)
The struct needs to be 16 bytes long for compatibility with the linux
kernel (which rejects smaller sizes, even though the reset of the bytes
are unused).
The padding field (and its name) is not specified by POSIX, but it's
traditionally called sin_zero, and there exists a fair amount of code
that references that name, so I'm matching it as well.
I'm testing the compatibility of this struct by binding to a localhost
address. This test requires that the machine has a loopback interface
with an assigned ipv4 address. If some of the environments do not have
it, we can try to detect this in the test and skip it, but this would
diminish the value of the test.
As a drive-by, I'm also adding the (non-POSIX) INADDR_LOOPBACK constant.
Assisted by Gemini.
Commit: 39a1ed4222782ccc1c97bbb497aeca2718b1b793
https://github.com/llvm/llvm-project/commit/39a1ed4222782ccc1c97bbb497aeca2718b1b793
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
Log Message:
-----------
[lldb][Windows] Disable TestLinuxCore.LinuxCoreTestCase.test_object_map on Windows (#198473)
See https://github.com/llvm/llvm-project/issues/198471 for details.
Commit: ae8d973ae253463e4b821086b720fbc813c61e96
https://github.com/llvm/llvm-project/commit/ae8d973ae253463e4b821086b720fbc813c61e96
Author: jinge90 <ge.jin at intel.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
Log Message:
-----------
Fix unused parameter for add_bitcode_entrypoint_library for GPU Libc (#198458)
Commit: f3c6257fabff4a138a0d119041c52678586eb013
https://github.com/llvm/llvm-project/commit/f3c6257fabff4a138a0d119041c52678586eb013
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/test/CodeGen/Lanai/multiply.ll
Log Message:
-----------
[lanai] multiply.ll - regenerate test checks (#198521)
Commit: d6d5a3da41e24a754fdc9b3a2cb06d60f3874ce1
https://github.com/llvm/llvm-project/commit/d6d5a3da41e24a754fdc9b3a2cb06d60f3874ce1
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M bolt/unittests/Passes/PointerAuthCFIFixup.cpp
Log Message:
-----------
[BOLT] Gate PointerAuthCFIFixup unit test on AArch64 target availability (#197464)
The test bodies reference AArch64:: namespace identifiers (ADDSXri, X0)
which fail to compile when AArch64 is not in LLVM_TARGETS_TO_BUILD. Wrap
all TEST_P bodies in #ifdef AARCH64_AVAILABLE and add
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST to suppress GoogleTest's
uninstantiated suite error when no target instantiates the tests.
Commit: c8d9852b0a8d5ea3e8c4549f8574e0a5cebb5997
https://github.com/llvm/llvm-project/commit/c8d9852b0a8d5ea3e8c4549f8574e0a5cebb5997
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/add_u64.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/literal64.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-global.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-scratch.ll
M llvm/test/CodeGen/AMDGPU/sub_u64.ll
A llvm/test/MC/AMDGPU/gfx13_asm_valu_lit64.s
Log Message:
-----------
[AMDGPU][NFC] Add tests for 64bit literals in single DWORD instructions for gfx13 (#197907)
Co-authored-by: sstipano <sstipano7 at gmail.com>
Commit: 8076d17b61028e7fd5723fa84fd5615c945ae46b
https://github.com/llvm/llvm-project/commit/8076d17b61028e7fd5723fa84fd5615c945ae46b
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/include/sys/socket.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/bind.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/recvfrom.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/recvmsg.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/sendmsg.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/sendto.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/socket.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/socketpair.h
M libc/src/sys/socket/linux/CMakeLists.txt
M libc/src/sys/socket/linux/bind.cpp
M libc/src/sys/socket/linux/recv.cpp
M libc/src/sys/socket/linux/recvfrom.cpp
M libc/src/sys/socket/linux/recvmsg.cpp
M libc/src/sys/socket/linux/send.cpp
M libc/src/sys/socket/linux/sendmsg.cpp
M libc/src/sys/socket/linux/sendto.cpp
M libc/src/sys/socket/linux/socket.cpp
M libc/src/sys/socket/linux/socketpair.cpp
M libc/src/sys/socket/recvfrom.h
Log Message:
-----------
[libc] Port remaining socket functions to syscall_wrappers (#198463)
While in there:
- fix file headers to conform to latest standards
- add missing restrict qualifier to recvfrom
Assisted by Gemini.
Commit: 7ae1a3fad8f06625d4e55b846a090ce9206c3c82
https://github.com/llvm/llvm-project/commit/7ae1a3fad8f06625d4e55b846a090ce9206c3c82
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/AST/Decl.cpp
M clang/test/AST/ast-dump-linkage-internal.cpp
Log Message:
-----------
[clang] Give unnamed namespaces internal linkage (#198215)
Recently in #194600 we exposed formal linkage in AST dump. That PR came
with a bunch of FIXMEs. One of them is about the fact that we consider
unnamed namespaces to have external linkage, while the Standard says
it's internal linkage
([[basic.link]/4](https://eel.is/c++draft/basic.link#4.sentence-1)):
> An unnamed namespace or a namespace declared directly or indirectly
within an unnamed namespace has internal linkage.
Of course, declarations within unnamed namespaces still had internal
linkage (nothing would work otherwise).
The intent of this patch is to give unnamed namespaces internal linkage
and to do a bit of refactoring in
`LinkageComputer::getLVForNamespaceScopeDecl` to use linkage of the
enclosing namespace as the default linkage of declarations within it,
now that all kinds of namespaces have the correct linkage. No changes to
the behavior of programs are intended.
Commit: 52871b5416688bd904d293cc2bd4c9e5ac3452b1
https://github.com/llvm/llvm-project/commit/52871b5416688bd904d293cc2bd4c9e5ac3452b1
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/test/API/functionalities/data-formatter/bytecode-summary/TestBytecodeSummary.py
M lldb/test/API/functionalities/data-formatter/bytecode-synthetic/TestBytecodeSynthetic.py
Log Message:
-----------
[lldb][PECOFF] Recognise truncated .lldb{summaries,formatters} section names (#198377)
Commit: d06e6936a42375bf44ba58401f0f01f89ff1f750
https://github.com/llvm/llvm-project/commit/d06e6936a42375bf44ba58401f0f01f89ff1f750
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/lib/Utils/OpenMP.cpp
A flang/test/Lower/OpenMP/default-mapper-no-pointer-map.f90
A flang/test/Lower/OpenMP/implicit-mapper-no-pointer-map.f90
Log Message:
-----------
[Flang][OpenMP] Restrict implicit default declare mapper from applying deep-copies of pointer members (#197885)
According to the OpenMP specification, only allocatables should get
deep-copy behaviour inside of implicit default declare mappers. This PR
restricts this behaviour. Relevant specification exert, added as a
comment for a reminder:
// "If a component of a derived type list item is a map clause list item
// that results from the predefined default mapper for that derived
type,
// and the component is not also an explicit list item or the array base
// of an explicit list item on the same construct, then: if it has the
// POINTER attribute, it is attach-INELIGIBLE. If a list item in a map
// clause is an associated pointer that is attach-ineligible, the effect
// of the map clause does not apply to its pointer target."
This prevents certain programs from unexpected over-mapping via pointer
nesting, doesn't prevent that for allocatables, but that's OpenMP
specification mandated foot shooting, so it's free game.
Commit: 69385549f52497076e7951f7373c192abdf04005
https://github.com/llvm/llvm-project/commit/69385549f52497076e7951f7373c192abdf04005
Author: Nico Weber <thakis at chromium.org>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port 182ae96a82fc (#198533)
Commit: ed81c50b077d172e2691acc7a8887d8f0a278880
https://github.com/llvm/llvm-project/commit/ed81c50b077d172e2691acc7a8887d8f0a278880
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
Log Message:
-----------
[lldb][windows] Fix second-chance exception delivery on lldb-server (#197956)
Currently, all tests that wait for the debugger to stop when the process
crashes time out on Windows under `LLDB_USE_LLDB_SERVER=1` because of 2
issues:
1. The `if (!first_chance) SetState(eStateStopped, false)` before the
switch silently advances `m_state` on every second-chance event. The
`default:` branch later calls `SetState(eStateStopped, true)` but this
is never reached because `state == m_state`. The client is waiting for a
reply that is never sent.
2. The `default:` branch's first-chance handling stops all threads and
then returns `SendToApplication`, which tells Windows
`DBG_EXCEPTION_NOT_HANDLED`. This hangs the process, the second-chance
event never arrives. `ProcessWindows` is a no-op on first-chance
non-breakpoint exceptions because of this: it just returns
`ExceptionResult::SendToApplication` with no `StopThread/SetState`.
This patch fixes both issues and prevents the following tests from
timing out:
```
lldb-api :: functionalities/breakpoint/breakpoint_conditions/crashing_condition/TestCrashingCondition.py
lldb-api :: functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py
lldb-api :: functionalities/inferior-assert/TestInferiorAssert.py
lldb-api :: functionalities/inferior-crashing/TestInferiorCrashingStep.py
lldb-api :: functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferiorStep.py
lldb-api :: functionalities/location-list-lookup/TestLocationListLookup.py
```
rdar://177425581
Commit: 581dd5b183e1cc29e4b129f12e3c1b203a77e6b0
https://github.com/llvm/llvm-project/commit/581dd5b183e1cc29e4b129f12e3c1b203a77e6b0
Author: Sairudra More <sairudra60 at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.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/HLFIR/inline-hlfir-assign.fir
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Integration/prefetch.f90
M flang/test/Lower/OpenMP/workdistribute-saxpy-and-scalar-assign.f90
M flang/test/Lower/OpenMP/workdistribute-scalar-assign.f90
Log Message:
-----------
[flang] Inline scalar-to-array hlfir.assign at -O0 (#197092)
At `-O0`, Flang can lower trivial scalar-to-array broadcasts such as `c
= a(1) + 1.0` through `_FortranAAssign`. That runtime path can call
`free()`, which is not valid in OpenMP GPU device code.
This patch teaches `InlineHLFIRAssign` to handle trivial scalar RHS
values. At `-O0`, the pipeline runs it in a scalar-RHS-only mode, so
only scalar-to-array broadcasts are inlined. Array-to-array assignments
still fall back to `_FortranAAssign` at `-O0`.
Scalar RHS values are materialized before the generated loop with
`loadTrivialScalar`, preserving intrinsic assignment ordering for cases
like `a = a(1)`. At `O1+`, the full `InlineHLFIRAssign` pass still runs
as before, now also supporting scalar RHS.
The remaining files are test updates from scalar-to-array assignments
now being inlined at `-O0` instead of lowering through
`_FortranAAssign`.
Other device-runtime call paths are left out of scope.
Fixes #197091.
Co-authored-by: Sairudra More <moresair at pe31.hpc.amslabs.hpecorp.net>
Commit: b7cc80035ad6bd4b778680707283f06fe0912f21
https://github.com/llvm/llvm-project/commit/b7cc80035ad6bd4b778680707283f06fe0912f21
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
Log Message:
-----------
[VPlan] Simplify select x, (i1 y | z), y -> y | (x && z) (#190196)
Fixes https://github.com/llvm/llvm-project/issues/189553
This adds a canonicalization `select x, (i1 y | z), y -> y | (x && z)`,
[Alive2]( https://alive2.llvm.org/ce/z/qcQRn6). InstCombine already
performs this.
This adds a canonicalization which causes the `lhs | (headermask && rhs)
-> vp.merge rhs, true, lhs, evl` pattern in optimizeMasksToEVL to match,
improving the RISC-V codegen for an anyof select reduction.
Commit: 94b1d194ac4b7c11ad871efe5e333aed36f576bf
https://github.com/llvm/llvm-project/commit/94b1d194ac4b7c11ad871efe5e333aed36f576bf
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/DebugInfo/Generic/dbg-value-lower-linenos.ll
M llvm/test/Transforms/InstCombine/dbg-scalable-store-fixed-frag.ll
M llvm/test/Transforms/InstCombine/dbg-simplify-alloca-size.ll
Log Message:
-----------
[Utils] Examine debug info type instead of alloca type to guess the debug behavior of the alloca uses (#177480)
Replace `isArray` and `isStructure` helpers that queried alloca IR type
with a `isCompositeType` helper that checks the debug variable's
source-level type from debug info metadata to decide if this seems
perhaps profitable to convert to this debug info from #debug_declare to
a #debug_value.
This changes behavior: the lowering decision is now based on the
source-level type from debug info rather than the IR alloca type, which
is more semantically correct for debug info processing. This should
have minimal effect on clang, but may change behavior more
significantly on front-ends like rust that have not used semantically
meaningful alloca element types.
Removes all uses of getAllocatedType() from Utils/Local.cpp.
This seemed slightly more semantically correct to me, though it is
slightly challenging to enumerate all of the possible scalar debug
types. Another alternative perhaps is to actually examine all of the
uses and decide if all of them will get successfully handled before the
`DDI->eraseFromParent` deletes the debug record, since
`ConvertDebugDeclareToDebugValue` also just deletes the debug info
(replaces with poison) if it finds a use that doesn't have an easy way
to replace.
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 213b3292904995e00db309eea66431e1b727c181
https://github.com/llvm/llvm-project/commit/213b3292904995e00db309eea66431e1b727c181
Author: Adel Ejjeh <adel.ejjeh at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/R600Subtarget.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.h
Log Message:
-----------
[AMDGPU][NFCI] Change MCSubtargetInfo references in AMDGPUBaseInfo.h/.cpp to be const ref instead of pointers (#197038)
Change all `AMDGPU::IsaInfo` functions and `initDefaultAMDKernelCodeT`
to take `const MCSubtargetInfo &` instead of `const MCSubtargetInfo *`.
These functions never accept null, so a reference better expresses the
contract.
Also change `AMDGPUMCKernelCodeT::initDefault` to take a const reference
for consistency, and convert local `MCSubtargetInfo` pointer variables
to references in `AMDGPUMCExpr.cpp` where the pointer is always
dereferenced.
Requested by @arsenm in
https://github.com/llvm/llvm-project/pull/192306#discussion_r2076113671.
Co-authored-by: Claude Opus 4 (1M context) <noreply at anthropic.com>
Commit: 52ca170e12c6ec42aa9327e3486e4c37efec1c31
https://github.com/llvm/llvm-project/commit/52ca170e12c6ec42aa9327e3486e4c37efec1c31
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
Log Message:
-----------
[Github] Hashpin base container in CI Tooling containerfile (#197315)
https://github.com/llvm/llvm-project/security/code-scanning/1492
Commit: 75e4aafad0b3b1cb3a9f4314da8eca299437646c
https://github.com/llvm/llvm-project/commit/75e4aafad0b3b1cb3a9f4314da8eca299437646c
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/test/CodeGen/Generic/shadow-stack-gc-lowering.ll
Log Message:
-----------
Reland "[CodeGen] Use byte offsets and ptradd in ShadowStackGCLowering" (#197436)
Replace typed struct GEPs with byte array allocation and ptradd
operations:
1. Track root offsets as byte offsets instead of building typed struct.
2. Use `ComputeFrameLayout` to compute byte offsets based on DataLayout,
properly accounting for each root's size and alignment.
3. Allocate frame as `[FrameSize x i8]` byte array instead of typed
struct.
4. Replace all CreateGEP operations with CreatePtrAdd using computed
offsets.
5. Frame layout unchanged: `[Next ptr | Map ptr | Root 0 | Root 1 | ...
| Root N]` where each root is placed at its computed aligned offset.
6. Zero out padding between roots with memset for deterministic frame
contents for GC.
Benefits:
- Removes dependency on `getAllocatedType` for building frame struct
- Properly handles root alignment requirements (fixes TODO in code)
Relands #178436, after fixing the tests that I'd added specifically to
show what changed in that PR, but forgot to rerun. And fixed the logic
bug that having tests uncovered (using the wrong size for the frame in
the metadata).
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: bcfa53e6e778295ea51665284da583e19a8073b9
https://github.com/llvm/llvm-project/commit/bcfa53e6e778295ea51665284da583e19a8073b9
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/include/flang/Lower/OpenACC.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/do-loops-to-acc-loops.f90
Log Message:
-----------
[flang][acc] Handle Fortran do loops as acc loops in acc routine (#198420)
As was previously done for do loops in acc compute constructs in
https://github.com/llvm/llvm-project/issues/149614 , this PR does the
same for do loops in `acc routine`. The rules are follows:
- Do loops not marked with `acc loop` are considered `auto`
- Do concurrent loops are considered `independent`
- Any loops in an `acc routine seq` are considered `seq`
This ensures that the IV is correctly privatized and attached to acc
loop.
Commit: 673b17e1b38fbe4dfe01c9aa66c368857b13dfdb
https://github.com/llvm/llvm-project/commit/673b17e1b38fbe4dfe01c9aa66c368857b13dfdb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
M llvm/test/CodeGen/X86/i128-add.ll
M llvm/test/CodeGen/X86/ifma-combine-vpmadd52.ll
M llvm/test/CodeGen/X86/known-signbits-vector.ll
M llvm/test/CodeGen/X86/masked_gather_scatter_widen.ll
Log Message:
-----------
[DAG] scalarizeExtractedBinOp - extract from non-constant one use buildvectors (#198013)
When attempting to scalarize a vector binop that has a single extract,
we currently only fold if either of the binop's operands is a constant
buildvector - but we can extract from non-constant buildvectors without
increasing instruction count as long as the vector binop was the only
use of the buildvector.
More yak shaving for #196493
Commit: f6fb8f573ecbb64f41b473700589040acf0b44b9
https://github.com/llvm/llvm-project/commit/f6fb8f573ecbb64f41b473700589040acf0b44b9
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
Log Message:
-----------
[lldb][windows] remove path separator replacement from TestGDBRemoteClient.py (#198537)
Since https://github.com/llvm/llvm-project/pull/197942, vRun packets use
the native path separators. TestGDBRemoteClient.py now fails on Windows
because it converts the path to POSIX style paths, which is a workaround
for what https://github.com/llvm/llvm-project/pull/197942 fixed.
rdar://177342572
Commit: 4cb4bbca087458d33e946341cd79c6a2b9a605cc
https://github.com/llvm/llvm-project/commit/4cb4bbca087458d33e946341cd79c6a2b9a605cc
Author: Sirraide <aeternalmail at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/include/clang/Lex/Lexer.h
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Pragma.cpp
Log Message:
-----------
[Clang] [NFC] Use `unique_ptr<Lexer>` everywhere (#198393)
Replace every instance of `new Lexer` with `make_unique<Lexer>` and
adjust `Lexer::Create_PragmaLexer()` to return a `std::unique_ptr<Lexer>`
instead.
The Preprocessor was already storing a `unique_ptr<Lexer>`, so there’s
no need to change how that works.
Commit: 960ae6f812c8db7c92532898c338aeefc6f7ac6d
https://github.com/llvm/llvm-project/commit/960ae6f812c8db7c92532898c338aeefc6f7ac6d
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/FrontendOptions.h
M flang/include/flang/Parser/options.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
A flang/test/Driver/ffree-line-length.f90
Log Message:
-----------
[Flang] Adding -ffree-line-length-<value> flag (#192941)
Added support for the `-ffree-line-length-<value>` flag in Flang, which
is equivalent to `-ffixed-line-length-<value>` but in free form.
This flag is supported by gfortran and can be used in some applications.
---------
Co-authored-by: Tarun Prabhu <tarunprabhu at gmail.com>
Co-authored-by: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Commit: 38949dbc8b8f763cc14139703f1513abfe7f4b2f
https://github.com/llvm/llvm-project/commit/38949dbc8b8f763cc14139703f1513abfe7f4b2f
Author: Alex Bradbury <asb at igalia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
Log Message:
-----------
Revert "[AArch64] Copy x4/x5 vararg payload into the x64 stack in Arm64EC exit thunks" (#198540)
Reverts llvm/llvm-project#190933
Reported issues with an EXPENSIVE_CHECKS_BUILD. Reverting so this can be
fixed without undue time pressure.
Commit: 8f6ed9f490bc8f7b88d945b9e38fd715fcee1966
https://github.com/llvm/llvm-project/commit/8f6ed9f490bc8f7b88d945b9e38fd715fcee1966
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/source/Target/Target.cpp
Log Message:
-----------
[lldb] Fix possible invalidated iterator. (#198482)
The begin or end interator may be invalidated when a idx_pos in erased
from the vector.
Unblocks sanitised CI.
Commit: 9ccaf838121687821a098975f55be1872bc288f3
https://github.com/llvm/llvm-project/commit/9ccaf838121687821a098975f55be1872bc288f3
Author: Benjamin Stott <Benjamin.Stott at sony.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/include/llvm/IR/OptBisect.h
Log Message:
-----------
[LLVM] Add a function to reset the opt bisector (#197723)
For daemonized testing, we need to be able to reset the global opt
bisector between test runs. This PR just adds a small function to the
OptPassGate class to reset its state.
Commit: e32fc5dc5e71251f0f7d605604739602792b6e61
https://github.com/llvm/llvm-project/commit/e32fc5dc5e71251f0f7d605604739602792b6e61
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Use getExtractSubvector. NFC (#198450)
Commit: 91467766a8afb52439619163828c5f6816ddd550
https://github.com/llvm/llvm-project/commit/91467766a8afb52439619163828c5f6816ddd550
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/include/flang/Lower/ConvertType.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
A flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
R flang/test/Lower/OpenMP/Todo/atomic-compare.f90
A flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic-compare.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h
M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenACCMPCommon/Interfaces/CMakeLists.txt
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/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[Flang] [OpenMP] atomic compare (#184761)
Support for `omp atomic compare` in flang.
Multiple clauses like capture with compare are not supported
An issue for this was raised earlier at
[181116](https://github.com/llvm/llvm-project/issues/181116)
---------
Co-authored-by: Sunil Kuravinakop <kuravina at pe31.hpc.amslabs.hpecorp.net>
Commit: 6fd09a539f5f397c569f81e22dcd032d5e818526
https://github.com/llvm/llvm-project/commit/6fd09a539f5f397c569f81e22dcd032d5e818526
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/declare-simd-interface-body.f90
Log Message:
-----------
[flang][OpenMP] Skip declare simd lowering for interface bodies (#197010)
When DECLARE SIMD appears in the specification part of an interface
body, the PFT records the directive as an evaluation of the enclosing
program unit rather than of the interface body's subprogram. Its clause
operands (linear/aligned/uniform) reference dummy arguments local to the
interface body, which have no address in the enclosing scope, causing a
crash.
Detect the mismatch by comparing the program unit containing the
directive with the procedure currently being lowered, and skip op
emission when they differ.
This handles both explicit declare simd(proc-name) and implicit forms in
any enclosing context.
Fixes #192581
Commit: e04895ff05c58f78acfbe5be02973c9bd1f0c689
https://github.com/llvm/llvm-project/commit/e04895ff05c58f78acfbe5be02973c9bd1f0c689
Author: Harishankar.1 <88716735+Harishankar14 at users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avgfloors.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll
Log Message:
-----------
[X86] Lower vector i8 ashr-by-1 using pavgb (#198487)
For vector i8 arithmetic shift right by 1, the current lowering produces
a 5-instruction sequence (psrlw + pand + xor + psubb plus a constant
load) with a 4-deep dependency chain.
This patch uses the identity
ashr(x, 1) == avgceilu(x, -1) ^ (~x & 0x80)
to lower to ISD::AVGCEILU + a short fixup, producing 4 instructions on
SSE/AVX/AVX2 and 3 on AVX-512BW (after vpternlogd fusion of the AND/XOR
pair), with two parallel dependency chains instead of one long one.
The freeze on R is required because the target reads it twice, matching
the pattern of the existing `shl R, 1 -> add R, R` case in
LowerShiftByScalarImmediate.
Alive2 proof: https://alive2.llvm.org/ce/z/LbXPhE
Fixes #198061
Commit: af0b42d8a5b0dcfacf958a2267855ce25002675f
https://github.com/llvm/llvm-project/commit/af0b42d8a5b0dcfacf958a2267855ce25002675f
Author: Kiriti Ponduri <123718855+udaykiriti at users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/src/__support/OSUtil/linux/syscall_wrappers/access.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/link.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/open.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/readlink.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/rmdir.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/unlink.h
Log Message:
-----------
[libc] prefer *at syscalls in sys/stat wrappers (#197940)
- These changes flips the #ifdef order to prefer the *at syscalls over
normal ones.
- In modern architectures, *at system calls are preferred over normal
system calls cuz of safety issues.
- So by checking for ""*at"" system calls first, we ensure better
compatibility with modern systems.
- After then normal syscalls moved else or elif for support to older
ones.
- From merged pr(#195792) and issue(#195620)
---------
Signed-off-by: udaykiriti <udaykiriti624 at gmail.com>
Co-authored-by: Jeff Bailey <jbailey at raspberryginger.com>
Commit: e0f8b79090063d1e5cebcc85198821c60a9685d8
https://github.com/llvm/llvm-project/commit/e0f8b79090063d1e5cebcc85198821c60a9685d8
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
M clang/test/CodeGen/amdgpu-builtin-processor-is.c
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-5-generic-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.u32.u8.ll
A llvm/test/MC/AMDGPU/gfx12_5_generic_asm_vop3_err.s
Log Message:
-----------
[AMDGPU] Add three target features msad-insts, mqsad-pk-insts, and mqsad-insts (#198432)
Commit: 8148e168f5f8d91fc364947749d3362c630762b7
https://github.com/llvm/llvm-project/commit/8148e168f5f8d91fc364947749d3362c630762b7
Author: Walter <90877047+WalterKruger at users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/gfni-operand-and-fold.ll
Log Message:
-----------
[X86] Fold splat AND on VGF2P8AFFINEQB source (#193364)
Given that each row within `vgf2p8affineqb`'s matrix controls which
source bits are selected, zeroing the same bit within all rows treats
that corresponding source bit like it is zero. This means a AND of the
input by any splatted 8-bit values can be folded with the matrix. This
is patch:
- Can eliminate a constant and/or reduces the instruction count from 2
to 1.
- Only occurs when the matrix is constant, ensuring that it can't
increase the dependency chain.
- Don't occur if the AND is multi use well the splat isn't constant,
preventing additional operations.
- Work with both constant 8-bit splats and scalars value that where
splatted to a vector.
- Includes test coverage for positive cases (by constants, variable
scalars, non zero immediates) and negative (multi use, larger splats,
variable matrices).
Fixes #191325
Commit: 5ff6c5e4a0f7882c2b9b52dff6710ff33c11a74c
https://github.com/llvm/llvm-project/commit/5ff6c5e4a0f7882c2b9b52dff6710ff33c11a74c
Author: hidekisaito <hidekido at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/dagcombine-reassociate-multi-memop.ll
A llvm/test/CodeGen/AMDGPU/si-fold-scalar-add-sub-imm.mir
Log Message:
-----------
[AMDGPU] SIFoldOperands: constant-fold S_ADD/S_SUB with immediate operands (#198410)
Extend SIFoldOperands::tryConstantFoldOp to recognise three patterns
* ADD/SUB(imm, imm) -> S_MOV_B32 (LHS +/- RHS)
* ADD x, 0 -> COPY x (Also `0 + x`)
* SUB x, 0 -> COPY x (SUB is not commutable)
Assisted-by: Claude Opus 4.7
Commit: 868bf3fbb96a4daae438c83484881bfcb0e68c2c
https://github.com/llvm/llvm-project/commit/868bf3fbb96a4daae438c83484881bfcb0e68c2c
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Fix 8076d17b61028e7fd5723fa84fd5615c945ae46b (#198553)
Add new targets & deps for syscall wrappers
Commit: 12470b3109bfa6e5fb3afda6bb22001add4d788b
https://github.com/llvm/llvm-project/commit/12470b3109bfa6e5fb3afda6bb22001add4d788b
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Conversion/XeGPUToXeVM/dpas_mx.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
M mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm.mlir
Log Message:
-----------
[MLIR][XeGPU] Improve deinterleave/interleave/dpas_mx ops handling (#197223)
Commit: a5077468984ac3c47e6a3ca779c6f0ba680706c0
https://github.com/llvm/llvm-project/commit/a5077468984ac3c47e6a3ca779c6f0ba680706c0
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/IPO/IPO.cpp
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] Fixup and test ExpandVariadics (#195709)
The lowering of va_arg will load the arguments from the cursor via
ld.local since the stack is used to store va_args. Update the
ExpandVariadics NVPTX info struct to be consistent with this. Also
initialize the pass for easier debugging.
Commit: 998d8e87daf371b51822ce97e36046755668e5e6
https://github.com/llvm/llvm-project/commit/998d8e87daf371b51822ce97e36046755668e5e6
Author: Jason Van Beusekom <jason.van-beusekom at hpe.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/include/flang/Lower/ConvertConstant.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-program-global.cuf
M flang/test/Lower/HLFIR/tdesc-character-comp-init.f90
M flang/test/Lower/Intrinsics/ieee_class.f90
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-declare-use-associated.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90
M flang/test/Lower/OpenMP/cray-pointers01.f90
M flang/test/Lower/OpenMP/declare-target-data.f90
M flang/test/Lower/OpenMP/threadprivate-char-array-chararray.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-constructor-1.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/array.f90
M flang/test/Lower/constant-literal-mangling.f90
M flang/test/Lower/constant-logical-transfer.f90
M flang/test/Lower/convert.f90
M flang/test/Lower/default-initialization-globals.f90
M flang/test/Lower/dense-array-any-rank.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/derived-type-descriptor.f90
M flang/test/Lower/equivalence-1.f90
M flang/test/Lower/equivalence-static-init.f90
A flang/test/Lower/global-alignment.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/module_definition.f90
M flang/test/Lower/module_use.f90
M flang/test/Lower/namelist-common-block.f90
Log Message:
-----------
[Flang][Fir] Set default alignment of array globals to 64 bytes (#194969)
This commit implements the proposal from the RFC:
https://discourse.llvm.org/t/rfc-alignment-of-global-arrays/90397/13
This PR sets the alignment of all global arrays to 64 bytes (except for
BIND(C) and common blocks). This Mirrors the execution of other fortran
compilers (CCE, gfortran, nvfortran and ifx).
Commit: f5598a91d39c5a2a7d57693f8bc89c6562eb9fde
https://github.com/llvm/llvm-project/commit/f5598a91d39c5a2a7d57693f8bc89c6562eb9fde
Author: asadium <96676879+asadium at users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-int-conversions.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptosi-sat.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptoui-sat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-salu-float.mir
Log Message:
-----------
[AMDGPU][GlobalISel] Add RegBankLegalize rules for G_FPTOSI_SAT/G_FPTOUI_SAT (#198208)
Commit: 7f676cc7f0d861a9665b6235ac81d9246e8fd97c
https://github.com/llvm/llvm-project/commit/7f676cc7f0d861a9665b6235ac81d9246e8fd97c
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
M llvm/test/Transforms/LoopVectorize/control-flow.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_early_exit.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/pr38800.ll
A llvm/test/Transforms/LoopVectorize/test-remarks-leak.ll
Log Message:
-----------
[LV] Fix analysis remarks leak (#197697)
Currently, `LoopVectorizeHints::vectorizeAnalysisPassName()` returns
empty pass name when the user forces vectorization, which allows
analysis remarks to be emitted implicitly.
The code sometimes emits analysis remarks with passing explicit pass
name and other times it uses the `vectorizeAnalysisPassName()` which
prevents consistent behaviour.
This PR removes the implicit emitting so that analysis remarks
consistently require `-pass-remarks-analysis` to print. Affected tests
are updated to add `-pass-remarks-analysis`.
Commit: 7a2aa25c8c6dd77888dfa49aae4688e5daa3d82d
https://github.com/llvm/llvm-project/commit/7a2aa25c8c6dd77888dfa49aae4688e5daa3d82d
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir][OpenMP] Fix 91467766a8afb52439619163828c5f6816ddd550 (#198567)
Add missing dep for Arith.h
Commit: c9213db3ea3bb8be9eb079f20ab3aaff11b73048
https://github.com/llvm/llvm-project/commit/c9213db3ea3bb8be9eb079f20ab3aaff11b73048
Author: Stefan Weigl-Bosker <stefan at s00.xyz>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Fold select of neg/not into sext-sub (#198225)
Adds the following folds:
- `select C, (sub 0, Y), (xor Y, -1) -> sub (sext !C), Y`
- `select C, (xor Y, -1), (sub 0, Y) -> sub (sext C), Y`
The original motivation is the high half of a two-word negation (See
#198179 for more details):
```ll
define i64 @f(i64 %lo, i64 %hi) {
entry:
%not.hi = xor i64 %hi, -1
%lo.is.zero = icmp eq i64 %lo, 0
%neg.hi = sub i64 0, %hi
%r = select i1 %lo.is.zero, i64 %neg.hi, i64 %not.hi
ret i64 %r
}
```
Which can be folded to:
```ll
define i64 @f(i64 %lo, i64 %hi) {
entry:
%lo.not.zero = icmp ne i64 %lo, 0
%mask = sext i1 %lo.not.zero to i64
%r = sub i64 %mask, %hi
ret i64 %r
}
```
Proofs: https://alive2.llvm.org/ce/z/DATqof
Fixes: #198179
Commit: b9c7a8e43ac26b0df422cd9a403382f0656785a0
https://github.com/llvm/llvm-project/commit/b9c7a8e43ac26b0df422cd9a403382f0656785a0
Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
M llvm/tools/llvm-ir2vec/CMakeLists.txt
M llvm/tools/llvm-ir2vec/lib/CMakeLists.txt
R llvm/tools/llvm-ir2vec/lib/IRUtils.cpp
R llvm/tools/llvm-ir2vec/lib/IRUtils.h
A llvm/tools/llvm-ir2vec/lib/IRUtils/CMakeLists.txt
A llvm/tools/llvm-ir2vec/lib/IRUtils/IRUtils.cpp
A llvm/tools/llvm-ir2vec/lib/IRUtils/IRUtils.h
R llvm/tools/llvm-ir2vec/lib/MIRUtils.cpp
R llvm/tools/llvm-ir2vec/lib/MIRUtils.h
A llvm/tools/llvm-ir2vec/lib/MIRUtils/CMakeLists.txt
A llvm/tools/llvm-ir2vec/lib/MIRUtils/MIRUtils.cpp
A llvm/tools/llvm-ir2vec/lib/MIRUtils/MIRUtils.h
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
Log Message:
-----------
[llvm-ir2vec] Creating one directory per library for IRUtils, and MIRUtils (#198170)
Follow up to
https://github.com/llvm/llvm-project/pull/194414#issuecomment-4467455664
.
Made a patch to move IRUtils, and MIRUtils to their own subdirectories
Commit: 9ab16a1fa9c3f5a6bce8fc4723710ae2906a9ca9
https://github.com/llvm/llvm-project/commit/9ab16a1fa9c3f5a6bce8fc4723710ae2906a9ca9
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/include/lldb/Host/File.h
A lldb/include/lldb/Host/FileBase.h
A lldb/include/lldb/Host/posix/FilePosix.h
A lldb/include/lldb/Host/windows/FileWindows.h
M lldb/include/module.modulemap
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/File.cpp
A lldb/source/Host/posix/FilePosix.cpp
A lldb/source/Host/windows/FileWindows.cpp
Log Message:
-----------
[lldb] split NativeFile in platform specific implementations (#196293)
Commit: b22016bd20c42a3811bf8185d92e5802852d4ca7
https://github.com/llvm/llvm-project/commit/b22016bd20c42a3811bf8185d92e5802852d4ca7
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M offload/test/api/omp_indirect_call.c
M offload/test/api/omp_virtual_func.cpp
M offload/test/api/omp_virtual_func_multiple_inheritance_01.cpp
M offload/test/api/omp_virtual_func_multiple_inheritance_02.cpp
M offload/test/api/omp_virtual_func_reference.cpp
Log Message:
-----------
[offload][LIT] Remove XFAIL: intelgpu from 5 virtual function tests (#198559)
Passing on the buildbot now, probably
[this](https://github.com/llvm/llvm-project/pull/197556) change fixed
them.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: faad403cb68b57be327302c669f24833bc70ba9f
https://github.com/llvm/llvm-project/commit/faad403cb68b57be327302c669f24833bc70ba9f
Author: kwyatt-ext <kwyatt.external at hpe.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/implicit07.f90
Log Message:
-----------
[flang][Semantics] Enforce IMPLICIT NONE(EXTERNAL) for dummy procedures (#198398)
## Summary
Fix `CheckImplicitNoneExternal()` to correctly diagnose dummy arguments
used as procedures that lack an explicit `EXTERNAL` attribute when
`IMPLICIT NONE(EXTERNAL)` is in effect.
Fixes #198395
## Problem
Flang silently accepted code where a dummy argument was called as a
procedure under `IMPLICIT NONE(EXTERNAL)` without the required explicit
`EXTERNAL` attribute. The Fortran 2018 standard C895 requires that each
dummy procedure used as a procedure shall explicitly have the `EXTERNAL`
attribute when `IMPLICIT NONE(EXTERNAL)` is specified.
## Changes
**`flang/lib/Semantics/resolve-names.cpp`:**
1. In `NoteExecutablePartCall()`: Guard the `SetImplicitAttr(*symbol,
Attr::EXTERNAL)` call with a check that EXTERNAL is not already
explicitly set. This prevents clobbering the explicit/implicit
distinction when a dummy argument already has an explicit `EXTERNAL`
attribute.
2. In `CheckImplicitNoneExternal()`: Change the EXTERNAL attribute test
from `!symbol.attrs().test(Attr::EXTERNAL)` to
`(!symbol.attrs().test(Attr::EXTERNAL) ||
symbol.implicitAttrs().test(Attr::EXTERNAL))`. This catches both the
case where EXTERNAL has not yet been set (non-dummy externals) and the
case where it was set only implicitly (dummy arguments used as
procedures).
**`flang/test/Semantics/implicit07.f90`:**
Added test cases for various uses of `IMPLICIT NONE(EXTERNAL)`.
Assisted by Claude Opus.
Commit: 2474ac009bd8683a7bac11f514a6c2bd73c58d6c
https://github.com/llvm/llvm-project/commit/2474ac009bd8683a7bac11f514a6c2bd73c58d6c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDisassemble.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
Log Message:
-----------
[lldb] Make CommandObject::GetTarget filter out the dummy target (#198429)
Follow-up to #197805. Make CommandObject::GetTarget the canonical target
accessor for command code, and tighten its semantics so that DoExecute
methods can't accidentally operate on the dummy target.
GetTarget now returns Target* instead of Target&. The result is the
target from the command's frozen execution context, falling back to the
interpreter's execution context. The dummy target is filtered out and
replaced with nullptr unless the command opts in via one of the
eCommandRequires{Target,Process,Thread,Frame} flags (in which case
CheckRequirements has already guaranteed a real target) or via the new
eCommandAllowsDummyTarget flag.
This is the first half of the cleanup discussed at the end of #197805. A
follow-up will audit DoExecute methods that still reach for
GetSelectedTarget or m_exe_ctx.GetTargetPtr() directly and migrate them
to GetTarget.
Commit: 39e208448d952baf50e87a3d5e51456dcb6e00ba
https://github.com/llvm/llvm-project/commit/39e208448d952baf50e87a3d5e51456dcb6e00ba
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-stores.ll
Log Message:
-----------
[SLP] Precommit tests for incorrect base pointer failure for strided store vectorization (#198564)
Issue first noted
https://github.com/llvm/llvm-project/pull/198408#issuecomment-4485336867
The incorrect base pointer is used for strided loads in some reordering
scenarios.
Commit: 196c1693b4954604fc11627d8e3aafacc5afe78a
https://github.com/llvm/llvm-project/commit/196c1693b4954604fc11627d8e3aafacc5afe78a
Author: Michael Jones <michaelrj at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/fputwc.cpp
A libc/src/wchar/fputwc.h
A libc/test/src/wchar/fputwc_test.cpp
Log Message:
-----------
[libc] implement fputwc (#196158)
Add fputwc function and tests. Part 2/10.
Assisted by Gemini
Commit: 24df8a6e30b96efa8cde0c88b0ba97b958af9f83
https://github.com/llvm/llvm-project/commit/24df8a6e30b96efa8cde0c88b0ba97b958af9f83
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/CMakeLists.txt
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
Log Message:
-----------
[lldb][windows] Add --lldb-use-lldb-server to lit (#197660)
Currently, the Windows builds of lit only allow `SystemDrive` when
copying env vars into the test environment. `LLDB_USE_LLDB_SERVER=1` in
the developer shell never reached the `lldb.exe` subprocess under
`check-lldb`. Baseline and lldb-server runs therefore looked identical
even when the user expected lldb-server to be used.
`--lldb-use-lldb-server` in lit invocations sets
`LLDB_USE_LLDB_SERVER=1` to test lldb on Windows with `lldb-server`
instead of the in process plugin.
Depends on:
- https://github.com/llvm/llvm-zorg/pull/848
rdar://177442264
Commit: 24163114a38cb53a1369583c44c1890d00f480d5
https://github.com/llvm/llvm-project/commit/24163114a38cb53a1369583c44c1890d00f480d5
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
M lldb/test/API/lit.cfg.py
Log Message:
-----------
[lldb][windows] add bin to PATH in API tests (#198550)
Commit: 4fb265d3629c8243a073ab598e2dbf8250741d2c
https://github.com/llvm/llvm-project/commit/4fb265d3629c8243a073ab598e2dbf8250741d2c
Author: Oskar Wirga <oskar.wirga at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
A llvm/test/CodeGen/AArch64/arm64e-tail-call-autib.ll
A llvm/test/CodeGen/AArch64/pauth-lr-tail-call-fpdiff.ll
Log Message:
-----------
[AArch64] Fix return address auth in swiftasync epilogues (#189484)
This is part of work being done in #188378 and #188638, split out from
#188650.
When a tail call has a non-zero FPDiff the epilogue adjusts SP before
auth so when `AUTI[AB]SP` (and `autiasppc` in the PAuthLR path)
authenticates LR using the current SP as the modifier the return address
signed at function entry with the *entry* SP means they no longer match,
causing `EXC_ARM_PAC_FAIL`.
Fix by computing the entry SP into X16 and using explicit `AUTI[AB] x30,
x16` when FPDiff != 0.
This PR was mostly developed with LLM assistance, but human tested on
arm64e hardware.
---------
Co-authored-by: Jon Roelofs <jonathan_roelofs at apple.com>
Commit: 51c961b7eb5c55b6770fce7399d522ea112370ce
https://github.com/llvm/llvm-project/commit/51c961b7eb5c55b6770fce7399d522ea112370ce
Author: Michael Jones <michaelrj at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/fputws.cpp
A libc/src/wchar/fputws.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/fputws_test.cpp
Log Message:
-----------
[libc] implement fputws (#196160)
Add fputws function and tests. Part 4/10.
Assisted by Gemini
Commit: 21121533d7969837f95c687f55e0a25e463fbee7
https://github.com/llvm/llvm-project/commit/21121533d7969837f95c687f55e0a25e463fbee7
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
Log Message:
-----------
[flang][build] Fixed missing library dependency. (#198575)
I started getting this error in shared-libs build after #197442:
```
ld.lld: error: undefined symbol: Fortran::evaluate::Expr<Fortran::evaluate::SomeType>::~Expr()
>>> referenced by optional:257 (.../include/c++/9.3.0/optional:257)
>>> tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/DoConcurrentConversion.cpp.o:(std::_Optional_payload_base<Fortran::evaluate::Expr<Fortran::evaluate::SomeType>>::_M_destroy())
```
This patch adds the missing dependency.
Commit: ac3ccd277f8be425ffa0dd56ae4223683130e719
https://github.com/llvm/llvm-project/commit/ac3ccd277f8be425ffa0dd56ae4223683130e719
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-epilogue-vec.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[LV] Recognize UF*vscale as a valid canonical-IV increment step (#196722)
This patch teaches `findCanonicalIVIncrement` to recognize the
pre-materialization step pattern (`mul vscale, UF`) as a valid
canonical-IV step.
Commit: 5c74de974170451733011a4b46c2e8395419e4fb
https://github.com/llvm/llvm-project/commit/5c74de974170451733011a4b46c2e8395419e4fb
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
A clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
A clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
Log Message:
-----------
[LifetimeSafety] Warn when lifetimebound attribute is present on the definition but not on declaration (#197753)
Warn when the `[[clang::lifetimebound]]` attribute is present on a
definition but not on the corresponding declaration, with a note
pointing to where the attribute appears.
Closes #183016
Commit: b39ffdb9bff7ea0a1319b724b620b0aba8b83642
https://github.com/llvm/llvm-project/commit/b39ffdb9bff7ea0a1319b724b620b0aba8b83642
Author: Michael Jones <michaelrj at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/stdio/generic/fgets.cpp
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/fgetws.cpp
A libc/src/wchar/fgetws.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/fgetws_test.cpp
Log Message:
-----------
[libc] implement fgetws (#196161)
Add fgetws function and tests. Part 5/10.
Assisted by Gemini
Commit: a9ceabab84b916d4e2b980a9c9d579bd48629442
https://github.com/llvm/llvm-project/commit/a9ceabab84b916d4e2b980a9c9d579bd48629442
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes b9c7a8e (#198579)
This fixes b9c7a8e43ac26b0df422cd9a403382f0656785a0.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 22e8c55ccf808620cce66c9b1fb6f1341d15a3cc
https://github.com/llvm/llvm-project/commit/22e8c55ccf808620cce66c9b1fb6f1341d15a3cc
Author: Yihan Wang <yronglin777 at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/test/C/drs/dr1xx.c
M clang/test/C/drs/dr2xx.c
A clang/test/CXX/cpp/cpp.concat/p3.cpp
A clang/test/CXX/cpp/cpp.cond/Inputs/WinBase.h
A clang/test/CXX/cpp/cpp.cond/p9.cpp
A clang/test/CXX/cpp/cpp.predefined/p4.cpp
A clang/test/CXX/cpp/cpp.replace.general/p14.cpp
A clang/test/CXX/cpp/cpp.replace.general/p9.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Preprocessor/annotate_in_macro_arg.c
M clang/test/Preprocessor/expr_define_expansion.c
M clang/test/Preprocessor/macro-reserved-attrs-cxx11.cpp
M clang/test/Preprocessor/macro-reserved-ms.c
M clang/test/Preprocessor/macro-reserved.c
M clang/test/Preprocessor/macro-reserved.cpp
M clang/test/Preprocessor/macro_arg_directive.c
M clang/test/Preprocessor/warn-macro-undef-true.c
M clang/test/Sema/c++-keyword-in-c.c
M clang/test/Sema/static-assert.c
M clang/test/SemaCUDA/noinline.cu
M clang/test/SemaCXX/abstract.cpp
M clang/test/SemaCXX/consteval-builtin.cpp
M clang/test/SemaCXX/cxx98-compat-pedantic.cpp
M clang/test/SemaTemplate/instantiate-array.cpp
M clang/www/cxx_status.html
Log Message:
-----------
Reapply [Clang] Implement P2843R3 - Preprocessing is never undefined (#196989)
This PR reapply https://github.com/llvm/llvm-project/pull/192073, and
make most `-pedantic` warnings default on.
---
This PR marks [P2843R3 - Preprocessing is never
undefined](https://wg21.link/P2843) as implemented and add tests.
Fixes https://github.com/llvm/llvm-project/issues/145658
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: e69073e6ed10e003aebb3c99c4739dc07807248d
https://github.com/llvm/llvm-project/commit/e69073e6ed10e003aebb3c99c4739dc07807248d
Author: Akshay Deodhar <adeodhar at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/CodeGen/NVPTX/atomics-sm60.ll
Log Message:
-----------
[NVPTX] Autoupgrade atom.load intrinsics to device scope (#198431)
The default scope for the "atom" instruction in PTX is "gpu"
(corresponds to "device" in LLVM). The default LLVM scope is "system".
When scopes were not supported, the "system" scope was silently dropped,
and the default device scope was desired behavior.
This patch fixes the discrepancy introduced by
https://github.com/llvm/llvm-project/pull/179553.
Commit: 8f50a28e675f71a1e9d19ba65de2b7571b566402
https://github.com/llvm/llvm-project/commit/8f50a28e675f71a1e9d19ba65de2b7571b566402
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/include/time.yaml
Log Message:
-----------
[libc][NFC] Fix typos in time.yaml keys for header generation (#198551)
The YAML parser for header generation expects the plural 'standards:'
key for function definitions. Using the singular 'standard:' caused
these entries to be ignored by the parser.
Assisted-by: Automated tooling, human reviewed.
Commit: c520ae386458ac3763c7d16a0be105f906e319ed
https://github.com/llvm/llvm-project/commit/c520ae386458ac3763c7d16a0be105f906e319ed
Author: Michael Jones <michaelrj at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/getwchar.cpp
A libc/src/wchar/getwchar.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/getwchar_test.cpp
Log Message:
-----------
[libc] implement getwchar (#196164)
Add getwchar function and tests. Part 8/10.
Assisted by Gemini
Commit: b22dbfca3e7d02f4c87f4825e23cd83ee385ffbd
https://github.com/llvm/llvm-project/commit/b22dbfca3e7d02f4c87f4825e23cd83ee385ffbd
Author: EuphoricThinking <agata.momot at intel.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M offload/liboffload/API/README.md
Log Message:
-----------
[offload] update README for Tablegen (#196553)
This patch changes the non-existent target `LLVMOffload` to the correct
target `offload` and adds a more detailed path to
`OffloadImplFuncDecls.inc`.
Commit: 618df18438ca55498326d4e56c40b98f83eb671c
https://github.com/llvm/llvm-project/commit/618df18438ca55498326d4e56c40b98f83eb671c
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversionLate.cpp
M flang/test/Fir/CUDA/cuda-device-address.mlir
Log Message:
-----------
[CUF] Handle renamed managed companion pointer in `CUFDeviceAddressOpConversion` (#198161)
CUFAddConstructor creates a companion pointer global
(`@sym.managed.ptr`) for
each non-allocatable managed variable.
`CompilerGeneratedNamesConversion` may
run before `CUFOpConversionLate` and rename the global by replacing dots
with
'X', producing `@symXmanagedXptr`. Extend `CUFDeviceAddressOpConversion`
to try
both the original and the renamed suffix when looking up the companion
pointer.
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 0fc3823cd589d14fa66108b4759604c37ba0432c
https://github.com/llvm/llvm-project/commit/0fc3823cd589d14fa66108b4759604c37ba0432c
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[MLIR][XeVM][CODEOWNERS] Add @akroviakov as additional XeVM code owner. (#197965)
Commit: 0b714ac473a28d45df01a507e7615f4f847bd065
https://github.com/llvm/llvm-project/commit/0b714ac473a28d45df01a507e7615f4f847bd065
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M mlir/test/Integration/Dialect/XeGPU/LANE/xegpu_dpas_mx_prepacked_bf8.mlir
M mlir/test/Integration/Dialect/XeGPU/LANE/xegpu_dpas_mx_prepacked_e2m1.mlir
Log Message:
-----------
[MLIR][XeGPU] Fix initial value issue with dpas_mx e2m1 test. (#198056)
Integration test was using incorrect initial values.
Commit: f06dac7cf8efab07ce12667792210d823f2d18f3
https://github.com/llvm/llvm-project/commit/f06dac7cf8efab07ce12667792210d823f2d18f3
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitRoutine.cpp
A mlir/test/Dialect/OpenACC/acc-implicit-routine.mlir
Log Message:
-----------
[mlir][acc] Allow non-resolvable callee in ACCImplicitRoutine (#198581)
Some dialect call operations do not necessarily require or prevent for a
call to occur to non-defined symbol (only func.call enforces this). Thus
instead of making the condition an assert simply skip it just like other
cases where call target cannot be found.
This PR also adds IR testing for ACCImplicitRoutine with the final test
case being related to the issue this PR is solving.
Commit: 7fc16358d9c4753a8ecdbd58698fcf4315b90646
https://github.com/llvm/llvm-project/commit/7fc16358d9c4753a8ecdbd58698fcf4315b90646
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPeepHoleOptimizer.cpp
Log Message:
-----------
[MLIR][XeGPU] Temporarily disable XeGPU peephole optimizer for CRI (#198031)
Temporarily disabling the optimization pass until a fix is ready.
Support for CRI was added in recent PR:
https://github.com/llvm/llvm-project/pull/197229
But had post merge issues.
Commit: 40fa628fffb96d55cdaaa294a5d02b75bb738418
https://github.com/llvm/llvm-project/commit/40fa628fffb96d55cdaaa294a5d02b75bb738418
Author: Michael Jones <michaelrj at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/putwc.cpp
A libc/src/wchar/putwc.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/putwc_test.cpp
Log Message:
-----------
[libc] implement putwc (#196165)
Add putwc function and tests. Part 9/10.
Assisted by Gemini
Commit: 5d5220c53848ef86de57946acda4bc7d8b91880c
https://github.com/llvm/llvm-project/commit/5d5220c53848ef86de57946acda4bc7d8b91880c
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-doconc.cuf
Log Message:
-----------
[CUF] Fix `do concurrent` IV type in `cuf.kernel` lowering (#198584)
Induction variables in a `do concurrent` construct inside a cuf kernel
directive were allocated with the `index` type instead of the
Fortran-declared `integer` type. This caused a type conversion failure
when the index variable was used in a context requiring a different
integer or real type (e.g. `real(i)`).
Fix by using `genType(*name.symbol)` to derive the allocation type from
the symbol's Fortran declaration.
PR stack:
- https://github.com/llvm/llvm-project/pull/198584 ◀️
- https://github.com/llvm/llvm-project/pull/198585
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 7b227a281d29861c959db0d08c02fc97b55709e0
https://github.com/llvm/llvm-project/commit/7b227a281d29861c959db0d08c02fc97b55709e0
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/lib/Support/SmallPtrSet.cpp
M llvm/unittests/ADT/SmallPtrSetTest.cpp
Log Message:
-----------
[SmallPtrSet] Drop tombstones in large mode (#197637)
SmallPtrSet uses quadratic probing with tombstone deletion in large
mode. Tombstones occupy a third bucket state and hurts lookup.
Switch to linear probing with deletion implemented using Knuth TAOCP 6.4
Algorithm R. `erase` opens a hole at the removed slot, walks forward
sliding each following entry whose probe path crosses the hole back
into it (the hole moves with each slide), and stops at the next empty
slot. The scan stops at the next empty bucket, which is guaranteed to
exist.
`remove_if` clears matches in a single pass then calls `Grow` at the
current size to restore the linear-probe invariant, O(N) total.
(Per-match Algorithm R erase would be O(N * cluster).)
My DenseMap experiments suggest that Robin Hood Hashing and Abseil Swiss
Table family (not good at small keys) are actually worse than the
baseline.
Mirrors the small-mode change in 42c3edb4819f, which dropped tombstones
from the inline array and likewise had `erase` invalidate iterators.
`erase` now physically relocates following entries, so it invalidates
iterators and references in large mode too.
Linear probing is vulnerable to primary clustering. Therefore, we lower
the max load factor to 2/3, slightly faster than the current 3/4.
Commit: c5e2c25988fb1e4dc4121adc61933109fb04a4e0
https://github.com/llvm/llvm-project/commit/c5e2c25988fb1e4dc4121adc61933109fb04a4e0
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetSchedule.h
M llvm/include/llvm/MC/MCSchedule.h
M llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/TargetSchedule.cpp
M llvm/lib/MC/MCSchedule.cpp
M llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
M llvm/lib/MCA/InstrBuilder.cpp
A llvm/test/tools/llvm-mca/reservation-station-scale-factor.s
M llvm/tools/llvm-mca/Views/SchedulerStatistics.cpp
M llvm/tools/llvm-mca/Views/TimelineView.cpp
Log Message:
-----------
[MC] Add -sched-model-reservation-station-scale-factor option (#195638)
This patch adds a new CLI option to the MC layer called
`-sched-model-reservation-station-scale-factor` that enables to scale
the buffer size of all reservation stations (RS) for resources in the
scheduling model by a positive `float` factor. It is limited to scaling
OOO resources, and not special buffer sizes (-1,0,1), and similarly it
is only allowed to produce OOO resources.
This can be used for example to try find headroom in post-RA instruction
scheduling for OOO cores - e.g. scale RS size by 2 and observe IPC
gains, if so the code may be senetitive to the schedule and we may do
better.
Note: Currently, BufferSize for LSU resources defines the reservation
station (RS), but if present also the ld/st queue size, which just
points to the provided LSU resource. Thus, we currently scale them both
in lockstep, until we have an independent ld/st queue model.
The implementation adds a new method
`MCSchedule::getResourceBufferSize()` that calculates the buffer size
and exits early by default. It is wrapped on `TargetSchedule` for
CodeGen, or other users call it directly. For `ResourceState` we add a
scheduling model context to the constructor. `LSUnit` still uses
`BufferSize` directly, as it has inline logic for load/store queues
handling. So is `llvm/lib/Target/SystemZ/SystemZHazardRecognizer.cpp`
which is target specific. Testing through `llvm-mca` debug output. We
could syntesize a BB that is sensitive to the schedule and check an IPC
improvement, but it would be more compilated.
This only impacts llvm-mca at the moment. However, I think it should
logically belong to the MC layer, which owns the scheduling model
infrastructure, as the option is coupled to the model and not MCA. Thus,
this patch adds it speculatively to the MC layer, e.g. so that we can
easily observe how a RS-based scheduler performs for next-generation
larger-RS target without re-coding and re-building LLVM. Following up,
we may even move other such options to from the `llvm-mca` tool to the
MC library like dispatch width etc.
Commit: 43b66dfce623888a8f88415a2a97ca96d4405cd3
https://github.com/llvm/llvm-project/commit/43b66dfce623888a8f88415a2a97ca96d4405cd3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[IR] Explicitly note C standard library UB (#198562)
This language is to my understanding a bit outdated (if we're in a
freestanding environment, we should be handling things fine to my
knowledge, or at least I'm not aware of any outstanding issues reported
by people compiling for freestanding environments/different languages
which are somewhat prominent at this point). The language here dates
back to
68f971b1d67d51272f5c141fc9e4740e27e279f4 with some minor modifications
in 722212d1a0672ae18a23db58c4cfb7e38073abfa. Explicitly note the UB
aspect as this came up recently when working on llubi in #190147 and I
do not think hurts to explicitly note.
Commit: d46cca082b2e4974985118fb7a419f9ba309ab60
https://github.com/llvm/llvm-project/commit/d46cca082b2e4974985118fb7a419f9ba309ab60
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/test/tools/dsymutil/AArch64/debug-names-accel-table-types.ll
M llvm/test/tools/dsymutil/AArch64/inlined-low_pc.c
M llvm/test/tools/dsymutil/ARM/scattered.c
M llvm/test/tools/dsymutil/ARM/thumb.c
M llvm/test/tools/dsymutil/X86/dead-stripped.cpp
M llvm/test/tools/dsymutil/X86/empty_range.s
M llvm/test/tools/dsymutil/X86/global_downgraded_to_static.c
M llvm/test/tools/dsymutil/X86/inlined-static-variable.cpp
M llvm/test/tools/dsymutil/X86/mismatch.m
M llvm/test/tools/dsymutil/X86/modules-dwarf-version.m
M llvm/test/tools/dsymutil/X86/modules-empty.m
M llvm/test/tools/dsymutil/X86/modules-pruning.cpp
M llvm/test/tools/dsymutil/X86/modules.m
M llvm/test/tools/dsymutil/X86/odr-anon-namespace.cpp
M llvm/test/tools/dsymutil/X86/odr-fwd-declaration.cpp
M llvm/test/tools/dsymutil/X86/odr-fwd-declaration2.cpp
M llvm/test/tools/dsymutil/X86/odr-member-functions.cpp
M llvm/test/tools/dsymutil/X86/odr-uniquing.cpp
M llvm/test/tools/dsymutil/X86/remarks-linking-archive.text
M llvm/test/tools/dsymutil/X86/reproducer.test
M llvm/test/tools/dsymutil/X86/submodules.m
Log Message:
-----------
[dsymutil] Add missing --linker {classic,parallel} in tests (#198568)
As I'm preparing to toggle the default, I found another set of tests
that don't explicitly pass the linker to dsymutil.
Commit: ed1441988943c6ad00b1452b54f632019f1c0f47
https://github.com/llvm/llvm-project/commit/ed1441988943c6ad00b1452b54f632019f1c0f47
Author: Jacques Pienaar <jacques+gh at japienaar.info>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinDialectBytecode.td
M mlir/include/mlir/IR/BytecodeBase.td
M mlir/test/Dialect/Builtin/Bytecode/types.mlir
Log Message:
-----------
[mlirbc] Add missing encoding for float types (#191962)
Enabling but making it easy to disable to enable reader side first updates.
Commit: 987b0e3db2f4bd9d3622679e3ba376836a90270b
https://github.com/llvm/llvm-project/commit/987b0e3db2f4bd9d3622679e3ba376836a90270b
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
M mlir/test/Conversion/AMDGPUToROCDL/transpose_load.mlir
A mlir/test/Conversion/AMDGPUToROCDL/transpose_load_gfx1250.mlir
A mlir/test/Conversion/AMDGPUToROCDL/transpose_load_gfx1250_invalid.mlir
A mlir/test/Conversion/AMDGPUToROCDL/transpose_load_gfx950_invalid.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
Log Message:
-----------
[mlir][AMDGPU] Extend amdgpu.transpose_load for gfx1250 (#198354)
This commit adds support for gfx1250's ds_load_tr* instructions to
`amdgpu.transpose_load` since they're pretty close to the gfx950 ones.
---------
Co-authored-by: Codex <codex at openai.com>
Commit: ace44dc5a2a48e5d024bc5c015f69a67cd9be909
https://github.com/llvm/llvm-project/commit/ace44dc5a2a48e5d024bc5c015f69a67cd9be909
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/gep-flags-stack-offsets.ll
M llvm/test/CodeGen/AMDGPU/hip.extern.shared.array.ll
M llvm/test/CodeGen/AMDGPU/lds-relocs.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
M llvm/test/CodeGen/AMDGPU/shl_add.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
Log Message:
-----------
[AMDGPU] Gate `S_LSHL[1-4]_ADD_U32` patterns on uniform results (#198508)
Like the other SOP2 patterns in this file, these scalar instructions
require the result to be uniform. Wrap them in `UniformBinFrag` so
divergent shl/add chains use `V_LSHL_ADD_U32`
Commit: 58a43dcbfe4577773c09fce0de9f0036cd99c49f
https://github.com/llvm/llvm-project/commit/58a43dcbfe4577773c09fce0de9f0036cd99c49f
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Target/SPIRV/constant.mlir
Log Message:
-----------
[mlir][SPIR-V] Support literal struct type in spirv.Constant (#198414)
Commit: bb95a8dd341e6bac6e6d94ac8906d223bc7a215d
https://github.com/llvm/llvm-project/commit/bb95a8dd341e6bac6e6d94ac8906d223bc7a215d
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/test/CIR/CodeGen/builtin-call.cpp
Log Message:
-----------
[CIR] Fix assumption that 'curFn' is always a function in direct-call (#197766)
The code to do some checking with a builtin function tried to tell
whether it is being called inside of a function of the same name. This
isn't necessarily true (that it is in a function), since we generate
'global' ops as a curFn too. This patch just removes the assumption and
changes the condition to only happen when we're in a function.
Commit: e13d9c2630569e024a0763694806716354b54e1f
https://github.com/llvm/llvm-project/commit/e13d9c2630569e024a0763694806716354b54e1f
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/test/CIR/CodeGen/atomic.c
Log Message:
-----------
[CIR] Implement atomic cmp exhange with non-const 'weak' lowering (#198546)
This was left as an NYI, but appears in self build!
This patch follows the existing solution in that we are doing the
branching of weak vs not-weak at the CIR level. This is necessary
because the LLVM intrinsics (and the CIR operaions) take 'weak' as a
constant value.
Unlike classic-codegen, this patch uses an 'if' instead of a 'switch' on
the 'weak' value. This is mainly for readability (since it is a switch
over a bool!), but also because our 'switch' doesn't seem to support
'bool', so this would require an additional cast.
As a future direction, we may wish to modify the CIR operations to take
'weak' and 'failure' value (both are constants in LLVM intrinsics!) as
non-constants, and handle the switch/if statement during lowering. This
would give us an opportunity to optimize the value out without having to
collapse the if/switch/etc, and minimize the size of the CIR. However,
as that is a larger direction, this patch skips that for now.
Commit: b16e3a0db7759ec31de981692e10c19d930c9dac
https://github.com/llvm/llvm-project/commit/b16e3a0db7759ec31de981692e10c19d930c9dac
Author: Luca Barbato <luca.barbato at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/startup/linux/aarch64/tls.cpp
Log Message:
-----------
[libc] Remove broken __builtin_aarch64_wsr fallback in set_thread_ptr (#197295)
The fallback used __builtin_aarch64_wsr (32-bit) instead of
__builtin_aarch64_wsr64, truncating the 64-bit thread pointer value and
causing non-deterministic runtime crashes.
Modern GCC correctly warns about it and -Werror=conversion catches it.
```
/var/tmp/portage/llvm-runtimes/libc-22.1.5/work/libc/startup/linux/aarch64/tls.cpp: In function ‘bool __llvm_libc_22_1_5_::set_thread_ptr(uintptr_t)’:
/var/tmp/portage/llvm-runtimes/libc-22.1.5/work/libc/startup/linux/aarch64/tls.cpp:90:38: error: conversion from ‘uintptr_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Werror=conversion]
90 | __builtin_aarch64_wsr("tpidr_el0", val);
| ^~~
cc1plus: all warnings being treated as errors
```
Commit: 70f8c7b51ab600261c8f45e29d6d683a72f196e3
https://github.com/llvm/llvm-project/commit/70f8c7b51ab600261c8f45e29d6d683a72f196e3
Author: Paul Trojahn <paul.trojahn at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
A llvm/test/CodeGen/AMDGPU/si-fold-operands-gfx11.mir
A llvm/test/MachineVerifier/AMDGPU/dpp-sgpr-src1.mir
Log Message:
-----------
[AMDGPU] Disable dpp src1 sgpr on gfx11 (#164241)
https://github.com/llvm/llvm-project/pull/67461 enabled SGPRs as src1 by
default for all dpp opcodes with manual checks for targets where this is
not supported. In that case, isOperandLegal checked if the second
operand is legal as src0.
https://github.com/llvm/llvm-project/pull/155595 disabled this check by
removing the calls to isOperandLegal, which resulted in SGPRs being used
as operands for src1 on gfx11. This PR reenables this check and fixes
the lit test.
---------
Co-authored-by: Paul Trojahn <paul.trojahn at amd.com>
Commit: f037e17e5f27c32e0a312dfc9570bd08e3fa0c31
https://github.com/llvm/llvm-project/commit/f037e17e5f27c32e0a312dfc9570bd08e3fa0c31
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/source/Commands/CommandObjectTarget.cpp
Log Message:
-----------
[lldb] Don't require a real target for `target modules list -g` (#198594)
The `-g` flag lists the global module list, which doesn't need a target.
Switch to eCommandAllowsDummyTarget and error out explicitly in
DoExecute on the non-global paths when no real target is selected.
Fixes a regression introduced by #198429.
Commit: 41c45a2bdec98d1d8af2122663c11db1a3255ce7
https://github.com/llvm/llvm-project/commit/41c45a2bdec98d1d8af2122663c11db1a3255ce7
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clangd] Let DefineOutline tweak create a definition from scratch (#71950)
Fixes https://github.com/clangd/clangd/issues/445
Commit: 861baeaf3b932b6237ccf260c1f5da5f9a11c676
https://github.com/llvm/llvm-project/commit/861baeaf3b932b6237ccf260c1f5da5f9a11c676
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/tools/lldb-dap/extension/src/process-tree.ts
Log Message:
-----------
[lldb-dap] Add missing `arguments` field to LldbDapProcessEntry (#198597)
The TypeScript interface was missing the optional `arguments` field that
`parseListProcessesOutput` reads and `pick-process` displays, breaking
the extension build.
Commit: ed89f089d226c6a84051b27372086b54be967afa
https://github.com/llvm/llvm-project/commit/ed89f089d226c6a84051b27372086b54be967afa
Author: Farid Zakaria <fmzakari at fb.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/lib/DWP/DWP.cpp
A llvm/test/tools/llvm-dwp/X86/osabi.test
Log Message:
-----------
[llvm-dwp] Fix incorrect ELF OS/ABI in DWP output (#198486)
I received a report internally that
https://github.com/llvm/llvm-project/pull/192112 caused issues with
lldb.
LLDB has not able to load the dwp files because of the OS mismatch
between the binary and dwp file.
Investigating, it turns out that the refactor caused DWPWriter to call
`ELFObjectFileBase::getOS()` which sets the output OS/ABI, but getOS()
returns `Triple::OSType`, not the raw `e_ident[EI_OSABI]` byte. These
enums have different numbering :( oops.
This caused certain tools that validate OS/ABI consistency between a
binary and its DWP to reject the debug info.
Fix by adding getEIdentOSABI() to ELFObjectFileBase (parallel to
getEIdentABIVersion()) and using it instead of getOS().
Assisted-by: Claude
Commit: c3575183ee92ec2bfbaf6c134e6ebb0e89f48cb4
https://github.com/llvm/llvm-project/commit/c3575183ee92ec2bfbaf6c134e6ebb0e89f48cb4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/docs/CIBestPractices.rst
Log Message:
-----------
[Docs] Reccomend Container Pinning (#198572)
Add some info to CI Best Practices about pinning container images to a
specific image SHA, which we agreed was a best practice in #197315 (and
maybe somewhere else, but I cannot find anything).
This updates the best practices but does not currently attempt to
actually fix all the cases where we are using unpinned container images.
Commit: 22972ef34636d0a3e387b23186c2efe52b7132d3
https://github.com/llvm/llvm-project/commit/22972ef34636d0a3e387b23186c2efe52b7132d3
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/test/HLFIR/opt-bufferization-skip-volatile.fir
Log Message:
-----------
[flang] Recognize effects on non-addressable resources in opt-bufferization (#198051)
opt-bufferization has been only handling `fir::DebuggingResource`
explicitly. This patch adds support for other non-addressable resources,
such as `fir::VolatileMemoryResource`. This allows merging
elemental/assign for the `volatile_src_nonvolatile_dst` example in the
updated LIT test.
Commit: bdead96e439aafea44de0ce050116b7e7951aba8
https://github.com/llvm/llvm-project/commit/bdead96e439aafea44de0ce050116b7e7951aba8
Author: adams381 <adams at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
A mlir/test/Target/LLVMIR/llvmir-global-addressof-leaf.mlir
Log Message:
-----------
[mlir][LLVMIR] Allow address-of-global as a leaf in array constants (#198424)
Large `llvm.mlir.global` initializers built as nested `llvm.insertvalue`
chains make `LLVMModuleTranslation::convertGlobalsAndAliases` call
`ConstantFoldInsertValueInstruction` on every step, rebuilding the
whole `ConstantArray` each time. That is O(N²) in the number of
elements and shows up as multi-minute compiles on translation units with
huge pointer tables (SPEC CPU 2026 `gcc/insn-automata.cc` is the
motivating case; Eric Keane's `convertOperationImpl` profile matches
this
path).
This change lets `llvm.mlir.constant` carry an `ArrayAttr` of
`FlatSymbolRefAttr` leaves that name globals (not just functions), adds
a name-keyed global map beside the existing op-keyed map, and resolves
those refs in `getLLVMConstant`. A translate test checks the resulting
single LLVM constant array initializer.
Commit: 98227f57586b671467ef859c3c24a4ff919b7044
https://github.com/llvm/llvm-project/commit/98227f57586b671467ef859c3c24a4ff919b7044
Author: adams381 <adams at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/test/CIR/CodeGen/empty-union.cpp
Log Message:
-----------
[CIR] Guard union ABI alignment when getLargestMember is empty (#198340)
Padding-only unions (an empty union lowered as a single `!u8i`
padding member) leave `getLargestMember()` null when CIRGen walks
record layout through MLIR's DataLayout API.
`RecordType::getABIAlignment`
then passed that null `Type` into `getTypeABIAlignment` and crashed.
This showed up compiling libc++ types such as
`std::__variant_detail::__union` nested under `common_iterator`.
Return ABI alignment `1` when there is no largest member, matching a
byte-padded empty union. This parallels how empty unions are already
handled for size (`getTypeSizeInBits` uses zero size in that situation).
Regression coverage adds a nested-union global in `empty-union.cpp`.
Commit: 528c97b35e63c1dd989bb012484dbfa39803cd1f
https://github.com/llvm/llvm-project/commit/528c97b35e63c1dd989bb012484dbfa39803cd1f
Author: adams381 <adams at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 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/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/CodeGen/builtin-invoke-varargs-member.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
Log Message:
-----------
[CIR] Fix get_method callee type for member pointer calls (#198358)
Member-pointer calls through `cir.get_method` were lowering to an
indirect
callee type that still listed the member function's implicit `this`
parameter after `createGetMethod` had already prepended the adjusted
`void*` receiver. A call like `(obj->*pmf)(arg)` therefore carried a
three-parameter `var_callee_type` but only two argument operands, and
`-fclangir -emit-llvm` failed LLVM's variadic-call verifier with
`expected var_callee_type to have at most N parameters`. Classic codegen
emits `(ptr, …)` for the same pattern.
The libc++ sweep had one remaining `frontend-crash-other` bucket hit on
`F_nullptr.pass.cpp`, which boils down to `__builtin_invoke` on a
varargs member function pointer — the same callee/operand mismatch in a
minimal repro.
The fix skips the implicit-`this` slot when cloning the member signature
into the callee function type in `createGetMethod`, and tightens
`GetMethodOp::verify` so callee parameters after the `void*` receiver
match the method parameters after implicit `this`. Tests update
`pointer-to-member-func.cpp` expectations and add
`builtin-invoke-varargs-member.cpp` with CIR, LLVM, and OGCG checks.
Commit: 86b58f5dbf1ad25dccbf66bca53ffc75a0e92dbf
https://github.com/llvm/llvm-project/commit/86b58f5dbf1ad25dccbf66bca53ffc75a0e92dbf
Author: DylanFleming-arm <85629460+DylanFleming-arm at users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/src/__support/mathvec/expf.h
M libc/test/src/mathvec/CMakeLists.txt
A libc/test/src/mathvec/exhaustive/CMakeLists.txt
A libc/test/src/mathvec/exhaustive/exhaustive_test.h
A libc/test/src/mathvec/exhaustive/expf_test.cpp
Log Message:
-----------
[libc][mathvec] Add exhaustive tester for SIMD math routines (#189488)
An exhaustive tester based on the scalar version.
Uses LIBC scalar math routines as a reference rather than MPFR
Also corrects a missed 1ULP value in expf when the target doesn't
support FMAs
Commit: 76edbfd27fc39a6af8a230e9b8c46ff48cd9fb12
https://github.com/llvm/llvm-project/commit/76edbfd27fc39a6af8a230e9b8c46ff48cd9fb12
Author: Björn Schäpers <bjoern at hazardy.de>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Harden annotation of operator keywords (#196768)
The star was already annotated as TT_PointerOrReference, just overwrite
it for the sake of not crashing. Also remove the annotation above, since
that would always be overwritten (or at least I don't see when not, and
there's no failed test).
Fixes #196054.
Commit: 3fdbee11679ea85ffad8ef67eff10f9df1401290
https://github.com/llvm/llvm-project/commit/3fdbee11679ea85ffad8ef67eff10f9df1401290
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/test/CodeGen/NVPTX/intr-range.ll
A llvm/test/CodeGen/NVPTX/reqnctapercluster-const-fold.ll
Log Message:
-----------
[NVPTX] Constant fold clusterDim when reqnctapercluster is specified (#195967)
This is a follow-up of https://github.com/llvm/llvm-project/pull/191575.
Currently, NVPTX cannot fold the `cluster_nctaid.x/y/z` and
`cluster_nctarank` intrinsic calls into const values when
`reqnctapercluster` is specified, which prevents the code from further
optimization.
Therefore, in this change, we extend the `NVVMIntrRange` pass to:
- Tighten `cluster_nctaid.x/y/z` intrinsic calls to one value range,
which can be const folded in later InstCombine pass
- Tighten `cluster_nctarank` intrinsic calls to one value range when
`cluster_dim` is specified
- Tighten `cluster_ctaid.x/y/z` range attributes to use per-dimension
`cluster_dim` bounds
Commit: c2ce2368c681b1622ccf73811feb7d6574f3ee0a
https://github.com/llvm/llvm-project/commit/c2ce2368c681b1622ccf73811feb7d6574f3ee0a
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/Sema/SemaLifetimeSafety.h
Log Message:
-----------
[LifetimeSafety] Expand diagnostic list that enables analysis (#198599)
Now, when any lifetime safety related diagnostic is not ignored, we run
the analysis.
No tests were added since this does not add new functionality.
Commit: 3548cdadccbeb542f29e2d321798ddbb20627f26
https://github.com/llvm/llvm-project/commit/3548cdadccbeb542f29e2d321798ddbb20627f26
Author: Romaric Jodin <rjodin at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
Log Message:
-----------
Fix MSVC template parsing error in SerializationFormat (#196571)
This commit fixes a hard compilation error on Windows (when building with
Clang's MSVC compatibility mode) and a subsequent access violation that
occurred during Windows CI testing.
Root Causes:
1. When compiling with `-fms-compatibility`, Clang's two-phase template
lookup fails to resolve function-local static variables (`SavedSerialize`
and `SavedDeserialize`) captured by a local class (`ConcreteCodec`) inside
an uninstantiated template. It incorrectly assumes they are members of a
dependent base class.
2. Originally, `TypedSerializerFn` and `DeserializerFn` were typed as
`llvm::function_ref`. Storing these in static variables created dangling
pointers, as `function_ref` is a non-owning wrapper that only referenced
the temporaries decaying on the constructor's stack, causing an 0xC0000005
access violation on x64 Windows.
The Fix:
* Hoisted `SavedSerialize` and `SavedDeserialize` out of the constructor
scope to be `static inline` members of the `Add` class template. This allows
Clang's Phase 1 parser to correctly resolve the symbols.
* Redefined `TypedSerializerFn` and `DeserializerFn` to raw function pointers
instead of `llvm::function_ref`. This ensures the static registry variables
safely capture the persistent addresses of the global functions being
registered, eliminating the dangling pointers.
Safety note: The original concern regarding `dlopen` symbol visibility on
Linux is preserved. `ConcreteCodec` continues to store the functions strictly
as instance members, snapshotting the plugin's local copy of the static
variables at instantiation.
Commit: 3b51279f93869f49cfde640145b75e20274c4892
https://github.com/llvm/llvm-project/commit/3b51279f93869f49cfde640145b75e20274c4892
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
A clang/test/Driver/amdgpu-unwind.cl
Log Message:
-----------
[Clang] Default to async unwind tables for amdgcn (#183148)
To avoid codegen changes when enabling debug-info (see
https://bugs.llvm.org/show_bug.cgi?id=37240) we want to
enable unwind tables by default.
There is some pessimization in post-prologepilog scheduling, and a
general solution to the problem of CFI_INSTRUCTION-as-scheduling-barrier
should be explored.
Change-Id: I83625875966928c7c4411cd7b95174dc58bda25a
Commit: e681e6f9cb732b0f0d94f77f79ce773a014868a7
https://github.com/llvm/llvm-project/commit/e681e6f9cb732b0f0d94f77f79ce773a014868a7
Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/test/CIR/CodeGenCUDA/attribute-visibility.cu
Log Message:
-----------
[CIR] Implement setGlobalVisibility (#195257)
Matching OGCG
---------
Signed-off-by: ZakyHermawan <zaky.hermawan9615 at gmail.com>
Commit: 571b226433a3f048af63e3987541847b80e9daef
https://github.com/llvm/llvm-project/commit/571b226433a3f048af63e3987541847b80e9daef
Author: Bidhan <bidhan619 at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.h
A llvm/test/CodeGen/BPF/fence-singlethread.ll
Log Message:
-----------
[BPF] treat compiler fence as codegen no-op (#196734)
The BPF backend has no instruction-selection pattern for
`ISD::ATOMIC_FENCE`, so LLVM IR containing a fence instruction crashes
with `Cannot select: AtomicFence...`.
**Rust code snippet**
```
#[unsafe(no_mangle)]
pub fn entrypoint(_input: *mut u8) -> u64 {
core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::SeqCst);
0
}
```
**LLVM IR**
```
; ModuleID = 'linked_module'
source_filename = "linked_module"
target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128"
target triple = "bpfel"
; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn
define dso_local noundef i64 @entrypoint(ptr noundef readnone captures(none) %0) unnamed_addr #0 {
fence syncscope("singlethread") seq_cst
ret i64 0
}
attributes #0 = { mustprogress nofree norecurse nosync nounwind willreturn "target-cpu"="generic" }
!llvm.ident = !{!0}
!0 = !{!"rustc version 1.97.0-nightly (f53b654a8 2026-04-30)"}
```
**Error**
```
LLVM ERROR: Cannot select: 0x7fcf7701a1c0: ch = AtomicFence 0x7fcf75718df8, TargetConstant:i64<7>, TargetConstant:i64<0>
In function: entrypoint
Stack dump:
0. Running pass 'Function Pass Manager' on module 'linked_module'.
1. Running pass 'BPF DAG->DAG Pattern Instruction Selection' on function '@entrypoint'
```
-----
**Fix**
This patch lowers single-thread (compiler) fences to `ISD::MEMBARRIER`
(no-op) and produces an error for cross-thread (runtime) fences.
Commit: 0849bcb2733faeacff6980c43b066ecccc1461ad
https://github.com/llvm/llvm-project/commit/0849bcb2733faeacff6980c43b066ecccc1461ad
Author: Nico Weber <thakis at chromium.org>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn] port 9ab16a1fa9c3f5a6 (#198609)
Commit: 26673259942b5984fa5aa4c80a91d40923a642ea
https://github.com/llvm/llvm-project/commit/26673259942b5984fa5aa4c80a91d40923a642ea
Author: Nico Weber <thakis at chromium.org>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port 24df8a6e30b96ef (#198612)
Commit: a186a4a640799fed7bc0741b9a238410d3bc6f9e
https://github.com/llvm/llvm-project/commit/a186a4a640799fed7bc0741b9a238410d3bc6f9e
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Tooling/DependencyScanningTool.h
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
Log Message:
-----------
[clang][deps] Simplify VFS overlays (#197785)
Instead of operating on on-disk files, the scanner can be made to
operate on in-memory buffers and module names. This is facilitated by
changes to the command line and the VFS, where an imaginary file is
injected (mainly to make the driver happy). Currently, this is
implemented by functions external to the worker that take its base VFS,
wrap it with an overlay VFS, and pass it back to the worker. Since the
worker _needs_ to operate on top of the base VFS, it performs a sanity
check like so:
```c++
#ifndef NDEBUG
bool SawDepFS = false;
OverlayFS->visit(
[&](llvm::vfs::FileSystem &VFS) { SawDepFS |= &VFS == DepFS.get(); });
assert(SawDepFS && "OverlayFS not based on DepFS");
#endif
```
This PR simplifies the situation by passing the custom VFS to the new
`DependencyScanningWorker::makeEffectiveVFS()`. This is used by external
tools that need to operate in the same context as the worker, but it's
also called by the worker itself, guaranteeing that it operates on the
expected VFS, which in turn allows removing the complicated visitation
and assert pattern.
Commit: f0ac406bf2fda4a39c19fc3d55cefafa7683c3bc
https://github.com/llvm/llvm-project/commit/f0ac406bf2fda4a39c19fc3d55cefafa7683c3bc
Author: Nico Weber <thakis at chromium.org>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-ir2vec/BUILD.gn
R llvm/utils/gn/secondary/llvm/tools/llvm-ir2vec/lib/BUILD.gn
A llvm/utils/gn/secondary/llvm/tools/llvm-ir2vec/lib/IRUtils/BUILD.gn
A llvm/utils/gn/secondary/llvm/tools/llvm-ir2vec/lib/MIRUtils/BUILD.gn
Log Message:
-----------
[gn] port b9c7a8e43ac26 (llvm-ir2vec lib/ split) (#198615)
Commit: a1e3f2cceb99ce46021b8217396d9a99125a99dd
https://github.com/llvm/llvm-project/commit/a1e3f2cceb99ce46021b8217396d9a99125a99dd
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-stores.ll
Log Message:
-----------
[SLP] Properly select base pointer for reordered strided loads (#198592)
Prior to supporting strided stores, strided stores were used as an
optimization for reversed stores. This logic was left over from that,
updated so that the pointer is only adjusted in the case of reversed
stores.
Commit: 74d8db42fd6f61febb2f53f0250d8e304cc33a3f
https://github.com/llvm/llvm-project/commit/74d8db42fd6f61febb2f53f0250d8e304cc33a3f
Author: adams381 <adams at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
A clang/test/CIR/CodeGen/lambda-static-invoker-agg-return.cpp
M clang/test/CIR/CodeGen/thunks.cpp
Log Message:
-----------
[CIR] Route lambda and thunk aggregate returns through return slot (#197572)
Two related forwarding-call paths -- the captureless lambda
static-invoker `emitForwardingCallToLambda` in `CIRGenClass.cpp` and
vtable thunk emission `emitCallAndReturnForThunk` in
`CIRGenVTables.cpp` -- both forward a callee's return value up to
their own caller. When the callee returns an aggregate, both must
bind their `ReturnValueSlot` to `returnValue` so the result lands in
the function's return slot directly, and both must emit a
`cir.return` that loads from it.
The lambda path was leaving the slot empty, materializing a
temporary, and then asking `emitReturnOfRValue` to aggregate-copy it
into `returnValue`. For non-trivial aggregates (e.g.
`std::basic_string`) this hits the "Trying to aggregate-copy a type
without a trivial copy/move constructor" assertion in
`emitAggregateCopy`. The thunk path was already binding the slot
but never emitted the follow-up `cir.return`, so
`LexicalScope::emitImplicitReturn` ended the function with
`cir.trap` (-O0) or `cir.unreachable` (-O1+) -- silently discarding
the just-stored result. Any vtable call through a second-base-class
virtual function returning a non-trivial aggregate would therefore
trap or return garbage at runtime. No existing test caught this;
thunks tests only cover primitive returns.
Both paths get the same fix: bind the slot on the aggregate path,
route the non-void exit through `emitReturnOfRValue` unconditionally,
and short-circuit the self-copy when the rvalue already sits at
`returnValue`. The lambda fix unblocks 24 libcxx `std/` failures
in the C++26 `<format>` subtree (`format.tuple`,
`format.range.fmtmap` / `fmtstr` / `fmtset`,
`container.adaptors.format`) where lambdas returning
`std::basic_string` are converted to function pointers; the thunk
fix is correctness-only.
Commit: 81152c2dee13976627d51bab3aab91ca8641ce75
https://github.com/llvm/llvm-project/commit/81152c2dee13976627d51bab3aab91ca8641ce75
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Propagate loans through chained assignment (#198510)
Now, `handleAssignment` also propagates loans into the assignment
expression (`BinaryOperator`/`CXXOperatorCallExpr`) so chained
assignments can flow loans forward.
Closes #198497
Commit: dfa05b675eeec29b8bfd894093734f686a14b697
https://github.com/llvm/llvm-project/commit/dfa05b675eeec29b8bfd894093734f686a14b697
Author: Guy David <guyda96 at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/AArch64/fold-reduce-add-cmp-zero.ll
M llvm/test/Transforms/VectorCombine/AArch64/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/AArch64/icmp-vector-reduce.ll
A llvm/test/Transforms/VectorCombine/RISCV/fold-reduce-add-cmp-zero.ll
M llvm/test/Transforms/VectorCombine/RISCV/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/RISCV/icmp-vector-reduce.ll
Log Message:
-----------
[VectorCombine] Fold reduce.add == 0 into reduce.[or,umax] == 0 (#180001)
When vector elements are known to be either non-positive (e.g., from
sext i1), or non-negative (e.g., from zext i1), comparing the sum
against zero is equivalent to checking if all elements are zero. This
can be done more efficiently using reduce.or or reduce.umax.
Commit: 879f4609bdbb96a97e2ebc3dd5bbaf164b017b23
https://github.com/llvm/llvm-project/commit/879f4609bdbb96a97e2ebc3dd5bbaf164b017b23
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
A clang/test/CIR/CodeGen/complex-atomic-cast.c
Log Message:
-----------
[CIR] Implement Complex to Atomic Complex cast (#198117)
Implement Complex to Atomic Complex types cast
Issue #192331
Commit: 5adc8ea56d7ab021fac9de3ed427b42eb827586b
https://github.com/llvm/llvm-project/commit/5adc8ea56d7ab021fac9de3ed427b42eb827586b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/tools/lldb-dap/extension/src/process-tree.ts
Log Message:
-----------
[lldb-dap] Fall back to name when arguments are missing (#198626)
When `lldb-dap --list-processes` omits the `arguments` field for a
process, fall back to `name` (matching the `command` field's fallback)
instead of an empty string. This keeps the process picker from showing
blank entries for processes whose full command line is unavailable.
Commit: 633539bfa1516e616b798b2eae98bea689b3c410
https://github.com/llvm/llvm-project/commit/633539bfa1516e616b798b2eae98bea689b3c410
Author: Schrodinger ZHU Yifan <yfzhu at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
A .github/workflows/libc-freebsd-vm-tests.yml
M libc/Maintainers.md
M libc/cmake/modules/LLVMLibCArchitectures.cmake
A libc/config/freebsd/x86_64/entrypoints.txt
A libc/config/freebsd/x86_64/headers.txt
M libc/src/__support/CPP/tuple.h
A libc/src/__support/OSUtil/freebsd/CMakeLists.txt
A libc/src/__support/OSUtil/freebsd/exit.cpp
A libc/src/__support/OSUtil/freebsd/io.h
A libc/src/__support/OSUtil/freebsd/syscall.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/close.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/getrandom.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/mmap.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/mprotect.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/munmap.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/open.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/read.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/write.h
A libc/src/__support/OSUtil/freebsd/x86_64/CMakeLists.txt
A libc/src/__support/OSUtil/freebsd/x86_64/syscall.h
M libc/src/__support/OSUtil/io.h
M libc/src/__support/OSUtil/syscall.h
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/math/FModTest.h
M libc/test/src/math/smoke/FModTest.h
Log Message:
-----------
[libc][freebsd] initialize freebsd support (#124459)
Initialize FreeBSD support. Currently, only overlay build (mainly math
routines) is supported.
This PR mainly define the target entrypoints and basic syscall support.
Different from Linux, FreeBSD's syscall return always consist of two
component:
- return value as arch register
- error flag
On x86-64, the flag is returned via the carry bit state. Hence, for
syscall stubs, we always return a structure containing these two fields.
For math support, the only big difference is that FreeBSD has different
naming convention in some exception macros.
Further fixes for C++ userland are tracked in #197605
Assisted-by: Codex with gpt-5.5 high fast
Commit: 9997b11c6469e491404d2fd2b225118fc4004cbe
https://github.com/llvm/llvm-project/commit/9997b11c6469e491404d2fd2b225118fc4004cbe
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/Arch/AMDGPU.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M flang/lib/Frontend/CompilerInstance.cpp
A llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
A llvm/lib/TargetParser/AMDGPUTargetParser.cpp
M llvm/lib/TargetParser/CMakeLists.txt
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/unittests/Target/AMDGPU/AMDGPUUnitTests.cpp
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
Log Message:
-----------
[NFC][AMDGPU] Move AMDGPU related code out of generic TargetParser.cpp (#198433)
Commit: 6de0400354237fbf25d05df190bccea25f064b2a
https://github.com/llvm/llvm-project/commit/6de0400354237fbf25d05df190bccea25f064b2a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Sink VPRecipeValue dtors. (#198623)
Currently (after https://github.com/llvm/llvm-project/pull/195483) the
VPRecipeValue accesses the defining value and removes it. This can cause
uninitialized memory reads, because the Def pointer held by the
VPMultiDefValue is destroyed before the super class destructor runs.
Commit: 3383f0d6fe01374b91845e7cd3ee949594c4bfc6
https://github.com/llvm/llvm-project/commit/3383f0d6fe01374b91845e7cd3ee949594c4bfc6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M offload/CMakeLists.txt
M offload/liboffload/CMakeLists.txt
M offload/libomptarget/CMakeLists.txt
M offload/plugins-nextgen/CMakeLists.txt
Log Message:
-----------
[Offload] Fix build install directory and remove 'add_llvm_library' (#198622)
Summary:
The problem is that we do not correctly set the build directory output
for offload/. Normally, it's supposed to mirror the install pattern.
This is because we both have variants and so people can use the compiler
from the build directory.
Currently, if you build more than one variant of the offload/ library
they will clobber each-other in `<build>/lib/`, so no cross compiling
allowed. Additionally, these will not be usable in the build directory
because the compiler will think that they are in the triple directory
when they are not.
Relatively simple fix, just copy-paste the pattern every other runtime
uses and then remove the implicit handling we get from
`add_llvm_libraries`. The only this it did for us was automatically map
component names to the libraries, which is easy enough to do.
Commit: f97e1d46878d53a50a64c6b3faa45f43741d69ac
https://github.com/llvm/llvm-project/commit/f97e1d46878d53a50a64c6b3faa45f43741d69ac
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/iterator.h
M libc/src/__support/wctype/CMakeLists.txt
A libc/src/__support/wctype/lower_to_upper.h
R libc/src/__support/wctype/lower_to_upper.inc
A libc/src/__support/wctype/perfect_hash_map.h
A libc/src/__support/wctype/upper_to_lower.h
R libc/src/__support/wctype/upper_to_lower.inc
M libc/test/src/__support/wctype/CMakeLists.txt
A libc/test/src/__support/wctype/wctype_perfect_hash_test.cpp
Log Message:
-----------
[libc][wctype] Add perfect hash map for conversion functions (#187670)
- Upstream PTRHash and PerfectHashTable
- Add lowber_bound and distance
Commit: 2ac9cd7658bffdee4d4c3004ebd6f8039efce4cb
https://github.com/llvm/llvm-project/commit/2ac9cd7658bffdee4d4c3004ebd6f8039efce4cb
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/SandboxIR/Type.cpp
M llvm/unittests/SandboxIR/TypesTest.cpp
Log Message:
-----------
[SandboxIR][Type] Implement ByteType (#197309)
This is mirroring LLVM IR's ByteType.
Commit: ea73ddfc0d525c9a593cd0aee0962932b9dc24d8
https://github.com/llvm/llvm-project/commit/ea73ddfc0d525c9a593cd0aee0962932b9dc24d8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
Log Message:
-----------
[VPlan] Add branch-on-cond false original unconditional latch (NFC). (#198539)
For loops where the latch does not exit, addInitialSkeleton adds the
middle block as additional successor, as early canonicalization.
But then we end up with a block without terminator and multiple
successors. Fix this by adding a branch-on-cond false as terminator.
This preserves the original behavior (backegdge always taken) and
resolves the verifier issue.
PR: https://github.com/llvm/llvm-project/pull/198539
Commit: d0ae0386da3741ab316ff931f63db4728224a41e
https://github.com/llvm/llvm-project/commit/d0ae0386da3741ab316ff931f63db4728224a41e
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CXX/class/class.local/p3.cpp
Log Message:
-----------
[clang][Sema] Diagnose nested local classes defined in a different block scope than their parent (#197863)
Fixes #193472.
[[class.local]/3](https://eel.is/c++draft/class.local#3) says:
> A class nested within a local class is a local class. A member of a
local class `X` shall be declared only in the definition of `X` or, __if
the member is a nested class, in the nearest enclosing block scope of
X__.
In other words:
```cpp
void f() {
struct X { struct S; };
struct X::S {}; // okay
struct X { struct S; };
{
struct X::S {}; // error
}
}
```
To save anyone from a misconception that confused me for a bit: the body
of a class is not a block scope!
[[basic.scope.block]/1](https://eel.is/c++draft/basic.scope.block#1). So
the following example is well-formed, because `A`, `X`, and `S` are all
in the same block scope (`f`'s *compound-statement*):
```cpp
void f() {
struct A { struct X { struct S; }; };
struct A::X::S {}; // okay
}
```
Commit: 389b8184a416d6bed8bf1c0b2ad18c53baf50b26
https://github.com/llvm/llvm-project/commit/389b8184a416d6bed8bf1c0b2ad18c53baf50b26
Author: David Green <david.green at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/fabs.ll
M llvm/test/CodeGen/AArch64/fneg.ll
Log Message:
-----------
[AArch64] Add bf16 negs and abs tests. NFC (#198647)
Adding them to fabs.ll and fneg.ll helps test both with and without
+fullfp16.
Commit: cbc6a2781c58eefc0a7d6e18f916840c535f9ae2
https://github.com/llvm/llvm-project/commit/cbc6a2781c58eefc0a7d6e18f916840c535f9ae2
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/test/Driver/intrinsic-module-path_per_target.f90
Log Message:
-----------
[Flang][test] Require x86 target for test (#198643)
#196558 uses x86_64-unknown-linux-gnu in a target and needs
LLVM_TARGETS_TO_BUILD=X86, even though it uses -fsyntax-only to not
generate code.
Reported by
https://github.com/llvm/llvm-project/pull/196558#issuecomment-4487790588
Commit: 3a473185b272f340db9ca17e6795ca6ea31e798a
https://github.com/llvm/llvm-project/commit/3a473185b272f340db9ca17e6795ca6ea31e798a
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-05-19 (Tue, 19 May 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] Scalarize <1 x T> vector types for atomic store (#197165)
`store atomic <1 x T>` is not valid. This change legalizes
vector types of atomic store via scalarization in SelectionDAG
so that it can, for example, translate from `v1i32` to `i32`.
This is the store-side counterpart to #148894. Stacked on top of
#197372; and below #197166.
Commit: 499b2fa06a5c4303e2d725a9b103fe68d98e098b
https://github.com/llvm/llvm-project/commit/499b2fa06a5c4303e2d725a9b103fe68d98e098b
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/fold-epilogue-tail.ll
Log Message:
-----------
[LV] Add -epilogue-tail-folding-policy flag for tail-folded epilogue (#190697)
This is the first patch in a series implementing **tail-folding on the
epilogue loop** — a vectorization style that pairs an unpredicated
vector main loop with a predicated vector epilogue.
It adds a new flag, `-epilogue-tail-folding-policy`, to enable the
style opt-in. Subsequent patches will build out the implementation.
Motivation behind this work:
- The current vectorization styles force either tail-folding on the main
vector loop with no interleaving, or unpredicated main vector loop with
interleaving.
The first style prevents us from getting the benefit of high interleaving
when it’s beneficial/possible, and the second one prevents
tail-folding while it could be beneficial specially for low trip count.
- The proposed hybrid approach of having unpredicated main vector loop
with tail-folded vector epilogue combines the strengths of both styles,
apply high interleaving in the main loop where most iterations get
executed unconditionally and also predicate the epilogue loop where
tail-folding is beneficial for low-trip count or low remaining iterations,
and in some cases, the epilogue could be a single predicated iteration.
Right now this work is intended to be enabled by a flag, in the future
there should be a dynamic selection between different vectorization
styles according to the costs/profitability.
Commit: e28e7ec303576adc538c63e473b3f33ef74a5605
https://github.com/llvm/llvm-project/commit/e28e7ec303576adc538c63e473b3f33ef74a5605
Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smax.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smin.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umax.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umin.ll
A llvm/test/Transforms/VectorCombine/AArch64/partial-reduce-crash.ll
M llvm/test/Transforms/VectorCombine/fold-shuffle-chains-to-reduce.ll
Log Message:
-----------
Reland [VectorCombine] foldShuffleChainsToReduce - add support for partial vector reductions (#197659)
Reland of #195119, which was reverted in 2b26355 due to:
1. An assertion failure on AArch64 where
`getShuffleCost(SK_ExtractSubvector)` was called without the `SubTp`
parameter.
2. A miscompilation on non-power-of-2 vector sizes where parity-based
shuffle masks cause lane duplication in the reduction tree.
Fixes:
- Pass `ReduceVecTy` as `SubTp` to `getShuffleCost`.
- Restrict partial reductions to power-of-2 vector sizes.
---
Extend foldShuffleChainsToReduce to recognize partial reduction patterns
where
only a subvector of the full vector is being reduced.
For example, a <16 x i16> vector where the shuffle chain only reduces
the lower
8 elements can now be folded into:
shufflevector (extract lower <8 x i16>) + vector.reduce.smax
The detection works by noticing when the bottom-up walk through the
shuffle/op chain ends before consuming the full vector. The number of
levels visited determines the subvector size (2^levels), and an
extract_subvector + scalar reduction replaces the original chain when
profitable.
Fixes #194617
Commit: d9a9b3b7fa34d0c45a92e0479f2150bb0264391a
https://github.com/llvm/llvm-project/commit/d9a9b3b7fa34d0c45a92e0479f2150bb0264391a
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/atomic-load-store.ll
Log Message:
-----------
[X86] Manage atomic store of fp -> int promotion in DAG (#197166)
When lowering `atomic store <1 x T>` vector types with floats (i.e.
during scalarization in the selection DAG), selection can fail since
this pattern is unsupported. To support this, floats can be casted to
an integer type of the same size.
Store-side counterpart to #148895. Stacked on top of #197165; and below
of #197618.
Commit: 9dd4f7cbd7964b5612ee9f8683589afdd14648e4
https://github.com/llvm/llvm-project/commit/9dd4f7cbd7964b5612ee9f8683589afdd14648e4
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes f97e1d4 (#198640)
This fixes f97e1d46878d53a50a64c6b3faa45f43741d69ac.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: d63ca96ec35e963e651d1b8765283117ca83e1f9
https://github.com/llvm/llvm-project/commit/d63ca96ec35e963e651d1b8765283117ca83e1f9
Author: Michael Jones <michaelrj at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/fgetwc.cpp
M libc/src/wchar/fgetws.cpp
M libc/src/wchar/fgetws.h
M libc/src/wchar/fputwc.cpp
M libc/src/wchar/fputwc.h
M libc/src/wchar/fputws.cpp
M libc/src/wchar/fputws.h
M libc/src/wchar/getwc.cpp
M libc/src/wchar/getwchar.cpp
M libc/src/wchar/putwc.cpp
M libc/src/wchar/putwc.h
M libc/src/wchar/putwchar.cpp
M libc/src/wchar/putwchar.h
M libc/test/src/wchar/CMakeLists.txt
M libc/test/src/wchar/fputwc_test.cpp
Log Message:
-----------
[libc] clean up wchar file deps and includes (#198648)
There were a couple comments left on the wchar file series after I'd
already merged some. This PR should apply those changes to the rest of
the wchar file functions.
Assisted-by: Automated tooling, human reviewed.
Commit: 4979904f7ed8c3cfb379185bf967ae0d82212e6a
https://github.com/llvm/llvm-project/commit/4979904f7ed8c3cfb379185bf967ae0d82212e6a
Author: Petr Hosek <phosek at google.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/test/C/drs/dr1xx.c
M clang/test/C/drs/dr2xx.c
R clang/test/CXX/cpp/cpp.concat/p3.cpp
R clang/test/CXX/cpp/cpp.cond/Inputs/WinBase.h
R clang/test/CXX/cpp/cpp.cond/p9.cpp
R clang/test/CXX/cpp/cpp.predefined/p4.cpp
R clang/test/CXX/cpp/cpp.replace.general/p14.cpp
R clang/test/CXX/cpp/cpp.replace.general/p9.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Preprocessor/annotate_in_macro_arg.c
M clang/test/Preprocessor/expr_define_expansion.c
M clang/test/Preprocessor/macro-reserved-attrs-cxx11.cpp
M clang/test/Preprocessor/macro-reserved-ms.c
M clang/test/Preprocessor/macro-reserved.c
M clang/test/Preprocessor/macro-reserved.cpp
M clang/test/Preprocessor/macro_arg_directive.c
M clang/test/Preprocessor/warn-macro-undef-true.c
M clang/test/Sema/c++-keyword-in-c.c
M clang/test/Sema/static-assert.c
M clang/test/SemaCUDA/noinline.cu
M clang/test/SemaCXX/abstract.cpp
M clang/test/SemaCXX/consteval-builtin.cpp
M clang/test/SemaCXX/cxx98-compat-pedantic.cpp
M clang/test/SemaTemplate/instantiate-array.cpp
M clang/www/cxx_status.html
Log Message:
-----------
Revert "Reapply [Clang] Implement P2843R3 - Preprocessing is never undefined" (#198641)
Reverts llvm/llvm-project#196989 since it broke LLVM libc, see
https://github.com/llvm/llvm-project/pull/196989#issuecomment-4490816018
for details.
Commit: 97302faced2602629916f5b1e0b3a4ff79272122
https://github.com/llvm/llvm-project/commit/97302faced2602629916f5b1e0b3a4ff79272122
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-acc.mlir
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
Log Message:
-----------
[flang] Improved FIR AA for acc.compute_region. (#198635)
We should actually treat the operand<->block-arg association
in `acc.compute_region` as a pass-through link, so that we can
accumulate the whole chain of addressing inside the compute region.
This is especially important for acc routines, where all `[hl]fir.declare`
operations are located inside `acc.compute_region`. The input operand,
in this case, is not a result of ACC entry/init operation.
The change in `FIROps.cpp` should be NFC, currently. I made it
just to align the pass-through handling with the AA change.
Even though I effectively replaced `ACC_DATA_ENTRY_OPS` with
`ACC_DATA_ENTRY_AND_INIT_OPS`, this change is not testable, because
boxed reductions are currently unsupported.
Commit: 9c06c5de6a20df13cfe6d9a7022308e96f378955
https://github.com/llvm/llvm-project/commit/9c06c5de6a20df13cfe6d9a7022308e96f378955
Author: Ian Anderson <iana at apple.com>
Date: 2026-05-19 (Tue, 19 May 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 (#197791)
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: 5399e1d07437254902efede611ec58d753ad4e8c
https://github.com/llvm/llvm-project/commit/5399e1d07437254902efede611ec58d753ad4e8c
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.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/uncounted-obj-arg.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Check arguments of CXXConstructExpr (#198454)
Check arguments of CXXConstructExpr like CallExpr.
This PR fixes a subtle bug in isCtorOfRetainPtrOrOSPtr that it was missing a check for OSObjectPtr, and it was getting an empty string for the name when getting called on a CXXConstructorDecl as well as similar bugs in isCtorOf* functions.
Commit: 1e1f3dda59268a7ca82bda6966b60014e132e929
https://github.com/llvm/llvm-project/commit/1e1f3dda59268a7ca82bda6966b60014e132e929
Author: youngd007 <davidayoung at meta.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lldb/include/lldb/Host/JSONTransport.h
M lldb/unittests/Host/JSONTransportTest.cpp
Log Message:
-----------
Fix use-after-free in IOTransport::OnRead on client disconnect (#198548)
When an MCP client disconnects (EOF), `IOTransport::OnRead` called
`handler.OnClosed()` before resetting `m_read_handle`. The MCP server's
`OnClosed` handler erases the client from `m_instances`, destroying both
the transport (`this`) and the binder (`handler`). The subsequent
`m_read_handle.reset()` then accessed the destroyed transport's member,
causing a use-after-free (SIGSEGV).
* thread #1, stop reason = signal SIGSEGV: address not mapped to object
(fault address=0x28)
* frame #0: 0x00007ff5d4d5afda
liblldb.so.23.2`lldb_private::transport::IOTransport<lldb_protocol::mcp::ProtocolDescriptor>::OnRead(lldb_private::MainLoopBase&,
lldb_private::transport::JSONTransport<lldb_protocol::mcp::ProtocolDescriptor>::MessageHandler&)
+ 1274
frame #1: 0x00007ff5d1140ad8
liblldb.so.23.0`lldb_private::MainLoopPosix::Run() + 408
frame #2: 0x00007ff5d1760c1c
liblldb.so.23.0`std::thread::_State_impl<std::thre
Fix by resetting the read handle before calling `OnClosed()`, so no
transport members are accessed after the handler potentially destroys
the transport.
Then when the scope is left, the destructor is called for the new
read_handle local variable and it is cleaned up.
New unit tests added that fail without this change. With the change, the
custom 'ai' script (allows end user locally to communicate lldb context
to agent backend via a spun up MCP server: "protocol-server start MCP
listen://localhost:{port}") now successfully concludes without this
crash
Assisted with: claude
Commit: 8175b06c438f62f5132bc1167e99e1938e94c4af
https://github.com/llvm/llvm-project/commit/8175b06c438f62f5132bc1167e99e1938e94c4af
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
A llvm/test/tools/dxil-dis/di-subrangetype.ll
Log Message:
-----------
[DirectX] Replace DISubrangeType with DIBasicType (#197471)
DISubrangeType did not exist in LLVM 3.7.
Commit: 1133ca752dd8358199892095ba8b4566a18c04b9
https://github.com/llvm/llvm-project/commit/1133ca752dd8358199892095ba8b4566a18c04b9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
Log Message:
-----------
[Offload] Fix llvm-gpu-loader after new argument (#198681)
Summary:
New argument added but was not included here. This gets out of sync just
because there's no reasonable way to build offload and this tool, it's
an unsolvable phase ordering problem so we just dlopen it.
Commit: cec3a524e3e865a1092b69735efdf12a3dedd5e5
https://github.com/llvm/llvm-project/commit/cec3a524e3e865a1092b69735efdf12a3dedd5e5
Author: eiytoq <eiytoq at outlook.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.integer.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.verify.cpp
Log Message:
-----------
[libc++] Refactor `std::midpoint` tests and add constraint checks (#175388)
Refactor the `std::midpoint` tests and replace the verify test with
constraint checks.
Commit: b8456ac0c299dd2fd36c5521db8bedd010ab8dbe
https://github.com/llvm/llvm-project/commit/b8456ac0c299dd2fd36c5521db8bedd010ab8dbe
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M mlir/lib/Target/LLVM/CMakeLists.txt
Log Message:
-----------
[MLIR][CMake] Downgrade ocloc not found diagnostic from WARNING to STATUS (#198296)
When ocloc is not found, the CMake configuration emits a WARNING which
can be noisy for users who have no interest in Intel XeVM native binary
compilation (e.g., those targeting only AMDGPU or NVPTX). Downgrade the
diagnostic to STATUS since this is an expected configuration when ocloc
is not installed.
For example:
```bash
CMake Warning at /llvm-project/mlir/lib/Target/LLVM/CMakeLists.txt:246 (message):
ocloc not found, MLIRXeVMTarget will not be able to use ocloc for native
binary compilation.
```
Commit: be0ba5cb78ed702cc3bcdb1a667ce52615f54bbe
https://github.com/llvm/llvm-project/commit/be0ba5cb78ed702cc3bcdb1a667ce52615f54bbe
Author: lntue <lntue at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libc/src/__support/math/issignaling.h
Log Message:
-----------
[libc][math] Undefine issignaling macro for issignaling implementation. (#198686)
Commit: 301e89fa4456a983d9b0c100e8b211a6551ad81a
https://github.com/llvm/llvm-project/commit/301e89fa4456a983d9b0c100e8b211a6551ad81a
Author: hev <wangrui at loongson.cn>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
R llvm/test/CodeGen/LoongArch/lasx/ir-instruction/avg.ll
R llvm/test/CodeGen/LoongArch/lsx/ir-instruction/avg.ll
Log Message:
-----------
[LoongArch] Revert "Add patterns to support vector type average instructions generation" (#198306)
Fixes #198254
Commit: 05c1a266b84d811f7869d8326674da4f5aee7a89
https://github.com/llvm/llvm-project/commit/05c1a266b84d811f7869d8326674da4f5aee7a89
Author: Wenju He <wenju.he at intel.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libclc/opencl/lib/generic/relational/bitselect.cl
R libclc/opencl/lib/generic/relational/bitselect.inc
Log Message:
-----------
[libclc][NFC] Use clc/shared/ternary_def.inc for bitselect (#198495)
Delete opencl/lib/generic/relational/bitselect.inc
Commit: f7fd42bbf437be02c742bafc25fa4a700e954a28
https://github.com/llvm/llvm-project/commit/f7fd42bbf437be02c742bafc25fa4a700e954a28
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M llvm/test/tools/dsymutil/X86/modules.m
Log Message:
-----------
[dsymutil] Update modules test for divergence between the two linkers (#198661)
The parallel linker keeps DW_AT_GNU_dwo_id on linked CUs while the
classic linker drops it. Gate the four `CHECK-NOT: DW_AT_GNU_dwo_id`
assertions to a CLASSIC-only prefix so the test reflects the actual,
intended behavior of each linker.
Commit: d691b3db682e1524956373de9f25797fc881b31e
https://github.com/llvm/llvm-project/commit/d691b3db682e1524956373de9f25797fc881b31e
Author: Yihan Wang <yronglin777 at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/Tooling/Syntax/Tokens.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
Log Message:
-----------
[clang][tooling] Handle C++20 annot_module_name in syntax tokens (#198544)
The token collector will ignore all the annotation tokens, but IIUC, the
annot_module_name shoulde not be ignored.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 6113e162c3261522ca02ce8d28ab9bf5fcdff807
https://github.com/llvm/llvm-project/commit/6113e162c3261522ca02ce8d28ab9bf5fcdff807
Author: Yihan Wang <yronglin777 at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
A clang-tools-extra/clangd/test/non-existent.test
M clang/lib/Parse/Parser.cpp
A clang/test/Modules/cxx20-fatal-module-loader-error.cpp
Log Message:
-----------
[clang] Don't cutoff parsing when load C++ named module failed (#187858)
Since https://github.com/llvm/llvm-project/pull/173130, clang convert
module name pp-token sequence into a annot_module_name token for C++20
module/import directive. This PR follows the changes and correct the
module name handling in clangd.
This PR avoid parsing cutoff when hit an C++ named module loading.
Fixes https://github.com/llvm/llvm-project/issues/181358.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 87fb6b572e2332869d3d001d81acf781b44fb38c
https://github.com/llvm/llvm-project/commit/87fb6b572e2332869d3d001d81acf781b44fb38c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/source/Plugins/Platform/WebAssembly/PlatformWebInspectorWasm.cpp
Log Message:
-----------
[lldb] Recheck connection state in webinspector-wasm EnsureConnected (#198701)
m_remote_platform_sp can be non-null while the remote is disconnected
(PlatformWasm::ConnectRemote installs the pointer before the connect
call). Also check IsConnected() so a prior failed connect doesn't make
EnsureConnected falsely report success.
Commit: a88714bd5557a5df51c80f2748bea4390e0f96d5
https://github.com/llvm/llvm-project/commit/a88714bd5557a5df51c80f2748bea4390e0f96d5
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/test/ELF/loongarch-relocatable-align.s
M lld/test/ELF/riscv-relocatable-align.s
Log Message:
-----------
[ELF] -r: Don't let a weaker offset-0 R_RISCV_ALIGN suppress ALIGN synthesis (#198147)
PR #151639 skipped synthesizing the section-start R_RISCV_ALIGN whenever
any R_RISCV_ALIGN existed at offset 0, regardless of its alignment. This
works with newer LLVM integrated assembler (#150816).
However, older MC and GNU Assembler as of today
(https://sourceware.org/bugzilla/show_bug.cgi?id=33236) can carry a weak
offset-0 R_RISCV_ALIGN (addend 2 => align 4) while its real alignment
requirement comes from a `.option norelax` .balign, which emits no
relocation.
Fix the condition to not suppress synthesis.
Link: https://sourceware.org/bugzilla/show_bug.cgi?id=33236#c4
Commit: c5ba59537ef5f5f37817714ef557b225f4f8caa8
https://github.com/llvm/llvm-project/commit/c5ba59537ef5f5f37817714ef557b225f4f8caa8
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/test/CodeGen/ARM/2012-08-27-CopyPhysRegCrash.ll
Log Message:
-----------
[ARM][test] Replace removed @llvm.arm.neon.vshiftn calls with lshr+trunc [NFC] (#198693)
@llvm.arm.neon.vshiftn was removed in 170daafe015f (2014), which
intentionally replaced the intrinsic with the plain shift+truncate IR
sequence. The 2012-08-27-CopyPhysRegCrash.ll regression test was added
before that change and still calls the removed intrinsic; the call
silently lowers to an external call because @llvm.arm.neon.vshiftn no
longer corresponds to any known intrinsic.
Rewrite the two call sites with the lshr+trunc form the removal commit
documents as the canonical replacement. The test only checks that
codegen does not crash, so behaviour is preserved.
Commit: 3b3a3c2062400d8571d64f57e7fd7bc520824162
https://github.com/llvm/llvm-project/commit/3b3a3c2062400d8571d64f57e7fd7bc520824162
Author: Raul Tambre <raul at tambre.ee>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[cmake][runtimes] Refactor passthrough option handling into a macro (#198504)
Deduplicates code and enables making fixes in just one place instead of two.
Commit: 44fc3b38512401fd34393ae1ad46ef27a73ebfb4
https://github.com/llvm/llvm-project/commit/44fc3b38512401fd34393ae1ad46ef27a73ebfb4
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fopen_test.cpp
M libc/test/src/stdio/rewind_test.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
M libc/test/src/sys/socket/linux/shutdown_test.cpp
Log Message:
-----------
[libc] Use scope_exit to clean up resources in tests (#196120)
Simplify socket and FILE unit tests by using the `scope_exit` helper to
automatically clean up resources (sockets and FILE pointers), preventing
leaks on test failures.
Assisted by Gemini.
Commit: 9f12368f6893579797df6e06e352e3de02fa9278
https://github.com/llvm/llvm-project/commit/9f12368f6893579797df6e06e352e3de02fa9278
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/CodeMetrics.h
M llvm/lib/Analysis/CodeMetrics.cpp
Log Message:
-----------
[Analysis][NFC] Reduce memory usage of CodeMetrics (#198518)
FunctionSpecializer will keep the CodeMetrics of many functions at the
same time, causing the hash table in CodeMetrics to substantially
contribute to overall memory usage. Therefore, replace the DenseMap with
a vector indexed by block number.
On ArrayFunctionsRegistration.bc, this reduces the memory usage at the
time IPSCCP runs from 655.0MiB to 577.5MiB (measured with massif).
Commit: 376870209db2e3ad33b082f839a7899c2972cc93
https://github.com/llvm/llvm-project/commit/376870209db2e3ad33b082f839a7899c2972cc93
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
Log Message:
-----------
[GlobalISel] Add tablegen pattern for shufflevector combine (#198514)
Related to #197693 which filters the worklist to only include opcodes
for which there are combines. It's mostly handled by canMatchOpcode
which is tablgen'ed but some old combines like this shufflevector one
are missing a tablegen pattern and require extra handling. This adds a
simple wrapper so it gets picked up by canMatchOpcode and we can delete
the C++ handling.
I was expecting this to be NFC but it does change codegen on AMDGPU. I
tried re-ordering the patterns so the old shuffle combine comes before
this one but it didn't help.
Assisted-by: codex
Commit: 5cebdadd948fc9f0d934103ed3967d116631008c
https://github.com/llvm/llvm-project/commit/5cebdadd948fc9f0d934103ed3967d116631008c
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/sched.barrier.inverted.mask.ll
M llvm/test/CodeGen/AMDGPU/si-split-load-store-alias-info.ll
Log Message:
-----------
[AMDGPU][test] Replace invalid intrinsic calls in two tests [NFC] (#198696)
These tests reference intrinsics that do not exist:
- sched.barrier.inverted.mask.ll calls @llvm.amdcn.s.nop, a typo of
@llvm.amdgcn.s.nop that has been in the test since it was added in
f1156fb622a7.
- si-split-load-store-alias-info.ll calls
@llvm.amdgcn.wmma.f32.16x16x16.f32, which has never existed (only the
.f16/.bf16/.fp8/.bf8 input variants are defined). The intrinsic was only
used to keep the loaded value alive between the load and the store; an
fadd serves the same purpose while exercising the same alias-info
propagation path being tested.
The dyn_cast<IntrinsicInst> we rely on in passes such as
ReplaceWithVeclib only checks the "llvm." prefix and does not validate
the intrinsic name, so these calls have silently become IntrinsicInst
with Intrinsic::not_intrinsic. Fix the tests so that strengthening the
check does not turn into a spurious regression.
Assisted-by: Opus 4.7
Commit: b00e62462cb184da0f0d1f58e72f41c13e2f0123
https://github.com/llvm/llvm-project/commit/b00e62462cb184da0f0d1f58e72f41c13e2f0123
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
Log Message:
-----------
[AMDGPU] Enable support for Wave64 on gfx13 (#198629)
This is a temporary workaround needed to unblock ongoing GFX13-related
changes. This will be removed by
https://github.com/llvm/llvm-project/pull/197991
Commit: 9c768f859dcabe7950f97ef3ee2c3b6f117da8ac
https://github.com/llvm/llvm-project/commit/9c768f859dcabe7950f97ef3ee2c3b6f117da8ac
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/test/DebugInfo/COFF/fortran-basic.ll
Log Message:
-----------
[DebugInfo][test] Replace Intel-proprietary intrinsics in fortran-basic.ll [NFC] (#198697)
The test was originally captured from Intel's Fortran compiler and
references two intrinsics that have never existed in upstream LLVM:
- @llvm.intel.subscript.p0.i64.i64.p0.i64 was only declared and never
called, so it can simply be dropped.
- @llvm.for.cpystr.i64.i64.i64 lowers to a string copy; rewrite the one
call site using @llvm.memcpy.p0.p0.i64. The test only checks the emitted
CodeView debug info, so the precise lowering of the string copy does not
matter.
Commit: ce002b2633890203683f06a10fddb09ff2a2bc00
https://github.com/llvm/llvm-project/commit/ce002b2633890203683f06a10fddb09ff2a2bc00
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/test/RISCV/branch-no-secondary-entry.s
A bolt/test/RISCV/dynamic-link.s
M bolt/test/RISCV/fake-label-no-entry.c
M bolt/test/RISCV/function-alignment.s
M bolt/test/RISCV/internal-func-reloc.s
M bolt/test/RISCV/lit.local.cfg
M bolt/test/RISCV/load-store.s
A bolt/test/RISCV/pie.s
A bolt/test/RISCV/reloc-32.s
M bolt/test/RISCV/reloc-abs.s
A bolt/test/RISCV/reloc-bb-split-rv32.s
M bolt/test/RISCV/reloc-bb-split.s
M bolt/test/RISCV/reloc-branch.s
M bolt/test/RISCV/reloc-call.s
M bolt/test/RISCV/reloc-got.s
M bolt/test/RISCV/reloc-jal.s
M bolt/test/RISCV/reloc-jt.s
M bolt/test/RISCV/reloc-label-diff.s
A bolt/test/RISCV/reloc-lohi-rv32.s
A bolt/test/RISCV/reloc-pcrel-rv32.s
M bolt/test/RISCV/reloc-pcrel.s
M bolt/test/RISCV/reloc-rvc-branch.s
M bolt/test/RISCV/reloc-rvc-jump.s
M bolt/test/RISCV/reorder-blocks-reverse.s
A bolt/test/RISCV/static-pie.s
M bolt/test/RISCV/validate-secondary-entry-point.s
Log Message:
-----------
[BOLT][RISCV] Add RV32 bare-metal support (#193913)
Enable BOLT to read, analyze, and rewrite 32-bit RISC-V (RV32) ELF
binaries. This lets us use BOLT as the core of our internal binary
analysis tooling for RV32 targets.
Scope is limited to statically linked, non-PIE programs. PLT, GOT,
dynamic relocations, TLS, and the instrumentation runtime are out of
scope for this change yet, and we plan to support those stuff in future
changes.
Commit: 2e06e008a7b44fab5c0d7fbc4331c696b5e19b06
https://github.com/llvm/llvm-project/commit/2e06e008a7b44fab5c0d7fbc4331c696b5e19b06
Author: Raul Tambre <raul at tambre.ee>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[cmake][runtimes] Pass variable type for passthrough CMake options (#198505)
Passing the types affects the handling of `PATH` cache variables.
The motivating case is setting `COMPILER_RT_INSTALL_LIBRARY_DIR` without `CMAKE_BINARY_DIR` getting prepended to it.
Commit: f7424c7486397dc350952873fc3063fe75bf824d
https://github.com/llvm/llvm-project/commit/f7424c7486397dc350952873fc3063fe75bf824d
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/SemaSYCL/sycl-cconv.cpp
Log Message:
-----------
[clang][SYCL] Enable possibility for device-only calling convention (#198479)
After 94ca49099ef77751a33e4babe41b2ae03ff228e1 DPC++ downstream
experienced failures. This happened because it has a calling convention
attribute that applies calling convention valid only for device targets
which given SYCL model is quite unusual and was not expected by
94ca49099ef77751a33e4babe41b2ae03ff228e1 . Even though there is no
device-only calling conventions, we should not prevent a possibility for
it. So this patch preserves the semantics of the device over those of
the host while also preserving device side diagnostics if they are less
severe than the host.
Commit: d3be056162639a4dc3db1155b95dc6ad97d893c8
https://github.com/llvm/llvm-project/commit/d3be056162639a4dc3db1155b95dc6ad97d893c8
Author: Gábor Spaits <gaborspaits1 at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/MachineVerifier/test_g_extract_subvector.mir
M llvm/test/MachineVerifier/test_g_insert_subvector.mir
M llvm/unittests/CodeGen/GlobalISel/MachineIRBuilderTest.cpp
Log Message:
-----------
[GlobalISel]Allow mixing fixed and scalable vectors for G_INSERT_SUBVECTOR and G_EXTRACT_SUBVECTOR (#198012)
Allow `G_INSERT_SUBVECTOR` and `G_EXTRACT_SUBVECTOR` to
be used with a scalable and a fix length vector types, similar to the
OP's SelectionDAG version.
Commit: c7447873813940fd241cec4aefc822d33a2fab4f
https://github.com/llvm/llvm-project/commit/c7447873813940fd241cec4aefc822d33a2fab4f
Author: Daniel Donenfeld <ddonenfeld at nvidia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
A llvm/test/Transforms/InstCombine/bfloat-bitcast-fcmp-zero.ll
Log Message:
-----------
[InstCombine] Do not crash in compare of bitcast pattern (#198389)
The pattern matching `fcmp oeq/une (bitcast X), 0.0` assumes that X is
an integer, but it is possible to cast between float types. Add a check
for X being an integer type to fix the compiler crashing on this
pattern. A lit test for this failure is also added.
Commit: b3d60af5baeafd20e0ff39084623061aff164607
https://github.com/llvm/llvm-project/commit/b3d60af5baeafd20e0ff39084623061aff164607
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/Analysis/LiveVariables.cpp
Log Message:
-----------
[NFC][Liveness] Document `TransferFunctions::Visit` (#198617)
The logic of `TransferFunctions::Visit` was confusing, which led to the
introduction of a "What is this?" comment when this method was touched
by an earlier code cleanup effort.
This commit replaces the "What is this?" comment block with comments
that clarify the roles of the main parts of this method.
Commit: 0bb693e53651d514192c6c8f211657ed17852f8b
https://github.com/llvm/llvm-project/commit/0bb693e53651d514192c6c8f211657ed17852f8b
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/test/Transforms/Coroutines/coro-materialize.ll
Log Message:
-----------
[Coroutines] Expand materialization tests (NFC) (#198571)
Expand checks so they check that the operation has been rematerialized,
and computed values are not being stored.
Assisted-by: Claude Code
Commit: 0898643966591dca4063ab10b306bceac4eb0c21
https://github.com/llvm/llvm-project/commit/0898643966591dca4063ab10b306bceac4eb0c21
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/test/API/commands/platform/process/list/TestProcessList.py
M lldb/test/API/python_api/process/TestProcessAPI.py
Log Message:
-----------
[lldb] Do not include argv[0] to the process info arguments. (#198262)
The process file name is stored separately from other command line args.
and argv[0] may differ from the executable path if process was created
using the `exec*()` variants.
Commit: d0b359ac20bf5493c04cebdd938cc7464efc1b44
https://github.com/llvm/llvm-project/commit/d0b359ac20bf5493c04cebdd938cc7464efc1b44
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
M mlir/test/Target/SPIRV/logical-ops.mlir
Log Message:
-----------
[mlir][SPIR-V] Add OpIsNormal op (#198593)
Commit: 7db18ef27472ff7d26f7029f7bf87511c63fda88
https://github.com/llvm/llvm-project/commit/7db18ef27472ff7d26f7029f7bf87511c63fda88
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][SPIR-V] Fold IAddCarry/[SU]MulExtended constants into spirv.Constant struct (#198633)
Emit a single spirv.Constant of struct type instead of the spirv.Undef +
two spirv.CompositeInsert workaround
Commit: 24b74dd3e568184e4dc59f73b7447b7d43a4e302
https://github.com/llvm/llvm-project/commit/24b74dd3e568184e4dc59f73b7447b7d43a4e302
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
A lldb/test/API/functionalities/duplicate-archive-members/Makefile
A lldb/test/API/functionalities/duplicate-archive-members/TestDuplicateMembers.py
A lldb/test/API/functionalities/duplicate-archive-members/a.c
A lldb/test/API/functionalities/duplicate-archive-members/main.c
A lldb/test/API/functionalities/duplicate-archive-members/sub1/a.c
R lldb/test/API/macosx/duplicate-archive-members/Makefile
R lldb/test/API/macosx/duplicate-archive-members/TestDuplicateMembers.py
R lldb/test/API/macosx/duplicate-archive-members/a.c
R lldb/test/API/macosx/duplicate-archive-members/main.c
R lldb/test/API/macosx/duplicate-archive-members/sub1/a.c
Log Message:
-----------
[lldb] Move TestDuplicateMembers.py (#198532)
`TestDuplicateMembers.py` is not macosx specific and does not run on
Windows because the `ar` utility which does not exist on Windows.
This patch moves the test to the `test/API/functionalities` directory.
Commit: d56af3e634a78a2697c9362fe5974c82451177ab
https://github.com/llvm/llvm-project/commit/d56af3e634a78a2697c9362fe5974c82451177ab
Author: ShaofengWu <32605902+ShaofengWu at users.noreply.github.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[DAG] isKnownNeverZero - add computeKnownBits fallback DemandedElts handling and tests (#198691)
Add DemandedElts to fallback cases in isKnownNeverZero
Fixes #183041
Tests:
AND and XOR as fallback cases, can see the improvement after code updated.
Commit: 27dfeea7b575cee1561d06a68165b4ab93b358a7
https://github.com/llvm/llvm-project/commit/27dfeea7b575cee1561d06a68165b4ab93b358a7
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
Log Message:
-----------
[mlir][SPIRVToLLVM] Add missing conversions for GL ops (#198722)
Add direct LLVM intrinsic lowerings for spirv.GL.Pow, spirv.GL.Fma,
spirv.GL.UMax, spirv.GL.UMin, and spirv.GL.SAbs
Commit: 7a6e6dcc2dfef3fdd416e705d8a82df95bdef515
https://github.com/llvm/llvm-project/commit/7a6e6dcc2dfef3fdd416e705d8a82df95bdef515
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/AST/Decl.cpp
M clang/test/AST/ast-dump-linkage-internal.cpp
Log Message:
-----------
Revert "[clang] Give unnamed namespaces internal linkage" (#198738)
This was causing assertion failures:
Assertion `D->getCachedLinkage() == LV.getLinkage()' failed.
see discussion on the original PR.
Reverts llvm/llvm-project#198215
Commit: 2e006e9818f27573f42fb38ca16041b9594e9e7a
https://github.com/llvm/llvm-project/commit/2e006e9818f27573f42fb38ca16041b9594e9e7a
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libc/include/unistd.yaml
Log Message:
-----------
[libc] Change POSIX to posix in unistd.yaml (#198745)
1. In `header.py`, the canonical identifiers for standards are
explicitly defined in lowercase and mapped to their uppercase/pretty
names for display:
```python
# All the canonical identifiers are in lowercase for easy maintenance.
# This maps them to the pretty descriptions to generate in header comments.
LIBRARY_DESCRIPTIONS = {
"stdc": "Standard C",
"posix": "POSIX",
"bsd": "BSD",
"gnu": "GNU",
"linux": "Linux",
"uefi": "UEFI",
"svid": "SVID",
}
```
3. Later in the same file, when generating library descriptions, it
checks for the lowercase string header.py:
# If the header itself is in POSIX, just call it that.
```python
if "posix" in self.standards:
return descriptions["posix"]
```
Commit: 4a5461735d71389e82f2bbd21d9991930bd7e823
https://github.com/llvm/llvm-project/commit/4a5461735d71389e82f2bbd21d9991930bd7e823
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/non-lcssa-phi-in-inner-exit.ll
Log Message:
-----------
[LoopInterchange] Detect unsupported PHIs in inner loop exit block correctly (#194323)
In the legality check phase, `areInnerLoopExitPHIsSupported` inspects
the PHI nodes in the exit block of the inner loop and bail out if
certain unsupported PHI node is found. This functions had several
issues:
- Conflating with the inner loop and the outer loop
- Unnecessarily conservative when LCSSA-chains exist, which will be
handled by `simplifyLCSSA` function
This patch fixes the above issues to detect unsupported PHIs correctly.
Fix #193746
Commit: 4813043e82d0b2bee8f8a56026dd06d577a75f6e
https://github.com/llvm/llvm-project/commit/4813043e82d0b2bee8f8a56026dd06d577a75f6e
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/test/API/functionalities/breakpoint/delayed_breakpoints/TestDelayedBreakpoint.py
Log Message:
-----------
[lldb] Update TestDelayedBreakpoint test to use the right setting (#198751)
This test should regardless of which setting is the default for delayed
breakpoints.
Commit: fb826a150f2b33cb391f771a13f3f7e5d924f59b
https://github.com/llvm/llvm-project/commit/fb826a150f2b33cb391f771a13f3f7e5d924f59b
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][SPIR-V] Add ISubBorrow canonicalization patterns (#198637)
Mirror the IAddCarry folder, rewrite isubborrow(x, 0) to <x, 0> via
CompositeConstruct, and fold the all-constant case into a single
spirv.Constant struct
Commit: 6914853f465268856da7f814cbc9c10ff438984d
https://github.com/llvm/llvm-project/commit/6914853f465268856da7f814cbc9c10ff438984d
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-fpclassify-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Convert math.isnormal to spirv.IsNormal (#198607)
Commit: 57c6538d2e2938aea85616cdd8673a8067e67ccc
https://github.com/llvm/llvm-project/commit/57c6538d2e2938aea85616cdd8673a8067e67ccc
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__mutex/lock_guard.h
M libcxx/include/__cxx03/__mutex/mutex.h
M libcxx/include/__cxx03/mutex
M libcxx/test/extensions/clang/thread/thread.mutex/lock.verify.cpp
M libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_lock_guard.pass.cpp
M libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_lock_unlock.pass.cpp
M libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_missing_unlock.verify.cpp
M libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_requires_capability.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #117497 and #154078 (#198731)
Commit: 6a4708d361dcbb55025b8b0e423a738c3ed9abdd
https://github.com/llvm/llvm-project/commit/6a4708d361dcbb55025b8b0e423a738c3ed9abdd
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__cxx03/__iterator/aliasing_iterator.h
M libcxx/include/__cxx03/__type_traits/is_char_like_type.h
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #130573 (#198734)
Commit: 3a7080742ea3b2dc05da0b7476f2c08b6fc33ada
https://github.com/llvm/llvm-project/commit/3a7080742ea3b2dc05da0b7476f2c08b6fc33ada
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/ninf.ll
M llvm/test/Transforms/LoopInterchange/reduction2mem.ll
Log Message:
-----------
[LoopInterchange] Drop ninf from instructions involved in interchange (#197923)
Applying loop-interchange can alter the order of operations in reduction
calculations. If these operations involve floating‑point arithmetic, the
results may change as well. If an instruction in the chain has the
`ninf` flag, it means that reordering can produce a poison value, which
may lead to undefined behavior even though the original program is not.
This patch addresses this issue by dropping `ninf` flags from the
instructions involved in the transformation, as discussed in #148851.
Fixes #148851.
Commit: 6d102f76bc81ce4cbaabbe1b2800f2021a034a02
https://github.com/llvm/llvm-project/commit/6d102f76bc81ce4cbaabbe1b2800f2021a034a02
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__cxx03/__random/piecewise_constant_distribution.h
M libcxx/include/__cxx03/__random/piecewise_linear_distribution.h
M libcxx/include/__cxx03/locale
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_en_US.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_overlong.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_string_en_US.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_en_US.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_string_en_US.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/ctor_iterator.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/param_ctor_iterator.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/ctor_iterator.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/param_ctor_iterator.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #161049 (#198735)
Commit: e418c931c420daf7cf0a5a692b25e422d59a9180
https://github.com/llvm/llvm-project/commit/e418c931c420daf7cf0a5a692b25e422d59a9180
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
A libcxx/test/libcxx-03/containers/associative/map/abi.compile.pass.cpp
A libcxx/test/libcxx-03/containers/associative/set/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/associative/unord.map/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/associative/unord.set/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/deque/abi.compile.pass.cpp
A libcxx/test/libcxx-03/containers/sequences/forwardlist/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/list/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/vector.bool/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/vector/abi.compile.pass.cpp
A libcxx/test/libcxx-03/strings/basic.string/abi.compile.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick tests from #154559 (#198736)
Commit: b57ab3deaa53594ddaf9b3b8e9b72da43fc6d449
https://github.com/llvm/llvm-project/commit/b57ab3deaa53594ddaf9b3b8e9b72da43fc6d449
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
Log Message:
-----------
[DAGCombiner] Don't fold cheap extracts of multiple use splats (#134120)
For out-of loop sum reductions, the loop vectorizer will emit an initial
reduction vector like this in the preheader, where there might be an
initial value to begin summing from:
```llvm
%v = insertelement <vscale x 4 x i32> zeroinitializer, i32 %initial, i64 0
```
On RISC-V we currently lower this quite poorly with two splats of 0, one
at m1 and one at m2:
vsetvli a1, zero, e32, m1, ta, ma
vmv.v.i v10, 0
vsetvli zero, zero, e32, m1, tu, ma
vmv.s.x v10, a0
vsetvli a0, zero, e32, m2, ta, ma
vmv.v.i v8, 0
vmv1r.v v8, v10
The underlying reason is that we fold `ty1 extract_vector(ty2 splat(V)))
-> ty1 splat(V)` even if the splat has multiple uses:
```
t5: nxv4i32 = splat_vector Constant:i64<0>
t12: nxv2i32 = extract_subvector t5, Constant:i64<0>
t2: i64,ch = CopyFromReg t0, Register:i64 %0
t15: nxv2i32 = RISCVISD::VMV_S_X_VL t12, t2, Register:i64 $x0
t16: nxv4i32 = insert_subvector t5, t15, Constant:i64<0>
```
>From what I understand on AArch64 this is fine because `ty1 splat(V)`
and `ty2 splat(V)` will produce the same MachineInstr in the same
register class, which can be deduplicated.
On RISC-V the splats might have two separate register classes so we end
up creating a second splat.
This fixes this by creating a new splat only if the extract isn't cheap.
If an extract is cheap it should just be a subregister extract, which
shouldn't introduce any instructions on RISC-V, so there's no benefit to
folding.
This on its own caused regressions on AArch64: I've included two commits
here so reviewers can see them. The second commit works around it by
enabling the AArch64 specific combine in more places, without the
`TLI.isExtractSubvectorCheap` restriction. This was a quick hack and
there's likely a better way to fix this, so I'm open to any suggestions
To prevent regressions on Hexagon this is restricted to scalable
vectors.
Commit: 379194cca734c505c4ee4d3a67d89e9acf7aa9ed
https://github.com/llvm/llvm-project/commit/379194cca734c505c4ee4d3a67d89e9acf7aa9ed
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/CodeGen/MachineBlockHashInfo.cpp
M llvm/test/CodeGen/X86/machine-block-hash.mir
Log Message:
-----------
[CodeGen] Always print 64 bit hash value in MachineBlockHashInfoPrinterPass (#198598)
Hash length must be fixed-size. 0x prefix is counted against the width in
format_hex. Increasing from 16 to 18.
Commit: 5b168934d72d4f7ce6177c86bfea0961a0ccc4eb
https://github.com/llvm/llvm-project/commit/5b168934d72d4f7ce6177c86bfea0961a0ccc4eb
Author: Volodymyr Turanskyy <Volodymyr.Turanskyy at arm.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
A clang/test/SemaCXX/attr-modular-format.cpp
M libc/include/llvm-libc-macros/CMakeLists.txt
Log Message:
-----------
[libc] Fix modular printf attributes (#194003)
This fixes the validation error related to modular printf missing format attribute in C++ code by moving the validation after the implicit format attribute is added for builtins and known library functions.
This also adds a simple C++ test since the C code did compile successfully because the implicit attributes were added in time for the validation happening for C code.
Assisted-by: codex, reviewed and cross checked, also tested with ATfE,
by me. Modular printf reduced code size from ~37K to ~13K for int-only
printf sample.
Commit: 46ac7a66f96e4e284d4729f665bd1c3adcb7a9e5
https://github.com/llvm/llvm-project/commit/46ac7a66f96e4e284d4729f665bd1c3adcb7a9e5
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder-non-empty.ll
Log Message:
-----------
Revert "[SLP] Support ordered fadd reduction via reduction intrinsics" (#198756)
This caused assertion failures, see discussion on the original PR.
Reverts llvm/llvm-project#189451
Commit: 7af7cb067ae6a18fef318c48414f2f7035cf2cce
https://github.com/llvm/llvm-project/commit/7af7cb067ae6a18fef318c48414f2f7035cf2cce
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/Constants.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/CSKY/CSKYInstrInfoF1.td
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/Mips/MipsInstrFPU.td
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/Sparc/SparcInstrVIS.td
M llvm/lib/Target/SystemZ/SystemZOperands.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
Log Message:
-----------
[LLVM][ConstantFP] Replace uses of isExactlyValue(+/-0.0) with isPosZero/isNegZero. (#198496)
Commit: 77cdd6c20e760e43536c4cd60add852e27cc39e2
https://github.com/llvm/llvm-project/commit/77cdd6c20e760e43536c4cd60add852e27cc39e2
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
M llvm/test/tools/llvm-mca/AArch64/A64FX/A64FX-sve-instructions.s
Log Message:
-----------
[AArch64] Fix fmaxv/fminv/fmaxnmv/fminnmv/lasta/lastb sched info in A64FX (#198483)
I've been experimenting with a new TableGen warning on unused defs and
it found a couple bugs in the A64FX scheduling model [1]:
llvm/lib/Target/AArch64/AArch64SchedA64FX.td:2288:5: warning: def
'A64FXWrite_FMAXVD' appears to be unused
llvm/lib/Target/AArch64/AArch64SchedA64FX.td:2334:5: warning: def
'A64FXWrite_LAST_R' appears to be unused
It looks like similarly named defs were used where they should have been
and the microarchitecture manual [2] seems to confirm it.
[1] https://raw.githubusercontent.com/c-rhodes/llvm-project/860eb23fae9bd40b36bcc56534f3d43b36522173/tblgen-unused-defs-warnings.unique.txt
[2] https://github.com/fujitsu/A64FX/blob/master/doc/A64FX_Microarchitecture_Manual_en_1.8.pdf
Commit: b588ad80236770822c1f815fdabaf6a9e4d53b09
https://github.com/llvm/llvm-project/commit/b588ad80236770822c1f815fdabaf6a9e4d53b09
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang/test/Integration/OpenMP/atomic-compare.f90
Log Message:
-----------
[Flang][tests] Add a missing REQUIRES. (#198753)
A newly added test uses `x86_64-unknown-linux-gnu` as a triple, without
a `REQUIRES: x86-registered-target` line, so that it will fail in builds
of LLVM specific to other architectures.
Commit: 08abd965977cc53993a6200795e83c6148427d0a
https://github.com/llvm/llvm-project/commit/08abd965977cc53993a6200795e83c6148427d0a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/sad_variations.ll
A llvm/test/Transforms/PhaseOrdering/X86/sad.ll
A llvm/test/Transforms/PhaseOrdering/X86/sad_variations.ll
Log Message:
-----------
[X86] Update PSADBW tests to more closely match middle-end vector.reduce.add codegen (#198760)
The middle-end will detect vector.reduce.add patterns - update the
Codegen tests to use the intrinsics directly and add PhaseOrdering tests
to ensure vector.reduce.add intrinsics are created
Commit: 3e15a195d344c7cc487dffebbaf2b18779ff801b
https://github.com/llvm/llvm-project/commit/3e15a195d344c7cc487dffebbaf2b18779ff801b
Author: Piotr Balcer <piotr.balcer at intel.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M offload/test/CMakeLists.txt
M offload/test/unit/lit.cfg.py
M offload/test/unit/lit.site.cfg.in
Log Message:
-----------
[Offload] fix OffloadAPI unittests discovery (#198750)
Commit 3383f0d repointed LIBOMPTARGET_LIBRARY_DIR to a different
runtimes lib dir, but the unit lit config still derived the unittest
binary path from it. Pass the unittest directory explicitly instead.
Commit: 545b328758cbf2162093518628579ab1a6d676c2
https://github.com/llvm/llvm-project/commit/545b328758cbf2162093518628579ab1a6d676c2
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Strip VPRecipeBase::isScalarCast (NFC) (#197695)
This is done in preparation to consolidate more recipes into
VPInstruction.
Commit: 068c6c5c0c8a0555036a2ff09a99f486548e6e8d
https://github.com/llvm/llvm-project/commit/068c6c5c0c8a0555036a2ff09a99f486548e6e8d
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
Log Message:
-----------
[mlir][tosa] Remove unused `MulOperandsAndResultElementType` trait (#197968)
Removes an unused trait implementation.
Commit: 51279e7e0527a5dee6a5066521e16bc7ae26037d
https://github.com/llvm/llvm-project/commit/51279e7e0527a5dee6a5066521e16bc7ae26037d
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/test/Analysis/bstring_UninitRead.c
Log Message:
-----------
[analyzer] Fix false positive in CStringChecker for offset buffer arg… (#198346)
…uments
CStringChecker::checkInit() was checking the wrong array elements when
the buffer argument pointed into the middle of an array (e.g.,
memcpy(dst, &arr[i], size)). It was called with BufEnd instead of
BufStart, making the ElementRegion index off by (size-1), and the
element lookups were relative to array index 0 instead of the actual
buffer start offset.
Commit: 960d0e4644464cf81a4ad2c90699d901e8adf650
https://github.com/llvm/llvm-project/commit/960d0e4644464cf81a4ad2c90699d901e8adf650
Author: Adel Ejjeh <adel.ejjeh at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/inst-prefetch-hint.ll
A llvm/test/CodeGen/AMDGPU/inst-prefetch-inline-asm.ll
Log Message:
-----------
Reland "[AMDGPU] Account for inline asm size in inst_pref_size calculation" (#197227)
This relands commit 7ddee0b619f658cef905a69427ef9531fd1d229d (PR
#192306) which was reverted in 70a70e0ed664 (#197070) due to a missing
MC assembler parser case for the `instprefsize` MCExpr, breaking text
assembly roundtrip tests.
Fix:
- Add `"instprefsize"` to the `StringSwitch` in
`AMDGPUAsmParser::parsePrimaryExpr` so the MC assembler can parse
`instprefsize(...)` expressions emitted by `llc` in text assembly mode.
- Add roundtrip lit tests (`llc -filetype=asm | llvm-mc -filetype=obj |
llvm-objdump`) for both GFX11 and GFX12 to prevent regressions.
Confirmed by compiling the new lit test using the original commit that
it was failing and passes now.
_Original PR description_
> `SIProgramInfo::getFunctionCodeSize()` with `IsLowerBound=true` was
completely skipping inline assembly instructions, treating them as zero
bytes. This caused `amdhsa_inst_pref_size` to be severely underestimated
for kernels containing inline asm, defeating instruction prefetch on
gfx11+.
>
> Use MCExpr label subtraction (`.Lfunc_end - func_sym`) to compute
exact function code size, resolved at assembly time. Add a new
`AMDGPUMCExpr` variant (`AGVK_InstPrefSize`) to compute
`min(divideCeil(codeSize, cacheLineSize), maxFieldVal)`.
>
> Remove the `IsLowerBound` parameter from `getFunctionCodeSize()` as it
is no longer needed.
Assisted-by: Claude Code Opus.
Commit: e83f597dc3817e7017d867bc6cdecf7a3ff34846
https://github.com/llvm/llvm-project/commit/e83f597dc3817e7017d867bc6cdecf7a3ff34846
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
Log Message:
-----------
[lldb-dap][windows] skip runInTerminal related tests (#198764)
The following tests fail at desk. This is likely a regression introduced
by
https://github.com/llvm/llvm-project/commit/a614cd391a402c8682c7b4781121eab07da09ec7.
Skip the tests on Windows to unblock the bots.
https://github.com/llvm/llvm-project/issues/198763
Commit: f9585141ff3bc78ae7830c9f39ce562d660c5065
https://github.com/llvm/llvm-project/commit/f9585141ff3bc78ae7830c9f39ce562d660c5065
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/test/CIR/CodeGen/call.cpp
Log Message:
-----------
[CIR] Lower calling through a variable (#198672)
We managed to miss a condition when lowering emitCallee, where a
DeclRefExpr referenced a function object. This patch adds that
condition, which will result in these being lowered properly as an
indirect call.
Commit: 8e868c589e79724402bc2d8ffd6fb919aace7ca3
https://github.com/llvm/llvm-project/commit/8e868c589e79724402bc2d8ffd6fb919aace7ca3
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Fix convoluted logic in simpl ext-last-lane (#196355)
Checking the users is unnecessary; if it is single-scalar, it means the
same value is splatted across all lanes. Also, the transformation does
not depend on the Plan being unrolled.
Commit: 720065512309a7514b4eafcf13fd4764e0189107
https://github.com/llvm/llvm-project/commit/720065512309a7514b4eafcf13fd4764e0189107
Author: Łukasz Plewa <lukasz.plewa at intel.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
Log Message:
-----------
[offload][l0] Clear delayed copy lists after the copy (#198786)
Commit: 5c6c424a50b840a39a6410a490af668a26d3a97a
https://github.com/llvm/llvm-project/commit/5c6c424a50b840a39a6410a490af668a26d3a97a
Author: Alan Li <me at alanli.org>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/unittests/Dialect/MemRef/CMakeLists.txt
A mlir/unittests/Dialect/MemRef/MemRefUtilsTest.cpp
Log Message:
-----------
[mlir/memref] handle rank-0 contiguous check (#198541)
Commit: 8ef411a3bc9d1820144211883f795446fde71386
https://github.com/llvm/llvm-project/commit/8ef411a3bc9d1820144211883f795446fde71386
Author: Dmitry Chigarev <dmitry.chigarev at intel.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[MLIR][XeGPU] Avoid chained-reductions in multi_reduction unrolling (#198307)
The PR adds a new unrolling pattern for `vector.multi_reduction` to the
`xegpu-blocking` pass. In comparison with [the upstream reduction
unrolling](https://github.com/llvm/llvm-project/blob/2da84a8307e4ef729458d990b221650a5da22639/mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp#L372),
the new pattern performs partial row-wise reductions via elementwise
ops, instead of generating a chain of several multi-reduction ops:
```mlir
// reduction to unroll:
// tile-shape: [8x16]
vector.multi_reduction <add> %vec, %cst : vector<8x48xf32> to vector<8xf32>
// upstream unrolling:
%3 = vector.multi_reduction <add>, %tile_0, %cst [1] : vector<8x16xf32> to vector<8xf32>
%4 = vector.multi_reduction <add>, %tile_1, %3 [1] : vector<8x16xf32> to vector<8xf32>
%5 = vector.multi_reduction <add>, %tile_2, %4 [1] : vector<8x16xf32> to vector<8xf32>
// new xegpu-unrolling
%3 = arith.addf %tile_0, %tile_1 : vector<8x16xf32>
%4 = arith.addf %3, %tile_2 : vector<8x16xf32>
%5 = vector.multi_reduction <add>, %4, %cst [1] : vector<8x16xf32> to vector<8xf32>
```
---------
Signed-off-by: dchigarev <dmitry.chigarev at intel.com>
Commit: 3c89e07b58cefa99baae69f2b7b1b31cd20d4959
https://github.com/llvm/llvm-project/commit/3c89e07b58cefa99baae69f2b7b1b31cd20d4959
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 5c6c424 (#198787)
This fixes 5c6c424a50b840a39a6410a490af668a26d3a97a.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 68908a79815cc14fac8da46944bc25b3b429ef55
https://github.com/llvm/llvm-project/commit/68908a79815cc14fac8da46944bc25b3b429ef55
Author: Marco Elver <elver at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/docs/AllocToken.rst
A clang/test/CodeGen/alloc-token-inline.c
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/Transforms/Inline/alloc-token.ll
Log Message:
-----------
[AllocToken] Propagate !alloc_token through inlined allocation wrappers (#198535)
Simple inline allocation wrappers have been preventing AllocToken
coverage for such callsites. Instead of converting such inline wrappers
to macros, we can support covering standard allocation calls in inline
allocation wrappers when inlined.
When an allocation wrapper with malloc/alloc_size attributes is inlined,
propagate its call-site !alloc_token onto return-value producing calls
exposed by inlining, so the late AllocToken pass assigns the correct
type-derived token even in default (non-extended) mode.
Propagation is restricted to calls producing the return-value(s) that
the wrapper actually returns. This keeps unrelated calls in the wrapper
body unchanged, which matters under -fsanitize-alloc-token-extended,
where any !alloc_token-carrying call is instrumented.
Commit: b94985eb7da037df3e220e5d31febe138726197e
https://github.com/llvm/llvm-project/commit/b94985eb7da037df3e220e5d31febe138726197e
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
A flang/test/Transforms/simplifyintrinsics-maxloc-loc.fir
Log Message:
-----------
[flang] Propagate call-site location into `SimplifyIntrinsics` `minmaxloc` body (#198732)
`genRuntimeMinMaxlocBody` used a hard-coded `UnknownLoc` for all
generated ops, including the `fir.do_loop`. After `FIRToSCF` converts it
to `scf.for`. Fix by threading the `maxloc` call-site location through
the `bodyGenerator` lambda into `genRuntimeMinMaxlocBody`.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 99c621cd7ee3a77383d1d7e9cfb48d2cd50100ad
https://github.com/llvm/llvm-project/commit/99c621cd7ee3a77383d1d7e9cfb48d2cd50100ad
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
R flang/test/Driver/Inputs/ieee_arithmetic.mod
R flang/test/Driver/Inputs/iso_fortran_env.mod
M flang/test/Driver/intrinsic-module-path.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[Flang][bbc] Add support for -fintrinsic-module-path (#198565)
Add support for -fintrinsic-module-path to bbc. With #196558 the default
search path in the resource directory is determined by the driver, not
by the frontend (-fc1 and bbc). For tests of either frontend the tests
will need to append the search path themselves. Adding support for
`-fintrinsic-module-path` will allow using the same additional argument
for flang_fc1 and bbc tests.
Also rewriting the awkward tests that expect standard modules to fail
only because they do not contain a checksum. Maintaining this way of
testing became burdonsome because there are multiple ways of how default
modules are resolved. Fixing one breaks another.
Extracted out of #171515 to make that patch a bit smaller.
---------
Co-authored-by: Tarun Prabhu <tarun at lanl.gov>
Commit: 8a1475679cf961f9bbeb183a8d67fb9102fe11b5
https://github.com/llvm/llvm-project/commit/8a1475679cf961f9bbeb183a8d67fb9102fe11b5
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/clmul-scalable.ll
Log Message:
-----------
[AArch64][ISel] Improve lowering for clmul.nxv8i16(zext, zext) (#197503)
Since only the lower bits of the clmul operands are non-zero, we can
just use pmullb for simpler lowering. This enables optimal lowering for
targets that have +sve2 or +sme in the i16 and i64 cases.
Commit: 407952d149f8dad71d4f4a07d00bd24c33b81d08
https://github.com/llvm/llvm-project/commit/407952d149f8dad71d4f4a07d00bd24c33b81d08
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-doconc.cuf
Log Message:
-----------
[CUF] Fix `do concurrent` PFT navigation in `cuf.kernel` lowering (#198585)
When lowering a cuf kernel directive with an explicit loop depth (e.g.
`do(2)`), the code navigated `nestedLoops-1` levels deeper in the PFT
expecting nested regular do-loops. For a `do concurrent` construct with
multiple index variables (e.g. `do concurrent(i=1:k,j=1:n)`), the PFT
represents the entire construct as a single node, so the extra
navigation stepped off into a plain statement with no nested evaluations
and triggered an assertion in `getNestedEvaluations()`.
Fix by skipping the depth navigation loop for `do concurrent`, which is
always a single flat PFT construct regardless of how many index
variables it declares.
PR stack:
- https://github.com/llvm/llvm-project/pull/198584
- https://github.com/llvm/llvm-project/pull/198585 ◀️
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: dad32c83e5248803030a8600d6f3e822f58fbdd3
https://github.com/llvm/llvm-project/commit/dad32c83e5248803030a8600d6f3e822f58fbdd3
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/include/llvm/DWP/DWP.h
R llvm/include/llvm/DWP/DWPStringPool.h
M llvm/lib/DWP/DWP.cpp
M llvm/tools/llvm-dwp/llvm-dwp.cpp
Log Message:
-----------
[DWP] Stop storing DWPStringPool strings in Buffer (#198678)
When we can just write it out. This decreases peak memory usage of
llvm-dwp on clang debug info from ~800MB to ~350MB without measurable
performance changes.
Also remove DWPStringPool.h to avoid circular headers. It wasn't doing
anything anyway...
Commit: 64f5eaf3a341c64608a90a75b5d2d9f01b53ef63
https://github.com/llvm/llvm-project/commit/64f5eaf3a341c64608a90a75b5d2d9f01b53ef63
Author: Max Graey <maxgraey at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[MLIR][Arith] Partially fold and / or / xor const triples (#195588)
```
(x & c1) & c2 --> x & (c1 & c2)
(x | c1) | c2 --> x | (c1 | c2)
(x ^ c1) ^ c2 --> x ^ (c1 ^ c2)
```
Proofs:
- [(x & c1) & c2 --> x & (c1 & c2)](https://alive2.llvm.org/ce/z/VdSbpp)
- [(x | c1) | c2 --> x | (c1 | c2)](https://alive2.llvm.org/ce/z/vbA5NZ)
- [(x ^ c1) ^ c2 --> x ^ (c1 ^ c2)](https://alive2.llvm.org/ce/z/t_7v_h)
Co-authored-by: Claude Opus 4.6 (1M context) [noreply at anthropic.com](mailto:noreply at anthropic.com)
Commit: 013b87ee4a5ae9c8eddec10e29bba53c96399856
https://github.com/llvm/llvm-project/commit/013b87ee4a5ae9c8eddec10e29bba53c96399856
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__memory/pointer_traits.h
Log Message:
-----------
[libc++] Simplify the implementation of to_address a bit (#198256)
Commit: 74c8db9a173bf5420ed9731ca7d027dafbb64794
https://github.com/llvm/llvm-project/commit/74c8db9a173bf5420ed9731ca7d027dafbb64794
Author: Ayush Kumar Gaur <ayushkgaur1 at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_untyped.c
R clang/test/CodeGen/AArch64/neon-scalar-copy.c
M clang/test/CodeGen/AArch64/neon-vget.c
A clang/test/CodeGen/AArch64/neon/getset.c
M clang/test/CodeGen/AArch64/poly64.c
Log Message:
-----------
[CIR][AArch64] Upstream Neon vget_lane/vgetq_lane builtins (#186119)
part of #185382
This patch upstreams handling of AArch64 Neon extract-lane builtins in
ClangIR, covering the vget_lane_* and vgetq_lane_* .
It also migrates the corresponding AArch64 Neon CodeGen tests under the
neon test directory for CIR coverage.
---------
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
Commit: 6caca50eca58d8f3eeed5653ab77ccf8e1f9a153
https://github.com/llvm/llvm-project/commit/6caca50eca58d8f3eeed5653ab77ccf8e1f9a153
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/test/Tooling/clang-sycl-linker-split-mode.ll
A clang/test/Tooling/clang-sycl-linker-triple.ll
M clang/test/Tooling/clang-sycl-linker.ll
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Infer target triple from input bitcode (#198036)
Previously clang-sycl-linker required `-triple=` on the command line and
errored out if it was missing. This is unnecessary requirement,
since LLVM bitcode modules already carry a target triple in
their metadata.
Resolve the triple in this order:
1. `-triple=` on the command line, if given.
2. Input bitcode's `target triple` metadata, if exists.
3. Otherwise, error out.
When inputs disagree with the resolved triple, emit an error.
Triple discovery is folded into the existing input
loop in `linkDeviceCode`, so no extra I/O pass over the bitcode files.
Update the test to drop redundant `-triple=spirv64` flags and add
coverage for inference, mismatch errors, the triple recorded in
the offload image, and the no-triple error path.
Addresses:
https://github.com/llvm/llvm-project/pull/197566#discussion_r3238056239
Co-Authored-By: Claude
Commit: 19b19f5ff93c0620b70889e1a5207053861f7f9b
https://github.com/llvm/llvm-project/commit/19b19f5ff93c0620b70889e1a5207053861f7f9b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
R libcxx/test/libcxx-03/iterators/contiguous_iterators.verify.cpp
Log Message:
-----------
[libc++][C++03] Remove contiguous_iterators.verify.cpp (#198816)
We've removed the `static_assert` being tested here in `__bounded_iter`,
and the C++03 headers don't provide `__static_bounded_iter`, so there is
nothing left to test.
Commit: c053b0723d917888c02737f5959700b87fa94bd3
https://github.com/llvm/llvm-project/commit/c053b0723d917888c02737f5959700b87fa94bd3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/docs/use/mcp.md
Log Message:
-----------
[lldb] Document lldb-mcp helper for MCP clients (#198675)
Replace the netcat-based MCP client setup with lldb-mcp, the helper
binary that bridges stdio to LLDB's MCP server socket. lldb-mcp
auto-discovers a running server and will launch lldb itself when none is
running, so clients no longer need to hard-code a port or manage the
server lifecycle.
Commit: f48ecab9ad18b5da1fba5f1e608b9cab35c74563
https://github.com/llvm/llvm-project/commit/f48ecab9ad18b5da1fba5f1e608b9cab35c74563
Author: Xavier Roche <xavier.roche at algolia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/test/CodeGen/RISCV/musttail-call.ll
A llvm/test/CodeGen/RISCV/musttail-indirect-args.ll
A llvm/test/CodeGen/RISCV/rvv/musttail-indirect-args.ll
Log Message:
-----------
[RISCV] Fix musttail with indirect arguments by forwarding incoming pointers (#185094)
When a `musttail` call passes arguments indirectly (fp128 on RV32, i128
on RV32), the backend allocates a stack temporary and hands the callee a
pointer. The tail call deallocates the caller's frame, and the pointer
dangles.
Fix by forwarding the incoming indirect pointers instead. They point to
the caller's caller's frame, which stays valid after the tail call.
Forwarded formal parameters reuse the pointer directly; computed values
get stored into the incoming buffer first.
The pointers are saved in virtual registers (`CopyToReg`/`CopyFromReg`)
rather than SDValues. The SelectionDAG is cleared between basic blocks
and musttail calls can appear in non-entry blocks, so storing raw
SDValues across BBs is unsound (this was the bug that led to the revert
in 501417baa60f). The vreg save only fires when the function has
musttail calls; other functions see no codegen change.
Non-musttail tail calls with indirect args are still rejected.
Fixes #185089.
## AI Disclosure
This patch was developed with assistance from Claude (Anthropic). All
code has been reviewed and validated by the author.
---------
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 45c1f5e9f76a19e24b25817c77028ab8af59c900
https://github.com/llvm/llvm-project/commit/45c1f5e9f76a19e24b25817c77028ab8af59c900
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/source/Plugins/Platform/WebAssembly/PlatformWebInspectorWasm.cpp
Log Message:
-----------
[lldb] Fall back to FindProcesses in webinspector-wasm GetProcessInfo (#198700)
The webinspector-wasm platform server implements bulk process
enumeration but not per-pid lookup, so PlatformWasm::GetProcessInfo
returns false for every pid. SBTarget::Attach treats that as "no such
process" and bails out before reaching Target::Attach, breaking
attach-by-pid from SB-API callers including lldb-dap. (The CLI's
`process attach` invokes Target::Attach directly and isn't affected.)
When the per-pid query returns nothing, fall back to the bulk
FindProcesses query and locate the matching pid in its result.
Commit: cdde6b77c155cb82f2648c0a148a6ed46f07de40
https://github.com/llvm/llvm-project/commit/cdde6b77c155cb82f2648c0a148a6ed46f07de40
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/test/Shell/helper/toolchain.py
Log Message:
-----------
[lldb][windows] emit a warning if the test target's path exceeds Windows' limit (#198743)
Windows' `MAX_PATH` is 256 characters. Anything longer than that can
cause test failures.
This patch adds a warning when executing API and Shell tests if the
build directory of the test target or the test target itself have paths
that are longer than 256 characters.
rdar://177509534
Commit: 9d0fa609a5b797166941ab45272ecc6b1b9d7091
https://github.com/llvm/llvm-project/commit/9d0fa609a5b797166941ab45272ecc6b1b9d7091
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
A llvm/test/Transforms/SLPVectorizer/X86/ordered-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder-non-empty.ll
Log Message:
-----------
[SLP] Support ordered fadd reduction via reduction intrinsics
Add matchOrderedReduction() to recognize linearized ordered fadd chains
(both LHS- and RHS-associated) and tryToReduceOrdered() to vectorize
them using ordered reduction intrinsics (llvm.vector.reduce.fadd).
Previously, the SLP vectorizer could only vectorize ordered reductions
by keeping the original scalar chain and emitting extractelement
instructions. The new path replaces the scalar chain with a vector
ordered reduction intrinsic (where profitable), which allows the backend to lower it
more efficiently.
Original Pull Request: https://github.com/llvm/llvm-project/pull/189451
Recommit after revert in https://github.com/llvm/llvm-project/pull/198756
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/198819
Commit: ee71c4389c83559cf1922be2be3cc75f676db581
https://github.com/llvm/llvm-project/commit/ee71c4389c83559cf1922be2be3cc75f676db581
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-05-20 (Wed, 20 May 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-vmul.ll
Log Message:
-----------
[AArch64][GlobalISel] Add support for scalar sqdmulh intrinsic (#198749)
SQDMULH - Signed Saturated MUltiply, with result being Lower Half of the
calculated value.
Previously, the scalar version of this intrinsic was failing to lower,
because the RegBankSelect phase was attempting to put the source and
destination values (i32s) on general purpose register banks. As NEON
intrinsics aren't supported on GPR, change RegBankInfo to place all
source and destination values onto FPR.
Commit: 0ee1cbcea1e3e8b000d13e633d0060128851e036
https://github.com/llvm/llvm-project/commit/0ee1cbcea1e3e8b000d13e633d0060128851e036
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__cxx03/__bit_reference
M libcxx/test/std/containers/sequences/vector.bool/reference/builtin_address_of.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/reference.builtin_address_of.pass.cpp
Log Message:
-----------
[libc++][C++03] Back-port #188714 (#198798)
Commit: 48e8a2c7fa475712a44ad4cca5ea55b8e6cc5252
https://github.com/llvm/llvm-project/commit/48e8a2c7fa475712a44ad4cca5ea55b8e6cc5252
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
M libcxx/test/libcxx-03/iterators/contiguous_iterators.conv.compile.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #115271 (#198804)
Commit: 7ec240efbc861a1998799ff7881be7e3c3dd9ce0
https://github.com/llvm/llvm-project/commit/7ec240efbc861a1998799ff7881be7e3c3dd9ce0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__cxx03/complex
M libcxx/test/libcxx-03/numerics/complex.number/cmplx.over.pow.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #110235 (#198805)
Commit: 2315381d7112a1349e12d799916b4fc30c353b04
https://github.com/llvm/llvm-project/commit/2315381d7112a1349e12d799916b4fc30c353b04
Author: Valery Dmitriev <valeryd at nvidia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/array-coor.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/tbaa-codegen.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Fir/tbaa.fir
Log Message:
-----------
[flang] Do not set nuw flag on mul/add/getelementptr when lowering array_coor from a box base. (#198014)
This change is aimed to fix an issue that can be seen with the following
example, based on a test case reported in issue #197393:
subroutine s2(n1)
implicit none
integer :: n1, c(-5:-1)
associate(w => c(-1:-5:-n1))
w(n1:5:1) = 3
end associate
if (any(c /= 3)) print *, 'error', c
end subroutine s2
call s2(1)
The problem is that base pointer in a box can actually point at the end of array, which means that in order to access array elements offsets are going to be negative. That in turn means that nuw flag can't be set as
it results in poison from that GEP. Similar issue fixed with mul/add that are part of offset calculation fed into the GEP.
Fixes issue #197393.
Commit: b13cda40072e84e9cbe8e990bf54a342de461aeb
https://github.com/llvm/llvm-project/commit/b13cda40072e84e9cbe8e990bf54a342de461aeb
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
A clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
A clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
Log Message:
-----------
[CIR] Hoist allocas out of deferred conditional cleanup scopes (#198680)
When a temporary alloca is created for an aggregate inside a conditional
cleanup, the alloca will also be referenced in the cleanup region of the
cleanup scope operation enclosing the conditional expression. In order
to guarantee that the alloca dominates the cleanup region, the alloca
must be hoisted out of the cleanup scope.
After CFG flattening, any allocas created at the beginning of the
cleanup scope's body region would, technically, dominate the cleanup
region, but because we can exit in the middle of the body region (via an
exception) the body region itself does not dominate the cleanup region,
and so the verifier considers any allocas within the body region as not
dominating the cleanup region.
This change looks for allocas within a deferred cleanup scope and hoists
them out of the cleanup scope before the cleanup region is populated.
Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh
Commit: d7232bdaf502e189415136aa0f90b00bbe92c7cd
https://github.com/llvm/llvm-project/commit/d7232bdaf502e189415136aa0f90b00bbe92c7cd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang-rt/CMakeLists.txt
M flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/iso_fortran_env_impl.cpp
A flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
A flang-rt/test/Driver/iso_fortran_env_impl.f90
M flang/include/flang/Common/type-kinds.h
M flang/module/iso_fortran_env_impl.f90
Log Message:
-----------
[flang-rt] Implement iso module in C++ in the runtime (#197687)
Summary:
Right now we have a very heavy dependency on `flang` for a single module
file. The flang build will handle creating the actual module file, we
just need to export the symbols. This PR ports the source file from the
flang .f90 to equivalent C++. This allows us to build `flang-rt`
standalone without bringing in the entire flang infrastructure, which is
by far the heaviest build in the entire LLVM project.
I verified the symbols and values against a previous build, so they are
identical.
Commit: 986b61610ae648efd07f22a3ff7c76cd6384ccb0
https://github.com/llvm/llvm-project/commit/986b61610ae648efd07f22a3ff7c76cd6384ccb0
Author: Gil Rapaport <gil.rapaport at mobileye.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitCAttributes.td
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Target/Cpp/class.mlir
Log Message:
-----------
[mlir][emitc] Support struct and union definition (#198198)
This patch extends the `emitc.class` op to define structs and unions in
addition to classes using a new enum attribute with the values:
- class_ (class, value 0) -- default
- struct_ (struct, value 1)
- union_ (union, value 2)
Class op now takes an optional class_type, defaulting to `class`. The
attribute is printed to the assembly only when it differs from the
default, retaining current semantics, e.g.:
emitc.class @Foo { ... } // class (default, omitted)
emitc.class struct @Foo { ... } // struct
emitc.class union @Foo { ... } // union
emitc.class struct final @Foo {} // struct + final
The translator emits the class_type instead of the previously hard-coded
`class`, and for `class` types also emits `public:` inside the body,
retaining the current 'all-public classes' behavior of `emitc.class`.
Assisted-by: Copilot
Commit: b004f7efe73747b4207373519b092d128f78670e
https://github.com/llvm/llvm-project/commit/b004f7efe73747b4207373519b092d128f78670e
Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/vla-pointer-arith.c
Log Message:
-----------
[CIR][CodeGen] Support VLA pointer arithmetic (#196837)
Implement pointer arithmetic on variable-length array types in CIR
codegen, removing two NYI diagnostics:
1. Binary pointer arithmetic (p + i, p - i) where the pointee is a VLA:
multiply the index by the runtime VLA size before emitting PtrStrideOp.
2. Unary increment/decrement (p++, p--) on pointers to VLA types: stride
by the VLA element count, negating for decrement.
Fixes #192318
Commit: 19b89aca11fe13a6ffc0d1b361bc261444976432
https://github.com/llvm/llvm-project/commit/19b89aca11fe13a6ffc0d1b361bc261444976432
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
Log Message:
-----------
[AMDGPU] Only fold mul24+add into V_MAD_U64_U32 when operands fit in 24 bits (#198729)
V_MAD_U64_U32 does a full 32x32 multiply, but AMDGPUmul_u24 only uses
the low 24 bits. simplifyMul24 strips outer AND masks, so the fold can
silently include nonzero bits 24-31 that should not actually have any
impact on the result
Commit: 4b93c1be7ea580ca0b92cc1b266060c6f691981f
https://github.com/llvm/llvm-project/commit/4b93c1be7ea580ca0b92cc1b266060c6f691981f
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M .github/workflows/unprivileged-download-artifact/action.yml
Log Message:
-----------
[workflows] Dedupe artifacts by name in unprivileged-download-artifact (#198792)
Manual workflow rerun uploads fresh artifacts alongside the old ones
with the same name. And as a result, PR comments regarding the tests
status are not updated.
Example: https://github.com/llvm/llvm-project/pull/198766 - CI is
passing after reruns (there was a sporadic issue), but the comments
after rerun are not updated
Commit: 313ab4dc3b3a5f4c14079c82806c1f28975f724f
https://github.com/llvm/llvm-project/commit/313ab4dc3b3a5f4c14079c82806c1f28975f724f
Author: Raul Tambre <raul at tambre.ee>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
Revert "[cmake][runtimes] Pass variable type for passthrough CMake options" (#198739)
Reverts llvm/llvm-project#198505 per breakage reported in
https://github.com/llvm/llvm-project/pull/198505#issuecomment-4496493320
Commit: 68a17064601629efa8e9167b6cc8680c68964fc7
https://github.com/llvm/llvm-project/commit/68a17064601629efa8e9167b6cc8680c68964fc7
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/predicated-single-exit.ll
Log Message:
-----------
[LV] Fix dead early exit in test. NFC (#198813)
The early exit in this test is dead because the predicated block's
condition (< 0) means the exit cond (== 1) can't be met.
Commit: a5cee6c357c50ab7ce42189e24d1980a5b053e0f
https://github.com/llvm/llvm-project/commit/a5cee6c357c50ab7ce42189e24d1980a5b053e0f
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGenOpenCL/vector.cl
Log Message:
-----------
[CIR] Implement TernaryOp for Vec in OpenCL (#196836)
Implement support for TernaryOp for Vec in OpenCL
Issue https://github.com/llvm/llvm-project/issues/192311
Commit: c5192b75f6366b0e8268deaa9dbc10e94988fec8
https://github.com/llvm/llvm-project/commit/c5192b75f6366b0e8268deaa9dbc10e94988fec8
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__cxx03/__bit_reference
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
Log Message:
-----------
[libc++][C++03] Fix copy_backward.pass.cpp and equal.pass.cpp (#198812)
This isn't a back-port of the original PRs fixing this in the normal
headers, since they changed quite a bit more than necessary to fix the
bug.
Commit: 01170064ca3f590729a8ec88f067a9683cd7f0dd
https://github.com/llvm/llvm-project/commit/01170064ca3f590729a8ec88f067a9683cd7f0dd
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__cxx03/__mutex/unique_lock.h
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #129542 (#198826)
Commit: 0f74c51841823ea9946983273484d3ff87369f97
https://github.com/llvm/llvm-project/commit/0f74c51841823ea9946983273484d3ff87369f97
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
Log Message:
-----------
[libc++][C++03] Fix string.view/char.bad.verify.cpp (#198824)
Commit: 406775bdf4887172ee9b266cee09e36ddfea97f1
https://github.com/llvm/llvm-project/commit/406775bdf4887172ee9b266cee09e36ddfea97f1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #131754 (#198827)
Commit: 8f447760bcf40c2419b0cf203a6985ea0a9d2af9
https://github.com/llvm/llvm-project/commit/8f447760bcf40c2419b0cf203a6985ea0a9d2af9
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #165619 (#198829)
Commit: edf8081c23ae0529d2d2430a203e13850c47f01d
https://github.com/llvm/llvm-project/commit/edf8081c23ae0529d2d2430a203e13850c47f01d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/test/CodeGen/X86/sad.ll
Log Message:
-----------
[X86] Update more PSADBW tests to match middle-end vector.reduce.add codegen (#198806)
Missed in #198760
Commit: a2134b8b758ce49c6ebad86c5afcd434b6a1a3f3
https://github.com/llvm/llvm-project/commit/a2134b8b758ce49c6ebad86c5afcd434b6a1a3f3
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp
Log Message:
-----------
[lldb][NFC] Sink eager breakpoint logic into ExecuteBreakpointSiteAction (#198741)
A future patch will want to control whether all breakpoints are eager or
not based on whether the process is running. Sinking the logic allows
for a smaller diff.
Commit: c525e31158fd7282a9c3cbdfc3960058a990ba71
https://github.com/llvm/llvm-project/commit/c525e31158fd7282a9c3cbdfc3960058a990ba71
Author: Anshul Nigham <nigham at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/test/Driver/amdgpu-unwind.cl
Log Message:
-----------
[Clang][test] Use `-fopenmp=libomp` explicitly for amdgpu-unwind.cl (#198821)
This is similar to what was done in
https://github.com/llvm/llvm-project/pull/180221
Commit: cbd69a684a114321a707520630703f9fed40b8a1
https://github.com/llvm/llvm-project/commit/cbd69a684a114321a707520630703f9fed40b8a1
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Target/Process.cpp
A lldb/test/API/functionalities/breakpoint/breakpoint_while_running/Makefile
A lldb/test/API/functionalities/breakpoint/breakpoint_while_running/TestBreakpointWhileRunning.py
A lldb/test/API/functionalities/breakpoint/breakpoint_while_running/main.c
Log Message:
-----------
[lldb] Fix delayed breakpoints on running processes (#198747)
Breakpoints should never be delayed on a running process, as they can
immediately affect program execution.
Commit: d90edd1be62e435f330759e129d327c83b160d7a
https://github.com/llvm/llvm-project/commit/d90edd1be62e435f330759e129d327c83b160d7a
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/test/tools/dxil-dis/debug-info.ll
M llvm/test/tools/dxil-dis/di-subprogram.ll
M llvm/test/tools/dxil-dis/di-subrangetype.ll
Log Message:
-----------
[DirectX] Do not emit DISubprograms as distinct (#197453)
LLVM 3.7 never did this.
Commit: f00ec3f74a7e1f9342286eb1cbafd296397b7b29
https://github.com/llvm/llvm-project/commit/f00ec3f74a7e1f9342286eb1cbafd296397b7b29
Author: Yuan Suo <suoyuan666 at s5n.xyz>
Date: 2026-05-20 (Wed, 20 May 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:
-----------
[NFC][LifetimeSafety]: Track assignment history within a single CFGBlock (#196075)
## Summary
Tracking assignment history allows us to backtrack and provide more
informative error messages, helping users better understand the root
cause.
As discussed in
https://github.com/llvm/llvm-project/pull/188467#issuecomment-4359071778,
I am splitting the original #188467 into smaller parts. This PR submits
the core logic: performing a reverse search for assignment history
within a single CFG block.
A simple unit test has been added to verify the basic functionality of
the algorithm.
## Details
This function is straightforward: it iterates through each
`OriginFlowFact` in reverse order and saves the appropriate
`SrcOriginID`. Here, "appropriate" means the `Origin` contains the
target `Loan`.
---------
Signed-off-by: Yuan Suo <suoyuan666 at s5n.xyz>
Commit: 57712b1eb7305d232ee5975990005cc8191ab262
https://github.com/llvm/llvm-project/commit/57712b1eb7305d232ee5975990005cc8191ab262
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
Log Message:
-----------
[CI] Successful build and no tests running is now a notification (#198684)
check-libc now uses llvm-lit to run tests instead of running the
unittests directly through ninja. This means there should not be any
cases in tree where the build could succeed but we do not pick up any
tests as running. Still pass the build in this case because if
everything passes with exit code 0 it is wrong not to, but make a note
to the user that this is unexpected.
Commit: 61750f4629327ec9df0a20a18ce1bf1710f254fd
https://github.com/llvm/llvm-project/commit/61750f4629327ec9df0a20a18ce1bf1710f254fd
Author: Michael Jones <michaelrj at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/stdlib.yaml
M libc/include/wchar.yaml
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/mblen.cpp
A libc/src/stdlib/mblen.h
M libc/src/wchar/CMakeLists.txt
R libc/src/wchar/mblen.cpp
R libc/src/wchar/mblen.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/mblen_test.cpp
M libc/test/src/wchar/CMakeLists.txt
R libc/test/src/wchar/mblen_test.cpp
Log Message:
-----------
[libc] move mblen to stdlib (#198642)
Move mblen from wchar to stdlib to conform with C standard. Also update
headers to match new style.
Assisted-by: Automated tooling, human reviewed.
Commit: 42cc9b53bf83ebb778755fd51a9b277cb71740d5
https://github.com/llvm/llvm-project/commit/42cc9b53bf83ebb778755fd51a9b277cb71740d5
Author: Conor Kotwasinski <91287181+conorKotwasinski at users.noreply.github.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/alias_mask.ll
M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
M llvm/test/CodeGen/AArch64/fixed_masked_deinterleaved_loads.ll
M llvm/test/CodeGen/AArch64/fixed_masked_interleaved_stores.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
Log Message:
-----------
[AArch64] Use ADDP tree for v16i8 to i16 bitmask extraction (#192974)
```
Before:
ext v1.16b, v0.16b, v0.16b, #8
zip1 v0.16b, v0.16b, v1.16b
addv h0, v0.8h
fmov w0, s0
After:
addp v0.16b, v0.16b, v0.16b
addp v0.16b, v0.16b, v0.16b
addp v0.16b, v0.16b, v0.16b
umov w0, v0.h[0]
```
The existing lowering in vectorToScalarBitmask for v16i8 used an
EXT+ZIP1+ADDV sequence to pack the per-lane bits into an i16. The
horizontal ADDV is expensive on some microarchitectures and forces an
early SIMD-to-GPR domain crossing.
Replace it with a three-level pairwise-add (ADDP) tree. After the AND
with the powers-of-two constant, each byte lane holds at most one set
bit within its 8-byte group, so pairwise addition cannot carry and is
equivalent to OR at every level. Three ADDPs therefore losslessly pack
the 16 per-lane bits into the low i16 of the result vector, from which
we extract the bitmask with a single UMOV.
This keeps all computation in the vector register file until the final
extract and avoids the horizontal reduction.
Partially addresses #192749. Follow-up work can extend this transform to
N=32 and N=64 by fusing across Q-registers in the first ADDP level.
Commit: d28e47cc947f24f5c5925d43d0c61b2dc8b1bdbe
https://github.com/llvm/llvm-project/commit/d28e47cc947f24f5c5925d43d0c61b2dc8b1bdbe
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/permute.ll
Log Message:
-----------
[AMDGPU] Fix matchPERM byte tracker for SRA past operand width (#198708)
Bytes past the operand are 0 for SRL but the sign bit for SRA. The old
code treated both as 0, so v_perm_b32 picked the wrong byte for SRA
Example:
`ashr x, 24` keeps only x's byte 0 in the result. The upper bytes are
copies of x's sign bit, not bytes of x. The matcher used to map them
back to bytes of x, producing a perm mask that ignored the sign extend
Commit: 01c2cd3abae8e7fe80274f56669c4c9e346b71a4
https://github.com/llvm/llvm-project/commit/01c2cd3abae8e7fe80274f56669c4c9e346b71a4
Author: Caroline Newcombe <caroline.newcombe at hpe.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang/lib/Lower/Support/Utils.cpp
M flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
A flang/test/Lower/OpenMP/lastprivate-equivalence.f90
Log Message:
-----------
[flang][OpenMP] Fix EQUIVALENCE variable privatization in OpenMP (#197726)
Fixes #197553
EQUIVALENCE aliases are lowered with `fir.ptr` addresses
(`castAliasToPointer` in ConvertVariable.cpp) to inform alias analysis.
However, `privatizeSymbol()` in Utils.cpp treated all `fir::PointerType`
values as true Fortran POINTERs, skipping the `unwrapRefType` that
computes the correct allocation type. For arrays, this caused the
privatizer to allocate pointer-sized storage instead of the full array,
resulting in stack buffer overflows at runtime.
The fix adds a `!semantics::IsPointer()` check so that only true Fortran
POINTERs preserve the `fir.ptr` wrapping. EQUIVALENCE aliases are
correctly unwrapped to their underlying type.
**Changes:**
- flang/lib/Lower/Support/Utils.cpp: Gate the `PointerType` guard on
`semantics::IsPointer` to distinguish true POINTERs from EQUIVALENCE
aliases
- flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90: Update
existing test to match corrected output (alloc type is now `f32`, not
`fir.ptr<f32>`)
- flang/test/Lower/OpenMP/lastprivate-equivalence.f90: New test for
EQUIVALENCE'd array with lastprivate, verifying correct allocation,
deallocation, and writeback
Commit: 28d6673e21f72d5b4b8238c220afa9abaa6b91c6
https://github.com/llvm/llvm-project/commit/28d6673e21f72d5b4b8238c220afa9abaa6b91c6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang/include/flang/Lower/ConvertType.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
R flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
A flang/test/Lower/OpenMP/Todo/atomic-compare.f90
R flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic-compare.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h
M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenACCMPCommon/Interfaces/CMakeLists.txt
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/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
Revert "[Flang] [OpenMP] atomic compare (#184761)" (#198848)
This reverts commit 91467766a8afb52439619163828c5f6816ddd550.
This was causing tests to be quite flaky. See #198776.
Commit: 064e529cd78e93bf50e0855daceabdb3a7d34953
https://github.com/llvm/llvm-project/commit/064e529cd78e93bf50e0855daceabdb3a7d34953
Author: Chris Apple <cja-private at pm.me>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
Log Message:
-----------
[rtsan] Fix REAL call for preadv64 (#198563)
Seemed to just be a typo matching the name of the intercepted function
Commit: 8c129e113fafdd5be7472a2c40a128cea77ea091
https://github.com/llvm/llvm-project/commit/8c129e113fafdd5be7472a2c40a128cea77ea091
Author: David Green <david.green at arm.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fabs.ll
M llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
M llvm/test/CodeGen/AArch64/fneg.ll
M llvm/test/CodeGen/AArch64/partial-reduction-sub-fp.ll
Log Message:
-----------
[AArch64] Use fp16 FNEG and FABS for bf16. (#198653)
These operations are bitwise and can be used for bf16 fneg and fabs as
equally as they can be used for fp16.
Commit: 63d3371f1d0ac559d15df2bf1881cee2a123bdb0
https://github.com/llvm/llvm-project/commit/63d3371f1d0ac559d15df2bf1881cee2a123bdb0
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/test/CodeGen/AArch64/arm64e-tail-call-autib.ll
Log Message:
-----------
[arm64e][cfi] .cfi_b_key_frame is irrelevant for Mach-O platforms (#198660)
We always sign with the B-Key anyway, and the unwinder behaves the same whether the directive is present. Better to avoid emitting it in the first place.
Commit: 14f871a1d7e7edad8e90f0bbfd707d725e72fea0
https://github.com/llvm/llvm-project/commit/14f871a1d7e7edad8e90f0bbfd707d725e72fea0
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/difile_absolute_filenames.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/difile_absolute_filenames.ll.expected
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
update_test_checks: fix DIFile filename relaxation (#198382)
In e78b763568e47e685926614195c3075afa35668c (#135692) the matcher for
the `directory:` field requires a non-empty directory, which isn't
guaranteed. Relax it to accept any string, including the empty string.
Change-Id: Ie6d793f7abdbafd3d2faa29379919e68e846afe7
Commit: 62be92fe704de3bbeef871dd73a0e8c90d29a57e
https://github.com/llvm/llvm-project/commit/62be92fe704de3bbeef871dd73a0e8c90d29a57e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/source/Target/TargetProperties.td
Log Message:
-----------
[lldb] Fix data race on shared global ProcessProperties callback (#197980)
ProcessProperties::ProcessProperties was installing a per-process
value-changed callback on ePropertyDisableLangRuntimeUnwindPlans. The
property was declared Global in TargetProperties.td, so
OptionValueProperties::CreateLocalCopy shared the underlying OptionValue
across every ProcessProperties. Every Process constructor therefore
wrote into the same std::function slot, racing with concurrent
constructors and silently clobbering any earlier Process's callback.
Found by ThreadSanitizer as part of #197792.
Commit: 9b2a452848133e7e68352bdb0bad25c3d8cc0f47
https://github.com/llvm/llvm-project/commit/9b2a452848133e7e68352bdb0bad25c3d8cc0f47
Author: Sean Perry <perry at ca.ibm.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.cpp
Log Message:
-----------
Open the JSON files as text (#196617)
Open the JSON files as text so z/OS gets the correct encoding for the
file.
Commit: a169ae238c35b6dfce69abc37e8a878e0eb05005
https://github.com/llvm/llvm-project/commit/a169ae238c35b6dfce69abc37e8a878e0eb05005
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[lldb] Prioritize the MAKE_NO_DEBUG_INFO flag (#198801)
Some tests require an executable with no debug information. When
`lldb-dotest` is run with `--dwarf-version`, that flag currently takes
precedence over the debug info type specified in the test. This is
incorrect when the test explicitly expects the executable to have no
debug information.
Ensure `MAKE_NO_DEBUG_INFO` takes priority over `--dwarf-version` so
that tests requiring stripped executables behave correctly regardless of
how the test suite is invoked.
Commit: fd3e453aed4fbf655d7d37589572d82bd666e273
https://github.com/llvm/llvm-project/commit/fd3e453aed4fbf655d7d37589572d82bd666e273
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M compiler-rt/test/msan/release_origin.c
Log Message:
-----------
[test][msan] Update rss_limit for release_origin.c (#196565)
This fixes test failures on aarch64.
Fixes #171209
Commit: 2c1847e192a2e17518e521dd71c1ad76e51127b0
https://github.com/llvm/llvm-project/commit/2c1847e192a2e17518e521dd71c1ad76e51127b0
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[docker][windows] install make in Dockerfile (#198814)
The lldb-api test suite builds each test's inferior via GNU make. The
current Windows CI container (`ghcr.io/llvm/ci-windows-2022:latest`)
does not install make, so LLDB's CMake configure step ends up with
`LLDB_DEFAULT_TEST_MAKE-NOTFOUND` and every lldb-api test reports
`UNRESOLVED`.
This patch adds a step in the Windows Dockerfile to install make with
choco.
Commit: a7da85454a6caee19c2a596bb7bcaefc613dd7ec
https://github.com/llvm/llvm-project/commit/a7da85454a6caee19c2a596bb7bcaefc613dd7ec
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/test/Shell/Target/dependent-modules-nodupe-windows.test
Log Message:
-----------
[lldb][test] Make dependent-modules-nodupe-windows case-insensitive (#198807)
Running the test in containers returns `KERNEL32.DLL` instead of
`kernel32.dll`, which causes the test to fail. Both names point to the
same file. Windows path comparison is case-insensitive. The test is
asserting an OS-level behavior, not a casing convention, so it should
not be case-sensitive.
Commit: c2acca2e38b9848c14d16e4d866da635c819d43e
https://github.com/llvm/llvm-project/commit/c2acca2e38b9848c14d16e4d866da635c819d43e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
Log Message:
-----------
[NFC][lldb][windows] extract ConvertNtDevicePathToDosPath method (#198794)
This patch extracts the logic for converting an NT path to a DOS path.
This is a prelude to https://github.com/llvm/llvm-project/pull/198795.
Commit: 24b8bb18f3417419cbd16fcd31f4e2842df952a1
https://github.com/llvm/llvm-project/commit/24b8bb18f3417419cbd16fcd31f4e2842df952a1
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/drop-unit-dims-with-shape-cast.mlir
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
M mlir/test/Dialect/Vector/vector-transforms.mlir
Log Message:
-----------
[mlir][vector] Migrate drop-lead-unit-dim to shape_cast (#196206)
Post-merge discussion on #195686 led to the conclusion that we should
change the behavior of drealeadunitdim to use shape_cast instead of
extracts and broadcasts since those are now the canonical form of such
unit-dimension striping. This commit implements that change.
The one exception is that vector contractions where the accumulator is
reduced to a scalar still use extract/broadcast. Said contract handling
also now omits any vector.transpose emissions since those are all
order-preserving and will fold into shape_casts.
The PR adds tests to ensure that scalable dimensions function correctly,
per previous PR comments. They should already have worked, but they
weren't tested.
AI: Codex 5.5 did most of the work on this one.
Commit: 9edd0d83b06a0a65e1d532faa897e8a868e2031d
https://github.com/llvm/llvm-project/commit/9edd0d83b06a0a65e1d532faa897e8a868e2031d
Author: Raul Tambre <raul at tambre.ee>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M bolt/test/runtime/relative-vftable.cpp
Log Message:
-----------
[bolt][test] Use C++ frontend for building C++ test (#198856)
The C frontend executable will fail if there's any C++-specific options from the environment.
Commit: fadbc3fa86443ca8ce0359cd47c392317153f676
https://github.com/llvm/llvm-project/commit/fadbc3fa86443ca8ce0359cd47c392317153f676
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[OpenMP][OMPIRBuilder] Avoid querying SmallPtrSet during removal (#198690)
openmp-cli-fuse02.mlir can intermittently leave behind a dead block
after loop fusion, causing LLVM IR verification to fail.
(https://github.com/llvm/llvm-project/pull/197637#issuecomment-4497502486)
This happened because `removeUnusedBlocksFromParent` queried
`BBsToErase` while using `SmallPtrSet::remove_if` on the same set, which
made the result depend on the set's internal mutation order during
removal.
This patch tracks candidate blocks by index with `SmallBitVector`
instead of mutating and querying the same `SmallPtrSet`. This also
preserves the original `BBs` order when collecting the final dead
blocks.
---
The original PR was created with assistance from Copilot. The later
analysis and fix were revised based on reviewer feedback.
Co-authored-by: @slinder1
Commit: 83112304347d48bbd5f73f539b504da61e2e0093
https://github.com/llvm/llvm-project/commit/83112304347d48bbd5f73f539b504da61e2e0093
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/test/OpenMP/thread_limit_gpu.c
M clang/test/OpenMP/thread_limit_nvptx.c
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[llvm][OpenMP] Add option to disable default max threads adjustment (#198719)
This commit adds the option
`-openmp-ir-builder-use-default-max-thread=<boolean-value>` to
enable or disable the use of a default max threads in OpenMPIRBuilder
when no max threads constant is provided. The option is enabled by
default, thus maintaining the same behavior as it is currently.
This flag is useful to avoid limiting the number of threads that an
OpenMP target region can run with when no `thread_limit` or
`num_threads` (in a nested parallel region) are specified. This flag may
be used when recording a kernel to allow replaying it later with a
higher number of threads (e.g., reaching the maximum thread limit
supported by the device).
Commit: 5e9f5c5b2b7f05af62c7279a24f91c0b86507d46
https://github.com/llvm/llvm-project/commit/5e9f5c5b2b7f05af62c7279a24f91c0b86507d46
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
Log Message:
-----------
[flang][OpenMP] Clarify comment in resolve-directives.cpp, NFC (#198860)
Commit: b387674b529fa137f3d0b05b93ee3712e39240e2
https://github.com/llvm/llvm-project/commit/b387674b529fa137f3d0b05b93ee3712e39240e2
Author: Vir Patel <142122453+virsworld at users.noreply.github.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/PowerPC/ppc-vector-diagnostics.f90
Log Message:
-----------
[flang][PPC] Improve vector type names in expression diagnostics (NFC) (#197821)
Improve Flang semantic diagnostics for vector types by printing vector
type spellings in Fortran syntax instead of internal builtin-derived
type names.
Use `DerivedTypeSpec::VectorTypeAsFortran()` when producing vector
operand type names in `ArgumentAnalyzer::TypeAsFortran()`, instead of
relying on the generic type formatting path.
This updates diagnostics to print vector types as Fortran source-like
spellings, such as:
- `vector(integer(4))`
- `vector(real(4))`
while preserving the existing formatting for non-vector derived types.
Commit: 859c550e95bb48a563225a251e8b2f969b32456a
https://github.com/llvm/llvm-project/commit/859c550e95bb48a563225a251e8b2f969b32456a
Author: Yuxuan Chen <ych at meta.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/test/std/containers/sequences/vector/vector.cons/copy.pass.cpp
Log Message:
-----------
[libc++] Require the exact assignment expression to be trivial in __uninitialized_allocator_copy_impl (#196648)
Fixes https://github.com/llvm/llvm-project/issues/196645
`__uninitialized_allocator_copy_impl` has an optimization that replaces
`allocator_traits::construct` with `std::copy` for raw pointer ranges
when the element type is trivially copy constructible and trivially copy
assignable.
The copy-assignment trait only checks whether assignment from `const T&`
is trivial. That is weaker than the expression used by `std::copy`,
which evaluates `*out = *in`. If overload resolution selects a different
non-trivial assignment operator for that expression, `std::copy` can
call that operator on uninitialized storage.
Check `is_trivially_assignable<_Out&, _In&>` instead. This matches the
assignment expression used by `std::copy`, preserves the optimized path
when that assignment is actually trivial, and avoids making non-const
raw pointer callers select the generic `allocator_traits::construct`
overload due to a qualification conversion.
Add a vector copy-constructor regression test with a type whose
defaulted copy assignment is trivial but whose templated assignment
operator is selected for non-const lvalue sources.
Commit: f5007fc09c6df7fb8d0d7e8af6bfa8d160d728fe
https://github.com/llvm/llvm-project/commit/f5007fc09c6df7fb8d0d7e8af6bfa8d160d728fe
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M offload/liboffload/API/Event.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/unittests/OffloadAPI/common/Fixtures.hpp
M offload/unittests/OffloadAPI/event/olCreateEvent.cpp
M offload/unittests/OffloadAPI/event/olDestroyEvent.cpp
M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
M offload/unittests/OffloadAPI/event/olSyncEvent.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp
Log Message:
-----------
[Offload] Make profiling support opt-in on events (#198810)
Summary:
Profiling requires getting time stamp information, which required
actually materializing barriers on the event. This caused performance
regressions in some OpenMP applications. Instead, we want to make this
opt in. This just adds a new argument to `olCreateEvent` which takes
some flags. Right now this is just none and profiling. Pretty mechanical
beyond that. Should revert this to the old behavior for OpenMP.
Co-authored-by: Kevin Sala Penades <kevinsala.ks at gmail.com>
Commit: 567d27bd8905b892594f9b99cc3af1203e5ca924
https://github.com/llvm/llvm-project/commit/567d27bd8905b892594f9b99cc3af1203e5ca924
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
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/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Add type in VPRecipeValue, migrate first set of recipes. (NFC) (#195485)
This patch adds a new Type field to hold the scalar type for the
VPRecipeValue. It starts the migration of an initial set of recipes to
set the scalar type and use it directly in VPTypeAnalysis, removing
special handling for those types.
Eventually, VPTypeAnalysis can be retired when the migration is
complete, hopefully eliminating the need for type related caching, which
can lead to subtle invalidation errors.
To help the transition, a temporary getScalarTypeOrInfer has been added,
which returns the scalar type set in the VPValue for already migrated
recipes or falls back o type inferrence otherwise.
VPlanVerifier has been extended verify the set scalar type where
possible.
Tracking the type directly means a few places that change the type will
need to be updated to create a new replacement recipe with correct
types.
Depends on https://github.com/llvm/llvm-project/pull/195483
PR: https://github.com/llvm/llvm-project/pull/195485
Commit: d8fa68f9ce4a435627082e9cd376c75ff8d1a4e0
https://github.com/llvm/llvm-project/commit/d8fa68f9ce4a435627082e9cd376c75ff8d1a4e0
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/new-array-in-ternary.cpp
Log Message:
-----------
[CIR] Fix bugs with array new in a ternary expression (#198869)
While attempting to compile Clang with CIR enabled, we ran into a
problem with the cleanup handling for array new inside of a ternary
operation. The reduced test case ended up showing different failure
modes with and without exceptions enabled, but it failed in both cases.
With exceptions enabled, we were failing to spill the value to be
returned and reload it outside of the cleanup scope. With exceptions
disabled, we were pushing an effectively empty entry on the EH stack and
later asserting when trying to pop it.
This change fixes the spill and reload problem by inserting a
RunCleanupsScope RAII object around the ternary branch generation code
with a call to forceCleanups to generate the spill and reload.
The assertion failure is fixed by replacing the assert call with code to
safely handle the condition of having an empty cleanup on the EH stack.
We should probably modify the code that pushes EH-only cleanups to avoid
doing so when exceptions are disabled, but that's a more extensive
change and having the new handler as a safe backstop seems like a good
idea.
Manual inspection revealed a second location where we're generating a
cir.ternary operation that had the same spill and reload problem
described above, so that is fixed here too.
Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh
Commit: 4de983f0213643c1d4d4e8f19929b051c7190a68
https://github.com/llvm/llvm-project/commit/4de983f0213643c1d4d4e8f19929b051c7190a68
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/unistd.yaml
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/alarm.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/alarm.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/alarm_test.cpp
Log Message:
-----------
[libc] implement alarm entrypoint (#198620)
Implemented the alarm entrypoint for unistd.h.
Assisted-by: Automated tooling, human reviewed.
Commit: 88367b2db3e6f0a43ff1d77c1575f11521ccc407
https://github.com/llvm/llvm-project/commit/88367b2db3e6f0a43ff1d77c1575f11521ccc407
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/test/CIR/CodeGen/atomic.c
Log Message:
-----------
[CIR] Handle atomic-fetch lowering of pointer types. (#198871)
We previously didn't properly handle the pointer type conversions, which
resulted in a verifier error. This patch does what classic codegen does
for these: casts them to an integer type. The rest of the logic around
this in classic codegen isn't necessary as the llvm intrinsics now
handle those types properly.
Commit: a09d2bb480af96472d04efe27855bd430fc7ede9
https://github.com/llvm/llvm-project/commit/a09d2bb480af96472d04efe27855bd430fc7ede9
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
A lldb/tools/lldb-dap/extension/.npmrc
M lldb/tools/lldb-dap/extension/package-lock.json
A mlir/utils/vscode/.npmrc
M mlir/utils/vscode/package-lock.json
Log Message:
-----------
[MLIR][lldb-dap] Update brace-expansion dependencies in VSCode plugins, resolving security alerts (#198549)
Commit: 1b4a578a9f7760a00bf26525a603be1ec6e7d862
https://github.com/llvm/llvm-project/commit/1b4a578a9f7760a00bf26525a603be1ec6e7d862
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameProviderInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedHookInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedProcessInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
M lldb/include/lldb/Utility/ScriptedMetadata.h
M lldb/source/Breakpoint/BreakpointResolverScripted.cpp
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
M lldb/source/Plugins/SyntheticFrameProvider/ScriptedFrameProvider/ScriptedFrameProvider.cpp
M lldb/source/Target/ScriptedThreadPlan.cpp
M lldb/source/Target/Target.cpp
Log Message:
-----------
[lldb/Interpreter] Plumb ScriptedMetadata through scripted plugin CreatePluginObject (NFC) (#198425)
Replace the (class_name, args_sp) parameter pair on CreatePluginObject
across the scripted plugin interfaces (ScriptedThread, OperatingSystem,
ScriptedBreakpoint, ScriptedFrameProvider, ScriptedProcess, and the
underlying ScriptedPythonInterface template) with a single `const
ScriptedMetadata &`. Callers (OperatingSystemPython, ScriptedThread,
ScriptedProcess, BreakpointResolverScripted, ScriptedFrameProvider) pass
their existing ScriptedMetadata directly, removing the need to re-bundle
class_name and args at every call site.
ScriptedBreakpoint, ScriptedFrameProvider and ScriptedProcess no longer
carry a redundant `args_sp` parameter; their callers fold those args
into the metadata, and the Python overrides reconstruct a
StructuredDataImpl from the metadata's args dict for the dispatched
call.
ScriptedInterface gains an `m_scripted_metadata` member and a
`GetScriptedMetadata()` accessor; ScriptedPythonInterface populates it
when CreatePluginObject is invoked so subclasses can later report which
script class is in play.
Hook/StopHook/ThreadPlan public interfaces keep their existing `args_sp`
parameter for now; subsequent commits consolidate that.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 4e17b5b293c207db1cb195fb00083d87fa70a0be
https://github.com/llvm/llvm-project/commit/4e17b5b293c207db1cb195fb00083d87fa70a0be
Author: Harlen Batagelo <hbatagelo at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
Log Message:
-----------
[clangd] Fix crash when server shuts down with in-flight rename or tweak (#198019)
Fixes #196225.
Root cause: When clangd shuts down, `ClangdLSPServer`'s destructor calls
`Server.reset()` to destroy the `ClangdServer` object. `ClangdServer`
then destroys the work scheduler, which blocks and waits for in-flight
tasks to finish. If a rename task is in flight, the callback will try to
access the now-reset `ClangdLSPServer::Server` in
https://github.com/llvm/llvm-project/blob/4f9a7d09f4760ac9c5745e8bb829366d29ff9687/clang-tools-extra/clangd/ClangdLSPServer.cpp#L916-L917
The same issue occurs with `onCommandApplyTweak`, as its callback also
accesses `ClangdLSPServer::Server`:
https://github.com/llvm/llvm-project/blob/4f9a7d09f4760ac9c5745e8bb829366d29ff9687/clang-tools-extra/clangd/ClangdLSPServer.cpp#L828-L829
A reproducer has been added to #196225.
This PR fixes these issues by capturing a reference to `ClangdServer`
and using it in the callbacks instead of the `ClangdLSPServer::Server`
optional. The reference is guaranteed to remain valid because the work
scheduler syncs while the server is being destroyed.
Includes a unit test that verifies the fix for `rename`. The test for
`applyTweak` was omitted because the mocked LSP client would trigger an
`ADD_FAILURE()` ("Unexpected server->client call") when intercepting the
outgoing `workspace/applyEdit` request. While this could be handled with
`EXPECT_NONFATAL_FAILURE_ON_ALL_THREADS`, it would make the test flaky
because the task could occasionally finish before the server shuts down.
Commit: f755811bab9520fb52b6d531ea8a4ffcdae6b245
https://github.com/llvm/llvm-project/commit/f755811bab9520fb52b6d531ea8a4ffcdae6b245
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.h
Log Message:
-----------
[libc][nfc] Include header for EFIAPI macro (#198876)
This file uses `EFIAPI`, but it's not included. It looks like
compilation currently succeeds because `EFI_SYSTEM_TABLE.h` is the only
header that includes `EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.h`, and it happens
to include `EFIAPI-macros.h` indirectly.
We will be adding Bazel rules for this file, and Bazel typically
requires all headers to be compilable on their own. This build error is
theoretically reproducable by running cmake build with
`-DCMAKE_VERIFY_INTERFACE_HEADER_SETS` if we had the appropriate
FILE_SETs defined.
Commit: 5ad9cec5c837a870023ad21cc0f0deb9bb6c4d2d
https://github.com/llvm/llvm-project/commit/5ad9cec5c837a870023ad21cc0f0deb9bb6c4d2d
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
Log Message:
-----------
[RISCV] NFC: Use the new "let append" TableGen feature to reduce duplication (#198761)
llvm#182382 introduced a language extension to accumulate field values:
“append” concatenates the new value after the current value, whilst
"prepend" concatenates before the existing value. This change uses that
feature to eliminate repetition in the definition of some of the
compressed instructions.
For example, line 267 of RISCVIntrInfoC.td establishes a scope for “`let
Predicates = [HasStdExtZca] in {`”; this scope ends on line 515.
Meanwhile, line 454 wants to add the `IsRV64` predicate for a single
instruction but was forced to duplicate the previous condition as well:
“`let Predicates = [HasStdExtZca, IsRV64] in`”. That’s no longer
necessary since the addition can now be explicit: “`let append
Predicates = [IsRV64] in `”
I‘ve verified that this change has no effect on the TableGen output.
It seems quite likely that this same change could be made in some of the
other RISC-V TableGen source files…
Commit: 58996c1de12b231af45aefbe5fe2e20a796c5d35
https://github.com/llvm/llvm-project/commit/58996c1de12b231af45aefbe5fe2e20a796c5d35
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
Log Message:
-----------
Silence "switch statement contains default but no case labels"; NFC (#198866)
65f8a7c1c423d96597bdb14062a0d0eb27d7caf4 accidentally introduced some
diagnostics from having a switch statement with a default label but no
case labels. This removes the switch statements until we have more cases
to add.
Commit: 1b0e603087b64fee112bec2f630b1eba9969b02c
https://github.com/llvm/llvm-project/commit/1b0e603087b64fee112bec2f630b1eba9969b02c
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
R lldb/include/lldb/Target/Policy.h
A lldb/include/lldb/Utility/Policy.h
M lldb/source/Target/CMakeLists.txt
R lldb/source/Target/Policy.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Utility/CMakeLists.txt
A lldb/source/Utility/Policy.cpp
M lldb/unittests/Target/CMakeLists.txt
R lldb/unittests/Target/PolicyTest.cpp
M lldb/unittests/Utility/CMakeLists.txt
A lldb/unittests/Utility/PolicyTest.cpp
Log Message:
-----------
[lldb] Move Policy from Target to Utility (NFC) (#198897)
Move the Policy struct and PolicyStack class from lldb/Target to
lldb/Utility. This is a pure relocation -- no API or behavior changes.
This is needed so that lldbHost (which contains ProcessRunLock) can
depend on Policy without introducing a layering violation, since
lldbHost cannot depend on lldbTarget.
----
The following PRs are related to the Policy feature:
- #195762
- #195771
- #198897
- #195774
- #195775
rdar://176223894
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 3394fa1fd54857c4d19a109a1ec05673050ba23a
https://github.com/llvm/llvm-project/commit/3394fa1fd54857c4d19a109a1ec05673050ba23a
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
Log Message:
-----------
[lldb][windows] try to resolve module path if info.hFile is null (#198795)
The Windows API can deliver `LOAD_DLL_DEBUG_EVENT` with `hFile` set to
NULL. In practice, this happens in practice
inside Windows Server Core containers for system DLLs like
`kernel32.dll`, `KernelBase.dll` and `ucrtbase.dll`. This is the issue
described by @Nerixyz in
https://github.com/llvm/llvm-project/issues/132800.
`DebuggerThread::HandleLoadDllEvent` previously dropped any such event.
This patch improves the module path resolution with the 2 following
methods:
- `GetFileNameByLoadAddress`: resolve the module path given its base
load address.
- `GetFileNameFromImageNameField`: resolve the module path given the
`LOAD_DLL_DEBUG_INFO::lpImageName` field.
This requires:
- https://github.com/llvm/llvm-project/pull/198794
Commit: 297678e61e4b4230b6c79ae2e203f3ea687f494e
https://github.com/llvm/llvm-project/commit/297678e61e4b4230b6c79ae2e203f3ea687f494e
Author: Caroline Newcombe <caroline.newcombe at hpe.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Semantics/expression.cpp
R flang/test/Semantics/PowerPC/ppc-vector-diagnostics.f90
Log Message:
-----------
Revert "[flang][PPC] Improve vector type names in expression diagnost… (#198908)
…ics (NFC…"
This reverts commit b387674b529fa137f3d0b05b93ee3712e39240e2.
Commit: 8a3f021e808cab616986a139593bf3fcd2209b25
https://github.com/llvm/llvm-project/commit/8a3f021e808cab616986a139593bf3fcd2209b25
Author: Sirraide <aeternalmail at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/test/Analysis/dead-stores.c
M clang/test/CoverageMapping/break.c
A clang/test/Sema/break-continue-cond.c
M clang/test/Sema/loop-control.c
M clang/test/Sema/statements.c
M clang/test/SemaCXX/scope-check.cpp
Log Message:
-----------
[Clang] Disallow `break`/`continue` in loop conditions (#198436)
tl;dr: This makes e.g. `while (({ break; 1; })) {}` ill-formed.
GCC used to allow this a long time ago (< GCC 9 I believe), but
eventually removed support for it; we originally allowed this both for
GCC compatibility and because there was actual code in the wild using it
(see Richard’s comment here for more background:
https://github.com/llvm/llvm-project/pull/152606#issuecomment-3166130973).
Note that this _is_ still allowed inside another loop, e.g. this
```c++
for (;;) {
while (({ break; true; })) {}
}
```
is well-formed; the `break` here will break out of the `for` loop.
Removing support for this gets rid of quite a bit of code and has a few
more benefits:
1. Currently, GCC and Clang _disagree_ on the meaning of this construct
in nested loops: in the code snippet above, Clang breaks out of the
`while` loop, whereas GCC breaks out of the `for` loop; this patch
changes Clang to align with GCC here. As a result, we can also remove
code that emits a warning for such cases.
2. It frees up a bit in `ScopeFlags::Flags`, which is a good thing
because I need one for expansion statements, and we’re out of bits. This
is because we currently use a bit as a hack to disallow `continue`
inside the declaration of the condition variable (because we’d
`continue` to the condition before initialising the variable); this bit
becomes obsolete with this patch because `continue` is now disallowed
entirely within the condition (if there is no outer loop).
Without this change, I’d have to refactor `Flags` to be a 64-bit
integer, which would also entail updating every place where we use an
`unsigned` to store scope flags.
There is another change that I needed to make here: we currently
suppress `-Wcomma` (which warns about comma operators, because in most
contexts, you probably didn’t mean to use one) in some places, including
the third part of a C-style `for` loop. This is implemented by checking
if we’re in a `BreakScope | ContinueScope`, but those scope flags are
now only set when parsing the loop body. Instead, we now check for
`ControlScope`. This requires us to also set that flag in C90 mode, but
that seems to be harmless as the only use of `ControlScope` I was able
to find is in C++ code paths, where that bit was already set anyway.
When we introduced named loops for C2y, we purposefully didn’t support
labeled break/continue in the condition, so there’s nothing to be done
there (we already have tests for this too).
Commit: bc7894a606bc950e9c75d4c0ecad71fcfc4d17d2
https://github.com/llvm/llvm-project/commit/bc7894a606bc950e9c75d4c0ecad71fcfc4d17d2
Author: Sirraide <aeternalmail at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Clang] [Docs] Remove stray release note (#198913)
The patch that added this release note was reverted (#198341), but then
(#198167) accidentally added it back.
Commit: cf7e14854e2a6ac03347158ed77bca132695e70c
https://github.com/llvm/llvm-project/commit/cf7e14854e2a6ac03347158ed77bca132695e70c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-node-with-non-schedulable-parent.ll
A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-user-different-bb.ll
Log Message:
-----------
[SLP]Bail out when copyable has cross-block reused non-schedulable user
When a copyable scalar in the bundle being scheduled has a same-block,
non-PHI, non-schedulable user with multiple uses, and at least one of
those uses is a non-PHI use in another block, the user's dependency
tracking across multiple bundles can be inconsistent.
Cancel scheduling of such copyable bundles instead.
Fixes #198364.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/198915
Commit: 62e427fd2755fb116a1a9e7406b52815f7442f46
https://github.com/llvm/llvm-project/commit/62e427fd2755fb116a1a9e7406b52815f7442f46
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp
A clang/test/CIR/CodeGen/amdgpu-stack-alloca-array-decay.cpp
M clang/test/CIR/CodeGen/union-agg-init.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
Log Message:
-----------
[CIR][CIRGen] Cast stack allocas to the language-visible address space (#196868)
This patch aims to improve parity with OG codegen on targets with
non-flat alloca address space. I observed this after getting some
crashes while compiling PolybenchGpu for HIP (amdgpu). This work had
previously been merged in the incubator, most notably:
https://github.com/llvm/clangir/pull/2090,
https://github.com/llvm/clangir/pull/2088.
CIR currently returns the raw `cir.alloca` address from temporary/local
alloca creation. On AMDGPU, stack allocas live in private addrspace(5),
but ordinary C/C++/HIP auto variables are still used through the
language-visible generic/flat address space.
OG CodeGen handles this by creating the alloca in the target stack
address space and immediately casting it to the language-visible address
space when those differ. For example:
```llvm
%fmt = alloca [6 x i8], align 1, addrspace(5)
%tmp = alloca ptr, align 8, addrspace(5)
%fmt.ascast = addrspacecast ptr addrspace(5) %fmt to ptr
%tmp.ascast = addrspacecast ptr addrspace(5) %tmp to ptr
%arraydecay = getelementptr inbounds [6 x i8], ptr %fmt.ascast, i64 0, i64 0
store ptr %arraydecay, ptr %tmp.ascast, align 8
```
I've also added a helper to recover the underlying alloca through casts
for callers that need to annotate the original cir.alloca, and preserves
source pointer address spaces when creating pointer bitcasts.
Commit: 57d2c4c7889333f8d1ebb77efdb5195c2e4f5e1e
https://github.com/llvm/llvm-project/commit/57d2c4c7889333f8d1ebb77efdb5195c2e4f5e1e
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libc/include/sys/prctl.yaml
M libc/src/sys/prctl/linux/prctl.cpp
M libc/src/sys/prctl/prctl.h
M libc/test/src/sys/prctl/linux/prctl_test.cpp
Log Message:
-----------
[libc] Update prctl() declaration to use variadic arguments. (#198654)
prctl declaration should typically use variadic arguments (e.g. see
https://man7.org/linux/man-pages/man2/prctl.2.html), as the types /
quantity of subsequent arguments depends on the `option`. We can't
depend on all `<prctl.h>` users to explicitly cast arguments to
`unsigned long` and passing all 5 of them every time.
* Don't add any option-specific logic, and just consume `arg2`-`arg5`
from variadic arguments and pass them to syscall implementation as-is,
assuming that they won't be used by the kernel if they are not needed,
and consuming these arguments won't lead to crashes.
* Updated the test to use `prctl` variants with less than 5 explicit
arguments (for PR_SET_NAME and PR_GET_NAME).
Commit: b996b4eebbedb3b96b584e4db244b6ce685fae45
https://github.com/llvm/llvm-project/commit/b996b4eebbedb3b96b584e4db244b6ce685fae45
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/signal.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/raise.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/rt_sigprocmask.h
M libc/src/setjmp/linux/CMakeLists.txt
M libc/src/setjmp/linux/sigsetjmp_epilogue.cpp
M libc/src/signal/CMakeLists.txt
M libc/src/signal/linux/CMakeLists.txt
A libc/src/signal/linux/pthread_sigmask.cpp
M libc/src/signal/linux/signal_utils.h
M libc/src/signal/linux/sigprocmask.cpp
A libc/src/signal/pthread_sigmask.h
M libc/src/stdlib/linux/abort_utils.h
M libc/test/src/signal/CMakeLists.txt
A libc/test/src/signal/pthread_sigmask_test.cpp
Log Message:
-----------
[libc] Implement pthread_sigmask (#198682)
* Extract `rt_sigprocmask` syscall wrapper into the
libc/src/__support/OSUtil/linux/syscall_wrappers/ directory
* Convert all existing users of this syscall, and simplify the logic
where applicable.
* Implement `pthread_sigmask`, which is effectively another POSIX
wrapper around `rt_sigprocmask` syscall similar to `sigprocmask`
Commit: 205f4bf6cc0350d54cfc169557b8e9b928736fe2
https://github.com/llvm/llvm-project/commit/205f4bf6cc0350d54cfc169557b8e9b928736fe2
Author: modiking <mmo at nvidia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-multiple-users.ll
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-rollback.mir
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-vector-float.ll
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion.ll
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-no-inversion.ll
Log Message:
-----------
[NVPTX] Add commutativity to SETP instructions to enable MachineCSE of inverted predicates (#191890)
Inverted predicates can be used freely in PTX. If we can invert a
predicate and CSE the generating instruction we can save calculating the
inverse.
Teach the NVPTX `commuteInstructionImpl` that SETP instructions can be
inverted to allow CSEing with previous SETP that match the inverted
form. This also inverts the branch users of the predicate to maintain
correctness.
Currently only allow the SETP inversion if all users are branches.
Future work can extend this to `sel` and `not` instructions.
Depends on #191889.
Assisted-by: Cursor / Claude
Commit: 493ebf711e3f6641338e153ecdd284f262b4fb65
https://github.com/llvm/llvm-project/commit/493ebf711e3f6641338e153ecdd284f262b4fb65
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M libcxx/include/__thread/support/pthread.h
Log Message:
-----------
[libc++] Add support for thread-id handling for llvm-libc. (#198595)
This change adds support for properly defining and obtaining
`__libcpp_thread_id` when llvm-libc is used. It defines the integral
thread-id (which satisfies necessary restrictions of having total order,
being hashable and formattable) as `pthread_id_np_t` type and uses
`pthread_getthreadid_np` and `pthread_getunique_np` functions to obtain
it (added in
https://github.com/llvm/llvm-project/pull/197027, following the
discussions in https://github.com/llvm/llvm-project/pull/195139 and
https://github.com/llvm/llvm-project/pull/195202).
We also let `_LIBCPP_NULL_THREAD` macro use a more portable
`PTHREAD_NULL` (defined in the latest POSIX) when this macro is
available, so that it would work as expected for opaque `pthread_t`
implementations, where default constructor might not necessarily
zero-initialize all the members.
This is the last remaining change to allow building libc++ against
llvm-libc with threads enabled (test-suite results TBD).
Commit: 432b6f344f9feb2bf71ee4b7f063ef562a73aabe
https://github.com/llvm/llvm-project/commit/432b6f344f9feb2bf71ee4b7f063ef562a73aabe
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M .github/workflows/libc-freebsd-vm-tests.yml
Log Message:
-----------
[Github] Add version number to libc FreeBSD workflow (#198926)
633539bfa1516e616b798b2eae98bea689b3c410 used the ToT version but does
not necessarily need it. Use the latest release and the standard syntax.
This follows
https://llvm.org/docs/CIBestPractices.html#hash-pinning-dependencies.
Commit: 33bccad88b4eb8603fe0df44875f89b0b5e7f9c8
https://github.com/llvm/llvm-project/commit/33bccad88b4eb8603fe0df44875f89b0b5e7f9c8
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M .github/workflows/libc-freebsd-vm-tests.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.yml
Log Message:
-----------
[Github] Do not run libc workflows on forks (#198932)
https://llvm.org/docs/CIBestPractices.html#disabling-jobs-in-forks
Commit: 262207b8b57a68df02f39df6a47dece06f008d41
https://github.com/llvm/llvm-project/commit/262207b8b57a68df02f39df6a47dece06f008d41
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M .github/workflows/libc-freebsd-vm-tests.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
Log Message:
-----------
[Github] Do not restrict branches for CI workflows (#198925)
This is covered in our CI best practices document in
https://llvm.org/docs/CIBestPractices.html#ensuring-workflows-run-on-the-correct-events.
Otherwise we cannot run libc CI workflows on stacked pull requests.
Commit: 5c63509f4cc356639d9c4067e0812c2312689363
https://github.com/llvm/llvm-project/commit/5c63509f4cc356639d9c4067e0812c2312689363
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Log Message:
-----------
[LLDB] Add a progress event to xcrun invocations (#198931)
LLDB invokes xcrun to find SDKs on disk. This is usually very fast, but
sometimes (after an Xcode update, or when the searched SDK does not
exist) it can take very long (10s or more). The progress event provides
user feedback to explain the hang.
Commit: b8ed8a2f003ca1b05a7a63c69b2934f752290c21
https://github.com/llvm/llvm-project/commit/b8ed8a2f003ca1b05a7a63c69b2934f752290c21
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV][Disassembler] Refactor simple predicate decoders using a template
This replaces the manual boilerplate for DecodeGPRNoX0, DecodeGPRNoX2,
DecodeGPRNoX31, and DecodeGPRPairNoX0 with a universal filtering template
and constexpr predicate functions.
I will need more of these for the RVY patch series, so submitting this NFC
cleanup first.
Pull Request: https://github.com/llvm/llvm-project/pull/198146
Commit: 83a8c33b40c4a4f4022a5565e00586a77fa26dbf
https://github.com/llvm/llvm-project/commit/83a8c33b40c4a4f4022a5565e00586a77fa26dbf
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/test/tools/dxil-dis/di-subprogram.ll
Log Message:
-----------
[DirectX] Drop unsupported DISubprogram flags (#197457)
These flags did not exist in LLVM 3.7 so should be omitted.
Commit: 0107b929b2dad594a9868250878e1d891791dd62
https://github.com/llvm/llvm-project/commit/0107b929b2dad594a9868250878e1d891791dd62
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
A mlir/include/mlir/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.h
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/TosaToSPIRVTosa/CMakeLists.txt
A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.cpp
A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
A mlir/test/Conversion/TosaToSPIRVTosa/descriptor-set-and-bindings.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/op-nesting.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/type-conversions.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/unsupported-func-calls.mlir
Log Message:
-----------
[mlir][tosa][spirv] Add TOSA to SPIR-V TOSA pass plumbing (#196539)
Introduce the initial TosaToSPIRVTosa conversion pass and library
wiring. This slice converts func.func regions to spirv.ARM.Graph inside
spirv.module, rewrites graph input/result types to SPIR-V ARM tensor
types, maps func.return to spirv.ARM.GraphOutputs, and adds focused
tests for type conversion, descriptor bindings, and nested containers.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 1da21d72f0e1e702f436a009640556b7f6633a9e
https://github.com/llvm/llvm-project/commit/1da21d72f0e1e702f436a009640556b7f6633a9e
Author: Alex Langford <alangford at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/test/API/functionalities/unwind/libunwind_ret_injection/TestLibUnwindRetInjection.py
Log Message:
-----------
[lldb] Ensure libunwind architecture matches test for TestLibUnwindRetInjection.py (#198884)
If the test is run arm64e while the just-built libunwind is arm64 only,
the test will not function correctly.
Commit: c25924f92d69294002e40e80a01fb91ebc984dc0
https://github.com/llvm/llvm-project/commit/c25924f92d69294002e40e80a01fb91ebc984dc0
Author: Iñaki V Arrechea <inakiarrechea at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/InstCount.h
M llvm/lib/Analysis/InstCount.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/InstCount/instcount.ll
A llvm/test/Analysis/InstCount/pipeline.ll
Log Message:
-----------
Add InstCount Pass Before Optimization (#198874)
This way we can count instructions before the optimization pipeline for
analysis sake
Commit: 84de374722c74a058e4743f40f4dbdf44bf4ba73
https://github.com/llvm/llvm-project/commit/84de374722c74a058e4743f40f4dbdf44bf4ba73
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M .github/workflows/libc-freebsd-vm-tests.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.yml
Log Message:
-----------
[Github] Add timeouts to libc tests (#198934)
None of these jobs do not take anywhere close to the six hour timeout
that Github uses by default. Set timeouts that are 2-3x the typical job
runtime so that if there is a test/build step that hangs indefinitely,
the job times out in a reasonable amount of time and does not hold any
resources that could be used elsewhere.
This should not impact any jobs that do not hang, will not change the
result of jobs that do hang, and means we can more effectively deal with
cases like today where tests were hanging, from a resource perspective.
This is also standard in some other workflows like the main premerge
workflow definition.
Commit: 6799f694152c25762ca70e509a4f16ab06a6eb3a
https://github.com/llvm/llvm-project/commit/6799f694152c25762ca70e509a4f16ab06a6eb3a
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Log Message:
-----------
Revert "[LLDB] Add a progress event to xcrun invocations (#198931)" (#198945)
This change requires Host link against Core, and it cannot do that; it
may only link in Utility. Reverting so Adrian can decide what to do.
This reverts commit 5c63509f4cc356639d9c4067e0812c2312689363.
Commit: 4cdb2bdc611cf5b30272284f80450cd3934caf7b
https://github.com/llvm/llvm-project/commit/4cdb2bdc611cf5b30272284f80450cd3934caf7b
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
Log Message:
-----------
[AggressiveInstCombine] Recognizing tail truncation in the popcount pattern (#198658)
We're currently able to recognize the following popcount pattern
```
int popcnt(unsigned x) {
x = x - ((x >> 1) & 0x55555555);
x = x - 3*((x >> 2) & 0x33333333);
x = (x + (x >> 4)) & 0x0F0F0F0F;
x = x + (x >> 8);
x = x + (x >> 16);
return x & 0x0000003F;
}
```
but if a truncation follows right after the last AND instruction:
```
int16_t popcnt(unsigned x) {
x = x - ((x >> 1) & 0x55555555);
x = x - 3*((x >> 2) & 0x33333333);
x = (x + (x >> 4)) & 0x0F0F0F0F;
x = x + (x >> 8);
x = x + (x >> 16);
return int16_t(x & 0x0000003F);
}
```
since InstCombine canonicalizes `(trunc (and y, C))` into `(and
trunc(y), C')`, we might loose the opportunity to turn the above snippet
into `(trunc (popcount x))` as there is a `trunc` interrupting the
pattern matching.
This patch fixes this issue by considering this extra `trunc` during
pattern matching, and appending it in the final popcount result, if
there is any.
Commit: f4caa0a172d96597c375e6b6b2192c289723a6b9
https://github.com/llvm/llvm-project/commit/f4caa0a172d96597c375e6b6b2192c289723a6b9
Author: Shoreshen <372660931 at qq.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
A llvm/test/CodeGen/AMDGPU/gfx12-5-generic-no-xnack.ll
Log Message:
-----------
[AMDGPU] Remove unsupported feature by gfx12-5-generic target (#198437)
Co-authored-by: Shilei Tian <i at tianshilei.me>
Co-authored-by: Chinmay Deshpande <chdeshpa at amd.com>
Commit: 17e4140ece563837b8f5044aa88f2abd1ef031b6
https://github.com/llvm/llvm-project/commit/17e4140ece563837b8f5044aa88f2abd1ef031b6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/include/lldb/Symbol/TypeSystem.h
Log Message:
-----------
[lldb] Make TypeSystem::m_sym_file atomic to fix data race (#198923)
SymbolFileCommon::GetTypeSystemForLanguage unconditionally writes this
pointer with `ts->SetSymbolFile(this)` on every lookup, which races with
concurrent reads from other threads.
The race is benign in practice: there is exactly one SymbolFile per
Module, so every writer stores the same pointer, but it is still
undefined behavior under the C++ memory model.
Make the field std::atomic<SymbolFile *> and turn SetSymbolFile into a
compare-exchange that asserts a TypeSystem is never rebound to a
different SymbolFile, documenting the invariant that lets us get away
with this.
The alternative is to have the SymbolFile pointer passed in through the
constructor, but that would require updating a bunch of call sites,
including various plugin interfaces.
Found by ThreadSanitizer as part of #197792.
Commit: a3da590a2320080e0346571e4c88a615e3e5a447
https://github.com/llvm/llvm-project/commit/a3da590a2320080e0346571e4c88a615e3e5a447
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[flang-rt] Fix ISO test not respecting real kind flags (#198922)
Summary:
The test previously did not account for CMake overrides, so we just grab
the file that's actually generated. `sort -u` should handle the case
where there's both a .so and .a.
Commit: d2d8c53c8fe8bc63db10c69a2e73e39bc1436acd
https://github.com/llvm/llvm-project/commit/d2d8c53c8fe8bc63db10c69a2e73e39bc1436acd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/Arch/AMDGPU.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
[AMDGPU] Rewrite `-march` to `-mcpu` in the AMDGPU Toolchain (#198877)
Summary:
Pretty much every target uses either `-mcpu` or `-march` consistently.
AMDGPU has been accidentally using both for a while, mostly from some
fallout with the OpenMP Toolchain. This is too deep to pull out without
potentially disrupting users, but I want to at least contain it by
canonicalizing `-march` to `-mcpu` in the driver. This means we don't
need to bother checking both like every other target does.
Commit: 239fe4447b8c6cfe6e8b1d09732d3d79df51494e
https://github.com/llvm/llvm-project/commit/239fe4447b8c6cfe6e8b1d09732d3d79df51494e
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 0107b92 (#198939)
This fixes 0107b929b2dad594a9868250878e1d891791dd62.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 35aeb28c8550b821ec28a5118454008a390faa5c
https://github.com/llvm/llvm-project/commit/35aeb28c8550b821ec28a5118454008a390faa5c
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang-rt/lib/runtime/exceptions.cpp
M flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/Exceptions.cpp
A flang/include/flang/Common/fp-control.h
Log Message:
-----------
[flang-rt] Silence -Wfenv-access in the runtime fenv wrappers (part 1) (#198692)
Upstream clang's commit 5f2bedca, PR #187860, enabled a warning that
fires whenever code calls a `<fenv.h>` / `<cfenv>` primitive without
enabling proper FP exception behavior. This caused warnings in compiling
flang-rt, which in turn caused certain buildsbots to fail with
`-Werror`.
This change enables FP trap behavior for parts of flang-rt that are
known to require it. The other parts will be addressed by a future
change.
Assisted-by: AI
Commit: 577c2b6ccb1f358ed2948b6ae4cf443c4a842e75
https://github.com/llvm/llvm-project/commit/577c2b6ccb1f358ed2948b6ae4cf443c4a842e75
Author: Anand Mistry (MSFT) <anandmistry at microsoft.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsMips.def
A clang/test/CodeGen/Mips/msa-const-ld.c
Log Message:
-----------
[Mips] Allow const pointers for the MSA load intrinsics (#193508)
This matches the prototypes of the GCC builtins.
Commit: b3c0661bf9f300c4e993646241bb95adf595cb9b
https://github.com/llvm/llvm-project/commit/b3c0661bf9f300c4e993646241bb95adf595cb9b
Author: Emil Tsalapatis <etsal at meta.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[NFC][ASan] Factor out ASan call insertion behind a single call (#198650)
The ASan pass directly injects function calls into the IR using
getOrInsertFunction() on every call site. Refactor the disparate call
sites behind an AsanFunctionInserter class. This allows us to add pre-
and post-processing logic for all inserted functions at once.
Signed-off-by: Emil Tsalapatis <emil at etsalapatis.com>
Commit: cc382a62b2daf8527c4c78c70308f07ee28e3451
https://github.com/llvm/llvm-project/commit/cc382a62b2daf8527c4c78c70308f07ee28e3451
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Custom-lower SELECT for v4i16/v8i8 on RV32 (#198723)
SELECT was Expand for RV32 64-bit packed types, producing 40-80 lines of
stack-based per-element scalarization. Make it Custom for v4i16/v8i8 and
extend the existing isPExtPackedType branch in lowerSELECT to bitcast to
an integer of matching width: single-GPR types select on XLenVT
directly, while RV32 double-wide types select on i64 which
type-legalizes to two scalar selects on the i32 halves.
v2i32 is left to natural type-legalization since it splits cleanly into
two scalar i32 selects without a Custom hook.
Commit: 2306a984ef330970dc6a9c074539427fe4ca02e8
https://github.com/llvm/llvm-project/commit/2306a984ef330970dc6a9c074539427fe4ca02e8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Inline multiple small lambdas. NFC (#198878)
None of these lambdas are reused and they all seemed pretty simple to
inline.
Commit: 3cf43f6625ea3bb5e23ad7dafac23c862547dfd9
https://github.com/llvm/llvm-project/commit/3cf43f6625ea3bb5e23ad7dafac23c862547dfd9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Split v4i16/v8i8 AND/OR/XOR on RV32. (#198449)
v2i32 is already scalarized by LegalizeVectorOps.
Commit: 74e6127e93ab1a7559ad652b7f9410c41dd4efb6
https://github.com/llvm/llvm-project/commit/74e6127e93ab1a7559ad652b7f9410c41dd4efb6
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
A llvm/test/CodeGen/RISCV/jump-is-expensive.ll
Log Message:
-----------
[RISCV] Add TuneJumpIsExpensive (#191374)
We had `setJumpIsExpensive(true)` before 18.x but it was removed
in #74647. This feature allows users to tune the ISel behavior.
We have #80124 and #178394 landed, so it should be more flexible
to tune branches and selects now.
This is an alternative of #191158.
Commit: 1229385ace03c6120b2268a7a4bf80d3f56b2135
https://github.com/llvm/llvm-project/commit/1229385ace03c6120b2268a7a4bf80d3f56b2135
Author: Brad Smith <brad at comstyle.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/cpu_model.h
M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
Log Message:
-----------
[compiler-rt][builtins] A few fixes cpu_model files (#198957)
- Fix typo in include guard with the word features
- Correct header in cpu_model.h header file and include guard after
the file has been renamed
Commit: 1df5015582835a38f512100aa984ec55350a61b7
https://github.com/llvm/llvm-project/commit/1df5015582835a38f512100aa984ec55350a61b7
Author: David Green <david.green at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
A llvm/test/CodeGen/ARM/pr196779.ll
Log Message:
-----------
[ARM] Copy all flags when creating LDM (#197898)
This just adds the Operand instead of trying to handle flags
individually, similar to the AArch64LoadStoreOptimizer.
Fixes #196779
Commit: 8ac51bce5afbe6ce84167260be68f0c5ef346656
https://github.com/llvm/llvm-project/commit/8ac51bce5afbe6ce84167260be68f0c5ef346656
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libc/include/arpa/inet.yaml
M libc/include/ctype.yaml
M libc/include/dlfcn.yaml
M libc/include/errno.yaml
M libc/include/fcntl.yaml
M libc/include/math.yaml
M libc/include/sched.yaml
M libc/include/signal.yaml
M libc/include/stdio.yaml
M libc/include/stdlib.yaml
M libc/include/string.yaml
M libc/include/sys/mman.yaml
M libc/include/sys/prctl.yaml
M libc/include/sys/resource.yaml
M libc/include/sys/select.yaml
M libc/include/sys/socket.yaml
M libc/include/sys/wait.yaml
M libc/include/termios.yaml
M libc/include/time.yaml
M libc/include/unistd.yaml
Log Message:
-----------
[libc][NFC] Lowercase standard identifiers in YAML files (#198854)
Update YAML files to use lowercase identifiers for standards.
In header.py, canonical identifiers for standards are explicitly defined
in lowercase and mapped to their pretty names for display. This change
ensures that all YAML files use the lowercase identifiers (posix, linux,
bsd, gnu) expected by the header generation tool.
Assisted-by: Automated tooling, human reviewed.
Commit: 10c0b42b5086e8d69dff8f3d46f5d28b374e50d8
https://github.com/llvm/llvm-project/commit/10c0b42b5086e8d69dff8f3d46f5d28b374e50d8
Author: Hocky Yudhiono <hocky.yudhiono at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir][linalg] Add splat broadcast canonicalization pattern (#195980)
Add `linalg.broadcast` splat constant to `linalg.fill` canonicalization.
Assisted-by: Cursor (GPT-5.5)
Commit: 5a51136ad0473760fd0ed78044ccc17e954ed113
https://github.com/llvm/llvm-project/commit/5a51136ad0473760fd0ed78044ccc17e954ed113
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/redundant-casting.rst
M clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-casting.cpp
A clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-isa.cpp
Log Message:
-----------
[clang-tidy] detect uses of llvm::isa that are always true (#191081)
Warns when performing a dynamic type check that is always true, either
because the dynamic type is the same as the static type, or because the
static type derives the dynamic type.
Supported functions:
- isa
- isa_and_present
- isa_and_nonnull
Related PR: https://github.com/llvm/llvm-project/pull/189274
Commit: ac09b41daec4df16e26011abb021c17844db66c7
https://github.com/llvm/llvm-project/commit/ac09b41daec4df16e26011abb021c17844db66c7
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
Log Message:
-----------
remove redundant uses of `isa` caught by clang-tidy (NFC) (#192813)
These calls to `isa` are always true. Also includes a drive-by cleanup
of a use of `isa_and_nonnull` where the value was already null-checked.
Caught by applying https://github.com/llvm/llvm-project/pull/191081
Commit: 55c514cb8499c435531cbacc91372718623d7165
https://github.com/llvm/llvm-project/commit/55c514cb8499c435531cbacc91372718623d7165
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/AArch64/swap-compare-operands.ll
Log Message:
-----------
[AArch64] Select `CMP WZR, reg, shift #amount` (#197424)
Commit: a21e1cc1400e3c9284a9550ea1d2f6e754d8d678
https://github.com/llvm/llvm-project/commit/a21e1cc1400e3c9284a9550ea1d2f6e754d8d678
Author: Sam Parker <sam.parker at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/test/CodeGen/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
Log Message:
-----------
[WebAssembly] Cost model for F32 memory interleave (#198531)
Set them the same as their i32 counterparts, but don't cost 4x v4f32.
wasm-perf doesn't show any particular uplift and the tests show that,
when we're mixing integers and floats, we often interleaving anyway. But
this change should be good for arithmetic on structures of 2xf32.
Commit: e1cb899614d036550ab8c2505dfe2d5fcecbac08
https://github.com/llvm/llvm-project/commit/e1cb899614d036550ab8c2505dfe2d5fcecbac08
Author: Benjamin Maxwell <macdue at dueutil.tech>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
A llvm/test/CodeGen/AArch64/machine-sme-abi-skip-debug-inst.mir
Log Message:
-----------
[AArch64][SME] Don't pass debug instructions to LiveUnits.stepBackward() (#198010)
See https://github.com/llvm/llvm-project/pull/193104 (follow up to
#197989).
Commit: 8f2f0162a9362f9042d1200b3fbcc09d3fa38f8c
https://github.com/llvm/llvm-project/commit/8f2f0162a9362f9042d1200b3fbcc09d3fa38f8c
Author: Simi Pallipurath <simi.pallipurath at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libc/src/__support/freelist_heap.h
Log Message:
-----------
[libc] Make FreeListHeap::free ignore null pointers. (#198834)
Update `FreeListHeap::free` to return immediately when passed `nullptr`.
This matches the expected `free(nullptr)` behaviour as per the C
standard and avoids running pointer validation on a null pointer
allowing the hermetic malloc test libc/test/src/stdlib/malloc_test.cpp
to pass.
As per standard:
The free function, paragraph:
```
The free function causes the space pointed to by
ptr to be deallocated, that is, made available for
further allocation. If ptr is a null pointer,
no action occurs.
```
Commit: 4eeee28f308a2ca87674d33b2842e217b1ccf686
https://github.com/llvm/llvm-project/commit/4eeee28f308a2ca87674d33b2842e217b1ccf686
Author: David Green <david.green at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Log Message:
-----------
[AArch64][GlobalISel] Do not clamp s16 G_FCONSTANT. (#198983)
This should be an NFC as s16 FCONSTANT is already legal and handled
later
whether fp16 is available or not.
Commit: 835e014bc0a0672e71f296c83d6a8af6a080844b
https://github.com/llvm/llvm-project/commit/835e014bc0a0672e71f296c83d6a8af6a080844b
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M mlir/lib/Dialect/Transform/IR/Utils.cpp
Log Message:
-----------
[mlir] only verify moved symbols in transform (#197882)
When merging named sequences from an external module in the transform
interpreter, only run the inliner verification for operations that were
actually moved rather than all pre-existing operations. This avoids
verifying inlining conditions for operations that wouldn't be inlined by
this logic, and is also more parsimonious.
Reverts #195770 but keeps the test. This is a more generic fix.
Commit: 868aefd5ea47493e4a231b72875e6909f85334f6
https://github.com/llvm/llvm-project/commit/868aefd5ea47493e4a231b72875e6909f85334f6
Author: David Green <david.green at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/alias_mask.ll
M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
M llvm/test/CodeGen/AArch64/fixed_masked_deinterleaved_loads.ll
M llvm/test/CodeGen/AArch64/fixed_masked_interleaved_stores.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
Log Message:
-----------
Revert "[AArch64] Use ADDP tree for v16i8 to i16 bitmask extraction (#192974)" (#198985)
This reverts commit 42cc9b53bf83ebb778755fd51a9b277cb71740d5 as it is
tripping up on type legalization.
Commit: 9c826fef2d403baa2a4165e628aa6a27fa6d2b7a
https://github.com/llvm/llvm-project/commit/9c826fef2d403baa2a4165e628aa6a27fa6d2b7a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libcxx/include/__cxx03/limits
M libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #166724 (#198839)
Commit: 2a17897a10b0a596449e49f3d3b213c6daf892d3
https://github.com/llvm/llvm-project/commit/2a17897a10b0a596449e49f3d3b213c6daf892d3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libcxx/include/__cxx03/__functional/hash.h
M libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #166690 (#198977)
Commit: a13ad2170391b9bb61785f0bc50c11c6ea6fc1af
https://github.com/llvm/llvm-project/commit/a13ad2170391b9bb61785f0bc50c11c6ea6fc1af
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/test/CodeGen/X86/combine-reductions.ll
R llvm/test/CodeGen/X86/horizontal-reduce-smax.ll
R llvm/test/CodeGen/X86/horizontal-reduce-smin.ll
R llvm/test/CodeGen/X86/horizontal-reduce-umax.ll
R llvm/test/CodeGen/X86/horizontal-reduce-umin.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
Log Message:
-----------
[X86] Replace custom minmax reduction pattern matching with ISD::VEC_REDUCE_*MIN/MAX support (#194473)
Support middle-end reduction integer min/max patterns instead of relying
on the ExpandReductions pass and then matching the expanded pattern in
DAG.
Middle-end reduction pattern recognition now matches
SelectionDAG::matchBinOpReduction (inc partial reduction), and its
better to improve future handling in InstCombine/VectorCombine wherever
possible.
Fixes #194624
Commit: 7d97d03fb04acd45fa21bc7159a4d8b4a35e2293
https://github.com/llvm/llvm-project/commit/7d97d03fb04acd45fa21bc7159a4d8b4a35e2293
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use inferred type for VPReplicateRecipe void check (NFC) (#198560)
Commit: 22822658410722ca3520aedc2f4338ed9430ebc6
https://github.com/llvm/llvm-project/commit/22822658410722ca3520aedc2f4338ed9430ebc6
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll
M llvm/test/Transforms/LoopInterchange/pr57148.ll
A llvm/test/Transforms/LoopInterchange/reduction-not-involve-innermost.ll
Log Message:
-----------
[LoopInterchange] Always create a new latch when interchanging (#194574)
In the transformation phase of loop-interchange, when the inner loop to
be interchanged is the innermost one, a new latch BB is created and
several instructions are moved from the original BB to the new one to
generate valid IR. I'm not sure why this process was performed only when
the target loop is the innermost loop, but as demonstrated in #163954,
this process is also necessary when interchanging non‑innermost loops,
e.g., when a reduction exists and the reduction operation is located in
the latch BB of the inner loop.
This patch removes the conditional branch and always creates a new latch
during the transformation.
Fix #163954
Commit: 955b34dd7b51482b8b90e5bb29be0977fc82c0b8
https://github.com/llvm/llvm-project/commit/955b34dd7b51482b8b90e5bb29be0977fc82c0b8
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll
M llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
Log Message:
-----------
[LoopInterchange] Make the instorder profitability check GEP-independent (#181991)
The heuristic function `instorder` assumes that the structure of GEPs
reflect the original memory access patterns, which is not always true.
Moreover, recent trends in LLVM are moving in a direction where such
patterns are no longer preserved. If the migration from GEP to ptrtoadd
is completed, this heuristic will no longer make sense.
To achieve what this heuristic is trying to do, we should examine the
SCEV of the pointer operands of loads/stores, rather than relying on
GEPs. This patch replaces the GEP‑dependent logic with an SCEV‑based
analysis. Instead of relying on the operand order in GEPs, the
SCEV‑based approach walks through the SCEV expression, identifies the
step recurrences of the relevant loops, and compares them. This allows
us to perform what `instorder` intends to do without relying on how
memory access patterns are represented in the IR.
Commit: 7050858970a6796dea9654758fb0286417d69454
https://github.com/llvm/llvm-project/commit/7050858970a6796dea9654758fb0286417d69454
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-reduce-smax.ll
Log Message:
-----------
[X86] LowerVECREDUCE - don't attempt to handle vectors with non-pow2 element counts (#198989)
32-bit targets will attempt to lower vXi64 reductions prior to argtype legalization
Crash fix - we can improve the handling in a future commit
Commit: c7b502803095b2c0f6a5a1f8e46ec8c5796e9e0a
https://github.com/llvm/llvm-project/commit/c7b502803095b2c0f6a5a1f8e46ec8c5796e9e0a
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
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/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/widen-canonical-iv-register-pressure.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/vplan.ll.expected
Log Message:
-----------
[LV] Convert gather loads with constant stride into strided loads (#147297)
This patch detects non-consecutive load accesses (i.e. gather) with a
constant stride, such as:
```
void stride(int* a, int *b, int n) {
for (int i = 0; i < n; i++)
a[i * 5] = b[i * 5] + i;
}
```
and converts them into strided loads when legal and profitable, using
experimental_vp_strided_load.
The new VPlan transformation, convertToStridedAccesses, hoists the
functionality of RISCVGatherScatterLowering into the vectorizer,
enabling a more precise cost estimation during vectorization.
Additionally, by leveraging SCEV for stride analysis, the vectorizer can
potentially detect more opportunities to optimize gathers into strided
loads.
This enables more efficient code generation for targets like RISC-V that
support strided loads natively.
Commit: 3b7140f2a10a90481ac1052e10007458f3865a53
https://github.com/llvm/llvm-project/commit/3b7140f2a10a90481ac1052e10007458f3865a53
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/test/CodeGen/X86/madd.ll
A llvm/test/Transforms/PhaseOrdering/X86/madd.ll
Log Message:
-----------
[X86] Update PMADDWD tests to more closely match middle-end vector.reduce.add codegen (#198993)
The middle-end will detect vector.reduce.add patterns - update the
Codegen tests to use the intrinsics directly and add PhaseOrdering tests
to ensure vector.reduce.add intrinsics are created
Commit: 7be306c647419be64350e28c4d040d9500e63723
https://github.com/llvm/llvm-project/commit/7be306c647419be64350e28c4d040d9500e63723
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
R llvm/test/Transforms/LoopInterchange/many-load-stores.ll
A llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll
Log Message:
-----------
[LoopInterchange] Bail out when memory instruction ratio is high (#192954)
Currently, to save compile-time, LoopInterchange limits the number of
memory instructions and bails out early if it exceeds a threshold.
However, the dependence analysis phase in LoopInterchange has `O(N^2)`
complexity, where `N` is the number of memory instructions. This means
that even a small number of memory instructions can have a
non‑negligible impact on compile-time. In fact, I found such a case
(about +5% compile‑time regression), which the most instructions in the
loop are stores.
This patch replaces the heuristic which determines whether we should
continue the analysis or bail out to save compile time. The idea is that
if the ratio of the squared number of memory instructions to the total
number of instructions is small, LoopInterchange is allowed to continue
its analysis. The existing option `-loop-interchange-max-meminstr-count`
is removed.
Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=f344adcd2fb876d61f016fb92369a6530cc85a5b&to=6f7e5b0e4b35116728563913f2d98b7f9341409b&stat=instructions:u
Commit: d473e146ce9ebe22064b7d21722407245a3fae9b
https://github.com/llvm/llvm-project/commit/d473e146ce9ebe22064b7d21722407245a3fae9b
Author: Thrrreeee <shijinrui at bytedance.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M bolt/include/bolt/Core/DIEBuilder.h
Log Message:
-----------
[BOLT][DebugInfo] Speed up DIEBuilder with DenseMap (#197655)
We replaced `std::unordered_map` with LLVM's `DenseMap` for the DIE maps
in DIEBuilder. Since this map is accessed frequently during DWARF
rewriting, the improved data layout translates directly into reduced
cache misses. As shown in the benchmark results, this change yields
1.22x–1.27x speedup.
**Program from Bytedance**
| BatchSize | Baseline (s) | Optimized (s) | Speedup |
|---|---|---|---|
| 2 | 120.01 | 98.32 | 1.22x |
| 4 | 104.12 | 85.37 | 1.22x |
| 16 | 82.31 | 66.41 | 1.24x |
| 32 | 77.45 | 61.01 | 1.27x |
| 64 | 71.69 | 56.35 | 1.27x |
Commit: 607870acacbb8ebc6247e45e4004ee029b2ceb60
https://github.com/llvm/llvm-project/commit/607870acacbb8ebc6247e45e4004ee029b2ceb60
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Use `Pointer::computeOffsetForComparison()` for non-eq comparisons as well (#198243)
Commit: 2c4065f671e08de65ae576c9a4a91daaed65d8cd
https://github.com/llvm/llvm-project/commit/2c4065f671e08de65ae576c9a4a91daaed65d8cd
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/test/CIR/CodeGen/atomic.c
Log Message:
-----------
[CIR] Atomic fetch-and-update operations on pointers (#195537)
Commit: 8b1c7ea6f6e91a9977177dd214aca0523f58064e
https://github.com/llvm/llvm-project/commit/8b1c7ea6f6e91a9977177dd214aca0523f58064e
Author: Jakob Linke <jakob at linke.cx>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/desig-init.cpp
A clang/test/CodeCompletion/offsetof.cpp
Log Message:
-----------
[clang] Complete fields in __builtin_offsetof designators (#195126)
Code completion was a no-op inside `__builtin_offsetof`: a cursor at `
__builtin_offsetof(T, ^)` or `__builtin_offsetof(T, a.^)` fell through
to ordinary-name completion instead of suggesting fields. Route the
code_completion token to a new SemaCodeCompletion entry point that walks
the designator path so far, resolves the subobject's type, and
enumerates its members. Methods are filtered out, inherited fields are
included, indirect fields from anonymous unions and structs are peeled,
and `using Base::field` resolves through its UsingShadowDecl. A
code_completion token past a complete component (right after `]` or at
the end of the chain) is dropped rather than offering fields the user
can't paste without first typing `.`.
The offsetof and designated-initializer type walkers are folded into one
helper parameterized by a field-lookup callback, which incidentally
fixes reference-field and indirect-field traversal in
designated-initializer completion too.
Tests: lit cases in offsetof.cpp covering empty/dot/array/inheritance/
reference/anonymous/using-shadow/macro forms, extended desig-init.cpp
walker cases, and a clangd unit test exercising the IDE path.
Context: #195126 and #194407
This work was AI assisted but human-reviewed.
The followup for the added FIXME is at
https://github.com/llvm/llvm-project/compare/main...schuay:llvm-project:refactor-offsetof-component-to-designation
Commit: 1c305a3085f602f97f834ceae0474f3cb4b0b071
https://github.com/llvm/llvm-project/commit/1c305a3085f602f97f834ceae0474f3cb4b0b071
Author: Rafał Rudnicki <rafal.rudnicki at intel.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
Log Message:
-----------
[AMDGPU] Coverity fixes - check ret val and init class members (#198570)
Coverity fixes:
* calling getIntrinsicSignature without checking return value (as is
done elsewhere 4 out of 5 times) in
llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
* non-static class member MaxSGPRs, MaxVGPRs and MaxUnifiedVGPRs is not
initialized in this constructor nor in any functions that it calls in
llvm/lib/Target/AMDGPU/GCNRegPressure.h
Commit: e453259960d0723805cafebeaafb6866a77781de
https://github.com/llvm/llvm-project/commit/e453259960d0723805cafebeaafb6866a77781de
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
Log Message:
-----------
[lldb] Add missing includes. (#198996)
Failed to build in CI because,
ScriptedPythonInterface::CreatePlugingObject is a template function and
the arguments are of incomplete types gotten from `lldb-forward.h`
(typedef of lldb_private::XXXX = XXXXSP).
Introduced in commit 1b4a578a9f7760a00bf26525a603be1ec6e7d862
Commit: 63b905cf47780d9e3a13d08b17e19748061a8dd7
https://github.com/llvm/llvm-project/commit/63b905cf47780d9e3a13d08b17e19748061a8dd7
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/OpIsFinite.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/OpIsNormal.ll
Log Message:
-----------
[SPIR-V] Add support for OpIsFinite and OpIsNormal intrinsics (#196961)
Commit: 93d8c2b6099e447e1487b39e80254f578cd49c97
https://github.com/llvm/llvm-project/commit/93d8c2b6099e447e1487b39e80254f578cd49c97
Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-srem.mir
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/rem_and_div.mir
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div.ll
Log Message:
-----------
[GlobalISel][KnownBits] Port SREM to GlobalISel (#198956)
This PR also move case statement for or `G_UREM `that is being
introduced by https://github.com/llvm/llvm-project/pull/193455 So that
`G_[U|S][DIV|REM] ` being grouped together, just like in
`SelectionDAG.cpp`
Related: https://github.com/llvm/llvm-project/issues/150515
---------
Signed-off-by: ZakyHermawan <zaky.hermawan9615 at gmail.com>
Commit: 385701ce90407e814b760ccd8324099a67e8107f
https://github.com/llvm/llvm-project/commit/385701ce90407e814b760ccd8324099a67e8107f
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
Log Message:
-----------
[LoopInterchange] Add test for multiple accesses to same base ptr (NFC) (#193476)
Currently `getInstrOrderCost` doesn't check the base pointers of the
accesses, which can lead to undesirable profitability decisions. This
patch adds a test that demonstrates such a case.
Commit: 6255ecd593f488bd99123771e9803ad2f1be49c5
https://github.com/llvm/llvm-project/commit/6255ecd593f488bd99123771e9803ad2f1be49c5
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
M clang/test/SemaHIP/incorrect-atomic-scope.hip
Log Message:
-----------
[AMDGPU][Clang] use ScopeModel to translate integer scopes [NFC] (#198250)
The assumption here is that AMDGPU builtins (typically suffixed with
`__builtin_amdgcn`) use the `__MEMORY_SCOPE_*` enumeration, and not the
`__HIP_MEMORY_SCOPE_*` enumeration (which is how it should be).
Assisted-By: Claude Opus 4.6
Commit: 45f8bda33abe5182364a26038c7a12079ace4007
https://github.com/llvm/llvm-project/commit/45f8bda33abe5182364a26038c7a12079ace4007
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
Log Message:
-----------
[SPIR-V] Fix failure-order register reuse in atomic cmpxchg lowering (#199000)
Fix copy-paste issue, extend tests for cmpxchg atomic
Commit: 371f57cd67a523d241678509f57d048d58417b87
https://github.com/llvm/llvm-project/commit/371f57cd67a523d241678509f57d048d58417b87
Author: Hussam Alhassan <hsm.link at proton.me>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
A llvm/test/CodeGen/AArch64/aarch64-condopt-cross-block-domtree.mir
Log Message:
-----------
[AArch64] ConditionOptimizer: replace per-block DenseMap with ScopedHashTable traversal (#196746)
The intra-block path used a DenseMap cleared at each block boundary, so
pairs from dominating blocks were never visible to descendants. Replace
it and the separate cross-block path with a unified recursive domtree
walk using a ScopedHashTable. Any dominating block's pair is now a
candidate, not just pairs within the same block.
Rename optimizeIntraBlock to optimizeBlock and remove dead code
Commit: e1570b88284fd48485fad0d5ae63f689e0caf6c9
https://github.com/llvm/llvm-project/commit/e1570b88284fd48485fad0d5ae63f689e0caf6c9
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
R llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
Log Message:
-----------
[AArch64] Delete llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir (NFC) (#198974)
It's bit-identical to
llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs.mir. The
-in-fcmp test is older (0f0fd383b487), but 84a6a057e60b later expanded
op coverage and left both files with the exact same contents.
Commit: 3d126bd56808ba04afc3ed77ea951567ece1e861
https://github.com/llvm/llvm-project/commit/3d126bd56808ba04afc3ed77ea951567ece1e861
Author: John Brawn <john.brawn at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/masked_expand_load.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
Log Message:
-----------
[CostModel] Move the arbitrary load latency into getMemoryOpCost (#198790)
Currently TargetTransformInfoImpl returns an arbitrary cost of 4 for the
latency of loads in getInstructionCost. This means even if a target
correctly reports the latency for loads in getMemoryOpCost we still get
this arbitrary cost in getInstructionCost. It also means the latency
cost is inconsistent depending on whether you go through
getInstructionCost or getMemoryOpCost.
Solve this by moving the current arbitrary cost into getMemoryOpCost.
This has the side-effect of affecting the cost of masked loads if they
aren't handled by the target, as in BasicTTIImpl the cost for these is
calculated using getMemoryOpCost. This should mean the cost is more
accurate though, and likely won't have any effect as in any
transformation that could introduce masked loads (e.g. vectorization)
the current cost is probably high enough that it's already not worth
using.
Commit: 26f5eb2b8f53bda6b4ae97f9757523bd157b9263
https://github.com/llvm/llvm-project/commit/26f5eb2b8f53bda6b4ae97f9757523bd157b9263
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
Log Message:
-----------
clang/AMDGPU: Stop adding -m32/-m64 for OpenCL (#199005)
The pointer size is not configurable; you get what you get
based on the triple. I don't know what the point of this was,
I don't even see the argument in the final cc1 invocation.
Commit: bf76ada7b3e9345ad4d93c44025719f12cec1bec
https://github.com/llvm/llvm-project/commit/bf76ada7b3e9345ad4d93c44025719f12cec1bec
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
Log Message:
-----------
[LoopInterchange] Take base pointer into account in profitability check (#193477)
Currently `getInstrOrderCost` doesn't check the base pointers of the
accesses, which can lead to undesirable profitability decisions. This
patch makes the function take the base pointers into account. Fix the
test case added in #193476.
Commit: a3d2a6d77a26f6b4d90b833c8017e2d483e9027f
https://github.com/llvm/llvm-project/commit/a3d2a6d77a26f6b4d90b833c8017e2d483e9027f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/X86/scalarize-wide-load-for-address-use.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
Log Message:
-----------
[VPlan] Run replaceSymbolicStrides on VPlan0 (NFCI). (#196840)
Running replacceSymbolicStrides on VPlan0 means we only need to run it
once, and also enables simplifications earlier on. It is also needed to
be able to compute costs of the scalar VPlan0 early accurately, without
hacks manual folds like in the legacy cost model.
PR: https://github.com/llvm/llvm-project/pull/196840
Commit: 012abddca170c33425fef4dd9a26e77889a0dc91
https://github.com/llvm/llvm-project/commit/012abddca170c33425fef4dd9a26e77889a0dc91
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M offload/liboffload/CMakeLists.txt
M offload/libomptarget/CMakeLists.txt
M offload/plugins-nextgen/CMakeLists.txt
Log Message:
-----------
[Offload] Fix LLVM_LINK_LLVM_DYLIB linking liboffload (#198955)
Summary:
When this is set you can only link against `LLVM`. The previous patch
did not respect this because I did not realize that internally in the
add_llvm_library that this was required.
Commit: 4d7b7dff60c3c3c3858e91858d2f74a512d71538
https://github.com/llvm/llvm-project/commit/4d7b7dff60c3c3c3858e91858d2f74a512d71538
Author: Amelia Jochna <ameliajochna1 at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/lib/Lex/PPDirectives.cpp
A clang/test/Preprocessor/nonportable-trailing-whitespace-win.c
A clang/test/Preprocessor/nonportable-trailing-whitespace.c
Log Message:
-----------
[Clang] Add warning for non-portable include paths with trailing whitespace or dots (#190610)
This patch extends -Wnonportable-include-path to detect and warn about
trailing whitespace and dots in #include directives. Such paths are
non-portable and can lead to build failures on different operating
systems.
The warning is triggered when an include filename ends with a space or a
dot, which is common when copy-pasting paths or due to typos.
Fixes #96064
Commit: 542397ae3f9c61c159d7640023531c53b9fc7456
https://github.com/llvm/llvm-project/commit/542397ae3f9c61c159d7640023531c53b9fc7456
Author: Jakub Chlanda <jchlanda at accesssoftek.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/aarch64-feature-pauth.s
Log Message:
-----------
[lld][PAC] Print full version and platform values on core mismatch (#198758)
`toHex()` only prints a single byte of the integer value, which can hide
the actual mismatch in AArch64 PAuth ABI core info diagnostics.
Commit: 5c59784cf831dd456cf599a8d2358329351287ad
https://github.com/llvm/llvm-project/commit/5c59784cf831dd456cf599a8d2358329351287ad
Author: walkerkd <keith.walker at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
Log Message:
-----------
[AArch64] C1-Nano scheduling model refactor [NFC] (#198469)
Creates explicit definitions for each latency/throughput/resource
combination and use the definitions in the instruction rule definitions.
Alhough this change touches most lines in the model, there is no
functional change - all test cases are not affected by this change.
This makes the style of the C1-Nano scheduling model be similar to that
used in the C1-Ultra / C1-Premium and is being done in preparation to
including the work to support SME instructions that is currently being
implemented on the C1-Ultra scheduling model
Commit: dd0f9b7e7319deba00341026030353e70790d1a1
https://github.com/llvm/llvm-project/commit/dd0f9b7e7319deba00341026030353e70790d1a1
Author: Abu <49108786+user1342234 at users.noreply.github.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/select-min-max.ll
M llvm/test/Transforms/InstCombine/sext-nonneg-sub.ll
Log Message:
-----------
[InstCombine] Fold `X s<= Y ? 0 : X -nsw Y -> X - smin(X, Y)` (#187898)
This is part of #146131 and #182597
`func3` and `func4` are
[equivalent](https://alive2.llvm.org/ce/z/NNMTDa) but `func3` produces a
`sext` instead of `zext` when `b - a` is known non-negative.
[Proof of correctness](https://alive2.llvm.org/ce/z/ZthC9m)
```c++
#include <stdint.h>
uint64_t func3(int32_t a, int32_t b) {
return (b < a ? 0 : (int32_t)(b - a));
}
uint64_t func4(int32_t a, int32_t b) {
return (b < a ? 0 : (uint32_t)(b - a));
}
```
In x86-64, it would make shorter code by zero-extending instead of
sign-extending b - a.
My PR fixes this by handling all patterns below:
`(X < Y) ? 0 : (X - Y)`
`(X > Y) ? 0 : (Y - X)`
`(X < Y) ? (Y - X) : 0`
`(X > Y) ? (X - Y) : 0`
Commit: 1b0b2e94110b9a01a2ee3a5b086dc1b4827c921d
https://github.com/llvm/llvm-project/commit/1b0b2e94110b9a01a2ee3a5b086dc1b4827c921d
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll
M llvm/test/Transforms/LoopInterchange/lcssa-phi-outer-latch.ll
M llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
M llvm/test/Transforms/LoopInterchange/perserve-lcssa.ll
M llvm/test/Transforms/LoopInterchange/pr57148.ll
M llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
Log Message:
-----------
[LoopInterchange] Disable LoopCacheAnalysis-based heuristic by default (#193478)
LoopInterchange has three types of heuristics for profitability
decisions: `cache`, `instorder`, and `vectorize`. Currently, the
profitability check invokes these heuristics in this order. The
heuristic corresponding to `cache` is based on LoopCacheAnalysis.
However, LoopCacheAnalysis applies several aggressive heuristics, which
can sometimes lead to undesirable decisions. In contrast, the heuristic
corresponding to `instorder` is relatively simpler than `cache`, but its
behavior is clear and it is likely sufficient for practical cases.
In light of the default enablement, I believe it is better to use a
simpler, easier‑to‑reason‑about, and more stable heuristic rather than
an aggressive but complex one. Therefore, this patch disables the
LoopCacheAnalysis‑based profitability check by default.
Commit: f5f96b80b4a490db865d054d05b62907f07692b7
https://github.com/llvm/llvm-project/commit/f5f96b80b4a490db865d054d05b62907f07692b7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .github/workflows/new-prs.yml
M llvm/utils/git/github-automation.py
Log Message:
-----------
[CI] Fix GH PR Greeter (#198160)
Add missing argument in the PR Greeter invocation. Follow-up for
#197140. Issue reported here:
* https://discourse.llvm.org/t/ci-failure-prgreeter-on-my-first-pr
Also, as per
* https://docs.github.com/en/actions/concepts/security/script-injections, and
* https://docs.github.com/en/actions/reference/security/secure-use#use-an-intermediate-environment-variable,
make sure that that greeter relies on ENV variables for input arguments.
Commit: 8bdc185b887bc0813f8dae203389e8c497ebf723
https://github.com/llvm/llvm-project/commit/8bdc185b887bc0813f8dae203389e8c497ebf723
Author: Jack Styles <jack.styles at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/include/flang/Support/OpenMP-utils.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Support/OpenMP-utils.cpp
Log Message:
-----------
[Flang][OpenMP][NFC] Remove Fortran Evaluate Depedancy from Support (#198742)
Following #197442, FortranEvaluate was implicitly included in
OpenMP-utils.h which should be avoided to ensure front-end data
structures in the Optimizers can stop and restart pure MLIR source
without any side-data structures.
To ensure this is done, EntryBlockArgs has been stripped back to only
track vars, objects are now tracked within ObjectEntryBlockArgs in
Lowering as this is a more appropriate place for this information, and
the existing symbol tracking in EntryBlockArgsEntry was only used here.
This ensures FortranEvaluate is not needed within the Optimizers, and
objects can still be maintained when lowering. This enables better
referencing in Reduction Clauses, where previously context was being
lost for expressions such as ArrayElements.
See more: #197442
Assisted-by: Codex
Commit: f53a508c4af085b3aedd71724ea6fbdb7a6b3136
https://github.com/llvm/llvm-project/commit/f53a508c4af085b3aedd71724ea6fbdb7a6b3136
Author: David Spickett <david.spickett at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .github/workflows/merged-prs.yml
Log Message:
-----------
[CI] Pass script args using env var in merged PRs workflow (#199022)
As was done in #198160, address the problem described in
https://docs.github.com/en/actions/concepts/security/script-injections
using the solution recommended by
https://docs.github.com/en/actions/reference/security/secure-use#use-an-intermediate-environment-variable.
Not all these inputs are untrusted, but I've applied it to all of them
just to be consistent.
Commit: c64b7083ce8c7e1b8de9581e3e0045197bfd50a1
https://github.com/llvm/llvm-project/commit/c64b7083ce8c7e1b8de9581e3e0045197bfd50a1
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/vmerge-peephole.mir
Log Message:
-----------
[RISCV] Ensure AVL dominates True in vmerge peephole (#199008)
When folding vmerge into its true operand, if vmerge has an AVL defined
by a register and true has VLMAX, then the minimum AVL will be the
register. In this case it's not guaranteed to dominate true, so we need
to potentially sink true so it does.
This teaches ensureDominates to check multiple definitions at the same
time, since we want the sinking to be atomic.
Fixes #198733
Commit: ad1311e967a5a8ea9a68200f766033d3b7a6753e
https://github.com/llvm/llvm-project/commit/ad1311e967a5a8ea9a68200f766033d3b7a6753e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Host/windows/HostProcessWindows.cpp
Log Message:
-----------
[lldb][windows] Fix HostProcessWindows::Terminate clobbering error (#199012)
Commit: 5b13f482c1d89fbf6449d75add61bfd6b4fd0f55
https://github.com/llvm/llvm-project/commit/5b13f482c1d89fbf6449d75add61bfd6b4fd0f55
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Host/windows/HostThreadWindows.cpp
Log Message:
-----------
[lldb][windows] Fix HostThreadWindows::Cancel inverted error reporting (#199013)
Commit: 7f3e168f596c492504e55eecdc0aad53577f60c4
https://github.com/llvm/llvm-project/commit/7f3e168f596c492504e55eecdc0aad53577f60c4
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP][OMPIRBuilder] Refactor removeUnusedBlocksFromParent (#198938)
This is essentially post-commit review for #198690 which was landed
quickly to fix nondeterminism in tests introduced in #197637
Change-Id: Ib3603ef3c70dde5bb22d0fc04d9249e62ecccf0c
Co-authored-by: @Meinersbur
Co-authored-by: @chichunchen
Commit: df8819852edc1031b1cea4769bf47ecb338607b2
https://github.com/llvm/llvm-project/commit/df8819852edc1031b1cea4769bf47ecb338607b2
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/FrontendOptions.h
M flang/include/flang/Parser/options.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
R flang/test/Driver/ffree-line-length.f90
Log Message:
-----------
Revert "[Flang] Adding -ffree-line-length-<value> flag" (#199018)
Reverts llvm/llvm-project#192941 due to various important apps failures.
Commit: ceee5d7d14268ecef997eaa7c05f21a2ea537d1c
https://github.com/llvm/llvm-project/commit/ceee5d7d14268ecef997eaa7c05f21a2ea537d1c
Author: David Spickett <david.spickett at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .github/workflows/commit-access-greeter.yml
Log Message:
-----------
[CI] Remove unused env var from commit-access-greeter (#199024)
LABEL_NAME has been there since the workflow's introduction in
f8ef2699d860aea97750953f1b79db8ef7574e82, but has never been used.
Commit: 14745b3e09596b578c1ab377dec243fe799cd95e
https://github.com/llvm/llvm-project/commit/14745b3e09596b578c1ab377dec243fe799cd95e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Host/windows/HostThreadWindows.cpp
Log Message:
-----------
[lldb][windows] Fix HostThreadWindows::Join dead-code on GetExitCodeThread failure (#199014)
Commit: c76731e8a5ae7c354ab1c6fdf616de91e4307db5
https://github.com/llvm/llvm-project/commit/c76731e8a5ae7c354ab1c6fdf616de91e4307db5
Author: David Spickett <david.spickett at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .github/workflows/pr-subscriber.yml
Log Message:
-----------
[CI] Pass label name to script using env var in pr-subscriber workflow (#199026)
As is done in issue-subscriber.yml already.
This addresses the problem described in
https://docs.github.com/en/actions/concepts/security/script-injections
using the solution recommended by
https://docs.github.com/en/actions/reference/security/secure-use#use-an-intermediate-environment-variable.
Commit: 5d9c2ed61ec2bce204c22e1b45bc7c2a7be01b0a
https://github.com/llvm/llvm-project/commit/5d9c2ed61ec2bce204c22e1b45bc7c2a7be01b0a
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
Log Message:
-----------
[lldb][windows] Null-check m_session_data in ProcessDebugger::HaltProcess (#199016)
Commit: 553b6099b20c9f4ebbb19197c5c8b7cfcda565c2
https://github.com/llvm/llvm-project/commit/553b6099b20c9f4ebbb19197c5c8b7cfcda565c2
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_mmsghdr.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_mmsghdr.h
M libc/include/sys/socket.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/sendmmsg.h
M libc/src/sys/socket/CMakeLists.txt
M libc/src/sys/socket/linux/CMakeLists.txt
A libc/src/sys/socket/linux/sendmmsg.cpp
A libc/src/sys/socket/sendmmsg.h
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/sendmmsg_test.cpp
M libc/utils/docgen/sys/socket.yaml
Log Message:
-----------
Implement linux-specific sendmmsg(2) (#198778)
Assisted by Gemini.
Co-authored-by: Jeff Bailey <jbailey at raspberryginger.com>
Commit: dd9086143ef7001ac6e3ce455a26db2c1e7c8efb
https://github.com/llvm/llvm-project/commit/dd9086143ef7001ac6e3ce455a26db2c1e7c8efb
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-05-21 (Thu, 21 May 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/VERSPart.yaml
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
Log Message:
-----------
[DirectX][ObjectYAML] Add VERS part support (#198222)
Add support for DXContainer VERS part in the ObjectYAML pipeline so it
can be represented in structured YAML and round-tripped through
yaml2obj/obj2yaml.
VERS is emitted into DXContainers inside shader PDB files. It stores
information about the version of a compiler used to produce shader
binaries.
Commit: 79a05f624c430301477969c4011171da8fb16850
https://github.com/llvm/llvm-project/commit/79a05f624c430301477969c4011171da8fb16850
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
Log Message:
-----------
[lldb][windows] Null-check m_session_data in ProcessDebugger::OnDebuggerError (#199028)
Add a null check that logs and returns, matching the pattern in
OnExitProcess.
Commit: 0b469f9e625faa35f8ce6abe2db7ce94cf0e0567
https://github.com/llvm/llvm-project/commit/0b469f9e625faa35f8ce6abe2db7ce94cf0e0567
Author: Raul Tambre <raul at tambre.ee>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/test/API/lang/cpp/operator-overload/Makefile
Log Message:
-----------
[lldb][test] Use C++ frontend for building C++ test (#198855)
Commit: 20be2d6b6571b86af067e7f996f5b1c14e96a52f
https://github.com/llvm/llvm-project/commit/20be2d6b6571b86af067e7f996f5b1c14e96a52f
Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
Log Message:
-----------
[MLIR][GPUToXeVMPipeline] Add unsupported data type emulation on `math`, `arith`, and `vector` ops. (#197779)
Add `math-extend-to-supported-types` and
`arith-emulate-unsupported-floats` pass to the pipeline.
These passes are used to emulate `math`, `arith` and `vector`
floating point operations that use float types which are
unspported on a target by inserting `extf/truncf` pairs around
all such operations.
Commit: 329972b3099f70fa7d0a92751888a7cfda4f4864
https://github.com/llvm/llvm-project/commit/329972b3099f70fa7d0a92751888a7cfda4f4864
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes dd90861 (#199033)
This fixes dd9086143ef7001ac6e3ce455a26db2c1e7c8efb.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 27249aa2d83dd16a6d4d5c71b2f7312dbbbd97de
https://github.com/llvm/llvm-project/commit/27249aa2d83dd16a6d4d5c71b2f7312dbbbd97de
Author: Matthias Wippich <mfwippich at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/Analysis/anonymous-decls.cpp
M clang/test/Analysis/live-bindings-test.cpp
M clang/test/CXX/dcl.decl/dcl.decomp/p3.cpp
M clang/test/CXX/drs/cwg31xx.cpp
M clang/test/CodeGenCXX/bad-codegen-for-constexpr-structured-bindings.cpp
M clang/test/CodeGenCXX/cxx1z-decomposition.cpp
M clang/test/DebugInfo/CXX/structured-binding.cpp
M clang/test/SemaCXX/cxx2c-decomposition.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Implement CWG3135 - constexpr structured bindings with prvalues from tuples (#191880)
This patch implements
[CWG3135](https://cplusplus.github.io/CWG/issues/3135.html). This has
been accepted into C++26 at the Croydon meeting through [CWG Motion
3](https://github.com/cplusplus/draft/issues/8824).
This change has not been designated a defect report. However, there was
recently some discussion about this designation and GCC implements it as
DR. Therefore, this is treated as DR regardless.
Commit: 9031580d5cc87963d82468ef7637f4a8f80b24b3
https://github.com/llvm/llvm-project/commit/9031580d5cc87963d82468ef7637f4a8f80b24b3
Author: Raul Tambre <raul at tambre.ee>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/test/API/lang/c/cpp_keyword_identifiers/Makefile
M lldb/test/API/lang/cpp/struct_with_keyword_name/Makefile
Log Message:
-----------
[lldb][test] Set explicit C standard for tests that require an older one (#198858)
These use identifiers which are keywords since C23.
Once the default standard is bumped this would require updating anyway.
Commit: 03fac96a663bd1250216d972402fcc58efb5441f
https://github.com/llvm/llvm-project/commit/03fac96a663bd1250216d972402fcc58efb5441f
Author: Raul Tambre <raul at tambre.ee>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M bolt/test/AArch64/validate-secondary-entry-point.s
M bolt/test/X86/Inputs/double_jump.cpp
M bolt/test/X86/Inputs/inlined.cpp
M bolt/test/X86/Inputs/linenumber.cpp
M bolt/test/runtime/bolt-reserved.cpp
Log Message:
-----------
[bolt][test] Use non-GNU assembly directive (#198857)
`asm()` is a GNU extension.
`__asm()` is supported in both standard-conforming and GNU mode.
Commit: 9c26d8c30c1971881d710cf62d0f50b8c640d02f
https://github.com/llvm/llvm-project/commit/9c26d8c30c1971881d710cf62d0f50b8c640d02f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/buildvector-all-external-scalars.ll
M llvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable_reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
M llvm/test/Transforms/SLPVectorizer/X86/no_alternate_divrem.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-bswap.ll
M llvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-pair-path.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
M llvm/test/Transforms/SLPVectorizer/crash_exceed_scheduling.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
Log Message:
-----------
[SLP] Unify IR flag and metadata propagation in vectorizeTree
Replace scattered propagateIRFlags/propagateMetadata calls with a single
PropagateIRFlags lambda. Excludes copyable scalars from the flag
intersection set and drops nnan/ninf when a copyable lane cannot prove
its operand is non-NaN/non-Inf.
Reviewers: hiraditya, RKSimon, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/198543
Commit: 97e0bd216367f7d645c72da509fab8732cec3498
https://github.com/llvm/llvm-project/commit/97e0bd216367f7d645c72da509fab8732cec3498
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-21 (Thu, 21 May 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 v8i8/v4i16/v2i32 setcc on RV32. (#198685)
Commit: 92799967d5b8c5a73161f4f0e4147e2065f431d7
https://github.com/llvm/llvm-project/commit/92799967d5b8c5a73161f4f0e4147e2065f431d7
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/include/flang/Lower/ConvertType.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
A flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
R flang/test/Lower/OpenMP/Todo/atomic-compare.f90
A flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic-compare.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h
M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenACCMPCommon/Interfaces/CMakeLists.txt
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/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
revert/reapply "[Flang] [OpenMP] atomic compare (#184761)"" (#198978)
Reverts llvm/llvm-project#198848
Reverting the reverted PR
[https://github.com/llvm/llvm-project/pull/198848](https://github.com/llvm/llvm-project/pull/198848)
, since the actual issue was different and the original PR
[https://github.com/llvm/llvm-project/pull/184761](https://github.com/llvm/llvm-project/pull/184761)
was reverted incorrectly.
Ref :
https://github.com/llvm/llvm-project/pull/184761#issuecomment-4501760965
Commit: 2b460b36bdb4ab8f239f5efc38ad83ffde9b1b35
https://github.com/llvm/llvm-project/commit/2b460b36bdb4ab8f239f5efc38ad83ffde9b1b35
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Remove unnecessary HasStdExtZbbOrZbkb from some P extension patterns. NFC (#198970)
P implies Zbb so we don't need the extra Predicate.
Commit: 4d0100789dc9b4db7d77c033d8f53f8b7dc68437
https://github.com/llvm/llvm-project/commit/4d0100789dc9b4db7d77c033d8f53f8b7dc68437
Author: Erik Enikeev <evonatarius at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/PowerPC/fast-isel-cmp-imm.ll
M llvm/test/CodeGen/PowerPC/fp-strict-fcmp-spe.ll
M llvm/test/CodeGen/PowerPC/legalize-invert-br_cc.ll
M llvm/test/CodeGen/PowerPC/spe.ll
Log Message:
-----------
[PowerPC] set libcall lowering for fp setcc ops on SPE boards (#153238)
SPE fp comparison instructions don't comply with IEEE-754. They treat
special values like NaN and Inf as normalized numbers, which leads to
incorrect results. For example, when comparing NaN with a normal, the
result can be true, even though the standard requires comparisons with
NaN to be false.
This patch fixes the issue by lowering these operations to libcalls. SPE
comparison instructions can still be used when fast-math flag is
enabled.
Commit: 58ae6ac5d5d6a928b246eb2ef25e3bf493203791
https://github.com/llvm/llvm-project/commit/58ae6ac5d5d6a928b246eb2ef25e3bf493203791
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV][P-ext] Return SDValue() instead of calling DAG.UnrollVectorOp for non-splat shift amounts. NFCI (#198914)
The generic legalizer can call DAG.UnrollVectorOp itself.
Commit: 3c8670b4a90c64199e905be698077089b58622ca
https://github.com/llvm/llvm-project/commit/3c8670b4a90c64199e905be698077089b58622ca
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/lib/Driver/ToolChains/CrossWindows.cpp
M clang/lib/Driver/ToolChains/CrossWindows.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/FreeBSD.h
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Fuchsia.h
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPSPV.h
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Haiku.h
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/Linux.h
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/Managarm.cpp
M clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MinGW.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/NetBSD.h
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/PS4CPU.h
M clang/lib/Driver/ToolChains/Serenity.cpp
M clang/lib/Driver/ToolChains/Serenity.h
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/Solaris.h
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/WebAssembly.h
Log Message:
-----------
clang: Add BoundArch/OffloadKind argument to getSupportedSanitizers (#196503)
Currently the AMDGPU HIP and OpenMP toolchains falsely report
all host sanitizers are supported, and then go out of their way
to skip forwarding those to the device compiles. Add an offloading
kind argument so that in the future this can be handled in one
place in the base toolchain.
Co-authored-by: Claude Sonnet 4 <noreply at anthropic.com>
Commit: a77010fc490feb17e892b862bffdb7752c58a8a2
https://github.com/llvm/llvm-project/commit/a77010fc490feb17e892b862bffdb7752c58a8a2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
Log Message:
-----------
[CIR] Fix problem with multiple references to an alloca in a cleanup (#198928)
A recent change to hoist allocas out of a deferred cleanup scope had a
bug wherein if multiple entries in the deferred cleanup stack referenced
the same alloca, the second attempt to see if it needed to be hoisted
would assert in the MLIR region code. This was happening because when we
hoist the alloca, we hoist it to a block that is still under
construction. On the second encounter when we're walking its parent
chain to see if it is contained within the cleanup scope we're
processing, our call to get the parent region of the block containing
the alloca would assert because the alloca is in an unlinked block (it
gets added to a region after we're done constructing it).
To fix this problem, I changed the way we're checking for the alloca
being nested within the cleanup scope, using a more robust
implementation that will tolerate encountering unlinked operations.
Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh
Commit: 9b64970de9c2ecf5d19cf7e6c65b56bb9adf807e
https://github.com/llvm/llvm-project/commit/9b64970de9c2ecf5d19cf7e6c65b56bb9adf807e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Plugins/Process/Windows/Common/ForwardDecl.h
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
Log Message:
-----------
[NFC][lldb][windows] Replace typedef with using (#199036)
Commit: a5bc2ad5ec7c72d8eb2c1bd1abb1652ab535e9fd
https://github.com/llvm/llvm-project/commit/a5bc2ad5ec7c72d8eb2c1bd1abb1652ab535e9fd
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/test/API/windows/launch/missing-dll/TestMissingDll.py
Log Message:
-----------
[lldb][windows] relax TestMissingDll.py assert (#199046)
Commit: 57011c962565846b7343915ff3489b91cd036da1
https://github.com/llvm/llvm-project/commit/57011c962565846b7343915ff3489b91cd036da1
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/include/lldb/Host/windows/MainLoopWindows.h
M lldb/source/Host/windows/ConnectionConPTYWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ExceptionRecord.h
M lldb/source/Plugins/Process/Windows/Common/IDebugDelegate.h
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/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
Log Message:
-----------
[NFC][lldb][windows] Default empty user-defined destructors (#199037)
Commit: 8ef4456ec5780db05c0143f7b3aac56799982cf7
https://github.com/llvm/llvm-project/commit/8ef4456ec5780db05c0143f7b3aac56799982cf7
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/include/lldb/Host/windows/ProcessLauncherWindows.h
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
M lldb/source/Host/windows/FileSystem.cpp
M lldb/source/Host/windows/Host.cpp
M lldb/source/Host/windows/HostInfoWindows.cpp
M lldb/source/Host/windows/MainLoopWindows.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/Windows/Common/arm64/RegisterContextWindows_arm64.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:
-----------
[NFC][lldb][windows] NULL to nullptr replacement (#199031)
Commit: 243cb25fc005f0bee07eddd60f6900d4ac0d1b3b
https://github.com/llvm/llvm-project/commit/243cb25fc005f0bee07eddd60f6900d4ac0d1b3b
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/test/Integration/OpenMP/atomic-compare.f90
Log Message:
-----------
[flang][OpenMP] Make the atomic-compare test run on aarch64 too (#198849)
Commit: 58cc3da5dc171ad9c52249961a46373800776ce5
https://github.com/llvm/llvm-project/commit/58cc3da5dc171ad9c52249961a46373800776ce5
Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Pipelines/CMakeLists.txt
Log Message:
-----------
[mlir][gpu][Pipeline] Fix a link issue introduced in PR#197779. (#199060)
Link MLIRArithTransforms and MLIRMathTransforms in GPU pipelines.
Commit: dc4296a58b48f33853849fc3d2fffee1eb739624
https://github.com/llvm/llvm-project/commit/dc4296a58b48f33853849fc3d2fffee1eb739624
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
A clang/test/Driver/amdgpu-validate-sanitize.cl
M clang/test/Driver/hip-sanitize-options.hip
Log Message:
-----------
clang: Refactor handling of offload sanitizer arguments (#196737)
Previously the AMDGPU toolchains hackily handled -fsanitize arguments.
They would lie and report that all host side sanitizers are available,
then TranslateArgs would filter out the device side cases that do not
work, providing diagnostics for the skipped cases. Move that logic
into the base sanitizer argument parsing.
This makes the produced diagnostics more consistent. Previously we
would get repeated warnings when a sanitizer is fully unsupported
by amdgpu, which should now be once for the toolchain. These could
be further improved; we're printing the specific field of -fsanitize
in more cases where it could be skipped. In other cases we have the
opposite problem, where we aren't reporting the exact sanitizer
from the -f flag in the case that depends on a subtarget feature.
This will help fix other broken target specific flag forwarding bugs
in the future.
Co-authored-by: Claude Sonnet 4 <noreply at anthropic.com>
Commit: 3508db4feeade42b52cf6d0baff8a06d108b05d2
https://github.com/llvm/llvm-project/commit/3508db4feeade42b52cf6d0baff8a06d108b05d2
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDeclCXX.cpp
A clang/test/Parser/cxx-attributes-missing-closing-in-switch.cpp
A clang/test/Parser/cxx-attributes-missing-closing.cpp
A clang/test/Parser/cxx-attributes-missing-second-closing-in-switch.cpp
A clang/test/Parser/cxx-attributes-missing-with-semi-before-closing.cpp
M clang/test/Parser/cxx-attributes.cpp
M clang/test/Parser/cxx0x-attributes.cpp
M clang/test/Parser/pragma-attribute.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
Log Message:
-----------
[Clang][Parser] Report error when attribute missing ]] followed by ;; (#187580)
Report error when attribute missing enclosing `]] `followed by `;;`
Fixes: #187223
Commit: fe74d124e43687b03017b301255f51de33cc8383
https://github.com/llvm/llvm-project/commit/fe74d124e43687b03017b301255f51de33cc8383
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
Log Message:
-----------
[DirectX][ObjectYAML] Fix name conflict in DXContainerYAML.h (#199062)
After https://github.com/llvm/llvm-project/pull/198222, GCC with
`-fpermissive` reports an error:
```
llvm/include/llvm/ObjectYAML/DXContainerYAML.h:328:34: error: declaration of ‘std::optional<llvm::DXContainerYAML::CompilerVersion> llvm::DXContainerYAML::Part::CompilerVersion’ changes meaning of ‘CompilerVersion’ [-Wchanges-meaning]
328 | std::optional<CompilerVersion> CompilerVersion;
```
Fix that.
Commit: 569857bd82bc9810cf194aef9ff17fafcb7293fa
https://github.com/llvm/llvm-project/commit/569857bd82bc9810cf194aef9ff17fafcb7293fa
Author: Alexis Perry-Holby <aperry at lanl.gov>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
A flang/docs/MeetingNotes/2026/2026-05-20.md
Log Message:
-----------
[flang] Add notes for Flang Community Call May 20th, 2026 (#198912)
Commit: a3158f4938ad3d7c7f5b43ae25d06b9d43703ffb
https://github.com/llvm/llvm-project/commit/a3158f4938ad3d7c7f5b43ae25d06b9d43703ffb
Author: Iñaki V Arrechea <inakiarrechea at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
Log Message:
-----------
Optimization on predecessor count checks for FunctionPropertiesAnalysis (#198940)
It used to need to get the whole bb predecessor count and then check
with the size of it. That needed to go through the whole list only to
check against 1, 2 or 3. By using its already existing basic block
predecessor count function, these attributes can be counted much faster.
Now it doesn't need to go through the whole list. The moment it gets to
the 3rd element, no matter how many predecessors there might be, we have
our answer for the metrics
Commit: 96406d44eef0c011d7da6fe8315dcf89e524e10d
https://github.com/llvm/llvm-project/commit/96406d44eef0c011d7da6fe8315dcf89e524e10d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
Log Message:
-----------
[X86] min-legal-vector-width.ll - update PMADDWD tests to more closely match middle-end vector.reduce.add codegen (#199061)
Matches what we've already done in madd.ll
Commit: 3fa922c82a5ac8ef46349e34d0c5bf067eb26811
https://github.com/llvm/llvm-project/commit/3fa922c82a5ac8ef46349e34d0c5bf067eb26811
Author: Henry Jiang <henry_jiang2 at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
A clang/test/Driver/darwin-ld-samplepgo.c
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
A llvm/test/tools/llvm-lto/Inputs/sample-profile-module.ll
A llvm/test/tools/llvm-lto/Inputs/sample-profile.proftext
A llvm/test/tools/llvm-lto/sample-profile-file-thinlto.ll
A llvm/test/tools/llvm-lto/sample-profile-file.ll
Log Message:
-----------
[Clang][Darwin] Forward profile-sample-file when constructing link job (#198714)
Commit: 35f263c7bb5b8a08ea9adcdfc71454097ef06bc5
https://github.com/llvm/llvm-project/commit/35f263c7bb5b8a08ea9adcdfc71454097ef06bc5
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
Log Message:
-----------
[NFC][lldb][windows] Replace C-style casts with static_cast / reinterpret_cast (#199039)
Commit: 4f4ec3c07cfce3ba2112e354a85a0478061e15e4
https://github.com/llvm/llvm-project/commit/4f4ec3c07cfce3ba2112e354a85a0478061e15e4
Author: Steven Wu <stevenwu at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendActions.cpp
Log Message:
-----------
[clang] Allow clang only write module/pch when output is different (#198881)
Add an parameter to the output file creation function in clang to allow
it to configure output backend to only write output if the file is
different from the file on the disk. This is useful in a legacy build
system where the incremental build state is tracked by timestamp. For
example, producing the same clang module in the build will not update
the timestamp, thus downstream jobs do not need to be re-run.
The default value is not change so NFI is expected. This is only to
allow clients need such behavior to enable when needed.
Patched-by: hjyamauchi
Co-authored-by: Hiroshi Yamauchi <56735936+hjyamauchi at users.noreply.github.com>
Commit: 92a37ea073b4e628239c3afd058880268dd8627c
https://github.com/llvm/llvm-project/commit/92a37ea073b4e628239c3afd058880268dd8627c
Author: AidinT <at.aidin at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M mlir/docs/Tutorials/DataFlowAnalysis.md
Log Message:
-----------
[mlir][docs] Fix bugs in data flow analysis code example (#198200)
Some minor changes to avoid compilation errors.
1. `MetadataLatticeValue` doesn't define an `insert` method.
2. `it` (the one that changed) and `rhsIt` are both iterators.
Commit: d348eb646d81eb2bf520bf3b6385f10bc3184d7c
https://github.com/llvm/llvm-project/commit/d348eb646d81eb2bf520bf3b6385f10bc3184d7c
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
Log Message:
-----------
[AMDGPU] Skip bridge copies for grouped MFMA instructions (#198555)
When the MFMA-form rewrite moves a chain of matrix ops from VGPR to AGPR
form, the bridges between ops in the chain don't exist post-rewrite,
instead they all live in AGPR-form together. The cost model was counting
those phantom bridges and rejecting rewrites that were actually
profitable.
Treat the candidate set as a group. Edges inside the group need no
bridge. Skip candidates whose results escape to non-matrix users.
Co-author: Vlad Romanov <Vladislav.Romanov at amd.com>
Commit: d7c8e716711c57dae3b09b8877c59dc456183f74
https://github.com/llvm/llvm-project/commit/d7c8e716711c57dae3b09b8877c59dc456183f74
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/test/CIR/CodeGen/atomic.c
Log Message:
-----------
[CIR] Fix atomic-fetch conflict: (#199066)
We had #195537 and #198871 both attempt to fix the same problem, in
mildly different ways. My patch (the latter) did so in a way that was
rendered 'moot' by the former patch.
After looking into it further, I believe that the former is the
'correct' patch.
THIS patch is a partial revert of my patch, leaving the lambda (as I
think it is a good 'readability' improvement), plus leaving/updating
the test.
Commit: 299d11f73b09953f2d913c0301c22db0075e76fb
https://github.com/llvm/llvm-project/commit/299d11f73b09953f2d913c0301c22db0075e76fb
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
Log Message:
-----------
[RISCV] Pass MachineOperand * to avoid copying. NFC (#199065)
MachineOperand is 32 bytes according to clangd so passing a pointer will
be cheaper
Commit: 1618a247e349a27944ce0da4180375de4f8d23f8
https://github.com/llvm/llvm-project/commit/1618a247e349a27944ce0da4180375de4f8d23f8
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.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/benchmarks/ClangDocBenchmark.cpp
Log Message:
-----------
[clang-doc] Use distinct APIs for fixed arena allocation sites (#190426)
Typically, code either always emits data into the TransientArena or the
PersistentArena. Use more explicit APIs to convey the intent directly
instead of relying on parameters or defaults.
Commit: 140b4ec6f1184bae46154967fec4a4348c5fae83
https://github.com/llvm/llvm-project/commit/140b4ec6f1184bae46154967fec4a4348c5fae83
Author: Pablo Reble <pablo.reble at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-flat-scratch-init-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-min-agpr-alloc.ll
Log Message:
-----------
[AMDGPU] Use pessimistic fixpoint in AAAMDGPUMinAGPRAlloc for sanitized functions (#197795)
Adding pessimistic fixpoint when a function has any sanitizer attribute
(`sanitize_address`, `sanitize_memory`, `sanitize_thread`,
`sanitize_hwaddress`, `sanitize_mem_tag`). This prevents the Attributor
from inferring "amdgpu-agpr-alloc"="0" for sanitized functions or their
callers, letting the register allocator conservatively reserve AGPR
capacity.
This patch should prevent kernel to exceeds the hardware register budget
on gfx90a where VPGR and AGPR share the same physical register file.
---------
Co-authored-by: Brendon Cahoon <Brendon.Cahoon at amd.com>
Commit: 5cc0cc5dd3d11dfc43dedd188bf26584df35983d
https://github.com/llvm/llvm-project/commit/5cc0cc5dd3d11dfc43dedd188bf26584df35983d
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrFormats.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
Log Message:
-----------
[PowerPC][NFC] Change arguments of PPCPostRAExpPseudo/PseudoXFormMemOp (#198861)
The assembler string of the pseudo is almost always a # followed by the
name of the pseudo. A good part of the pseudos does not have a pattern.
Changing the order of arguments asmstr and pattern in PPCPostRAExpPseudo
and PseudoXFormMemOp, and assigning default values, reduces repetitions.
Commit: 2c370e76b812a26b67d5d1944d2e7f4a9304e75d
https://github.com/llvm/llvm-project/commit/2c370e76b812a26b67d5d1944d2e7f4a9304e75d
Author: Ingo Müller <ingomueller at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fixes 20be2d6b (#199054)
Commit: f1a27247c0defddd519531120fbc8f1694a098a6
https://github.com/llvm/llvm-project/commit/f1a27247c0defddd519531120fbc8f1694a098a6
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeReader.h
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
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/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
Log Message:
-----------
[clang-doc] Removed OwnedPtr alias (#190427)
The alias served a purpose during migration, but now conveys the wrong
semantics, as the memory of these pointers is interned inside a local
arena.
Commit: f4076e1c18178ebfa7db07da955af5d8e416d8bd
https://github.com/llvm/llvm-project/commit/f4076e1c18178ebfa7db07da955af5d8e416d8bd
Author: lntue <lntue at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
M libc/src/__support/big_int.h
M libc/src/__support/complex_basic_ops.h
M libc/src/__support/macros/attributes.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/math/acos.h
M libc/src/__support/math/acosf.h
M libc/src/__support/math/acoshf.h
M libc/src/__support/math/asinf.h
M libc/src/__support/math/asinhf.h
M libc/src/__support/math/atan.h
M libc/src/__support/math/atan2.h
M libc/src/__support/math/atan2f.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atanf.h
M libc/src/__support/math/atanhf.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cbrtf.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/cosf.h
M libc/src/__support/math/coshf.h
M libc/src/__support/math/cospif.h
M libc/src/__support/math/dsqrtf128.h
M libc/src/__support/math/dsqrtl.h
M libc/src/__support/math/erff.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10f.h
M libc/src/__support/math/exp10m1f.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/exp2f.h
M libc/src/__support/math/exp2m1f.h
M libc/src/__support/math/expf.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/expm1f.h
M libc/src/__support/math/fsqrt.h
M libc/src/__support/math/fsqrtf128.h
M libc/src/__support/math/fsqrtl.h
M libc/src/__support/math/log.h
M libc/src/__support/math/nextafterl.h
M libc/src/__support/math/nextdownl.h
M libc/src/__support/math/nextupl.h
M libc/src/__support/math/pow.h
M libc/src/__support/math/powf.h
M libc/src/__support/math/rsqrtf.h
M libc/src/__support/math/sin.h
M libc/src/__support/math/sinhf.h
M libc/src/__support/math/tan.h
M libc/src/string/memory_utils/utils.h
M libc/src/string/memory_utils/x86_64/inline_strlen.h
M libc/test/shared/shared_math_constexpr_test.cpp
Log Message:
-----------
[libc][math] Add gcc-7 to 9 compatibility for shared math. (#197868)
- Add more fine-grained constexpr annotations.
- Apply fine-grained constexpr annotations to `src/__support`,
`src/__support/FPUtil` folder.
- Remove or update constexpr annotations for functions in
`src/__support/math` folder.
- Fix or ignore old gcc's warnings.
Assisted-by: Gemini 3.1 Flash with step 3.
Commit: af103f5b32afc9335f5ae347fdda3787c35abc9a
https://github.com/llvm/llvm-project/commit/af103f5b32afc9335f5ae347fdda3787c35abc9a
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Optimizer/Support/Utils.cpp
Log Message:
-----------
[flang] Add utility to obtain presentable function name (#199067)
This PR adds `getPresentableFunctionName` utility to enable obtaining
the demangled and no underscore function name that can be used for
presentation for a user and is consistent with the name used in source
code.
Commit: a5a3e137172cd7577722a84db76d8085d02959a5
https://github.com/llvm/llvm-project/commit/a5a3e137172cd7577722a84db76d8085d02959a5
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/test/tools/llubi/int_arith.ll
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[llubi] Fix poison handling of shr exact with zero LHS (#199070)
When the LHS is zero, and the exact flag is set on lshr/ashr, llubi
cannot yield poison as `LHS.countr_zero() + 1` is larger than the bit
width.
Closes https://github.com/llvm/llvm-project/issues/198870.
---------
Co-authored-by: John Regehr <regehr at cs.utah.edu>
Commit: 3a01ff6826ad0f6bd7377995e5587019078d77cb
https://github.com/llvm/llvm-project/commit/3a01ff6826ad0f6bd7377995e5587019078d77cb
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
M clang-tools-extra/clang-doc/support/File.cpp
M clang-tools-extra/clang-doc/support/File.h
M clang-tools-extra/clang-doc/support/Utils.cpp
M clang-tools-extra/clang-doc/support/Utils.h
Log Message:
-----------
[clang-doc] Fix file header style (#190437)
Since we're fixing headers, we can also improve the file documentation
to follow the llvm coding standard.
Commit: 0e23a7cd8dedeb409ccaecf2237c9a0020b02c25
https://github.com/llvm/llvm-project/commit/0e23a7cd8dedeb409ccaecf2237c9a0020b02c25
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
Log Message:
-----------
[clang-doc] Use const and constexpr arrays in BitcodeWriter (#198066)
We have three static data structures in the BitcodeWriter implementation
that all use std::vector. Instead, we can make them constant arrays.
These data structures and their types are also not in the anonymous
namespace, so just move these helpers out of the clang::doc namespace
and improve the hygiene since we're changing the code anyway.
Commit: 81de6d0eb85f849080b856dd42acc1778bb8330f
https://github.com/llvm/llvm-project/commit/81de6d0eb85f849080b856dd42acc1778bb8330f
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/Representation.h
Log Message:
-----------
[clang-doc][nfc] Reformat and revise comment block (#190428)
Commit: 1bd4457660bd5499e3dc6f6007749f6f512b674d
https://github.com/llvm/llvm-project/commit/1bd4457660bd5499e3dc6f6007749f6f512b674d
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGenOpenCL/vector.cl
Log Message:
-----------
[CIR] Implement TernaryOp for Vec of float in OpenCL (#198846)
Implement support for TernaryOp for Vec float in OpenCL
Issue https://github.com/llvm/llvm-project/issues/192311
Commit: fde0ea05dab19678ee341c6d955cd89b7608c16b
https://github.com/llvm/llvm-project/commit/fde0ea05dab19678ee341c6d955cd89b7608c16b
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
A flang/test/Transforms/tbaa-type-converter-boxproc.fir
Log Message:
-----------
[flang][AddAliasTags] Fix segfault when type contains `fir.boxproc` (#198997)
`fir.boxproc` currently has no LLVM representation (its converter
returns `std::nullopt`). When `AddAliasTags` called
`getTypeSizeAndAlignment` on a type containing `fir.boxproc` (e.g. a
sequence of a derived type with procedure pointer components),
`convertRecordType` and `convertSequenceType` would crash trying to
mlir::cast a null type.
For any type that might recursively contain a non-convertible type
(`fir.boxproc` in this case), `TypeConverter` would now propagate an
empty optional `mlir::Type` and emit a debug warning that conversion
failed. This helps us avoid seg faulting expecting that the type or some
part of it were converted correctly.
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: ba2c3b0c12e984eb77ef329b4c75e54b63513837
https://github.com/llvm/llvm-project/commit/ba2c3b0c12e984eb77ef329b4c75e54b63513837
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libc/config/baremetal/config.json
Log Message:
-----------
[libc] Enable baremetal float printf using modular format (#198900)
The most best configuration for llvm-libc is for it to be used with a
recent clang. Accordingly, this patch enables floating point type
support in printf for baremetal without inflating code size by also
enabling modular printf support. This is safe for older clang and other
compilers, but it would increase code size for the default baremetal
configuration on such targets.
---------
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: cdc2749dffafaa1d43815d58303cc08516732f60
https://github.com/llvm/llvm-project/commit/cdc2749dffafaa1d43815d58303cc08516732f60
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/test/Driver/msvc-link.c
Log Message:
-----------
[Driver][MSVC] Use LLD if DWARF is requested (#198600)
Clang can emit DWARF on Windows if requested with `-gdwarf` (or
`-gdwarf-N`). The generated object files will then have the `.debug_*`
sections. These section names are all larger than eight bytes. This
creates an issue in the final executable. PE/COFF executables don't
allow section names longer than eight characters. From the
[docs](https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#section-table-section-headers):
> **Name**: An 8-byte, null-padded UTF-8 encoded string. If the string
is exactly 8 characters long, there is no terminating null. For longer
names, this field contains a slash (/) that is followed by an ASCII
representation of a decimal number that is an offset into the string
table. Executable images do not use a string table and do not support
section names longer than 8 characters.
MSVC's linker follows this and will truncate section names in
executables. So a `.debug_info` would become `.debug_i`. LLD on the
other hand does allow these long section names (with a warning). This
makes DWARF work on MinGW.
The MSVC toolchain will use the MSVC linker by default (unless
`CLANG_DEFAULT_LINKER` specifies a different one). This will truncate
the section names. So if one would want to use DWARF, they'd also need
to link with LLD.
This PR changes the default linker to LLD if DWARF is requested.
Otherwise, the old default will be used.
Commit: 5053b88b21a4079b16b1f4f1dad18fd771049f60
https://github.com/llvm/llvm-project/commit/5053b88b21a4079b16b1f4f1dad18fd771049f60
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/OpenMP/affected-loops.f90
Log Message:
-----------
[flang][OpenMP] Limit scope creation to constructs with data environment (#198780)
Identify specific constructs that require data envorinments, and only
create scopes for them. This avoids scopes for loop-transformation
constructs, for example.
This isn't a correctness fix, but a clarification and a simplification
of the name-resolution code for OpenMP.
Commit: 7a83597cecf9d3364ecdd90cb2d443d8e22b4e04
https://github.com/llvm/llvm-project/commit/7a83597cecf9d3364ecdd90cb2d443d8e22b4e04
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
A flang/test/Transforms/FIRToMemRef/array-coor-rebox-slice-shape.mlir
M flang/test/Transforms/FIRToMemRef/array-coor-slice-shift.mlir
Log Message:
-----------
[flang][FIRToMemRef] Fixed array_coor with box/shape/slice. (#198933)
A `fir.array_coor` with box input, a slice and a shape without
a shift, should also be converted using dimensions information
stored in the input box (case (c) in the updated code).
Commit: 928541e2ae0ae3ee131eeba622654cf10c8787a6
https://github.com/llvm/llvm-project/commit/928541e2ae0ae3ee131eeba622654cf10c8787a6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/invoke-extract.ll
A llvm/test/Transforms/SLPVectorizer/X86/callbr-extract.ll
Log Message:
-----------
[SLP] Treat ExtractElement from terminator results as gather
When canReuseExtract sees an ExtractElement bundle whose source vector
is produced by a terminator instruction (invoke or callbr), the SLP
vectorizer used to mark the bundle as Vectorize and reuse the
terminator result as the bundle's vectorized value. For external uses
of the bundle, vectorizeTree later sets the IRBuilder insertion point
to next(VecI), which lands past the terminator and produces an invalid
CFG (a new extractelement is inserted after the terminator in the
predecessor block).
Fixes #199021
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/199089
Commit: 6768170423542b772f9dfbfd21b06eefd983e188
https://github.com/llvm/llvm-project/commit/6768170423542b772f9dfbfd21b06eefd983e188
Author: ykiko <ykiko at clice.io>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-print-explicit-instantiation.cpp
M clang/test/AST/explicit-instantiation-source-info.cpp
Log Message:
-----------
[Clang][AST] Fix ExplicitInstantiationDecl accessors for variable templates with tag types (#197856)
Several `ExplicitInstantiationDecl` accessors assumed that
`TypeSourceInfo` always encodes a class entity, but for variable
templates the `TypeSourceInfo` holds the *declared type* (e.g. `Plain`,
`Color`, `Wrap<int>`). When that declared type happened to be a
`TagType` or `TemplateSpecializationType`, the accessors would
misinterpret it:
- `getTypeAsWritten()` returned `nullptr` → crash in `DeclPrinter`
- `getQualifierLoc()` leaked the type's qualifier into the variable name
- `getTagKWLoc()` returned the type's elaborated keyword
- `getNumTemplateArgs` / angle-loc getters extracted from the type
instead of the variable's template arguments
Add a private `getClassTypeLoc()` helper that returns the entity
`TypeLoc` only for class-like instantiations
(`isa<RecordDecl>(getSpecialization())`), and guard all `TypeSourceInfo`
fallback paths with it. For non-class entities the accessors now
correctly skip the `TypeSourceInfo` and return defaults or read from
trailing objects.
Also fix stale template argument source locations for variable
templates: when an explicit instantiation definition follows a prior
declaration, `VarTemplateSpecializationDecl::getTemplateArgsAsWritten()`
returns the first declaration's locations. Construct fresh
`ASTTemplateArgumentListInfo` from the current declarator instead.
Fixes #197797
Fixes https://github.com/llvm/llvm-project/issues/191442#issuecomment-4457732314
Commit: e57ade6b092274d75aa9e4a725a1df0dbed8070b
https://github.com/llvm/llvm-project/commit/e57ade6b092274d75aa9e4a725a1df0dbed8070b
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/unittests/Format/AlignBracketsTest.cpp
Log Message:
-----------
[clang-format] Stop indenting the closing brace for the initializer (#197590)
new
```C++
SomeStruct //
s = {
"xxxxxxxxxxxxx",
};
```
old
```C++
SomeStruct //
s = {
"xxxxxxxxxxxxx",
};
```
See the comment. https://github.com/llvm/llvm-project/pull/192299#issuecomment-4414273071
Commit: 3b5bbe9a5cc68e6f1493dca6b0251f546ed95afe
https://github.com/llvm/llvm-project/commit/3b5bbe9a5cc68e6f1493dca6b0251f546ed95afe
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/test/Fir/array-coor-canonicalization.fir
M flang/test/Transforms/FIRToMemRef/array-coor-slice-shift.mlir
Log Message:
-----------
[flang] Canonicalize sliced array access by fir.array_coor. (#197845)
This patch adds a canonicalization pattern for pulling rank-reducing
slices into `fir.array_coor`. This is helpful to preserve the original
rank of the array in `fir.array_coor`, which then helps representing
slice accesses in memref dialect as accesses to the original array.
This way, further conversion to affine dialect has benefits of
exposing the math applied to indices of all array dimensions.
For example, if a non-scalar slice depends on a loop IV, pulling
this into the original array access allows building access maps
enabling affine dependency analysis.
I considered the following three models for the addressing used
in `fir.array_coor` with rank reducing slices:
1) Mixed model:
- Encoding
* Scalar-sliced dims: index is slice_lb
* Non-scalar dims: index is section-style (1-based)
- Pros
* Minimal canonicalization math
* Keeps scalar selection explicit in the index list
- Cons
* Semantics are mixed in one array_coor
* Harder to reason about/debug
* Requires special-case logic in later lowering (FIRToMemRef / CodeGen)
to interpret non-scalar dims differently from scalar dims
2) Uniform section-style model (all 1-based):
- Encoding
* Scalar-sliced dims: index is 1
* Non-scalar dims: index is section-style (1-based)
* Scalar selection recovered only from slice_lb
- Pros
* Conceptually clean and consistent (single index convention)
* Easier mental model
- Cons
* Needs coordinated changes in both lowerings
* Lowerings must always reconstruct scalar selected coordinates
from slice metadata
* Higher migration risk unless all paths are updated together
3) CodeGen-compatible coordinate-space model (the implemented one):
- Encoding
* Scalar-sliced dims: index is slice_lb
* Non-scalar dims: index converted to coordinate-space (lb + idx - 1)
- Pros
* No behavioral changes needed in CodeGen logic
* Aligns canonicalized IR with existing coordinate-space assumptions
* Avoids extra CodeGen compatibility branches
- Cons
* Canonicalization is more complex (must synthesize index transforms)
* FIRToMemRef still needs alignment for full-rank vs reduced-rank
index consumption
* Slightly less "visually uniform" than all-1-based
Assisted by Codex.
Commit: d5ba663c28ec6374f02e630f79459d4ef639f51c
https://github.com/llvm/llvm-project/commit/d5ba663c28ec6374f02e630f79459d4ef639f51c
Author: Alison Zhang <alisonzhang at ibm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/test/Driver/fprofile-update.c
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
[AIX][clang][compiler_rt] rename libatomic archive to libclang_rt (#197485)
This PR implements the following on AIX to avoid conflicts between LLVM
libatomic and the GNU libatomic in the AIX toolbox as they share the
same library name:
- Updates the clang driver to use `-lcompiler_rt` instead of `-latomic`
- Renames the compiler-rt archive from `libatomic.a` to
`libcompiler_rt.a`
Only the archive and not the shared object (`libatomic.so.1`) is renamed
because renaming one component is enough to distinguish between the LLVM
and GNU libatomic libraries. This also allows us to add additional
shared objects to the `libcompiler_rt.a` archive in the future if
needed.
Commit: 6c296e4c25851868eba66131a4329f4e91c9fda7
https://github.com/llvm/llvm-project/commit/6c296e4c25851868eba66131a4329f4e91c9fda7
Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/bitcast-cmp.ll
Log Message:
-----------
[RISCV] Fold Bitcast long bitwidth int to vector type (#194788)
Prevent bitcasts from `i256` to `<16 x i16>` or `<8 x i32>` from falling
back to scalar types.
Fixes: https://github.com/llvm/llvm-project/issues/180910
---------
Signed-off-by: ZakyHermawan <zaky.hermawan9615 at gmail.com>
Commit: 20cb1ccbb6b3ff23a69f66d02128ead2a4efa11e
https://github.com/llvm/llvm-project/commit/20cb1ccbb6b3ff23a69f66d02128ead2a4efa11e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Utility/FileSpecList.cpp
Log Message:
-----------
[lldb][CMake] Enforce lldbUtility and lldbHost layering invariants (#198952)
lldbUtility cannot depend on any other lldb library, and lldbHost can
only depend on lldbUtility. Breaking those invariants is an easy mistake
to make and has happened repeatedly: most recently in #198931.
Because LLDB statically links its libraries on macOS, a stray LINK_LIBS
entry, or a stray cross-library #include without a matching CMake
dependency, both succeed at link time and only surface much later as a
layering bug.
Add two configure-time checks in `add_lldb_library` so the build fails
fast when these invariants are broken:
1. A new `ALLOWED_INTERNAL_DEPENDENCIES <list>` parameter allowlists
which `^lldb`-prefixed `LINK_LIBS` entries a target may depend on. The
existing `NO_INTERNAL_DEPENDENCIES` flag is the empty-allowlist case and
continues to work.
2. Whenever either of those is set, also scan the target's sources and
public headers for `#include "lldb/<Library>/..."` directives outside
the allowlist, and FATAL_ERROR with the offending file and line. This
catches the macOS static-linking case where a missing CMake dependency
silently resolves at link time.
Apply the new parameter to lldbHost (allowing only lldbUtility plus the
Darwin Objective-C++ shim lldbHostMacOSXObjCXX) and to that shim itself.
lldbUtility already used `NO_INTERNAL_DEPENDENCIES` and now picks up the
header scan automatically.
`lldb/Host/windows/windows.h` is special-cased in the scan: it is a
system-header wrapper used tree-wide and carries no real dependency.
Drop two unused `lldb/Target/*` includes from `Utility/FileSpecList.cpp`
that the scan would otherwise flag.
Assisted-by: Claude
---------
Co-authored-by: Charles Zablit <c_zablit at apple.com>
Commit: 5c5f736c661c97c4850cf8ea95dce9efb481a4ca
https://github.com/llvm/llvm-project/commit/5c5f736c661c97c4850cf8ea95dce9efb481a4ca
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
Log Message:
-----------
[HLSL][SPIRV] Correct reversebit 64 split (#197849)
Replace the split-lanes + OpCompositeConstruct sequence in
selectBitreverse64 with a single OpVectorShuffle to swap the high/low
32-bit halves, simplifying both the selector logic, the emitted SPIR-V
and fixing the bug.
fix: #197810
Assisted by: Claude Opus 4.6
Commit: 0d55de9750152fe6ae4d7152df7a88c18fef2f6c
https://github.com/llvm/llvm-project/commit/0d55de9750152fe6ae4d7152df7a88c18fef2f6c
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
Log Message:
-----------
[Github] Use --require-hashes when installing python dependencies for tooling container (#198880)
https://github.com/llvm/llvm-project/security/code-scanning/1501
https://github.com/llvm/llvm-project/security/code-scanning/1502
Commit: 73f2dd8cf1325ed520d708d193c32a929664faa4
https://github.com/llvm/llvm-project/commit/73f2dd8cf1325ed520d708d193c32a929664faa4
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang][OpenMP] Remove unnecessary code from OmpVisitor, NFC (#198865)
Commit: 8a7f785beccb8e71b739eacab0ff0b9803753638
https://github.com/llvm/llvm-project/commit/8a7f785beccb8e71b739eacab0ff0b9803753638
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .ci/metrics/Dockerfile
Log Message:
-----------
[CI] Pin base container in metrics Dockerfile (#198879)
https://github.com/llvm/llvm-project/security/code-scanning/1309
Commit: c12d1131cd2cf1294a4f88fc565308b4c536a936
https://github.com/llvm/llvm-project/commit/c12d1131cd2cf1294a4f88fc565308b4c536a936
Author: Caroline Newcombe <caroline.newcombe at hpe.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/test/Lower/Intrinsics/bge.f90
M flang/test/Lower/Intrinsics/bgt.f90
M flang/test/Lower/Intrinsics/ble.f90
M flang/test/Lower/Intrinsics/blt.f90
Log Message:
-----------
[flang] Implement lowering for BOZ literal arguments in BGE, BLE, BGT, BLT (#191874)
BGE/BGT/BLE/BLT allow one or both arguments to be a BOZ literal
constant. Unlike other intrinsics that accept BOZ arguments, these do
not convert the BOZ to a typed value during semantic analysis.
When both arguments are constants, the comparison is folded at compile
time in `fold-logical.cpp`. However, when the non-BOZ argument is a
variable, folding is skipped and the BOZ literal constant persists in
the expression tree through to lowering.
The lowering implementation wraps the `BOZLiteralConstant]` in a
`Constant<LargestInt>` and feeds it through the existing
`convertConstant` infrastructure. Since BOZ is always a scalar, this
always produces a trivial SSA value. This follows the same pattern as
`gen(Constant<T>)` for the trivial scalar path. The `AddrOfOp` branch
from that template is intentionally omitted because a scalar i128
constant never produces a global reference. The
`outlineBigConstantInReadOnlyMemory` parameter is set to false to make
this intent explicit.
Tests:
- Added BOZ lowering tests to bge.f90, bgt.f90, ble.f90, blt.f90
covering BOZ in first position, second position
- Wider-than-companion BOZ (z'1FFFFFFFF' with i32 companion) lowering
test added to bge.f90
Issue #190818
Enable test in llvm-test-suite:
https://github.com/llvm/llvm-test-suite/pull/393https://github.com/llvm/llvm-test-suite/pull/393
Commit: 07177216baaedaeba52edd92e4514521d8d36807
https://github.com/llvm/llvm-project/commit/07177216baaedaeba52edd92e4514521d8d36807
Author: Conscat <omg.lily2000 at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix unrecognized qualifiers breaking east-const (#198656)
Long time reader, first time contributor. :3
I've been experimenting with `_Nullable` and `_Nonnull` qualifiers in my
project for which the `.clang-format` configures:
```
QualifierAlignment: Custom
QualifierOrder: [type, const, volatile]
```
This results in the following form:
```cpp
T const* _Nullable const identifier =
```
Formatting as:
```cpp
T const* _Nullable identifier const =
```
Which naturally doesn't compile. This is semi-blocking my project, so I
would like to contribute it reasonably quickly if possible. I'll try to
respond to feedback promptly.
This is possible to fix in a targeted way within the format rule, but I
believe the underlying issue is these qualifiers need to hold true under
`isQualifier`. That seems to fix my issue and may fix others I haven't
discovered. I've extended this to other qualifiers I know of, but not
`__ptrauth` family which seems to have its own special handling.
Assisted-by: Cursor/Claude Opus
Commit: e9d88ca08f711c8ace6787102ee537432e158867
https://github.com/llvm/llvm-project/commit/e9d88ca08f711c8ace6787102ee537432e158867
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libcxx/include/__iterator/access.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/data.h
M libcxx/include/__iterator/distance.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/move_sentinel.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_access.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/size.h
R libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
A libcxx/test/libcxx/iterators/nodiscard.verify.cpp
Log Message:
-----------
[libc++][iterator] Applied `[[nodiscard]]` (#172200)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.htm
- https://wg21.link/iterators
Also moves the test to the correct location:
`libcxx/test/libcxx/iterators/nodiscard.verify.cpp`
Towards #172124
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: a01dddd1e603dba3210c5279e9d32d97d2373b20
https://github.com/llvm/llvm-project/commit/a01dddd1e603dba3210c5279e9d32d97d2373b20
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
Log Message:
-----------
[CIR] Fix a problem with hoisting allocas out of nested cleanup scopes (#199093)
A recent change to the code that hoists allocas out of a cleanup scope
introduced an assertion that triggers when we're trying to hoist an
alloca that is in a cleanup scope that is nested within the cleanup
scope we're processing. I didn't think that could happen, but it turns
out the LLVM code itself triggers it.
This change removes the assertion and updates the check for the alloca
being contained within the cleanup scope we're processing so that it can
handle the case with nested scopes.
Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh
Commit: 62da8f217b3e8b818f6a98805b8fef9a82cde4e4
https://github.com/llvm/llvm-project/commit/62da8f217b3e8b818f6a98805b8fef9a82cde4e4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-replaced.ll
Log Message:
-----------
[SLP] Use TrackedVals for trailing scalars in tryToReduceOrdered
The trailing scalar fold passed the original candidate value to
createOp instead of its tracked form. When the same scalar also
appears inside the vectorized window, vectorizeTree replaces its
scalar uses with an extractelement (the scalar is added to the
externally-used values list), so the original instruction is gone
by the time the trailing fold runs. createOp then builds an fadd
that references the stale, replaced scalar, producing invalid IR
or a crash.
Look up the candidate in TrackedVals to retrieve the current
(extractelement when applicable) value, matching the leading
scalar fold loop above.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/199109
Commit: a9f18130ac69552523b4b081433b511945dd18a1
https://github.com/llvm/llvm-project/commit/a9f18130ac69552523b4b081433b511945dd18a1
Author: adams381 <adams at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
Log Message:
-----------
[CIR] Allow clz/ctz/popcount on u8 and u128 widths (#198911)
libcxx with `-fclangir` was rejecting `cir.clz`, `cir.ctz`, and
`cir.popcount` when the operand type is `!u8i` or `!u128i` — the
verifier only allowed 16/32/64-bit widths even though codegen already
emits the right `llvm.ctlz` / `llvm.cttz` / `llvm.ctpop` intrinsics for
those sizes. That shows up heavily in the May 20 upstream-main libcxx
baseline (`verifier-rejects-pre-pass-ir` bucket).
Widen the TableGen width lists on the three ops to match `bitreverse`
(8 through 128). `builtin-bit.cpp` gains `popcountg` on `unsigned char`,
and `popcountg` / `clzg` / `ctzg` on `unsigned __int128` when
`__SIZEOF_INT128__` is 16, each with CIR/LLVM/OGCG checks.
Commit: b6a56c4665936ea28c2d4739c92714a725c2c174
https://github.com/llvm/llvm-project/commit/b6a56c4665936ea28c2d4739c92714a725c2c174
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/ValueObject/ValueObject.cpp
A lldb/test/API/python_api/sbvalue_get_parent/MyContainer_synthetic.py
M lldb/test/API/python_api/sbvalue_get_parent/TestSBValueGetParent.py
M lldb/test/API/python_api/sbvalue_get_parent/main.cpp
Log Message:
-----------
[lldb] Call SetSyntheticChildrenGenerated on GetSyntheticChildAtOffset (#198859)
Follow up to #197311 and based on the feedback on that PR.
One way a Python synthetic formatter can construct a child is with
`SBValue::GetSyntheticChildAtOffset`. However those values were are not
marked as having been generated by `SyntheticChildren`. This means the
previous PR (#197311) did not apply to them as would be expected. The
fix is to call `SetSyntheticChildrenGenerated(true)` on the child values
created in `GetSyntheticChildAtOffset`.
Assisted-by: claude (tests and review)
Commit: 676ccb68cf9571ad2395e1658f5248a3b3d4304d
https://github.com/llvm/llvm-project/commit/676ccb68cf9571ad2395e1658f5248a3b3d4304d
Author: adams381 <adams at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
A clang/test/CIR/IR/assume.cir
A clang/test/CIR/IR/invalid-assume.cir
Log Message:
-----------
[CIR] Lower __builtin_assume_dereferenceable (#197262)
`__builtin_assume_dereferenceable` was reported NYI by ClangIR. It's
heavily exercised by libcxx via `__memory/valid_range.h`, so most of
`<algorithm>` currently fails to compile under `-fclangir`.
Adds a `cir.assume_dereferenceable` op (pointer + pointer-sized
integer), emits it from CIRGenBuiltin, and lowers it to
```
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr, i64) ]
```
which is what classic Clang's `Builder.CreateDereferenceableAssumption`
produces.
The size operand is widened/narrowed to `intptr_t` at the CIRGen layer
to match classic CodeGen's `IntPtrTy` conversion.
Tests cover the dynamic-size, constant-size, and narrow-integer-size
cases against CIR, CIR->LLVM, and OGCG.
Commit: 1be3309a1987a57d1eaebe39ba3d69014304387a
https://github.com/llvm/llvm-project/commit/1be3309a1987a57d1eaebe39ba3d69014304387a
Author: adams381 <adams at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
Log Message:
-----------
[CIR] Implement getUndefRValue for scalar, complex, and aggregate (#198921)
NYI builtin and call paths in CIR were calling getUndefRValue but the
helper only reported "unsupported type for undef rvalue" and returned
null. libcxx then hit follow-on failures (including scalar-conversion
crashes) on the same translation units that already had other NYI
diagnostics.
Implement the same three cases as classic CodeGen: #cir.undef for
scalar and complex, and an undef.agg.tmp stack slot for aggregates.
Lower cir.const #cir.undef to llvm.undef in DirectToLLVM so emit-llvm
does not assert in the constant op lowering. builtin-undef-rvalue.cpp
covers the __builtin_reduce_or NYI stub path with CIR/LLVM/OGCG checks.
Commit: 0f679999aae135b388c25fb1acbb030109c6418f
https://github.com/llvm/llvm-project/commit/0f679999aae135b388c25fb1acbb030109c6418f
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libc/config/baremetal/config.json
Log Message:
-----------
Revert "[libc] Enable baremetal float printf using modular format" (#199114)
Reverts llvm/llvm-project#198900
This can cause build failures due to an error in the handling of
argument indices for `va_list` `printf` variants.
Commit: 90cd93540256012e4d652fed0ed53be77f44aca8
https://github.com/llvm/llvm-project/commit/90cd93540256012e4d652fed0ed53be77f44aca8
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-21 (Thu, 21 May 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/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-fold-tail.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/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/VPlan/widen-canonical-iv-register-pressure.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/widen-canonical-iv-register-pressure.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/predicated-inductions-vs-first-order-recurrences.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-masked-mem-opts.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
Log Message:
-----------
[VPlan] Transfer nuw from CanIV -> WideCanIV (#198802)
An nuw on a CanonicalIV recipe should transfer to a WideCanonicalIV
recipe directly.
Commit: db614d99eea9ce78c4b1a44a6e01eb1a4ee8d5b2
https://github.com/llvm/llvm-project/commit/db614d99eea9ce78c4b1a44a6e01eb1a4ee8d5b2
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M polly/lib/CodeGen/IslNodeBuilder.cpp
A polly/test/CodeGen/issue192208.ll
Log Message:
-----------
[Polly] Do not invalidate SCEV before codegen (#194677)
ScopInfo expects the state of the IR to reflect the state before
codegen. Invalidating ScalarEvolution/SCEVs has the effect that values
need to be reanalyzed, but this is not possible during codegen where the
CFG and SSA is not yet in a consistent state. That is, we rely on
ScalarEvolution to cache SCEVs from before the codegen phase. If
ScalarEvolution did not already do this, Polly would need to more
aggressively store SCEVs itself (in this case: `canSyntheziseInStmt`)
instead of asking ScalarEvolution.
The SCEV invalidation was introduced in
a61eda769890900903ee65278bf1ee07dfbd4ca5 which unfortunately does not
explain the issue it intends to fix. The added test case passes even
without the invalidation. In any case, SCEVs should represent the state
before codegen.
Fixes #192208
Commit: 77e43ec11cd8fbe1de491118b54de9bba94510a8
https://github.com/llvm/llvm-project/commit/77e43ec11cd8fbe1de491118b54de9bba94510a8
Author: Doug Gregor <dgregor at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clangd/refactor/InsertionPoint.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
A clang/include/clang/Lex/MacroBase.h
M clang/include/clang/Lex/MacroInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/Tooling/Transformer/SourceCode.cpp
A clang/test/ExtractAPI/macro_doc_comments.c
A clang/test/Index/annotate-comments-macros.c
M clang/test/Index/annotate-comments.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Associate documentation comments with macro definitions (#198452)
Commit: cae36e381a788432977dfbc4759dc23759e62f7c
https://github.com/llvm/llvm-project/commit/cae36e381a788432977dfbc4759dc23759e62f7c
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
Log Message:
-----------
[clang-doc] Clean up inconsistent namespace usage in BitcodeWriter (#198067)
Typically we forgo prefixing things with clang::doc or llvm:: unless
they overlap with something in std::, like `to_underlying()`. We also
group things to avoid non-internal symbols by placing types in the
anonymous namespace, and more logically grouping things that don't need
to be in the clang::doc namespace.
Commit: d7ff015ec6563eef1fafa8df86d1a49dee0b8a7a
https://github.com/llvm/llvm-project/commit/d7ff015ec6563eef1fafa8df86d1a49dee0b8a7a
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt
Log Message:
-----------
[lldb][bytecode] Disable formatters for Wasm object format (#199124)
Identified as an issue in
https://github.com/apple/swift-collections/issues/648
Commit: 9955c424bb2ba8aaef1b3dcf0409f7b573be9954
https://github.com/llvm/llvm-project/commit/9955c424bb2ba8aaef1b3dcf0409f7b573be9954
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
M llvm/test/Instrumentation/Instrumentor/default_config.json
Log Message:
-----------
[llvm][Instrumentor] Fix non-determinism in Instrumentor (#198833)
In InstrumentorStubPrinter the StringMap was being iterated over, which
broke the Instrumentation/Instrumentor/write_config.ll test under
LLVM_REVERSE_ITERATION builds. We can use a MapVector to ensure the
order is stable. We only need to update the test json ordering to match
the stable order for with and without LLVM_REVERSE_ITERATION.
Commit: c6cb310e75b8ba32eb0cc454fde0d85ec1e8f8ee
https://github.com/llvm/llvm-project/commit/c6cb310e75b8ba32eb0cc454fde0d85ec1e8f8ee
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
A llvm/test/CodeGen/AMDGPU/insert-delay-alu-attr.ll
Log Message:
-----------
[AMDGPU] Don't insert delay_alu for 1 waves-per-eu (#198638)
These instructions are used to improve hardware utilization rates in the
multi-wave case. In the 1 wave per eu case these do not help and just
add extra instructions.
Commit: 9694b198082c9723551357652e390bb09f25f3b7
https://github.com/llvm/llvm-project/commit/9694b198082c9723551357652e390bb09f25f3b7
Author: David Blaikie <dblaikie at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
Log Message:
-----------
DebugInfo: Shrink-to-fit some containers to reduce peak memory usage (#198935)
Changes originally by Tipp Moseley (tipp at google.com)
Commit: c0da1855e07e4a53253e5290803c144158b6587f
https://github.com/llvm/llvm-project/commit/c0da1855e07e4a53253e5290803c144158b6587f
Author: AnkitDubeycs25 <cs25mtech12001 at iith.ac.in>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
Log Message:
-----------
[CIR][CIRGen][Builtin][X86] Compress Store Intrinsics (#169648)
This implements CIR handling for the x86-specific compressed store builtins.
Commit: cfc03d62b4f8d6ef32a9b0c33429ac2eba76b85f
https://github.com/llvm/llvm-project/commit/cfc03d62b4f8d6ef32a9b0c33429ac2eba76b85f
Author: adams381 <adams at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/docs/CIR/ABILowering.rst
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
A clang/test/CIR/Transforms/abi-lowering/Inputs/test-datalayout.cir
A clang/test/CIR/Transforms/abi-lowering/datalayout-missing-error.cir
A clang/test/CIR/Transforms/abi-lowering/declaration-rewrite.cir
A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-injection.cir
A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-test-target.cir
A clang/test/CIR/Transforms/abi-lowering/ignore-arg.cir
A clang/test/CIR/Transforms/abi-lowering/ignore-return.cir
A clang/test/CIR/Transforms/abi-lowering/indirect-call-nyi.cir
A clang/test/CIR/Transforms/abi-lowering/try-call-nyi.cir
A clang/test/CIR/Transforms/abi-lowering/variadic-call-nyi.cir
M clang/tools/cir-opt/cir-opt.cpp
M mlir/include/mlir/ABI/ABIRewriteContext.h
Log Message:
-----------
[CIR] Add CallConvLowering pass + Direct/Ignore ABI rewriting (#195737)
Depends on #195725 (merged).
Stacked on #195725 (PR A1). The diff in this PR is the CIR side; A1 has
the dialect-agnostic infrastructure.
Adds the `cir-call-conv-lowering` pass plus the `CIRABIRewriteContext`
skeleton with handlers for Direct (true pass-through) and Ignore (drop
empty-record args/returns). Subsequent PRs in the split add Extend,
Direct-with-coercion + a new reinterpret op, Indirect/sret,
Indirect/byval, and Expand — each is purely additive because the
rewriter dispatches on `argClass.kind` via a switch with explicit "not
yet implemented" diagnostics for every other kind.
The pass takes one of two driver options: `target=test` uses the test
target from PR A1, and `classification-attr=<name>` reads a pre-built
`DictionaryAttr` from each `cir.func` (also via the helper from PR A1).
It also requires `dlti.dl_spec` on the module and emits a clear
diagnostic otherwise, since classification can't run without
sizes/alignments.
Six `.cir` tests covering the Direct/Ignore behavior via both drivers,
plus the missing-DataLayout error case. `check-clang-cir` and
`check-clang-cir-codegen` both pass with no regressions.
`clang/docs/CIR/ABILowering.rst` gets a short pipeline-position section
(where this pass runs vs CXXABILowering and HoistAllocas, the DataLayout
requirement, the alloca-placement invariant).
The 11 C++ unit tests in #192119 each map onto a `.cir` test in this
series — 6 ported here (Direct passthrough, Ignore arg, Ignore return,
declaration rewrite, plus their call-site variants), 3 deferred to PR B
(Extend), 2 deferred to PR C (Direct-with-coercion). The 5 from #192124
split between PRs D and E. None get dropped, and the original C++ test
file lives only on the closed branches.
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 7b429c95712d9dae7616eaad8841721d9f774eb5
https://github.com/llvm/llvm-project/commit/7b429c95712d9dae7616eaad8841721d9f774eb5
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/ClangDoc.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
Log Message:
-----------
[clang-doc] Use explicit for single param constructors (#198068)
This trips up some clang-tidy checks, so add the explicit keyword as
needed to satisfy the lints.
Commit: 2cbcd18f342f57804920829c5522a31b1129f402
https://github.com/llvm/llvm-project/commit/2cbcd18f342f57804920829c5522a31b1129f402
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/test/CIR/CodeGen/atomic.c
Log Message:
-----------
[CIR] Fix Cmp-Xchg generation when casting to int (#198924)
We have logic in CIRGenAtomic to handle 'cast float to an int', which
works for most of our atomics. However, compare-exchange uses a second
'val' value, which was not getting cast, which caused a verification
error.
This patch ensures that the correct cast is generated for 'val2' as
well.
Commit: 6149387b2ed28ba6875bdce24e5c774bace764d6
https://github.com/llvm/llvm-project/commit/6149387b2ed28ba6875bdce24e5c774bace764d6
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/test/CIR/CodeGen/call.c
Log Message:
-----------
[CIR] Implement lowering of atomic-func ptrs (#199045)
This actually is a near-zero effort implementation, since other than an
assertion, we had everything correct. It isn't clear where that
assertion came from (other than an over abundance of caution?). It
doesn't exist in classic codegen, which always counts on the
fallthrough.
However, we ARE missing some ptr-auth work in that area, so a
MissingFeatures is added to be a placeholder for it.
Commit: 5ab329724bdec2d2a84c15975171eaa9f27ea480
https://github.com/llvm/llvm-project/commit/5ab329724bdec2d2a84c15975171eaa9f27ea480
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
Log Message:
-----------
[CIR] Fix cast kind to support bool in builtin_*_overflow (#198958)
'bool' is an acceptable type to the __builtin_*_overflow functions, but
we were unconditionally doing an integral cast. This adds some logic to
do a bool-to-int cast if necessary.
Commit: b687efb8d15dda73cbd0e3eba145287a135ad868
https://github.com/llvm/llvm-project/commit/b687efb8d15dda73cbd0e3eba145287a135ad868
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/wide-string.cpp
Log Message:
-----------
[CIR] Wide String literals in a larger variable lowering (#198966)
This showed up in a test suite: If the size of the variable is larger
than the literal, we were asserting since we were only accounting for a
single null terminator. The FE will ensure that we have enough room for
the variable + a null terminator, but the size must be larger!
This patch counds on 'trailing-zeroes' to make sure the null terminator
is in place.
Commit: 85c3be1d72f0e36e7ecbdb4b1e2abf61b1733216
https://github.com/llvm/llvm-project/commit/85c3be1d72f0e36e7ecbdb4b1e2abf61b1733216
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/include/llvm/Transforms/IPO/InstrumentorUtils.h
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/lib/Transforms/IPO/InstrumentorUtils.cpp
Log Message:
-----------
[Instrumentor][FIX] Ensure we indicate changes properly. (#199106)
We now indicate changes whenever we might have changed things even if
the filter will rule out instrumentation. The issue was that we need to
get the argument to check the filter and that process might create new
IR, e.g., a global variable containing the function name.
Commit: 691d54094802522b0f65fa021dd799744dd6c5c8
https://github.com/llvm/llvm-project/commit/691d54094802522b0f65fa021dd799744dd6c5c8
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/include/lldb/Interpreter/Interfaces/ScriptedHookInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
M lldb/include/lldb/Target/Target.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
M lldb/source/Target/Target.cpp
Log Message:
-----------
[lldb] Consolidate Target Hook/StopHook scripted state into ScriptedMetadata (#199088)
This is a follow-up to 1b4a578a9f77.
Replace `Target::HookScripted`'s and `Target::StopHookScripted`'s
separate `m_class_name` and `m_extra_args` members with a single
`m_scripted_metadata`, and update `SetScriptCallback to take a `const
ScriptedMetadata &` directly. Drop the now-redundant `args_sp` parameter
from ScriptedHookInterface::CreatePluginObject and
ScriptedStopHookInterface::CreatePluginObject; the Python overrides
construct a StructuredDataImpl from the metadata's args dict for the
dispatched call.
Each hook subclass keeps its own `m_scripted_metadata` member because
the interface's metadata is only set when SetScriptCallback runs the
Python override of CreatePluginObject; the hook needs to hold the
metadata between construction and that callback. Read-side description
printing goes through the new GetScriptClassName() helper which
delegates to m_interface_sp->GetScriptedMetadata(). The two
s.Printf("%s\n", class_name.data()) sites are also converted to
s.Format("{0}\n", class_name).
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: b75f5d71138f3ff8274a861dc16e60ad4252632e
https://github.com/llvm/llvm-project/commit/b75f5d71138f3ff8274a861dc16e60ad4252632e
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
M lldb/include/lldb/Target/ScriptedThreadPlan.h
M lldb/include/lldb/Target/Thread.h
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBThreadPlan.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Target/ScriptedThreadPlan.cpp
M lldb/source/Target/Thread.cpp
Log Message:
-----------
[lldb] Consolidate ScriptedThreadPlan state into ScriptedMetadata (#199064)
This is a follow-up to 1b4a578a9f77.
Replace ScriptedThreadPlan's separate `m_class_name` and `m_args_data`
members with a single `m_scripted_metadata`, and update its constructor,
Thread::QueueThreadPlanForStepScripted and the SB/CLI callers to take a
`const ScriptedMetadata &` directly. Drop the now-redundant `args_sp`
parameter from ScriptedThreadPlanInterface::CreatePluginObject; the
Python override constructs a StructuredDataImpl from the metadata's args
dict for the dispatched call.
ScriptedThreadPlan keeps its own `m_scripted_metadata` member because
the interface's metadata is only set when `DidPush()` calls
`CreatePluginObject`, so the plan needs to hold the metadata between
construction and `DidPush()`.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: e099bfb90f61c003b3f7b1d522c4d1229b21b06b
https://github.com/llvm/llvm-project/commit/e099bfb90f61c003b3f7b1d522c4d1229b21b06b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
A lldb/include/lldb/Utility/Locked.h
M lldb/unittests/Utility/CMakeLists.txt
A lldb/unittests/Utility/LockedTest.cpp
Log Message:
-----------
[lldb] Add Locked<T> and SharedLocked<T> RAII handles in Utility (NFC) (#198941)
Introduce two RAII handles that pair a pointer-like value with a lock on
a caller-supplied mutex.
- Locked<PtrT, Mutex>: holds std::unique_lock<Mutex>. Move-only;
enforces exclusive access. Defaults to std::recursive_mutex to match
LLDB's existing synchronization style.
- SharedLocked<PtrT, Mutex>: holds a reference-counted
std::shared_lock<Mutex>. Copyable — copies share the same reader lock
and the lock releases when the last copy goes away. Defaults to
llvm::sys::RWMutex, the LLDB convention.
PtrT may be a raw pointer, std::shared_ptr, or std::unique_ptr;
convenience aliases LockedPtr/LockedSP/LockedUP and
SharedLockedPtr/SharedLockedSP/SharedLockedUP cover the common
combinations. SharedLocked's borrowed pointer is const-qualified so
readers can't mutate the pointee.
Commit: 38045dd89590f88c6724ff838ded6b9a6e56e713
https://github.com/llvm/llvm-project/commit/38045dd89590f88c6724ff838ded6b9a6e56e713
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/test/CIR/CodeGenBuiltins/X86/ssse3-builtins.c
Log Message:
-----------
[CIR][X86][NFC] Add _mm_alignr_epi8 edge immediate tests (#198522)
Cover the 16-byte boundary and all-zero result cases in
`ssse3-builtins.c`. These cases mirror the coverage in
`clang/test/CodeGen/palignr.c`.
Rename the existing `_mm_alignr_epi8` cases consistently with the new
tests.
Partially addresses https://github.com/llvm/llvm-project/issues/156747.
Commit: 3873d151c9248fed3da049d793208296413bbcc8
https://github.com/llvm/llvm-project/commit/3873d151c9248fed3da049d793208296413bbcc8
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Core/Module.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
Log Message:
-----------
[LLDB] Add a progress event to xcrun invocations (#198953)
LLDB invokes xcrun to find SDKs on disk. This is usually very fast, but
sometimes (after an Xcode update, or when the searched SDK does not
exist) it can take very long (10s or more). The progress event provides
user feedback to explain the hang.
Previously this functionality was in HostInfo, but it may not depend on
Core, so this patch is instrumenting the call sites instead.
cf: https://github.com/llvm/llvm-project/pull/198931
Commit: a800c33674e41af6dc1a8e9264609857bd555aca
https://github.com/llvm/llvm-project/commit/a800c33674e41af6dc1a8e9264609857bd555aca
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/User.h
Log Message:
-----------
IR: Move `simplify_type<(const) Use *>` to Use.h and fix a bug.
These overloads live in User.h because the type of
`User::(const_)op_iterator` is `(const) Use *`, but they do not
necessarily need to be used together with `User`, so let's move them to
Use.h with the canonical type used in the overload for clarity.
There's also a bug where `dyn_cast_or_null` with a `Use *` argument
crashes if the argument is null. Fix it by adding a null check to
these overloads. The null check is expected to be optimized out of the
implementation of `isa`/`cast`/`dyn_cast` because these functions will
unconditionally load from the result of `getSimplifiedValue`.
Reviewers: nikic, efriedma-quic
Pull Request: https://github.com/llvm/llvm-project/pull/198917
Commit: c24ab4c814f680c5ac71600bf80d551123abd84d
https://github.com/llvm/llvm-project/commit/c24ab4c814f680c5ac71600bf80d551123abd84d
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/PowerPC/fast-isel-cmp-imm.ll
M llvm/test/CodeGen/PowerPC/fp-strict-fcmp-spe.ll
M llvm/test/CodeGen/PowerPC/legalize-invert-br_cc.ll
M llvm/test/CodeGen/PowerPC/spe.ll
Log Message:
-----------
Revert "[PowerPC] set libcall lowering for fp setcc ops on SPE boards" (#199140)
Reverts llvm/llvm-project#153238
Breaking premerge buildbots. (It looks like there's an alternative fix
open #199105, but it's still under review.)
Commit: 42cfcaf651b5f6fe2117dcd29b33c25409f3541e
https://github.com/llvm/llvm-project/commit/42cfcaf651b5f6fe2117dcd29b33c25409f3541e
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
Log Message:
-----------
[CIR][NFC] Remove unused functions in MissingFeatures.h (#197631)
### Summary
This NFC change removes 33 entries from MissingFeatures.h that have no
callers in tree as of <b4f7c93e7d1325f1c1f00b47c10d2923e8259369>
- `switchOp`
- `opUnaryPromotionType`
- `supportVisibility`
- `atomicInitTailPadding`
- `atomicMapTargetSyncScope`
- `atomicScope`
- `bitfields`
- `builtinCallMathErrno`
- `cleanupWithPreservedValues`
- `constEmitterAggILE`
- `dataLayoutTypeIsSized`
- `dataLayoutTypeStoreSize`
- `deferredFuncDecls`
- `ehScopeFilter`
- `functionArgumentAttrs`
- `globalViewIndices`
- `intrinsics`
- `loweringPrepareAArch64XXABI`
- `loweringPrepareX86CXXABI`
- `nrvo`
- `opAllocaReference`
- `opCallABIExtendArg`
- `opCallABIIndirectArg`
- `opCallAggregateArgs`
- `opCallASTAttr`
- `opCallExceptionAttr`
- `opCallSideEffect`
- `opCallWidenArg`
- `opFuncOpenCLKernelMetadata`
- `opGlobalUsedOrCompilerUsed`
- `opLoadStoreThreadLocal`
- `opUnaryPromotionType`
- `pointerOverflowSanitizer`
Commit: dac33e3d006e9ca4c20b74b2b0d9baa126e728a7
https://github.com/llvm/llvm-project/commit/dac33e3d006e9ca4c20b74b2b0d9baa126e728a7
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/Serialize.cpp
Log Message:
-----------
[clang-doc][nfc] Declare pointer with auto explicitly (#198069)
This silences some errors from clang-tidy.
Commit: 625e277979356e8fc51a4a75667a331c5ceffccd
https://github.com/llvm/llvm-project/commit/625e277979356e8fc51a4a75667a331c5ceffccd
Author: Adam Paszke <apaszke at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M mlir/lib/IR/Builders.cpp
M mlir/unittests/IR/AttributeTest.cpp
Log Message:
-----------
[mlir] Specify isSigned when creating APInt for I16 attributes (#198687)
8- and 32-bit attribute constructors already do this. Debug builds
trigger an assertion unless isSigned is specified.
Commit: 25f90289bb0e137d500827486ac19e8e0be781e1
https://github.com/llvm/llvm-project/commit/25f90289bb0e137d500827486ac19e8e0be781e1
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
Log Message:
-----------
Revert "DebugInfo: Shrink-to-fit some containers to reduce peak memory usage" (#199145)
Reverts llvm/llvm-project#198935
I think this broke llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml .
Commit: 07843996b9110398e4cf5b96cea0fabb7654f274
https://github.com/llvm/llvm-project/commit/07843996b9110398e4cf5b96cea0fabb7654f274
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/TargetInfo.h
A clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
A clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/SPIRV.cpp
A clang/test/CIR/CodeGenOpenCL/spirv-kernel.cl
Log Message:
-----------
[CIR][SPIR-V] Add initial SPIR-V target CodeGen support (#196920)
Commit: dc6c7ee102b51d76ecf4a39f0ebb794d8b74267c
https://github.com/llvm/llvm-project/commit/dc6c7ee102b51d76ecf4a39f0ebb794d8b74267c
Author: Weibo He <NewSigma at 163.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
Log Message:
-----------
[CoroSplit] Rename Suspend/End to AlwaysKill/NeverKill (NFC) (#199150)
Rename them so that we can generalize to more intrinsics, for example,
`llvm.coro.is_in_ramp` in #198226
Commit: 6b1f976858eea5a64f058ca48873be834bd79569
https://github.com/llvm/llvm-project/commit/6b1f976858eea5a64f058ca48873be834bd79569
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/frame-pointer-elim.c
Log Message:
-----------
[Mips] Omit the frame pointer when optimizations are enabled (#198737)
Enable frame pointer optimization to match GCC behavior
Fix #48326.
Commit: 0e9af2567341a1cfa2ff02f33a43320c01324a50
https://github.com/llvm/llvm-project/commit/0e9af2567341a1cfa2ff02f33a43320c01324a50
Author: Schrodinger ZHU Yifan <yfzhu at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .github/workflows/libc-freebsd-vm-tests.yml
Log Message:
-----------
[libc][freebsd] skip exhaustive math tests in FreeBSD CI (#199143)
Remove expensive tests to mitigate the long running time.
Commit: 50744ea335e4c54a555c7f38d0c3f982d3441845
https://github.com/llvm/llvm-project/commit/50744ea335e4c54a555c7f38d0c3f982d3441845
Author: David Tenty <daltenty at ibm.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/test/CodeGen/PowerPC/aix-alias.ll
M llvm/test/CodeGen/PowerPC/aix-alloca-r31.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-mem.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval.ll
M llvm/test/CodeGen/PowerPC/aix-cc-ext-vec-abi.ll
M llvm/test/CodeGen/PowerPC/aix-complex.ll
M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-ssp.ll
M llvm/test/CodeGen/PowerPC/aix-exception.ll
M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
M llvm/test/CodeGen/PowerPC/aix-extern.ll
M llvm/test/CodeGen/PowerPC/aix-ifunc-obj.ll
M llvm/test/CodeGen/PowerPC/aix-ifunc.ll
M llvm/test/CodeGen/PowerPC/aix-llvm-intrinsic.ll
M llvm/test/CodeGen/PowerPC/aix-no-inline-glue.ll
M llvm/test/CodeGen/PowerPC/aix-p9-insert-extract.ll
M llvm/test/CodeGen/PowerPC/aix-p9-xxinsertw-xxextractuw.ll
M llvm/test/CodeGen/PowerPC/aix-reloc-sorting.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-char.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-double.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-float.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-int.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-short.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-loadaddr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-double.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-int.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-target-flags.ll
M llvm/test/CodeGen/PowerPC/aix-tls-ie-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-O0.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-double.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-float.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-int.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-trampoline.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills-mir.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills.ll
M llvm/test/CodeGen/PowerPC/aix-vector-stack-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-fixed-caller.ll
M llvm/test/CodeGen/PowerPC/aix-weak.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-data-sections.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-explicit-section.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll
M llvm/test/CodeGen/PowerPC/aix64-cc-byval.ll
M llvm/test/CodeGen/PowerPC/basic-toc-data-extern.ll
M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-mfspr-mtspr-64bit-only.ll
M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-prefetch.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/const-nonsplat-array-init.ll
M llvm/test/CodeGen/PowerPC/const-splat-array-init.ll
M llvm/test/CodeGen/PowerPC/ctrloops-pseudo.ll
M llvm/test/CodeGen/PowerPC/fast-isel-branch.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
M llvm/test/CodeGen/PowerPC/global-merge-aix-sections.ll
M llvm/test/CodeGen/PowerPC/huge-frame-call.ll
M llvm/test/CodeGen/PowerPC/licm-tocReg.ll
M llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll
M llvm/test/CodeGen/PowerPC/memset-tail.ll
M llvm/test/CodeGen/PowerPC/merge-private.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-large.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool.ll
M llvm/test/CodeGen/PowerPC/p10-handle-split-promote-vec.ll
M llvm/test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll
M llvm/test/CodeGen/PowerPC/ppc-float-spill.ll
M llvm/test/CodeGen/PowerPC/ppc-shufflevector-combine.ll
M llvm/test/CodeGen/PowerPC/pr74951.ll
M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
M llvm/test/CodeGen/PowerPC/reduce_scalarization.ll
M llvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll
M llvm/test/CodeGen/PowerPC/splat-after-xxsldwi.ll
M llvm/test/CodeGen/PowerPC/stack-guard-oob.ll
M llvm/test/CodeGen/PowerPC/stack-protector-target.ll
M llvm/test/CodeGen/PowerPC/stack-protector.ll
M llvm/test/CodeGen/PowerPC/toc-data-common.ll
M llvm/test/CodeGen/PowerPC/toc-data-const.ll
M llvm/test/CodeGen/PowerPC/toc-data-struct-array.ll
M llvm/test/CodeGen/PowerPC/toc-data.ll
M llvm/test/CodeGen/PowerPC/v16i8_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v4i32_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v8i16_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vec_shuffle_p8vector.ll
M llvm/test/CodeGen/PowerPC/xxinsertw.ll
M llvm/test/CodeGen/PowerPC/xxperm-swap.ll
Log Message:
-----------
[NFC][PowerPC][AIX] add explicit code model to 64-bit AIX tests (#199159)
A later PR will propose updating the default code model, so this PR sets
an explicit code model on tests that don't have it. This is strictly
NFC, as we are just setting the existing code model.
Commit: 010895249f480b9a875ade15a1c8b7d306654636
https://github.com/llvm/llvm-project/commit/010895249f480b9a875ade15a1c8b7d306654636
Author: Dark Steve <Prasoon.Mishra at amd.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
Log Message:
-----------
[AMDGPU] Pre-commit test for redundant s_wait_xcnt after implicit XCN… (#198772)
…T drain
Demonstrates that `SIInsertWaitcnts` currently emits `s_wait_xcnt 0x0`
after instructions that already drain XCNT in hardware on gfx1250:
`s_barrier_wait`, `s_barrier_signal`, `s_barrier_signal_isfirst`,
`s_sendmsg`, PC-changing terminators etc.
Commit: 836fcaa4235c1145627558f5414f31e5d23cc328
https://github.com/llvm/llvm-project/commit/836fcaa4235c1145627558f5414f31e5d23cc328
Author: Jinjie Huang <huangjinjie at bytedance.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/tools/llvm-profgen/PerfReader.cpp
Log Message:
-----------
[llvm-profgen] Speed up parsing of MMap events (#197871)
During the mmap extraction, `extractMMapEventForBinary()` is invoked
line by line to parse the perf script(usually 100K to 1M+ lines). This
patch tries to early quit when the current line does not contain the
Binary name, and this will help to avoid subsequent parsing
overhead(baseline behavior uses regex to extract the name, returning
false if it doesn't match the current binary).
With this minor change, the execution time of
extractMMapEventForBinary() dropped from 13,600ms to 32ms(-99%) in an
internal workload test(827K lines).
Commit: 4210f1a52f48cf48f0de53bf7fdcc791a8fc0925
https://github.com/llvm/llvm-project/commit/4210f1a52f48cf48f0de53bf7fdcc791a8fc0925
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M libcxx/include/functional
Log Message:
-----------
[libc++][NFC] Remove incorrect TODO about deprecating mem_fn (#199172)
Commit: 7e8de3bbf2e1b9255a243d4f768ed042dee8c328
https://github.com/llvm/llvm-project/commit/7e8de3bbf2e1b9255a243d4f768ed042dee8c328
Author: David Green <david.green at arm.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-mul.ll
Log Message:
-----------
[AArch64] Combine A + zext(B) * C -> A - zext(B) * -C (#198488)
This converts `A + zext(B) * C` -> `A - zext(B) * -C` if C can be
negated in order to use umsubl.
Commit: 6d155b31f4eb49f66aa1b138e7fa65bc4d34e528
https://github.com/llvm/llvm-project/commit/6d155b31f4eb49f66aa1b138e7fa65bc4d34e528
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[alpha.webkit.UncountedLocalVarsChecker] Some forms of mutating a guardian variable is ignored (#198950)
This PR fixes a bug in UncountedLocalVarsChecker that it was allowing
mutations to guardian variables within the same scope of a guarded raw
pointer/reference. Since mutating a guardian can affect the lifetime of
a guarded object, we must not consider it as a guardian variable for the
scope.
VisitCXXConstructExpr was just looking for smart pointer's move
constructor but any constructor which takes a guardian smart pointer
using a non-const function argument is problematic so detect all those
cases. Also add VisitCallExpr to detect all forms of function calls to
which a guardian variable is passed via a non-const argument. For
VisitCXXMemberCallExpr, we consider calling any non-const member
function on a guardian variable to be dangerous except conversion
operators (e.g. operator T()).
Commit: 72be00bae2d4024fcf818f5a0e59784adc9d4f31
https://github.com/llvm/llvm-project/commit/72be00bae2d4024fcf818f5a0e59784adc9d4f31
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Check every lambdas passed to makeVisitor (#198713)
This PR fixes the bug in UncountedLambdaCapturesChecker that we were
failing to check variable captures of a non-first lambdas passed to
WTF::makeVisitor. To support this, we store a SmallVector of
LambdaExpr's instead of a single LambdaExpr in LambdaOwnerMap.
Commit: e90ae13b657960edb3a4d0be22bfd89d6d783b19
https://github.com/llvm/llvm-project/commit/e90ae13b657960edb3a4d0be22bfd89d6d783b19
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Check lambdas in constructors and destructors (#198709)
This PR fixes the bug that lambda captures checkers don't check for
"this" pointer captured in a lambda inside C++ constructors and
destructors.
Commit: 9353d0d55bddcc2065745f44bd3ac1b870098f75
https://github.com/llvm/llvm-project/commit/9353d0d55bddcc2065745f44bd3ac1b870098f75
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Check CXXOperatorCallExpr's this argument (#198688)
This PR fixes the bug that we were not checking "this" parameter of
CXXOperatorCallExpr.
Commit: 7d65f8e1bb3327dbd4b0d6cdbf155e26739786a2
https://github.com/llvm/llvm-project/commit/7d65f8e1bb3327dbd4b0d6cdbf155e26739786a2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.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-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-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-f64-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/strided-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/cast-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/user-with-multi-copyable-ops.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
Log Message:
-----------
[CostModel][X86] Make avx512 inlane 2src shuffles cheaper that crosslane 2src shuffles (#199074)
256/512 variable mask shuffles are not going to sustain tp = 1 on all
avx512 targets - unlike immediate mask inlane shuffles
1src shuffles aren't much better, but there's additional special cases
that need handling for these
Noticed while triaging failed vectorcombine reduction folds due to weird
costs
Commit: c20020ea73aa13094800aeac09944c6f81cb0ea6
https://github.com/llvm/llvm-project/commit/c20020ea73aa13094800aeac09944c6f81cb0ea6
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M libc/include/math.yaml
M libc/include/pthread.yaml
M libc/include/search.yaml
M libc/include/stdfix.yaml
M libc/include/sys/mman.yaml
M libc/include/sys/syscall.yaml
M libc/utils/hdrgen/hdrgen/header.py
M libc/utils/hdrgen/hdrgen/main.py
M libc/utils/hdrgen/hdrgen/symbol.py
M libc/utils/hdrgen/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Enforce standard identifier validation in hdrgen (#198971)
Implemented validation for standard identifiers in the hdrgen tool to
catch typos and unknown standards. Aggregated standards from all entity
types (macros, types, etc.) for validation, addressing a TODO in
header.py.
Added llvm_libc_ext, stdc_ext, and llvm_libc_stdfix_ext to the canonical
identifiers. Standardised invalid or inconsistently formatted standards
in several YAML files.
This enforces the correctness of any provided standards field but does
not yet require that every entity has one (many entities still inherit
standards from the header level).
Assisted-by: Automated tooling, human reviewed.
Commit: 5ee840cbe1464c8e2b3128328de322f3e568991a
https://github.com/llvm/llvm-project/commit/5ee840cbe1464c8e2b3128328de322f3e568991a
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/plugins-nextgen/level_zero/include/L0Interop.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/L0Plugin.cpp
Log Message:
-----------
[OFFLOAD][L0] Remove support for non-immediate command lists (#198894)
The code was in a dead path as immediate command lists are always used.
Commit: 0f12556a2b328473bb8569503cd44924578b3eb6
https://github.com/llvm/llvm-project/commit/0f12556a2b328473bb8569503cd44924578b3eb6
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/test/Verifier/value-profile.ll
Log Message:
-----------
[Verifier] Add missing null-check. (#199170)
[Verifier] Add missing null-check.
visitProfMetadata's was using the result of dyn_extract without first
checkout that it's non-null. Thus one could crash the verifier by
providing invalid IR.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: d50dd107c7c955ff932ae5e0f716edb73c55f43f
https://github.com/llvm/llvm-project/commit/d50dd107c7c955ff932ae5e0f716edb73c55f43f
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGroupOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/test/Dialect/SPIRV/IR/arithmetic-ops.mlir
M mlir/test/Dialect/SPIRV/IR/atomic-ops.mlir
M mlir/test/Dialect/SPIRV/IR/composite-ops.mlir
M mlir/test/Dialect/SPIRV/IR/group-ops.mlir
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
Log Message:
-----------
[mlir][spirv] Fix `fp8` and `bf16` leaking into unsupported ops (#199102)
Including `SPIRV_AnyFloat` in the majority of types caused fp8 and bf16
to be allowed in ops that are not allowed by float8 and bfloat16
extensions. This patch tries to rectify to only allow fp8 and bf16 in
ops allowed by the respective specs. Additional tests have been also
added to increase the coverage with respect to those types.
Assisted-by: Codex + Claude Code
Commit: 352fb9a2dfc275a90c5cd5f387de187f0554881c
https://github.com/llvm/llvm-project/commit/352fb9a2dfc275a90c5cd5f387de187f0554881c
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/ELF/Writer.h
R lld/docs/Partitions.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/index.rst
R lld/docs/partitions.dot
R lld/docs/partitions.svg
R lld/test/ELF/partition-exidx.s
M lld/test/ELF/partition-icf.s
M lld/test/ELF/partition-move-to-main-startstop.s
R lld/test/ELF/partition-notes.s
M lld/test/ELF/partition-pack-dyn-relocs.s
R lld/test/ELF/partition-synthetic-sections.s
R lld/test/ELF/partition-thunk-reuse.s
M lld/test/ELF/partitions.s
Log Message:
-----------
[ELF] Reduce symbol partitions to shim binaries (#198718)
The experimental symbol partition feature can move arbitrary symbols and
input sections out of the main partition into named loadable partitions
that consumers extract with `llvm-objcopy --extract-partition`. It is
incompatible with many features, has seen no adoption beyond Chromium's
`build/extract_partition.py`. Chrome hasn't needed this feature for many
years.
The partitioning machinery (per-partition `MarkLive` runs, `moveToMain`,
cross-partition pull in `InputSection::replace`, per-symbol
dynsym/gnuhash/thunk-compat filters, `PartitionIndexSection`,
`copySectionsIntoPartitions`, etc.) does not pull its weight for that.
Remove the partitioning brain and keep a minimal shim shell.
`Symbol::partition` is deleted; every dynsym add goes to
`ctx.mainPart`. `ctx.partitions` wraps a `std::vector<Partition>`
whose iterator yields only the main partition; shim partitions live
in `storage[1..]` and are reached via `shims()`. The two paths that
actually emit shim binaries (`createPhdrs` and `pageAlign` in
Writer.cpp) name `shims()` directly.
Shim partitions carry no per-partition synthetic content; the
extracted shim is just an ELF header plus PT_PHDR/PT_LOAD.
`llvm-objcopy --extract-partition` keeps working but
`--dump-section .note.gnu.build-id` on a shim no longer finds
anything. Features that previously used `dlopen()` to lazy-load a
feature partition now live in main and are always loaded.
Aided by Claude Opus 4.7
Commit: 5162d2a47c65dd0f98155e3cf63e68e27eefb7f9
https://github.com/llvm/llvm-project/commit/5162d2a47c65dd0f98155e3cf63e68e27eefb7f9
Author: Petr Hosek <phosek at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.cpp
Log Message:
-----------
[Driver][MSVC] Correctly handle the -fuse-ld=(empty) case (#199167)
We need to distinguish the case where `-fuse-ld` is unspecified and when
`-fuse-ld=(empty)` as is already done in the generic `ToolChain`
implementation but wasn't done in the MSVC driver to correctly handle
the `CLANG_DEFAULT_LINKER` CMake option.
Commit: 08124b704f9412c1be116d791eefdf01f4c588e1
https://github.com/llvm/llvm-project/commit/08124b704f9412c1be116d791eefdf01f4c588e1
Author: mzukovec <113346157+mzukovec at users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/PCH/ftime-trace-specialization-lookup.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
Log Message:
-----------
[clang] Avoid invalidating specialization lookup (#196533)
Fixes a use-after-free in `ASTReader::LoadExternalSpecializationsImpl`
when loading external specializations with `-ftime-trace` enabled.
This resolves the https://github.com/llvm/llvm-project/issues/196482 and
builds upon the https://github.com/llvm/llvm-project/pull/172658
The function kept a pointer into `SpecLookups`:
```cpp
LookupTable = &It->getSecond();
```
Then it constructed a `TimeTraceScope` whose name callback calls
`getNameForDiagnostic`. That call may deserialize additional AST state
and mutate `SpecLookups`, invalidating the saved pointer before it is
later used for:
```cpp
LookupTable->Table.find(HashValue);
```
This is observed as an ASAN `heap-use-after-free` in:
```text
MultiOnDiskHashTable<LazySpecializationInfoLookupTrait>::find
ASTReader::LoadExternalSpecializationsImpl
```
The fix computes the template-argument hash and copies the lazy
specialization lookup result before constructing the time-trace scope.
This avoids retaining a `DenseMap` iterator or pointer into
`SpecLookups` across code that may trigger deserialization.
Validation from a local reproducer:
- Unpatched Clang + PCH + `-ftime-trace`: ASAN heap-use-after-free.
- Unpatched Clang + same PCH without `-ftime-trace`: passes.
- Patched Clang + PCH + `-ftime-trace`: full downstream wasm build
passes.
I cannot attach the original PCH-based reproducer publicly because the
PCH contains private project paths and serialized private headers, but
the reduced failing source no longer contains project logic and the ASAN
trace points directly at invalidation inside
`LoadExternalSpecializationsImpl`.
Commit: 5eefd3d04daa4abaa105a8ffe3dbe3c7ba75baa1
https://github.com/llvm/llvm-project/commit/5eefd3d04daa4abaa105a8ffe3dbe3c7ba75baa1
Author: Julian Oppermann <julian.oppermann at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/test/Dialect/Linalg/linalg-morph-multi-step.mlir
M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-category-ops.mlir
M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
M mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-binary.mlir
Log Message:
-----------
[MLIR][Linalg] Specialize more binary elementwise ops (#192290)
Extends the matching logic for `linalg.generic` ops that can be
represented as named op or `linalg.elementwise` to cover all variants
currently supported by `RegionBuilderHelper::buildBinaryFn`. We
previously detected only `add`, `sub`, `mul` and `div` for floating
point types.
I combined the detection for unary and binary functions to make it
tractable to morph operations such as
```mlir
#map = affine_map<(d0) -> (d0)>
// ...
%c123_i32 = arith.constant 123 : i32
%0 = linalg.generic
{indexing_maps = [#map, #map], iterator_types = ["parallel"]}
ins(%A : tensor<?xi32>) outs(%Out : tensor<?xi32>) {
^bb0(%in: i32, %out: i32):
%v = arith.addi %c123_i32 , %in : i32
linalg.yield %v : i32
} -> tensor<?xi32>
```
to
```mlir
#map = affine_map<(d0) -> ()>
#map1 = affine_map<(d0) -> (d0)>
// ...
%0 = linalg.elementwise kind=#linalg.elementwise_kind<add>
indexing_maps = [#map, #map1, #map1]
ins(%c123_i32, %A: i32, tensor<?xi32>)
outs(%Out: tensor<?xi32>) -> tensor<?xi32>
```
Commit: 081d6881d5dafd4bfc7450f94d0dd65e72dcd360
https://github.com/llvm/llvm-project/commit/081d6881d5dafd4bfc7450f94d0dd65e72dcd360
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 08124b7 (#199180)
This fixes 08124b704f9412c1be116d791eefdf01f4c588e1.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 5fb0fe4a107cb1da959a48ebff84545d80328dba
https://github.com/llvm/llvm-project/commit/5fb0fe4a107cb1da959a48ebff84545d80328dba
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/SystemZ.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Thunks.cpp
M lld/ELF/Writer.cpp
M lld/docs/ReleaseNotes.rst
R lld/test/ELF/partition-dynamic-linker.s
R lld/test/ELF/partition-errors.s
R lld/test/ELF/partition-icf.s
R lld/test/ELF/partition-move-to-main-startstop.s
R lld/test/ELF/partition-move-to-main.s
R lld/test/ELF/partition-pack-dyn-relocs.s
M lld/test/ELF/partitions.s
Log Message:
-----------
[ELF] Remove the symbol partition feature (#199186)
Follow-up to #198718: SHT_LLVM_SYMPART sections are no longer recognized
and are treated as ordinary sections.
The sole user has been retired (crbug.com/401249151).
The per-partition synthetic sections (.dynamic, .dynsym, .gnu.hash,
.eh_frame, .ARM.exidx, ...) move into `ctx.in`; the program headers move
into `ctx.phdrs`. Delete the `Partition` struct, `ctx.mainPart`,
`ctx.partitions`, the
PartitionElfHeaderSection/PartitionProgramHeadersSection shim sections,
and the `.part.end` marker.
Commit: 4ee12ee5d75f04a653229bb692c5e264dbc0c7b8
https://github.com/llvm/llvm-project/commit/4ee12ee5d75f04a653229bb692c5e264dbc0c7b8
Author: Igor Gorban <igor.gorban at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Sema/OpenCLBuiltins.td
A clang/test/SemaOpenCL/intel-subgroups-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-char-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-long-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-short-builtins.cl
Log Message:
-----------
[OpenCL] Add subgroup UI image overloads builtin functions (#198904)
Add subgroup UI image overloads builtin functions from the OpenCL
extensions available at
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_intel_subgroups.asciidoc
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_intel_subgroups_short.asciidoc
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_intel_subgroups_char.asciidoc
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_intel_subgroups_long.asciidoc
Commit: c53f299dce981cebc6222689dac1b4b8f1b627e7
https://github.com/llvm/llvm-project/commit/c53f299dce981cebc6222689dac1b4b8f1b627e7
Author: idubinov <igor.dubinov at amd.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
Log Message:
-----------
[SPIRV][NFC] Pass function-pointer operand explicitly to visitFunPtrUse (#197667)
Take the function-pointer placeholder operand as a parameter rather
than reading MI.getOperand(2) directly, so visitFunPtrUse can be
reused from instructions with a different operand layout. Pure
refactor.
---------
Co-authored-by: Marcos Maronas <mmaronas at amd.com>
Commit: 593eb2066293c8636786c98cb696c533da9b97ca
https://github.com/llvm/llvm-project/commit/593eb2066293c8636786c98cb696c533da9b97ca
Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/utils/lit/tests/unit/Util.py
Log Message:
-----------
[AIX] Remove unsupported AIX native echo option -n (#199079)
AIX native echo doesn't support the `-n` flag.
Use the POSIX-standard `\c` escape sequence instead to suppress the
trailing newline, ensuring the test works across all systems and make it
portable.
The current test fails as follows:
```
FAIL: lit :: unit/Util.py (1 of 1)
******************** TEST 'lit :: unit/Util.py' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
"/opt/freeware/bin/python3.12" /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# executed command: /opt/freeware/bin/python3.12 /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# .---command stderr------------
# | F..
# | ======================================================================
# | FAIL: test_basic (__main__.TestCommandCache.test_basic)
# | ----------------------------------------------------------------------
# | Traceback (most recent call last):
# | File "/home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py", line 32, in test_basic
# | self.assertEqual(lit_config.run_command_cached(["echo", "hi"]), b"hi")
# | AssertionError: b'hi\n' != b'hi'
# |
# | ----------------------------------------------------------------------
# | Ran 3 tests in 2.050s
# |
# | FAILED (failures=1)
# `-----------------------------
# error: command failed with exit status: 1
```
---------
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: 866e9e03fe86eab363cc70526a59c8e48067a576
https://github.com/llvm/llvm-project/commit/866e9e03fe86eab363cc70526a59c8e48067a576
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
Log Message:
-----------
[RISCV] Fix RISCVVectorPeephole::ensureDominates doc comment. NFC (#199196)
Commit: 1f5b5a2aca31f84acf93c811f0d93eb46fe33e73
https://github.com/llvm/llvm-project/commit/1f5b5a2aca31f84acf93c811f0d93eb46fe33e73
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
A llvm/test/Analysis/CostModel/RISCV/shuffle-load.ll
Log Message:
-----------
[RISCV][TTI] Model broadcast loads as zero-stride loads (#198446)
We have done this optimization in ISel and this PR just models it
in TTI.
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: b26a70c7ecf98d27bb29eaa7d3baf685a60e8262
https://github.com/llvm/llvm-project/commit/b26a70c7ecf98d27bb29eaa7d3baf685a60e8262
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[NFC][X86] Add peekThroughDemandedElts helper for future use (#199195)
Make it easier to bypass unnecessary ops based of DemandedElts
Commit: 5c853423f4f9e7296b7596b7f3ccade481686bfd
https://github.com/llvm/llvm-project/commit/5c853423f4f9e7296b7596b7f3ccade481686bfd
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
Log Message:
-----------
[VPlan] Assert that replacement types match in VPUser::setOperand (NFC). (#195891)
Add assertion to VPValue::setOperand to check if types of the new
operand matches the old operand.
This makes it easier to catch replacements with incorrect types at the
source, instead only later during verification.
A few places currently preform replacements with mis-matching types,
which only get fixed up later. Update those to avoid type-violation.
Depends on https://github.com/llvm/llvm-project/pull/195485
PR: https://github.com/llvm/llvm-project/pull/195891
Commit: 8cc944cb29cec7974509a34ae8ad85c483cbd120
https://github.com/llvm/llvm-project/commit/8cc944cb29cec7974509a34ae8ad85c483cbd120
Author: eiytoq <eiytoq at outlook.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/mdspan
A libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.at.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/nodiscard.verify.cpp
A libcxx/test/std/containers/views/mdspan/mdspan/at.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][mdspan] P3383R3: `mdspan.at()` (#175213)
Implements https://wg21.link/P3383R3
Closes #148149
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: b4d42cf8e22126c2985e177bfe6130bfbfedb72a
https://github.com/llvm/llvm-project/commit/b4d42cf8e22126c2985e177bfe6130bfbfedb72a
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/unimplemented_clause_messages.cpp
Log Message:
-----------
[OpenMP] Prevent parser infinite loop on unimplemented clauses (#198796)
This is to fix an infinite loop in the parser when using un-implemented
clauses. See https://godbolt.org/z/f775asrea .
This patch also fixes this crash: https://godbolt.org/z/WKrsbTGGe .
Commit: eb775bec0a6b4676bf3c6d070232247058b91b2f
https://github.com/llvm/llvm-project/commit/eb775bec0a6b4676bf3c6d070232247058b91b2f
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[NFC] Remove unused LAA include (#199202)
Commit: a79158d2d6ec84c2e282fccb0e9dbf1f16db8108
https://github.com/llvm/llvm-project/commit/a79158d2d6ec84c2e282fccb0e9dbf1f16db8108
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/io-api-gpu.h
M flang-rt/lib/runtime/io-api-server.cpp
M flang-rt/lib/runtime/main.cpp
M flang/include/flang/Runtime/io-api.h
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/src/RPC.cpp
Log Message:
-----------
[flang-rt] Remove library dependency from flang-rt to offload (#198793)
Summary:
We need the offload project's RPC thread to handle the IO requests
originating from the GPU. Previously we did the 'easy' solution and just
linked this handler directly into the offload proejct. This is not ideal
because it prevents people's ability to build and configure libraries
separately.
This PR inverts the dependency, flang-rt now conditionally enables
support using the existing RPC callback mechanism. The cost is that
every flang-rt program now pays the cost of a boolean compare, the
benefit is the libraries are now independent of each-other.
Commit: a6fe3806f2c355a5fcb44867993749a8cb0a1a2f
https://github.com/llvm/llvm-project/commit/a6fe3806f2c355a5fcb44867993749a8cb0a1a2f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
Log Message:
-----------
[SLP] Retry vectorization of FMA candidates after block processing
fadd/fsub instructions that canConvertToFMA returns valid for were
unconditionally skipped in tryToVectorize, causing regressions
where SLP failed to vectorize loops containing such patterns even when
FMA formation never fires.
Collect skipped FMA candidates during vectorizeChainsInBlock and retry
them with AllowFMACandidates=true after all other instructions in the
block have been processed. The cost model still rejects the retry when
actual FMA formation is more profitable (e.g. FMA4 on bdver2), so
existing FMA-profitable cases are unaffected.
Fixes #198040
Reviewers: davemgreen, bababuck, RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/198174
Commit: d7d60e1d69c0bf7850f52babdb22ba031aed0f87
https://github.com/llvm/llvm-project/commit/d7d60e1d69c0bf7850f52babdb22ba031aed0f87
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.h
M lldb/test/Shell/SymbolFile/NativePDB/ast-methods.cpp
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
Log Message:
-----------
[lldb][NativePDB] Use CV qualifiers from `this` type for methods (#199214)
When we create the Clang types for methods, we ignored the qualifiers.
So `const` methods would become non-const.
With this PR, we use the qualifiers from `*this` for the function type.
Commit: 1af6ed08a15b2dcffe1c608a43cf24554e215523
https://github.com/llvm/llvm-project/commit/1af6ed08a15b2dcffe1c608a43cf24554e215523
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M .github/workflows/release-binaries.yml
M .github/workflows/release-doxygen.yml
R .github/workflows/require-release-manager/action.yml
A .github/workflows/require-team-membership/action.yml
Log Message:
-----------
workflows/require-release-manager: Refactor to check an arbitrary team (#199083)
This will allow it to be used for checking that users are members of the
llvm-committer team or possibly others.
Commit: 0c315580e51c2eb901f57f04bf3a9a3aebf0906c
https://github.com/llvm/llvm-project/commit/0c315580e51c2eb901f57f04bf3a9a3aebf0906c
Author: Ingo Müller <ingomueller at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/unittests/Utility/LockedTest.cpp
Log Message:
-----------
[lldb][test] Fix thread safety analysis warning in LockedTest (#199218)
Guard `mutex.unlock()` with `if (mutex.try_lock())` to satisfy thread
safety analysis. Statically, the compiler cannot verify that
`mutex.try_lock()` succeeded when it is only asserted by `EXPECT_TRUE`,
leading to a "releasing mutex 'mutex' that was not held" compilation
error.
This fixes a regression introduced in #198941.
Commit: 78792f8576335770926f5e4b003bc5371d87c875
https://github.com/llvm/llvm-project/commit/78792f8576335770926f5e4b003bc5371d87c875
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/ast-dump-decl.cpp
Log Message:
-----------
[clang] ast-text-dump: fix printing of declref to decomposition with no bindings (#199215)
Clang supports empty structured binding groups as an extension, and the
text node dumper has some special handling for giving a name to
anonymous declarations, which assumed a decomposition would have at
least one binding.
Fixes #198842
Commit: 3298a0c7e38f92a7a6d7422dca3994b0c1e38609
https://github.com/llvm/llvm-project/commit/3298a0c7e38f92a7a6d7422dca3994b0c1e38609
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
A lldb/test/Shell/Commands/process-attach-dummy.test
Log Message:
-----------
[lldb] Fix dummy target filtering regression in CommandInterpreter (#198949)
In #198429 (reland), CommandObject::GetTarget() was tightened to return
nullptr instead of the dummy target when no real target exists, unless
the command explicitly opts in via eCommandAllowsDummyTarget or standard
target requirements
However in CommandInterpreter::GetExecutionContext(bool
adopt_dummy_target) :
```
ExecutionContext
CommandInterpreter::GetExecutionContext(bool adopt_dummy_target) const {
return !m_overriden_exe_contexts.empty()
? m_overriden_exe_contexts.top()
: m_debugger.GetSelectedExecutionContext(adopt_dummy_target);
}
```
If m_overriden_exe_contexts is not empty, the method returned the top
context immediately—completely ignoring the adopt_dummy_target argument
requested by the command object.
Because of this:
1. During sourced script runs, process attach received the dummy target
as its execution target (since adopt_dummy_target = false was ignored).
2. It bypassed the target == nullptr check and proceeded to attach
directly to the dummy target.
3. As the dummy target was never registered in m_target_list , the main
target list remained empty ( No targets. ), causing all subsequent
commands (e.g., setting breakpoints or continuing) to fail with invalid
target errors.
### The Fix:
lldb/source/Interpreter/CommandInterpreter.cpp :
Respect adopt_dummy_target = false in GetExecutionContext when a dummy
target is present in the overridden execution context stackm so that if
adopt_dummy_target is false and the overridden context on the stack
contains the dummy target, we clear the context before returning it.
This forces GetTarget() to return nullptr as originally intended.
### Test:
• lldb/test/Shell/Commands/process-attach-dummy.test :
Add a new standalone Lit shell test to replicate this scenario. The test
sources a command sequence executing process attach when no target
exists, and verifies that target list successfully registers the newly
created real
target ( target #0: <none> ) instead of leaving the list empty.
Commit: 71772bcbc48e95f05740b765a49eaf630b75f79b
https://github.com/llvm/llvm-project/commit/71772bcbc48e95f05740b765a49eaf630b75f79b
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/test/Shell/Settings/TestCxxFrameFormatPartialFailure.test
Log Message:
-----------
[lldb] Remove XFAIL from TestCxxFrameFormatPartialFailure (#199229)
This is fixed on Windows after #198600 as it now uses LLD.
Commit: 86475ffaf08578f45cfde0fa109396ed81eab9f0
https://github.com/llvm/llvm-project/commit/86475ffaf08578f45cfde0fa109396ed81eab9f0
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
Log Message:
-----------
[LV] Avoid stale VPTypeAnalysis cache in convertToStridedAccesses (#199222)
VPlanTransforms::convertToStridedAccesses calls
VPWidenMemoryRecipe::computeCost, which uses VPTypeAnalysis in
VPCostContext to infer the pointer type of the load address. However,
CachedTypes in VPTypeAnalysis may be invalidated since earlier
transformations in tryToBuildVPlan could erase recipes from the plan.
This pollutes the cache with stale types.
Fix this by creating a new VPCostContext locally scoped to
convertToStridedAccesses, ensuring VPTypeAnalysis reflects the current
plan state. This serves as a quick fix to prevent accidental reuse by
future transformations.
Commit: d2e9300b72637f92aa0ebf4aa5b82f84e4023640
https://github.com/llvm/llvm-project/commit/d2e9300b72637f92aa0ebf4aa5b82f84e4023640
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/include/lldb/Core/Module.h
M lldb/source/Core/Module.cpp
Log Message:
-----------
[lldb] Adopt LockedPtr in Module (NFC) (#199160)
Follow-up to #198941, which introduced Locked<T> and SharedLocked<T>.
Add GetObjectFileLocked, GetSymbolFileLocked, GetSymtabLocked, and
GetSectionListLocked alongside the existing accessors.
The locked variants cover two things:
1. They prevent the pointer from being swapped out from under the
caller. The old getters take m_mutex only during lazy initialization and
release it before returning. The unique_ptr or shared_ptr that owns the
pointee can therefore be reassigned by another thread while the caller
still holds the raw value. LockedPtr keeps the Module mutex held
alongside the borrowed pointer, pinning the binding for the lifetime of
the handle.
2. They serialize access to the pointee itself. This is not new, the
classes in question were already relying on the Module mutex for
synchronization.
Migrate the four call sites in Module where the existing patter maps to
a single LockedPtr.
The legacy raw-pointer getters remain so call sites can migrate
incrementally.
Commit: b081351c7e20a26a6e67b3e82c065f02e4cce8d8
https://github.com/llvm/llvm-project/commit/b081351c7e20a26a6e67b3e82c065f02e4cce8d8
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Basic/FileManager.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/unittests/Basic/FileManagerTest.cpp
Log Message:
-----------
[clang] Use FileError in FileManager::getFileRef, getDirectoryRef (#199126)
Most callers are unchanged, since they either ignore the specific error
or have their own formatting of the error that includes both the path
and the errorToErrorCode-unwrapped value. However, for clients that just
forward the error it's helpful to ensure we do not lose track of the
filename that the error is associated with, so use FileError.
Incidentally remove two uses of errorToErrorCode that were being used
instead of consumeError; in both cases getOptionalFileRef was more
appropriate.
Commit: 1586b249954ebc0a09e15dc0f2a28fd7b3de3d6e
https://github.com/llvm/llvm-project/commit/1586b249954ebc0a09e15dc0f2a28fd7b3de3d6e
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
Log Message:
-----------
[mlir][xegpu] Allow layout mismatch between region yields and region results (#199119)
With layout conflict handling this case is no longer an issue.
Commit: b4b2dbf46f25cb688a049bea0495446791c208c9
https://github.com/llvm/llvm-project/commit/b4b2dbf46f25cb688a049bea0495446791c208c9
Author: Aegislin <voyager7 at sjtu.edu.cn>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-using.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-ignore-extern-c.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
Log Message:
-----------
[clang-tidy] Change IgnoreExternC default to true in modernize-use-using (#199189)
This prevents generating invalid C code in mixed-language headers by
leaving `typedef` declarations inside `extern "C"` blocks intact by
default.
Fixes #141394
Commit: 49e67cb500e0ae1dc5466735f581f72c5cd9a82d
https://github.com/llvm/llvm-project/commit/49e67cb500e0ae1dc5466735f581f72c5cd9a82d
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
Log Message:
-----------
[LV] Regenerate a test with UTC. NFC (#199231)
Commit: 4ad14a07f5704b950131f361edf05b96a871dfa2
https://github.com/llvm/llvm-project/commit/4ad14a07f5704b950131f361edf05b96a871dfa2
Author: Alexander Kornienko <alexfh at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
Revert "[Clang] Transform lambda's constraints when instantiating parameter mapping (#195995)" (#199228)
This reverts commit 7e2821e025f8ee4add31693ddf462947d7618016, which
causes a crash-on-valid in clang:
https://github.com/llvm/llvm-project/issues/199209
Commit: b153bed8fae4db1a8df3c52ca5b6e3e8f88113bd
https://github.com/llvm/llvm-project/commit/b153bed8fae4db1a8df3c52ca5b6e3e8f88113bd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldShuffleChainsToReduce - add dbg cost comparison message (#199233)
Help track whether a fold was attempted or not
Commit: ec4681df3d6bd1aeb9d00ee93c54eb7d4001cdff
https://github.com/llvm/llvm-project/commit/ec4681df3d6bd1aeb9d00ee93c54eb7d4001cdff
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
Log Message:
-----------
[flang][FIR] Make fir.type a valid memref element type (#199236)
Implement `MemRefElementTypeInterface` on `fir::RecordType` so that
`memref<!fir.type<…>>` verifies, enabling downstream passes to use
memrefs of Fortran derived types.
Commit: 5899ecd0d2420318d935948cd5b25ea56c2538fb
https://github.com/llvm/llvm-project/commit/5899ecd0d2420318d935948cd5b25ea56c2538fb
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
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:
-----------
Revert "[NVPTX] Fixup and test ExpandVariadics (#195709)" (#199235)
This reverts commit a5077468984ac3c47e6a3ca779c6f0ba680706c0.
Commit: 170d37d861b036c5d645472dcc53a5d48e39e848
https://github.com/llvm/llvm-project/commit/170d37d861b036c5d645472dcc53a5d48e39e848
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
M clang/include/clang/CodeGen/CodeGenAction.h
A clang/include/clang/CodeGen/ModuleLinker.h
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/FrontendAction/CMakeLists.txt
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
A clang/lib/CodeGen/ModuleLinker.cpp
A clang/test/CIR/CodeGen/link-bitcode-file.c
Log Message:
-----------
[CIR] Add Support for linking bitcode modules on cc1 (#196245)
Co-authored-by: <konstantinos.parasyris at intel.com>
Commit: 1126c3f5b3d8f3fba55b372e64002d9561e14644
https://github.com/llvm/llvm-project/commit/1126c3f5b3d8f3fba55b372e64002d9561e14644
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
Log Message:
-----------
[clang-doc][nfc] Prefer range based APIs (#198070)
Commit: 33f8e83a173aec33d3073b9e13a203c0b1147595
https://github.com/llvm/llvm-project/commit/33f8e83a173aec33d3073b9e13a203c0b1147595
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/fmuladd_width_prop.ll
Log Message:
-----------
[SLP] Add test for fmuladd bit width propogation (#199128)
Not profitable with VF=4, but we only we try smaller VFs if the load can
fit in a single vector register found by BoUpSLP::getVectorElementSize().
Requires proprogation of bit widths through the fmuladd intrinsic to vectorize
at VF=2. This is from the hot block in `538.imagick_r` which fails to vectorize
when vectorization is removed from pre-LTO, see
https://github.com/llvm/llvm-project/pull/195886#issuecomment-4486422243.
Commit: cde86c021761e76a20c3387a031363c6797c63bf
https://github.com/llvm/llvm-project/commit/cde86c021761e76a20c3387a031363c6797c63bf
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/modular-format.ll
M llvm/test/Verifier/modular-format.ll
Log Message:
-----------
[LLVM] Handle zero first-arg-index in modular-format (#199118)
Relax modular-format attribute validation in the Verifier to allow a
first-arg-index of 0 (meaning no variadic arguments, e.g. for v-family
functions like vsnprintf).
Guard InstCombine's optimizeModularFormat against zero index.
Generated by Gemini, reviewed by dthorn
Commit: 29b141740d263f11c8e1d8490522ed7674096faa
https://github.com/llvm/llvm-project/commit/29b141740d263f11c8e1d8490522ed7674096faa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
A clang/test/Driver/print-enabled-extensions/riscv-sifive-p870-d.c
R clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/test/Transforms/LoopUnroll/RISCV/vector.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-store.ll
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/atomic.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/floating-point.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/integer.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/mul-div.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/arithmetic.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/bitwise.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/comparison.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/conversion.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/fma.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/fp.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/mask.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/minmax.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/mul-div.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/permutation.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/reduction.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vle-vse-vlm.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlse-vsse.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlseg-vsseg.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlxe-vsxe.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvbb.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvbc.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvbc.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvkg.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvkned.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvknhb.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvksed.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvksh.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zba.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zbb.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zbs.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfa.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfh.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfhmin.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zicond.test
Log Message:
-----------
[RISCV] Rename sifive-p870 -> sifive-p870-d (#199077)
This matches the name on SiFive's website.
Commit: 031a54fd30a7799df18d016c8b23a6b5ce6e6db9
https://github.com/llvm/llvm-project/commit/031a54fd30a7799df18d016c8b23a6b5ce6e6db9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/main.cpp
Log Message:
-----------
[flang-rt] Remove fallback if RPC headers not found (#199211)
Summary:
These are stored in the libc/shared and have a unified CMake helper to
find them. Likely these will be a more core dependency as LLVM uses them
for constexpr math, libcxx uses it, and compiler-rt will probably use
bits of it.
The original intention was to allow building flang-rt with a partial
checkout, but i don't think this is a reasonable use-case and I do not
think this exists in practice.
Commit: df7948e445b5e9446053491a75980cc187316a09
https://github.com/llvm/llvm-project/commit/df7948e445b5e9446053491a75980cc187316a09
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
Log Message:
-----------
[LLDB] Refactor SDK-related functions in Platform (#199141)
There are a lot of similar and repetetive variants of SDK lookups in the
Apple platform plugins. This commit unifies the implementations, error
handling and progress reporting.
Assisted-by: claude
Commit: 287bc01277f5d77668563ab69fce64e286dfd79f
https://github.com/llvm/llvm-project/commit/287bc01277f5d77668563ab69fce64e286dfd79f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/VectorCombine/AArch64/partial-reduce-crash.ll
M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
Log Message:
-----------
[VectorCombine] foldShuffleChainsToReduce - fold at equal costs (#199242)
Similar to other VectorCombine folds, in case of OldCost == NewCost, use
the reduction if at least the root BinOp is removed as well as the
ExtractElement.
Noticed while triaging codegen for #199208
Commit: d2b4dacba3d25ede39e997e77249f7c606444dea
https://github.com/llvm/llvm-project/commit/d2b4dacba3d25ede39e997e77249f7c606444dea
Author: Augusto Noronha <anoronha at apple.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
A llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness-llvm-annotation.ll
Log Message:
-----------
[DWARFVerifier] Skip DW_TAG_LLVM_annotation in DWARFVerifier (#198867)
Annotations are not indexed, so we need to skip them on the verifier.
Assisted by: claude
Commit: b9eb0ba06d267a9296659c4955fec5a38e09118e
https://github.com/llvm/llvm-project/commit/b9eb0ba06d267a9296659c4955fec5a38e09118e
Author: Augusto Noronha <anoronha at apple.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/include/llvm/IR/DIBuilder.h
M llvm/lib/IR/DIBuilder.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
[NFC][DebugInfo] Add Annotations parameter to DIBuilder::createStructType (#197331)
DICompositeType already has an "Annotations" ivar. This simply adds a
way to set it from the "createStructType" function.
Commit: c35107863b7834a51bfd1844ea640a1d29f0a20d
https://github.com/llvm/llvm-project/commit/c35107863b7834a51bfd1844ea640a1d29f0a20d
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
A llvm/test/FileCheck/match-time-error-propagation/invalid-excluded-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/invalid-expected-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/matched-excluded-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/matched-expected-pattern.txt
Log Message:
-----------
[FileCheck] Resurrect overflow tests (#198136)
D150880 (landed as 0726cb004718) uses `APInt` to eliminate most integer
overflow issues from FileCheck numeric variables. It also removes the 4
tests in `llvm/test/FileCheck/match-time-error-propagation`.
While the elimination of overflow issues reduces the importance of those
tests, the tests still seem worthwhile. Without them, I see no test that
exercises the "unable to substitute variable or numeric expression:
overflow error" diagnostic in FileCheck input dumps.
This patch resurrects those tests and updates them to exercise the
remaining unsigned underflow case.
Commit: 8d506871687ce758fc788f957dc18ab181b801ae
https://github.com/llvm/llvm-project/commit/8d506871687ce758fc788f957dc18ab181b801ae
Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGenCUDA/address-spaces.cu
A clang/test/CIR/IR/var-registration.cir
Log Message:
-----------
[CIR][CUDA] Introduce cu.var_registration for shadow and attach device-side var metadata, internalize device side variables, and lower poison attribute (#190087)
Signed-off-by: ZakyHermawan <zaky.hermawan9615 at gmail.com>
Commit: 1e14fd023023b6b4f94b455d0ba5aec85e69fa06
https://github.com/llvm/llvm-project/commit/1e14fd023023b6b4f94b455d0ba5aec85e69fa06
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M flang-rt/lib/runtime/transformational.cpp
Log Message:
-----------
[flang-rt] Added missing RT_API_ATTRS for CheckBoundaryType(). (#199244)
Commit: 1a264a9c0e628caf65b28fd4ba66af11fb6c6f1b
https://github.com/llvm/llvm-project/commit/1a264a9c0e628caf65b28fd4ba66af11fb6c6f1b
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/docs/LifetimeSafety.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[docs] update noescape semantics to disallow free (#195973)
This changes the documented semantics of the `noescape` attribute to
disallow freeing the pointer, and allow escapes of the integer value of
the memory address, as discussed in
https://discourse.llvm.org/t/rfc-updating-the-semantics-of-the-noescape-attribute/90326.
It also clarifies that the attribute may only be used to annotate the
outermost pointer level of nested pointer parameters.
Commit: 939d325dba604a55bc075b46f9ffeda48ab46c0b
https://github.com/llvm/llvm-project/commit/939d325dba604a55bc075b46f9ffeda48ab46c0b
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/test/FileCheck/dump-input/annotations.txt
M llvm/utils/FileCheck/FileCheck.cpp
Log Message:
-----------
[FileCheck] Refactor -dump-input test (#198137)
This PR is stacked on PR #198136.
This patch refactors `llvm/test/FileCheck/dump-input/annotations.txt` to
improve maintainability and coverage and to prepare for the upcoming
implementation of search range annotations.
Lit substitutions
=================
The test repeats the same basic set of RUN lines *many* times. This
patch encapsulates those in lit substitutions to improve
maintainability. By doing so, it also helps to ensure more consistent
coverage of all cases and thus slightly expands coverage.
-strict-whitespace
==================
Via those substitutions, this patch adds `-strict-whitespace` throughout
the test, and it drops the initial `-strict-whitespace` case because it
is then redundant. That causes many whitespace changes throughout the
test, so this patch is easier to read with `git diff -w`.
When I originally wrote the test, I thought maintaining it would be too
painful with `-strict-whitespace`. However, I now think it is important
for usability to thoroughly check that annotations are correctly aligned
with the input, especially given the upcoming search range annotations.
-dump-input-label-width
=======================
To address that anticipated maintenance pain, and to make the above
change easier to implement, this patch also implements a new hidden
FileCheck option, `-dump-input-label-width`. It enables tests like this
one not to have to fuss with fluctuations in the label column width that
are caused when varying the verbosity options. I do not anticipate this
option will be used outside FileCheck's own test suite.
Splitting directive blocks
==========================
To improve readability, this patch splits apart directive blocks where
the same annotations appear multiple times with small differences at
different verbosity levels. See new header comments for details.
Commit: ef4e882c25a149041da5221ea765c0f3a2a7adb3
https://github.com/llvm/llvm-project/commit/ef4e882c25a149041da5221ea765c0f3a2a7adb3
Author: Sean Perry <perry at ca.ibm.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/tools/dsymutil/DebugMap.cpp
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
Log Message:
-----------
Open yaml, etc as text files (#199253)
These tests were failing on z/OS because the text input files were being
opened as binary.
```
FAIL: LLVM :: tools/dsymutil/AArch64/typedef-different-types.test
FAIL: LLVM :: tools/dsymutil/X86/mismatch.m
FAIL: LLVM :: tools/dsymutil/embed-resource.test
FAIL: LLVM :: tools/llvm-gsymutil/X86/elf-symtab-file.yaml
```
Open the files as text to solve the problems.
Commit: 6a8467648c8f01584ccf9b7835c641f6b65abdac
https://github.com/llvm/llvm-project/commit/6a8467648c8f01584ccf9b7835c641f6b65abdac
Author: Dickson Chau <61763724+dicksonchau at users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
Log Message:
-----------
[NFC] Remove fractional part of Estimated cost per lane in memory-interleave.ll (#198666)
On the memory-interleave.ll test, some of the CHECK lines are failing on
z/OS, due to difference in rounding behaviour when printing the
Estimated cost per lane. Resolve this by removing the fractional part,
similar to what done in the past with
https://github.com/llvm/llvm-project/commit/e8556ff6b664df6e595f8aed175eff3a27a4a020
and
https://github.com/llvm/llvm-project/commit/aeb88f6778756ea889918308241a2b34bd7f64e2
.
Commit: e47f8de5a2da5df2da84b804b2bdac5b54bfdbc5
https://github.com/llvm/llvm-project/commit/e47f8de5a2da5df2da84b804b2bdac5b54bfdbc5
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-acc.mlir
Log Message:
-----------
[flang] Fixed FIR AA's getSource() for box loads inside acc.compute_region. (#199157)
This patch fixes a regression caused by #198635: when we call getSource()
for a `fir.load` of a box we have to handle the input value that might be
a `BlockArgument` and pass-through it.
Commit: 39d3090d005c5dd697c9b33ae5e43a200a2ccc48
https://github.com/llvm/llvm-project/commit/39d3090d005c5dd697c9b33ae5e43a200a2ccc48
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/test/CodeGenObjC/exceptions.m
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
A llvm/test/CodeGen/AMDGPU/sroa-phi-nodes.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-live-on-exit.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-max-jump-threading-live-blocks.ll
Log Message:
-----------
Reapply [SimplifyCFG] Extend jump-threading to allow live local defs (#197850)
Restore "Extend jump-threading to allow live local defs" #135079. Long
compilation time with reduce.cu in hipcub/warp was partially addressed
in #195744. Compilation time for reduce.cu with this PR (after #195744)
is 6 minutes 40 seconds. Without (#195744) compilation time was several
hours.
Long compilation time in reduce.cu was only exposed by jump-threading.
In my view the primary causes were due to inlining, SROA tripling the IR
code size, and SSA updating 26K phi-nodes resulting in an O(N^2) search
for duplicates. #195744 limits phi search times.
This reverts commit a76750e6de6aba2223097dc505578556ec245d50.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: f8392616fafe26a6132645d0474253afe0549f32
https://github.com/llvm/llvm-project/commit/f8392616fafe26a6132645d0474253afe0549f32
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] Fix mlir-doc build, add missing "-dialect nvgpu" (#199279)
Was broken with
> when more than 1 dialect is present, one must be selected via
'-dialect'
Commit: c61c8808b4aa1cbcde195859ddb5dd1402cb5914
https://github.com/llvm/llvm-project/commit/c61c8808b4aa1cbcde195859ddb5dd1402cb5914
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/Serialize.cpp
Log Message:
-----------
[clang-doc][nfc] Silence tidy warning about anonymous namespace (#198071)
clang-tidy complains that we should prefer static over the anonymous
namespace, despite the API being static in addition to being in the
anonymous namespace. We can silence the diagnostic by simply removing
the namespace declaration.
Commit: 90d4ed570dbc685120fb5824efd8eb9b568ac5ff
https://github.com/llvm/llvm-project/commit/90d4ed570dbc685120fb5824efd8eb9b568ac5ff
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
Log Message:
-----------
[clang-doc][nfc] Use static declarations to enforce internal linkage (#198072)
Commit: d755b04e38363e02fc64578654705d52a321b739
https://github.com/llvm/llvm-project/commit/d755b04e38363e02fc64578654705d52a321b739
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/ScalarEvolution/zext-add-nsw-fold.ll
M llvm/test/Analysis/ScalarEvolution/zext-add.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
Log Message:
-----------
[SCEV] Fold zext(C+A)<nsw> -> (sext(C) + zext(A))<nsw> if possible. (#142599)
Simplify zext(C+A)<nsw> -> (sext(C) + zext(A))<nsw> if
* zext (C + A)<nsw> >=s 0 and
* A >=s V.
For now this is limited to cases where the first operand is a constant,
so the SExt can be folded to a new constant. This can be relaxed in the
future.
The initial version checks for non-negative manually to limit compile-time,
supporting only A = smax(C2, ..) where C2 >= abs(C)
Alive2 proof of the general pattern and the test changes in zext-nuw.ll
(times out in the online instance but verifies locally)
https://alive2.llvm.org/ce/z/_BtyGy
PR: github.com/llvm/llvm-project/pull/142599
Commit: cc926938e05be54018d1bfd72144d07ad7599a8a
https://github.com/llvm/llvm-project/commit/cc926938e05be54018d1bfd72144d07ad7599a8a
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
Log Message:
-----------
[offload] Use device memory for the multithreaded kernel lanuch test (#199132)
This commit modifies the multithreaded kernel launch test to use device
memory instead of managed memory. The test is reported to be failing
intermittently in systems where concurrent managed memory access is
not supported. This is the case for NVIDIA devices that do not support
CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS.
The concept of concurrent and coherent managed memory access should
be exposed to liboffload users somehow, e.g., adding it as device property,
so it is clear what execution patterns are allowed with managed memory.
However, this test is just testing concurrent kernel launches. This commit
fixes it until we decide how to proceed with the guarantees on that type of
allocations.
Commit: 83c752f7b12705f65a4ed1575c071140830cab52
https://github.com/llvm/llvm-project/commit/83c752f7b12705f65a4ed1575c071140830cab52
Author: Igor Gorban <igor.gorban at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Headers/opencl-c.h
M clang/lib/Sema/OpenCLBuiltins.td
M clang/test/SemaOpenCL/intel-subgroups-builtins.cl
Log Message:
-----------
[OpenCL] Fix image2d_t qualifier for intel_sub_group_block_write_ui (#199232)
The intel_sub_group_block_write_ui[2,4,8] overloads for image2d_t were
declared with a read_only qualifier, both in opencl-c.h and in
OpenCLBuiltins.td. A write operation cannot target a read_only image,
and
the base intel_sub_group_block_write together with the analogous _us,
_uc
and _ul aliases all correctly use write_only image2d_t.
Per the cl_intel_subgroups_short [1], cl_intel_subgroups_char [2] and
cl_intel_subgroups_long [3] specifications, the _ui aliases are added
"for
naming consistency [...] There is no change to the description or
behavior
of these functions" relative to the cl_intel_subgroups base, which uses
write_only image2d_t for writes.
The typo was introduced in b833bf6ae14f and preserved across all
later edits to this area.
Switch the qualifier from read_only to write_only in both opencl-c.h and
OpenCLBuiltins.td, and update intel-subgroups-builtins.cl to match the
corrected signature (the existing test was exercising the buggy
overload).
[1]
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroups_short.html
[2]
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroups_char.html
[3]
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroups_long.html
Co-Authored-By: Claude Opus
---------
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply at anthropic.com>
Commit: 65e49a6c075236d7dff70750cf1aae3042a974e8
https://github.com/llvm/llvm-project/commit/65e49a6c075236d7dff70750cf1aae3042a974e8
Author: Igor Gorban <igor.gorban at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Sema/OpenCLBuiltins.td
A clang/test/SemaOpenCL/intel-subgroup-buffer-prefetch-builtins.cl
A clang/test/SemaOpenCL/intel-subgroup-local-block-io-builtins.cl
A clang/test/SemaOpenCL/intel-subgroup-local-block-io-ui-without-char-short-long.cl
Log Message:
-----------
[OpenCL] Add Intel subgroup buffer prefetch and local block I/O builtins (#199258)
Add cl_intel_subgroup_buffer_prefetch and
cl_intel_subgroup_local_block_io
declarations to OpenCLBuiltins.td and cover them with header-free SPIR
tests.
This keeps the generated OpenCL builtins in sync with opencl-c.h for the
Intel subgroup buffer prefetch and local block I/O extensions.
Per the cl_intel_subgroup_local_block_io specification, the _ui local
aliases (intel_sub_group_block_read_ui*, intel_sub_group_block_write_ui*
with __local pointer) are declared under
FuncExtIntelSubgroupLocalBlockIO
alone, without a char/short/long prerequisite. A dedicated test
(intel-subgroup-local-block-io-ui-without-char-short-long.cl) verifies
that
they resolve when only cl_intel_subgroup_local_block_io is active.
Specification:
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroup_buffer_prefetch.html
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroup_local_block_io.html
Co-authored-by: Copilot
Commit: 56bf9850bbb6442b7ff5bc17a7f5dc0bab7d83b5
https://github.com/llvm/llvm-project/commit/56bf9850bbb6442b7ff5bc17a7f5dc0bab7d83b5
Author: adams381 <adams at nvidia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
A clang/test/CIR/CodeGen/record-with-padded-union.cpp
Log Message:
-----------
[CIR] Include union tail pad in getTypeSizeInBits (#198361)
Padded CIR unions (e.g. libstdc++ `std::string` SSO layout) carry a
trailing byte-array member so the record matches the AST layout size.
`RecordType::getTypeSizeInBits` was returning only the largest-aligned
member and ignored that tail, so the CIR view of the union was 8 bytes
smaller than what `LowerToLLVM` emits. Parent structs then picked up
a spurious trailing pad via `insertPadding`, arrays of those structs
used the wrong stride, and heap allocations could be overrun (Eigen's
`array_of_string` hits this directly).
The fix adds the padding member's size when the union is marked
`padded`, so struct size, GEP strides, and `new T[n]` allocation sizes
match OGCG. Regression test models the SSO-shaped record and checks
the 96-byte `new` for three elements.
Commit: ff83218ec11bafbcc1e0e788917765e681cec809
https://github.com/llvm/llvm-project/commit/ff83218ec11bafbcc1e0e788917765e681cec809
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/cmake/caches/HLSL.cmake
Log Message:
-----------
[HLSL] Fix improper parsing of IN_LIST within if condition (#199276)
Cmake does not properly parse IN_LIST within the if condition, and
treats it as a token.
This is not desired behavior.
The CMP0057 policy supports the new [if() IN_LIST
](https://cmake.org/cmake/help/latest/command/if.html#command:if)
operator.
Enable this policy and resolve the build error.
Fixes https://github.com/llvm/llvm-project/issues/199282
Assisted by: Github Copilot
Commit: 38489af2c601b28689db8533f841eb995afcab99
https://github.com/llvm/llvm-project/commit/38489af2c601b28689db8533f841eb995afcab99
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
workflows/libcxx-run-benchmarks: Only run job for people with commit access (#199087)
This job checks out untrusted code from a PR in a trusted context
(issue_comment trigger), so we need to limit it to people with commit
access to avoid possible privilege escalation.
Commit: c32de3e3759c3368978535e4ff4fb83323219fb0
https://github.com/llvm/llvm-project/commit/c32de3e3759c3368978535e4ff4fb83323219fb0
Author: lntue <lntue at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M .github/workflows/libc-shared-tests.yml
Log Message:
-----------
[libc] Switch libc-shared-tests precommit CI to use docker image. (#197962)
Commit: 0de4a8cd41efaac4d63ce056e8d4177397fdc1a7
https://github.com/llvm/llvm-project/commit/0de4a8cd41efaac4d63ce056e8d4177397fdc1a7
Author: Wenju He <wenju.he at intel.com>
Date: 2026-05-23 (Sat, 23 May 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/lit.cfg.py
M libclc/test/lit.site.cfg.py.in
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
Log Message:
-----------
[libclc] Fix .cl tests in standalone build (#199164)
libclc standalone build puts libclc.bc in ${CMAKE_CURRENT_BINARY_DIR}/
${TARGET_TRIPLE} dir. check-libclc fails because .cl test is looking for
libclc in clang resource dir.
Fix them by adding `--libclc-lib=:{path}` flag for standalone build,
where `path` is path to libclc.bc.
Note: this flag is not used in in-tree build.
Commit: 2b08313726f4c8118d8b66cef1e030a64332eeed
https://github.com/llvm/llvm-project/commit/2b08313726f4c8118d8b66cef1e030a64332eeed
Author: Hussam Alhassan <hsm.link at proton.me>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
R llvm/test/CodeGen/AArch64/aarch64-condopt-cross-block-domtree.mir
Log Message:
-----------
Revert "[AArch64] ConditionOptimizer: replace per-block DenseMap with ScopedHashTable traversal (#196746)" (#199288)
This reverts commit 371f57cd67a523d241678509f57d048d58417b87 due to
failing tests
Commit: d5915e2911eeca5b9c97a670489bcd6bb3ccee2f
https://github.com/llvm/llvm-project/commit/d5915e2911eeca5b9c97a670489bcd6bb3ccee2f
Author: Alex Langford <alangford at apple.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/test/API/lang/c/function_types/TestFunctionTypes.py
Log Message:
-----------
[lldb] Adjust TestFunctionTypes.py for arm64e (#199295)
Normally the open parens happen right before a.out, but on arm64e the
load address is placed there instead. So instead of:
$0 = 0x0000d00d (a.out...)
we instead have:
$0 = 0xcafed00d (actual=0x0000d00d a.out ...)
Commit: e11ffb21df47d5d221e00f13086ee5a70056e128
https://github.com/llvm/llvm-project/commit/e11ffb21df47d5d221e00f13086ee5a70056e128
Author: owenca <owenpiano at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/test/CMakeLists.txt
Log Message:
-----------
[clang-format] Add a dependent build target to check-clang-format (#199169)
This makes check-clang-format automatically builds
clang-format-check-format, which checks that the new clang-format
doesn't break the existing format of the clang-format source.
Commit: e3fab4ff9468dac2d968fde68f34959fc5e18835
https://github.com/llvm/llvm-project/commit/e3fab4ff9468dac2d968fde68f34959fc5e18835
Author: lntue <lntue at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M .github/workflows/libc-shared-tests.yml
Log Message:
-----------
[libc] Build and test libc-shared-tests with gcc versions in precommit CIs. (#199300)
Commit: cd1baf3cdc013d5ec68684a68d6a4376ed4027e0
https://github.com/llvm/llvm-project/commit/cd1baf3cdc013d5ec68684a68d6a4376ed4027e0
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M libc/test/src/__support/wctype/CMakeLists.txt
Log Message:
-----------
[libc][NFC][wctype] Fix test ci for old drivers (#199307)
Commit: 387a7385ce5e5d5e141359b2106e0759c7b4a000
https://github.com/llvm/llvm-project/commit/387a7385ce5e5d5e141359b2106e0759c7b4a000
Author: lntue <lntue at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M libc/test/src/math/AddTest.h
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/DivTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/MulTest.h
M libc/test/src/math/NearbyIntTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/RsqrtTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/SubTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acos_test.cpp
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/acospif_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/asinpi_test.cpp
M libc/test/src/math/asinpif_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/cbrtf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_float_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincos_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_float_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMaximumMagNumTest.h
M libc/test/src/math/smoke/FMaximumMagTest.h
M libc/test/src/math/smoke/FMaximumNumTest.h
M libc/test/src/math/smoke/FMaximumTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FMinimumMagNumTest.h
M libc/test/src/math/smoke/FMinimumMagTest.h
M libc/test/src/math/smoke/FMinimumNumTest.h
M libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/mathvec/expf_test.cpp
M libc/test/utils/FPUtil/x86_long_double_test.cpp
Log Message:
-----------
[libc][NFC] Reduce the test size for math functions by default. (#199308)
Commit: 65b58800c50af89c79d7ef7100f555f188f0c979
https://github.com/llvm/llvm-project/commit/65b58800c50af89c79d7ef7100f555f188f0c979
Author: Thurston Dang <thurston at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan][test] Fix use-after-free in dumpRecipeInPlan/dumpRecipeUnnamedVPValuesInPlan tests (#199275)
https://github.com/llvm/llvm-project/pull/195891 exposed a
use-after-free in the tests: `BinaryOperator *AI` [*] is deleted prior
to VPlan's destructor, which expects all the operands to still be alive.
This patch fixes the test (suggested by a Florian in
https://github.com/llvm/llvm-project/pull/199252#pullrequestreview-4348337988),
by preemptively detaching AI from the VPlan.
[*] No AI was harmed or used during the creation of this patch.
Commit: 456906f06d4f3f4107ece2b9c522cc6f855c7dd1
https://github.com/llvm/llvm-project/commit/456906f06d4f3f4107ece2b9c522cc6f855c7dd1
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/load_store_matrix.mlir
Log Message:
-----------
[MLIR][XeGPU]Extend load_matrix/store_matrix to support 1D SLM access (#198652)
This PR extended xegpu.load_matrix and xegpu.store_matrix to support 1D
mem_desc for contiguous SLM access
- Added unit tests for 1D load/store (valid ops and invalid cases)
- Added integration test verifying both 1D (<4096xbf16>) and 2D
(<64x128xbf16>), correctly lower through the full WG→SG→WI→XeVM pipeline
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
Commit: d6be71fd1f10ad5220b69a3a09a942faabbd1a05
https://github.com/llvm/llvm-project/commit/d6be71fd1f10ad5220b69a3a09a942faabbd1a05
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGenCXX/noescape.cpp
M clang/test/CodeGenObjC/noescape.m
Log Message:
-----------
[Clang][CodeGen] map `noescape` to capture(address) (was capture(none)) (#199281)
`capture(none)` has very restrictive semantics and an easy footgun to
accidentally fire some UB into your code with. Most significantly it
does not allow any visible side-effects of whether a pointer was null or
not to escape the function. This means that the function cannot perform
different side effects depending on whether a pointer marked `noescape`
is null. Relax this to `captures(address)`, which allows information
about the numerical address to escape the function, but no provenance
(i.e. nothing that could be dereferenced) may escape.
As discussed in
https://discourse.llvm.org/t/rfc-updating-the-semantics-of-the-noescape-attribute/90326.
Commit: a8e55950fdc19c23ad78c8aeeea5a907690c4b6d
https://github.com/llvm/llvm-project/commit/a8e55950fdc19c23ad78c8aeeea5a907690c4b6d
Author: Alex Bradbury <asb at igalia.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-load.ll
Log Message:
-----------
[RISCV][TTI] Make getShuffleCost check we have a vector before querying getVectorElementCount (#199286)
Fixes the assert reported here:
<https://github.com/llvm/llvm-project/pull/198446#issuecomment-4522589671>
I believe this happens when the element type isn't a legal RVV element
type and so has been scalarised by type legalisation.
Adding this guard also matches the AArch64 implementation.
The test change is LLM generated.
Commit: fc082e1a6ddd77dddc79c49285356fd9dfed7731
https://github.com/llvm/llvm-project/commit/fc082e1a6ddd77dddc79c49285356fd9dfed7731
Author: Gábor Spaits <gaborspaits1 at gmail.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/fixed-vectors-calling-conv.ll
Log Message:
-----------
[RISCV][GlobalISel]Implement support for vector calling convention with fixed length vectors (#199227)
Implementing IRTranslator support for fixed length vectors when the V
extension is used. This implementation works similar to SelecionDAGs. We
use insert and extract subvector OPs to get the fixed length vectors out
of the scalable length vectors.
Commit: 7bcc8e6f74bb8b38af3d539dc2cc36f8a16cc526
https://github.com/llvm/llvm-project/commit/7bcc8e6f74bb8b38af3d539dc2cc36f8a16cc526
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/reduce-smax.ll
M llvm/test/Analysis/CostModel/X86/reduce-smin.ll
M llvm/test/Analysis/CostModel/X86/reduce-umax.ll
M llvm/test/Analysis/CostModel/X86/reduce-umin.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smax.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smin.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umax.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umin.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-smax.ll
M llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
M llvm/test/Transforms/VectorCombine/X86/fold-equivalent-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/X86/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/X86/icmp-vector-reduce.ll
Log Message:
-----------
[CostModel][X86] Update VECREDUCE MINMAX costs based off llvm-mca analysis (#199208)
Add full CostKinds, to improve a lot of reduction matching in
vectorcombine/slp passes
These are based off SMIN/UMIN numbers, and a few SMAX/UMAX numbers don't
always match, but are typically within +/-1
Commit: 85c3fd048d7df66d093bfaf45e7c3c3ec44122bf
https://github.com/llvm/llvm-project/commit/85c3fd048d7df66d093bfaf45e7c3c3ec44122bf
Author: lntue <lntue at google.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M libc/test/shared/shared_math_test.cpp
Log Message:
-----------
[libc] Fix shared math tests for gcc-13. (#199318)
Commit: 23c92de8e4252ddadd2dcc4a80c5d8b6a620e9c6
https://github.com/llvm/llvm-project/commit/23c92de8e4252ddadd2dcc4a80c5d8b6a620e9c6
Author: A. Jiang <de34 at live.cn>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
A libcxx/test/std/utilities/memory/specialized.algorithms/destroy.h
Log Message:
-----------
[libc++][test] Add backported `destroy({_at,_n})` for tests (#199185)
It would be convenient to use `destroy_at`, `destroy`, and `destroy_n`
in tests for pre-C++17 uninitialized memory algorithms. So this PR add
backported versions of them for tests.
Commit: 38e0a91f244fb0789c3d90d444bd07972f1051cb
https://github.com/llvm/llvm-project/commit/38e0a91f244fb0789c3d90d444bd07972f1051cb
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/test/CIR/CodeGen/abi-lower-after-unreachable.cpp
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
Log Message:
-----------
[CIR] Attach noreturn attribute to __cxa_bad_cast (#198727)
## Summary
- Mark `__cxa_bad_cast` as `noreturn` in CIR, mirroring the existing
`__cxa_bad_typeid` handling. The attribute is now set on every `CallOp`
that targets it,
covering both the CodeGen direct path (`emitCallToBadCast`) and the
target-lowering path (`buildBadCastCall`).
- Drop the now-fulfilled `MissingFeatures::opFuncNoReturn` entry and
the corresponding TODO/assert at the lone caller in
`LowerItaniumCXXABI.cpp`.
- Update FileCheck expectations in `dynamic-cast.cpp`,
`dynamic-cast-exact.cpp`, and `abi-lower-after-unreachable.cpp` to
require the `{noreturn}` attribute on the lowered
`cir.call @__cxa_bad_cast()`.
Commit: ec771f7fcb307ed9cf8f4ec355d3d2b898b20d39
https://github.com/llvm/llvm-project/commit/ec771f7fcb307ed9cf8f4ec355d3d2b898b20d39
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
Log Message:
-----------
[LV] Add narrowing interleave group test with preservable metadata (NFC) (#199335)
Drop stale fixme and add test showing missed metadata preservation.
Commit: 9863053dd5b75e2e025eb7e4674752b7ba198d2c
https://github.com/llvm/llvm-project/commit/9863053dd5b75e2e025eb7e4674752b7ba198d2c
Author: aryanmagoon <70676027+aryanmagoon at users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
A llvm/test/CodeGen/NVPTX/nvvm-abs.ll
Log Message:
-----------
[NVPTX] Auto-upgrade llvm.nvvm.abs with int-min poison (#198646)
Update the auto-upgrade for llvm.nvvm.abs.i and llvm.nvvm.abs.ll to use
the generic llvm.abs intrinsic with is_int_min_poison=true. The previous
expansion used neg/icmp/select which gives defined INT_MIN -> INT_MIN
behavior, but loses the poison/undefined signed-min semantics needed for
NVPTX to select PTX abs.s32 and abs.s64 instrucitons when the source
operation permits signed-min overflow to be undefined. This is a
followup to #183851 . Using llvm.abs(..., true) preserves intended IR
semantics and lowers through the new ABS_MIN_POISON. We also update the
tests and add NVPTX CodeGen coverage for the legacy nvvm abs intrinsics.
Commit: ad72dfb7c0d59838b87cc1910278a5ee1fdb0e19
https://github.com/llvm/llvm-project/commit/ad72dfb7c0d59838b87cc1910278a5ee1fdb0e19
Author: A. Jiang <de34 at live.cn>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M libcxx/test/support/copy_move_types.h
Log Message:
-----------
[libc++][test] Make `copy_move_types.h` usable in old modes (#199183)
This PR makes types in `copy_move_types.h` usable in C++03/11 modes.
Because it is discovered that some types in `copy_move_types.h` are
useful for testing uninitialized memory algorithms in pre-C++20 modes.
Commit: 5e8be92dc40e54bfc7b6a211fd2b094073c07ea4
https://github.com/llvm/llvm-project/commit/5e8be92dc40e54bfc7b6a211fd2b094073c07ea4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineVectorInsert - use generic zext/shift/or pattern for constant concatenation (#199344)
Generalised the code added in #198273 to make it easier to support other
combos in future patches.
Hopefully we can get load combining to work here soon.
Commit: 3106698fcd17513bc05ecc93a173f43bb71666f3
https://github.com/llvm/llvm-project/commit/3106698fcd17513bc05ecc93a173f43bb71666f3
Author: Wolfgang Pieb <55721109+wolfy1961 at users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
Log Message:
-----------
[clang-doc][nfc] Avoid combining constexpr with std::initializer_list as this seems to give MSVC trouble. (#199311)
Some Windows bots using MSVC 2019 and 2022 get assertion errors in the
clang-doc lit tests (see
[here](https://github.com/llvm/llvm-project/pull/198066). This seems to
be due to MSVC having trouble with a correctly initializing structures
using std::initializer_list when embedded in a struct declared with
constexpr.
This workaround changes constexpr to const in a struct definition to
avoid this issue.
Commit: 017f3525e8c4241701576ecc5083291eddaea63a
https://github.com/llvm/llvm-project/commit/017f3525e8c4241701576ecc5083291eddaea63a
Author: michael1017 <40065278+michael1017 at users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
Log Message:
-----------
[X86] Lower vector 8-bit rotr(x, 1) to pavgb pattern (#198980)
Fixes #198060
Commit: 12e366ae301a426e403d9cc29e41e1e2141987ff
https://github.com/llvm/llvm-project/commit/12e366ae301a426e403d9cc29e41e1e2141987ff
Author: lbzzz1016 <92416701+lbzzz1016 at users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[DAG] UDIV/SDIV exact nodes support DemandedElts + add test (#198715)
Resolves #183047
This patch updates isKnownNeverZero to handle DemandedElts for UDIV and SDIV exact nodes.
Commit: 4f828412ee1821a937913019df40bb1e6f22b3dd
https://github.com/llvm/llvm-project/commit/4f828412ee1821a937913019df40bb1e6f22b3dd
Author: A. Jiang <de34 at live.cn>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
R libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.at.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/at.pass.cpp
Log Message:
-----------
[libc++][test] Merge test files for `mdspan::at` (#199330)
`libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.at.pass.cpp`
caused build bot failures for
- sanitizer-aarch64-linux-bootstrap-asan
- sanitizer-aarch64-linux-bootstrap-hwasan
- sanitizer-aarch64-linux-bootstrap-msan
It's not yet clear why current mechanisms don't work for these builds.
`TEST_HAS_NO_EXCEPTIONS` should have been working.
Also remove one unnecessary `static` and use `std::string_view(e.what())
== "mdspan"`.
Commit: 37a220561b154a19f6f77bc5d4758a56cd0f9378
https://github.com/llvm/llvm-project/commit/37a220561b154a19f6f77bc5d4758a56cd0f9378
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll
Log Message:
-----------
[LV] Determine NumPredStores before computing widening costs. (#199341)
Determine NumPredStores before computing widening costs, so we
consistently apply large predicated store cost to all stores, matching
the VPlan cost model. In practice that should not impact vectorization
decisions, as the huge cost for any predicated store other than the
first already effectively disables vectorization.
Commit: 9d533e977eea1e1c0ee94515bc5dd0bd70d15d95
https://github.com/llvm/llvm-project/commit/9d533e977eea1e1c0ee94515bc5dd0bd70d15d95
Author: Ingo Müller <ingomueller at google.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[clang] Fix crash in getCursorRawComments. (#199328)
Fix a regression introduced in PR #198452 where querying raw comments on
invalid cursors caused a segmentation fault due to unconditional
ASTContext lookup. Adding an early exit for unsupported cursor kinds at
the top of getCursorRawComment safely avoids resolving the context on
invalid cursors with null translation units.
Commit: 6d3bc00024049776364e94941b0ba705f1549de4
https://github.com/llvm/llvm-project/commit/6d3bc00024049776364e94941b0ba705f1549de4
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/fdim.ll
Log Message:
-----------
[SimplifyLibCalls] Fix optimizeFdim for Inf-Inf cases (#199306)
fdim(x,y) is defined as
NaN if x or y is NaN, otherwise
(x > y) ? x - y : +0
optimizeFdim computed fdim(x,y) as max(x-y, +0). This is not correct
when x == y == +/-Inf; the result should be 0, but this optimization
returns NaN.
I was surprised by this bug because there's even a testcase checking the
incorrect behavior. But returning 0 matches the description in C99 and
POSIX, where, just to be extra clear, the spelling of the piecewise
function is
NaN if either input is NaN
x - y if x > y
+0 if x <= y
Returning +0 also matches the behavior of libc on my machine
gcc.godbolt.org.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 47e6290a34507ba1b3f4e0a49bad28982ff3e3ef
https://github.com/llvm/llvm-project/commit/47e6290a34507ba1b3f4e0a49bad28982ff3e3ef
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/fmod.ll
Log Message:
-----------
[SimplifyLibCalls] Don't set nnan on synthesized frem in optimizeFMod (#199284)
LibCallSimplifier can fold a libcall to fmod to an frem instruction if
the fmod call doesn't set errno.
fmod(x, y) sets errno if x == +/-Inf or y == 0. The old code assumed
that this was also a sufficient condition to prove that the result is
not NaN, and so unconditionally set the nnan fmf on the new frem
instruction. That's not sound; e.g. fmod(x, NaN) == frem(x, NaN) ==
NaN.
We don't actually have to worry about propagating the `nnan` flag;
B.CreateFRemFMF does it for us automagically.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 0344e9f8ac91ef73eb68be465dcb97ee8cdc64c7
https://github.com/llvm/llvm-project/commit/0344e9f8ac91ef73eb68be465dcb97ee8cdc64c7
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Thread types through VPHeaderPHIRecipe and VPDerivedIVRecipe (NFC) (#195894)
Update VPHeaderPHIRecipe and VPDerivedIVRecipe to set the scalar types
for their defined values.
This requires updating addReductionResultComputation to construct the
new chain for AnyOf reductions up-front.
Depends on https://github.com/llvm/llvm-project/pull/195891
PR: https://github.com/llvm/llvm-project/pull/195894
Commit: 5c6af8396ee8d8e0fb05b3548fc57c0fc0fbe8b5
https://github.com/llvm/llvm-project/commit/5c6af8396ee8d8e0fb05b3548fc57c0fc0fbe8b5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/test/Transforms/LoopVectorize/optsize.ll
Log Message:
-----------
[LV] Don't add stride SCEV predicates when runtime checks are disabled. (#199370)
Don't pass symbolic strides to getPtrStride if SCEV runtime checks are
not allowed (e.g. because optimizing for size). This prevents
getPtrStride from adding additional SCEV checks for symbolic strides.
Commit: 5ccea57a1a3a665e07a358c812d80a63811aa126
https://github.com/llvm/llvm-project/commit/5ccea57a1a3a665e07a358c812d80a63811aa126
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#199375)
170d37d861b0
1b0e603087b6
9997b11c6469
Commit: 8b56d41fda9a2151a5886d4790da9edf5ac05362
https://github.com/llvm/llvm-project/commit/8b56d41fda9a2151a5886d4790da9edf5ac05362
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Create casts before ComputeReductionResult (NFC). (#199372)
This ensures ComputeReductionResult is created with operands that have
their correct types set at construction.
Commit: f95ccbae8bd70e56e31fc04d6307d317212b7fbc
https://github.com/llvm/llvm-project/commit/f95ccbae8bd70e56e31fc04d6307d317212b7fbc
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
A llvm/test/CodeGen/RISCV/fixed-x27-crash.ll
Log Message:
-----------
[RISCV] Reserve all sub-registers of user reserved GPRs (#199302)
When a GPR is reserved by the user (e.g., via `-mattr=+reserve-x27`)
or marked as constant, only the top-level register was being marked
reserved in `RISCVRegisterInfo::getReservedRegs`. Its sub-registers
(`X27_W` and `X27_H`) remained unreserved.
This broke `LiveIntervals` when register pressure tracking was enabled
by #115445. Because the sub-registers were not reserved, the register
unit was considered non-reserved, causing `LiveIntervals` to track its
liveness and crash in the Machine Verifier due to the reserved
register missing from basic block live-in lists.
Instead, we should ensure that reserving a register also reserves all
of its sub-registers, so that the register unit is correctly
identified as reserved and ignored by `LiveIntervals`.
Fixes #176227
Commit: fd45c0bf9f7ac6f2d370f9da959c4b93281285a0
https://github.com/llvm/llvm-project/commit/fd45c0bf9f7ac6f2d370f9da959c4b93281285a0
Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/utils/lit/tests/unit/Util.py
Log Message:
-----------
Revert "[AIX] Remove unsupported AIX native echo option -n (llvm#199079)" (#199277)
This reverts commit 593eb2066293c8636786c98cb696c533da9b97ca.
The patch is being reverted as the code changes and the commit message
and description do not match and point to a previous implementation
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: 02f736922cc852840941d6734df37ca47c2c41e4
https://github.com/llvm/llvm-project/commit/02f736922cc852840941d6734df37ca47c2c41e4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M libcxx/include/__verbose_trap
Log Message:
-----------
[libc++] Remove AppleClang woraround for __builtin_verbose_trap (#199171)
We've dropped support for AppleClang versions with a different
`__builtin_verbose_trap`, so we can remove the workaround.
Commit: 78cbf39d3bc990e4562c98dbddd26cd3de4eca96
https://github.com/llvm/llvm-project/commit/78cbf39d3bc990e4562c98dbddd26cd3de4eca96
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M compiler-rt/lib/builtins/atomic.c
M compiler-rt/test/builtins/Unit/atomic_test.c
Log Message:
-----------
[compiler-rt] Use `size_t` rather than `int` for first argument to `__atomic_load_c` et al. (#197519)
I noticed this discrepancy in emscripten when trying to test 128 bit
atomics under wasm64:
https://github.com/emscripten-core/emscripten/pull/26937
The LLVM CodeGen appears to use `size_t` in this position when it
generates calls to these functions.
This doesn't effect other platforms I imagine because they don't require
signature checking at the linker level.
This doesn't effect wasm32 where size_t and int are the same size.
Commit: 0ee8a371b673bd864804fd5c0125fbd46dcee31a
https://github.com/llvm/llvm-project/commit/0ee8a371b673bd864804fd5c0125fbd46dcee31a
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/ldexp-avx512.ll
Log Message:
-----------
[X86] LowerFLDEXP: convert widened int exponent to FP before SCALEF (#199263)
For vector ldexp cases that LowerFLDEXP implements by widening to a
512-bit SCALEF operation, the code widened both X and Exp but passed
the widened integer exponent directly to SCALEF, which interprets
its inputs as IEEE-754 floats.
Convert the widened integer exponent to FP and pass that to SCALEF.
Reproducer (clang -O2 -mavx512f repro.c -o repro && ./repro):
```
#include <stdio.h>
typedef float v4f __attribute__((vector_size(16)));
typedef int v4i __attribute__((vector_size(16)));
__attribute__((noinline))
v4f ldexp_v4(v4f x, v4i e) {
return __builtin_elementwise_ldexp(x, e);
}
int main(void) {
v4f x = {1, 2, 4, 8};
v4i e = {1, 2, 3, 4};
v4f r = ldexp_v4(x, e);
printf("got %g %g %g %g\n", r[0], r[1], r[2], r[3]);
printf("expected 2 8 32 128\n");
}
```
Before this patch, ldexp_v4 lowered to the following (note no
vcvtdq2ps):
```
vmovaps %xmm1, %xmm1
vmovaps %xmm0, %xmm0
vscalefps %zmm1, %zmm0, %zmm0 ; xmm1 still holds integer bits
```
so the program printed "got 1 2 4 8".
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: dd1649b020081263b3d2a08e3b254d7b4280222f
https://github.com/llvm/llvm-project/commit/dd1649b020081263b3d2a08e3b254d7b4280222f
Author: lntue <lntue at google.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/src/__support/macros/optimization.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/expm1.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/DivTest.h
M libc/test/src/math/smoke/MulTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/SubTest.h
Log Message:
-----------
[libc][NFC] Make LIBC_MATH safer and some minor improvements for floating point exception tests. (#199392)
- Wrap LIBC_MATH usages inside parentheses
- Skip clearing exceptions when not needed.
- Skip FE_INEXACT when testing FE_UNDERFLOW / FE_OVERFLOW for basic ops.
Commit: 118bcb3c00c18701a74bb12ecefc9353d12f6352
https://github.com/llvm/llvm-project/commit/118bcb3c00c18701a74bb12ecefc9353d12f6352
Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
Log Message:
-----------
[NFC] Reland "[llvm-ir2vec] Place IR2Vec Python bindings in the tools/llvm-ir2vec/Bindings build directory (#194301)" (#198752)
Commit: c0539034f37048dd534eff70486a86998f6cfb18
https://github.com/llvm/llvm-project/commit/c0539034f37048dd534eff70486a86998f6cfb18
Author: Berkay Sahin <berkaysahindev at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-non-const-global-variables-macros.cpp
Log Message:
-----------
[clang-tidy] Adds `IgnoreMacros` option to cppcoreguidelines-avoid-non-const-global-variables (#198183)
Adds `IgnoreMacros` option to
[cppcoreguidelines-avoid-non-const-global-variables](https://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.html)
Commit: c697c1eba8bfea0d62e58ffbac5e2f5b6d7919f6
https://github.com/llvm/llvm-project/commit/c697c1eba8bfea0d62e58ffbac5e2f5b6d7919f6
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove special cost logic for loads predicated by header mask. (#196630)
Remove the special cost logic for loads predicated by the header mask,
as it does not accurately reflect the cost of the generated VPlan.
Unmasking the load can only be done in general if we don't unroll or if
the address is actually uniform-across-vf-and-uf. The former we cannot
really determine before selecting the VF as UF is picked after VF. The
latter is not really useful in practice.
PR: https://github.com/llvm/llvm-project/pull/196630
Commit: e4716e0c1155fc945c02fa81a1c1aa2f72dc4c6f
https://github.com/llvm/llvm-project/commit/e4716e0c1155fc945c02fa81a1c1aa2f72dc4c6f
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstCombine/ldexp.ll
Log Message:
-----------
[ConstantFolding] Handle large exponents in ldexp (#199309)
Previously if you passed a constant exponent to llvm.ldexp greater than
the width of `int`, we would silently truncate it to `int` before
using it in scalbn. We'd thus generate the incorrect result.
We now clamp it to fit within int.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 46666d99e03552df59046827d86482a021c723de
https://github.com/llvm/llvm-project/commit/46666d99e03552df59046827d86482a021c723de
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/reduction-mul-sext-zext-i1.ll
Log Message:
-----------
[InstCombine] Fix vector_reduce_mul(sext <n x i1>) for odd n. (#199401)
Before this patch, instcombine folded
vector_reduce_mul(sext (<n x i1> val))
to
zext(vector_reduce_and(<n x i1> val)).
But this is incorrect when n is odd: The result of the reduction is -1,
not 1.
After this patch we only do this fold when n is even.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: dc9d515cf21ceddff345bbe4fa2ed8c29cefc867
https://github.com/llvm/llvm-project/commit/dc9d515cf21ceddff345bbe4fa2ed8c29cefc867
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/include/llvm/MC/MCSchedule.h
M llvm/lib/MC/MCSchedule.cpp
A llvm/test/tools/llvm-mca/mc-schedule-options-help.test
M llvm/tools/llvm-mca/llvm-mca.cpp
Log Message:
-----------
[MC] Create new MCScheduleOptions cl::opt category (#198746)
This patch creates a new cl::opt category for MCSchedule options. It
enables tools to filter MCSchedule options based on category.
Specifically, llvm-mca now filters them in, and displays them under
`--help-hidden`, which wasnt the case before.
Commit: 5be8bbaa6b424198b83cc77e260daba77d40f62b
https://github.com/llvm/llvm-project/commit/5be8bbaa6b424198b83cc77e260daba77d40f62b
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
A llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll
Log Message:
-----------
[AMDGPU] Add to RewriteMFMAForm coexec scheduler pipeline (#199050)
Commit: 5cf392cd1335709a196d69dc5c4f3946aa718ba6
https://github.com/llvm/llvm-project/commit/5cf392cd1335709a196d69dc5c4f3946aa718ba6
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
Log Message:
-----------
[AArch64] Remove stale comment about Cyclone being a default(NFC) (#199409)
Default on macOS is already apple-m5.
Commit: 797dc311a352017b81af81945b35772f608dcfc3
https://github.com/llvm/llvm-project/commit/797dc311a352017b81af81945b35772f608dcfc3
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M offload/test/lit.cfg
Log Message:
-----------
[offload] Fix --libomptarget-nvptx-bc-path in tests (#199382)
PR #198622, which landed as 3383f0d6fe01, causes 272 `libomptarget ::
nvptx64-nvidia-cuda` test fails on my system with:
```
clang: error: bitcode library '/home/jdenny/llvm/build/\./lib/x86_64-unknown-linux-gnu/nvptx64-nvidia-cuda' does not exist
```
This patch fixes that.
Commit: 93bca34673694ae917af72e665f7626d5aef2f0e
https://github.com/llvm/llvm-project/commit/93bca34673694ae917af72e665f7626d5aef2f0e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M libcxx/include/__cxx03/istream
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #147007 (#198991)
Commit: 21df17aaaec2dd9dafd641c5dbfd96446c27921b
https://github.com/llvm/llvm-project/commit/21df17aaaec2dd9dafd641c5dbfd96446c27921b
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M .github/workflows/issue-release-workflow.yml
Log Message:
-----------
workflows/issue-release-workflow: Validate user input in /cherry-pick commands (#199249)
This protects against mailicious inputs embedded in comments with
/cherry-pick commands.
Commit: db7f01dc3b3395aebd0565172107ba8045a0da05
https://github.com/llvm/llvm-project/commit/db7f01dc3b3395aebd0565172107ba8045a0da05
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Simplify block deletion in VPlan dtor (NFC) (#199421)
Split deletion loop into 2 simpler loops: first replace all operands of
each recipe with a dummy value. Then delete blocks in second pass.
This avoids RAUW unnecessarily and also removes the need to handle
region values explicitly.
Commit: 852a20e6d1caf3cb54ce31956aa947bcf3f1a77b
https://github.com/llvm/llvm-project/commit/852a20e6d1caf3cb54ce31956aa947bcf3f1a77b
Author: Aayush Shrivastava <79578660+iamaayushrivastava at users.noreply.github.com>
Date: 2026-05-24 (Sun, 24 May 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/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/math.yaml
M libc/shared/math.h
A libc/shared/math/isnanf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/isnanf16.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/isnanf16.cpp
A libc/src/math/isnanf16.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_constexpr_test.cpp
M libc/test/shared/shared_math_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/IsNanTest.h
A libc/test/src/math/smoke/isnanf16_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Implement isnanf16 header-only function (#198115)
Adds `isnanf16` the float16 variant of isnan as part of issue
[#195400](https://github.com/llvm/llvm-project/issues/195400), which
tracks adding missing isnan variants for extended floating-point types.
The implementation follows the same pattern as the existing `isnanf`,
`isnan`, and `isnanl` functions.
---------
Co-authored-by: Victor Campos <github at victorcampos.me>
Commit: c0c56f419590bb4219f9f198c33cb6c7ee6555cf
https://github.com/llvm/llvm-project/commit/c0c56f419590bb4219f9f198c33cb6c7ee6555cf
Author: Kavin Gnanapandithan <kavin.balag at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/ordered-reduction.ll
Log Message:
-----------
[SLP][NFC] Add precommit test for unprofitable ordered fadd reductions (#199428)
Adds a test case reproducing a scenario where the cost model incorrectly
evaluates an unprofitable ordered fadd reduction chain as profitable.
Further details can be found on this issue:
https://github.com/llvm/llvm-project/issues/199267
Commit: fb9c9eb9d2d97cff5f19fbb0f9a7828afb4c4271
https://github.com/llvm/llvm-project/commit/fb9c9eb9d2d97cff5f19fbb0f9a7828afb4c4271
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/test/CodeGen/X86/GlobalISel/add-scalar.ll
M llvm/test/CodeGen/X86/GlobalISel/select-add-x32.mir
M llvm/test/CodeGen/X86/GlobalISel/sub-scalar.ll
Log Message:
-----------
[X86][GISel] Fix carry-in for selectUAddSub. (#199261)
When G_UADDE/G_USUBE was chained off a previous G_UADDE/G_UADDO/
G_USUBE/G_USUBO, selectUAddSub re-materialized EFLAGS.CF from the
previous SETB byte using CMP r, 1. That computes (r - 1) and sets
CF iff r < 1 unsigned, i.e. CF = (r == 0) -- the inverse of the
desired carry. The following ADC/SBB then consumed the wrong CF and
produced an off-by-one upper word; e.g. `add i128 0xFF..FF, 1` under
-global-isel returned hi=0 lo=0 instead of hi=1 lo=0.
Emit NEG r instead: NEG sets CF iff its operand is non-zero, matching
the SETB byte. NEG is a two-address (tied) instruction, so emit it
into a fresh virtual register rather than redefining the carry-in
vreg.
C reproducer (compile on x86_64-linux-gnu and run):
```
// clang -O2 -fglobal-isel repro.c -o repro && ./repro
#include <stdio.h>
__attribute__((noinline))
__int128 add128(__int128 a, __int128 b) { return a + b; }
int main(void) {
__int128 a = (__int128)0xFFFFFFFFFFFFFFFFULL;
__int128 r = add128(a, 1);
unsigned long long lo = r, hi = r >> 64;
printf("hi=0x%llx lo=0x%llx\n", hi, lo);
return (hi == 1 && lo == 0) ? 0 : 1;
}
```
Without -fglobal-isel: prints "hi=0x1 lo=0x0", exits 0.
With -fglobal-isel: prints "hi=0x0 lo=0x0", exits 1.
The buggy code-gen emits the inverted-carry sequence (clang trunk,
pre-fix):
```
add128:
movq %rdx, %rax
addq %rdi, %rax
setb %dl
cmpb $1, %dl # CF = (dl == 0), inverse of intended
adcq %rsi, %rcx
movq %rcx, %rdx
retq
```
This bug was found by a large run of Opus 4.7 looking for bugs in
LLVM.
Commit: 074b6beca94bceec0e75945085d65e9bfdd4e563
https://github.com/llvm/llvm-project/commit/074b6beca94bceec0e75945085d65e9bfdd4e563
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/scalable-type-revec.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/transform-node-gather-struct.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/complex-nonvect-struct-returned.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-saddo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-uaddo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-mul-smulo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-mul-umulo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssubo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-usubo.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-non-power-2-to-power-2-large-vect.ll
A llvm/test/Transforms/SLPVectorizer/X86/struct-return-extract-dominance.ll
A llvm/test/Transforms/SLPVectorizer/X86/struct-return-ordering-stress.ll
A llvm/test/Transforms/SLPVectorizer/non-vect-loads.ll
Log Message:
-----------
[SLP] Vectorize struct-returning intrinsics
Allow SLP to combine across lanes calls that return a literal struct
(llvm.sincos, llvm.*.with.overflow, llvm.frexp, ...) into a single
call returning a struct of vectors, by widening {T, T, ...} to
{<VF x T>, ...} via VectorTypeUtils and emitting extractvalue +
extractelement for external uses.
Original Pull Request: https://github.com/llvm/llvm-project/pull/195521
Original Pull Request2: https://github.com/llvm/llvm-project/pull/196756
Recommit after revert https://github.com/llvm/llvm-project/pull/198265#event-25652008254
Added check for valid vectorizable type, small corner cases fixes
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/199433
Commit: 69a5cf515fd317bcf918e48de9137dd8549870c5
https://github.com/llvm/llvm-project/commit/69a5cf515fd317bcf918e48de9137dd8549870c5
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/test/Sema/warn-lifetime-safety-fixits.cpp
M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
Log Message:
-----------
[LifetimeSafety] Extend suggestions for `lifetimebound` to also warn on canonical declarations (#198784)
With this patch, we suggest adding the `clang::lifetimebound` attribute
on the canonical declaration and on the earliest redeclaration in each
other file, preserving diagnostics for declarations visible from other
translation units while avoiding duplicate suggestions within the same
file.
Fixes #198624
Fixes #198628
Commit: 6302439f5aaea6cb776d8ceb5c2ef9108fccf702
https://github.com/llvm/llvm-project/commit/6302439f5aaea6cb776d8ceb5c2ef9108fccf702
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/DenseSet.h
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/RemoveRedundantDebugValues.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ADT/DenseSetTest.cpp
M llvm/unittests/Support/JSONTest.cpp
Log Message:
-----------
[llvm,clang] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#198982)
In preparation for switching DenseMap from tombstone deletion to
backward-shift deletion, update call sites that reuse an iterator or a
bucket reference after erasing another entry from the same map.
These work under tombstone deletion because unrelated buckets stay put,
but backward-shift deletion relocates entries to close the gap.
Add DenseMap::remove_if, similar to SmallPtrSet::remove_if, as
replacement for erase-while-iterating, and use it where applicable.
Aided by Claude Opus 4.7
Commit: eceae62c84049e07b945d4912654c04c33d2c5ae
https://github.com/llvm/llvm-project/commit/eceae62c84049e07b945d4912654c04c33d2c5ae
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon/getset.c
Log Message:
-----------
[clang][CIR][nfc] Remove redundant code + update run lines (#199049)
This is just a minor clean-up post #186119.
Commit: 133ad80cd864b546ee6d73f10b8ac36a9c982fed
https://github.com/llvm/llvm-project/commit/133ad80cd864b546ee6d73f10b8ac36a9c982fed
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
A llvm/test/Transforms/CodeGenPrepare/X86/null-psi-no-crash.ll
Log Message:
-----------
[CodeGenPrepare] Report an error if ProfileSummaryAnalysis is not available (#199268)
CodeGenPreparePass can't declare ProfileSummaryAnalysis as required,
because PSA is a module-level analysis, but CFP is a function-level pass.
Therefore it accesses PSA using getCachedResult, and PSA might be null.
In practice this doesn't happen, because the CGP pass pipeline
preparation code ensures that PSA is present. But if you invoke
CGP via opt -passes=codegenprepare, then it's not
there, and we segfault.
Fix for https://github.com/llvm/llvm-project/issues/173360.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: bb02cabc1dc448c805d1bf7d4036a1dabf1b744e
https://github.com/llvm/llvm-project/commit/bb02cabc1dc448c805d1bf7d4036a1dabf1b744e
Author: Kavin Gnanapandithan <kavin.balag at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/ordered-reduction.ll
Log Message:
-----------
[SLP] Ensure TreeCost is scaled for ordered fadd reductions (#199388)
Resolves #199267
Addresses an issue where `getScaleToLoopIterations()` can return 1 on
isolated SLP trees because `UserTreeIndex` is invalid. This prevents
`TreeCost` from scaling alongside `ReductionCost`, causing the cost
model to incorrectly treat an unprofitable vector reduction as
profitable.
This patch passes the reduction root instruction down into
`calculateTreeCostAndTrimNonProfitable` and the underlying scale
calculation so `getScaleToLoopIterations` can get the correct block
context.
Commit: 0068f46436ba971e936ef15e401a47adaa0b81fd
https://github.com/llvm/llvm-project/commit/0068f46436ba971e936ef15e401a47adaa0b81fd
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Simplify VPSCEVExpander, clarify naming/comments (NFC). (#199423)
Address post-commit comments from
https://github.com/llvm/llvm-project/pull/189455,
removing unneeded member, and clarify naming/comments to stress the
current logic tries to expand a SCEV to VPInstructions, with only a small
sub-set of SCEV expression supported.
Commit: 1503b86870993f9ad76d79ebd38cb989669c991e
https://github.com/llvm/llvm-project/commit/1503b86870993f9ad76d79ebd38cb989669c991e
Author: Jonathan Cohen <joncoh at apple.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedCyclone.td
Log Message:
-----------
[NFC][AArch64][Cyclone] Model WriteSTP with a local SchedWriteRes (#198844)
Cyclone scheduling model uses SchedAlias between 2 SchedWriteRes
definitions from AArch64Schedule.td.
This prevents other scheduling models from aliasing WriteSTP. This patch
address the issue by defining a new CyWriteSTP and using that instead.
Commit: aa8641584ad990f2a9f9c09e442439d672a2ef15
https://github.com/llvm/llvm-project/commit/aa8641584ad990f2a9f9c09e442439d672a2ef15
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M .github/workflows/unprivileged-download-artifact/action.yml
Log Message:
-----------
workflows/unprivileged-download-artifact: Remove template expansion (#199107)
https://github.com/llvm/llvm-project/security/code-scanning/1749
https://github.com/llvm/llvm-project/security/code-scanning/1752
https://github.com/llvm/llvm-project/security/code-scanning/1753
https://github.com/llvm/llvm-project/security/code-scanning/1879
https://github.com/llvm/llvm-project/security/code-scanning/1880
Commit: 3f561eab147abf17c1838b4e3dc19837837a9740
https://github.com/llvm/llvm-project/commit/3f561eab147abf17c1838b4e3dc19837837a9740
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll
Log Message:
-----------
[LV] Handle chained selects/blends when creating new rdx chain. (#199443)
Make sure we recursively clone chains of selects/blends when re-creating
a reduction chain with new types.
Fixes https://github.com/llvm/llvm-project/issues/199406.
Commit: 25db538883c4eeeb85889b01eaba3e7f433a0531
https://github.com/llvm/llvm-project/commit/25db538883c4eeeb85889b01eaba3e7f433a0531
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M .github/workflows/docs.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-doxygen.yml
R llvm/docs/requirements-hashed.txt
M llvm/docs/requirements.txt
A llvm/docs/requirements.txt.in
Log Message:
-----------
workflows: Require hashed dependencies when installing docs dependencies (#197306)
Commit: 45fa0a1deb722d52425fbca5cb56020e540cea63
https://github.com/llvm/llvm-project/commit/45fa0a1deb722d52425fbca5cb56020e540cea63
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/test/Driver/crash-ir-repro.cpp
Log Message:
-----------
[Clang][Driver] Reenable test on UBSan/HWAsan (#199448)
It passes locally, presumably due to
15488a7f78ce7b9ae3c06b031134e5cb339b335c fixing the behavior here.
Commit: 3ad076ecc8121c44fb5c36b21c3e8acbeb4292ab
https://github.com/llvm/llvm-project/commit/3ad076ecc8121c44fb5c36b21c3e8acbeb4292ab
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M .github/workflows/release-sources.yml
Log Message:
-----------
workflows/release-sources: Validate input and remove template expansion (#199426)
https://github.com/llvm/llvm-project/security/code-scanning/1730
https://github.com/llvm/llvm-project/security/code-scanning/1731
https://github.com/llvm/llvm-project/security/code-scanning/1732
https://github.com/llvm/llvm-project/security/code-scanning/1733
Commit: 38a8cd7cf6a1c45919a8c272c151de0dcc32571c
https://github.com/llvm/llvm-project/commit/38a8cd7cf6a1c45919a8c272c151de0dcc32571c
Author: Thurston Dang <thurston at google.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
Log Message:
-----------
[LifetimeSafety] Fix use-after-scope from #198784 (#199455)
This fixes a use-after-scope introduced by #198784 (reported in
https://github.com/llvm/llvm-project/pull/198784#issuecomment-4530043621),
by manually extending the lifetime.
AFAIK clang is built using C++17 [*], hence C++23 P2718R0's lifetime
extension in range-based for loops does not apply.
[*] "Unless otherwise documented, LLVM subprojects are written using
standard C++17 code"
(https://llvm.org/docs/CodingStandards.html#c-standard-versions)
Commit: 72d747d9576cfd13039cb5f7ed7f8fb69f85daec
https://github.com/llvm/llvm-project/commit/72d747d9576cfd13039cb5f7ed7f8fb69f85daec
Author: A. Jiang <de34 at live.cn>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
R libcxx/test/std/utilities/memory/specialized.algorithms/destroy.h
A libcxx/test/support/algorithms.h
Log Message:
-----------
[libc++][test] Move backported algorithms to `libcxx/test/support` (#199431)
And namespace `util`. This will make helpers provided more consistently,
and potentially allow us to unify test helper namespaces in the future.
Commit: 25294a2fffcf40cbd8b6743d78524badeded7446
https://github.com/llvm/llvm-project/commit/25294a2fffcf40cbd8b6743d78524badeded7446
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Validate input and remove template expansion (#199434)
https://github.com/llvm/llvm-project/security/code-scanning/1699
https://github.com/llvm/llvm-project/security/code-scanning/1700
https://github.com/llvm/llvm-project/security/code-scanning/1701
https://github.com/llvm/llvm-project/security/code-scanning/1702
https://github.com/llvm/llvm-project/security/code-scanning/1703
https://github.com/llvm/llvm-project/security/code-scanning/1704
https://github.com/llvm/llvm-project/security/code-scanning/1705
https://github.com/llvm/llvm-project/security/code-scanning/1706
https://github.com/llvm/llvm-project/security/code-scanning/1707
https://github.com/llvm/llvm-project/security/code-scanning/1708
https://github.com/llvm/llvm-project/security/code-scanning/1709
https://github.com/llvm/llvm-project/security/code-scanning/1710
https://github.com/llvm/llvm-project/security/code-scanning/1711
Commit: e8bd5dc7f424fcb22c6db20ef98f069f2635244f
https://github.com/llvm/llvm-project/commit/e8bd5dc7f424fcb22c6db20ef98f069f2635244f
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/tools/clang-sycl-linker/BUILD.gn
Log Message:
-----------
[gn build] Add missing clang-sycl-linker dependency (#199464)
Commit: ab1745439c7019d0753afc616c5fc5aef7b82fb6
https://github.com/llvm/llvm-project/commit/ab1745439c7019d0753afc616c5fc5aef7b82fb6
Author: Thurston Dang <thurston at google.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
R llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll
Log Message:
-----------
Revert "[LV] Handle chained selects/blends when creating new rdx chain. (#199443)" (#199461)
This reverts commit 3f561eab147abf17c1838b4e3dc19837837a9740 due to
buildbot breakage
((https://lab.llvm.org/staging/#/builders/7/builds/1736/steps/9/logs/stdio).
Commit: 11f0e7768bcd7c1c5081395f46391aacf37f9ac4
https://github.com/llvm/llvm-project/commit/11f0e7768bcd7c1c5081395f46391aacf37f9ac4
Author: isuckatcs <65320245+isuckatcs at users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/CodeGen/GCRootLowering.cpp
M llvm/test/CodeGen/Generic/gc-lowering.ll
Log Message:
-----------
[CodeGen][GC] Initialize roots with `Constant::getNullValue()` instead of `ConstantPointerNull::get()` (#199367)
Fixes #199219
Commit: a029fb9dda06a08c1f37037d03dda3ec053bc139
https://github.com/llvm/llvm-project/commit/a029fb9dda06a08c1f37037d03dda3ec053bc139
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/test/CodeGenCXX/visibility.cpp
A clang/test/Modules/template-default-args-2.cpp
A clang/test/Modules/template-default-args-3.cpp
M clang/test/SemaTemplate/generic-lambda.cpp
M clang/test/SemaTemplate/partial-spec-instantiate.cpp
Log Message:
-----------
[clang] NFC: add some new test cases (#199467)
These are extracted from my current and future PRs.
They don't have much to do with the PRs themselves except that they were
regressions our test suite missed catching.
Commit: 8811c2b3586831761807b683382d50ee185f3d7a
https://github.com/llvm/llvm-project/commit/8811c2b3586831761807b683382d50ee185f3d7a
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
Log Message:
-----------
[ConstantHoisting] Avoid DenseMap reference invalidated by insertion (#199468)
Fix https://reviews.llvm.org/D28962 : DenseMap does not promise to keep
references stable across insertion. This happens to work today because
we don't do bucket eviction.
Pre-populate every node up front.
Commit: 4aac0c636a437e727f4ecc691c4f964cccee0e4d
https://github.com/llvm/llvm-project/commit/4aac0c636a437e727f4ecc691c4f964cccee0e4d
Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/utils/lit/tests/unit/Util.py
Log Message:
-----------
[AIX] Re-apply: Remove unsupported AIX native echo option -n by using printf (#199395)
AIX native echo doesn't support the `-n` flag.
Use `printf` instead to ensure the test works across all systems and
making it portable.
The current test fails as follows:
```
FAIL: lit :: unit/Util.py (1 of 1)
******************** TEST 'lit :: unit/Util.py' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
"/opt/freeware/bin/python3.12" /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# executed command: /opt/freeware/bin/python3.12 /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# .---command stderr------------
# | F..
# | ======================================================================
# | FAIL: test_basic (__main__.TestCommandCache.test_basic)
# | ----------------------------------------------------------------------
# | Traceback (most recent call last):
# | File "/home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py", line 32, in test_basic
# | self.assertEqual(lit_config.run_command_cached(["echo", "-n", "hi"]), b"hi")
# | AssertionError: b'-n hi\n' != b'hi'
# |
# | ----------------------------------------------------------------------
# | Ran 3 tests in 2.092s
# |
# | FAILED (failures=1)
# `-----------------------------
# error: command failed with exit status: 1
```
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: e77ae26ca8ead5ca47dd6ed909031fb3c539a488
https://github.com/llvm/llvm-project/commit/e77ae26ca8ead5ca47dd6ed909031fb3c539a488
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/test/tools/llubi/alloca_large_count.ll
M llvm/test/tools/llubi/alloca_large_size.ll
M llvm/test/tools/llubi/alloca_poison_count.ll
M llvm/test/tools/llubi/alloca_size_overflow.ll
M llvm/test/tools/llubi/assume_false.ll
M llvm/test/tools/llubi/assume_invalid_align.ll
M llvm/test/tools/llubi/assume_misalign.ll
M llvm/test/tools/llubi/assume_misalign_all_ones.ll
M llvm/test/tools/llubi/assume_nondereferenceable.ll
M llvm/test/tools/llubi/assume_null.ll
M llvm/test/tools/llubi/assume_null_all_ones.ll
M llvm/test/tools/llubi/assume_poison.ll
M llvm/test/tools/llubi/assume_poison_align.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_nullary_provenance.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_oob1.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_oob2.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_oob3.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_poison.ll
M llvm/test/tools/llubi/attribute_noundef_agg_ub.ll
M llvm/test/tools/llubi/attribute_noundef_ub.ll
M llvm/test/tools/llubi/br_poison.ll
M llvm/test/tools/llubi/call_mismatched_signature.ll
M llvm/test/tools/llubi/call_poison.ll
M llvm/test/tools/llubi/divrem_ub1.ll
M llvm/test/tools/llubi/divrem_ub2.ll
M llvm/test/tools/llubi/divrem_ub3.ll
M llvm/test/tools/llubi/divrem_ub4.ll
M llvm/test/tools/llubi/indirectbr_invalid.ll
M llvm/test/tools/llubi/indirectbr_poison.ll
M llvm/test/tools/llubi/infinite_loop.ll
M llvm/test/tools/llubi/invoke_poison.ll
M llvm/test/tools/llubi/lib_cxx_memory_large_size.ll
M llvm/test/tools/llubi/lib_double_free.ll
M llvm/test/tools/llubi/lib_free_nullary_pointer.ll
M llvm/test/tools/llubi/lib_free_out_of_bound.ll
M llvm/test/tools/llubi/lib_free_stack.ll
M llvm/test/tools/llubi/lib_poison_argument.ll
M llvm/test/tools/llubi/lib_printf_not_enough_argument.ll
M llvm/test/tools/llubi/lib_printf_unknown_specifier.ll
M llvm/test/tools/llubi/lib_read_nullary_string.ll
M llvm/test/tools/llubi/lib_uninit_string.ll
M llvm/test/tools/llubi/load_noundef_ub_poison.ll
M llvm/test/tools/llubi/load_noundef_ub_poison_padding.ll
M llvm/test/tools/llubi/load_noundef_ub_undef.ll
M llvm/test/tools/llubi/loadstore_misaligned.ll
M llvm/test/tools/llubi/loadstore_null.ll
M llvm/test/tools/llubi/loadstore_oob1.ll
M llvm/test/tools/llubi/loadstore_poison.ll
M llvm/test/tools/llubi/loadstore_uaf.ll
M llvm/test/tools/llubi/metadata_noundef_ub.ll
M llvm/test/tools/llubi/stack_overflow.ll
M llvm/test/tools/llubi/store_dead.ll
M llvm/test/tools/llubi/switch_poison.ll
M llvm/test/tools/llubi/unreachable.ll
M llvm/tools/llubi/lib/CMakeLists.txt
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/llubi.cpp
Log Message:
-----------
[llubi] Print out inst location in stack trace (#199430)
This patch appends `file:line number` to each frame in the stack trace.
It would improve the debugging experience.
In all test files, the inputs are supplied via stdin. I think it should
be okay, as I don't need to add wildcards for filenames.
Commit: 63bb8dc70a1786165ae5bf472cadb1a90f91fa2f
https://github.com/llvm/llvm-project/commit/63bb8dc70a1786165ae5bf472cadb1a90f91fa2f
Author: Brad Smith <brad at comstyle.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
[Mips] Remove mips from omitting the frame pointer for Linux (#199381)
6b1f976858eea5a64f058ca48873be834bd79569 enabled omitting
the frame pointer no matter what OS so remove the now redundancy
with having this on the Linux path.
Commit: d06febc3a5fef5d87200a8af76c1efe811ba4dc0
https://github.com/llvm/llvm-project/commit/d06febc3a5fef5d87200a8af76c1efe811ba4dc0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M libcxx/include/__memory/shared_ptr.h
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_Y.pass.cpp
Log Message:
-----------
[libc++] Fix shared_ptr(Y*) constraint check on GCC (#199429)
GCC has fixed SFINAEing on `delete` since at least GCC 11, so we can
properly constrain the constructor.
Commit: 9bd8bbb2b76c55ca83ddb6e0aa8a3a79b65706d4
https://github.com/llvm/llvm-project/commit/9bd8bbb2b76c55ca83ddb6e0aa8a3a79b65706d4
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M .github/workflows/llvm-abi-tests.yml
Log Message:
-----------
workflows/llvm-abi-tests: Remove template expansions (#199436)
https://github.com/llvm/llvm-project/security/code-scanning/1655
https://github.com/llvm/llvm-project/security/code-scanning/1656
https://github.com/llvm/llvm-project/security/code-scanning/1657
https://github.com/llvm/llvm-project/security/code-scanning/1658
https://github.com/llvm/llvm-project/security/code-scanning/1659
https://github.com/llvm/llvm-project/security/code-scanning/1660
https://github.com/llvm/llvm-project/security/code-scanning/1661
https://github.com/llvm/llvm-project/security/code-scanning/1662
https://github.com/llvm/llvm-project/security/code-scanning/1663
https://github.com/llvm/llvm-project/security/code-scanning/1664
Commit: aac212f0bc9acbc40a8a2e9638f4b7496c25d0b2
https://github.com/llvm/llvm-project/commit/aac212f0bc9acbc40a8a2e9638f4b7496c25d0b2
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes e77ae26 (#199476)
This fixes e77ae26ca8ead5ca47dd6ed909031fb3c539a488.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 0285f1c6b791fb974a71a236e329848cf2d2fbe9
https://github.com/llvm/llvm-project/commit/0285f1c6b791fb974a71a236e329848cf2d2fbe9
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M mlir/include/mlir/Support/ThreadLocalCache.h
M mlir/lib/Conversion/PDLToPDLInterp/RootOrdering.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
Log Message:
-----------
[mlir] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199365)
Like the preceding llvm/ change, fix MLIR sites that reuse an iterator
or bucket reference after erasing from the same map, in preparation for
backward-shift DenseMap deletion which relocates surviving entries.
Use DenseMap::remove_if in ThreadLocalCache::clearExpiredEntries and the
RootOrdering cycle contraction (deferring the in-cycle graph erases
until
after iteration). ThreadLocalCache::get reads the value into a local and
bufferizeOp snapshots the worklist before folding, since those erases
re-enter via a rewriter listener.
Aided by Claude Opus 4.7
Commit: 8446759ee610fe5ad1c5ab9cb2239ef3ad2e4c30
https://github.com/llvm/llvm-project/commit/8446759ee610fe5ad1c5ab9cb2239ef3ad2e4c30
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h
Log Message:
-----------
[lldb] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199499)
Similar to #198982
Commit: 4e4095bb9ffbf46217a0574b3258b1a5d6edf737
https://github.com/llvm/llvm-project/commit/4e4095bb9ffbf46217a0574b3258b1a5d6edf737
Author: Boyao Wang <wangboyao at bytedance.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZvzip.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
[RISCV][CodeGen] Add initial CodeGen support of vunzip{e,o} (#196024)
Add initial support for vunzip{e,o} instructions, which are included in
zvzip extension.
Commit: 48cec8344ab4edf284c80909fa00aff06fc8c806
https://github.com/llvm/llvm-project/commit/48cec8344ab4edf284c80909fa00aff06fc8c806
Author: Mark Zhuang <mark.zhuang at spacemit.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M compiler-rt/lib/builtins/clear_cache.c
Log Message:
-----------
[compiler-rt] Inline __NR_riscv_flush_icache instead of including linux/unistd.h (#193645)
Avoid the dependency on kernel headers to get __NR_riscv_flush_icache,
mirroring the existing approach used for __ARM_NR_cacheflush.
Assisted-by: Claude Sonnet 4.6
Commit: 5f6a7f6af28ea3d8283538625f08d949cde2ba7b
https://github.com/llvm/llvm-project/commit/5f6a7f6af28ea3d8283538625f08d949cde2ba7b
Author: Rohit Garg <rohgarg at qti.qualcomm.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
Log Message:
-----------
[LoopInterchange] drop duplicate Instruction type check in populateDependencyMatrix (#199498)
Remove a duplicate isa<Instruction> check in populateDependencyMatrix.
Commit: af92edf8b3aa4104992de9fe08ce2170d14bc28d
https://github.com/llvm/llvm-project/commit/af92edf8b3aa4104992de9fe08ce2170d14bc28d
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/auxv.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mprotect.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/munmap.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/startup/linux/aarch64/CMakeLists.txt
M libc/startup/linux/aarch64/tls.cpp
M libc/startup/linux/riscv/CMakeLists.txt
M libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/CMakeLists.txt
M libc/startup/linux/x86_64/tls.cpp
Log Message:
-----------
[libc] Port munmap and mprotect to the new syscall interface (#199199)
Assisted by Gemini.
Commit: c59178d6037f582c7e8fb0141c7a16cd8d5d8d5e
https://github.com/llvm/llvm-project/commit/c59178d6037f582c7e8fb0141c7a16cd8d5d8d5e
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M libc/src/__support/CMakeLists.txt
A libc/src/__support/net/CMakeLists.txt
A libc/src/__support/net/address.cpp
A libc/src/__support/net/address.h
M libc/src/arpa/inet/CMakeLists.txt
M libc/src/arpa/inet/inet_addr.cpp
M libc/src/arpa/inet/inet_aton.cpp
M libc/test/src/arpa/inet/inet_aton_test.cpp
Log Message:
-----------
[libc] Fix inet_aton (#198791)
The main (in terms of LOC) change is moving the implementation to an
internal function in order to avoid the inet_addr->inet_aton dependency.
I also fix a bug where we (mistakenly) accepted whitespace and signs
inside the address. I also match the glibc implementation in ignoring
the data after the first whitespace.
Commit: 25bb6a9775ebff46512df133788d266228f90c66
https://github.com/llvm/llvm-project/commit/25bb6a9775ebff46512df133788d266228f90c66
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
A llvm/test/Transforms/InstCombine/trunc-minmax-intrinsics.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll
Log Message:
-----------
[InstCombine] Narrow umin/umax/smin/smax through trunc. (#199213)
Update EvaluateInDifferentType / canEvaluateTruncated to support
narrowing umin/umax/smin/smax intrinsics, when their result fits in the
narrow type: zero high bits for umin/umax, or enough sign
bits for smin/smax.
Alive2 Proofs:
* umin/umax with high bits zero: https://alive2.llvm.org/ce/z/dJC_Fj
* smin/smax with sign-bits set: https://alive2.llvm.org/ce/z/z7vM8Z
End-to-end examples from C workloads performing pixel math:
https://llvm.godbolt.org/z/jK3bd3GfY
PR: https://github.com/llvm/llvm-project/pull/199213
Commit: 59681c65c71c4f89bf86e010291ac6f5d7cd5003
https://github.com/llvm/llvm-project/commit/59681c65c71c4f89bf86e010291ac6f5d7cd5003
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M libcxx/include/any
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/const_reference_types.verify.cpp
M libcxx/test/std/utilities/any/any.nonmembers/any.cast/reference_types.verify.cpp
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.const.verify.cpp
M libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.verify.cpp
Log Message:
-----------
[libc++] remove duplicate assertions for void/reference const any_cast (#199425)
For test cases of the const overload of any_cast, such as:
```C++
void test() {
std::any a = 0;
const std::any& a2 = a;
(void)std::any_cast<int&>(&a2);
}
```
(And similarly for void).
The problem is that the assertions are implemented both in the const and
non-const any_cast overloads, but since the const overload delegates to
the non-const overload, that ends up producing the same assertion twice.
This separates those test cases, because those assertions are
implemented in the function body, and that's only instantiated once per
specialization, not once per use.
Commit: 3056add6389b58656092edf9fed75ca6d55a9d9d
https://github.com/llvm/llvm-project/commit/3056add6389b58656092edf9fed75ca6d55a9d9d
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Rename Expression::isSingleScalar (NFC) (#199041)
The single-scalar terminology, as it is used in other places indicates
that all operands are scalars and that the result is a scalar.
VPExpressionRecipe::isSingleScalar is a misnomer, and is actually a
vector-to-scalar, using the existing terminology. Rename it for clarity.
Commit: 84f95300d0f9efb45d5f1b76eb806c4772b16569
https://github.com/llvm/llvm-project/commit/84f95300d0f9efb45d5f1b76eb806c4772b16569
Author: Santanu Das <santdas at qti.qualcomm.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/test/Driver/hexagon-toolchain-elf.c
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
A llvm/test/CodeGen/Hexagon/reserved-regs.ll
Log Message:
-----------
[Hexagon] Support reserving R16-R28 registers via -ffixed-rN (#197208)
Extend register reservation from R19-only to R16-R28. This allows users
to reserve callee-saved registers (R16-R27) and R28 via command-line
flags -ffixed-r16 through -ffixed-r28. The single bool ReservedR19 is
replaced with an array-based approach (ReservedR[32]) to scale cleanly
across all supported registers.
---------
Co-authored-by: quic-santdas <quic_santdas at quicinc.com>
Commit: e1a9576a9049a8c5fdf249e22ecc68dbc8d9d910
https://github.com/llvm/llvm-project/commit/e1a9576a9049a8c5fdf249e22ecc68dbc8d9d910
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-05-25 (Mon, 25 May 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 vsli/vsliq intrinsics (#198309)
### summary
part of: https://github.com/llvm/llvm-project/issues/185382
Lower the AArch64 NEON shift-left-and-insert intrinsics (`vsli_n_v` /
`vsliq_n_v`) in the CIR codegen path. The lowering mirrors classic
CodeGen (`clang/lib/CodeGen/TargetBuiltins/ARM.cpp`): bitcast both
vector operands to the target element type and emit a direct
`llvm.aarch64.neon.vsli` intrinsic call.
Commit: 2894d7502f0b9ee8a3fc26867f180838c3aca3a1
https://github.com/llvm/llvm-project/commit/2894d7502f0b9ee8a3fc26867f180838c3aca3a1
Author: Sergio Afonso <safonsof at amd.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/workdistribute05.f90
Log Message:
-----------
[Flang][OpenMP] Allow workdistribute inside 'target teams' (#199006)
Currently, a `workdistribute` construct nested inside of a combined
`target teams` is incorrectly reported as an error. This patch fixes
that.
Commit: 72b1c13378f6236956df37f9f8f621c7e60d32a6
https://github.com/llvm/llvm-project/commit/72b1c13378f6236956df37f9f8f621c7e60d32a6
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/Makefile
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/TestEnumValueLookup.py
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/main.cpp
Log Message:
-----------
[lldb] Add enum lookup to DIL (#192065)
Commit: c52c3d203ded16ad88c8cf00e039fd2e45784e94
https://github.com/llvm/llvm-project/commit/c52c3d203ded16ad88c8cf00e039fd2e45784e94
Author: Jonathan L'Work <113400649+Jonathan03ant at users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_alias.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p.txt
Log Message:
-----------
[AMDGPU] Fix v_dot4_i32_i8 alias to set neg_lo modifiers (#197998)
Fixes issue here https://github.com/ROCm/ROCm/issues/6126
The `v_dot4_i32_i8` assembly alias was not setting the `neg_lo` modifier
bits when converted to `v_dot4_i32_iu8`, which causes signed int8
operands to be treated as unsigned.
For example: `q=[1,-1,1,-1], k=[1,1,1,1]`: expected 0, returned 512. The
instruction is computing `1*1 + 255*1 + 1*1 + 255*1 = 512` ; treating
`-1 (0xFF)` as `255`.
On AMD GFX11+, the native `v_dot4_i32_i8` instruction doesn't exist. The
hardware provides `v_dot4_i32_iu8` with `neg_lo` modifier bits to
control signedness of each operand. The compiler correctly lowers
`v_dot4_i32_i8` intrinsics by setting `neg_lo:[1,1,0]`, but inline
assembly using the `v_dot4_i32_i8` mnemonic bypasses this lowering and
goes directly to the assembler.
The assembler accepted `v_dot4_i32_i8` as a simple mnemonic alias but
didn't set the neg_lo modifiers, this results in all-unsigned behavior
which is wrong.
This patch adds assembly parser logic to detect when `v_dot4_i32_i8` is
used and automatically inject `neg_lo=0x3` *(src0 and src1 signed, src2
unsigned)* during operand conversion.
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 3e6582fba63f1b2cade4eb3222736d50e1121b7b
https://github.com/llvm/llvm-project/commit/3e6582fba63f1b2cade4eb3222736d50e1121b7b
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
Log Message:
-----------
Reland "[LifetimeSafety] Detect iterator invalidation through container aliases" (#197873)
This relands #195231, which was reverted in commit
7c9717848851f3a71908becab4312ddc2d8482b8.
The original crash from the reproducer no longer reproduces after
#196680, #197220, and #197604. I verified the original `repro.cpp`: it
no longer hits the lifetime-safety assertion now.
Also added regression tests for the crash:
```cpp
struct SinkInteriorBorrow {
const char *dest_; // expected-note {{this field dangles}}
SinkInteriorBorrow(std::string *dest, int n) : dest_(dest->data()) { // expected-warning {{parameter which escapes to a field is later invalidated}}
if (n > 0)
dest->clear(); // expected-note {{invalidated here}}
}
};
```
Closes https://github.com/llvm/llvm-project/issues/193044
Commit: e9132e96ee84c15c16e4f482701756192c7b1c9a
https://github.com/llvm/llvm-project/commit/e9132e96ee84c15c16e4f482701756192c7b1c9a
Author: Jan Schultke <me at eisenwave.net>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
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/AST/ByteCode/builtin-functions.cpp
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/Sema/builtins-elementwise-math.c
Log Message:
-----------
[clang] Implement `__builtin_elementwise_clmul` (#196633)
Follow-up to:
- https://github.com/llvm/llvm-project/pull/140301
- https://github.com/llvm/llvm-project/pull/168731
I'm mostly just following the steps of
https://github.com/llvm/llvm-project/pull/153113/ and other prior PRs
here. I don't have any idea how testing works yet.
CC @artagnon @oscardssmith
Commit: 78f660cca04448cde10dad5e04f1bc09927dd965
https://github.com/llvm/llvm-project/commit/78f660cca04448cde10dad5e04f1bc09927dd965
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
Log Message:
-----------
[AtomicExpand] Support non-integer atomic loads. (#199310)
This is arguably an enhancement rather than a bugfix. But
AtomicExpandPass already tries to support some non-integer atomic ops
using cmpxchg by bitcasting to/from an integer type. We're just missing
this one path used by atomic load. Seems easy enough to support it.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 76c26357e9431086ae8821a8deefc22654822ba8
https://github.com/llvm/llvm-project/commit/76c26357e9431086ae8821a8deefc22654822ba8
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-s16-true16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
Log Message:
-----------
[AMDGPU][True16] Create tests that will demonstrate true16 G_SEXTLOAD/G_ZEXTLOAD legalization changes (#198669)
<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
Stack PRs:
https://github.com/llvm/llvm-project/pull/198670
https://github.com/llvm/llvm-project/pull/198671
See https://github.com/llvm/llvm-project/pull/195289 for previous
discussion
Commit: 79f19001448d88fe5e5d77719013932becfd0f7d
https://github.com/llvm/llvm-project/commit/79f19001448d88fe5e5d77719013932becfd0f7d
Author: RolandF77 <froese at ca.ibm.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstrAltivec.td
A llvm/test/CodeGen/PowerPC/partial-red.ll
Log Message:
-----------
[PowerPC] Add PPC BE support for partial reductions (#195927)
Add PPC BE support for partial reduction ISD opcodes
PARTIAL_REDUCE_UMLA/SMLA/SUMLA.
Commit: c1c4c8e23d099c199ea90b050742c3d6c5efcfaf
https://github.com/llvm/llvm-project/commit/c1c4c8e23d099c199ea90b050742c3d6c5efcfaf
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/drop-unit-dims-with-shape-cast.mlir
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
M mlir/test/Dialect/Vector/vector-transforms.mlir
Log Message:
-----------
Revert "[mlir][vector] Migrate drop-lead-unit-dim to shape_cast #196206" (#199546)
This reverts commit 24b8bb18f3417419cbd16fcd31f4e2842df952a1 from
#196206
This broke AArch64 SVE Linux buildbots, however it was not reported due
a glitch in the buildbot infrastructure. Following bots are failing:
https://lab.llvm.org/buildbot/#/builders/121
https://lab.llvm.org/buildbot/#/builders/41
https://lab.llvm.org/buildbot/#/builders/4
https://lab.llvm.org/buildbot/#/builders/199
https://lab.llvm.org/buildbot/#/builders/17
https://lab.llvm.org/buildbot/#/builders/198
https://lab.llvm.org/buildbot/#/builders/143
Commit: 7ba877e9ce07572a2f6e0857e9083889d77a91fa
https://github.com/llvm/llvm-project/commit/7ba877e9ce07572a2f6e0857e9083889d77a91fa
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Add matcher for canonical VPWidenIntOrFpInductionRecipe (NFC). (#199539)
Add matcher for canonical VPWidenIntOrFpInductionRecipe to simplify some
matching.
Commit: c10922a6ca6a2de54653cceafcd4fb276039ae26
https://github.com/llvm/llvm-project/commit/c10922a6ca6a2de54653cceafcd4fb276039ae26
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes af92edf (#199515)
This fixes af92edf8b3aa4104992de9fe08ce2170d14bc28d.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 5b93aeb21818cfdb142b14e70ef4eb0363ca9d88
https://github.com/llvm/llvm-project/commit/5b93aeb21818cfdb142b14e70ef4eb0363ca9d88
Author: David Salinas <dsalinas at amd.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/lib/Driver/OffloadBundler.cpp
A clang/test/Driver/clang-offload-bundler-multi-compress.c
Log Message:
-----------
clang-offload-bundler incorrectly errors on multi-CCOB binaries (#182579)
Issue: https://github.com/ROCm/llvm-project/issues/448
Objects can have multiple Clang Compressed Offload Bundles (CCOB) in the
.hip_fatbin section. This happens when there are multiple
translation/compilation units built and then linked together into an
Archive or Shared Object. The resulting .hip_fatbin section will have
multiple offload bundles delimited by the magic string "CCOB" (on a 4k
alignment boundary). The Clang Offload bundler API, when a List of
bundle entries is requested, was not properly iterating (looping) over
each separate bundle.
REPRODUCTION
Test File: librocblas.so.5 from ROCm 6.x distribution
.hip_fatbin section: 8,163,887 bytes containing 64 concatenated CCOBs
Extract the .hip_fatbin section with:
objcopy --dump-section .hip_fatbin=fatbin.bin binary
Structure:
Offset 0x0: CCOB header + 1.16 MB compressed (→ 12.41 MB uncompressed)
Offset 0x129000: CCOB header + 1.01 MB compressed (→ 13.14 MB
uncompressed)
Offset 0x227000: CCOB header + 36.5 KB compressed (→ 1.21 MB
uncompressed)
... (61 more bundles)
Command:
$ clang-offload-bundler --type=o --input=librocblas.so.5 --list
Error:
clang-offload-bundler: error: Failed to decompress input: Could not
decompress embedded file contents: Src size is incorrect
Expected:
Should list all target triples in the bundle, or at minimum process
the first bundle without error.
Commit: d5f223da95da701f03cab10626d2a6d518e03737
https://github.com/llvm/llvm-project/commit/d5f223da95da701f03cab10626d2a6d518e03737
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-store.ll
Log Message:
-----------
[SLP] Enable widening strided revectorization of vector stores (#198920)
This commit adds support for re-vectorization of vector stores into
widened strided stores. That is:
```
%p1 = getelementptr i16, ptr %p0, i64 16
store <4 x i16> zeroinitializer, ptr %p1, align 2
store <4 x i16> zeroinitializer, ptr %p0, align 2
```
can be further vectorized to:
```
call void @llvm.experimental.vp.strided.store.v2i64.p0.i64(<2 x i64> zeroinitializer, ptr align 2 %p0, i64 32, <2 x i1> splat (i1 true), i32 2)
```
Commit: f6e4e71fcdbff98cb060f87695c75f00b43bf918
https://github.com/llvm/llvm-project/commit/f6e4e71fcdbff98cb060f87695c75f00b43bf918
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
A llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll
Log Message:
-----------
Reapply "[LV] Handle chained selects/blends when creating new rdx cha… (#199559)
This reverts commit ab1745439c7019d0753afc616c5fc5aef7b82fb6 & reapplies
#199443.
Recommit with additional additional fix to handle other select-like
recipes including VPWidenRecipe and VPReplicateRecipe.
Original message:
Make sure we recursively clone chains of selects/blends when re-creating
a reduction chain with new types.
Fixes https://github.com/llvm/llvm-project/issues/199406.
Commit: 192ea327028d1e8ad37413ebf26ee0da40a4b0fc
https://github.com/llvm/llvm-project/commit/192ea327028d1e8ad37413ebf26ee0da40a4b0fc
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
Log Message:
-----------
[ObjectYAML] Fix `DXContainerYAML::fromDXContainer` return value (#199534)
Commit: 9b4f7d1ae62db9c828ea6b676a295b1e70abed9c
https://github.com/llvm/llvm-project/commit/9b4f7d1ae62db9c828ea6b676a295b1e70abed9c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
Log Message:
-----------
[VPlan] Collect unit-stride predicates for making vector decisions. (#199568)
Split-off from approved https://github.com/llvm/llvm-project/pull/197276
to land separately.
Collect all unit-stride predicates once, up-front, ensuring that cost
decisions have predicates available, independent of processing order.
Commit: 3c6fdba85b4f21b30b9cd9196b0e858204b3dff2
https://github.com/llvm/llvm-project/commit/3c6fdba85b4f21b30b9cd9196b0e858204b3dff2
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
R llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
Log Message:
-----------
[LV] Move constant folding test to VPlan (NFC). (#198407)
Check VPlan print for constant folding test. This makes it more robust
w.r.t. to future cost-modeling changes.
Commit: 3aa9ae2da352db6f5822fdc91a170db5e496be32
https://github.com/llvm/llvm-project/commit/3aa9ae2da352db6f5822fdc91a170db5e496be32
Author: Elio <xiongzile at bytedance.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
A llvm/test/Transforms/LoopVectorize/VPlan/for-phi-ordering.ll
Log Message:
-----------
[VPlan] Collect FOR PHIs before sinking/hoisting recurrence users (#194671)
Avoid iterating over HeaderVPBB->phis() while potentially mutating the
underlying VPBasicBlock. Collect all VPFirstOrderRecurrencePHIRecipe
instances first, then process them in a separate loop.
This prevents iterator invalidation when sinking or hoisting recurrence
users, and makes the transformation more robust.
Fixes: https://github.com/llvm/llvm-project/issues/194618
Fixes https://github.com/llvm/llvm-project/issues/198589
---------
Co-authored-by: Zile Xiong <xiongzile99 at gmail.com>
Commit: d0646cbe307dd2bd10686f923061a7d981263e40
https://github.com/llvm/llvm-project/commit/d0646cbe307dd2bd10686f923061a7d981263e40
Author: Zhijie Wang <yesterda9 at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Fix false negative for GSL Owner methods inherited from a non-Owner base (#197864)
- Take the implicit object's actual type (e.g., the type before any
`DerivedToBase` cast) into account when checking for GSL Owner. Other
`isGslOwnerType` call sites with the same pattern (e.g.,
`isGslOwnerType(MCE->getImplicitObjectArgument()->getType())` in
`VisitCXXMemberCallExpr`) lack a real-world trigger today and are
deferred to a follow-up.
- Unify the GSL Owner checks inside `shouldTrackImplicitObjectArg` so
they share a single source of truth.
Fixes: #188832
Commit: 2cad228d3863f6a70b33625a1c967066207e34ab
https://github.com/llvm/llvm-project/commit/2cad228d3863f6a70b33625a1c967066207e34ab
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M polly/lib/CodeGen/BlockGenerators.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
Log Message:
-----------
[polly] Simplify with DenseMap::remove_if. NFC (#199577)
In preparation for DenseMap change that relocates surviving entries on
erase.
Commit: a725adb96bf75764ad9043099935d1b5d16ef152
https://github.com/llvm/llvm-project/commit/a725adb96bf75764ad9043099935d1b5d16ef152
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/docs/CMake.rst
Log Message:
-----------
[Docs] Update LLVM_USE_SANITIZER list (#199580)
HWAddress and Leaks are valid options that were not present in the
documentation.
Commit: 1ed7260974d49760ec96ff224d2ff710764af8bf
https://github.com/llvm/llvm-project/commit/1ed7260974d49760ec96ff224d2ff710764af8bf
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
Log Message:
-----------
[NVPTX] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199575)
GenericToNVVM erases entries from GVMap while iterating it. In
preparation for DenseMap change that relocates surviving entries on
erase, snapshot the map and erase by key.
Commit: ff2eac10dbc1c1d888ac2dee4798bc54db672417
https://github.com/llvm/llvm-project/commit/ff2eac10dbc1c1d888ac2dee4798bc54db672417
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
Log Message:
-----------
[Hexagon] Simplify with DenseMap::remove_if. NFC (#199576)
Commit: 884e828617bf512a992723bd70dc108deb775753
https://github.com/llvm/llvm-project/commit/884e828617bf512a992723bd70dc108deb775753
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
[AMDGPU] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199578)
In preparation for DenseMap change that relocates surviving entries on
erase, replace erase-while-iterating with remove_if.
Commit: 01ce8d6763712261b9333855f10e9d2fe3342d86
https://github.com/llvm/llvm-project/commit/01ce8d6763712261b9333855f10e9d2fe3342d86
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/test/tools/llvm-profdata/sample-nametable.test
Log Message:
-----------
[ProfData] Remove HWAsan exclusion (#199582)
This passes locally for me with HWAsan enabled on a AArch64 machine, so
it seems like this might have been fixed since adding the opt-out.
Commit: 0b6a1ef4297bb839fe26041602d32411358e0032
https://github.com/llvm/llvm-project/commit/0b6a1ef4297bb839fe26041602d32411358e0032
Author: Miro Hrončok <miro at hroncok.cz>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/utils/lit/tests/Inputs/shtest-ulimit/print_limits.py
M llvm/utils/lit/tests/shtest-ulimit-nondarwin.py
Log Message:
-----------
[lit] Normalize RLIM_INFINITY to "infinity" in print_limits.py for Python 3.15+ (#190953)
Python 3.15 changed resource.getrlimit() to return the platform's
maximum value (e.g., 18446744073709551615 on 64-bit systems) instead of
-1 for RLIM_INFINITY. This breaks lit tests that expect -1 for unlimited
resource limits.
This patch normalizes the return value to "infinity" when it equals
RLIM_INFINITY to maintain compatibility with existing tests across all
Python versions.
Fixes test failure: shtest-ulimit-nondarwin.py
Expected: RLIMIT_FSIZE=-1
Got: RLIMIT_FSIZE=18446744073709551615
Reference:
https://github.com/python/cpython/commit/0324c726dea702282a0300225e989b19ae23b759
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=2448969
Analysis and testing assisted by AI.
Assisted-by: Claude Sonnet 4.5
---------
Co-authored-by: Alexander Richardson <mail at alexrichardson.me>
Co-authored-by: Tulio Magno Quites Machado Filho <tuliom at quites.com.br>
Commit: 269719b1f63c68fffbca43f54cebaad23cf0246a
https://github.com/llvm/llvm-project/commit/269719b1f63c68fffbca43f54cebaad23cf0246a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M compiler-rt/include/sanitizer/common_interface_defs.h
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_errors.h
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_report.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
M compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h
R compiler-rt/test/asan/TestCases/copy_container_annotations.cpp
Log Message:
-----------
Revert "[compiler-rt][ASan] Add function copying annotations (#91702)" (#194204)
This reverts commit c76045d9bf3bd1c7a381dc85d1db63a38fd69aa4.
It does not look like this has been used anywhere since it was
implemented. I see no uses of it in LLVM, anywhere in our internal
monorepo, or across the entirety of Github outside of other copies of
LLVM tests. Given that, remove it. The intended use case around SSO ASan
string annotations is also likely to be significantly reworked soon.
Commit: 97e7ee26b2b3ea695c1966498ee572acd1e40418
https://github.com/llvm/llvm-project/commit/97e7ee26b2b3ea695c1966498ee572acd1e40418
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/ProfileData/InstrProf.cpp
A llvm/test/Transforms/PGOProfile/Inputs/indirect-call-vp-zeros.ll
A llvm/test/Transforms/PGOProfile/indirect-call-vp-zeros.ll
Log Message:
-----------
[InstrProf] Do not emit metadata for zero values with zero counts (#199380)
If we have a indirect call site with a profile that has VP information
for said callsite that only contains zero values with zero counts, we
would start to emit invalid profile information after
1d146967d51ba76b8379d9e12961aa23e5745701. VP metadata in this case is at
best redundant with BFI. So we restrict metadata emission to only if we
have a sufficient number of values for the VP metadata to be valid.
Commit: b938d8b562d6ebbb72ceafaf57cead215fef86da
https://github.com/llvm/llvm-project/commit/b938d8b562d6ebbb72ceafaf57cead215fef86da
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[DA] Consolidate accumulating GCD functions (NFCI) (#197936)
This patch consolidates two functions `accumulateCoefficientsGCD` and
`analyzeCoefficientsForGCD` by merging the latter into the former. These
two functions are very similar, and keeping both of them does not make
much sense.
Commit: 7dabf946d908858beb94c7c718a09bedc6eb4407
https://github.com/llvm/llvm-project/commit/7dabf946d908858beb94c7c718a09bedc6eb4407
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
A llvm/test/CodeGen/RISCV/rvv/pr199509.ll
Log Message:
-----------
[SelectionDAG] Handle CSE in PromoteIntOp_VP_STRIDED. (#199562)
If the UpdateNodeOperands triggers CSE, we need to handle result
replacement ourselves because strided load has 2 results.
Commit: b929dbabe54b0974cce73f70c6d3831bd7e1ddfe
https://github.com/llvm/llvm-project/commit/b929dbabe54b0974cce73f70c6d3831bd7e1ddfe
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
Log Message:
-----------
[X86] FixupInstTuning: ProcessShiftLeftToAdd should return true after mutating. (#199589)
I think this is almost NFC, though it should affect some of the
compilation statistics like "number of instrs changed by X pass".
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply at anthropic.com>
Commit: 5723dd03231f963037b63d34e54902bb9e173b74
https://github.com/llvm/llvm-project/commit/5723dd03231f963037b63d34e54902bb9e173b74
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Split v4i16/v8i8 MUL on RV32. (#199504)
Commit: d1902d34606e070df3ffb1cadbd3aac0f1165484
https://github.com/llvm/llvm-project/commit/d1902d34606e070df3ffb1cadbd3aac0f1165484
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvp-bitcast-const-fold.ll
Log Message:
-----------
[RISCV][P-ext] Fold bitcast of v4i8/v2i16 const splat to scalar on RV64 (#199513)
clang lowers `int8x4_t f(int8x4_t a) { return ~a; }` to a
bitcast-wrapped vector xor with splat(-1). v4i8/v2i16 aren't legal on
RV64, so the xor gets scalarized to i64 with the constant still wrapped
in BITCAST:
`i64 = xor X, (bitcast (v8i8 splat -1))`
The scalar `not` PatFrag (xor X, -1) requires a literal constant and
can't see through BITCAST, so XORI -1 (= `not`) misses and we emit `li
-1; xor` (2 insns). The v8i8/v4i16/v2i32 paths stay at vector level and
match the bitcast-aware vector `vnot` td-pat, so they're fine; only the
widened-from-v4i8/v2i16 path falls through to scalar `not`.
Fix it by folding the bitcast of a v4i8/v2i16 constant splat to a scalar
i32 constant pre-legalization. Type promotion sign-extends to i64 -1 and
XORI matches.
Commit: 50a110ace7559f0655cf74cf2080b108c5bc2cda
https://github.com/llvm/llvm-project/commit/50a110ace7559f0655cf74cf2080b108c5bc2cda
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/Transforms/CodeGenPrepare/X86/split-store-alignment.ll
Log Message:
-----------
[CodeGenPrepare] splitMergedValStore: don't split atomic stores. (#199592)
splitMergedValStore notices when you do e.g.
z = x | (y << 32)
store z
and may split this up into 32-bit two stores, of x and y, depending
e.g. on the type of x and y.
It skips this optimization for volatile stores, but currently does NOT
skip it for atomics (!!). So an atomic store can be split up into two
(non-atomic!) stores.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply at anthropic.com>
Commit: 03c8a834d6a963b7e252c4d2915c419da0a2ee93
https://github.com/llvm/llvm-project/commit/03c8a834d6a963b7e252c4d2915c419da0a2ee93
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M libcxx/include/__configuration/hardening.h
M libcxx/include/string
M libcxx/include/tuple
Log Message:
-----------
[libc++] Address most LLVM23 TODOs (#199397)
There is still one LLVM23 TODO left that can only be resolved once we
update GCC.
Commit: 386e356b5f0a3e49e42b80c350a6847c1d3bc661
https://github.com/llvm/llvm-project/commit/386e356b5f0a3e49e42b80c350a6847c1d3bc661
Author: Edward Nathan Varghese <cs22btech11020 at iith.ac.in>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/MicrosoftMangle.cpp
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
Log Message:
-----------
[AArch64] Add support for MSVC-style mangling for SVE (#196738)
Fixes #196170
Recent MSVC toolchains added support for AArch64 SVE types and use
dedicated builtin manglings such as `$_CD` instead of the older
artificial `__clang` struct manglings.
Update Clang's Microsoft mangling implementation to match MSVC for
supported SVE builtin types.
Unsupported SVE types continue using the existing artificial tag
mangling until MSVC gains support for them.
Adds representative coverage for:
* scalar SVE types
* tuple/vector SVE types
* fallback manglings for unsupported types
Commit: a1d4f6aeea94bf8aafd4c93f52d3eebcb9ba6bfb
https://github.com/llvm/llvm-project/commit/a1d4f6aeea94bf8aafd4c93f52d3eebcb9ba6bfb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
M .ci/metrics/Dockerfile
M .github/CODEOWNERS
M .github/workflows/commit-access-greeter.yml
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/docs.yml
M .github/workflows/issue-release-workflow.yml
A .github/workflows/libc-freebsd-vm-tests.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.yml
M .github/workflows/libcxx-run-benchmarks.yml
M .github/workflows/llvm-abi-tests.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-doxygen.yml
M .github/workflows/release-sources.yml
R .github/workflows/require-release-manager/action.yml
A .github/workflows/require-team-membership/action.yml
M .github/workflows/unprivileged-download-artifact/action.yml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
A bolt/test/AArch64/crel-relocs.s
M bolt/test/AArch64/validate-secondary-entry-point.s
M bolt/test/RISCV/branch-no-secondary-entry.s
A bolt/test/RISCV/dynamic-link.s
M bolt/test/RISCV/fake-label-no-entry.c
M bolt/test/RISCV/function-alignment.s
M bolt/test/RISCV/internal-func-reloc.s
M bolt/test/RISCV/lit.local.cfg
M bolt/test/RISCV/load-store.s
A bolt/test/RISCV/pie.s
A bolt/test/RISCV/reloc-32.s
M bolt/test/RISCV/reloc-abs.s
A bolt/test/RISCV/reloc-bb-split-rv32.s
M bolt/test/RISCV/reloc-bb-split.s
M bolt/test/RISCV/reloc-branch.s
M bolt/test/RISCV/reloc-call.s
M bolt/test/RISCV/reloc-got.s
M bolt/test/RISCV/reloc-jal.s
M bolt/test/RISCV/reloc-jt.s
M bolt/test/RISCV/reloc-label-diff.s
A bolt/test/RISCV/reloc-lohi-rv32.s
A bolt/test/RISCV/reloc-pcrel-rv32.s
M bolt/test/RISCV/reloc-pcrel.s
M bolt/test/RISCV/reloc-rvc-branch.s
M bolt/test/RISCV/reloc-rvc-jump.s
M bolt/test/RISCV/reorder-blocks-reverse.s
A bolt/test/RISCV/static-pie.s
M bolt/test/RISCV/validate-secondary-entry-point.s
M bolt/test/X86/Inputs/double_jump.cpp
M bolt/test/X86/Inputs/inlined.cpp
M bolt/test/X86/Inputs/linenumber.cpp
M bolt/test/runtime/bolt-reserved.cpp
M bolt/test/runtime/relative-vftable.cpp
M bolt/unittests/Passes/PointerAuthCFIFixup.cpp
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeReader.h
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
M clang-tools-extra/clang-doc/ClangDoc.cpp
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
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/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
M clang-tools-extra/clang-doc/support/File.cpp
M clang-tools-extra/clang-doc/support/File.h
M clang-tools-extra/clang-doc/support/Utils.cpp
M clang-tools-extra/clang-doc/support/Utils.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
M clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.cpp
M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/refactor/InsertionPoint.cpp
M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
A clang-tools-extra/clangd/test/non-existent.test
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/redundant-casting.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-using.rst
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-non-const-global-variables-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-casting.cpp
A clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-isa.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/static-initialization-cycle.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-ignore-extern-c.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang/Maintainers.md
M clang/cmake/caches/HLSL.cmake
M clang/docs/AllocToken.rst
M clang/docs/CIR/ABILowering.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LifetimeSafety.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/TypeSanitizer.rst
M clang/docs/analyzer/user-docs/Annotations.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/BuiltinsMips.def
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/CodeGen/CodeGenAction.h
A clang/include/clang/CodeGen/ModuleLinker.h
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/DependencyScanning/ModuleDepCollector.h
M clang/include/clang/Driver/Compilation.h
M clang/include/clang/Driver/Job.h
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Lex/Lexer.h
A clang/include/clang/Lex/MacroBase.h
M clang/include/clang/Lex/MacroInfo.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Options/FlangOptions.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ModuleManager.h
M clang/include/clang/Tooling/DependencyScanningTool.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Analysis/BodyFarm.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CodeGen/Address.h
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/CIRGenBuiltinRISCV.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.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/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/TargetInfo.h
A clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
A clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/SPIRV.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/FrontendAction/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
A clang/lib/CodeGen/ModuleLinker.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.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/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
M clang/lib/Driver/ToolChains/Arch/AMDGPU.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CrossWindows.cpp
M clang/lib/Driver/ToolChains/CrossWindows.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/FreeBSD.h
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Fuchsia.h
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPSPV.h
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Haiku.h
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/Linux.h
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/Managarm.cpp
M clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MinGW.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/NetBSD.h
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/PS4CPU.h
M clang/lib/Driver/ToolChains/Serenity.cpp
M clang/lib/Driver/ToolChains/Serenity.h
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/Solaris.h
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/WebAssembly.h
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Headers/opencl-c.h
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Lex/UnicodeCharSets.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaBoundsSafety.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.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/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/lib/Tooling/Syntax/Tokens.cpp
M clang/lib/Tooling/Transformer/SourceCode.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ast-dump-decl.cpp
R clang/test/AST/ast-dump-default-arg-json.cpp
R clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-for-range-lifetime.cpp
R clang/test/AST/ast-dump-lambda-json.cpp
M clang/test/AST/ast-dump-lambda.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-print-explicit-instantiation.cpp
M clang/test/AST/explicit-instantiation-source-info.cpp
M clang/test/Analysis/Checkers/WebKit/binding-to-refptr.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/uncounted-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/OSAtomic_mac.cpp
M clang/test/Analysis/anonymous-decls.cpp
M clang/test/Analysis/bstring_UninitRead.c
M clang/test/Analysis/dead-stores.c
M clang/test/Analysis/live-bindings-test.cpp
M clang/test/CIR/CodeGen/abi-lower-after-unreachable.cpp
M clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp
A clang/test/CIR/CodeGen/amdgpu-stack-alloca-array-decay.cpp
M clang/test/CIR/CodeGen/atomic.c
A clang/test/CIR/CodeGen/attr-target-aarch64.c
A clang/test/CIR/CodeGen/attr-target-x86.c
A clang/test/CIR/CodeGen/builtin-call.cpp
A clang/test/CIR/CodeGen/builtin-invoke-varargs-member.cpp
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/call.cpp
A clang/test/CIR/CodeGen/character-literal.c
A clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
A clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
A clang/test/CIR/CodeGen/complex-atomic-cast.c
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
M clang/test/CIR/CodeGen/empty-union.cpp
A clang/test/CIR/CodeGen/lambda-static-invoker-agg-return.cpp
A clang/test/CIR/CodeGen/link-bitcode-file.c
A clang/test/CIR/CodeGen/new-array-in-ternary.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
A clang/test/CIR/CodeGen/record-with-padded-union.cpp
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/thunks.cpp
M clang/test/CIR/CodeGen/union-agg-init.c
A clang/test/CIR/CodeGen/vla-pointer-arith.c
M clang/test/CIR/CodeGen/wide-string.cpp
M clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zbb.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/ssse3-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
M clang/test/CIR/CodeGenCUDA/address-spaces.cu
A clang/test/CIR/CodeGenCUDA/attribute-visibility.cu
A clang/test/CIR/CodeGenCXX/new-array-init-list-non-trivial-dtor.cpp
A clang/test/CIR/CodeGenHIP/attr-target-amdgpu.hip
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
A clang/test/CIR/CodeGenOpenCL/spirv-kernel.cl
A clang/test/CIR/CodeGenOpenCL/vector.cl
A clang/test/CIR/IR/assume.cir
A clang/test/CIR/IR/invalid-assume.cir
A clang/test/CIR/IR/var-registration.cir
A clang/test/CIR/Transforms/abi-lowering/Inputs/test-datalayout.cir
A clang/test/CIR/Transforms/abi-lowering/datalayout-missing-error.cir
A clang/test/CIR/Transforms/abi-lowering/declaration-rewrite.cir
A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-injection.cir
A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-test-target.cir
A clang/test/CIR/Transforms/abi-lowering/ignore-arg.cir
A clang/test/CIR/Transforms/abi-lowering/ignore-return.cir
A clang/test/CIR/Transforms/abi-lowering/indirect-call-nyi.cir
A clang/test/CIR/Transforms/abi-lowering/try-call-nyi.cir
A clang/test/CIR/Transforms/abi-lowering/variadic-call-nyi.cir
M clang/test/CMakeLists.txt
M clang/test/CXX/class/class.local/p3.cpp
M clang/test/CXX/dcl.decl/dcl.decomp/p3.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg30xx.cpp
M clang/test/CXX/drs/cwg31xx.cpp
M clang/test/CodeCompletion/desig-init.cpp
A clang/test/CodeCompletion/offsetof.cpp
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_untyped.c
M clang/test/CodeGen/AArch64/neon-across.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
R clang/test/CodeGen/AArch64/neon-scalar-copy.c
M clang/test/CodeGen/AArch64/neon-vget.c
A clang/test/CodeGen/AArch64/neon/getset.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/poly64.c
A clang/test/CodeGen/Mips/msa-const-ld.c
A clang/test/CodeGen/alloc-token-inline.c
M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
M clang/test/CodeGen/amdgpu-builtin-processor-is.c
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/exceptions-seh-finally.c
M clang/test/CodeGen/exceptions-seh-nested-finally.c
M clang/test/CodeGen/exceptions-seh.c
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGen/target-data.c
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
M clang/test/CodeGenCXX/bad-codegen-for-constexpr-structured-bindings.cpp
M clang/test/CodeGenCXX/cxx1z-decomposition.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/noescape.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenObjC/exceptions.m
M clang/test/CodeGenObjC/noescape.m
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-5-generic-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CoverageMapping/break.c
M clang/test/DebugInfo/CXX/structured-binding.cpp
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
A clang/test/Driver/amdgpu-unwind.cl
A clang/test/Driver/amdgpu-validate-sanitize.cl
A clang/test/Driver/clang-offload-bundler-multi-compress.c
M clang/test/Driver/crash-ir-repro.cpp
A clang/test/Driver/crash-report-multi-arch.c
A clang/test/Driver/darwin-ld-samplepgo.c
M clang/test/Driver/fprofile-update.c
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/fuchsia.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hip-sanitize-options.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/modules-driver-incompatible-options.cpp
M clang/test/Driver/msvc-link.c
M clang/test/Driver/ohos.c
A clang/test/Driver/print-enabled-extensions/riscv-sifive-p870-d.c
R clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/spirv-amd-toolchain.c
A clang/test/ExtractAPI/macro_doc_comments.c
M clang/test/Frontend/spirv-target-validation.c
M clang/test/Headers/__clang_hip_math.hip
A clang/test/Index/annotate-comments-macros.c
M clang/test/Index/annotate-comments.cpp
M clang/test/Lexer/unicode.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
A clang/test/Modules/cxx20-fatal-module-loader-error.cpp
A clang/test/Modules/embed-directive.cppm
A clang/test/Modules/template-default-args-2.cpp
A clang/test/Modules/template-default-args-3.cpp
M clang/test/OpenMP/thread_limit_gpu.c
M clang/test/OpenMP/thread_limit_nvptx.c
A clang/test/OpenMP/unimplemented_clause_messages.cpp
A clang/test/PCH/ftime-trace-specialization-lookup.cpp
A clang/test/Parser/cxx-attributes-missing-closing-in-switch.cpp
A clang/test/Parser/cxx-attributes-missing-closing.cpp
A clang/test/Parser/cxx-attributes-missing-second-closing-in-switch.cpp
A clang/test/Parser/cxx-attributes-missing-with-semi-before-closing.cpp
M clang/test/Parser/cxx-attributes.cpp
M clang/test/Parser/cxx0x-attributes.cpp
M clang/test/Parser/pragma-attribute.cpp
A clang/test/Preprocessor/nonportable-trailing-whitespace-win.c
A clang/test/Preprocessor/nonportable-trailing-whitespace.c
M clang/test/Preprocessor/riscv-target-features.c
A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs-anon.c
M clang/test/Sema/block-misc.c
R clang/test/Sema/block-on-objc-ivars.m
A clang/test/Sema/break-continue-cond.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/gh183974.c
M clang/test/Sema/loop-control.c
M clang/test/Sema/statements.c
M clang/test/Sema/warn-lifetime-safety-fixits.cpp
M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
A clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
A clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
A clang/test/SemaCXX/attr-modular-format.cpp
M clang/test/SemaCXX/blocks.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/cxx2c-decomposition.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/scope-check.cpp
M clang/test/SemaHIP/incorrect-atomic-scope.hip
A clang/test/SemaObjC/block-on-ivar.m
M clang/test/SemaObjC/block-on-method-param.m
A clang/test/SemaOpenCL/intel-subgroup-buffer-prefetch-builtins.cl
A clang/test/SemaOpenCL/intel-subgroup-local-block-io-builtins.cl
A clang/test/SemaOpenCL/intel-subgroup-local-block-io-ui-without-char-short-long.cl
A clang/test/SemaOpenCL/intel-subgroups-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-char-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-long-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-short-builtins.cl
M clang/test/SemaSYCL/sycl-cconv.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/generic-lambda.cpp
A clang/test/SemaTemplate/gh176152.cpp
M clang/test/SemaTemplate/partial-spec-instantiate.cpp
M clang/test/Tooling/clang-sycl-linker-split-mode.ll
A clang/test/Tooling/clang-sycl-linker-triple.ll
M clang/test/Tooling/clang-sycl-linker.ll
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/Format/AlignBracketsTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/www/cxx_dr_status.html
M compiler-rt/include/sanitizer/common_interface_defs.h
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_errors.h
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_report.h
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/atomic.c
M compiler-rt/lib/builtins/clear_cache.c
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/cpu_model.h
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
M compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/test/asan/TestCases/Posix/coverage-module-unloaded.cpp
R compiler-rt/test/asan/TestCases/copy_container_annotations.cpp
M compiler-rt/test/builtins/Unit/atomic_test.c
M compiler-rt/test/msan/release_origin.c
M compiler-rt/test/sanitizer_common/TestCases/get_module_and_offset_for_pc.cpp
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/include/flang-rt/runtime/numeric-templates.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/character.cpp
A flang-rt/lib/runtime/dot-product-complex.cpp
A flang-rt/lib/runtime/dot-product-integer.cpp
A flang-rt/lib/runtime/dot-product-real.cpp
R flang-rt/lib/runtime/dot-product.cpp
A flang-rt/lib/runtime/dot-product.h
M flang-rt/lib/runtime/exceptions.cpp
A flang-rt/lib/runtime/extrema-maxloc-dim.cpp
A flang-rt/lib/runtime/extrema-maxloc.cpp
A flang-rt/lib/runtime/extrema-minloc-dim.cpp
A flang-rt/lib/runtime/extrema-minloc.cpp
A flang-rt/lib/runtime/extrema-value.cpp
R flang-rt/lib/runtime/extrema.cpp
A flang-rt/lib/runtime/extrema.h
A flang-rt/lib/runtime/findloc-dim.cpp
A flang-rt/lib/runtime/findloc-total.cpp
R flang-rt/lib/runtime/findloc.cpp
A flang-rt/lib/runtime/findloc.h
M flang-rt/lib/runtime/io-api-gpu.h
M flang-rt/lib/runtime/io-api-server.cpp
A flang-rt/lib/runtime/iso_fortran_env_impl.cpp
M flang-rt/lib/runtime/main.cpp
A flang-rt/lib/runtime/matmul-complex.cpp
A flang-rt/lib/runtime/matmul-extypes-int16.cpp
A flang-rt/lib/runtime/matmul-extypes-real10.cpp
A flang-rt/lib/runtime/matmul-extypes-real16.cpp
A flang-rt/lib/runtime/matmul-integer.cpp
A flang-rt/lib/runtime/matmul-real.cpp
A flang-rt/lib/runtime/matmul-transpose-complex.cpp
A flang-rt/lib/runtime/matmul-transpose-extypes-int16.cpp
A flang-rt/lib/runtime/matmul-transpose-extypes-real10.cpp
A flang-rt/lib/runtime/matmul-transpose-extypes-real16.cpp
A flang-rt/lib/runtime/matmul-transpose-integer.cpp
A flang-rt/lib/runtime/matmul-transpose-real.cpp
R flang-rt/lib/runtime/matmul-transpose.cpp
A flang-rt/lib/runtime/matmul-transpose.h
R flang-rt/lib/runtime/matmul.cpp
A flang-rt/lib/runtime/matmul.h
M flang-rt/lib/runtime/transformational.cpp
A flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
A flang-rt/test/Driver/iso_fortran_env_impl.f90
M flang-rt/test/Driver/write01.f90
M flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/Exceptions.cpp
A flang/docs/MeetingNotes/2026/2026-05-20.md
A flang/docs/OpenACC-extensions.md
M flang/docs/OpenACC.md
M flang/docs/index.md
A flang/include/flang/Common/fp-control.h
M flang/include/flang/Common/type-kinds.h
M flang/include/flang/Lower/ConvertConstant.h
M flang/include/flang/Lower/ConvertType.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/OpenMP-utils.h
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExprToHLFIR.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/ClauseProcessor.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/PFTBuilder.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Support/Utils.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversionLate.cpp
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/lib/Support/OpenMP-utils.cpp
M flang/lib/Utils/OpenMP.cpp
M flang/module/iso_fortran_env_impl.f90
M flang/test/Analysis/AliasAnalysis/alias-analysis-acc.mlir
R flang/test/Driver/Inputs/basictestmoduleone.mod
R flang/test/Driver/Inputs/ieee_arithmetic.mod
R flang/test/Driver/Inputs/iso_fortran_env.mod
A flang/test/Driver/Inputs/module-dir-one/basictestmoduleone.mod
A flang/test/Driver/Inputs/resource_dir_with_per_target_subdir/finclude/flang/x86_64-unknown-linux-gnu/.keep
M flang/test/Driver/intrinsic-module-path.f90
A flang/test/Driver/intrinsic-module-path_per_target.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Driver/use-module.f90
M flang/test/Fir/CUDA/cuda-device-address.mlir
M flang/test/Fir/array-coor-canonicalization.fir
M flang/test/Fir/array-coor.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/tbaa-codegen.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Fir/tbaa.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
M flang/test/HLFIR/opt-bufferization-skip-volatile.fir
A 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/debug-use-stmt.f90
M flang/test/Integration/prefetch.f90
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Lower/CUDA/cuda-program-global.cuf
M flang/test/Lower/HLFIR/tdesc-character-comp-init.f90
M flang/test/Lower/Intrinsics/bge.f90
M flang/test/Lower/Intrinsics/bgt.f90
M flang/test/Lower/Intrinsics/ble.f90
M flang/test/Lower/Intrinsics/blt.f90
M flang/test/Lower/Intrinsics/ieee_class.f90
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-declare-use-associated.f90
M flang/test/Lower/OpenACC/do-loops-to-acc-loops.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
R flang/test/Lower/OpenMP/Todo/atomic-compare.f90
A flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/OpenMP/declare-simd-interface-body.f90
M flang/test/Lower/OpenMP/declare-target-data.f90
A flang/test/Lower/OpenMP/default-mapper-no-pointer-map.f90
A flang/test/Lower/OpenMP/implicit-mapper-no-pointer-map.f90
A flang/test/Lower/OpenMP/lastprivate-equivalence.f90
M flang/test/Lower/OpenMP/threadprivate-char-array-chararray.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-reduction-multiple-clauses.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-constructor-1.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/array.f90
M flang/test/Lower/constant-literal-mangling.f90
M flang/test/Lower/constant-logical-transfer.f90
M flang/test/Lower/convert.f90
M flang/test/Lower/debug-use-stmt.f90
M flang/test/Lower/default-initialization-globals.f90
M flang/test/Lower/dense-array-any-rank.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/derived-type-descriptor.f90
M flang/test/Lower/equivalence-1.f90
M flang/test/Lower/equivalence-static-init.f90
A flang/test/Lower/global-alignment.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/module_definition.f90
M flang/test/Lower/module_use.f90
M flang/test/Lower/namelist-common-block.f90
A flang/test/Semantics/OpenACC/acc-default-none-scalars.f90
M flang/test/Semantics/OpenMP/affected-loops.f90
M flang/test/Semantics/OpenMP/atomic-compare.f90
A flang/test/Semantics/OpenMP/workdistribute05.f90
A flang/test/Semantics/declarations09.f90
M flang/test/Semantics/implicit07.f90
A flang/test/Transforms/FIRToMemRef/array-coor-rebox-slice-shape.mlir
M flang/test/Transforms/FIRToMemRef/array-coor-slice-shift.mlir
A flang/test/Transforms/FIRToMemRef/omp-wsloop-simd-private.mlir
A flang/test/Transforms/simplifyintrinsics-maxloc-loc.fir
A flang/test/Transforms/tbaa-type-converter-boxproc.fir
M flang/tools/bbc/bbc.cpp
M libc/Maintainers.md
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/darwin/aarch64/entrypoints.txt
A libc/config/freebsd/x86_64/entrypoints.txt
A libc/config/freebsd/x86_64/headers.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/docs/dev/syscall_wrapper_refactor.rst
M libc/hdr/CMakeLists.txt
M libc/hdr/elf_macros.h
M libc/hdr/errno_macros.h
M libc/hdr/fcntl_macros.h
M libc/hdr/fenv_macros.h
M libc/hdr/float_macros.h
M libc/hdr/limits_macros.h
M libc/hdr/link_macros.h
M libc/hdr/locale_macros.h
M libc/hdr/math_function_macros.h
M libc/hdr/math_macros.h
A libc/hdr/netinet_in_macros.h
M libc/hdr/offsetof_macros.h
M libc/hdr/pthread_macros.h
A libc/hdr/regex_macros.h
M libc/hdr/sched_macros.h
M libc/hdr/signal_macros.h
M libc/hdr/stdio_macros.h
M libc/hdr/stdlib_macros.h
M libc/hdr/sys_auxv_macros.h
M libc/hdr/sys_epoll_macros.h
M libc/hdr/sys_ioctl_macros.h
M libc/hdr/sys_ipc_macros.h
M libc/hdr/sys_mman_macros.h
M libc/hdr/sys_sem_macros.h
M libc/hdr/sys_socket_macros.h
M libc/hdr/sys_stat_macros.h
M libc/hdr/time_macros.h
M libc/hdr/types/ACTION.h
M libc/hdr/types/CMakeLists.txt
M libc/hdr/types/ENTRY.h
M libc/hdr/types/Elf32_Addr.h
M libc/hdr/types/Elf32_Chdr.h
M libc/hdr/types/Elf32_Dyn.h
M libc/hdr/types/Elf32_Ehdr.h
M libc/hdr/types/Elf32_Half.h
M libc/hdr/types/Elf32_Lword.h
M libc/hdr/types/Elf32_Nhdr.h
M libc/hdr/types/Elf32_Off.h
M libc/hdr/types/Elf32_Phdr.h
M libc/hdr/types/Elf32_Rel.h
M libc/hdr/types/Elf32_Rela.h
M libc/hdr/types/Elf32_Shdr.h
M libc/hdr/types/Elf32_Sword.h
M libc/hdr/types/Elf32_Sym.h
M libc/hdr/types/Elf32_Verdaux.h
M libc/hdr/types/Elf32_Verdef.h
M libc/hdr/types/Elf32_Vernaux.h
M libc/hdr/types/Elf32_Verneed.h
M libc/hdr/types/Elf32_Versym.h
M libc/hdr/types/Elf32_Word.h
M libc/hdr/types/Elf32_Xword.h
M libc/hdr/types/Elf32_auxv_t.h
M libc/hdr/types/Elf64_Addr.h
M libc/hdr/types/Elf64_Chdr.h
M libc/hdr/types/Elf64_Dyn.h
M libc/hdr/types/Elf64_Ehdr.h
M libc/hdr/types/Elf64_Half.h
M libc/hdr/types/Elf64_Lword.h
M libc/hdr/types/Elf64_Nhdr.h
M libc/hdr/types/Elf64_Off.h
M libc/hdr/types/Elf64_Phdr.h
M libc/hdr/types/Elf64_Rel.h
M libc/hdr/types/Elf64_Rela.h
M libc/hdr/types/Elf64_Shdr.h
M libc/hdr/types/Elf64_Sword.h
M libc/hdr/types/Elf64_Sxword.h
M libc/hdr/types/Elf64_Sym.h
M libc/hdr/types/Elf64_Verdaux.h
M libc/hdr/types/Elf64_Verdef.h
M libc/hdr/types/Elf64_Vernaux.h
M libc/hdr/types/Elf64_Verneed.h
M libc/hdr/types/Elf64_Versym.h
M libc/hdr/types/Elf64_Word.h
M libc/hdr/types/Elf64_Xword.h
M libc/hdr/types/Elf64_auxv_t.h
M libc/hdr/types/FILE.h
M libc/hdr/types/VISIT.h
M libc/hdr/types/atexithandler_t.h
M libc/hdr/types/clock_t.h
M libc/hdr/types/clockid_t.h
M libc/hdr/types/cookie_io_functions_t.h
M libc/hdr/types/cpu_set_t.h
M libc/hdr/types/div_t.h
M libc/hdr/types/fenv_t.h
M libc/hdr/types/fexcept_t.h
M libc/hdr/types/gid_t.h
A libc/hdr/types/in_addr_t.h
M libc/hdr/types/jmp_buf.h
M libc/hdr/types/key_t.h
M libc/hdr/types/ldiv_t.h
M libc/hdr/types/lldiv_t.h
M libc/hdr/types/locale_t.h
M libc/hdr/types/mbstate_t.h
M libc/hdr/types/mode_t.h
M libc/hdr/types/nfds_t.h
M libc/hdr/types/off_t.h
M libc/hdr/types/pid_t.h
M libc/hdr/types/posix_tnode.h
M libc/hdr/types/pthread_barrier_t.h
M libc/hdr/types/pthread_barrierattr_t.h
A libc/hdr/types/regex_t.h
A libc/hdr/types/regmatch_t.h
A libc/hdr/types/regoff_t.h
M libc/hdr/types/sigjmp_buf.h
M libc/hdr/types/stack_t.h
A libc/hdr/types/struct_in_addr.h
A libc/hdr/types/struct_mmsghdr.h
M libc/hdr/types/struct_pollfd.h
M libc/hdr/types/struct_rlimit.h
M libc/hdr/types/struct_sched_param.h
M libc/hdr/types/struct_sembuf.h
M libc/hdr/types/struct_semid_ds.h
M libc/hdr/types/struct_seminfo.h
A libc/hdr/types/struct_sockaddr_in.h
M libc/hdr/types/struct_stat.h
M libc/hdr/types/suseconds_t.h
M libc/hdr/types/time_t.h
M libc/hdr/types/uid_t.h
M libc/hdr/types/wchar_t.h
M libc/hdr/types/wctype_t.h
M libc/hdr/types/wint_t.h
M libc/hdr/unistd_macros.h
M libc/hdr/wchar_macros.h
M libc/include/CMakeLists.txt
M libc/include/arpa/inet.yaml
M libc/include/ctype.yaml
M libc/include/dlfcn.yaml
M libc/include/errno.yaml
M libc/include/fcntl.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/netinet-in-macros.h
A libc/include/llvm-libc-macros/regex-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.h
A libc/include/llvm-libc-types/regex_t.h
A libc/include/llvm-libc-types/regmatch_t.h
A libc/include/llvm-libc-types/regoff_t.h
A libc/include/llvm-libc-types/struct_mmsghdr.h
A libc/include/llvm-libc-types/struct_sockaddr_in.h
M libc/include/math.yaml
M libc/include/netinet/in.yaml
M libc/include/pthread.yaml
A libc/include/regex.yaml
M libc/include/sched.yaml
M libc/include/search.yaml
M libc/include/signal.yaml
M libc/include/stdfix.yaml
M libc/include/stdio.yaml
M libc/include/stdlib.yaml
M libc/include/string.yaml
M libc/include/sys/mman.yaml
M libc/include/sys/prctl.yaml
M libc/include/sys/resource.yaml
M libc/include/sys/select.yaml
M libc/include/sys/socket.yaml
M libc/include/sys/syscall.yaml
M libc/include/sys/wait.yaml
M libc/include/termios.yaml
M libc/include/time.yaml
M libc/include/unistd.yaml
M libc/include/wchar.yaml
M libc/shared/math.h
A libc/shared/math/isnanf16.h
M libc/shared/rpc_dispatch.h
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/iterator.h
M libc/src/__support/CPP/tuple.h
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
A libc/src/__support/OSUtil/freebsd/CMakeLists.txt
A libc/src/__support/OSUtil/freebsd/exit.cpp
A libc/src/__support/OSUtil/freebsd/io.h
A libc/src/__support/OSUtil/freebsd/syscall.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/close.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/getrandom.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/mmap.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/mprotect.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/munmap.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/open.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/read.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/write.h
A libc/src/__support/OSUtil/freebsd/x86_64/CMakeLists.txt
A libc/src/__support/OSUtil/freebsd/x86_64/syscall.h
M libc/src/__support/OSUtil/io.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/auxv.h
M libc/src/__support/OSUtil/linux/syscall.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/accept.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/accept4.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/access.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/bind.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/connect.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getpeername.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getsockname.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getsockopt.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/link.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/listen.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mmap.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mprotect.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/munmap.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/open.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/raise.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/readlink.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/recvfrom.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/recvmsg.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/rmdir.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/rt_sigprocmask.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/sendmmsg.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/sendmsg.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/sendto.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/setsockopt.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/shutdown.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/socket.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/socketpair.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/unlink.h
M libc/src/__support/OSUtil/syscall.h
M libc/src/__support/big_int.h
M libc/src/__support/complex_basic_ops.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/macros/attributes.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acos.h
M libc/src/__support/math/acosf.h
M libc/src/__support/math/acoshf.h
M libc/src/__support/math/asinf.h
M libc/src/__support/math/asinhf.h
M libc/src/__support/math/atan.h
M libc/src/__support/math/atan2.h
M libc/src/__support/math/atan2f.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atanf.h
M libc/src/__support/math/atanhf.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cbrtf.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/cosf.h
M libc/src/__support/math/coshf.h
M libc/src/__support/math/cospif.h
M libc/src/__support/math/dsqrtf128.h
M libc/src/__support/math/dsqrtl.h
M libc/src/__support/math/erff.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10f.h
M libc/src/__support/math/exp10m1f.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/exp2f.h
M libc/src/__support/math/exp2m1f.h
M libc/src/__support/math/expf.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/expm1f.h
M libc/src/__support/math/fsqrt.h
M libc/src/__support/math/fsqrtf128.h
M libc/src/__support/math/fsqrtl.h
A libc/src/__support/math/isnanf16.h
M libc/src/__support/math/issignaling.h
M libc/src/__support/math/log.h
M libc/src/__support/math/nextafterl.h
M libc/src/__support/math/nextdownl.h
M libc/src/__support/math/nextupl.h
M libc/src/__support/math/pow.h
M libc/src/__support/math/powf.h
M libc/src/__support/math/rsqrtf.h
M libc/src/__support/math/sin.h
M libc/src/__support/math/sinhf.h
M libc/src/__support/math/tan.h
M libc/src/__support/mathvec/expf.h
A libc/src/__support/net/CMakeLists.txt
A libc/src/__support/net/address.cpp
A libc/src/__support/net/address.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/wctype/CMakeLists.txt
A libc/src/__support/wctype/lower_to_upper.h
R libc/src/__support/wctype/lower_to_upper.inc
A libc/src/__support/wctype/perfect_hash_map.h
A libc/src/__support/wctype/upper_to_lower.h
R libc/src/__support/wctype/upper_to_lower.inc
M libc/src/arpa/inet/CMakeLists.txt
M libc/src/arpa/inet/inet_addr.cpp
M libc/src/arpa/inet/inet_addr.h
M libc/src/arpa/inet/inet_aton.cpp
M libc/src/arpa/inet/inet_aton.h
M libc/src/ctype/isalnum_l.h
M libc/src/ctype/isalpha_l.h
M libc/src/ctype/isblank_l.h
M libc/src/ctype/iscntrl_l.h
M libc/src/ctype/isdigit_l.h
M libc/src/ctype/isgraph_l.h
M libc/src/ctype/islower_l.h
M libc/src/ctype/isprint_l.h
M libc/src/ctype/ispunct_l.h
M libc/src/ctype/isspace_l.h
M libc/src/ctype/isupper_l.h
M libc/src/ctype/isxdigit_l.h
M libc/src/ctype/tolower_l.h
M libc/src/ctype/toupper_l.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/isnanf16.cpp
A libc/src/math/isnanf16.h
A libc/src/regex/CMakeLists.txt
A libc/src/regex/regcomp.cpp
A libc/src/regex/regcomp.h
A libc/src/regex/regerror.cpp
A libc/src/regex/regerror.h
A libc/src/regex/regexec.cpp
A libc/src/regex/regexec.h
A libc/src/regex/regfree.cpp
A libc/src/regex/regfree.h
M libc/src/setjmp/linux/CMakeLists.txt
M libc/src/setjmp/linux/sigsetjmp_epilogue.cpp
M libc/src/signal/CMakeLists.txt
M libc/src/signal/linux/CMakeLists.txt
A libc/src/signal/linux/pthread_sigmask.cpp
M libc/src/signal/linux/signal_utils.h
M libc/src/signal/linux/sigprocmask.cpp
A libc/src/signal/pthread_sigmask.h
M libc/src/stdio/generic/fgets.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/linux/abort_utils.h
A libc/src/stdlib/mblen.cpp
A libc/src/stdlib/mblen.h
M libc/src/string/memory_utils/utils.h
M libc/src/string/memory_utils/x86_64/inline_strlen.h
M libc/src/sys/prctl/linux/prctl.cpp
M libc/src/sys/prctl/prctl.h
M libc/src/sys/socket/CMakeLists.txt
M libc/src/sys/socket/linux/CMakeLists.txt
M libc/src/sys/socket/linux/bind.cpp
M libc/src/sys/socket/linux/recv.cpp
M libc/src/sys/socket/linux/recvfrom.cpp
M libc/src/sys/socket/linux/recvmsg.cpp
M libc/src/sys/socket/linux/send.cpp
A libc/src/sys/socket/linux/sendmmsg.cpp
M libc/src/sys/socket/linux/sendmsg.cpp
M libc/src/sys/socket/linux/sendto.cpp
M libc/src/sys/socket/linux/socket.cpp
M libc/src/sys/socket/linux/socketpair.cpp
M libc/src/sys/socket/recvfrom.h
A libc/src/sys/socket/sendmmsg.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/alarm.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/alarm.cpp
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/fgetwc.cpp
A libc/src/wchar/fgetws.cpp
A libc/src/wchar/fgetws.h
A libc/src/wchar/fputwc.cpp
A libc/src/wchar/fputwc.h
A libc/src/wchar/fputws.cpp
A libc/src/wchar/fputws.h
M libc/src/wchar/getwc.cpp
A libc/src/wchar/getwchar.cpp
A libc/src/wchar/getwchar.h
R libc/src/wchar/mblen.cpp
R libc/src/wchar/mblen.h
A libc/src/wchar/putwc.cpp
A libc/src/wchar/putwc.h
M libc/src/wchar/putwchar.cpp
M libc/src/wchar/putwchar.h
M libc/startup/linux/aarch64/CMakeLists.txt
M libc/startup/linux/aarch64/tls.cpp
M libc/startup/linux/riscv/CMakeLists.txt
M libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/CMakeLists.txt
M libc/startup/linux/x86_64/tls.cpp
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_constexpr_test.cpp
M libc/test/shared/shared_math_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/wctype/CMakeLists.txt
A libc/test/src/__support/wctype/wctype_perfect_hash_test.cpp
M libc/test/src/arpa/inet/inet_aton_test.cpp
M libc/test/src/math/AddTest.h
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/DivTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/MulTest.h
M libc/test/src/math/NearbyIntTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/RsqrtTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/SubTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acos_test.cpp
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/acospif_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/asinpi_test.cpp
M libc/test/src/math/asinpif_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/cbrtf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_float_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincos_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_float_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/DivTest.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMaximumMagNumTest.h
M libc/test/src/math/smoke/FMaximumMagTest.h
M libc/test/src/math/smoke/FMaximumNumTest.h
M libc/test/src/math/smoke/FMaximumTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FMinimumMagNumTest.h
M libc/test/src/math/smoke/FMinimumMagTest.h
M libc/test/src/math/smoke/FMinimumNumTest.h
M libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/ILogbTest.h
A libc/test/src/math/smoke/IsNanTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/MulTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/SubTest.h
A libc/test/src/math/smoke/isnanf16_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/mathvec/CMakeLists.txt
A libc/test/src/mathvec/exhaustive/CMakeLists.txt
A libc/test/src/mathvec/exhaustive/exhaustive_test.h
A libc/test/src/mathvec/exhaustive/expf_test.cpp
M libc/test/src/mathvec/expf_test.cpp
A libc/test/src/regex/CMakeLists.txt
A libc/test/src/regex/regerror_test.cpp
A libc/test/src/regex/regex_basic_test.cpp
M libc/test/src/signal/CMakeLists.txt
A libc/test/src/signal/pthread_sigmask_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fopen_test.cpp
M libc/test/src/stdio/rewind_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/mblen_test.cpp
M libc/test/src/sys/prctl/linux/prctl_test.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
M libc/test/src/sys/socket/linux/bind_test.cpp
A libc/test/src/sys/socket/linux/sendmmsg_test.cpp
M libc/test/src/sys/socket/linux/shutdown_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/alarm_test.cpp
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/fgetws_test.cpp
A libc/test/src/wchar/fputwc_test.cpp
A libc/test/src/wchar/fputws_test.cpp
A libc/test/src/wchar/getwchar_test.cpp
R libc/test/src/wchar/mblen_test.cpp
A libc/test/src/wchar/putwc_test.cpp
M libc/test/utils/FPUtil/x86_long_double_test.cpp
M libc/utils/docgen/netinet/in.yaml
M libc/utils/docgen/sys/socket.yaml
M libc/utils/hdrgen/hdrgen/header.py
M libc/utils/hdrgen/hdrgen/main.py
M libc/utils/hdrgen/hdrgen/symbol.py
M libc/utils/hdrgen/hdrgen/yaml_to_classes.py
M libclc/opencl/lib/generic/relational/bitselect.cl
R libclc/opencl/lib/generic/relational/bitselect.inc
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/lit.cfg.py
M libclc/test/lit.site.cfg.py.in
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/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__configuration/hardening.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__functional/hash.h
M libcxx/include/__cxx03/__iterator/aliasing_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__cxx03/__mutex/lock_guard.h
M libcxx/include/__cxx03/__mutex/mutex.h
M libcxx/include/__cxx03/__mutex/unique_lock.h
M libcxx/include/__cxx03/__random/piecewise_constant_distribution.h
M libcxx/include/__cxx03/__random/piecewise_linear_distribution.h
M libcxx/include/__cxx03/__type_traits/is_char_like_type.h
M libcxx/include/__cxx03/complex
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/limits
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/mutex
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
M libcxx/include/__iterator/access.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/data.h
M libcxx/include/__iterator/distance.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/move_sentinel.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_access.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/size.h
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/openbsd.h
A libcxx/include/__locale_dir/support/openbsd.h
M libcxx/include/__mdspan/extents.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
R libcxx/include/__support/xlocale/__strtonum_fallback.h
M libcxx/include/__thread/support/pthread.h
M libcxx/include/__verbose_trap
M libcxx/include/any
M libcxx/include/functional
M libcxx/include/mdspan
M libcxx/include/module.modulemap.in
M libcxx/include/string
M libcxx/include/tuple
M libcxx/test/extensions/clang/thread/thread.mutex/lock.verify.cpp
M libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_lock_guard.pass.cpp
M libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_lock_unlock.pass.cpp
M libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_missing_unlock.verify.cpp
M libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_requires_capability.pass.cpp
A libcxx/test/libcxx-03/containers/associative/map/abi.compile.pass.cpp
A libcxx/test/libcxx-03/containers/associative/set/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/associative/unord.map/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/associative/unord.set/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/deque/abi.compile.pass.cpp
A libcxx/test/libcxx-03/containers/sequences/forwardlist/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/list/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/vector.bool/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/vector/abi.compile.pass.cpp
M libcxx/test/libcxx-03/iterators/contiguous_iterators.conv.compile.pass.cpp
R libcxx/test/libcxx-03/iterators/contiguous_iterators.verify.cpp
M libcxx/test/libcxx-03/numerics/complex.number/cmplx.over.pow.pass.cpp
A libcxx/test/libcxx-03/strings/basic.string/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
A libcxx/test/libcxx/iterators/nodiscard.verify.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference/builtin_address_of.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctor_from_integral.pass.cpp
A libcxx/test/std/containers/views/mdspan/mdspan/at.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp
M libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_en_US.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_overlong.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_string_en_US.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_en_US.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_string_en_US.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.integer.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.verify.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/ctor_iterator.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/param_ctor_iterator.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/ctor_iterator.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/param_ctor_iterator.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/begin.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/end.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/star.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/subscript.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/views_iota.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/const_reference_types.verify.cpp
M libcxx/test/std/utilities/any/any.nonmembers/any.cast/reference_types.verify.cpp
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.const.verify.cpp
M libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.verify.cpp
M libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_Y.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/reference.builtin_address_of.pass.cpp
A libcxx/test/support/algorithms.h
M libcxx/test/support/copy_move_types.h
M libcxx/utils/generate_feature_test_macro_components.py
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/SystemZ.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Thunks.cpp
M lld/ELF/Writer.cpp
M lld/ELF/Writer.h
R lld/docs/Partitions.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/index.rst
R lld/docs/partitions.dot
R lld/docs/partitions.svg
M lld/test/ELF/aarch64-feature-pauth.s
M lld/test/ELF/loongarch-relocatable-align.s
R lld/test/ELF/partition-dynamic-linker.s
R lld/test/ELF/partition-errors.s
R lld/test/ELF/partition-exidx.s
R lld/test/ELF/partition-icf.s
R lld/test/ELF/partition-move-to-main-startstop.s
R lld/test/ELF/partition-move-to-main.s
R lld/test/ELF/partition-notes.s
R lld/test/ELF/partition-pack-dyn-relocs.s
R lld/test/ELF/partition-synthetic-sections.s
R lld/test/ELF/partition-thunk-reuse.s
M lld/test/ELF/partitions.s
M lld/test/ELF/riscv-relocatable-align.s
M lldb/bindings/interface/SBValueExtensions.i
M lldb/cmake/modules/AddLLDB.cmake
M lldb/docs/resources/formatterbytecode.rst
M lldb/docs/resources/lldbgdbremote.md
M lldb/docs/use/mcp.md
M lldb/examples/python/formatter_bytecode.py
M lldb/include/lldb/API/SBValue.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Core/UserSettingsController.h
M lldb/include/lldb/DataFormatters/FormatterBytecode.def
M lldb/include/lldb/Expression/ExpressionVariable.h
M lldb/include/lldb/Host/File.h
M lldb/include/lldb/Host/FileAction.h
A lldb/include/lldb/Host/FileBase.h
M lldb/include/lldb/Host/JSONTransport.h
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
A lldb/include/lldb/Host/posix/FilePosix.h
A lldb/include/lldb/Host/windows/FileWindows.h
M lldb/include/lldb/Host/windows/MainLoopWindows.h
M lldb/include/lldb/Host/windows/ProcessLauncherWindows.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/include/lldb/Host/windows/WindowsFileAction.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameProviderInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedHookInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedProcessInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/include/lldb/Interpreter/OptionValueProperties.h
M lldb/include/lldb/Interpreter/Property.h
M lldb/include/lldb/Symbol/TypeSystem.h
R lldb/include/lldb/Target/Policy.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/ScriptedThreadPlan.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Target/Thread.h
A lldb/include/lldb/Utility/Locked.h
A lldb/include/lldb/Utility/Policy.h
M lldb/include/lldb/Utility/ScriptedMetadata.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectCast.h
M lldb/include/module.modulemap
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBThreadPlan.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
M lldb/source/Breakpoint/BreakpointResolverScripted.cpp
M lldb/source/Commands/CommandObjectApropos.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/UserSettingsController.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/File.cpp
M lldb/source/Host/common/FileAction.cpp
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/Host.mm
A lldb/source/Host/posix/FilePosix.cpp
M lldb/source/Host/windows/ConnectionConPTYWindows.cpp
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
M lldb/source/Host/windows/FileSystem.cpp
A lldb/source/Host/windows/FileWindows.cpp
M lldb/source/Host/windows/Host.cpp
M lldb/source/Host/windows/HostInfoWindows.cpp
M lldb/source/Host/windows/HostProcessWindows.cpp
M lldb/source/Host/windows/HostThreadWindows.cpp
M lldb/source/Host/windows/MainLoopWindows.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/source/Host/windows/WindowsFileAction.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/OptionValue.cpp
M lldb/source/Interpreter/OptionValueProperties.cpp
M lldb/source/Interpreter/Property.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlTree.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlVariant.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
M lldb/source/Plugins/Platform/WebAssembly/PlatformWebInspectorWasm.cpp
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/ExceptionRecord.h
M lldb/source/Plugins/Process/Windows/Common/ForwardDecl.h
M lldb/source/Plugins/Process/Windows/Common/IDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.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/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
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/arm64/RegisterContextWindows_arm64.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/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
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/ProcessGDBRemoteProperties.td
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.h
M lldb/source/Plugins/SyntheticFrameProvider/ScriptedFrameProvider/ScriptedFrameProvider.cpp
M lldb/source/Target/AssertFrameRecognizer.cpp
M lldb/source/Target/CMakeLists.txt
R lldb/source/Target/Policy.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/ScriptedThreadPlan.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/Utility/FileSpecList.cpp
A lldb/source/Utility/Policy.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectCast.cpp
M lldb/source/ValueObject/ValueObjectMemory.cpp
M lldb/source/ValueObject/ValueObjectSynthetic.cpp
M lldb/source/ValueObject/ValueObjectVTable.cpp
M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
M lldb/test/API/commands/apropos/formatting/TestAproposFormatting.py
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/Makefile
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/TestEnumValueLookup.py
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/main.cpp
M lldb/test/API/commands/platform/process/list/TestProcessList.py
M lldb/test/API/commands/settings/TestSettings.py
A lldb/test/API/functionalities/breakpoint/breakpoint_while_running/Makefile
A lldb/test/API/functionalities/breakpoint/breakpoint_while_running/TestBreakpointWhileRunning.py
A lldb/test/API/functionalities/breakpoint/breakpoint_while_running/main.c
M lldb/test/API/functionalities/breakpoint/delayed_breakpoints/TestDelayedBreakpoint.py
M lldb/test/API/functionalities/data-formatter/bytecode-summary/TestBytecodeSummary.py
M lldb/test/API/functionalities/data-formatter/bytecode-synthetic/TestBytecodeSynthetic.py
A lldb/test/API/functionalities/duplicate-archive-members/Makefile
A lldb/test/API/functionalities/duplicate-archive-members/TestDuplicateMembers.py
A lldb/test/API/functionalities/duplicate-archive-members/a.c
A lldb/test/API/functionalities/duplicate-archive-members/main.c
A lldb/test/API/functionalities/duplicate-archive-members/sub1/a.c
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
A lldb/test/API/functionalities/gdb_remote_client/TestPacketTestDelay.py
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
M lldb/test/API/functionalities/unwind/libunwind_ret_injection/TestLibUnwindRetInjection.py
M lldb/test/API/lang/c/cpp_keyword_identifiers/Makefile
M lldb/test/API/lang/c/function_types/TestFunctionTypes.py
M lldb/test/API/lang/cpp/operator-overload/Makefile
M lldb/test/API/lang/cpp/struct_with_keyword_name/Makefile
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
R lldb/test/API/macosx/duplicate-archive-members/Makefile
R lldb/test/API/macosx/duplicate-archive-members/TestDuplicateMembers.py
R lldb/test/API/macosx/duplicate-archive-members/a.c
R lldb/test/API/macosx/duplicate-archive-members/main.c
R lldb/test/API/macosx/duplicate-archive-members/sub1/a.c
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M lldb/test/API/python_api/process/TestProcessAPI.py
A lldb/test/API/python_api/sbvalue_get_parent/Makefile
A lldb/test/API/python_api/sbvalue_get_parent/MyContainer_synthetic.py
A lldb/test/API/python_api/sbvalue_get_parent/TestSBValueGetParent.py
A lldb/test/API/python_api/sbvalue_get_parent/main.cpp
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/windows/launch/missing-dll/TestMissingDll.py
M lldb/test/CMakeLists.txt
A lldb/test/Shell/Commands/process-attach-dummy.test
M lldb/test/Shell/Recognizer/assert.test
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt
M lldb/test/Shell/Settings/TestCxxFrameFormatPartialFailure.test
M lldb/test/Shell/SymbolFile/NativePDB/ast-methods.cpp
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
M lldb/test/Shell/Target/dependent-modules-nodupe-windows.test
M lldb/test/Shell/helper/toolchain.py
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
M lldb/tools/lldb-dap/README.md
A lldb/tools/lldb-dap/extension/.npmrc
M lldb/tools/lldb-dap/extension/package-lock.json
M lldb/tools/lldb-dap/extension/package.json
A lldb/tools/lldb-dap/extension/src/commands/attach-to-process.ts
A lldb/tools/lldb-dap/extension/src/commands/pick-process.ts
A lldb/tools/lldb-dap/extension/src/commands/pid-helpers.ts
M lldb/tools/lldb-dap/extension/src/debug-configuration-provider.ts
M lldb/tools/lldb-dap/extension/src/extension.ts
A lldb/tools/lldb-dap/extension/src/process-tree.ts
M lldb/tools/lldb-dap/extension/syntaxes/disassembly.json
A lldb/tools/lldb-dap/extension/test/unit/pid-helpers.test.ts
A lldb/tools/lldb-dap/extension/test/unit/process-tree.test.ts
M lldb/tools/lldb-dap/extension/tsconfig.json
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
M lldb/unittests/Target/CMakeLists.txt
R lldb/unittests/Target/PolicyTest.cpp
M lldb/unittests/Utility/CMakeLists.txt
A lldb/unittests/Utility/LockedTest.cpp
A lldb/unittests/Utility/PolicyTest.cpp
M llvm/cmake/modules/CrossCompile.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/AliasAnalysis.rst
M llvm/docs/CIBestPractices.rst
M llvm/docs/CMake.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/Passes.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
R llvm/docs/requirements-hashed.txt
M llvm/docs/requirements.txt
A llvm/docs/requirements.txt.in
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/DenseSet.h
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/Analysis/CodeMetrics.h
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/InstCount.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetSchedule.h
M llvm/include/llvm/DWP/DWP.h
R llvm/include/llvm/DWP/DWPStringPool.h
M llvm/include/llvm/Demangle/DemangleConfig.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/FunctionProperties.def
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instruction.def
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/User.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/MC/DXContainerInfo.h
M llvm/include/llvm/MC/MCSchedule.h
M llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
A llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/include/llvm/Transforms/IPO/InstrumentorUtils.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
M llvm/lib/Analysis/CodeMetrics.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/InstCount.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GCRootLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/MachineBlockHashInfo.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/RemoveRedundantDebugValues.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/CodeGen/TargetSchedule.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWP/DWP.cpp
M llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinter.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/MC/DXContainerInfo.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSchedule.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/lib/Object/DXContainer.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/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/SandboxIR/Type.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/SmallPtrSet.cpp
M llvm/lib/Support/Unicode.cpp
M llvm/lib/Support/UnicodeNameToCodepoint.cpp
M llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
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.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
M llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
M llvm/lib/Target/AArch64/AArch64SchedCyclone.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
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/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.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/AMDGPURewriteUndefForPHI.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.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/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/R600Subtarget.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.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/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.h
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
M llvm/lib/Target/CSKY/CSKYInstrInfoF1.td
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/Mips/MipsInstrFPU.td
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrAltivec.td
M llvm/lib/Target/PowerPC/PPCInstrFormats.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXqccmt.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvzip.td
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/lib/Target/RISCV/RISCVProcessors.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/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/SparcInstrVIS.td
M llvm/lib/Target/SystemZ/SystemZOperands.td
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
A llvm/lib/TargetParser/AMDGPUTargetParser.cpp
M llvm/lib/TargetParser/CMakeLists.txt
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/IPO.cpp
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
M llvm/lib/Transforms/IPO/InstrumentorUtils.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/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/VPlanUtils.h
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/AliasSet/argmemonly.ll
M llvm/test/Analysis/AliasSet/guards.ll
M llvm/test/Analysis/AliasSet/intrinsics.ll
M llvm/test/Analysis/AliasSet/memloc-vscale.ll
M llvm/test/Analysis/AliasSet/memset.ll
M llvm/test/Analysis/AliasSet/memtransfer.ll
M llvm/test/Analysis/AliasSet/saturation.ll
M llvm/test/Analysis/BasicAA/separate_storage-alias-sets.ll
M llvm/test/Analysis/CostModel/AArch64/masked_expand_load.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
A llvm/test/Analysis/CostModel/RISCV/shuffle-load.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Analysis/CostModel/X86/reduce-smax.ll
M llvm/test/Analysis/CostModel/X86/reduce-smin.ll
M llvm/test/Analysis/CostModel/X86/reduce-umax.ll
M llvm/test/Analysis/CostModel/X86/reduce-umin.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Analysis/InstCount/instcount.ll
A llvm/test/Analysis/InstCount/pipeline.ll
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/MustExecute/const-cond.ll
M llvm/test/Analysis/MustExecute/infinite_loops.ll
M llvm/test/Analysis/MustExecute/irreducible-cfg.ll
M llvm/test/Analysis/MustExecute/loop-header.ll
M llvm/test/Analysis/MustExecute/must_be_executed_context.ll
M llvm/test/Analysis/MustExecute/pr57780.ll
M llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll
M llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
M llvm/test/Analysis/ScalarEvolution/exact-exit-count-more-precise.ll
M llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
M llvm/test/Analysis/ScalarEvolution/flags-from-poison-noautogen.ll
M llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/max-expr-cache.ll
M llvm/test/Analysis/ScalarEvolution/outer_phi.ll
M llvm/test/Analysis/ScalarEvolution/scev-dispositions.ll
M llvm/test/Analysis/ScalarEvolution/trivial-phis.ll
M llvm/test/Analysis/ScalarEvolution/two-loop-latches.ll
M llvm/test/Analysis/ScalarEvolution/zext-add-nsw-fold.ll
M llvm/test/Analysis/ScalarEvolution/zext-add.ll
M llvm/test/Analysis/ValueTracking/deref-abstract-gc.ll
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/Assembler/constant-splat.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-avg.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-fcmeq.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-srem.mir
R llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-aarch64-sdiv.mir
M llvm/test/CodeGen/AArch64/aarch64-isel-umin.ll
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AArch64/arm64-mul.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
M llvm/test/CodeGen/AArch64/arm64-vhadd.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
A llvm/test/CodeGen/AArch64/arm64e-tail-call-autib.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
M llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/clmul-scalable.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/AArch64/fabs.ll
M llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
A llvm/test/CodeGen/AArch64/fmaximumnum-fminimumnum-select.ll
M llvm/test/CodeGen/AArch64/fneg.ll
M llvm/test/CodeGen/AArch64/hadd-combine.ll
A llvm/test/CodeGen/AArch64/inline-asm-clobber-x29-x30.ll
A llvm/test/CodeGen/AArch64/machine-sme-abi-skip-debug-inst.mir
M llvm/test/CodeGen/AArch64/partial-reduction-sub-fp.ll
A llvm/test/CodeGen/AArch64/pauth-lr-tail-call-fpdiff.ll
M llvm/test/CodeGen/AArch64/sve-bad-intrinsics.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc-stores.ll
A llvm/test/CodeGen/AArch64/sve-multivector-loads.ll
M llvm/test/CodeGen/AArch64/swap-compare-operands.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-int-conversions.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-s16-true16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ctpop.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptosi-sat.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptoui-sat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-salu-float.mir
M llvm/test/CodeGen/AMDGPU/add_u64.ll
A llvm/test/CodeGen/AMDGPU/amdgcn-av-scopes.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-flat-scratch-init-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-min-agpr-alloc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
A llvm/test/CodeGen/AMDGPU/av-invalid-scope.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
A llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll
M llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
M llvm/test/CodeGen/AMDGPU/ctpop.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-reassociate-multi-memop.ll
M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/gep-flags-stack-offsets.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
A llvm/test/CodeGen/AMDGPU/gfx12-5-generic-no-xnack.ll
M llvm/test/CodeGen/AMDGPU/hip.extern.shared.array.ll
A llvm/test/CodeGen/AMDGPU/insert-delay-alu-attr.ll
M llvm/test/CodeGen/AMDGPU/inst-prefetch-hint.ll
A llvm/test/CodeGen/AMDGPU/inst-prefetch-inline-asm.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/lds-relocs.ll
M llvm/test/CodeGen/AMDGPU/literal64.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.u32.u8.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/permute.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-global.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-scratch.ll
M llvm/test/CodeGen/AMDGPU/sched.barrier.inverted.mask.ll
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
M llvm/test/CodeGen/AMDGPU/shl_add.ll
A llvm/test/CodeGen/AMDGPU/si-fold-operands-gfx11.mir
A llvm/test/CodeGen/AMDGPU/si-fold-scalar-add-sub-imm.mir
M llvm/test/CodeGen/AMDGPU/si-split-load-store-alias-info.ll
A llvm/test/CodeGen/AMDGPU/sroa-phi-nodes.ll
M llvm/test/CodeGen/AMDGPU/sub_u64.ll
A llvm/test/CodeGen/AMDGPU/unsupported-av-load.ll
A llvm/test/CodeGen/AMDGPU/unsupported-av-store.ll
A llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
M llvm/test/CodeGen/AMDGPU/wqm.ll
M llvm/test/CodeGen/ARM/2012-08-27-CopyPhysRegCrash.ll
M llvm/test/CodeGen/ARM/Windows/wineh-framepointer.ll
A llvm/test/CodeGen/ARM/pr196779.ll
A llvm/test/CodeGen/ARM/seh-except.ll
A llvm/test/CodeGen/ARM/seh-finally.ll
A llvm/test/CodeGen/ARM/wineh-dtor.ll
A llvm/test/CodeGen/ARM/wineh-try-catch-stack-args.ll
A llvm/test/CodeGen/BPF/fence-singlethread.ll
M llvm/test/CodeGen/DirectX/discard_error.ll
M llvm/test/CodeGen/Generic/gc-lowering.ll
M llvm/test/CodeGen/Generic/shadow-stack-gc-lowering.ll
A llvm/test/CodeGen/Hexagon/reserved-regs.ll
M llvm/test/CodeGen/Lanai/multiply.ll
R llvm/test/CodeGen/LoongArch/lasx/ir-instruction/avg.ll
R llvm/test/CodeGen/LoongArch/lsx/ir-instruction/avg.ll
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/rem_and_div.mir
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div.ll
M llvm/test/CodeGen/NVPTX/atomics-sm60.ll
M llvm/test/CodeGen/NVPTX/intr-range.ll
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-multiple-users.ll
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-rollback.mir
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-vector-float.ll
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion.ll
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-no-inversion.ll
A llvm/test/CodeGen/NVPTX/nvvm-abs.ll
A llvm/test/CodeGen/NVPTX/reqnctapercluster-const-fold.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/PowerPC/aix-alias.ll
M llvm/test/CodeGen/PowerPC/aix-alloca-r31.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-mem.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval.ll
M llvm/test/CodeGen/PowerPC/aix-cc-ext-vec-abi.ll
M llvm/test/CodeGen/PowerPC/aix-complex.ll
M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-ssp.ll
M llvm/test/CodeGen/PowerPC/aix-exception.ll
M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
M llvm/test/CodeGen/PowerPC/aix-extern.ll
M llvm/test/CodeGen/PowerPC/aix-ifunc-obj.ll
M llvm/test/CodeGen/PowerPC/aix-ifunc.ll
M llvm/test/CodeGen/PowerPC/aix-llvm-intrinsic.ll
M llvm/test/CodeGen/PowerPC/aix-no-inline-glue.ll
M llvm/test/CodeGen/PowerPC/aix-p9-insert-extract.ll
M llvm/test/CodeGen/PowerPC/aix-p9-xxinsertw-xxextractuw.ll
M llvm/test/CodeGen/PowerPC/aix-reloc-sorting.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-char.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-double.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-float.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-int.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-short.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-loadaddr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-double.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-int.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-target-flags.ll
M llvm/test/CodeGen/PowerPC/aix-tls-ie-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-O0.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-double.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-float.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-int.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-trampoline.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills-mir.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills.ll
M llvm/test/CodeGen/PowerPC/aix-vector-stack-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-fixed-caller.ll
M llvm/test/CodeGen/PowerPC/aix-weak.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-data-sections.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-explicit-section.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll
M llvm/test/CodeGen/PowerPC/aix64-cc-byval.ll
M llvm/test/CodeGen/PowerPC/basic-toc-data-extern.ll
M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-mfspr-mtspr-64bit-only.ll
M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-prefetch.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/const-nonsplat-array-init.ll
M llvm/test/CodeGen/PowerPC/const-splat-array-init.ll
M llvm/test/CodeGen/PowerPC/ctrloops-pseudo.ll
M llvm/test/CodeGen/PowerPC/fast-isel-branch.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
M llvm/test/CodeGen/PowerPC/global-merge-aix-sections.ll
M llvm/test/CodeGen/PowerPC/huge-frame-call.ll
M llvm/test/CodeGen/PowerPC/licm-tocReg.ll
M llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll
M llvm/test/CodeGen/PowerPC/memset-tail.ll
M llvm/test/CodeGen/PowerPC/merge-private.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-large.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool.ll
M llvm/test/CodeGen/PowerPC/p10-handle-split-promote-vec.ll
M llvm/test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll
A llvm/test/CodeGen/PowerPC/partial-red.ll
M llvm/test/CodeGen/PowerPC/ppc-float-spill.ll
M llvm/test/CodeGen/PowerPC/ppc-shufflevector-combine.ll
M llvm/test/CodeGen/PowerPC/pr74951.ll
M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
M llvm/test/CodeGen/PowerPC/reduce_scalarization.ll
M llvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll
M llvm/test/CodeGen/PowerPC/splat-after-xxsldwi.ll
M llvm/test/CodeGen/PowerPC/stack-guard-oob.ll
M llvm/test/CodeGen/PowerPC/stack-protector-target.ll
M llvm/test/CodeGen/PowerPC/stack-protector.ll
M llvm/test/CodeGen/PowerPC/toc-data-common.ll
M llvm/test/CodeGen/PowerPC/toc-data-const.ll
M llvm/test/CodeGen/PowerPC/toc-data-struct-array.ll
M llvm/test/CodeGen/PowerPC/toc-data.ll
M llvm/test/CodeGen/PowerPC/v16i8_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v4i32_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v8i16_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vec_shuffle_p8vector.ll
M llvm/test/CodeGen/PowerPC/xxinsertw.ll
M llvm/test/CodeGen/PowerPC/xxperm-swap.ll
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/fixed-vectors-calling-conv.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/CodeGen/RISCV/fixed-x27-crash.ll
A llvm/test/CodeGen/RISCV/jump-is-expensive.ll
M llvm/test/CodeGen/RISCV/musttail-call.ll
A llvm/test/CodeGen/RISCV/musttail-indirect-args.ll
A llvm/test/CodeGen/RISCV/rvp-bitcast-const-fold.ll
A llvm/test/CodeGen/RISCV/rvp-bitcast-paired.ll
M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
A llvm/test/CodeGen/RISCV/rvv/bitcast-cmp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
A llvm/test/CodeGen/RISCV/rvv/musttail-indirect-args.ll
A llvm/test/CodeGen/RISCV/rvv/pr199509.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.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/vmerge-peephole.mir
M llvm/test/CodeGen/SPIRV/GlobalISel/fn-ptr-addrspacecast.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/OpIsFinite.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/OpIsNormal.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
M llvm/test/CodeGen/SPIRV/instructions/float-fast-flags.ll
M llvm/test/CodeGen/SPIRV/instructions/scalar-floating-point-arithmetic.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-multiply.ll
M llvm/test/CodeGen/SPIRV/opencl/ddx-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddx_coarse-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddx_fine-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddy-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddy_coarse-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddy_fine-error.ll
M llvm/test/CodeGen/SPIRV/opencl/faceforward-error.ll
M llvm/test/CodeGen/SPIRV/opencl/fwidth-error.ll
M llvm/test/CodeGen/SPIRV/opencl/packhalf2x16-error.ll
M llvm/test/CodeGen/SPIRV/opencl/reflect-error.ll
M llvm/test/CodeGen/SPIRV/opencl/refract-error.ll
M llvm/test/CodeGen/SPIRV/opencl/unpackhalf2x16-error.ll
M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
M llvm/test/CodeGen/WebAssembly/memory-interleave.ll
M llvm/test/CodeGen/WebAssembly/slp-memory-interleave.ll
M llvm/test/CodeGen/WinEH/wineh-intrinsics-invalid.ll
M llvm/test/CodeGen/X86/GlobalISel/add-scalar.ll
M llvm/test/CodeGen/X86/GlobalISel/select-add-x32.mir
M llvm/test/CodeGen/X86/GlobalISel/sub-scalar.ll
M llvm/test/CodeGen/X86/atomic-load-store.ll
M llvm/test/CodeGen/X86/avgfloors.ll
M llvm/test/CodeGen/X86/avx-cvt-3.ll
M llvm/test/CodeGen/X86/avx512-calling-conv.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/avx512fp16-novl.ll
M llvm/test/CodeGen/X86/combine-reductions.ll
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
A llvm/test/CodeGen/X86/gfni-operand-and-fold.ll
R llvm/test/CodeGen/X86/horizontal-reduce-smax.ll
R llvm/test/CodeGen/X86/horizontal-reduce-smin.ll
R llvm/test/CodeGen/X86/horizontal-reduce-umax.ll
R llvm/test/CodeGen/X86/horizontal-reduce-umin.ll
M llvm/test/CodeGen/X86/i128-add.ll
M llvm/test/CodeGen/X86/ifma-combine-vpmadd52.ll
A llvm/test/CodeGen/X86/inline-asm-intel-negative-scale.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/known-signbits-vector.ll
M llvm/test/CodeGen/X86/ldexp-avx512.ll
M llvm/test/CodeGen/X86/machine-block-hash.mir
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/masked-sdiv.ll
M llvm/test/CodeGen/X86/masked-srem.ll
M llvm/test/CodeGen/X86/masked-udiv.ll
M llvm/test/CodeGen/X86/masked-urem.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/masked_gather_scatter_widen.ll
M llvm/test/CodeGen/X86/masked_store.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
A llvm/test/CodeGen/X86/pr196804.ll
M llvm/test/CodeGen/X86/pr74736.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/sad_variations.ll
M llvm/test/CodeGen/X86/vec-strict-cmp-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-cmp-sub128.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll
M llvm/test/CodeGen/X86/vec_smulo.ll
M llvm/test/CodeGen/X86/vec_umulo.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-extract-last-active.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-reduce-smax.ll
M llvm/test/CodeGen/X86/vector-reduce-smin.ll
M llvm/test/CodeGen/X86/vector-reduce-umax.ll
M llvm/test/CodeGen/X86/vector-reduce-umin.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll
M llvm/test/DebugInfo/COFF/fortran-basic.ll
M llvm/test/DebugInfo/Generic/dbg-value-lower-linenos.ll
M llvm/test/FileCheck/dump-input/annotations.txt
A llvm/test/FileCheck/match-time-error-propagation/invalid-excluded-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/invalid-expected-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/matched-excluded-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/matched-expected-pattern.txt
M llvm/test/Instrumentation/Instrumentor/default_config.json
M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_alias.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop2.s
A llvm/test/MC/AMDGPU/gfx12_5_generic_asm_vop3_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
A llvm/test/MC/AMDGPU/gfx13_asm_valu_lit64.s
M llvm/test/MC/AMDGPU/literals.s
M llvm/test/MC/ARM/thumb-diagnostics.s
A llvm/test/MC/ARM/thumb2-ldrd-strd-post-imm8s4-invalid.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p.txt
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/rvf-user-csr-names.s
A llvm/test/MC/RISCV/xqccmt-invalid.s
A llvm/test/MC/RISCV/xqccmt-user-csr-name.s
A llvm/test/MC/RISCV/xqccmt-valid.s
M llvm/test/MC/X86/intel-syntax-invalid-scale.s
A llvm/test/MachineVerifier/AMDGPU/dpp-sgpr-src1.mir
M llvm/test/MachineVerifier/test_g_extract_subvector.mir
M llvm/test/MachineVerifier/test_g_insert_subvector.mir
M llvm/test/Other/debugcounter-predicateinfo.ll
M llvm/test/Other/print-cfg-scc.ll
M llvm/test/TableGen/ArtificialRegs.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerRecursion.td
M llvm/test/TableGen/aarch64-apple-tuning-features.td
M llvm/test/TableGen/address-space-patfrags.td
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
M llvm/test/Transforms/ArgumentPromotion/BPF/argpromotion.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
A llvm/test/Transforms/CodeGenPrepare/X86/null-psi-no-crash.ll
M llvm/test/Transforms/CodeGenPrepare/X86/split-store-alignment.ll
M llvm/test/Transforms/Coroutines/coro-materialize.ll
M llvm/test/Transforms/FunctionSpecialization/ssa-copy.ll
M llvm/test/Transforms/HotColdSplit/issue-197982.ll
A llvm/test/Transforms/Inline/alloc-token.ll
A llvm/test/Transforms/InstCombine/bfloat-bitcast-fcmp-zero.ll
M llvm/test/Transforms/InstCombine/dbg-scalable-store-fixed-frag.ll
M llvm/test/Transforms/InstCombine/dbg-simplify-alloca-size.ll
M llvm/test/Transforms/InstCombine/fdim.ll
M llvm/test/Transforms/InstCombine/fmod.ll
M llvm/test/Transforms/InstCombine/ldexp.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
M llvm/test/Transforms/InstCombine/modular-format.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/reduction-mul-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/select-min-max.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/sext-nonneg-sub.ll
A llvm/test/Transforms/InstCombine/trunc-minmax-intrinsics.ll
M llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll
M llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll
M llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll
M llvm/test/Transforms/LoopInterchange/lcssa-phi-outer-latch.ll
M llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
R llvm/test/Transforms/LoopInterchange/many-load-stores.ll
A llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll
A llvm/test/Transforms/LoopInterchange/ninf.ll
A llvm/test/Transforms/LoopInterchange/non-lcssa-phi-in-inner-exit.ll
A llvm/test/Transforms/LoopInterchange/outer-latch-phi.ll
M llvm/test/Transforms/LoopInterchange/perserve-lcssa.ll
M llvm/test/Transforms/LoopInterchange/pr57148.ll
A llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
M llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
A llvm/test/Transforms/LoopInterchange/reduction-not-involve-innermost.ll
M llvm/test/Transforms/LoopInterchange/reduction2mem.ll
M llvm/test/Transforms/LoopUnroll/RISCV/vector.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment.ll
M llvm/test/Transforms/LoopVectorize/AArch64/findlast-epilogue-loop.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invalid-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/load-cast-context.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked_ldst_sme.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub-epilogue-vec.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-with-invariant-stores.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reverse-load-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/struct-return-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vscale-fixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-epilogue-vec.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/partial-reduce-usabs.ll
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/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/scalarize-wide-load-for-address-use.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
M llvm/test/Transforms/LoopVectorize/VPlan/find-last.ll
M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
A llvm/test/Transforms/LoopVectorize/VPlan/for-phi-ordering.ll
M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/VPlan/widen-canonical-iv-register-pressure.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-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-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-f64-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-store-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/cast-costs.ll
R llvm/test/Transforms/LoopVectorize/X86/constant-fold.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/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.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/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/widen-canonical-iv-register-pressure.ll
M llvm/test/Transforms/LoopVectorize/control-flow.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
A llvm/test/Transforms/LoopVectorize/fold-epilogue-tail.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-scalable.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/narrow-interleave-groups-scalable-vf.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_early_exit.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/pr25281.ll
M llvm/test/Transforms/LoopVectorize/pr38800.ll
M llvm/test/Transforms/LoopVectorize/predicated-inductions-vs-first-order-recurrences.ll
M llvm/test/Transforms/LoopVectorize/predicated-single-exit.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
A llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-masked-mem-opts.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-replicate-region.ll
A llvm/test/Transforms/LoopVectorize/test-remarks-leak.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
A llvm/test/Transforms/PGOProfile/Inputs/indirect-call-vp-zeros.ll
A llvm/test/Transforms/PGOProfile/indirect-call-vp-zeros.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll
M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smax.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smin.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umax.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umin.ll
A llvm/test/Transforms/PhaseOrdering/X86/madd.ll
A llvm/test/Transforms/PhaseOrdering/X86/sad.ll
A llvm/test/Transforms/PhaseOrdering/X86/sad_variations.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/invoke-extract.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalable-type-revec.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalable-vector.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/trunc-insertion.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s352.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/transform-node-gather-struct.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-stores.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/buildvector-all-external-scalars.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/fmuladd_width_prop.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/load-store.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/ordered-reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reduced-value-repeated-and-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-store.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-store-chains.ll
A llvm/test/Transforms/SLPVectorizer/X86/callbr-extract.ll
M llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll
M llvm/test/Transforms/SLPVectorizer/X86/complex-fma-combine.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable_reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/extracts-non-extendable.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-extractelements-different-bbs.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-smax.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-use-bitcasted-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/no_alternate_divrem.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-bswap.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-node-with-non-schedulable-parent.ll
A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-user-different-bb.ll
M llvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
A llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-replaced.ll
A llvm/test/Transforms/SLPVectorizer/X86/ordered-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/parent-node-split-non-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-bool-logic-op-inside.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-same-vals.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder-non-empty.ll
M llvm/test/Transforms/SLPVectorizer/X86/schedule-bundle.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-reduction-op.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
A llvm/test/Transforms/SLPVectorizer/X86/struct-return-extract-dominance.ll
A llvm/test/Transforms/SLPVectorizer/X86/struct-return-ordering-stress.ll
M llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
M llvm/test/Transforms/SLPVectorizer/X86/user-with-multi-copyable-ops.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-pair-path.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
M llvm/test/Transforms/SLPVectorizer/bool-logical-op-reduction-with-poison.ll
M llvm/test/Transforms/SLPVectorizer/buildvector-nodes-dependency.ll
M llvm/test/Transforms/SLPVectorizer/crash_exceed_scheduling.ll
M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
M llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
A llvm/test/Transforms/SLPVectorizer/non-vect-loads.ll
M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
M llvm/test/Transforms/SLPVectorizer/reduced-gathered-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/sincos.ll
M llvm/test/Transforms/SLPVectorizer/struct-return-revec.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-live-on-exit.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-max-jump-threading-live-blocks.ll
M llvm/test/Transforms/Util/PredicateInfo/assume-operand-bundles.ll
M llvm/test/Transforms/Util/PredicateInfo/branch-on-same-cond.ll
M llvm/test/Transforms/Util/PredicateInfo/condprop.ll
M llvm/test/Transforms/Util/PredicateInfo/diamond.ll
M llvm/test/Transforms/Util/PredicateInfo/edge.ll
M llvm/test/Transforms/Util/PredicateInfo/ordering.ll
M llvm/test/Transforms/Util/PredicateInfo/pr33456.ll
M llvm/test/Transforms/Util/PredicateInfo/pr33457.ll
M llvm/test/Transforms/Util/PredicateInfo/testandor.ll
M llvm/test/Transforms/Util/PredicateInfo/unnamed-types.ll
M llvm/test/Transforms/Util/PredicateInfo/unreachable.ll
A llvm/test/Transforms/VectorCombine/AArch64/fold-reduce-add-cmp-zero.ll
M llvm/test/Transforms/VectorCombine/AArch64/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/AArch64/icmp-vector-reduce.ll
A llvm/test/Transforms/VectorCombine/AArch64/partial-reduce-crash.ll
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.7
[skip ci]
Commit: cd27e2e847e1a061ee8f5fa303624af69afb17e9
https://github.com/llvm/llvm-project/commit/cd27e2e847e1a061ee8f5fa303624af69afb17e9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
M .ci/metrics/Dockerfile
M .github/CODEOWNERS
M .github/workflows/commit-access-greeter.yml
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/docs.yml
M .github/workflows/issue-release-workflow.yml
A .github/workflows/libc-freebsd-vm-tests.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.yml
M .github/workflows/libcxx-run-benchmarks.yml
M .github/workflows/llvm-abi-tests.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-doxygen.yml
M .github/workflows/release-sources.yml
R .github/workflows/require-release-manager/action.yml
A .github/workflows/require-team-membership/action.yml
M .github/workflows/unprivileged-download-artifact/action.yml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
A bolt/test/AArch64/crel-relocs.s
M bolt/test/AArch64/validate-secondary-entry-point.s
M bolt/test/RISCV/branch-no-secondary-entry.s
A bolt/test/RISCV/dynamic-link.s
M bolt/test/RISCV/fake-label-no-entry.c
M bolt/test/RISCV/function-alignment.s
M bolt/test/RISCV/internal-func-reloc.s
M bolt/test/RISCV/lit.local.cfg
M bolt/test/RISCV/load-store.s
A bolt/test/RISCV/pie.s
A bolt/test/RISCV/reloc-32.s
M bolt/test/RISCV/reloc-abs.s
A bolt/test/RISCV/reloc-bb-split-rv32.s
M bolt/test/RISCV/reloc-bb-split.s
M bolt/test/RISCV/reloc-branch.s
M bolt/test/RISCV/reloc-call.s
M bolt/test/RISCV/reloc-got.s
M bolt/test/RISCV/reloc-jal.s
M bolt/test/RISCV/reloc-jt.s
M bolt/test/RISCV/reloc-label-diff.s
A bolt/test/RISCV/reloc-lohi-rv32.s
A bolt/test/RISCV/reloc-pcrel-rv32.s
M bolt/test/RISCV/reloc-pcrel.s
M bolt/test/RISCV/reloc-rvc-branch.s
M bolt/test/RISCV/reloc-rvc-jump.s
M bolt/test/RISCV/reorder-blocks-reverse.s
A bolt/test/RISCV/static-pie.s
M bolt/test/RISCV/validate-secondary-entry-point.s
M bolt/test/X86/Inputs/double_jump.cpp
M bolt/test/X86/Inputs/inlined.cpp
M bolt/test/X86/Inputs/linenumber.cpp
M bolt/test/runtime/bolt-reserved.cpp
M bolt/test/runtime/relative-vftable.cpp
M bolt/unittests/Passes/PointerAuthCFIFixup.cpp
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeReader.h
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
M clang-tools-extra/clang-doc/ClangDoc.cpp
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
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/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
M clang-tools-extra/clang-doc/support/File.cpp
M clang-tools-extra/clang-doc/support/File.h
M clang-tools-extra/clang-doc/support/Utils.cpp
M clang-tools-extra/clang-doc/support/Utils.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
M clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.cpp
M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/refactor/InsertionPoint.cpp
M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
A clang-tools-extra/clangd/test/non-existent.test
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/redundant-casting.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-using.rst
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-non-const-global-variables-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-casting.cpp
A clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-isa.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/static-initialization-cycle.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-ignore-extern-c.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang/Maintainers.md
M clang/cmake/caches/HLSL.cmake
M clang/docs/AllocToken.rst
M clang/docs/CIR/ABILowering.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LifetimeSafety.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/TypeSanitizer.rst
M clang/docs/analyzer/user-docs/Annotations.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/BuiltinsMips.def
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/CodeGen/CodeGenAction.h
A clang/include/clang/CodeGen/ModuleLinker.h
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/DependencyScanning/ModuleDepCollector.h
M clang/include/clang/Driver/Compilation.h
M clang/include/clang/Driver/Job.h
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Lex/Lexer.h
A clang/include/clang/Lex/MacroBase.h
M clang/include/clang/Lex/MacroInfo.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Options/FlangOptions.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ModuleManager.h
M clang/include/clang/Tooling/DependencyScanningTool.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Analysis/BodyFarm.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CodeGen/Address.h
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/CIRGenBuiltinRISCV.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.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/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/TargetInfo.h
A clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
A clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/SPIRV.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/FrontendAction/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
A clang/lib/CodeGen/ModuleLinker.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.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/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
M clang/lib/Driver/ToolChains/Arch/AMDGPU.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CrossWindows.cpp
M clang/lib/Driver/ToolChains/CrossWindows.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/FreeBSD.h
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Fuchsia.h
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPSPV.h
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Haiku.h
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/Linux.h
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/Managarm.cpp
M clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MinGW.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/NetBSD.h
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/PS4CPU.h
M clang/lib/Driver/ToolChains/Serenity.cpp
M clang/lib/Driver/ToolChains/Serenity.h
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/Solaris.h
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/WebAssembly.h
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Headers/opencl-c.h
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Lex/UnicodeCharSets.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaBoundsSafety.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.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/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/lib/Tooling/Syntax/Tokens.cpp
M clang/lib/Tooling/Transformer/SourceCode.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ast-dump-decl.cpp
R clang/test/AST/ast-dump-default-arg-json.cpp
R clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-for-range-lifetime.cpp
R clang/test/AST/ast-dump-lambda-json.cpp
M clang/test/AST/ast-dump-lambda.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-print-explicit-instantiation.cpp
M clang/test/AST/explicit-instantiation-source-info.cpp
M clang/test/Analysis/Checkers/WebKit/binding-to-refptr.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/uncounted-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/OSAtomic_mac.cpp
M clang/test/Analysis/anonymous-decls.cpp
M clang/test/Analysis/bstring_UninitRead.c
M clang/test/Analysis/dead-stores.c
M clang/test/Analysis/live-bindings-test.cpp
M clang/test/CIR/CodeGen/abi-lower-after-unreachable.cpp
M clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp
A clang/test/CIR/CodeGen/amdgpu-stack-alloca-array-decay.cpp
M clang/test/CIR/CodeGen/atomic.c
A clang/test/CIR/CodeGen/attr-target-aarch64.c
A clang/test/CIR/CodeGen/attr-target-x86.c
A clang/test/CIR/CodeGen/builtin-call.cpp
A clang/test/CIR/CodeGen/builtin-invoke-varargs-member.cpp
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/call.cpp
A clang/test/CIR/CodeGen/character-literal.c
A clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
A clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
A clang/test/CIR/CodeGen/complex-atomic-cast.c
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
M clang/test/CIR/CodeGen/empty-union.cpp
A clang/test/CIR/CodeGen/lambda-static-invoker-agg-return.cpp
A clang/test/CIR/CodeGen/link-bitcode-file.c
A clang/test/CIR/CodeGen/new-array-in-ternary.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
A clang/test/CIR/CodeGen/record-with-padded-union.cpp
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/thunks.cpp
M clang/test/CIR/CodeGen/union-agg-init.c
A clang/test/CIR/CodeGen/vla-pointer-arith.c
M clang/test/CIR/CodeGen/wide-string.cpp
M clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zbb.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/ssse3-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
M clang/test/CIR/CodeGenCUDA/address-spaces.cu
A clang/test/CIR/CodeGenCUDA/attribute-visibility.cu
A clang/test/CIR/CodeGenCXX/new-array-init-list-non-trivial-dtor.cpp
A clang/test/CIR/CodeGenHIP/attr-target-amdgpu.hip
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
A clang/test/CIR/CodeGenOpenCL/spirv-kernel.cl
A clang/test/CIR/CodeGenOpenCL/vector.cl
A clang/test/CIR/IR/assume.cir
A clang/test/CIR/IR/invalid-assume.cir
A clang/test/CIR/IR/var-registration.cir
A clang/test/CIR/Transforms/abi-lowering/Inputs/test-datalayout.cir
A clang/test/CIR/Transforms/abi-lowering/datalayout-missing-error.cir
A clang/test/CIR/Transforms/abi-lowering/declaration-rewrite.cir
A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-injection.cir
A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-test-target.cir
A clang/test/CIR/Transforms/abi-lowering/ignore-arg.cir
A clang/test/CIR/Transforms/abi-lowering/ignore-return.cir
A clang/test/CIR/Transforms/abi-lowering/indirect-call-nyi.cir
A clang/test/CIR/Transforms/abi-lowering/try-call-nyi.cir
A clang/test/CIR/Transforms/abi-lowering/variadic-call-nyi.cir
M clang/test/CMakeLists.txt
M clang/test/CXX/class/class.local/p3.cpp
M clang/test/CXX/dcl.decl/dcl.decomp/p3.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg30xx.cpp
M clang/test/CXX/drs/cwg31xx.cpp
M clang/test/CodeCompletion/desig-init.cpp
A clang/test/CodeCompletion/offsetof.cpp
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_untyped.c
M clang/test/CodeGen/AArch64/neon-across.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
R clang/test/CodeGen/AArch64/neon-scalar-copy.c
M clang/test/CodeGen/AArch64/neon-vget.c
A clang/test/CodeGen/AArch64/neon/getset.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/poly64.c
A clang/test/CodeGen/Mips/msa-const-ld.c
A clang/test/CodeGen/alloc-token-inline.c
M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
M clang/test/CodeGen/amdgpu-builtin-processor-is.c
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/exceptions-seh-finally.c
M clang/test/CodeGen/exceptions-seh-nested-finally.c
M clang/test/CodeGen/exceptions-seh.c
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGen/target-data.c
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
M clang/test/CodeGenCXX/bad-codegen-for-constexpr-structured-bindings.cpp
M clang/test/CodeGenCXX/cxx1z-decomposition.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/noescape.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenObjC/exceptions.m
M clang/test/CodeGenObjC/noescape.m
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-5-generic-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CoverageMapping/break.c
M clang/test/DebugInfo/CXX/structured-binding.cpp
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
A clang/test/Driver/amdgpu-unwind.cl
A clang/test/Driver/amdgpu-validate-sanitize.cl
A clang/test/Driver/clang-offload-bundler-multi-compress.c
M clang/test/Driver/crash-ir-repro.cpp
A clang/test/Driver/crash-report-multi-arch.c
A clang/test/Driver/darwin-ld-samplepgo.c
M clang/test/Driver/fprofile-update.c
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/fuchsia.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hip-sanitize-options.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/modules-driver-incompatible-options.cpp
M clang/test/Driver/msvc-link.c
M clang/test/Driver/ohos.c
A clang/test/Driver/print-enabled-extensions/riscv-sifive-p870-d.c
R clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/spirv-amd-toolchain.c
A clang/test/ExtractAPI/macro_doc_comments.c
M clang/test/Frontend/spirv-target-validation.c
M clang/test/Headers/__clang_hip_math.hip
A clang/test/Index/annotate-comments-macros.c
M clang/test/Index/annotate-comments.cpp
M clang/test/Lexer/unicode.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
A clang/test/Modules/cxx20-fatal-module-loader-error.cpp
A clang/test/Modules/embed-directive.cppm
A clang/test/Modules/template-default-args-2.cpp
A clang/test/Modules/template-default-args-3.cpp
M clang/test/OpenMP/thread_limit_gpu.c
M clang/test/OpenMP/thread_limit_nvptx.c
A clang/test/OpenMP/unimplemented_clause_messages.cpp
A clang/test/PCH/ftime-trace-specialization-lookup.cpp
A clang/test/Parser/cxx-attributes-missing-closing-in-switch.cpp
A clang/test/Parser/cxx-attributes-missing-closing.cpp
A clang/test/Parser/cxx-attributes-missing-second-closing-in-switch.cpp
A clang/test/Parser/cxx-attributes-missing-with-semi-before-closing.cpp
M clang/test/Parser/cxx-attributes.cpp
M clang/test/Parser/cxx0x-attributes.cpp
M clang/test/Parser/pragma-attribute.cpp
A clang/test/Preprocessor/nonportable-trailing-whitespace-win.c
A clang/test/Preprocessor/nonportable-trailing-whitespace.c
M clang/test/Preprocessor/riscv-target-features.c
A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs-anon.c
M clang/test/Sema/block-misc.c
R clang/test/Sema/block-on-objc-ivars.m
A clang/test/Sema/break-continue-cond.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/gh183974.c
M clang/test/Sema/loop-control.c
M clang/test/Sema/statements.c
M clang/test/Sema/warn-lifetime-safety-fixits.cpp
M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
A clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
A clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
A clang/test/SemaCXX/attr-modular-format.cpp
M clang/test/SemaCXX/blocks.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/cxx2c-decomposition.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/scope-check.cpp
M clang/test/SemaHIP/incorrect-atomic-scope.hip
A clang/test/SemaObjC/block-on-ivar.m
M clang/test/SemaObjC/block-on-method-param.m
A clang/test/SemaOpenCL/intel-subgroup-buffer-prefetch-builtins.cl
A clang/test/SemaOpenCL/intel-subgroup-local-block-io-builtins.cl
A clang/test/SemaOpenCL/intel-subgroup-local-block-io-ui-without-char-short-long.cl
A clang/test/SemaOpenCL/intel-subgroups-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-char-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-long-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-short-builtins.cl
M clang/test/SemaSYCL/sycl-cconv.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/generic-lambda.cpp
A clang/test/SemaTemplate/gh176152.cpp
M clang/test/SemaTemplate/partial-spec-instantiate.cpp
M clang/test/Tooling/clang-sycl-linker-split-mode.ll
A clang/test/Tooling/clang-sycl-linker-triple.ll
M clang/test/Tooling/clang-sycl-linker.ll
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/Format/AlignBracketsTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/www/cxx_dr_status.html
M compiler-rt/include/sanitizer/common_interface_defs.h
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_errors.h
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_report.h
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/atomic.c
M compiler-rt/lib/builtins/clear_cache.c
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/cpu_model.h
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
M compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/test/asan/TestCases/Posix/coverage-module-unloaded.cpp
R compiler-rt/test/asan/TestCases/copy_container_annotations.cpp
M compiler-rt/test/builtins/Unit/atomic_test.c
M compiler-rt/test/msan/release_origin.c
M compiler-rt/test/sanitizer_common/TestCases/get_module_and_offset_for_pc.cpp
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/include/flang-rt/runtime/numeric-templates.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/character.cpp
A flang-rt/lib/runtime/dot-product-complex.cpp
A flang-rt/lib/runtime/dot-product-integer.cpp
A flang-rt/lib/runtime/dot-product-real.cpp
R flang-rt/lib/runtime/dot-product.cpp
A flang-rt/lib/runtime/dot-product.h
M flang-rt/lib/runtime/exceptions.cpp
A flang-rt/lib/runtime/extrema-maxloc-dim.cpp
A flang-rt/lib/runtime/extrema-maxloc.cpp
A flang-rt/lib/runtime/extrema-minloc-dim.cpp
A flang-rt/lib/runtime/extrema-minloc.cpp
A flang-rt/lib/runtime/extrema-value.cpp
R flang-rt/lib/runtime/extrema.cpp
A flang-rt/lib/runtime/extrema.h
A flang-rt/lib/runtime/findloc-dim.cpp
A flang-rt/lib/runtime/findloc-total.cpp
R flang-rt/lib/runtime/findloc.cpp
A flang-rt/lib/runtime/findloc.h
M flang-rt/lib/runtime/io-api-gpu.h
M flang-rt/lib/runtime/io-api-server.cpp
A flang-rt/lib/runtime/iso_fortran_env_impl.cpp
M flang-rt/lib/runtime/main.cpp
A flang-rt/lib/runtime/matmul-complex.cpp
A flang-rt/lib/runtime/matmul-extypes-int16.cpp
A flang-rt/lib/runtime/matmul-extypes-real10.cpp
A flang-rt/lib/runtime/matmul-extypes-real16.cpp
A flang-rt/lib/runtime/matmul-integer.cpp
A flang-rt/lib/runtime/matmul-real.cpp
A flang-rt/lib/runtime/matmul-transpose-complex.cpp
A flang-rt/lib/runtime/matmul-transpose-extypes-int16.cpp
A flang-rt/lib/runtime/matmul-transpose-extypes-real10.cpp
A flang-rt/lib/runtime/matmul-transpose-extypes-real16.cpp
A flang-rt/lib/runtime/matmul-transpose-integer.cpp
A flang-rt/lib/runtime/matmul-transpose-real.cpp
R flang-rt/lib/runtime/matmul-transpose.cpp
A flang-rt/lib/runtime/matmul-transpose.h
R flang-rt/lib/runtime/matmul.cpp
A flang-rt/lib/runtime/matmul.h
M flang-rt/lib/runtime/transformational.cpp
A flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
A flang-rt/test/Driver/iso_fortran_env_impl.f90
M flang-rt/test/Driver/write01.f90
M flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/Exceptions.cpp
A flang/docs/MeetingNotes/2026/2026-05-20.md
A flang/docs/OpenACC-extensions.md
M flang/docs/OpenACC.md
M flang/docs/index.md
A flang/include/flang/Common/fp-control.h
M flang/include/flang/Common/type-kinds.h
M flang/include/flang/Lower/ConvertConstant.h
M flang/include/flang/Lower/ConvertType.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/OpenMP-utils.h
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExprToHLFIR.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/ClauseProcessor.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/PFTBuilder.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Support/Utils.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversionLate.cpp
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/lib/Support/OpenMP-utils.cpp
M flang/lib/Utils/OpenMP.cpp
M flang/module/iso_fortran_env_impl.f90
M flang/test/Analysis/AliasAnalysis/alias-analysis-acc.mlir
R flang/test/Driver/Inputs/basictestmoduleone.mod
R flang/test/Driver/Inputs/ieee_arithmetic.mod
R flang/test/Driver/Inputs/iso_fortran_env.mod
A flang/test/Driver/Inputs/module-dir-one/basictestmoduleone.mod
A flang/test/Driver/Inputs/resource_dir_with_per_target_subdir/finclude/flang/x86_64-unknown-linux-gnu/.keep
M flang/test/Driver/intrinsic-module-path.f90
A flang/test/Driver/intrinsic-module-path_per_target.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Driver/use-module.f90
M flang/test/Fir/CUDA/cuda-device-address.mlir
M flang/test/Fir/array-coor-canonicalization.fir
M flang/test/Fir/array-coor.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/tbaa-codegen.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Fir/tbaa.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
M flang/test/HLFIR/opt-bufferization-skip-volatile.fir
A 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/debug-use-stmt.f90
M flang/test/Integration/prefetch.f90
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Lower/CUDA/cuda-program-global.cuf
M flang/test/Lower/HLFIR/tdesc-character-comp-init.f90
M flang/test/Lower/Intrinsics/bge.f90
M flang/test/Lower/Intrinsics/bgt.f90
M flang/test/Lower/Intrinsics/ble.f90
M flang/test/Lower/Intrinsics/blt.f90
M flang/test/Lower/Intrinsics/ieee_class.f90
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-declare-use-associated.f90
M flang/test/Lower/OpenACC/do-loops-to-acc-loops.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
R flang/test/Lower/OpenMP/Todo/atomic-compare.f90
A flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/OpenMP/declare-simd-interface-body.f90
M flang/test/Lower/OpenMP/declare-target-data.f90
A flang/test/Lower/OpenMP/default-mapper-no-pointer-map.f90
A flang/test/Lower/OpenMP/implicit-mapper-no-pointer-map.f90
A flang/test/Lower/OpenMP/lastprivate-equivalence.f90
M flang/test/Lower/OpenMP/threadprivate-char-array-chararray.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-reduction-multiple-clauses.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-constructor-1.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/array.f90
M flang/test/Lower/constant-literal-mangling.f90
M flang/test/Lower/constant-logical-transfer.f90
M flang/test/Lower/convert.f90
M flang/test/Lower/debug-use-stmt.f90
M flang/test/Lower/default-initialization-globals.f90
M flang/test/Lower/dense-array-any-rank.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/derived-type-descriptor.f90
M flang/test/Lower/equivalence-1.f90
M flang/test/Lower/equivalence-static-init.f90
A flang/test/Lower/global-alignment.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/module_definition.f90
M flang/test/Lower/module_use.f90
M flang/test/Lower/namelist-common-block.f90
A flang/test/Semantics/OpenACC/acc-default-none-scalars.f90
M flang/test/Semantics/OpenMP/affected-loops.f90
M flang/test/Semantics/OpenMP/atomic-compare.f90
A flang/test/Semantics/OpenMP/workdistribute05.f90
A flang/test/Semantics/declarations09.f90
M flang/test/Semantics/implicit07.f90
A flang/test/Transforms/FIRToMemRef/array-coor-rebox-slice-shape.mlir
M flang/test/Transforms/FIRToMemRef/array-coor-slice-shift.mlir
A flang/test/Transforms/FIRToMemRef/omp-wsloop-simd-private.mlir
A flang/test/Transforms/simplifyintrinsics-maxloc-loc.fir
A flang/test/Transforms/tbaa-type-converter-boxproc.fir
M flang/tools/bbc/bbc.cpp
M libc/Maintainers.md
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/darwin/aarch64/entrypoints.txt
A libc/config/freebsd/x86_64/entrypoints.txt
A libc/config/freebsd/x86_64/headers.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/docs/dev/syscall_wrapper_refactor.rst
M libc/hdr/CMakeLists.txt
M libc/hdr/elf_macros.h
M libc/hdr/errno_macros.h
M libc/hdr/fcntl_macros.h
M libc/hdr/fenv_macros.h
M libc/hdr/float_macros.h
M libc/hdr/limits_macros.h
M libc/hdr/link_macros.h
M libc/hdr/locale_macros.h
M libc/hdr/math_function_macros.h
M libc/hdr/math_macros.h
A libc/hdr/netinet_in_macros.h
M libc/hdr/offsetof_macros.h
M libc/hdr/pthread_macros.h
A libc/hdr/regex_macros.h
M libc/hdr/sched_macros.h
M libc/hdr/signal_macros.h
M libc/hdr/stdio_macros.h
M libc/hdr/stdlib_macros.h
M libc/hdr/sys_auxv_macros.h
M libc/hdr/sys_epoll_macros.h
M libc/hdr/sys_ioctl_macros.h
M libc/hdr/sys_ipc_macros.h
M libc/hdr/sys_mman_macros.h
M libc/hdr/sys_sem_macros.h
M libc/hdr/sys_socket_macros.h
M libc/hdr/sys_stat_macros.h
M libc/hdr/time_macros.h
M libc/hdr/types/ACTION.h
M libc/hdr/types/CMakeLists.txt
M libc/hdr/types/ENTRY.h
M libc/hdr/types/Elf32_Addr.h
M libc/hdr/types/Elf32_Chdr.h
M libc/hdr/types/Elf32_Dyn.h
M libc/hdr/types/Elf32_Ehdr.h
M libc/hdr/types/Elf32_Half.h
M libc/hdr/types/Elf32_Lword.h
M libc/hdr/types/Elf32_Nhdr.h
M libc/hdr/types/Elf32_Off.h
M libc/hdr/types/Elf32_Phdr.h
M libc/hdr/types/Elf32_Rel.h
M libc/hdr/types/Elf32_Rela.h
M libc/hdr/types/Elf32_Shdr.h
M libc/hdr/types/Elf32_Sword.h
M libc/hdr/types/Elf32_Sym.h
M libc/hdr/types/Elf32_Verdaux.h
M libc/hdr/types/Elf32_Verdef.h
M libc/hdr/types/Elf32_Vernaux.h
M libc/hdr/types/Elf32_Verneed.h
M libc/hdr/types/Elf32_Versym.h
M libc/hdr/types/Elf32_Word.h
M libc/hdr/types/Elf32_Xword.h
M libc/hdr/types/Elf32_auxv_t.h
M libc/hdr/types/Elf64_Addr.h
M libc/hdr/types/Elf64_Chdr.h
M libc/hdr/types/Elf64_Dyn.h
M libc/hdr/types/Elf64_Ehdr.h
M libc/hdr/types/Elf64_Half.h
M libc/hdr/types/Elf64_Lword.h
M libc/hdr/types/Elf64_Nhdr.h
M libc/hdr/types/Elf64_Off.h
M libc/hdr/types/Elf64_Phdr.h
M libc/hdr/types/Elf64_Rel.h
M libc/hdr/types/Elf64_Rela.h
M libc/hdr/types/Elf64_Shdr.h
M libc/hdr/types/Elf64_Sword.h
M libc/hdr/types/Elf64_Sxword.h
M libc/hdr/types/Elf64_Sym.h
M libc/hdr/types/Elf64_Verdaux.h
M libc/hdr/types/Elf64_Verdef.h
M libc/hdr/types/Elf64_Vernaux.h
M libc/hdr/types/Elf64_Verneed.h
M libc/hdr/types/Elf64_Versym.h
M libc/hdr/types/Elf64_Word.h
M libc/hdr/types/Elf64_Xword.h
M libc/hdr/types/Elf64_auxv_t.h
M libc/hdr/types/FILE.h
M libc/hdr/types/VISIT.h
M libc/hdr/types/atexithandler_t.h
M libc/hdr/types/clock_t.h
M libc/hdr/types/clockid_t.h
M libc/hdr/types/cookie_io_functions_t.h
M libc/hdr/types/cpu_set_t.h
M libc/hdr/types/div_t.h
M libc/hdr/types/fenv_t.h
M libc/hdr/types/fexcept_t.h
M libc/hdr/types/gid_t.h
A libc/hdr/types/in_addr_t.h
M libc/hdr/types/jmp_buf.h
M libc/hdr/types/key_t.h
M libc/hdr/types/ldiv_t.h
M libc/hdr/types/lldiv_t.h
M libc/hdr/types/locale_t.h
M libc/hdr/types/mbstate_t.h
M libc/hdr/types/mode_t.h
M libc/hdr/types/nfds_t.h
M libc/hdr/types/off_t.h
M libc/hdr/types/pid_t.h
M libc/hdr/types/posix_tnode.h
M libc/hdr/types/pthread_barrier_t.h
M libc/hdr/types/pthread_barrierattr_t.h
A libc/hdr/types/regex_t.h
A libc/hdr/types/regmatch_t.h
A libc/hdr/types/regoff_t.h
M libc/hdr/types/sigjmp_buf.h
M libc/hdr/types/stack_t.h
A libc/hdr/types/struct_in_addr.h
A libc/hdr/types/struct_mmsghdr.h
M libc/hdr/types/struct_pollfd.h
M libc/hdr/types/struct_rlimit.h
M libc/hdr/types/struct_sched_param.h
M libc/hdr/types/struct_sembuf.h
M libc/hdr/types/struct_semid_ds.h
M libc/hdr/types/struct_seminfo.h
A libc/hdr/types/struct_sockaddr_in.h
M libc/hdr/types/struct_stat.h
M libc/hdr/types/suseconds_t.h
M libc/hdr/types/time_t.h
M libc/hdr/types/uid_t.h
M libc/hdr/types/wchar_t.h
M libc/hdr/types/wctype_t.h
M libc/hdr/types/wint_t.h
M libc/hdr/unistd_macros.h
M libc/hdr/wchar_macros.h
M libc/include/CMakeLists.txt
M libc/include/arpa/inet.yaml
M libc/include/ctype.yaml
M libc/include/dlfcn.yaml
M libc/include/errno.yaml
M libc/include/fcntl.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/netinet-in-macros.h
A libc/include/llvm-libc-macros/regex-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.h
A libc/include/llvm-libc-types/regex_t.h
A libc/include/llvm-libc-types/regmatch_t.h
A libc/include/llvm-libc-types/regoff_t.h
A libc/include/llvm-libc-types/struct_mmsghdr.h
A libc/include/llvm-libc-types/struct_sockaddr_in.h
M libc/include/math.yaml
M libc/include/netinet/in.yaml
M libc/include/pthread.yaml
A libc/include/regex.yaml
M libc/include/sched.yaml
M libc/include/search.yaml
M libc/include/signal.yaml
M libc/include/stdfix.yaml
M libc/include/stdio.yaml
M libc/include/stdlib.yaml
M libc/include/string.yaml
M libc/include/sys/mman.yaml
M libc/include/sys/prctl.yaml
M libc/include/sys/resource.yaml
M libc/include/sys/select.yaml
M libc/include/sys/socket.yaml
M libc/include/sys/syscall.yaml
M libc/include/sys/wait.yaml
M libc/include/termios.yaml
M libc/include/time.yaml
M libc/include/unistd.yaml
M libc/include/wchar.yaml
M libc/shared/math.h
A libc/shared/math/isnanf16.h
M libc/shared/rpc_dispatch.h
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/iterator.h
M libc/src/__support/CPP/tuple.h
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
A libc/src/__support/OSUtil/freebsd/CMakeLists.txt
A libc/src/__support/OSUtil/freebsd/exit.cpp
A libc/src/__support/OSUtil/freebsd/io.h
A libc/src/__support/OSUtil/freebsd/syscall.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/close.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/getrandom.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/mmap.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/mprotect.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/munmap.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/open.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/read.h
A libc/src/__support/OSUtil/freebsd/syscall_wrappers/write.h
A libc/src/__support/OSUtil/freebsd/x86_64/CMakeLists.txt
A libc/src/__support/OSUtil/freebsd/x86_64/syscall.h
M libc/src/__support/OSUtil/io.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/auxv.h
M libc/src/__support/OSUtil/linux/syscall.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/accept.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/accept4.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/access.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/bind.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/connect.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getpeername.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getsockname.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/getsockopt.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/link.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/listen.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mmap.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mprotect.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/munmap.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/open.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/raise.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/readlink.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/recvfrom.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/recvmsg.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/rmdir.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/rt_sigprocmask.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/sendmmsg.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/sendmsg.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/sendto.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/setsockopt.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/shutdown.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/socket.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/socketpair.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/unlink.h
M libc/src/__support/OSUtil/syscall.h
M libc/src/__support/big_int.h
M libc/src/__support/complex_basic_ops.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/macros/attributes.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acos.h
M libc/src/__support/math/acosf.h
M libc/src/__support/math/acoshf.h
M libc/src/__support/math/asinf.h
M libc/src/__support/math/asinhf.h
M libc/src/__support/math/atan.h
M libc/src/__support/math/atan2.h
M libc/src/__support/math/atan2f.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atanf.h
M libc/src/__support/math/atanhf.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cbrtf.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/cosf.h
M libc/src/__support/math/coshf.h
M libc/src/__support/math/cospif.h
M libc/src/__support/math/dsqrtf128.h
M libc/src/__support/math/dsqrtl.h
M libc/src/__support/math/erff.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10f.h
M libc/src/__support/math/exp10m1f.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/exp2f.h
M libc/src/__support/math/exp2m1f.h
M libc/src/__support/math/expf.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/expm1f.h
M libc/src/__support/math/fsqrt.h
M libc/src/__support/math/fsqrtf128.h
M libc/src/__support/math/fsqrtl.h
A libc/src/__support/math/isnanf16.h
M libc/src/__support/math/issignaling.h
M libc/src/__support/math/log.h
M libc/src/__support/math/nextafterl.h
M libc/src/__support/math/nextdownl.h
M libc/src/__support/math/nextupl.h
M libc/src/__support/math/pow.h
M libc/src/__support/math/powf.h
M libc/src/__support/math/rsqrtf.h
M libc/src/__support/math/sin.h
M libc/src/__support/math/sinhf.h
M libc/src/__support/math/tan.h
M libc/src/__support/mathvec/expf.h
A libc/src/__support/net/CMakeLists.txt
A libc/src/__support/net/address.cpp
A libc/src/__support/net/address.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/wctype/CMakeLists.txt
A libc/src/__support/wctype/lower_to_upper.h
R libc/src/__support/wctype/lower_to_upper.inc
A libc/src/__support/wctype/perfect_hash_map.h
A libc/src/__support/wctype/upper_to_lower.h
R libc/src/__support/wctype/upper_to_lower.inc
M libc/src/arpa/inet/CMakeLists.txt
M libc/src/arpa/inet/inet_addr.cpp
M libc/src/arpa/inet/inet_addr.h
M libc/src/arpa/inet/inet_aton.cpp
M libc/src/arpa/inet/inet_aton.h
M libc/src/ctype/isalnum_l.h
M libc/src/ctype/isalpha_l.h
M libc/src/ctype/isblank_l.h
M libc/src/ctype/iscntrl_l.h
M libc/src/ctype/isdigit_l.h
M libc/src/ctype/isgraph_l.h
M libc/src/ctype/islower_l.h
M libc/src/ctype/isprint_l.h
M libc/src/ctype/ispunct_l.h
M libc/src/ctype/isspace_l.h
M libc/src/ctype/isupper_l.h
M libc/src/ctype/isxdigit_l.h
M libc/src/ctype/tolower_l.h
M libc/src/ctype/toupper_l.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/isnanf16.cpp
A libc/src/math/isnanf16.h
A libc/src/regex/CMakeLists.txt
A libc/src/regex/regcomp.cpp
A libc/src/regex/regcomp.h
A libc/src/regex/regerror.cpp
A libc/src/regex/regerror.h
A libc/src/regex/regexec.cpp
A libc/src/regex/regexec.h
A libc/src/regex/regfree.cpp
A libc/src/regex/regfree.h
M libc/src/setjmp/linux/CMakeLists.txt
M libc/src/setjmp/linux/sigsetjmp_epilogue.cpp
M libc/src/signal/CMakeLists.txt
M libc/src/signal/linux/CMakeLists.txt
A libc/src/signal/linux/pthread_sigmask.cpp
M libc/src/signal/linux/signal_utils.h
M libc/src/signal/linux/sigprocmask.cpp
A libc/src/signal/pthread_sigmask.h
M libc/src/stdio/generic/fgets.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/linux/abort_utils.h
A libc/src/stdlib/mblen.cpp
A libc/src/stdlib/mblen.h
M libc/src/string/memory_utils/utils.h
M libc/src/string/memory_utils/x86_64/inline_strlen.h
M libc/src/sys/prctl/linux/prctl.cpp
M libc/src/sys/prctl/prctl.h
M libc/src/sys/socket/CMakeLists.txt
M libc/src/sys/socket/linux/CMakeLists.txt
M libc/src/sys/socket/linux/bind.cpp
M libc/src/sys/socket/linux/recv.cpp
M libc/src/sys/socket/linux/recvfrom.cpp
M libc/src/sys/socket/linux/recvmsg.cpp
M libc/src/sys/socket/linux/send.cpp
A libc/src/sys/socket/linux/sendmmsg.cpp
M libc/src/sys/socket/linux/sendmsg.cpp
M libc/src/sys/socket/linux/sendto.cpp
M libc/src/sys/socket/linux/socket.cpp
M libc/src/sys/socket/linux/socketpair.cpp
M libc/src/sys/socket/recvfrom.h
A libc/src/sys/socket/sendmmsg.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/alarm.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/alarm.cpp
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/fgetwc.cpp
A libc/src/wchar/fgetws.cpp
A libc/src/wchar/fgetws.h
A libc/src/wchar/fputwc.cpp
A libc/src/wchar/fputwc.h
A libc/src/wchar/fputws.cpp
A libc/src/wchar/fputws.h
M libc/src/wchar/getwc.cpp
A libc/src/wchar/getwchar.cpp
A libc/src/wchar/getwchar.h
R libc/src/wchar/mblen.cpp
R libc/src/wchar/mblen.h
A libc/src/wchar/putwc.cpp
A libc/src/wchar/putwc.h
M libc/src/wchar/putwchar.cpp
M libc/src/wchar/putwchar.h
M libc/startup/linux/aarch64/CMakeLists.txt
M libc/startup/linux/aarch64/tls.cpp
M libc/startup/linux/riscv/CMakeLists.txt
M libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/CMakeLists.txt
M libc/startup/linux/x86_64/tls.cpp
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_constexpr_test.cpp
M libc/test/shared/shared_math_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/wctype/CMakeLists.txt
A libc/test/src/__support/wctype/wctype_perfect_hash_test.cpp
M libc/test/src/arpa/inet/inet_aton_test.cpp
M libc/test/src/math/AddTest.h
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/DivTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/MulTest.h
M libc/test/src/math/NearbyIntTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/RsqrtTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/SubTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acos_test.cpp
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/acospif_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/asinpi_test.cpp
M libc/test/src/math/asinpif_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/cbrtf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_float_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincos_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_float_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/DivTest.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMaximumMagNumTest.h
M libc/test/src/math/smoke/FMaximumMagTest.h
M libc/test/src/math/smoke/FMaximumNumTest.h
M libc/test/src/math/smoke/FMaximumTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FMinimumMagNumTest.h
M libc/test/src/math/smoke/FMinimumMagTest.h
M libc/test/src/math/smoke/FMinimumNumTest.h
M libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/ILogbTest.h
A libc/test/src/math/smoke/IsNanTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/MulTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/SubTest.h
A libc/test/src/math/smoke/isnanf16_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/mathvec/CMakeLists.txt
A libc/test/src/mathvec/exhaustive/CMakeLists.txt
A libc/test/src/mathvec/exhaustive/exhaustive_test.h
A libc/test/src/mathvec/exhaustive/expf_test.cpp
M libc/test/src/mathvec/expf_test.cpp
A libc/test/src/regex/CMakeLists.txt
A libc/test/src/regex/regerror_test.cpp
A libc/test/src/regex/regex_basic_test.cpp
M libc/test/src/signal/CMakeLists.txt
A libc/test/src/signal/pthread_sigmask_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fopen_test.cpp
M libc/test/src/stdio/rewind_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/mblen_test.cpp
M libc/test/src/sys/prctl/linux/prctl_test.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
M libc/test/src/sys/socket/linux/bind_test.cpp
A libc/test/src/sys/socket/linux/sendmmsg_test.cpp
M libc/test/src/sys/socket/linux/shutdown_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/alarm_test.cpp
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/fgetws_test.cpp
A libc/test/src/wchar/fputwc_test.cpp
A libc/test/src/wchar/fputws_test.cpp
A libc/test/src/wchar/getwchar_test.cpp
R libc/test/src/wchar/mblen_test.cpp
A libc/test/src/wchar/putwc_test.cpp
M libc/test/utils/FPUtil/x86_long_double_test.cpp
M libc/utils/docgen/netinet/in.yaml
M libc/utils/docgen/sys/socket.yaml
M libc/utils/hdrgen/hdrgen/header.py
M libc/utils/hdrgen/hdrgen/main.py
M libc/utils/hdrgen/hdrgen/symbol.py
M libc/utils/hdrgen/hdrgen/yaml_to_classes.py
M libclc/opencl/lib/generic/relational/bitselect.cl
R libclc/opencl/lib/generic/relational/bitselect.inc
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/lit.cfg.py
M libclc/test/lit.site.cfg.py.in
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/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__configuration/hardening.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__functional/hash.h
M libcxx/include/__cxx03/__iterator/aliasing_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__cxx03/__mutex/lock_guard.h
M libcxx/include/__cxx03/__mutex/mutex.h
M libcxx/include/__cxx03/__mutex/unique_lock.h
M libcxx/include/__cxx03/__random/piecewise_constant_distribution.h
M libcxx/include/__cxx03/__random/piecewise_linear_distribution.h
M libcxx/include/__cxx03/__type_traits/is_char_like_type.h
M libcxx/include/__cxx03/complex
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/limits
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/mutex
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
M libcxx/include/__iterator/access.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/data.h
M libcxx/include/__iterator/distance.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/move_sentinel.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_access.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/size.h
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/openbsd.h
A libcxx/include/__locale_dir/support/openbsd.h
M libcxx/include/__mdspan/extents.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
R libcxx/include/__support/xlocale/__strtonum_fallback.h
M libcxx/include/__thread/support/pthread.h
M libcxx/include/__verbose_trap
M libcxx/include/any
M libcxx/include/functional
M libcxx/include/mdspan
M libcxx/include/module.modulemap.in
M libcxx/include/string
M libcxx/include/tuple
M libcxx/test/extensions/clang/thread/thread.mutex/lock.verify.cpp
M libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_lock_guard.pass.cpp
M libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_lock_unlock.pass.cpp
M libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_missing_unlock.verify.cpp
M libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_requires_capability.pass.cpp
A libcxx/test/libcxx-03/containers/associative/map/abi.compile.pass.cpp
A libcxx/test/libcxx-03/containers/associative/set/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/associative/unord.map/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/associative/unord.set/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/deque/abi.compile.pass.cpp
A libcxx/test/libcxx-03/containers/sequences/forwardlist/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/list/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/vector.bool/abi.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/vector/abi.compile.pass.cpp
M libcxx/test/libcxx-03/iterators/contiguous_iterators.conv.compile.pass.cpp
R libcxx/test/libcxx-03/iterators/contiguous_iterators.verify.cpp
M libcxx/test/libcxx-03/numerics/complex.number/cmplx.over.pow.pass.cpp
A libcxx/test/libcxx-03/strings/basic.string/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
A libcxx/test/libcxx/iterators/nodiscard.verify.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp
M libcxx/test/std/containers/sequences/vector.bool/reference/builtin_address_of.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctor_from_integral.pass.cpp
A libcxx/test/std/containers/views/mdspan/mdspan/at.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp
M libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_en_US.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_overlong.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_string_en_US.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_en_US.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_string_en_US.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.integer.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.verify.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/ctor_iterator.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/param_ctor_iterator.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/ctor_iterator.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/param_ctor_iterator.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/begin.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/end.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/star.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/subscript.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/views_iota.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/const_reference_types.verify.cpp
M libcxx/test/std/utilities/any/any.nonmembers/any.cast/reference_types.verify.cpp
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.const.verify.cpp
M libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.verify.cpp
M libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_Y.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/reference.builtin_address_of.pass.cpp
A libcxx/test/support/algorithms.h
M libcxx/test/support/copy_move_types.h
M libcxx/utils/generate_feature_test_macro_components.py
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/SystemZ.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Thunks.cpp
M lld/ELF/Writer.cpp
M lld/ELF/Writer.h
R lld/docs/Partitions.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/index.rst
R lld/docs/partitions.dot
R lld/docs/partitions.svg
M lld/test/ELF/aarch64-feature-pauth.s
M lld/test/ELF/loongarch-relocatable-align.s
R lld/test/ELF/partition-dynamic-linker.s
R lld/test/ELF/partition-errors.s
R lld/test/ELF/partition-exidx.s
R lld/test/ELF/partition-icf.s
R lld/test/ELF/partition-move-to-main-startstop.s
R lld/test/ELF/partition-move-to-main.s
R lld/test/ELF/partition-notes.s
R lld/test/ELF/partition-pack-dyn-relocs.s
R lld/test/ELF/partition-synthetic-sections.s
R lld/test/ELF/partition-thunk-reuse.s
M lld/test/ELF/partitions.s
M lld/test/ELF/riscv-relocatable-align.s
M lldb/bindings/interface/SBValueExtensions.i
M lldb/cmake/modules/AddLLDB.cmake
M lldb/docs/resources/formatterbytecode.rst
M lldb/docs/resources/lldbgdbremote.md
M lldb/docs/use/mcp.md
M lldb/examples/python/formatter_bytecode.py
M lldb/include/lldb/API/SBValue.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Core/UserSettingsController.h
M lldb/include/lldb/DataFormatters/FormatterBytecode.def
M lldb/include/lldb/Expression/ExpressionVariable.h
M lldb/include/lldb/Host/File.h
M lldb/include/lldb/Host/FileAction.h
A lldb/include/lldb/Host/FileBase.h
M lldb/include/lldb/Host/JSONTransport.h
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
A lldb/include/lldb/Host/posix/FilePosix.h
A lldb/include/lldb/Host/windows/FileWindows.h
M lldb/include/lldb/Host/windows/MainLoopWindows.h
M lldb/include/lldb/Host/windows/ProcessLauncherWindows.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/include/lldb/Host/windows/WindowsFileAction.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameProviderInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedHookInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedProcessInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/include/lldb/Interpreter/OptionValueProperties.h
M lldb/include/lldb/Interpreter/Property.h
M lldb/include/lldb/Symbol/TypeSystem.h
R lldb/include/lldb/Target/Policy.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/ScriptedThreadPlan.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Target/Thread.h
A lldb/include/lldb/Utility/Locked.h
A lldb/include/lldb/Utility/Policy.h
M lldb/include/lldb/Utility/ScriptedMetadata.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectCast.h
M lldb/include/module.modulemap
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBThreadPlan.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
M lldb/source/Breakpoint/BreakpointResolverScripted.cpp
M lldb/source/Commands/CommandObjectApropos.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/UserSettingsController.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/File.cpp
M lldb/source/Host/common/FileAction.cpp
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/Host.mm
A lldb/source/Host/posix/FilePosix.cpp
M lldb/source/Host/windows/ConnectionConPTYWindows.cpp
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
M lldb/source/Host/windows/FileSystem.cpp
A lldb/source/Host/windows/FileWindows.cpp
M lldb/source/Host/windows/Host.cpp
M lldb/source/Host/windows/HostInfoWindows.cpp
M lldb/source/Host/windows/HostProcessWindows.cpp
M lldb/source/Host/windows/HostThreadWindows.cpp
M lldb/source/Host/windows/MainLoopWindows.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/source/Host/windows/WindowsFileAction.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/OptionValue.cpp
M lldb/source/Interpreter/OptionValueProperties.cpp
M lldb/source/Interpreter/Property.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlTree.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlVariant.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
M lldb/source/Plugins/Platform/WebAssembly/PlatformWebInspectorWasm.cpp
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/ExceptionRecord.h
M lldb/source/Plugins/Process/Windows/Common/ForwardDecl.h
M lldb/source/Plugins/Process/Windows/Common/IDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.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/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
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/arm64/RegisterContextWindows_arm64.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/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
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/ProcessGDBRemoteProperties.td
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.h
M lldb/source/Plugins/SyntheticFrameProvider/ScriptedFrameProvider/ScriptedFrameProvider.cpp
M lldb/source/Target/AssertFrameRecognizer.cpp
M lldb/source/Target/CMakeLists.txt
R lldb/source/Target/Policy.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/ScriptedThreadPlan.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/Utility/FileSpecList.cpp
A lldb/source/Utility/Policy.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectCast.cpp
M lldb/source/ValueObject/ValueObjectMemory.cpp
M lldb/source/ValueObject/ValueObjectSynthetic.cpp
M lldb/source/ValueObject/ValueObjectVTable.cpp
M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
M lldb/test/API/commands/apropos/formatting/TestAproposFormatting.py
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/Makefile
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/TestEnumValueLookup.py
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/main.cpp
M lldb/test/API/commands/platform/process/list/TestProcessList.py
M lldb/test/API/commands/settings/TestSettings.py
A lldb/test/API/functionalities/breakpoint/breakpoint_while_running/Makefile
A lldb/test/API/functionalities/breakpoint/breakpoint_while_running/TestBreakpointWhileRunning.py
A lldb/test/API/functionalities/breakpoint/breakpoint_while_running/main.c
M lldb/test/API/functionalities/breakpoint/delayed_breakpoints/TestDelayedBreakpoint.py
M lldb/test/API/functionalities/data-formatter/bytecode-summary/TestBytecodeSummary.py
M lldb/test/API/functionalities/data-formatter/bytecode-synthetic/TestBytecodeSynthetic.py
A lldb/test/API/functionalities/duplicate-archive-members/Makefile
A lldb/test/API/functionalities/duplicate-archive-members/TestDuplicateMembers.py
A lldb/test/API/functionalities/duplicate-archive-members/a.c
A lldb/test/API/functionalities/duplicate-archive-members/main.c
A lldb/test/API/functionalities/duplicate-archive-members/sub1/a.c
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
A lldb/test/API/functionalities/gdb_remote_client/TestPacketTestDelay.py
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
M lldb/test/API/functionalities/unwind/libunwind_ret_injection/TestLibUnwindRetInjection.py
M lldb/test/API/lang/c/cpp_keyword_identifiers/Makefile
M lldb/test/API/lang/c/function_types/TestFunctionTypes.py
M lldb/test/API/lang/cpp/operator-overload/Makefile
M lldb/test/API/lang/cpp/struct_with_keyword_name/Makefile
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
R lldb/test/API/macosx/duplicate-archive-members/Makefile
R lldb/test/API/macosx/duplicate-archive-members/TestDuplicateMembers.py
R lldb/test/API/macosx/duplicate-archive-members/a.c
R lldb/test/API/macosx/duplicate-archive-members/main.c
R lldb/test/API/macosx/duplicate-archive-members/sub1/a.c
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M lldb/test/API/python_api/process/TestProcessAPI.py
A lldb/test/API/python_api/sbvalue_get_parent/Makefile
A lldb/test/API/python_api/sbvalue_get_parent/MyContainer_synthetic.py
A lldb/test/API/python_api/sbvalue_get_parent/TestSBValueGetParent.py
A lldb/test/API/python_api/sbvalue_get_parent/main.cpp
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/windows/launch/missing-dll/TestMissingDll.py
M lldb/test/CMakeLists.txt
A lldb/test/Shell/Commands/process-attach-dummy.test
M lldb/test/Shell/Recognizer/assert.test
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt
M lldb/test/Shell/Settings/TestCxxFrameFormatPartialFailure.test
M lldb/test/Shell/SymbolFile/NativePDB/ast-methods.cpp
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
M lldb/test/Shell/Target/dependent-modules-nodupe-windows.test
M lldb/test/Shell/helper/toolchain.py
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
M lldb/tools/lldb-dap/README.md
A lldb/tools/lldb-dap/extension/.npmrc
M lldb/tools/lldb-dap/extension/package-lock.json
M lldb/tools/lldb-dap/extension/package.json
A lldb/tools/lldb-dap/extension/src/commands/attach-to-process.ts
A lldb/tools/lldb-dap/extension/src/commands/pick-process.ts
A lldb/tools/lldb-dap/extension/src/commands/pid-helpers.ts
M lldb/tools/lldb-dap/extension/src/debug-configuration-provider.ts
M lldb/tools/lldb-dap/extension/src/extension.ts
A lldb/tools/lldb-dap/extension/src/process-tree.ts
M lldb/tools/lldb-dap/extension/syntaxes/disassembly.json
A lldb/tools/lldb-dap/extension/test/unit/pid-helpers.test.ts
A lldb/tools/lldb-dap/extension/test/unit/process-tree.test.ts
M lldb/tools/lldb-dap/extension/tsconfig.json
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
M lldb/unittests/Target/CMakeLists.txt
R lldb/unittests/Target/PolicyTest.cpp
M lldb/unittests/Utility/CMakeLists.txt
A lldb/unittests/Utility/LockedTest.cpp
A lldb/unittests/Utility/PolicyTest.cpp
M llvm/cmake/modules/CrossCompile.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/AliasAnalysis.rst
M llvm/docs/CIBestPractices.rst
M llvm/docs/CMake.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/Passes.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
R llvm/docs/requirements-hashed.txt
M llvm/docs/requirements.txt
A llvm/docs/requirements.txt.in
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/DenseSet.h
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/Analysis/CodeMetrics.h
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/InstCount.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetSchedule.h
M llvm/include/llvm/DWP/DWP.h
R llvm/include/llvm/DWP/DWPStringPool.h
M llvm/include/llvm/Demangle/DemangleConfig.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/FunctionProperties.def
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instruction.def
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/User.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/MC/DXContainerInfo.h
M llvm/include/llvm/MC/MCSchedule.h
M llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
A llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/include/llvm/Transforms/IPO/InstrumentorUtils.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
M llvm/lib/Analysis/CodeMetrics.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/InstCount.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GCRootLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/MachineBlockHashInfo.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/RemoveRedundantDebugValues.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/CodeGen/TargetSchedule.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWP/DWP.cpp
M llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinter.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/MC/DXContainerInfo.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSchedule.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/lib/Object/DXContainer.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/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/SandboxIR/Type.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/SmallPtrSet.cpp
M llvm/lib/Support/Unicode.cpp
M llvm/lib/Support/UnicodeNameToCodepoint.cpp
M llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
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.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
M llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
M llvm/lib/Target/AArch64/AArch64SchedCyclone.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
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/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.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/AMDGPURewriteUndefForPHI.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.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/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/R600Subtarget.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.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/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.h
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
M llvm/lib/Target/CSKY/CSKYInstrInfoF1.td
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/Mips/MipsInstrFPU.td
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrAltivec.td
M llvm/lib/Target/PowerPC/PPCInstrFormats.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXqccmt.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvzip.td
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/lib/Target/RISCV/RISCVProcessors.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/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/SparcInstrVIS.td
M llvm/lib/Target/SystemZ/SystemZOperands.td
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
A llvm/lib/TargetParser/AMDGPUTargetParser.cpp
M llvm/lib/TargetParser/CMakeLists.txt
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/IPO.cpp
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
M llvm/lib/Transforms/IPO/InstrumentorUtils.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/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/VPlanUtils.h
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/AliasSet/argmemonly.ll
M llvm/test/Analysis/AliasSet/guards.ll
M llvm/test/Analysis/AliasSet/intrinsics.ll
M llvm/test/Analysis/AliasSet/memloc-vscale.ll
M llvm/test/Analysis/AliasSet/memset.ll
M llvm/test/Analysis/AliasSet/memtransfer.ll
M llvm/test/Analysis/AliasSet/saturation.ll
M llvm/test/Analysis/BasicAA/separate_storage-alias-sets.ll
M llvm/test/Analysis/CostModel/AArch64/masked_expand_load.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
A llvm/test/Analysis/CostModel/RISCV/shuffle-load.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Analysis/CostModel/X86/reduce-smax.ll
M llvm/test/Analysis/CostModel/X86/reduce-smin.ll
M llvm/test/Analysis/CostModel/X86/reduce-umax.ll
M llvm/test/Analysis/CostModel/X86/reduce-umin.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Analysis/InstCount/instcount.ll
A llvm/test/Analysis/InstCount/pipeline.ll
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/MustExecute/const-cond.ll
M llvm/test/Analysis/MustExecute/infinite_loops.ll
M llvm/test/Analysis/MustExecute/irreducible-cfg.ll
M llvm/test/Analysis/MustExecute/loop-header.ll
M llvm/test/Analysis/MustExecute/must_be_executed_context.ll
M llvm/test/Analysis/MustExecute/pr57780.ll
M llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll
M llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
M llvm/test/Analysis/ScalarEvolution/exact-exit-count-more-precise.ll
M llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
M llvm/test/Analysis/ScalarEvolution/flags-from-poison-noautogen.ll
M llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/max-expr-cache.ll
M llvm/test/Analysis/ScalarEvolution/outer_phi.ll
M llvm/test/Analysis/ScalarEvolution/scev-dispositions.ll
M llvm/test/Analysis/ScalarEvolution/trivial-phis.ll
M llvm/test/Analysis/ScalarEvolution/two-loop-latches.ll
M llvm/test/Analysis/ScalarEvolution/zext-add-nsw-fold.ll
M llvm/test/Analysis/ScalarEvolution/zext-add.ll
M llvm/test/Analysis/ValueTracking/deref-abstract-gc.ll
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/Assembler/constant-splat.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-avg.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-fcmeq.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-srem.mir
R llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-aarch64-sdiv.mir
M llvm/test/CodeGen/AArch64/aarch64-isel-umin.ll
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AArch64/arm64-mul.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
M llvm/test/CodeGen/AArch64/arm64-vhadd.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
A llvm/test/CodeGen/AArch64/arm64e-tail-call-autib.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
M llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/clmul-scalable.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/AArch64/fabs.ll
M llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
A llvm/test/CodeGen/AArch64/fmaximumnum-fminimumnum-select.ll
M llvm/test/CodeGen/AArch64/fneg.ll
M llvm/test/CodeGen/AArch64/hadd-combine.ll
A llvm/test/CodeGen/AArch64/inline-asm-clobber-x29-x30.ll
A llvm/test/CodeGen/AArch64/machine-sme-abi-skip-debug-inst.mir
M llvm/test/CodeGen/AArch64/partial-reduction-sub-fp.ll
A llvm/test/CodeGen/AArch64/pauth-lr-tail-call-fpdiff.ll
M llvm/test/CodeGen/AArch64/sve-bad-intrinsics.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc-stores.ll
A llvm/test/CodeGen/AArch64/sve-multivector-loads.ll
M llvm/test/CodeGen/AArch64/swap-compare-operands.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-int-conversions.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-s16-true16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ctpop.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptosi-sat.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptoui-sat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-salu-float.mir
M llvm/test/CodeGen/AMDGPU/add_u64.ll
A llvm/test/CodeGen/AMDGPU/amdgcn-av-scopes.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-flat-scratch-init-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-min-agpr-alloc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
A llvm/test/CodeGen/AMDGPU/av-invalid-scope.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
A llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll
M llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
M llvm/test/CodeGen/AMDGPU/ctpop.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-reassociate-multi-memop.ll
M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/gep-flags-stack-offsets.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
A llvm/test/CodeGen/AMDGPU/gfx12-5-generic-no-xnack.ll
M llvm/test/CodeGen/AMDGPU/hip.extern.shared.array.ll
A llvm/test/CodeGen/AMDGPU/insert-delay-alu-attr.ll
M llvm/test/CodeGen/AMDGPU/inst-prefetch-hint.ll
A llvm/test/CodeGen/AMDGPU/inst-prefetch-inline-asm.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/lds-relocs.ll
M llvm/test/CodeGen/AMDGPU/literal64.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.u32.u8.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/permute.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-global.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-scratch.ll
M llvm/test/CodeGen/AMDGPU/sched.barrier.inverted.mask.ll
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
M llvm/test/CodeGen/AMDGPU/shl_add.ll
A llvm/test/CodeGen/AMDGPU/si-fold-operands-gfx11.mir
A llvm/test/CodeGen/AMDGPU/si-fold-scalar-add-sub-imm.mir
M llvm/test/CodeGen/AMDGPU/si-split-load-store-alias-info.ll
A llvm/test/CodeGen/AMDGPU/sroa-phi-nodes.ll
M llvm/test/CodeGen/AMDGPU/sub_u64.ll
A llvm/test/CodeGen/AMDGPU/unsupported-av-load.ll
A llvm/test/CodeGen/AMDGPU/unsupported-av-store.ll
A llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
M llvm/test/CodeGen/AMDGPU/wqm.ll
M llvm/test/CodeGen/ARM/2012-08-27-CopyPhysRegCrash.ll
M llvm/test/CodeGen/ARM/Windows/wineh-framepointer.ll
A llvm/test/CodeGen/ARM/pr196779.ll
A llvm/test/CodeGen/ARM/seh-except.ll
A llvm/test/CodeGen/ARM/seh-finally.ll
A llvm/test/CodeGen/ARM/wineh-dtor.ll
A llvm/test/CodeGen/ARM/wineh-try-catch-stack-args.ll
A llvm/test/CodeGen/BPF/fence-singlethread.ll
M llvm/test/CodeGen/DirectX/discard_error.ll
M llvm/test/CodeGen/Generic/gc-lowering.ll
M llvm/test/CodeGen/Generic/shadow-stack-gc-lowering.ll
A llvm/test/CodeGen/Hexagon/reserved-regs.ll
M llvm/test/CodeGen/Lanai/multiply.ll
R llvm/test/CodeGen/LoongArch/lasx/ir-instruction/avg.ll
R llvm/test/CodeGen/LoongArch/lsx/ir-instruction/avg.ll
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/rem_and_div.mir
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div.ll
M llvm/test/CodeGen/NVPTX/atomics-sm60.ll
M llvm/test/CodeGen/NVPTX/intr-range.ll
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-multiple-users.ll
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-rollback.mir
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-vector-float.ll
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion.ll
A llvm/test/CodeGen/NVPTX/machine-cse-predicate-no-inversion.ll
A llvm/test/CodeGen/NVPTX/nvvm-abs.ll
A llvm/test/CodeGen/NVPTX/reqnctapercluster-const-fold.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/PowerPC/aix-alias.ll
M llvm/test/CodeGen/PowerPC/aix-alloca-r31.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-mem.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval.ll
M llvm/test/CodeGen/PowerPC/aix-cc-ext-vec-abi.ll
M llvm/test/CodeGen/PowerPC/aix-complex.ll
M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-ssp.ll
M llvm/test/CodeGen/PowerPC/aix-exception.ll
M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
M llvm/test/CodeGen/PowerPC/aix-extern.ll
M llvm/test/CodeGen/PowerPC/aix-ifunc-obj.ll
M llvm/test/CodeGen/PowerPC/aix-ifunc.ll
M llvm/test/CodeGen/PowerPC/aix-llvm-intrinsic.ll
M llvm/test/CodeGen/PowerPC/aix-no-inline-glue.ll
M llvm/test/CodeGen/PowerPC/aix-p9-insert-extract.ll
M llvm/test/CodeGen/PowerPC/aix-p9-xxinsertw-xxextractuw.ll
M llvm/test/CodeGen/PowerPC/aix-reloc-sorting.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-char.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-double.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-float.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-int.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-short.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-loadaddr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-double.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-int.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-target-flags.ll
M llvm/test/CodeGen/PowerPC/aix-tls-ie-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-O0.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-double.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-float.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-int.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-trampoline.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills-mir.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills.ll
M llvm/test/CodeGen/PowerPC/aix-vector-stack-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-fixed-caller.ll
M llvm/test/CodeGen/PowerPC/aix-weak.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-data-sections.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-explicit-section.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll
M llvm/test/CodeGen/PowerPC/aix64-cc-byval.ll
M llvm/test/CodeGen/PowerPC/basic-toc-data-extern.ll
M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-mfspr-mtspr-64bit-only.ll
M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-prefetch.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/const-nonsplat-array-init.ll
M llvm/test/CodeGen/PowerPC/const-splat-array-init.ll
M llvm/test/CodeGen/PowerPC/ctrloops-pseudo.ll
M llvm/test/CodeGen/PowerPC/fast-isel-branch.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
M llvm/test/CodeGen/PowerPC/global-merge-aix-sections.ll
M llvm/test/CodeGen/PowerPC/huge-frame-call.ll
M llvm/test/CodeGen/PowerPC/licm-tocReg.ll
M llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll
M llvm/test/CodeGen/PowerPC/memset-tail.ll
M llvm/test/CodeGen/PowerPC/merge-private.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-large.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool.ll
M llvm/test/CodeGen/PowerPC/p10-handle-split-promote-vec.ll
M llvm/test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll
A llvm/test/CodeGen/PowerPC/partial-red.ll
M llvm/test/CodeGen/PowerPC/ppc-float-spill.ll
M llvm/test/CodeGen/PowerPC/ppc-shufflevector-combine.ll
M llvm/test/CodeGen/PowerPC/pr74951.ll
M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
M llvm/test/CodeGen/PowerPC/reduce_scalarization.ll
M llvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll
M llvm/test/CodeGen/PowerPC/splat-after-xxsldwi.ll
M llvm/test/CodeGen/PowerPC/stack-guard-oob.ll
M llvm/test/CodeGen/PowerPC/stack-protector-target.ll
M llvm/test/CodeGen/PowerPC/stack-protector.ll
M llvm/test/CodeGen/PowerPC/toc-data-common.ll
M llvm/test/CodeGen/PowerPC/toc-data-const.ll
M llvm/test/CodeGen/PowerPC/toc-data-struct-array.ll
M llvm/test/CodeGen/PowerPC/toc-data.ll
M llvm/test/CodeGen/PowerPC/v16i8_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v4i32_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v8i16_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vec_shuffle_p8vector.ll
M llvm/test/CodeGen/PowerPC/xxinsertw.ll
M llvm/test/CodeGen/PowerPC/xxperm-swap.ll
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/fixed-vectors-calling-conv.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/CodeGen/RISCV/fixed-x27-crash.ll
A llvm/test/CodeGen/RISCV/jump-is-expensive.ll
M llvm/test/CodeGen/RISCV/musttail-call.ll
A llvm/test/CodeGen/RISCV/musttail-indirect-args.ll
A llvm/test/CodeGen/RISCV/rvp-bitcast-const-fold.ll
A llvm/test/CodeGen/RISCV/rvp-bitcast-paired.ll
M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
A llvm/test/CodeGen/RISCV/rvv/bitcast-cmp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
A llvm/test/CodeGen/RISCV/rvv/musttail-indirect-args.ll
A llvm/test/CodeGen/RISCV/rvv/pr199509.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.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/vmerge-peephole.mir
M llvm/test/CodeGen/SPIRV/GlobalISel/fn-ptr-addrspacecast.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/OpIsFinite.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/OpIsNormal.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
M llvm/test/CodeGen/SPIRV/instructions/float-fast-flags.ll
M llvm/test/CodeGen/SPIRV/instructions/scalar-floating-point-arithmetic.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-multiply.ll
M llvm/test/CodeGen/SPIRV/opencl/ddx-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddx_coarse-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddx_fine-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddy-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddy_coarse-error.ll
M llvm/test/CodeGen/SPIRV/opencl/ddy_fine-error.ll
M llvm/test/CodeGen/SPIRV/opencl/faceforward-error.ll
M llvm/test/CodeGen/SPIRV/opencl/fwidth-error.ll
M llvm/test/CodeGen/SPIRV/opencl/packhalf2x16-error.ll
M llvm/test/CodeGen/SPIRV/opencl/reflect-error.ll
M llvm/test/CodeGen/SPIRV/opencl/refract-error.ll
M llvm/test/CodeGen/SPIRV/opencl/unpackhalf2x16-error.ll
M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
M llvm/test/CodeGen/WebAssembly/memory-interleave.ll
M llvm/test/CodeGen/WebAssembly/slp-memory-interleave.ll
M llvm/test/CodeGen/WinEH/wineh-intrinsics-invalid.ll
M llvm/test/CodeGen/X86/GlobalISel/add-scalar.ll
M llvm/test/CodeGen/X86/GlobalISel/select-add-x32.mir
M llvm/test/CodeGen/X86/GlobalISel/sub-scalar.ll
M llvm/test/CodeGen/X86/atomic-load-store.ll
M llvm/test/CodeGen/X86/avgfloors.ll
M llvm/test/CodeGen/X86/avx-cvt-3.ll
M llvm/test/CodeGen/X86/avx512-calling-conv.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/avx512fp16-novl.ll
M llvm/test/CodeGen/X86/combine-reductions.ll
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
A llvm/test/CodeGen/X86/gfni-operand-and-fold.ll
R llvm/test/CodeGen/X86/horizontal-reduce-smax.ll
R llvm/test/CodeGen/X86/horizontal-reduce-smin.ll
R llvm/test/CodeGen/X86/horizontal-reduce-umax.ll
R llvm/test/CodeGen/X86/horizontal-reduce-umin.ll
M llvm/test/CodeGen/X86/i128-add.ll
M llvm/test/CodeGen/X86/ifma-combine-vpmadd52.ll
A llvm/test/CodeGen/X86/inline-asm-intel-negative-scale.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/known-signbits-vector.ll
M llvm/test/CodeGen/X86/ldexp-avx512.ll
M llvm/test/CodeGen/X86/machine-block-hash.mir
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/masked-sdiv.ll
M llvm/test/CodeGen/X86/masked-srem.ll
M llvm/test/CodeGen/X86/masked-udiv.ll
M llvm/test/CodeGen/X86/masked-urem.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/masked_gather_scatter_widen.ll
M llvm/test/CodeGen/X86/masked_store.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
A llvm/test/CodeGen/X86/pr196804.ll
M llvm/test/CodeGen/X86/pr74736.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/sad_variations.ll
M llvm/test/CodeGen/X86/vec-strict-cmp-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-cmp-sub128.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll
M llvm/test/CodeGen/X86/vec_smulo.ll
M llvm/test/CodeGen/X86/vec_umulo.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-extract-last-active.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-reduce-smax.ll
M llvm/test/CodeGen/X86/vector-reduce-smin.ll
M llvm/test/CodeGen/X86/vector-reduce-umax.ll
M llvm/test/CodeGen/X86/vector-reduce-umin.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll
M llvm/test/DebugInfo/COFF/fortran-basic.ll
M llvm/test/DebugInfo/Generic/dbg-value-lower-linenos.ll
M llvm/test/FileCheck/dump-input/annotations.txt
A llvm/test/FileCheck/match-time-error-propagation/invalid-excluded-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/invalid-expected-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/matched-excluded-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/matched-expected-pattern.txt
M llvm/test/Instrumentation/Instrumentor/default_config.json
M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_alias.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop2.s
A llvm/test/MC/AMDGPU/gfx12_5_generic_asm_vop3_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
A llvm/test/MC/AMDGPU/gfx13_asm_valu_lit64.s
M llvm/test/MC/AMDGPU/literals.s
M llvm/test/MC/ARM/thumb-diagnostics.s
A llvm/test/MC/ARM/thumb2-ldrd-strd-post-imm8s4-invalid.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p.txt
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/rvf-user-csr-names.s
A llvm/test/MC/RISCV/xqccmt-invalid.s
A llvm/test/MC/RISCV/xqccmt-user-csr-name.s
A llvm/test/MC/RISCV/xqccmt-valid.s
M llvm/test/MC/X86/intel-syntax-invalid-scale.s
A llvm/test/MachineVerifier/AMDGPU/dpp-sgpr-src1.mir
M llvm/test/MachineVerifier/test_g_extract_subvector.mir
M llvm/test/MachineVerifier/test_g_insert_subvector.mir
M llvm/test/Other/debugcounter-predicateinfo.ll
M llvm/test/Other/print-cfg-scc.ll
M llvm/test/TableGen/ArtificialRegs.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerRecursion.td
M llvm/test/TableGen/aarch64-apple-tuning-features.td
M llvm/test/TableGen/address-space-patfrags.td
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
M llvm/test/Transforms/ArgumentPromotion/BPF/argpromotion.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
A llvm/test/Transforms/CodeGenPrepare/X86/null-psi-no-crash.ll
M llvm/test/Transforms/CodeGenPrepare/X86/split-store-alignment.ll
M llvm/test/Transforms/Coroutines/coro-materialize.ll
M llvm/test/Transforms/FunctionSpecialization/ssa-copy.ll
M llvm/test/Transforms/HotColdSplit/issue-197982.ll
A llvm/test/Transforms/Inline/alloc-token.ll
A llvm/test/Transforms/InstCombine/bfloat-bitcast-fcmp-zero.ll
M llvm/test/Transforms/InstCombine/dbg-scalable-store-fixed-frag.ll
M llvm/test/Transforms/InstCombine/dbg-simplify-alloca-size.ll
M llvm/test/Transforms/InstCombine/fdim.ll
M llvm/test/Transforms/InstCombine/fmod.ll
M llvm/test/Transforms/InstCombine/ldexp.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
M llvm/test/Transforms/InstCombine/modular-format.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/reduction-mul-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/select-min-max.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/sext-nonneg-sub.ll
A llvm/test/Transforms/InstCombine/trunc-minmax-intrinsics.ll
M llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll
M llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll
M llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll
M llvm/test/Transforms/LoopInterchange/lcssa-phi-outer-latch.ll
M llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
R llvm/test/Transforms/LoopInterchange/many-load-stores.ll
A llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll
A llvm/test/Transforms/LoopInterchange/ninf.ll
A llvm/test/Transforms/LoopInterchange/non-lcssa-phi-in-inner-exit.ll
A llvm/test/Transforms/LoopInterchange/outer-latch-phi.ll
M llvm/test/Transforms/LoopInterchange/perserve-lcssa.ll
M llvm/test/Transforms/LoopInterchange/pr57148.ll
A llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
M llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
A llvm/test/Transforms/LoopInterchange/reduction-not-involve-innermost.ll
M llvm/test/Transforms/LoopInterchange/reduction2mem.ll
M llvm/test/Transforms/LoopUnroll/RISCV/vector.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment.ll
M llvm/test/Transforms/LoopVectorize/AArch64/findlast-epilogue-loop.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invalid-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/load-cast-context.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked_ldst_sme.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub-epilogue-vec.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-with-invariant-stores.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reverse-load-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/struct-return-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vscale-fixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-epilogue-vec.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/partial-reduce-usabs.ll
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/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/scalarize-wide-load-for-address-use.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
M llvm/test/Transforms/LoopVectorize/VPlan/find-last.ll
M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
A llvm/test/Transforms/LoopVectorize/VPlan/for-phi-ordering.ll
M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/VPlan/widen-canonical-iv-register-pressure.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-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-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-f64-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-store-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/cast-costs.ll
R llvm/test/Transforms/LoopVectorize/X86/constant-fold.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/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.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/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/widen-canonical-iv-register-pressure.ll
M llvm/test/Transforms/LoopVectorize/control-flow.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
A llvm/test/Transforms/LoopVectorize/fold-epilogue-tail.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-scalable.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/narrow-interleave-groups-scalable-vf.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_early_exit.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/pr25281.ll
M llvm/test/Transforms/LoopVectorize/pr38800.ll
M llvm/test/Transforms/LoopVectorize/predicated-inductions-vs-first-order-recurrences.ll
M llvm/test/Transforms/LoopVectorize/predicated-single-exit.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
A llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-masked-mem-opts.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-replicate-region.ll
A llvm/test/Transforms/LoopVectorize/test-remarks-leak.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
A llvm/test/Transforms/PGOProfile/Inputs/indirect-call-vp-zeros.ll
A llvm/test/Transforms/PGOProfile/indirect-call-vp-zeros.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll
M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smax.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smin.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umax.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umin.ll
A llvm/test/Transforms/PhaseOrdering/X86/madd.ll
A llvm/test/Transforms/PhaseOrdering/X86/sad.ll
A llvm/test/Transforms/PhaseOrdering/X86/sad_variations.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/invoke-extract.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalable-type-revec.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalable-vector.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/trunc-insertion.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s352.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/transform-node-gather-struct.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-stores.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/buildvector-all-external-scalars.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/fmuladd_width_prop.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/load-store.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/ordered-reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reduced-value-repeated-and-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-store.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-store-chains.ll
A llvm/test/Transforms/SLPVectorizer/X86/callbr-extract.ll
M llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll
M llvm/test/Transforms/SLPVectorizer/X86/complex-fma-combine.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable_reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/extracts-non-extendable.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-extractelements-different-bbs.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-smax.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-use-bitcasted-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/no_alternate_divrem.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-bswap.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-node-with-non-schedulable-parent.ll
A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-user-different-bb.ll
M llvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
A llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-replaced.ll
A llvm/test/Transforms/SLPVectorizer/X86/ordered-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/parent-node-split-non-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-bool-logic-op-inside.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-same-vals.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder-non-empty.ll
M llvm/test/Transforms/SLPVectorizer/X86/schedule-bundle.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-reduction-op.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
A llvm/test/Transforms/SLPVectorizer/X86/struct-return-extract-dominance.ll
A llvm/test/Transforms/SLPVectorizer/X86/struct-return-ordering-stress.ll
M llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
M llvm/test/Transforms/SLPVectorizer/X86/user-with-multi-copyable-ops.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-pair-path.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
M llvm/test/Transforms/SLPVectorizer/bool-logical-op-reduction-with-poison.ll
M llvm/test/Transforms/SLPVectorizer/buildvector-nodes-dependency.ll
M llvm/test/Transforms/SLPVectorizer/crash_exceed_scheduling.ll
M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
M llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
A llvm/test/Transforms/SLPVectorizer/non-vect-loads.ll
M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
M llvm/test/Transforms/SLPVectorizer/reduced-gathered-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/sincos.ll
M llvm/test/Transforms/SLPVectorizer/struct-return-revec.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-live-on-exit.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-max-jump-threading-live-blocks.ll
M llvm/test/Transforms/Util/PredicateInfo/assume-operand-bundles.ll
M llvm/test/Transforms/Util/PredicateInfo/branch-on-same-cond.ll
M llvm/test/Transforms/Util/PredicateInfo/condprop.ll
M llvm/test/Transforms/Util/PredicateInfo/diamond.ll
M llvm/test/Transforms/Util/PredicateInfo/edge.ll
M llvm/test/Transforms/Util/PredicateInfo/ordering.ll
M llvm/test/Transforms/Util/PredicateInfo/pr33456.ll
M llvm/test/Transforms/Util/PredicateInfo/pr33457.ll
M llvm/test/Transforms/Util/PredicateInfo/testandor.ll
M llvm/test/Transforms/Util/PredicateInfo/unnamed-types.ll
M llvm/test/Transforms/Util/PredicateInfo/unreachable.ll
A llvm/test/Transforms/VectorCombine/AArch64/fold-reduce-add-cmp-zero.ll
M llvm/test/Transforms/VectorCombine/AArch64/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/AArch64/icmp-vector-reduce.ll
A llvm/test/Transforms/VectorCombine/AArch64/partial-reduce-crash.ll
Log Message:
-----------
rebase
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/d19af7f4d605...cd27e2e847e1
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