[all-commits] [llvm/llvm-project] 691831: [lit] show retry attempts (#142413)
Amir Ayupov via All-commits
all-commits at lists.llvm.org
Thu Jun 12 14:14:49 PDT 2025
Branch: refs/heads/users/aaupov/spr/bolt-make-memory-profile-parsing-optional
Home: https://github.com/llvm/llvm-project
Commit: 69183149189095966b9e7740d3b66126b754fbd1
https://github.com/llvm/llvm-project/commit/69183149189095966b9e7740d3b66126b754fbd1
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/display.py
M llvm/utils/lit/tests/Inputs/max-retries-per-test/allow-retries-no-test_retry_attempts/test.py
M llvm/utils/lit/tests/Inputs/max-retries-per-test/allow-retries-test_retry_attempts/test.py
M llvm/utils/lit/tests/Inputs/max-retries-per-test/no-allow-retries-test_retry_attempts/lit.cfg
M llvm/utils/lit/tests/allow-retries.py
Log Message:
-----------
[lit] show retry attempts (#142413)
If a test took more than one attempt to complete, show the number of attempts and the maximum allowed attempts as `2 of 4 attempts` inside the `<progress info>` (see [TEST RUN OUTPUT FORMAT](https://llvm.org/docs/CommandGuide/lit.html#test-run-output-format)).
NOTE: Additionally this is a fixup for #141851 where the tests were not quite right. `max-retries-per-test/allow-retries-test_retry_attempts/test.py` was added but never used there. Now we're calling it. To correlate better between the test output and the test script I've used higher numbers of max allowed retries.
Commit: 182c1c268fe0fea368b2ee4de997e9d040f563a9
https://github.com/llvm/llvm-project/commit/182c1c268fe0fea368b2ee4de997e9d040f563a9
Author: hev <wangrui at loongson.cn>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit for converting vector mask to `vXi1` using `[X]VMSKLTZ` (#142977)
Commit: 4d4b7cc69e3e633aa7c068cca93a3d4beba8615c
https://github.com/llvm/llvm-project/commit/4d4b7cc69e3e633aa7c068cca93a3d4beba8615c
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/test/CodeGen/AArch64/darwinpcs-tail.ll
M llvm/test/CodeGen/AArch64/scavenge-large-call.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-frame-offests-crash.ll
A llvm/test/CodeGen/AArch64/tail-call-stack-args.ll
Log Message:
-----------
[AArch64] Skip storing of stack arguments when lowering tail calls (#126735)
This issue starts in the selection DAG and causes the backend to emit
the following for a trivial tail call:
```
ldr w8, [sp]
str w8, [sp]
b func
```
I'm not too sure that checking for immutability of a specific stack
object is a good enough of a gurantee, because as soon a tail-call is
done lowering,`setHasTailCall()` is called and in that case perhaps a
pass is allowed to change the value of the object in-memory?
This can be extended to the ARM backend as well.
Removed the `tailcall` keyword from a few other test assets, I'm
assuming their original intent was left intact.
Commit: f849866fc5e62091088e3e2b58214c614437ff68
https://github.com/llvm/llvm-project/commit/f849866fc5e62091088e3e2b58214c614437ff68
Author: Michele Scuttari <michele.scuttari at outlook.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
Log Message:
-----------
[MLIR] Reduce complexity of searching circular function calls in bufferization (#142099)
The current algorithm searching for circular function calls scales quadratically due to the linear scan of the functions vector that is performed for each element of the vector itself. The PR replaces such algorithm with an O(V + E) version based on the Khan's algorithm for topological sorting, where V is the number of functions and E is the number of function calls.
Commit: 44a047c9295512ef3f940ac06a3e50a740671199
https://github.com/llvm/llvm-project/commit/44a047c9295512ef3f940ac06a3e50a740671199
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/ArmSVE/Transforms/Transforms.h
M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/CMakeLists.txt
A mlir/lib/Dialect/ArmSVE/Transforms/LowerContractionToSVEI8MMPattern.cpp
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-smmla.mlir
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-summla.mlir
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-ummla.mlir
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-usmmla.mlir
Log Message:
-----------
[MLIR][ArmSVE] Add initial lowering of vector.contract to SVE `*MMLA` instructions (#135636)
Commit: 5f33b9d286fba394825aaa33d2f5c55a2ae21f2b
https://github.com/llvm/llvm-project/commit/5f33b9d286fba394825aaa33d2f5c55a2ae21f2b
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/test/CodeGen/MIR/AMDGPU/virtreg-uses-unallocatable-class.mir
Log Message:
-----------
[MIRParser] Report register class errors in a deterministic order (#142928)
Commit: e66c205bda33a91fbe2ba5b4a5d6b823e5c23e8a
https://github.com/llvm/llvm-project/commit/e66c205bda33a91fbe2ba5b4a5d6b823e5c23e8a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/test/Analysis/BasicAA/captures.ll
Log Message:
-----------
[AA] Add additional tests for mixed of different captures (NFC)
Commit: e7cd6b48c007fadd499ad746e6b3239091fcfd48
https://github.com/llvm/llvm-project/commit/e7cd6b48c007fadd499ad746e6b3239091fcfd48
Author: Zokre Zyl <zokrezyl at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[libclang/python] Add TypeKind.FLOAT16 (#142634)
Adds FLOAT16 enum for value 32
Fixes #142633
Commit: f59742c1ea675a0af7ce4eb8d3c3e402c137efae
https://github.com/llvm/llvm-project/commit/f59742c1ea675a0af7ce4eb8d3c3e402c137efae
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/CodeGen/X86/pr142513.ll
M llvm/test/CodeGen/X86/pr62145.ll
Log Message:
-----------
[X86] getIntImmCostInst - recognise i64 ICMP EQ/NE special cases (#142812)
If the lower 32-bits of a i64 value are known to be zero, then icmp
lowering will shift+truncate down to a i32 allowing the immediate to be
embedded.
There's a lot more that could be done here to match icmp lowering, but
this PR just focuses on known regressions.
Fixes #142513
Fixes #62145
Commit: 7d4464599f2072154adf724c83aa812b538fd669
https://github.com/llvm/llvm-project/commit/7d4464599f2072154adf724c83aa812b538fd669
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
A llvm/test/Transforms/GVN/captures.ll
Log Message:
-----------
[GVN] Add test with different captures attributes (NFC)
Commit: 052d5889f871f792def285c92bd91182d07789cd
https://github.com/llvm/llvm-project/commit/052d5889f871f792def285c92bd91182d07789cd
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Support/Unix/Threading.inc
Log Message:
-----------
[Support] Properly zero initialize CPU set when querying affinity (#142924)
This commit resolves a potential issue of working with uninitialized
memory when querying the CPU's affinity. The man page of
`sched_getaffinity` does not guarantee that the memory will be fully
overwritten, so this change should ensure that issues are avoided.
Commit: b03081e9fb08c6e7ac60da0292537a5919e07a47
https://github.com/llvm/llvm-project/commit/b03081e9fb08c6e7ac60da0292537a5919e07a47
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-barrier-cancel.mlir
Log Message:
-----------
[mlir][OpenMP] set correct insert point after creating a barrier (#142997)
Fixes #138436
Commit: b9d3a644c2716e651b388f9fff660b12fdba577c
https://github.com/llvm/llvm-project/commit/b9d3a644c2716e651b388f9fff660b12fdba577c
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmSVE/CMakeLists.txt
A mlir/include/mlir/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.h
A mlir/include/mlir/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.td
A mlir/include/mlir/Dialect/ArmSVE/TransformOps/CMakeLists.txt
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Dialect/ArmSVE/CMakeLists.txt
A mlir/lib/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.cpp
A mlir/lib/Dialect/ArmSVE/TransformOps/CMakeLists.txt
M mlir/test/Dialect/Vector/CPU/ArmSVE/vector-smmla.mlir
M mlir/test/Dialect/Vector/CPU/ArmSVE/vector-summla.mlir
M mlir/test/Dialect/Vector/CPU/ArmSVE/vector-ummla.mlir
M mlir/test/Dialect/Vector/CPU/ArmSVE/vector-usmmla.mlir
Log Message:
-----------
[MLIR] Add apply_patterns.arm_sve.vector_contract_to_i8mm TD Op (#140572)
Commit: 4eeee41f52d08dc544812a2c3a37e0adf686251a
https://github.com/llvm/llvm-project/commit/4eeee41f52d08dc544812a2c3a37e0adf686251a
Author: Rolf Morel <854835+rolfmorel at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/Dialect/Transform/test-pass-application.mlir
Log Message:
-----------
[MLIR][Transform] Allow ApplyRegisteredPassOp to take options as a param (#142683)
Makes it possible to pass around the options to a pass inside a schedule.
The refactoring also makes it so that the pass manager and pass are only
constructed once per `apply()` of the transform op versus for each target
payload given to the op's `apply()`.
Commit: c95bc415620cc7e832f4e768030e6e6cb5f9d45e
https://github.com/llvm/llvm-project/commit/c95bc415620cc7e832f4e768030e6e6cb5f9d45e
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
Log Message:
-----------
[AArch64][SDAG] Fix selection of extend of v1if16 SETCC (#140274)
There is a DAG combine, that folds:
```
t1: v1i1 = setcc x:v1f16, y:v1f16, setogt:ch
t2: v1i64 = zero_extend t1
```
->
```
t1: v1i16 = setcc x:v1f16, y:v1f16, setogt:ch
t2: v1i64 = any_extend t1
```
This creates an issue on AArch64 when attempting to widen the result to
`v4i16`. The operand types (`v1f16`) are set to be scalarized, so the
"by hand" widening with `DAG.WidenVector` is used for them, however,
this only widens to the next power-of-2, so returns `v2f16`, which does
not match the result VF. The fix is to manually construct the widened
inputs using `INSERT_SUBVECTOR`.
Fixes #136540
Commit: 95b3fd61708ca5472df05b478c291c8d16dc37d5
https://github.com/llvm/llvm-project/commit/95b3fd61708ca5472df05b478c291c8d16dc37d5
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lldb/test/Shell/Settings/TestFrameFunctionInlined.test
Log Message:
-----------
[lldb][test] Fix TestFrameFunctionInlined on Windows
This test was timing out on Linaro's Windows on Arm bot.
This was because it couldn't identify an inlined function to
break on, which let it run into an infinite loop, which exhausted
the stack, which would have taken forever to backtrace.
Full details here - https://github.com/llvm/llvm-project/issues/143104
I'm not sure PDB would help here but it does work with DWARF
as long as we use a linker that keeps it.
So I've changed the test to require Windows and lld, unless you're
not on Windows and then you can use any linker.
Also I had to regex some parts of the function name because
on Windows we get the return and parameter types too.
Commit: fb5baef89b8c23ee21c2ca0b502b262ff4888ec3
https://github.com/llvm/llvm-project/commit/fb5baef89b8c23ee21c2ca0b502b262ff4888ec3
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port #135636 (#143109)
Commit 44a047c9295512ef3f940ac06a3e50a740671199
Commit: 5537733a048bbb46fe5d060c9cd9dda76da3bbb0
https://github.com/llvm/llvm-project/commit/5537733a048bbb46fe5d060c9cd9dda76da3bbb0
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port #140572 (#143110)
Commit b9d3a644c2716e651b388f9fff660b12fdba577c
Commit: c3b870eb3f4fb15403b49a976aea860e6da9084e
https://github.com/llvm/llvm-project/commit/c3b870eb3f4fb15403b49a976aea860e6da9084e
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[Clang] Fail the constraint substitution early after CWG2369 (#143096)
CWG2369 revealed another case where we were SFINAE'ing out the invalid
result of substitution, but the expression now makes the way into evaluation.
We switch to the concept specialization's context before we check it.
This ensures that we're able to realize the invalid expression earlier,
so we can avoid evaluating invalid expression, which is a hard error.
This also fixes #115838
Commit: 55e4c6d95dad7954e15af5da1672b7108f358e71
https://github.com/llvm/llvm-project/commit/55e4c6d95dad7954e15af5da1672b7108f358e71
Author: Tobias Kamm <tobias.kamm at pm.me>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/IR/Instruction.cpp
Log Message:
-----------
[Instruction] Add missing implementation for `moveAfter(InstListType::iterator)` (#143093)
Commit 8e702735090388a3231a863e343f880d0f96fecb introduced a declaration
for `Instruction::moveAfter(InstListType::iterator)`. However, its
implementation is missing. This PR adds it.
Commit: dde30a47313bf52fef02bbcb1de931a8d725659f
https://github.com/llvm/llvm-project/commit/dde30a47313bf52fef02bbcb1de931a8d725659f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
A llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-reg-does-not-geps.ll
Log Message:
-----------
[CGP] Bail out if (Base|Scaled)Reg does not dominate insert point. (#142949)
(Base|Scaled)Reg may not dominate the chosen insert point, if there are
multiple uses of the address. Bail out if that's the case, otherwise we
will generate invalid IR.
In some cases, we could probably adjust the insert point or hoist the
(Base|Scaled)Reg.
Fixes https://github.com/llvm/llvm-project/issues/142830.
PR: https://github.com/llvm/llvm-project/pull/142949
Commit: 4455d9d3e333ab780a642c534560f10b519a865c
https://github.com/llvm/llvm-project/commit/4455d9d3e333ab780a642c534560f10b519a865c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
Log Message:
-----------
RuntimeLibcalls: Use iterable enum for libcall types (#143075)
Commit: 269c29ae67e54bd3243535a7c58d0f30d1eb9036
https://github.com/llvm/llvm-project/commit/269c29ae67e54bd3243535a7c58d0f30d1eb9036
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M offload/liboffload/API/Kernel.td
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/device_code/noargs.c
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
Log Message:
-----------
[Offload] Allow setting null arguments in olLaunchKernel (#141958)
Commit: 89d2d62e4682a32851083a1e32eb64fb7364c39c
https://github.com/llvm/llvm-project/commit/89d2d62e4682a32851083a1e32eb64fb7364c39c
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-addr2line.rst
M llvm/docs/ReleaseNotes.md
M llvm/test/tools/llvm-symbolizer/symbol-search.test
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
Log Message:
-----------
[symbolizer] Update Release notes. (#142951)
Also add post-commit changes from commit #71ba852
in PR #135857
---------
Co-authored-by: James Henderson <James.Henderson at sony.com>
Commit: 1540ed52eeb25d6cf8142c1071d85a50f5c167b1
https://github.com/llvm/llvm-project/commit/1540ed52eeb25d6cf8142c1071d85a50f5c167b1
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
Log Message:
-----------
[AArch64] Neoverse V2 FeatureDisableLatencySchedHeuristic (#140897)
This adds FeatureDisableLatencySchedHeuristic to the Neoverse V2 core
tuning description. This gives us a 20% improvement on a key workload,
some other minor improvements here and there, and no real regressions;
nothing outside the noise levels.
Earlier attempts to solve this problems included disabling the MI
scheduler entirely (#127784), and #139557 was about a heuristic to not
schedule hand-written vector code. This solution is preferred because it
avoids another heuristic and achieves what we want, and for what is
worth, there is a lot of precedent for setting this feature.
Thanks to:
- Ricardo Jesus for pointing out this subtarget feature, and
- Cameron McInally for the extensive performance testing.
Commit: 4e676a13171c8af7fde20c1d2de9668f68b4a920
https://github.com/llvm/llvm-project/commit/4e676a13171c8af7fde20c1d2de9668f68b4a920
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-256.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
Log Message:
-----------
[X86] Fold (add X, (srl Y, 7)) -> (sub X, (ashr Y, 7)) on vXi8 vectors (#143106)
Undo the vectorcombine canonicalisation as SSE has awful vXi8 shift support, but can easily splat the MSB using the PCMPGTB(0,x) trick.
Fixes #130549
Commit: b80024e0f4bea449f5c1373436cd61096dd6613b
https://github.com/llvm/llvm-project/commit/b80024e0f4bea449f5c1373436cd61096dd6613b
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/Checker.cpp
Log Message:
-----------
[analyzer][NFCI] Remove ad-hoc program point tagging (#142980)
Previously some checkers attached explicitly created program point tags
to some of the exploded graph nodes that they created. In most of the
checkers this ad-hoc tagging only affected the debug dump of the
exploded graph (and they weren't too relevant for debugging) so this
commit removes them.
There were two checkers where the tagging _did_ have a functional role:
- In `RetainCountChecker` the presence of tags were checked by
`RefCountReportVisitor`.
- In `DynamicTypePropagation` the checker sometimes wanted to create two
identical nodes and had to apply an explicit tag on the second one to
avoid "caching out".
In these two situations I preserved the tags but switched to using
`SimpleProgramPointTag` instead of `CheckerProgramPointTag` because
`CheckerProgramPointTag` didn't provide enough benefits to justify its
existence.
Note that this commit depends on the earlier commit "[analyzer] Fix
tagging of PostAllocatorCall" ec96c0c072ef3f78813c378949c00e1c07aa44e5
and would introduce crashes when cherry-picked onto a branch that
doesn't contain that commit.
For more details about the background see the discourse thread
https://discourse.llvm.org/t/role-of-programpointtag-in-the-static-analyzer/
As a tangentially related changes, this commit also adds some comments
to document the surprising behavior of `CheckerContext::addTransition`
and an assertion in the constructor of `PathSensitiveBugReport` to get a
more readable crash dump in the case when the report is constructed with
`nullptr` as the `ErrorNode`. (This can happen due to "caching out".)
Commit: df48dfa0aece477f8f9990e26e91b43969851559
https://github.com/llvm/llvm-project/commit/df48dfa0aece477f8f9990e26e91b43969851559
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
Log Message:
-----------
[AArch64] Add custom lowering of nxv32i1 get.active.lane.mask nodes (#141969)
performActiveLaneMaskCombine already tries to combine a single
get.active.lane.mask where the low and high halves of the result are
extracted into a single whilelo which operates on a predicate pair.
If the get.active.lane.mask node requires splitting, multiple nodes are
created with saturating adds to increment the starting index. We cannot
combine these into a single whilelo_x2 at this point unless we know
the add will not overflow.
This patch adds custom lowering for the node if the return type is
nxv32xi1, as this can be replaced with a whilelo_x2 using legal types.
Anything wider than nxv32i1 will still require splitting first.
Commit: bfbf5d5da6363886262cc2c071b9c2e4cf8d7462
https://github.com/llvm/llvm-project/commit/bfbf5d5da6363886262cc2c071b9c2e4cf8d7462
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/test/CIR/CodeGenOpenACC/combined-copy.c
A clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
M clang/test/CIR/CodeGenOpenACC/compute-copy.c
A clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
Log Message:
-----------
[OpenACC][CIR] Implement member exprs for 'copy' lowering (#142998)
These ended up not being too much of a change, it just requires that we
properly emit a member expression,then use it in the varPtr. I also
fixed up the 'name' field to be the expression print, as that was
necessary to get this correct.
Finally, I added a TON of tests to convince myself that I've got this
correct, and hopefully the IR shows that.
Commit: efc70787b5442fa189de7222be4c1275abb556ba
https://github.com/llvm/llvm-project/commit/efc70787b5442fa189de7222be4c1275abb556ba
Author: Feng Zou <feng.zou at intel.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86MachineFunctionInfo.h
A llvm/test/CodeGen/X86/apx/push2-pop2-disabled-with-small-stack-alignment.ll
Log Message:
-----------
[X86][APX] Prevent from emitting push2/pop2 if stack alignment<16B (#143076)
push2/pop2 requires 16-byte stack alignment. If the stack alignment is
less than that, push2/pop2 should not be emitted. It triggers general
protection exception if the data being pushed/popped by push2/pop2 is
not 16-byte aligned on the stack.
Commit: 1f30e3d123ee7f7e0a98dc4057b5d280a490c723
https://github.com/llvm/llvm-project/commit/1f30e3d123ee7f7e0a98dc4057b5d280a490c723
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
M clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
Log Message:
-----------
[OpenACC][CIR] Fix 'copy' tests after deferred emission patch.
The patch #142998 crossed in the air with #142862. This resulted in 2
of the tests from the former to not have the inlined function emitted.
This patch adds an additional function to force these to be emitted.
Commit: b07a6da7cbe9326d5cc64b55a7cfd582bd51b325
https://github.com/llvm/llvm-project/commit/b07a6da7cbe9326d5cc64b55a7cfd582bd51b325
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/tools/scan-build/bin/scan-build
Log Message:
-----------
[scan-build][Windows] Fix driver name transformation in scan-build (#143135)
On Windows system, scan-build resolves clang++ driver name as
"clang-{ver}++.exe" from "clang-{ver}.exe" but should transform to
"clang++.exe".
Commit: a925e90ec20f2be1e10a113202c3a2aba7280d0d
https://github.com/llvm/llvm-project/commit/a925e90ec20f2be1e10a113202c3a2aba7280d0d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libcxx/include/map
Log Message:
-----------
[libc++][NFC] Remove some unused code from <map> (#142408)
Commit: 7ae6c4319eb49a58a13c423686a110afa554e92d
https://github.com/llvm/llvm-project/commit/7ae6c4319eb49a58a13c423686a110afa554e92d
Author: Joe Nash <joseph.nash at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[Sema] Fix bug in builtin AS override (#138141)
Fix the logic in rewriteBuiltinFunctionDecl to work when the builtin
has a pointer parameter with an address space and one without a fixed
address space. A builtin fitting these criteria was recently added.
Change the attribute string to perform type checking on it, so without
the sema change compilation would fail with a wrong number of arguments
error.
Commit: 6a4b89055b0711fd7a98a2c6dddc456495b32b22
https://github.com/llvm/llvm-project/commit/6a4b89055b0711fd7a98a2c6dddc456495b32b22
Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOReader.cpp
M llvm/lib/ObjectYAML/MachOEmitter.cpp
M llvm/lib/ObjectYAML/MachOYAML.cpp
M llvm/lib/Support/raw_ostream.cpp
Log Message:
-----------
[SystemZ][z/OS] add back headers needed for strnlen, autoconversion
Commit: 7809b147fa52ca4afd5e1aebd1c5cc7559b820c5
https://github.com/llvm/llvm-project/commit/7809b147fa52ca4afd5e1aebd1c5cc7559b820c5
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
Log Message:
-----------
[alpha.webkit.UncheckedCallArgsChecker] Forwarding r-value reference should not result in a warning (#142471)
This PR fixes the bug that the checker emits a warning when a function
takes T&& and passes it to another function using std::move. We should
treat std::move like any other pointer conversion and the origin of the
pointer to be that of the argument.
Commit: 0f38c54c6f4c1a45db0864412495cee61a0758e8
https://github.com/llvm/llvm-project/commit/0f38c54c6f4c1a45db0864412495cee61a0758e8
Author: Javier Lopez-Gomez <javier.lopez.gomez at proton.me>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVOptions.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
A llvm/include/llvm/DebugInfo/LogicalView/Core/LVSourceLanguage.h
M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
A llvm/lib/DebugInfo/LogicalView/Core/LVSourceLanguage.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/02-coff-logical-lines.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/03-coff-incorrect-lexical-scope-typedef.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/04-coff-missing-nested-enumerators.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/05-coff-incorrect-lexical-scope-variable.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/06-coff-full-logical-view.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/02-dwarf-logical-lines.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/03-dwarf-incorrect-lexical-scope-typedef.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/04-dwarf-missing-nested-enumerators.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/05-dwarf-incorrect-lexical-scope-variable.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/06-dwarf-full-logical-view.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/pr-57040-ignored-DW_FORM_implicit_const.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/pr-57040-incorrect-function-compare.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/02-wasm-logical-lines.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/03-wasm-incorrect-lexical-scope-typedef.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/04-wasm-missing-nested-enumerators.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/05-wasm-incorrect-lexical-scope-variable.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/06-wasm-full-logical-view.test
M llvm/test/tools/llvm-debuginfo-analyzer/cmdline.test
M llvm/tools/llvm-debuginfo-analyzer/Options.cpp
M llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp
M llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp
Log Message:
-----------
[llvm-debuginfo-analyzer] Add support for parsing DWARF / CodeView SourceLanguage (#137223)
This pull request adds support for parsing the source language in both
DWARF and CodeView. Specifically,
- The `LVSourceLanguage` class is introduced to represent any supported
language by any of the debug info representations.
- Update `LVDWARFReader.cpp` and `LVCodeViewVisitor.cpp` to parse the
source language where it applies. Added a new `=Language` attribute;
`getAttributeLanguage()` is internally used to control whether this
information is being printed.
Commit: 016ce351c8b260c5d7fff9db3e373640e7d6d00c
https://github.com/llvm/llvm-project/commit/016ce351c8b260c5d7fff9db3e373640e7d6d00c
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
[lldb][test] Enable settings test case on Windows
Fixes #43776
Whatever the problem was, it's now fixed.
Commit: c4012bb5de6bb62c43d292ab2adee0cf967812d0
https://github.com/llvm/llvm-project/commit/c4012bb5de6bb62c43d292ab2adee0cf967812d0
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/test/CodeGen/builtins-nvptx.c
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/pm-event.ll
Log Message:
-----------
[NVPTX] Add pm_event intrinsics (#141278)
This patch adds the pm_event.mask intrinsic and its
clang-builtin.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 0d40574e16e8b192e0b3e4caa313b42cbfb88821
https://github.com/llvm/llvm-project/commit/0d40574e16e8b192e0b3e4caa313b42cbfb88821
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopyIn.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
A flang/test/HLFIR/inline-hlfir-copy-in.fir
Log Message:
-----------
[flang] Inline hlfir.copy_in for trivial types (#138718)
hlfir.copy_in implements copying non-contiguous array slices for
functions that take in arrays required to be contiguous through
flang-rt.
For large arrays of trivial types, this can incur overhead compared to a
plain, inlined copy loop.
To address that, add a new InlineHLFIRCopyIn optimisation pass to inline
hlfir.copy_in operations for trivial types.
For the time being, the pattern is only applied in cases where the
copy-in does not require a corresponding copy-out, such as when the
function being called declares the array parameter as intent(in).
Applying this optimisation reduces the runtime of thornado-mini's
DeleptonizationProblem by about 10%.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 94384ae2bd086fd151933b7c80bd1baa6a9ec4fe
https://github.com/llvm/llvm-project/commit/94384ae2bd086fd151933b7c80bd1baa6a9ec4fe
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
Log Message:
-----------
RuntimeLibcalls: Fix missing const on getLibcallNames (#143074)
This is made simpler by just returning the array ref instead of
the fancy range.
Commit: d5a1f498275888ac2a21a2a5c3231a13ba79a5b2
https://github.com/llvm/llvm-project/commit/d5a1f498275888ac2a21a2a5c3231a13ba79a5b2
Author: Usha Gupta <usha.gupta at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
Log Message:
-----------
[GISel] [NFC] Capitalize loop indices in GISelValueTracking.cpp for style consistency (#143113)
Following up on a comment on
https://github.com/llvm/llvm-project/pull/142355.
Updated other instances in the file as well.
@jayfoad
Commit: 3846d8426912ac5b9c6c9abd9f9474285a5697a6
https://github.com/llvm/llvm-project/commit/3846d8426912ac5b9c6c9abd9f9474285a5697a6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
Log Message:
-----------
Hexagon: Move RuntimeLibcall setting out of TargetLowering (#142543)
RuntimeLibcalls needs to be correct in non-codegen contexts, so
should not be configured in TargetLowering. Hexagon has this exotic,
overly general sounding fast math flag which appear to be untested. I've
renamed and moved it but this should probably be deleted and move to a
combine based on fast math flags.
Commit: b6364ab9558277e877b2da2dfdff36e805dafa8d
https://github.com/llvm/llvm-project/commit/b6364ab9558277e877b2da2dfdff36e805dafa8d
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/Sema/Template.h
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
[clang] Reduce TemplateDeclInstantiator size. (#142983)
This gives us another ~1.85% improvement (1617->1647 for the
`instantiation-depth-default.cpp`) on clang's template instantiation
depths,
No performance regressions have been observed:
https://llvm-compile-time-tracker.com/compare.php?from=702e228249906d43687952d9a2f3d2f90d8024c6&to=61be4bfea92d52cfc3e48a3cabb1bc80cbebb7fa&stat=instructions:u
Commit: 612d485bc3dfd71275be3a6d31141220cc42fd76
https://github.com/llvm/llvm-project/commit/612d485bc3dfd71275be3a6d31141220cc42fd76
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/LogicalView/BUILD.gn
Log Message:
-----------
[gn build] Port 0f38c54c6f4c
Commit: 974ee967ad312f347d805558025a9fa727ac03f6
https://github.com/llvm/llvm-project/commit/974ee967ad312f347d805558025a9fa727ac03f6
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lldb/test/Shell/Settings/TestFrameFormatName.test
Log Message:
-----------
[lldb][test] Add more context for frame format test
This test is unsupported due to problems I assume with debug info,
but even if we solve that, the formatting elements aren't working
properly.
https://github.com/llvm/llvm-project/issues/143149
Commit: f57a1e973a5b7d84e4e42ad482130936519b99ef
https://github.com/llvm/llvm-project/commit/f57a1e973a5b7d84e4e42ad482130936519b99ef
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Fix variable name in CodeGenRegBank::computeComposites
Commit: 306148b5412ab87b518becffa85908ba04611fc8
https://github.com/llvm/llvm-project/commit/306148b5412ab87b518becffa85908ba04611fc8
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/ExprCXX.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in ExprCXX (#143125)
Commit: 891a0abfc2e619400065aee471169c01ca7ebf25
https://github.com/llvm/llvm-project/commit/891a0abfc2e619400065aee471169c01ca7ebf25
Author: lntue <lntue at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/src/string/CMakeLists.txt
M libc/src/strings/CMakeLists.txt
M libc/test/utils/FPUtil/CMakeLists.txt
Log Message:
-----------
[libc] Correct x86_64 architecture for string(s) tests. (#143150)
Commit: 835497a4dcbccb63528767ff941b3b24cd183e76
https://github.com/llvm/llvm-project/commit/835497a4dcbccb63528767ff941b3b24cd183e76
Author: Callum Fare <callum at codeplay.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M offload/liboffload/API/Memory.td
M offload/liboffload/src/OffloadImpl.cpp
Log Message:
-----------
[Offload] Make olMemcpy src parameter const (#143161)
Commit: a029ece7b0077ef7417362891b32a53a825adb32
https://github.com/llvm/llvm-project/commit/a029ece7b0077ef7417362891b32a53a825adb32
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
A llvm/test/CodeGen/RISCV/rvv/pr141907.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Fix coalescing vsetvlis when AVL and vl registers are the same (#141941)
With EVL tail folding we can end up with vsetvlis where the output vl
and the input AVL are the same register. When we try to coalesce it we
crashed because we tried to move the def's live interval before the
kill's live interval, e.g. in this example:
(vn0 def)
dead $x0 = PseudoVSETIVLI 1, 192, implicit-def $vl, implicit-def $vtype
renamable $v9 = COPY killed renamable $v8
(vn1 def) %23:gprnox0 = PseudoVSETVLI killed (vn0) %23:gprnox0, 197,
implicit-def $vl, implicit-def $vtype
We would try to move the vn1 def VNInfo up to the previous VSETVLI, in
the middle of vn0's segment.
However separately, we were also assuming that the vl would only have
one definition and thus were just taking the VNInfo from beginIndex(),
so we ended up with a backwards segment and got the error "Cannot create
empty or backwards segment".
This fixes these two issues, the first one by moving the AVL operand +
live interval up first, and the second by taking the VNInfo from
NextMI's slot index.
Fixes #141907
Commit: 399865cbf02a323cba7910eeb1462feaf07c67dd
https://github.com/llvm/llvm-project/commit/399865cbf02a323cba7910eeb1462feaf07c67dd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concat per-lane v2f64/v4f64 shuffles into vXf64 vshufpd (#143017)
We can always concatenate v2f64/v4f64 per-lane shuffles into a single vshufpd instruction, assuming we can profitably concatenate at least one of its operands (or its an unary shuffle).
I was really hoping to get this into combineX86ShufflesRecursively but it still can't handle concatenation/length changing as well as combineConcatVectorOps.
Commit: 839591289592ea79be035f814ac75ba6c6b0fba4
https://github.com/llvm/llvm-project/commit/839591289592ea79be035f814ac75ba6c6b0fba4
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/test/Fir/box-offset-codegen.fir
M flang/test/Fir/box-offset.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
[Flang] - Handle `BoxCharType` in `fir.box_offset` op (#141713)
To map `fir.boxchar` types reliably onto an offload target, such as a
GPU, the `omp.map.info` operation is used to map the underlying data
pointer (`fir.ref<fir.char<k, ?>>`) wrapped by the `fir.boxchar` MLIR
value. The `omp.map.info` operation needs a pointer to the underlying
data pointer.
Given a reference to a descriptor (`fir.box`), the `fir.box_offset` is
used to obtain the address of the underlying data pointer. This PR
extends `fir.box_offset` to provide the same functionality for
`fir.boxchar` as well.
Commit: cef5a3155bab9a2db5389f782471d56f1dd15b61
https://github.com/llvm/llvm-project/commit/cef5a3155bab9a2db5389f782471d56f1dd15b61
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
Log Message:
-----------
[PhaseOrdering] Add test for #139050 (NFC)
Commit: 609023213d3fcc35f6ee3d47dceaf37ffa55e66b
https://github.com/llvm/llvm-project/commit/609023213d3fcc35f6ee3d47dceaf37ffa55e66b
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
Log Message:
-----------
[clang] Check constexpr int->enum conversions consistently. (#143034)
In 8de51375f12d91675a18d17f262276e65f43fbe0 and related patches, we
added some code to avoid triggering -Wenum-constexpr-conversion in some
cases. This isn't necessary anymore because -Wenum-constexpr-conversion
doesn't exist anymore. And the checks are subtly wrong: they exclude
cases where we actually do need to check the conversion. This patch gets
rid of the unnecessary checks.
Commit: 56ebe64ce69adde8b10793de7aa571df00c75e08
https://github.com/llvm/llvm-project/commit/56ebe64ce69adde8b10793de7aa571df00c75e08
Author: David Green <david.green at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/GlobalISel/combine-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
Log Message:
-----------
[AArch64] Enable aggressivelyPreferBuildVectorSources (#142729)
This helps to remove some inefficient buildvector lowering by converting
extract_vector_elt(buildvector) to the original source.
Commit: 2c0a2261b1250c566624139a21371962ef0e489e
https://github.com/llvm/llvm-project/commit/2c0a2261b1250c566624139a21371962ef0e489e
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
A llvm/test/CodeGen/AArch64/build-vector-dup-simd.ll
Log Message:
-----------
[AArch64] Spare N2I roundtrip when splatting float comparison (#141806)
Transform `select_cc t1, t2, -1, 0` for floats into a vector comparison
which generates a mask, which is later on combined with potential
vectorized DUPs.
Commit: 6ab6321d03d5676756d16d9bec23ec08c8191d4d
https://github.com/llvm/llvm-project/commit/6ab6321d03d5676756d16d9bec23ec08c8191d4d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/Sema/ParsedAttr.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
Log Message:
-----------
[clang] Use range-based for loops (NFC) (#143153)
Note that use of llvm::for_each is discouraged unless we have functors
readily available.
Commit: dd201e50ba5ac8869338934aa4b7636ff8bbadf0
https://github.com/llvm/llvm-project/commit/dd201e50ba5ac8869338934aa4b7636ff8bbadf0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/SemaPseudoObject.h
M clang/lib/Analysis/FlowSensitive/Formula.cpp
M clang/lib/Headers/amxmovrstransposeintrin.h
M clang/lib/Headers/hlsl/hlsl_spirv.h
M clang/lib/Headers/movrsintrin.h
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
Log Message:
-----------
[clang] Ensure newline at the end of files (NFC) (#143154)
Commit: 1eb843b1a0f4119d65e1d9b4f298843b2e5cb3db
https://github.com/llvm/llvm-project/commit/1eb843b1a0f4119d65e1d9b4f298843b2e5cb3db
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/Extensions/AllExtensions.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/lib/Reducer/OptReductionPass.cpp
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
M mlir/unittests/Analysis/Presburger/QuasiPolynomialTest.cpp
M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp
Log Message:
-----------
[mlir] Ensure newline at the end of files (NFC) (#143155)
Commit: 30f524090542d07067234c292c15d4a4129b4aea
https://github.com/llvm/llvm-project/commit/30f524090542d07067234c292c15d4a4129b4aea
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/test/API/lang/cpp/decl-from-submodule/TestDeclFromSubmodule.py
Log Message:
-----------
[lldb][Modules] Make decls from submodules visible for name lookup (#143098)
This patch ensures we can find decls in submodules during expression
evaluation. Previously, submodules would have all their decls marked as
`Hidden`. When Clang asked LLDB for decls, it would see them in the
submodule but `clang::Sema` would reject them because they weren't
`Visible` (specifically, `getAcceptableDecl` would fail during
`CppNameLookup`). Here we just mark the submodule as visible to work
around this problem.
Commit: cb3d77d107c863a0273f4084dfa3a378b6e54c86
https://github.com/llvm/llvm-project/commit/cb3d77d107c863a0273f4084dfa3a378b6e54c86
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
AArch64: Partially move setting of libcall names out of TargetLowering (#142985)
Move the parts that aren't dependent on the subtarget into
RuntimeLibcallInfo, which should contain the superset of all possible
runtime calls and be accurate outside of codegen.
Commit: c9c687d8d039335118add0b9193b3927166dcc95
https://github.com/llvm/llvm-project/commit/c9c687d8d039335118add0b9193b3927166dcc95
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h
A llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractorSimple.h
M llvm/lib/DebugInfo/DWARF/CMakeLists.txt
R llvm/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp
Log Message:
-----------
[NFC] Split portions of DWARFDataExtractor into new class (#140096)
Currently, DWARFDataExtractor can extract data without performing
relocations, (eg, by checking if the section pointer is null) but is
coded such that it still depends on all the relocation machinery, like
DWARFSections and similar. All at build time.
Extract most functionality into a new class, DWARFDataExtractorBase, and
have DWARFDataExtractor add the relocation dependent pieces via CRTP.
Add a new class, DWARFDataExtractorSimple, which does no relocation at
all. This will allow moving DWARFDataExtractorSimple into a new lower-level,
lighter-weight library with fewer external build-time dependencies.
This is another in a series of refactoring changes to create a new
better-layered, low-level Dwarf library that can be called from
lower-level code without circular dependencies.
Commit: 73a4c363bdabd7f69f1ab8bc761a192caa8a8e50
https://github.com/llvm/llvm-project/commit/73a4c363bdabd7f69f1ab8bc761a192caa8a8e50
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
Log Message:
-----------
[gn build] Port c9c687d8d039
Commit: 645c0d509c43ef95b62503552c51e57c6e49f0e0
https://github.com/llvm/llvm-project/commit/645c0d509c43ef95b62503552c51e57c6e49f0e0
Author: David Green <david.green at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector-widen-crash.ll
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-build-vector-to-dup.mir
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/arm64-dup.ll
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div-cte.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/ctlz.ll
M llvm/test/CodeGen/AArch64/cttz.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fcopysign.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/freeze.ll
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/phi.ll
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/rem.ll
M llvm/test/CodeGen/AArch64/select_cc.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/shufflevector.ll
M llvm/test/CodeGen/AArch64/trunc.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/xtn.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
[AArch64][GlobalISel] Ensure we have a insert-subreg v4i32 GPR pattern (#142724)
This is the GISel equivalent of scalar_to_vector, making sure that when
we insert into undef we use a fmov that avoids the artificial dependency
on the previous register. This adds v2i32 and v2i64 patterns too for
similar reasons.
Commit: c9c60172a187eab07ab6ac4168862862074e6721
https://github.com/llvm/llvm-project/commit/c9c60172a187eab07ab6ac4168862862074e6721
Author: Darren Wihandi <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/test/Conversion/GPUToSPIRV/reductions.mlir
Log Message:
-----------
[mlir][spirv] Implement lowering `gpu.subgroup_reduce` with cluster size for SPIRV (#141402)
Implement lowering of `gpu.subgroup_reduce` with a cluster size
attribute to SPIRV by using the `ClusteredReduce` group operation.
Commit: b0f53d95c19e30428d549f589da864ccdd6d6952
https://github.com/llvm/llvm-project/commit/b0f53d95c19e30428d549f589da864ccdd6d6952
Author: David Green <david.green at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2_lse128.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc3.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8_1a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
M llvm/test/CodeGen/AArch64/i128_with_overflow.ll
Log Message:
-----------
[AArch64] Add SUBS(CSEL) fold from brcond. (#142103)
This folds away subs(csel(1, 0, cc)) from brcond, that can be produced
in certain places from compares that are not already subs (like adc/sbc
generated from i128 add_with_overflow intrinsics).
Commit: 155fd97a66349926026f05e3fe2fba55abd894be
https://github.com/llvm/llvm-project/commit/155fd97a66349926026f05e3fe2fba55abd894be
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/upper_bound_transparent.pass.cpp
Log Message:
-----------
[libc++] `flat_meow` transparent comparator string literals (#133654)
See discussion in https://cplusplus.github.io/LWG/issue4239
std::flat_map<std::string, int, std::less<>> m;
m.try_emplace("abc", 5); // hard error
The reason is that we specify in 23.6.8.7 [flat.map.modifiers]/p21
the effect to be as if `ranges::upper_bound` is called.
`ranges::upper_bound` requires indirect_strict_weak_order, which
requires the comparator to be invocable for all combinations. In this
case, it requires
const char (&)[4] < const char (&)[4]
to be well-formed, which is no longer the case in C++26 after
https://wg21.link/P2865R6.
This patch uses `std::upper_bound` instead.
Commit: e6d62c910fdc26cda58d21db84c5ef01b910c81d
https://github.com/llvm/llvm-project/commit/e6d62c910fdc26cda58d21db84c5ef01b910c81d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] IsElementEquivalent - pull out vector element count mismatch code. NFC.
All cases rely on the ops having the same vector count as the masksize, and this is unlikely to change now that we handle bitcasts, so just early out.
Commit: 525726a52078d1a03e8903458f4e92d41154e879
https://github.com/llvm/llvm-project/commit/525726a52078d1a03e8903458f4e92d41154e879
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/src/math/amdgpu/CMakeLists.txt
R libc/src/math/amdgpu/acos.cpp
R libc/src/math/amdgpu/acosf.cpp
R libc/src/math/amdgpu/acosh.cpp
R libc/src/math/amdgpu/acoshf.cpp
R libc/src/math/amdgpu/asin.cpp
R libc/src/math/amdgpu/asinf.cpp
R libc/src/math/amdgpu/asinh.cpp
R libc/src/math/amdgpu/asinhf.cpp
R libc/src/math/amdgpu/atan.cpp
R libc/src/math/amdgpu/atan2.cpp
R libc/src/math/amdgpu/atan2f.cpp
R libc/src/math/amdgpu/atanf.cpp
R libc/src/math/amdgpu/atanh.cpp
R libc/src/math/amdgpu/atanhf.cpp
R libc/src/math/amdgpu/cos.cpp
R libc/src/math/amdgpu/cosf.cpp
R libc/src/math/amdgpu/cosh.cpp
R libc/src/math/amdgpu/coshf.cpp
R libc/src/math/amdgpu/declarations.h
R libc/src/math/amdgpu/erf.cpp
R libc/src/math/amdgpu/erff.cpp
R libc/src/math/amdgpu/exp.cpp
R libc/src/math/amdgpu/exp10.cpp
R libc/src/math/amdgpu/exp10f.cpp
R libc/src/math/amdgpu/exp2.cpp
R libc/src/math/amdgpu/exp2f.cpp
R libc/src/math/amdgpu/expf.cpp
R libc/src/math/amdgpu/expm1.cpp
R libc/src/math/amdgpu/expm1f.cpp
R libc/src/math/amdgpu/fdim.cpp
R libc/src/math/amdgpu/fdimf.cpp
M libc/src/math/amdgpu/frexp.cpp
M libc/src/math/amdgpu/frexpf.cpp
R libc/src/math/amdgpu/hypot.cpp
R libc/src/math/amdgpu/hypotf.cpp
R libc/src/math/amdgpu/ilogb.cpp
R libc/src/math/amdgpu/ilogbf.cpp
M libc/src/math/amdgpu/ldexp.cpp
M libc/src/math/amdgpu/ldexpf.cpp
M libc/src/math/amdgpu/lgamma.cpp
M libc/src/math/amdgpu/lgamma_r.cpp
M libc/src/math/amdgpu/llrint.cpp
M libc/src/math/amdgpu/llrintf.cpp
R libc/src/math/amdgpu/log.cpp
R libc/src/math/amdgpu/log10.cpp
R libc/src/math/amdgpu/log10f.cpp
R libc/src/math/amdgpu/log1p.cpp
R libc/src/math/amdgpu/log1pf.cpp
R libc/src/math/amdgpu/log2.cpp
R libc/src/math/amdgpu/log2f.cpp
R libc/src/math/amdgpu/logb.cpp
R libc/src/math/amdgpu/logbf.cpp
R libc/src/math/amdgpu/logf.cpp
M libc/src/math/amdgpu/lrint.cpp
M libc/src/math/amdgpu/lrintf.cpp
R libc/src/math/amdgpu/nextafter.cpp
R libc/src/math/amdgpu/nextafterf.cpp
R libc/src/math/amdgpu/platform.h
R libc/src/math/amdgpu/powf.cpp
R libc/src/math/amdgpu/powi.cpp
R libc/src/math/amdgpu/powif.cpp
R libc/src/math/amdgpu/remquo.cpp
R libc/src/math/amdgpu/remquof.cpp
M libc/src/math/amdgpu/scalbn.cpp
M libc/src/math/amdgpu/scalbnf.cpp
R libc/src/math/amdgpu/sin.cpp
R libc/src/math/amdgpu/sincos.cpp
R libc/src/math/amdgpu/sincosf.cpp
R libc/src/math/amdgpu/sinf.cpp
R libc/src/math/amdgpu/sinh.cpp
R libc/src/math/amdgpu/sinhf.cpp
R libc/src/math/amdgpu/tan.cpp
R libc/src/math/amdgpu/tanf.cpp
R libc/src/math/amdgpu/tanh.cpp
R libc/src/math/amdgpu/tanhf.cpp
M libc/src/math/amdgpu/tgamma.cpp
M libc/src/math/amdgpu/tgammaf.cpp
M libc/src/math/nvptx/CMakeLists.txt
R libc/src/math/nvptx/acos.cpp
R libc/src/math/nvptx/acosf.cpp
R libc/src/math/nvptx/acosh.cpp
R libc/src/math/nvptx/acoshf.cpp
R libc/src/math/nvptx/asin.cpp
R libc/src/math/nvptx/asinf.cpp
R libc/src/math/nvptx/asinh.cpp
R libc/src/math/nvptx/asinhf.cpp
R libc/src/math/nvptx/atan.cpp
R libc/src/math/nvptx/atan2.cpp
R libc/src/math/nvptx/atan2f.cpp
R libc/src/math/nvptx/atanf.cpp
R libc/src/math/nvptx/atanh.cpp
R libc/src/math/nvptx/atanhf.cpp
R libc/src/math/nvptx/cos.cpp
R libc/src/math/nvptx/cosf.cpp
R libc/src/math/nvptx/cosh.cpp
R libc/src/math/nvptx/coshf.cpp
R libc/src/math/nvptx/declarations.h
R libc/src/math/nvptx/erf.cpp
R libc/src/math/nvptx/erff.cpp
R libc/src/math/nvptx/exp.cpp
R libc/src/math/nvptx/exp10.cpp
R libc/src/math/nvptx/exp10f.cpp
R libc/src/math/nvptx/exp2.cpp
R libc/src/math/nvptx/exp2f.cpp
R libc/src/math/nvptx/expf.cpp
R libc/src/math/nvptx/expm1.cpp
R libc/src/math/nvptx/expm1f.cpp
R libc/src/math/nvptx/fdim.cpp
R libc/src/math/nvptx/fdimf.cpp
R libc/src/math/nvptx/frexp.cpp
R libc/src/math/nvptx/frexpf.cpp
R libc/src/math/nvptx/hypot.cpp
R libc/src/math/nvptx/hypotf.cpp
R libc/src/math/nvptx/ilogb.cpp
R libc/src/math/nvptx/ilogbf.cpp
R libc/src/math/nvptx/ldexp.cpp
R libc/src/math/nvptx/ldexpf.cpp
M libc/src/math/nvptx/lgamma.cpp
M libc/src/math/nvptx/lgamma_r.cpp
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
R libc/src/math/nvptx/log.cpp
R libc/src/math/nvptx/log10.cpp
R libc/src/math/nvptx/log10f.cpp
R libc/src/math/nvptx/log1p.cpp
R libc/src/math/nvptx/log1pf.cpp
R libc/src/math/nvptx/log2.cpp
R libc/src/math/nvptx/log2f.cpp
R libc/src/math/nvptx/logb.cpp
R libc/src/math/nvptx/logbf.cpp
R libc/src/math/nvptx/logf.cpp
M libc/src/math/nvptx/lrint.cpp
R libc/src/math/nvptx/lrintf.cpp
R libc/src/math/nvptx/nextafter.cpp
R libc/src/math/nvptx/nextafterf.cpp
R libc/src/math/nvptx/nvptx.h
R libc/src/math/nvptx/powf.cpp
R libc/src/math/nvptx/powi.cpp
R libc/src/math/nvptx/powif.cpp
R libc/src/math/nvptx/remquo.cpp
R libc/src/math/nvptx/remquof.cpp
R libc/src/math/nvptx/scalbn.cpp
R libc/src/math/nvptx/scalbnf.cpp
R libc/src/math/nvptx/sin.cpp
R libc/src/math/nvptx/sincos.cpp
R libc/src/math/nvptx/sincosf.cpp
R libc/src/math/nvptx/sinf.cpp
R libc/src/math/nvptx/sinh.cpp
R libc/src/math/nvptx/sinhf.cpp
R libc/src/math/nvptx/tan.cpp
R libc/src/math/nvptx/tanf.cpp
R libc/src/math/nvptx/tanh.cpp
R libc/src/math/nvptx/tanhf.cpp
M libc/src/math/nvptx/tgamma.cpp
M libc/src/math/nvptx/tgammaf.cpp
Log Message:
-----------
[libc] Cleanup unimplemented math functions (#143173)
Summary:
This patch cleans up the leftoever files that were either implemented or
are still unimplemented stubs.
Commit: 45c3053ae0abfb570ec41994c96c754b4daa7efa
https://github.com/llvm/llvm-project/commit/45c3053ae0abfb570ec41994c96c754b4daa7efa
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Fix unused-variable warning for non-dbg builds. (#143175)
AArch64ISelLowering.cpp currently fails -Wunused-variable because SrcVT
is only used in assert(), so it is an unused variable if not using debug
builds. This behavior was introduced in 2c0a2261.
Commit: ede9555b0f151048393623c5594295d5d1053764
https://github.com/llvm/llvm-project/commit/ede9555b0f151048393623c5594295d5d1053764
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang] Fix a typo in documentation (#143169)
Commit: e16f603351b6d4af93f1e1a1e0b87f0d3bf2f38a
https://github.com/llvm/llvm-project/commit/e16f603351b6d4af93f1e1a1e0b87f0d3bf2f38a
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/test/HLFIR/opt-bufferization-tonto.fir
Log Message:
-----------
[flang] Relax conflicts detection in ElementalAssignBufferization. (#143045)
If there is a read-effect operation inside `hlfir.elemental`,
there is no reason to block moving it to the assignment point
unless there are write-effect operations between the elemental
and the assignment. The previous code was disallowing the optimization
even if there were only read-effect operations in between.
This case is from 465.tonto, though this change does not improve
performance at all.
Commit: ba8077c9ddeeb7c8fb6e929f655fa686561a8f6d
https://github.com/llvm/llvm-project/commit/ba8077c9ddeeb7c8fb6e929f655fa686561a8f6d
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/test/HLFIR/inline-hlfir-assign.fir
A flang/test/HLFIR/opt-bufferization-elemental-assign-shape.fir
Log Message:
-----------
[flang] Use optimal shape for assign expansion as a loop. (#143050)
During `hlfir.assign` inlining and `ElementalAssignBufferization`
we can deduce the optimal shape from `lhs` and `rhs` shapes.
It is probably better be done in a separate pass that propagates
constant shapes, but I have not seen any benchmarks that would
benefit from this yet. So consider this as a workaround for a bigger
TODO issue.
The `ElementalAssignBufferization` case is from 465.tonto,
but I do not have performance results yet (I do not expect much).
Commit: 5dc2f4499b57169e57eaf86a7f18ae151d555a85
https://github.com/llvm/llvm-project/commit/5dc2f4499b57169e57eaf86a7f18ae151d555a85
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/test/MC/RISCV/xqcibi-relocations.s
M llvm/test/MC/RISCV/xqcilb-relocations.s
M llvm/test/MC/RISCV/xqcili-relocations.s
Log Message:
-----------
[RISCV] Mark QC Relocations as Relaxable (#142794)
Some of the QC relocations are relaxable, in particular there are
relaxations defined for:
- `R_RISCV_QC_E_JUMP_PLT`
- `R_RISCV_QC_E_32`
- `R_RISCV_QC_ABS20_U`
This change ensures that llvm-mc correctly emits R_RISCV_RELAX
relocations for the relevant fixups.
Commit: 44a6a44573489501a4599425a02b4ba0c729244c
https://github.com/llvm/llvm-project/commit/44a6a44573489501a4599425a02b4ba0c729244c
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Support/DebugCounter.cpp
Log Message:
-----------
[NFC] [DebugCounter] warn if --debug-counter is unused in NDEBUG (#143057)
Co-authored-by: Nikita Popov <npopov at redhat.com>
Commit: 28e2256a1fa85572458981b477349ddd57e1f2f2
https://github.com/llvm/llvm-project/commit/28e2256a1fa85572458981b477349ddd57e1f2f2
Author: Thrrreeee <72311224+Thrrreeee at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
A llvm/test/tools/llvm-dwarfdump/X86/DW_OP_GNU_implicit_pointer.yaml
Log Message:
-----------
[llvm][DebugInfo] Add support for DW_OP_GNU_implicit_pointer (#142913)
This patch introduces support for the DWARF operation
`DW_OP_GNU_implicit_pointer `(value 0xf3) within LLVM's DWARF parsing
and expression evaluation infrastructure. This GNU extension is used to
describe the location of a variable that is itself a pointer, where the
value of this pointer is stored at an address derived from another DWARF
location expression plus a constant offset.
Motivation:
Compilers like GCC use `DW_OP_GNU_implicit_pointer `to represent the
location of certain variables.Without support for this opcode, debuggers
like LLDB (and other tools relying on LLVM's DWARF libraries) cannot
correctly resolve the location of such variables, leading to an
inability to inspect their values or an incorrect debugging experience.
Commit: c02403e37f6194f98f7b757f96546553a6b10bfb
https://github.com/llvm/llvm-project/commit/c02403e37f6194f98f7b757f96546553a6b10bfb
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/host_data.c
Log Message:
-----------
[OpenACC][CIR] Implement 'host_data' lowering, plus all clauses (#143136)
'host_data' has its own Op kind, so this handles the lowering there, it
looks exactly like the other ones we've done so far, so nothing novel
here.
host_data takes 3 clauses, 1 of which is required.
'use_device' is required, and results in an acc.use_device operation,
which then feeds into the dataOperands list on acc.host_data.
'if_present' is a simple attribute on the operand.
'if' is a condition on the operand, identical to our other handling of
'if'.
This patch handles all of these.
Commit: d8bfb4719df7a043c38962bbbd60fd3387c917b6
https://github.com/llvm/llvm-project/commit/d8bfb4719df7a043c38962bbbd60fd3387c917b6
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/src/math/generic/CMakeLists.txt
R libc/src/math/generic/exp_utils.cpp
R libc/src/math/generic/exp_utils.h
Log Message:
-----------
[libc] clean up unused exp_utils (#143181)
This file's just left over from old code, but it doesn't compile
anymore. It's never used so this patch just removes it.
Commit: 59f88a8e929b9eff97f2c37f835d9fe70d1dd0c7
https://github.com/llvm/llvm-project/commit/59f88a8e929b9eff97f2c37f835d9fe70d1dd0c7
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/src/string/CMakeLists.txt
M libc/src/string/string_utils.h
M libc/src/string/strsep.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] clean up string_utils memory functions (#143031)
The string_utils.h file previously included both memcpy and bzero. There
were no uses of bzero, and only one use of memcpy which was replaced
with __builtin_memcpy.
Also fix strsep which was broken by this change, fix a useless assert of
"sizeof(char) == sizeof(cpp::byte)", and update the bazel.
Commit: b84127bb131cee3ed2400abede345d473bb6130b
https://github.com/llvm/llvm-project/commit/b84127bb131cee3ed2400abede345d473bb6130b
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Lowering for 'deviceptr' for compute/combined constructs
This ends up being a simple clause that only adds 'acc.deviceptr' to the
dataOperands list on the compute construct operation.
Commit: 8f7e57485ee73205e108d74abb5565d5c63beaca
https://github.com/llvm/llvm-project/commit/8f7e57485ee73205e108d74abb5565d5c63beaca
Author: David Truby <david.truby at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/cmake/modules/CrossCompile.cmake
Log Message:
-----------
[llvm] Fix cmake string expansion in CrossCompile.cmake (#138901)
Commit: 39bb267445ffee980c313285f09814ab12e3a847
https://github.com/llvm/llvm-project/commit/39bb267445ffee980c313285f09814ab12e3a847
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR][NFC] Add device_ptr async clause tests
Add a test to ensure that device_ptr properly respects the 'async'
functionality we added for copy/etc.
Commit: 7db847df556f9c2670046f0d067b3aa80d6b9d39
https://github.com/llvm/llvm-project/commit/7db847df556f9c2670046f0d067b3aa80d6b9d39
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/utils/perf-training/perf-helper.py
Log Message:
-----------
Filter out configuration file from compile commands (#131099)
The commands to run the compilation when printed with `-###` contain
various irrelevant lines for the perf-training. Most of them are
filtered out already but when configured with
`CLANG_CONFIG_FILE_SYSTEM_DIR` a new line like the following is
added and needs to be filtered out:
`Configuration file: /etc/clang/x86_64-redhat-linux-gnu-clang.cfg`
Commit: 47d9473e492e4f4100a719a22bd1588b8524b344
https://github.com/llvm/llvm-project/commit/47d9473e492e4f4100a719a22bd1588b8524b344
Author: vporpo <vporpodas at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
Log Message:
-----------
[SandboxVec][BottomUpVec] Fix ownership of Legality (#143018)
Fix the ownership of `Legality` member variable of BottomUpVec. It
should get created in runOnFunction() and get destroyed when the
function returns.
Commit: 5823e927494f56a024b9ede29cc70498ce8b2415
https://github.com/llvm/llvm-project/commit/5823e927494f56a024b9ede29cc70498ce8b2415
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
Log Message:
-----------
[libc] Fix missing includes after transitive dependency changed
Commit: faaae66a55dc72ae89677bcc47f6f9a2a30b4551
https://github.com/llvm/llvm-project/commit/faaae66a55dc72ae89677bcc47f6f9a2a30b4551
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
A llvm/test/Transforms/LowerTypeTests/asm.ll
Log Message:
-----------
LowerTypeTests: Precommit test for generated x86 asm.
Reviewers: fmayer
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/143189
Commit: e3c72e10751bf1c1864b93c4156cf90863aa02a1
https://github.com/llvm/llvm-project/commit/e3c72e10751bf1c1864b93c4156cf90863aa02a1
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
M llvm/test/Transforms/LowerTypeTests/asm.ll
M llvm/test/Transforms/LowerTypeTests/export-allones.ll
M llvm/test/Transforms/LowerTypeTests/export-bytearray.ll
M llvm/test/Transforms/LowerTypeTests/export-icall.ll
M llvm/test/Transforms/LowerTypeTests/export-inline.ll
M llvm/test/Transforms/LowerTypeTests/function.ll
M llvm/test/Transforms/LowerTypeTests/import.ll
M llvm/test/Transforms/LowerTypeTests/simple.ll
M llvm/test/Transforms/LowerTypeTests/simplify.ll
M llvm/test/Transforms/MergeFunc/cfi-thunk-merging.ll
M llvm/test/Transforms/SimplifyTypeTests/basic.ll
M llvm/unittests/Transforms/IPO/LowerTypeTests.cpp
Log Message:
-----------
LowerTypeTests: Shrink check size by 1 instruction on x86.
We currently generate code like this on x86 for a jump table with 5 elements,
assuming the call target is in rbx:
lea global_addr(%rip), %rax # initialize temporary rax with base address
mov %rbx, %rcx # initialize another temporary rcx for index (rbx will be used for the call, so it is still live)
sub %rax, %rcx # compute `address - base`
ror $0x3, %rcx # compute `(address - base) ror 3` i.e. index
cmp $0x4, %rcx # check index <= 4
ja .Ltrap
[...]
.Ltrap:
ud1
A more efficient instruction sequence, that only needs one temporary
register and one fewer instruction, is possible by subtracting the
address we are testing from the fixed address instead of vice versa:
lea (global_addr + 4*8)(%rip), %rax # initialize temporary rax with address of last element
sub %rbx, %rax # compute `last element - address`
ror $0x3, %rax # compute `(last element - address) ror 3` i.e. 4 - index
cmp $0x4, %rax # check 4 - index <= 4 (same as above)
ja .Ltrap
[...]
.Ltrap:
ud1
Change LowerTypeTests to generate that sequence. As a consequence, the
order of bits in the bitsets is reversed. Because it doesn't matter how we
do the subtraction on other architectures (to the best of my knowledge),
do so unconditionally.
Reviewers: fmayer, vitalybuka
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/142887
Commit: bc7f1eadbf8bd3377d8fa121f3b6072ec7601724
https://github.com/llvm/llvm-project/commit/bc7f1eadbf8bd3377d8fa121f3b6072ec7601724
Author: David Blaikie <dblaikie at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
Log Message:
-----------
Fix forward for new DWARF DW_OP enum to address warning in lldb
Commit: 107601ed063f9e92aba61ea4f2a36c372127a82a
https://github.com/llvm/llvm-project/commit/107601ed063f9e92aba61ea4f2a36c372127a82a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/canonicalize-const-to-bop.ll
Log Message:
-----------
[InstCombine] Allow min/max in constant BOp min/max folding (#142878)
Extend folding for `X Pred C2 ? X BOp C1 : C2 BOp C1` to `min/max(X, C2)
BOp C1` to allow min and max as `BOp`. This ensures a constant clamping
pattern is folded into a pair of min/max instructions. Here is a
simplified example of a case where this folding is not occurring
currently.
int clampToU8(int v) {
if (v < 0) return 0;
if (v > 255) return 255;
return v;
}
https://godbolt.org/z/78jhKPWbv
Generic proof: https://alive2.llvm.org/ce/z/cdpLYy
Commit: 16dda4d3f4051c449f59f98b69dddddf06b4648c
https://github.com/llvm/llvm-project/commit/16dda4d3f4051c449f59f98b69dddddf06b4648c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
A clang/test/CIR/CodeGen/forward-decls.cpp
A clang/test/CIR/CodeGen/forward-enum.c
Log Message:
-----------
[CIR] Add support for completing forward-declared types (#143176)
This adds the needed handling for completing record types which were
previously declared leading us to create an incomplete record type.
Commit: 34e5d8ef166228c3ea09726b2a806d066a844776
https://github.com/llvm/llvm-project/commit/34e5d8ef166228c3ea09726b2a806d066a844776
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Remove buildkite from metrics container (#143049)
Now that buildkite has been sunsetted, remove buildkite tracking from
the metrics container as it does not do anything.
Commit: a75fc765d3a5e40d02a69f21b4cf29e25cb041dc
https://github.com/llvm/llvm-project/commit/a75fc765d3a5e40d02a69f21b4cf29e25cb041dc
Author: William <113542065+saturn691 at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/docs/headers/time.rst
A libc/include/llvm-libc-macros/baremetal/CMakeLists.txt
A libc/include/llvm-libc-macros/baremetal/time-macros.h
M libc/include/llvm-libc-macros/time-macros.h
Log Message:
-----------
[libc] Add definitions to embedded AArch32/AArch64 (#142597)
Add `CLOCKS_PER_SEC` and the older `CLK_TCK`. Allows the user to define
a `__CLK_TCK` to override if necessary.
Also add an extra column for embedded AArch64 in `time.rst`
Commit: d398f476c5df35b4369dbb9009758d960b798eed
https://github.com/llvm/llvm-project/commit/d398f476c5df35b4369dbb9009758d960b798eed
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[msan] Rename '-msan-dump-strict-intrinsics' to '-msan-dump-heuristic-instructions' (#143186)
This updates the flag from https://github.com/llvm/llvm-project/pull/123381
Also expands the description of msan-dump-strict-*instructions*
Commit: 8fa440a1e05f26901d6f40ca19f78609a02b0e1f
https://github.com/llvm/llvm-project/commit/8fa440a1e05f26901d6f40ca19f78609a02b0e1f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
Log Message:
-----------
[LV] Add tests for speculatively loading ptrs with UB/poison ops.
Test cases for https://github.com/llvm/llvm-project/issues/142957.
Commit: 897b0301d2e2ff28d3976fe95b64be5a85815908
https://github.com/llvm/llvm-project/commit/897b0301d2e2ff28d3976fe95b64be5a85815908
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
Log Message:
-----------
[clang][dep-scan] Resolve lexer crash from a permutation of invalid tokens (#142452)
Sometimes, when a user writes invalid code, the minimization used for
scanning can create a stream of tokens that is invalid at lex time. This
patch protects against the case where there are valid (non-c++20) import
directives discovered in the middle of an invalid `import` declaration.
Mostly authored by: @akyrtzi
resolves: rdar://152335844
Commit: 356dc628cb4855604ef9fdb800f53afd48b3a0da
https://github.com/llvm/llvm-project/commit/356dc628cb4855604ef9fdb800f53afd48b3a0da
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
Log Message:
-----------
[libc] Missing include in RPC test
Commit: 3bbb49610e9e6013fb3aaa0e884ab9d8d9e407c9
https://github.com/llvm/llvm-project/commit/3bbb49610e9e6013fb3aaa0e884ab9d8d9e407c9
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/ashr64_reduce.ll
Log Message:
-----------
[AMDGPU][NFC] Add tests for 64-bit ashr with shifts >= 32 (#142463)
Record current results for 64-bit ashr with shifts >=32.
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 549ce80f27b228ef08a71ec1c32c29322d997825
https://github.com/llvm/llvm-project/commit/549ce80f27b228ef08a71ec1c32c29322d997825
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/srl64_reduce.ll
Log Message:
-----------
[AMDGPU][NFC] Add test for 64-bit lshr with shifts >=32 (#138281)
Record current results for 64-bit lshr with shifts >=32.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 3695d6cdf98c252af4a747af8e247b48e046721a
https://github.com/llvm/llvm-project/commit/3695d6cdf98c252af4a747af8e247b48e046721a
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/src/stdio/gpu/CMakeLists.txt
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgetc.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/fputc.cpp
M libc/src/stdio/gpu/fputs.cpp
M libc/src/stdio/gpu/fread.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/fwrite.cpp
M libc/src/stdio/gpu/getc.cpp
M libc/src/stdio/gpu/getchar.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/gpu/putc.cpp
M libc/src/stdio/gpu/putchar.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/stderr.cpp
M libc/src/stdio/gpu/stdin.cpp
M libc/src/stdio/gpu/stdout.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/gpu/vprintf.cpp
Log Message:
-----------
[libc][GPU] clean up includes (#143203)
The GPU stdio functions were depending on indirect inclusion for some of
their dependencies. This patch should fix all of that.
Commit: 347186b25969adcb8621c0b21226f10e7a193f8d
https://github.com/llvm/llvm-project/commit/347186b25969adcb8621c0b21226f10e7a193f8d
Author: Nuri Amari <nuri.amari99 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
A clang/test/CodeGen/distributed-thin-lto/backend-skip.ll
A clang/test/CodeGen/distributed-thin-lto/basic.ll
A clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
A clang/test/CodeGen/distributed-thin-lto/cfi.ll
A clang/test/CodeGen/distributed-thin-lto/cs-irpgo.c
A clang/test/CodeGen/distributed-thin-lto/newpm.ll
A clang/test/CodeGen/distributed-thin-lto/objc-contract-pass.ll
A clang/test/CodeGen/distributed-thin-lto/supports-hot-cold-new.ll
R clang/test/CodeGen/thinlto-distributed-backend-skip.ll
R clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
R clang/test/CodeGen/thinlto-distributed-cfi.ll
R clang/test/CodeGen/thinlto-distributed-newpm.ll
R clang/test/CodeGen/thinlto-distributed-objc-contract-pass.ll
R clang/test/CodeGen/thinlto-distributed-supports-hot-cold-new.ll
R clang/test/CodeGen/thinlto-distributed.ll
Log Message:
-----------
Avoid Assertion Failure Using -fcs-profile-generate with distributed thin-lto (#129736)
When using `-fcs-generate-profile` with distributed thin-lto in the same
fashion we do for local thin-lto, we hit the following assertion:
https://github.com/llvm/llvm-project/blob/6041c745f32e8fd60ed24e29e7d919d8d1c87ca6/llvm/lib/Support/PGOOptions.cpp#L36
Using local thin-lto with LLD for MachO, we set the missing path
automatically to a default value: https://reviews.llvm.org/D151589. In
this fix we add the same behavior.
---------
Co-authored-by: Nuri Amari <nuriamari at fb.com>
Commit: a42bb8b57a6dcf298789ae88b36bbbba19e151fb
https://github.com/llvm/llvm-project/commit/a42bb8b57a6dcf298789ae88b36bbbba19e151fb
Author: Cameron McInally <cameron.mcinally at nyu.edu>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
A clang/include/clang/Driver/CommonArgs.h
M clang/lib/Driver/MultilibBuilder.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/AVR.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
R clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/CrossWindows.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cygwin.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Hurd.cpp
M clang/lib/Driver/ToolChains/InterfaceStubs.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSP430.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/NaCl.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Driver/ToolChains/VEToolchain.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/XCore.cpp
M clang/lib/Driver/ToolChains/ZOS.cpp
M clang/lib/Driver/XRayArgs.cpp
M clang/unittests/Driver/MultilibBuilderTest.cpp
M clang/unittests/Driver/MultilibTest.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/prefer-vector-width.f90
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[Driver] Move CommonArgs to a location visible by the Frontend Drivers (#142800)
This patch moves the CommonArgs utilities into a location visible by the
Frontend Drivers, so that the Frontend Drivers may share option parsing
code with the Compiler Driver. This is useful when the Frontend Drivers
would like to verify that their incoming options are well-formed and
also not reinvent the option parsing wheel.
We already see code in the Clang/Flang Drivers that is parsing and
verifying its incoming options. E.g. OPT_ffp_contract. This option is
parsed in the Compiler Driver, Clang Driver, and Flang Driver, all with
slightly different parsing code. It would be nice if the Frontend
Drivers were not required to duplicate this Compiler Driver code. That
way there is no/low maintenance burden on keeping all these parsing
functions in sync.
Along those lines, the Frontend Drivers will now have a useful mechanism
to verify their incoming options are well-formed. Currently, the
Frontend Drivers trust that the Compiler Driver is not passing back junk
in some cases. The Language Drivers may even accept junk with no error
at all. E.g.:
`clang -cc1 -mprefer-vector-width=junk test.c'
With this patch, we'll now be able to tighten up incomming options to
the Frontend drivers in a lightweight way.
---------
Co-authored-by: Cameron McInally <cmcinally at nvidia.com>
Co-authored-by: Shafik Yaghmour <shafik.yaghmour at intel.com>
Commit: 428afa62b0aa1bb0ac344cbfc62429a60c42b265
https://github.com/llvm/llvm-project/commit/428afa62b0aa1bb0ac344cbfc62429a60c42b265
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/test/CodeGen/ubsan-function-debuginfo.c
M clang/test/CodeGen/unsigned-promotion-debuginfo.c
Log Message:
-----------
[ubsan] Add more -fsanitize-annotate-debug-info checks (#141997)
This extends https://github.com/llvm/llvm-project/pull/138577 to more UBSan checks, by changing SanitizerDebugLocation (formerly SanitizerScope) to add annotations if enabled for the specified ordinals.
Annotations will use the ordinal name if there is exactly one ordinal specified in the SanitizerDebugLocation; otherwise, it will use the handler name.
Updates the tests from https://github.com/llvm/llvm-project/pull/141814.
---------
Co-authored-by: Vitaly Buka <vitalybuka at google.com>
Commit: 7b2aa02a33df2ffd59fa1c043c10ec05dc411171
https://github.com/llvm/llvm-project/commit/7b2aa02a33df2ffd59fa1c043c10ec05dc411171
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
A llvm/include/llvm/Frontend/Directive/Spelling.h
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/lib/Frontend/CMakeLists.txt
A llvm/lib/Frontend/Directive/CMakeLists.txt
A llvm/lib/Frontend/Directive/Spelling.cpp
M llvm/lib/Frontend/OpenACC/CMakeLists.txt
M llvm/lib/Frontend/OpenMP/CMakeLists.txt
M llvm/test/TableGen/directive1.td
M llvm/test/TableGen/directive2.td
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
Log Message:
-----------
[utils][TableGen] Handle versions on clause/directive spellings (#143021)
In "get<lang>DirectiveName(Kind, Version)", return the spelling that
corresponds to Version, and in "get<lang>DirectiveKindAndVersions(Name)"
return the pair {Kind, VersionRange}, where VersionRange contains the
minimum and the maximum versions that allow "Name" as a spelling. This
applies to clauses as well. In general it applies to classes that have
spellings (defined via TableGen class "Spelling").
Given a Kind and a Version, getting the corresponding spelling requires
a runtime search (which can fail in a general case). To avoid generating
the search function inline, a small additional component of
llvm/Frontent was added: LLVMFrontendDirective. The corresponding header
file also defines C++ classes "Spelling" and "VersionRange", which are
used in TableGen/DirectiveEmitter as well.
For background information see
https://discourse.llvm.org/t/rfc-alternative-spellings-of-openmp-directives/85507
Commit: 70e78be7dc3e060457d121e4ef9ee2745bb6c41e
https://github.com/llvm/llvm-project/commit/70e78be7dc3e060457d121e4ef9ee2745bb6c41e
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AMDGPU/fptrunc.v2f16.no.fast.math.ll
Log Message:
-----------
AMDGPU: Custom lower fptrunc vectors for f32 -> f16 (#141883)
The latest asics support v_cvt_pk_f16_f32 instruction. However current
implementation of vector fptrunc lowering fully scalarizes the vectors,
and the scalar conversions may not always be combined to generate the
packed one.
We made v2f32 -> v2f16 legal in
https://github.com/llvm/llvm-project/pull/139956. This work is an
extension to handle wider vectors. Instead of fully scalarization, we
split the vector to packs (v2f32 -> v2f16) to ensure the packed
conversion can always been generated.
Commit: 65077c7ac75e18f92f409c05e0cc4d929d3f2145
https://github.com/llvm/llvm-project/commit/65077c7ac75e18f92f409c05e0cc4d929d3f2145
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lld/test/ELF/riscv-branch.s
M lld/test/ELF/riscv-undefined-weak.s
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_branch.s
R llvm/test/MC/RISCV/long-jump-disable-relax.s
A llvm/test/MC/RISCV/option-exact-long-jump-disable.s
Log Message:
-----------
[RISCV] Remove -riscv-asm-relax-branches flag (#142855)
This flag has been superseded by `.option exact`, as the test updates
show.
Given the flag was always hidden, it makes sense to me to remove it, and
move tests that required it to use `.option exact`.
Commit: b7ef3e7a8595fd5e80ed3d1ef2fe9cd7e3b63530
https://github.com/llvm/llvm-project/commit/b7ef3e7a8595fd5e80ed3d1ef2fe9cd7e3b63530
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix llvm-min-tblgen bazel build (#143213)
Broken by 7b2aa02a. Tested with:
bazelisk build \
@llvm-project//llvm:llvm-min-tblgen \
@llvm-project//llvm:FrontendOpenACC \
@llvm-project//llvm:FrontendOpenMP \
@llvm-project//llvm:TableGen
Commit: b09b1d65efd7a3d6dd4f61333a5f09c0e69b42a4
https://github.com/llvm/llvm-project/commit/b09b1d65efd7a3d6dd4f61333a5f09c0e69b42a4
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Implement lowering for 'no_create' clause for comp/comb
no_create has its own 'data-in', plus uses the 'delete' for the data-out
operation. Additionally, like all data clauses it uses the 'async'
functionality previous implemented. This patch implements no_create for
combined/compute constructs completely, and ensures that the feature is
tested.
Commit: 4eb72312e26b19f745d57bbafad3b378493bce70
https://github.com/llvm/llvm-project/commit/4eb72312e26b19f745d57bbafad3b378493bce70
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Implement 'present' lowering for compute/combined
'present' has a data-in operation acc.present, and uses 'delete' for its
data out. Otherwise it is identical to no_create.
Commit: 6a21dfaac66ffa39dc7faaec1cd7932099c052d4
https://github.com/llvm/llvm-project/commit/6a21dfaac66ffa39dc7faaec1cd7932099c052d4
Author: Nuri Amari <nuri.amari99 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
Log Message:
-----------
[llvm-cgdata] Fix Dangling StringRefs (#143210)
Commit: 8a51fb29b6f315f1ee0ba3b0b9f0f4a4c2b51dcc
https://github.com/llvm/llvm-project/commit/8a51fb29b6f315f1ee0ba3b0b9f0f4a4c2b51dcc
Author: Wenju He <wenju.he at intel.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/unittests/Tooling/ToolingTest.cpp
Log Message:
-----------
Revert "[Clang] Add resource_dir_EQ flag to CC1Option group (#140870)" (#142509)
This reverts commit c7b8d6e1dcb0a277f95496cbc6bb27143afb80a6.
Fix check-clang CodeGenTest.TestNonAlterTest regression, see
https://github.com/llvm/llvm-project/pull/140870#issuecomment-2931610238
Commit: eed98e1493414ae9c30596b1eeb8f4a9b260e42a
https://github.com/llvm/llvm-project/commit/eed98e1493414ae9c30596b1eeb8f4a9b260e42a
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] 'attach' clause lowering for combined/compute
Attach is identical to 'present', except it generates an acc.attach and
acc.detach. This patch implements these, just like the preivous handful
of clauses.
Commit: 0c495ce9c4237f0f090b672efd94839e52cb5f18
https://github.com/llvm/llvm-project/commit/0c495ce9c4237f0f090b672efd94839e52cb5f18
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Handle function decls with MS calling conventions (#143083)
Commit: d953ca5659d60c46c6e9352b6e75bb20d35d9e1d
https://github.com/llvm/llvm-project/commit/d953ca5659d60c46c6e9352b6e75bb20d35d9e1d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[Sema] Drop const from a return type (NFC) (#143224)
Commit: 477f9f6d92a49a69b26c44cf08234f2eb68c900a
https://github.com/llvm/llvm-project/commit/477f9f6d92a49a69b26c44cf08234f2eb68c900a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Support/Windows/Path.inc
Log Message:
-----------
[llvm] Call hash_combine_range with ranges (NFC) (#143225)
We can now invoke hash_combine_range with a range.
Commit: 0ef1e69f224086e105ddaeebf2f90e7658a2fe93
https://github.com/llvm/llvm-project/commit/0ef1e69f224086e105ddaeebf2f90e7658a2fe93
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
[clang] Strip away lambdas (NFC) (#143226)
We don't need lambdas here.
Commit: 8829503f7a15ce8e6560000b9d49ec500e48ca76
https://github.com/llvm/llvm-project/commit/8829503f7a15ce8e6560000b9d49ec500e48ca76
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/FuzzMutate/IRMutator.cpp
Log Message:
-----------
[FuzzMutate] Use llvm::any_of (NFC) (#143227)
Note that llvm::any_of can accommodate std::begin(Range), not just
Range.begin().
Commit: 4f304e2e7203d3deb97d20816836aae82de8b24c
https://github.com/llvm/llvm-project/commit/4f304e2e7203d3deb97d20816836aae82de8b24c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[clang] Use llvm::count (NFC) (#143228)
Commit: ca4dfca5c7b417048e074a3c4341ea9297f7086a
https://github.com/llvm/llvm-project/commit/ca4dfca5c7b417048e074a3c4341ea9297f7086a
Author: Acthinks Yang <yangzhh at mail.ustc.edu.cn>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/fcmp-select.ll
Log Message:
-----------
[InstCombine] Relax guard against FP min/max in select fold (#143144)
FCmp's commutativity predicates do not work with min/max semantics
Closes #142711
Commit: fcc82cfa9394b2bd4380acdcf0e2854caee5a47a
https://github.com/llvm/llvm-project/commit/fcc82cfa9394b2bd4380acdcf0e2854caee5a47a
Author: Weining Lu <luweining at loongson.cn>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/isel-optnone.ll
Log Message:
-----------
[LoongArch] Precommit test case to show bug in LoongArchISelDagToDag
The optimization level should not be restored into O2.
Commit: 90a52f4942961a5c32afc69d69470c6b7e5bcb8a
https://github.com/llvm/llvm-project/commit/90a52f4942961a5c32afc69d69470c6b7e5bcb8a
Author: Weining Lu <luweining at loongson.cn>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArch.h
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/isel-optnone.ll
M llvm/test/CodeGen/LoongArch/spill-ra-without-kill.ll
Log Message:
-----------
[LoongArch] Pass OptLevel to LoongArchDAGToDAGISel correctly
Like many other targets did. And see RISCV for similar fix.
Fix https://github.com/llvm/llvm-project/issues/143239
Commit: 692c5cdb56a321b0b0e97dd08cf90878cd6970fb
https://github.com/llvm/llvm-project/commit/692c5cdb56a321b0b0e97dd08cf90878cd6970fb
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/include/__type_traits/container_traits.h
M libcxx/include/__vector/container_traits.h
M libcxx/include/deque
M libcxx/include/forward_list
M libcxx/include/list
M libcxx/include/map
M libcxx/include/set
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat_helpers.h
Log Message:
-----------
[libc++] Do not call `reserve` in flat containers if underlying container is user defined (#140379)
This is brought up in the LWG reflector. We currently call `reserve` if
the underlying container has one. But the spec does not specify what
`reserve` should do for Sequence Container. So in theory if the
underlying container is user defined type and it can have a function
called `reserve` which does something completely different.
The fix is to just call `reserve` for STL containers if it has one
Commit: 3f8827eabad60e439b5d0c51a64cf89c5a5bf814
https://github.com/llvm/llvm-project/commit/3f8827eabad60e439b5d0c51a64cf89c5a5bf814
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M openmp/runtime/CMakeLists.txt
M openmp/runtime/cmake/LibompUtils.cmake
Log Message:
-----------
[OpenMP][cmake] Add SPARC support (#142364)
This patch adds SPARC infrastructure to the `openmp` `cmake` files,
matching what is done for other architectures.
Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`sparc-unknown-linux-gnu`, `sparc64-unknown-linux-gnu`,
`i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and
`x86_64-pc-linux-gnu`.
Commit: eec9431d37e22a627c78e2f345d41a9a40e0c1c0
https://github.com/llvm/llvm-project/commit/eec9431d37e22a627c78e2f345d41a9a40e0c1c0
Author: Shamshura Egor <164661612+egorshamshura at users.noreply.github.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] Added explanation why a is trivial copyable evaluated to false. (#142341)
Commit: bb9dcb27df133dd3788e7dfcd2bf31382673a2bc
https://github.com/llvm/llvm-project/commit/bb9dcb27df133dd3788e7dfcd2bf31382673a2bc
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[TableGen] Use `contains` instead of `count`. NFC. (#143156)
Commit: 432c5f2c608dfd40c4131e7e3a8282b0231b15ab
https://github.com/llvm/llvm-project/commit/432c5f2c608dfd40c4131e7e3a8282b0231b15ab
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.h
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[TableGen] Use `emplace` instead of `insert` and similar. NFC. (#143164)
Commit: bc931318a2880360f3970e1e6906adc9c90eb698
https://github.com/llvm/llvm-project/commit/bc931318a2880360f3970e1e6906adc9c90eb698
Author: Imad Aldij <os at imadij.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/simple-requirement.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Implement CWG2517 Useless restriction on use of parameter in constraint-expression (#132919)
Remove `[expr.prim.req.nested]` check which restrict that local
parameters in constraint-expressions can only appear as unevaluated
operands. This change makes the treatment of examples like `requires`
expressions and other constant expression contexts uniform, consistent
with the adoption of P2280.
References: https://cplusplus.github.io/CWG/issues/2517.html
Fixes #132825
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 5e9527b644c23eae62656aa2cb7c0dd119150125
https://github.com/llvm/llvm-project/commit/5e9527b644c23eae62656aa2cb7c0dd119150125
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/simple_phi_condition.ll
Log Message:
-----------
[InstCombine] Add/Update test for #142263 (NFC)
Commit: bf51d583e44de6c01617740caff154d0c56309d6
https://github.com/llvm/llvm-project/commit/bf51d583e44de6c01617740caff154d0c56309d6
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/IR/invalid-vector.cir
Log Message:
-----------
[CIR] Upstream ShuffleOp for VectorType (#142288)
This change adds support for the Shuffle op for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 995d74f8663edb2e20f2d2672556582a6f4cc3f1
https://github.com/llvm/llvm-project/commit/995d74f8663edb2e20f2d2672556582a6f4cc3f1
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/test/CIR/Transforms/vector-ternary-fold.cir
Log Message:
-----------
[CIR] Implement folder for VecTernaryOp (#142946)
This change adds a folder for the VecTernaryOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 23d0c7348aacdfcb145a69e533a14131bae830cc
https://github.com/llvm/llvm-project/commit/23d0c7348aacdfcb145a69e533a14131bae830cc
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M flang/lib/Lower/Support/Utils.cpp
Log Message:
-----------
[flang] Fix missing includes in lib/Lower/Support/Utils.cpp (#143196)
Fixes the build failure due to missing includes introduced in
f8dcb059ae06376b0991936026d5befb3d7b109b.
Commit: bf53a49492bfc42966fe7a1f6d7a8aa1bdeab3b0
https://github.com/llvm/llvm-project/commit/bf53a49492bfc42966fe7a1f6d7a8aa1bdeab3b0
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
Log Message:
-----------
[GISel][NFC] Use ranged-for/enumerate in a few places. (#143185)
Follow-up to https://github.com/llvm/llvm-project/pull/143113.
Commit: b1d2d7c1285b4f8a9bce3ad519164bd0351ef979
https://github.com/llvm/llvm-project/commit/b1d2d7c1285b4f8a9bce3ad519164bd0351ef979
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
Log Message:
-----------
[Clang][Parse][NFC] Use `llvm::function_ref<>` instead of `std::optional<llvm::function_ref<>>` (#142906)
There is no need to distinguish between null `optional` and null
`function_ref` in this case.
Commit: 0e2103ac5c7c62341b499dc2fb402715ccdf9021
https://github.com/llvm/llvm-project/commit/0e2103ac5c7c62341b499dc2fb402715ccdf9021
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M libc/src/math/amdgpu/CMakeLists.txt
M libc/src/math/nvptx/CMakeLists.txt
Log Message:
-----------
[libc][NFC] Remove unused CMake for gpu math
Commit: d5704097fcc2128bb8c97867e090543024a936d0
https://github.com/llvm/llvm-project/commit/d5704097fcc2128bb8c97867e090543024a936d0
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
Log Message:
-----------
Refactor clang doc comment structure (#142273)
This patch refactors CommentKind handling in clang-doc by introducing a
strongly typed enum class for better type safety and clarity. It updates
all relevant places, including YAML traits and serialization, to work
with the new enum. Additionally, it enhances the Mustache-based HTML
generation by fully supporting all comment kinds, ensuring accurate
structured rendering of comment blocks. The changes simplify future
maintenance, improve robustness by eliminating unchecked defaults, and
ensure consistency between generators.
Fixes https://github.com/llvm/llvm-project/issues/142083
Commit: 893fa062803458bee8e374e0f30e5e2225155a5c
https://github.com/llvm/llvm-project/commit/893fa062803458bee8e374e0f30e5e2225155a5c
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rv64-trampoline-cfi.ll
Log Message:
-----------
[RISC-V] Adjust trampoline code for branch control flow protection (#141949)
Trampoline will use a alternative sequence when branch CFI is on.
The stack of the test is organized as follow
```
56 $ra
44 $a0 f
36 $a1 p
32 00038067 jalr t2
28 010e3e03 ld t3, 16(t3)
24 018e3383 ld t2, 24(t3)
20 00000e17 auipc t3, 0
sp+16 00000023 lpad 0
```
Commit: 469d1034dca1d0061a68aac94c72ce022d905e4c
https://github.com/llvm/llvm-project/commit/469d1034dca1d0061a68aac94c72ce022d905e4c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/test/MC/Sparc/sparc-vis2.s
M llvm/test/MC/Sparc/sparcv9-instructions.s
Log Message:
-----------
SPARC,test: Refactor error checking
* Test line/column
* Remove copied source lines from diagnostics
Commit: b4382a2c46931b2e0fc83d3c0f710f07a9c9ed67
https://github.com/llvm/llvm-project/commit/b4382a2c46931b2e0fc83d3c0f710f07a9c9ed67
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
Log Message:
-----------
SPARC: Modernize AsmBackend
* Move implementations out-of-line to align with other backends.
* clang-format the class.
Commit: de256ac8fb33ef1d5f38be278a8a81e0cc5236eb
https://github.com/llvm/llvm-project/commit/de256ac8fb33ef1d5f38be278a8a81e0cc5236eb
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/AST/StmtObjC.h
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in StmtObjC (#143256)
Commit: 56b98449c8f047c983508b13294a9610f8df0e2b
https://github.com/llvm/llvm-project/commit/56b98449c8f047c983508b13294a9610f8df0e2b
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/TypePrinter.cpp
A clang/test/AST/ast-dump-type-callingconv.cpp
Log Message:
-----------
[clang][AST] Fix spaces in TypePrinter for some calling convs (#143160)
There needs to be a space as the first character, otherwise the printed
function prototype will have the CC attribute attached to the final `)`.
I noticed this looking at the AST for a function with
`__attribute__((device_kernel))`
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 3bf2aece835bff9de41759bb8993a32de57e0f06
https://github.com/llvm/llvm-project/commit/3bf2aece835bff9de41759bb8993a32de57e0f06
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/AST/StmtCXX.h
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in StmtCXX (#143251)
Commit: 3ebb91d3c8013b7da577bab6db249ce5bea6d6ee
https://github.com/llvm/llvm-project/commit/3ebb91d3c8013b7da577bab6db249ce5bea6d6ee
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/AST/ExprConcepts.h
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in ExprConcepts (#143252)
Commit: 6615ec6084f05e609e00025f7f31216710e765cc
https://github.com/llvm/llvm-project/commit/6615ec6084f05e609e00025f7f31216710e765cc
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/AST/ExprObjC.h
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in ExprObjC (#143254)
Commit: 7dbae40c94fc39727b847e3db0aed0cf19adc3ce
https://github.com/llvm/llvm-project/commit/7dbae40c94fc39727b847e3db0aed0cf19adc3ce
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/ParsedTemplate.h
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in ParsedTemplate (#143255)
Commit: fe3760eb031b108a954e1adc43f260aeb236c1d1
https://github.com/llvm/llvm-project/commit/fe3760eb031b108a954e1adc43f260aeb236c1d1
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
Log Message:
-----------
NVPTX: Implement printMCExpr with generic print
3d2a976197ce4060e7576fa3ce67f87fa8cff126 (2015) copied and adapted
the generic printer to reduce parentheses, which is unnecessary after #133674.
Commit: b4b86a7a3c2b2ad6cdb6c1e1041ce28ee4a63a17
https://github.com/llvm/llvm-project/commit/b4b86a7a3c2b2ad6cdb6c1e1041ce28ee4a63a17
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Dialect/Linalg/vectorization/insert-slice.mlir
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
Log Message:
-----------
[mlir][linalg] Refactor vectorization hooks to improve code reuse (#141244)
This patch refactors two vectorization hooks in Vectorization.cpp:
* `createWriteOrMaskedWrite` gains a new parameter for write indices,
aligning it with its counterpart `createReadOrMaskedRead`.
* `vectorizeAsInsertSliceOp` is updated to reuse both of the above
hooks, rather than re-implementing similar logic.
CONTEXT
-------
This is effectively a refactoring of the logic for vectorizing
`tensor.insert_slice`. Recent updates added masking support:
* https://github.com/llvm/llvm-project/pull/122927
* https://github.com/llvm/llvm-project/pull/123031
At the time, reuse of the shared `create*` hooks wasn't feasible due to
missing parameters and overly rigid assumptions. This patch resolves
that and moves us closer to a more maintainable structure.
CHANGES IN `createWriteOrMaskedWrite`
-------------------------------------
* Introduces a clear distinction between the destination tensor and the
vector to store, via named variables like `destType`/`vecToStoreType`,
`destShape`/`vecToStoreShape`, etc.
* Ensures the correct rank and shape are used for attributes like
`in_bounds`. For example, the size of the `in_bounds` attr now matches
the source vector rank, not the tensor rank.
* Drops the assumption that `vecToStoreRank == destRank` - this doesn't
hold in many real examples.
* Deduces mask dimensions from `vecToStoreShape` (vector) instead of
`destShape` (tensor). (Eventually we should not require
`inputVecSizesForLeadingDims` at all - mask shape should be inferred.)
NEW HELPER: `isMaskTriviallyFoldable`
-------------------------------------
Adds a utility to detect when masking is unnecessary. This avoids
inserting redundant masks and reduces the burden on canonicalization to
clean them up later.
Example where masking is provably unnecessary:
```mlir
%2 = vector.mask %1 {
vector.transfer_write %0, %arg1[%c0, %c0, %c0, %c0, %c0, %c0]
{in_bounds = [true, true, true]}
: vector<1x2x3xf32>, tensor<9x8x7x1x2x3xf32>
} : vector<1x2x3xi1> -> tensor<9x8x7x1x2x3xf32>
```
Also, without this hook, tests are more complicated and require more
matching.
VECTORIZATION BEHAVIOUR
-----------------------
This patch preserves the current behaviour around masking and the use
of`in_bounds` attribute. Specifically:
* `useInBoundsInsteadOfMasking` is set when no input vector sizes are
available.
* The vectorizer continues to infer vector sizes where needed.
Note: the computation of the `in_bounds` attribute is not always
correct. That
issue is tracked here:
* https://github.com/llvm/llvm-project/issues/142107
This will be addressed separately.
TEST CHANGES
-----------
Only affects vectorization of:
* `tensor.insert_slice` (now refactored to use shared hooks)
Test diffs involve additional `arith.constant` Ops due to increased
reuse of
shared helpers (which generate their own constants). This will be
cleaned up
via constant caching (see #138265).
NOTE FOR REVIEWERS
------------------
This is a fairly substantial rewrite. You may find it easier to review
`createWriteOrMaskedWrite` as a new method rather than diffing
line-by-line.
TODOs (future PRs)
------------------
Further alignment of `createWriteOrMaskedWrite` and
`createReadOrMaskedRead`:
* Move `createWriteOrMaskedWrite` next to `createReadOrMaskedRead` (in
VectorUtils.cpp)
* Make `createReadOrMaskedRead` leverage `isMaskTriviallyFoldable`.
* Extend `isMaskTriviallyFoldable` with value-bounds-analysis. See the
updated test in transform-vector.mlir for an example that would
benefit from this.
* Address #142107
(*) This method will eventually be moved out of Vectorization.cpp, which
isn't the right long-term home for it.
Commit: 97a32f2ad9ded95806db1dcfc281f64b0c1874a6
https://github.com/llvm/llvm-project/commit/97a32f2ad9ded95806db1dcfc281f64b0c1874a6
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.h
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
Log Message:
-----------
MC: Add MCSpecifierExpr to unify target MCExprs
Many targets define MCTargetExpr subclasses just to encode an expression
with a relocation specifier. Create a generic MCSpecifierExpr to be
inherited instead. Migrate M68k and SPARC as examples.
Commit: 30d8aebbe2c3bd4bdda7a7feefeb7cf7d556a458
https://github.com/llvm/llvm-project/commit/30d8aebbe2c3bd4bdda7a7feefeb7cf7d556a458
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/multi-level-implicit-pointer-conversion.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/multi-level-implicit-pointer-conversion.c
Log Message:
-----------
[clang-tidy] Add option to disable bugprone-multi-level-pointer-conversion in C code (#141209)
Sometimes a project may want to enable this check only in C++, and
disable it in C, since the patterns the check warns about are quite
common and idiomatic in C, and there are no better alternatives.
Fixes #140659
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: 24bd4e59b9e2901f8797484e7a231178d91807aa
https://github.com/llvm/llvm-project/commit/24bd4e59b9e2901f8797484e7a231178d91807aa
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Use regular phi printing for resume phis.
As discussed in https://github.com/llvm/llvm-project/pull/140405, remove
custom printing for resume-phis and update tests.
Commit: e997eb4c3951ccd43046cc2da3c7a5fd1d9319ec
https://github.com/llvm/llvm-project/commit/e997eb4c3951ccd43046cc2da3c7a5fd1d9319ec
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
Log Message:
-----------
VEMCExpr: Migrate to MCSpecifierExpr
Follow-up to 97a32f2ad9ded95806db1dcfc281f64b0c1874a6
Commit: df46140bab7a63eacbb7f4648d2d30c116b022c8
https://github.com/llvm/llvm-project/commit/df46140bab7a63eacbb7f4648d2d30c116b022c8
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
Log Message:
-----------
XtensaMCExpr: Migrate to MCSpecifierExpr
Commit: 00a1318d9ad91e0aa6253c0337131771d9222d05
https://github.com/llvm/llvm-project/commit/00a1318d9ad91e0aa6253c0337131771d9222d05
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
Log Message:
-----------
LoongArchMCExpr: Migrate to MCSpecifierExpr
Commit: 7730853fa1b955680478dc9cab69287897519765
https://github.com/llvm/llvm-project/commit/7730853fa1b955680478dc9cab69287897519765
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[SelectionDAG] Use DAG.getSelect (NFC) (#143276)
Commit: 897ccddcc30cacdfe04ddd622986b50ec963eabc
https://github.com/llvm/llvm-project/commit/897ccddcc30cacdfe04ddd622986b50ec963eabc
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format][NFC] Clean up fillRanges() in ClangFormat.cpp (#143236)
Commit: beaa98bf80ea12b08051c48b14b53f18689e80a9
https://github.com/llvm/llvm-project/commit/beaa98bf80ea12b08051c48b14b53f18689e80a9
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
Log Message:
-----------
AArch64MCExpr: Migrate to MCSpecifierExpr
Commit: 4a6b4d38943d391236afbc878477e5822685de97
https://github.com/llvm/llvm-project/commit/4a6b4d38943d391236afbc878477e5822685de97
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
Log Message:
-----------
RISCVMCExpr: Migrate to MCSpecifierExpr
Commit: cdd0a6c7812d0f94dc18060c7e29d5fd98e10106
https://github.com/llvm/llvm-project/commit/cdd0a6c7812d0f94dc18060c7e29d5fd98e10106
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
Log Message:
-----------
BOLT: Replace MCTargetExpr with MCSpecifierExpr to fix bolt-icf.test on aarch64 host
Commit: 8eac7f5a81be00da3c47484fafad3498e5c0e617
https://github.com/llvm/llvm-project/commit/8eac7f5a81be00da3c47484fafad3498e5c0e617
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
Log Message:
-----------
PPCMCExpr: Migrate to MCSpecifierExpr
Commit: 49a706d8efb1c894a56dfa574d59afd30a376fba
https://github.com/llvm/llvm-project/commit/49a706d8efb1c894a56dfa574d59afd30a376fba
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCSpecifierExpr: Make dtor defaulted
Commit: 532facc78e075255afde69f2d86f26e4d4dd4c7f
https://github.com/llvm/llvm-project/commit/532facc78e075255afde69f2d86f26e4d4dd4c7f
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
Log Message:
-----------
ARMMCExpr: Migrate to MCSpecifierExpr
Commit: 239c8ac2680fd579a09e27eb2c89ba71ae1fce36
https://github.com/llvm/llvm-project/commit/239c8ac2680fd579a09e27eb2c89ba71ae1fce36
Author: flovent <flbven at protonmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static-deducing-this.cpp
Log Message:
-----------
[clang-tidy] Fix false positives with deducing this in `readability-convert-member-functions-to-static` check (#141391)
Add check for `DeclRefExpr` which points to an explicit object
parameter.
Fixes #141381.
---------
Co-authored-by: fubowen <fubowen at protomail.com>
Co-authored-by: flovent <flbven at protomail.com>
Commit: ce270b495d32710f6e4c42b5c7f6678b1f01db60
https://github.com/llvm/llvm-project/commit/ce270b495d32710f6e4c42b5c7f6678b1f01db60
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
Log Message:
-----------
MCExpr: Move isSymbolUsedInExpression workaround to AMDGPU
This function was a workaround used to detect cyclic dependency
(properly resolved by 343428c666f9293ae260bbcf79130562b830b268).
We do not want backends to use it. However, #112251 exposed it to MCExpr
to be reused by AMDGPU. Keep the workaround within AMDGPU to prevent
other backends from accidentally relying on it.
Commit: 2f1c08215fb584a27987be74e2db48761cd29ebe
https://github.com/llvm/llvm-project/commit/2f1c08215fb584a27987be74e2db48761cd29ebe
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
Log Message:
-----------
SystemZMCExpr: Migrate to MCSpecifierExpr
Commit: 39064519cb65b5248fcb27b2fd9fa4397d518331
https://github.com/llvm/llvm-project/commit/39064519cb65b5248fcb27b2fd9fa4397d518331
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
Log Message:
-----------
AVRMCExpr: Migrate to MCSpecifierExpr
Commit: 5c76ae28940b91d358186c0afccad1fd7ac8a13e
https://github.com/llvm/llvm-project/commit/5c76ae28940b91d358186c0afccad1fd7ac8a13e
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
Log Message:
-----------
[Clang] Support constexpr asm at global scope. (#143268)
I previously failed to realize this feature existed...
Fixes #137459
Fixes #143242
Commit: ef328e97db61309e01ee10bf3bb430e1d1b4a7ed
https://github.com/llvm/llvm-project/commit/ef328e97db61309e01ee10bf3bb430e1d1b4a7ed
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
Log Message:
-----------
MipsMCExpr: Migrate to MCSpecifierExpr
Commit: 38658b54b244ced1eccbf73b1342d064524501b0
https://github.com/llvm/llvm-project/commit/38658b54b244ced1eccbf73b1342d064524501b0
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/Lanai/LanaiMCInstLower.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
Log Message:
-----------
LanaiMCExpr: Migrate to MCSpecifierExpr
Commit: 0613f8b9e49537c7493870ad971fdaf353a2a90d
https://github.com/llvm/llvm-project/commit/0613f8b9e49537c7493870ad971fdaf353a2a90d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-move/Move.h
Log Message:
-----------
[clang-move] Teach getDeclarationList to return ArrayRef (NFC) (#143278)
getDeclarationList is used only for read-only access to the array. I
don't think it's actually meant to return by value.
Commit: 9ea3972cd10e46cea0624bb149ad655301db0c6b
https://github.com/llvm/llvm-project/commit/9ea3972cd10e46cea0624bb149ad655301db0c6b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[Vectorize] Strip away lambdas (NFC) (#143279)
We don't need lambdas here.
Commit: 1cf1c21b8497832e2bc159344a20bfcc5636f39c
https://github.com/llvm/llvm-project/commit/1cf1c21b8497832e2bc159344a20bfcc5636f39c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir] Strip away lambdas (NFC) (#143280)
We don't need lambdas here.
Commit: 6edfc6ce6ced8eaa34238eb10904d6f91730f942
https://github.com/llvm/llvm-project/commit/6edfc6ce6ced8eaa34238eb10904d6f91730f942
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
Log Message:
-----------
[clang-tools-extra] Use llvm::any_of (NFC) (#143281)
Commit: 3e1931d7fea07b5cf5e4093c847382202af1e9b7
https://github.com/llvm/llvm-project/commit/3e1931d7fea07b5cf5e4093c847382202af1e9b7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
Log Message:
-----------
[Scalar] Use std::none_of (NFC) (#143282)
While I am at it, this patch replaces It with std::next(It) for clarity.
Note that It is not used after this point.
Commit: 00eb22fff99559cc97fc9b24a9dbe86b89e9beae
https://github.com/llvm/llvm-project/commit/00eb22fff99559cc97fc9b24a9dbe86b89e9beae
Author: Thorsten Klein <kleinkastel at googlemail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/namespace-comment.rst
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing-nested-namespaces.cpp
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing.cpp
Log Message:
-----------
added option `google-readability-namespace-comments.AllowNoNamespaceComments` (#124265)
New option AllowNoNamespaceComments for
`google-readability-namespace-comments.AllowNoNamespaceComments` is
added.
When true, the check will allow that no namespace comment is present. If
a namespace comment is added but it is not matching, the check will
fail. Default is `false`
Fixes #124264
Commit: 7119a0f39b64c9451dc2122dd028104068588780
https://github.com/llvm/llvm-project/commit/7119a0f39b64c9451dc2122dd028104068588780
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/CodeGen/X86/atomic-idempotent.ll
Log Message:
-----------
[AtomicExpandPass] Match isIdempotentRMW with InstcombineRMW (#142277)
Add umin, smin, umax, smax to isIdempotentRMW
Commit: 5dfb7bbaa4fc0c6f4bb7b8fb38fecade39fb8a02
https://github.com/llvm/llvm-project/commit/5dfb7bbaa4fc0c6f4bb7b8fb38fecade39fb8a02
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
[mlir][linalg] Simplify `createWriteOrMaskedWrite` (NFC) (#141567)
This patch removes `inputVecSizesForLeadingDims` from the parameter list
of `createWriteOrMaskedWrite`. That argument is unnecessary - vector
sizes can be obtained from the `vecToStore` parameter. Since this doesn't
change behavior or test results, it's marked as NFC.
Additional cleanups:
* Renamed `vectorToStore` to `vecToStore` for consistency and brevity.
* Rewrote a conditional at the end of the function to use early exit,
improving readability:
```cpp
// BEFORE:
if (maskingRequried) {
Value maskForWrite = ...;
write = maskOperation(write, maskForWrite);
}
return write;
// AFTER
if (!maskingRequried)
return write;
Value maskFroWrite = ...;
return vector::maskOperation(builder, write, maskForWrite);
```
Commit: 102dfa8a487a1c44a95a225825039d282be712a0
https://github.com/llvm/llvm-project/commit/102dfa8a487a1c44a95a225825039d282be712a0
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/fold-freeze-fmul-to-fma.ll
Log Message:
-----------
[DAGCombiner] Allow freeze to sink through fmul by adding it to AllowMultipleMaybePoisonOperands (#142250)
Allow freeze to sink through fmul by treating it as a
non-poison-generating op
when operands are not poison.
Adding `ISD::FMUL` to `AllowMultipleMaybePoisonOperands` lets DAG
combine
push freeze through fmul. This helps expose patterns like `fmul+fadd`
for `FMA` fusion.
When rebuilding the node, we drop flags like nnan/ninf/nsz that imply
poison,
but keep contract, reassoc, afn, and arcp.
Closes: https://github.com/llvm/llvm-project/issues/141622
Commit: 55c86c5f77437c15fd29936cc8ad48b2097660b3
https://github.com/llvm/llvm-project/commit/55c86c5f77437c15fd29936cc8ad48b2097660b3
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] fix formatting of `namespace-comment-check` (#143305)
Fixed formatting and codestyle issues in `namespace-comment-check`
Follow up to https://github.com/llvm/llvm-project/pull/124265.
Commit: e0b33c950031f031715e9c3905c5909f130cb4d0
https://github.com/llvm/llvm-project/commit/e0b33c950031f031715e9c3905c5909f130cb4d0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-256.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
Log Message:
-----------
Revert "[X86] Fold (add X, (srl Y, 7)) -> (sub X, (ashr Y, 7)) on vXi8 vectors" (#143303)
Reverts llvm/llvm-project#143106 as this is causing infinite loops in
#143238
Commit: 3fc216bc3b4448cd8df984e9bec41a9836a7a423
https://github.com/llvm/llvm-project/commit/3fc216bc3b4448cd8df984e9bec41a9836a7a423
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
Log Message:
-----------
[X86] Add test coverage for #143238
Commit: 07a86a525ea2f85ade9e224c200f0311fec9e433
https://github.com/llvm/llvm-project/commit/07a86a525ea2f85ade9e224c200f0311fec9e433
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/TargetOptionsImpl.cpp
Log Message:
-----------
CodeGen: Look up frame-pointer attribute once (#142902)
Instead of pre-checking if the frame-pointer attribute is present,
just query the attribute and see if it's valid.
Commit: b0ff07e0ccac9efcfaca5f59261a605c65549801
https://github.com/llvm/llvm-project/commit/b0ff07e0ccac9efcfaca5f59261a605c65549801
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang/include/clang/AST/TemplateBase.h
M clang/lib/AST/TemplateBase.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in TemplateBase (#143257)
Commit: 8a5c8eb0be699db1c9b891e6fe6adf068299b9fc
https://github.com/llvm/llvm-project/commit/8a5c8eb0be699db1c9b891e6fe6adf068299b9fc
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in AST/Type (#143258)
Commit: 73a351e7d42c1da46a915c7edb7e6697a9dea640
https://github.com/llvm/llvm-project/commit/73a351e7d42c1da46a915c7edb7e6697a9dea640
Author: Yash Solanki <67216443+yashnator at users.noreply.github.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
A llvm/test/Transforms/GVN/trunc-nuw-equality.ll
Log Message:
-----------
[llvm][GVN] Propagate `trunc nuw to i1` equalities (#143273)
This patch adds to GVN's `propagateEquality()` to reason about equality
constraints through `trunc nuw iN to i1`.
Given:
%tr = trunc nuw iN %v to i1
We can deduce that if `%tr == true`, then `%v == 1`, and if `%tr ==
false`, then `%v == 0`. This is valid because `nuw` guarantees that
truncation didn't lose unsigned bits, so `%v` must have been either 0 or
1.
The patch adds logic to propagate this information via the GVN worklist.
This enables further simplification opportunities downstream, such as
folding redundant stores or conditionals that depend on `%v`.
Includes a test case in `GVN/trunc-nuw-equality.ll`.
Resolves #142744
Commit: 89aef7e0608d927eb7613834d817b723feef4f83
https://github.com/llvm/llvm-project/commit/89aef7e0608d927eb7613834d817b723feef4f83
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M lld/COFF/MinGW.cpp
Log Message:
-----------
[LLD][Cygwin] Add libcygwin and libmsys-2.0 to exclude-from-auto-export library list (#143118)
Linking for Cygwin target always needs -lcygwin (and, -lmsys-2.0
instead for MSYS2 target) but should not auto-export from
them, same as -lmingw32 for MinGW target.
Commit: 718fd90b8a8cee30b6e491d6f78306e88ecaafbf
https://github.com/llvm/llvm-project/commit/718fd90b8a8cee30b6e491d6f78306e88ecaafbf
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M lld/test/ELF/ppc64-long-branch-pi.s
M lld/test/ELF/ppc64-relocs.s
Log Message:
-----------
ELF,test: Make tests not rely on PPC64 .TOC.
`.quad .TOC. at tocbase` leads to a R_PPC64_TOC relocation referencing 0.
GNU Assembler does not define .TOC. . Fix reliance on the .TOC. symbol.
Commit: 6baaa0afc3214263b89e5ccfc1eebc63ab82bb68
https://github.com/llvm/llvm-project/commit/6baaa0afc3214263b89e5ccfc1eebc63ab82bb68
Author: David Green <david.green at arm.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang/include/clang/Basic/arm_mve.td
M clang/test/CodeGen/arm-mve-intrinsics/vrnd.c
M llvm/include/llvm/IR/IntrinsicsARM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/test/CodeGen/Thumb2/mve-frint.ll
M llvm/test/CodeGen/Thumb2/mve-intrinsics/vrintn.ll
Log Message:
-----------
[ARM] Handle roundeven for MVE. (#142557)
Now that #141786 handles scalar and neon types, this adds MVE
definitions and legalization for llvm.roundeven intrinsics. The existing
llvm.arm.mve.vrintn are auto-upgraded to llvm.roundeven like other vrint
instructions, so should continue to work.
Commit: d34b392dade4f9f0ef981767a9a47504ba85d0af
https://github.com/llvm/llvm-project/commit/d34b392dade4f9f0ef981767a9a47504ba85d0af
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll
M llvm/test/ExecutionEngine/MCJIT/remote/eh.ll
M llvm/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll
M llvm/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-common-symbols-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll
Log Message:
-----------
[LLVM][Tests] remove %exeext from lli-child-target parameter. (#143077)
Its presence seems to actively hinder the ToolSubst mechanism that was
supposed to fill in the path to the tool, which prevented these tests
from working on Cygwin.
Commit: b1b84a629d5a6d7ed3d4f05077c1db8b6898115b
https://github.com/llvm/llvm-project/commit/b1b84a629d5a6d7ed3d4f05077c1db8b6898115b
Author: Jeremy Kun <jkun at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M mlir/include/mlir/Pass/Pass.h
M mlir/include/mlir/Pass/PassManager.h
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
M mlir/test/Pass/pipeline-options-parsing.mlir
M mlir/test/Pass/pipeline-parsing.mlir
M mlir/test/Pass/run-reproducer.mlir
M mlir/test/Transforms/composite-pass.mlir
M mlir/test/Transforms/inlining-dump-default-pipeline.mlir
Log Message:
-----------
Pretty print on -dump-pass-pipeline (#143223)
This PR makes `dump-pass-pipeline` pretty-print the dumped pipeline. For
large pipelines the current behavior produces a wall of text that is
hard to visually navigate.
For the command
```bash
mlir-opt --pass-pipeline="builtin.module(flatten-memref, expand-strided-metadata,func.func(arith-expand,func.func(affine-scalrep)))" --dump-pass-pipeline
```
Before:
```bash
Pass Manager with 3 passes:
builtin.module(flatten-memref,expand-strided-metadata,func.func(arith-expand{include-bf16=false include-f8e8m0=false},func.func(affine-scalrep)))
```
After:
```bash
Pass Manager with 3 passes:
builtin.module(
flatten-memref,
expand-strided-metadata,
func.func(
arith-expand{include-bf16=false include-f8e8m0=false},
func.func(
affine-scalrep
)
)
)
```
Another nice feature of this is that the pretty-printed string can still
be copy/pasted into `-pass-pipeline` using a quote:
```bash
$ bin/mlir-opt --dump-pass-pipeline test.mlir --pass-pipeline='
builtin.module(
flatten-memref,
expand-strided-metadata,
func.func(
arith-expand{include-bf16=false include-f8e8m0=false},
func.func(
affine-scalrep
)
)
)'
```
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 366f48890d643e15e1317ada300f2cc1be437721
https://github.com/llvm/llvm-project/commit/366f48890d643e15e1317ada300f2cc1be437721
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGenCXX/dependent-template-alias.cpp
Log Message:
-----------
[clang] AST: fix dependency calculation for TypedefTypes (#143291)
The dependency from the type sugar of the underlying type of a Typedef
were not being considered for the dependency of the TypedefType itself.
A TypedefType should be instantiation dependent if it involves
non-instantiated template parameters, even if they don't contribute to
the canonical type.
Besides, a TypedefType should be instantiation dependent if it is
declared in a dependent context, but fixing that would have performance
consequences, as otherwise non-dependent typedef declarations would need
to be transformed during instantiation as well.
This removes the workaround added in
https://github.com/llvm/llvm-project/pull/90032
Fixes https://github.com/llvm/llvm-project/issues/89774
Commit: 65d66625b3e2b8322ed99d82edabecbafcd0885b
https://github.com/llvm/llvm-project/commit/65d66625b3e2b8322ed99d82edabecbafcd0885b
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
M clang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.h
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.cpp
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.h
M clang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.h
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.h
M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.h
M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.h
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.h
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] run clang-format over `abseil` and `altera` checks. (#143314)
Commit: ce46adb8b7ce645353eccaedf31ed9765dab77bb
https://github.com/llvm/llvm-project/commit/ce46adb8b7ce645353eccaedf31ed9765dab77bb
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/android/AndroidTidyModule.cpp
M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipe2Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipeCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecSocketCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.h
M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] run clang-format over 'android', 'boost' and 'bugprone' checks (#143315)
Commit: 68070f908bb7ac5f0b5fa9722caa504ecf723f6b
https://github.com/llvm/llvm-project/commit/68070f908bb7ac5f0b5fa9722caa504ecf723f6b
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.h
M clang-tools-extra/clang-tidy/darwin/DarwinTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/TrailingReturnCheck.h
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.h
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.h
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.h
M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
M clang-tools-extra/clang-tidy/google/UsingNamespaceDirectiveCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] run clang-format over 'cert', 'cppcore', 'fuchsia',… (#143316)
… 'google' checks
Commit: 55b6c3ed17c8937a99a1b787164417157ab871b9
https://github.com/llvm/llvm-project/commit/55b6c3ed17c8937a99a1b787164417157ab871b9
Author: David Green <david.green at arm.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/dup.ll
Log Message:
-----------
[AArch64][GlobalISel] Add dup tests where load is not combined into dup. NFC
Commit: 0583297f37f94fef1bb95e173226617fdb240160
https://github.com/llvm/llvm-project/commit/0583297f37f94fef1bb95e173226617fdb240160
Author: David Green <david.green at arm.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/dup.ll
Log Message:
-----------
[AArch64][GlobalISel] Add patterns for FPR i8 G_DUP
This adds missing patterns for i8 G_DUP from FPR registers, not present from
the other fp patterns like f16/f32 etc.
Commit: 414590bae8cdd2a59979e5ae4cb297f6a1967ec5
https://github.com/llvm/llvm-project/commit/414590bae8cdd2a59979e5ae4cb297f6a1967ec5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Infer result type for ComptueReductionResult in ::execute (NFC).
Remove explicit use of underlying instruction to get type.
Commit: 9ee4b356fdfc02e61b0bd948946fa1b4f8824670
https://github.com/llvm/llvm-project/commit/9ee4b356fdfc02e61b0bd948946fa1b4f8824670
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
A llvm/test/Transforms/LoopVectorize/select-index-interleaving.ll
R llvm/test/Transforms/LoopVectorize/select-min-index.ll
A llvm/test/Transforms/LoopVectorize/select-smax-last-index.ll
A llvm/test/Transforms/LoopVectorize/select-smin-last-index.ll
A llvm/test/Transforms/LoopVectorize/select-umax-last-index.ll
A llvm/test/Transforms/LoopVectorize/select-umin-first-index.ll
A llvm/test/Transforms/LoopVectorize/select-umin-last-index.ll
Log Message:
-----------
[LV] Reorganize index select tests (NFC).
This reorganizes the test coverage for selecting the min/max index. It
adds coverage for umin,umax,smin,smax variants, including test-coverage
for interleave codegen and cost-model driven tests.
Commit: 20a6b63f1beb8b4a2ffb2ff757c687b6a071b413
https://github.com/llvm/llvm-project/commit/20a6b63f1beb8b4a2ffb2ff757c687b6a071b413
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M libcxx/include/mdspan
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M libcxx/test/std/containers/views/mdspan/extents/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dextents.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dims.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
Log Message:
-----------
[libcxx] Include __fwd/span.h in <mdspan>
This patch includes __fwd/span.h in <mdspan> so that we get the
declaration of dynamic_extent inside <mdspan>. We also clean up quite a
few tests that were manually included <span> for dynamic_extent.
This is based on feedback from #142693.
Reviewers: philnik777, ldionne
Reviewed By: philnik777
Pull Request: https://github.com/llvm/llvm-project/pull/142925
Commit: b93e4215ec88628528b5fa2bfa7774af8333c46f
https://github.com/llvm/llvm-project/commit/b93e4215ec88628528b5fa2bfa7774af8333c46f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
[CI] Use LLVM_ENABLE_RUNTIMES for runtimes builds on Linux
This patch switches us to using LLVM_ENABLE_RUNTIMES rather than using
separate runtimes builds for some reductions in CMake configuration time
and some simplification of the monolithic-linux.sh script.
Reviewers: DavidSpickett, cmtice, lnihlen, Endilll, tstellar
Reviewed By: Endilll, DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/142694
Commit: 240ff854adae4278a6f5fb232bf5f76dd9b81c69
https://github.com/llvm/llvm-project/commit/240ff854adae4278a6f5fb232bf5f76dd9b81c69
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
Log Message:
-----------
[clangd] Use llvm::find (NFC) (#143317)
Commit: 9ce8dde54cebe41fcb829b91cb2680c6ef4db0e3
https://github.com/llvm/llvm-project/commit/9ce8dde54cebe41fcb829b91cb2680c6ef4db0e3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M lld/ELF/Writer.cpp
Log Message:
-----------
[lld] Use std::none_of (NFC) (#143318)
Commit: a14de0f810a0f026220d607a015b9dece9caf9ad
https://github.com/llvm/llvm-project/commit/a14de0f810a0f026220d607a015b9dece9caf9ad
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M lldb/source/Utility/Listener.cpp
Log Message:
-----------
[lldb] Use std::none_of (NFC) (#143319)
Commit: 90428419a5dc4c13b93741afa02d3a9aa695452f
https://github.com/llvm/llvm-project/commit/90428419a5dc4c13b93741afa02d3a9aa695452f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
Log Message:
-----------
[llvm] Use std::none_of (NFC) (#143320)
Commit: f3867f900fcb834bdc77c724766553d18aed0598
https://github.com/llvm/llvm-project/commit/f3867f900fcb834bdc77c724766553d18aed0598
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/BlotMapVector.h
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Log Message:
-----------
[llvm] Use *Map::try_emplace (NFC) (#143321)
- try_emplace(Key) is shorter than insert(std::make_pair(Key, 0)).
- try_emplace performs value initialization without value parameters.
- We overwrite values on successful insertion anyway.
Commit: 4fbf67f73b8b8b7f7ff66587e212be61aed014d9
https://github.com/llvm/llvm-project/commit/4fbf67f73b8b8b7f7ff66587e212be61aed014d9
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-fmaxnum.ll
M llvm/test/CodeGen/X86/avx512fp16-fminnum.ll
Log Message:
-----------
[X86][FP16] Do not generate X86 FMIN/FMAX for FP16 when VLX not enabled (#143100)
Fixes: https://godbolt.org/z/7jYa3bWK9
Commit: c480dcddd91e3ff0707d6629e6ddac8587d9d1f1
https://github.com/llvm/llvm-project/commit/c480dcddd91e3ff0707d6629e6ddac8587d9d1f1
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Move LBREntry from DataReader to DataAggregator (#143287)
LBREntry is only used in DataAggregator.
Test Plan: NFC
Commit: dcd2ac7ef2e7f117c3407c238b5b6f6374691ad3
https://github.com/llvm/llvm-project/commit/dcd2ac7ef2e7f117c3407c238b5b6f6374691ad3
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/pre-aggregated-perf.test
Log Message:
-----------
[BOLT] Sort EntryData (#143308)
Aggregated branch data has two containers: `Data` for local branches,
and `EntryData` for external branches. Fix the omission and sort
`EntryData` to ensure stable output fdata profiles.
Test Plan: updated pre-aggregated-perf.test
Commit: 03bbd04bb7ae40dcda7b8bf1d6d09f63191503b0
https://github.com/llvm/llvm-project/commit/03bbd04bb7ae40dcda7b8bf1d6d09f63191503b0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/pre-aggregated-perf.test
Log Message:
-----------
[BOLT][NFCI] Skip validation in parseLBRSample (#143288)
Parsed branches and fall-throughs are validated in `doBranch` and
`doTrace` respectively. Simplify parseLBRSample by omitting the
validation. This also speeds up perf data processing as checks are only
done once for aggregated branches/fall-throughs and not individual LBR
entries.
Since invalid/external addresses are no longer sanitized during parsing,
sanitize them in `doBranch`.
Test Plan: updated X86/pre-aggregated-perf.test
Commit: 90beda2aba3cac34052827c560449fcb184c7313
https://github.com/llvm/llvm-project/commit/90beda2aba3cac34052827c560449fcb184c7313
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/shuffle-as-permute-and-shuffle.ll
Log Message:
-----------
[LoongArch] Lower vector_shuffle as lane permute and shuffle for lasx if possible. (#141196)
Commit: 0ed5d9aff6e72bdaf3f12bc71dbf83a5c116e8fd
https://github.com/llvm/llvm-project/commit/0ed5d9aff6e72bdaf3f12bc71dbf83a5c116e8fd
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/lib/Basic/Targets/LoongArch.h
A clang/test/CodeGen/LoongArch/bfloat-abi.c
A clang/test/CodeGen/LoongArch/bfloat-mangle.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
A llvm/test/CodeGen/LoongArch/bf16-promote.ll
A llvm/test/CodeGen/LoongArch/bf16.ll
Log Message:
-----------
[LoongArch][BF16] Add support for the __bf16 type (#142548)
The LoongArch psABI recently added __bf16 type support. Now we can
enable this new type in clang.
Currently, bf16 operations are automatically supported by promoting to
float. This patch adds bf16 support by ensuring that load extension /
truncate store operations are properly expanded.
And this commit implements support for bf16 truncate/extend on hard FP
targets. The extend operation is implemented by a shift just as in the
standard legalization. This requires custom lowering of the truncate
libcall on hard float ABIs (the normal libcall code path is used on soft
ABIs).
Commit: e27876ad2f806ed8efeb4c254949c3e5cfd82b24
https://github.com/llvm/llvm-project/commit/e27876ad2f806ed8efeb4c254949c3e5cfd82b24
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcibi-long-conditional-jump.s
M llvm/test/MC/RISCV/xqcibi-valid.s
Log Message:
-----------
[RISCV] Add compress patterns for Xqcibi branch instructions (#143095)
This patch adds patterns to compress from the 48-bit qc.e.bxxi to the 32
bit qc.bxxi branch instructions.
Commit: 392bd577e37d795224da6fefc4b621a3f117105e
https://github.com/llvm/llvm-project/commit/392bd577e37d795224da6fefc4b621a3f117105e
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
Log Message:
-----------
[clangd] Guard against trivial FunctionProtoTypeLoc when creating inlay hints (#143087)
Fixes https://github.com/llvm/llvm-project/issues/142608
Commit: d6ecd6a658103adc76cf67de64e0b5b399e6fcef
https://github.com/llvm/llvm-project/commit/d6ecd6a658103adc76cf67de64e0b5b399e6fcef
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
A llvm/test/CodeGen/X86/pr142937.ll
Log Message:
-----------
[SelectionDAG][X86] Handle `llvm.type.test` in DAGBuilder (#142939)
Closes #142937
Commit: e47abec51353848d7ee2e50e8fc3f7b275a11463
https://github.com/llvm/llvm-project/commit/e47abec51353848d7ee2e50e8fc3f7b275a11463
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp
Log Message:
-----------
[DirectoryWatcher] Use llvm::find (NFC) (#143337)
Commit: 3dabeed837c20b0664f7772247a08d4fddab8737
https://github.com/llvm/llvm-project/commit/3dabeed837c20b0664f7772247a08d4fddab8737
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/bit.h
Log Message:
-----------
[ADT] Simplify popcount with constexpr if (NFC) (#143339)
Without this patch, we implement 4-byte and 8-byte popcount as
structs.
This patch replaces the template trick with constexpr if, putting the
entire logic in the body of popcount.
Commit: 03f616eb3acf1ae5a219ea247d9efe3cbfd41b59
https://github.com/llvm/llvm-project/commit/03f616eb3acf1ae5a219ea247d9efe3cbfd41b59
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/tools/llvm-cov/SourceCoverageViewText.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/Support/ARMAttributeParser.cpp
Log Message:
-----------
[llvm] Compare std::optional<T> to values directly (NFC) (#143340)
This patch transforms:
X && *X == Y
to:
X == Y
where X is of std::optional<T>, and Y is of T or similar.
Commit: acd264d0ace52c7fd4d10a20bd20a739040058c7
https://github.com/llvm/llvm-project/commit/acd264d0ace52c7fd4d10a20bd20a739040058c7
Author: David Green <david.green at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-rev.mir
M llvm/test/CodeGen/AArch64/arm64-neon-add-pairwise.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/shufflevector.ll
Log Message:
-----------
[AArch64][GlobalISel] Prefer DUPLANE to REV and other shuffles (#142725)
Some shuffles containing undefs can match multiple instructions, such as
<3,u,u,u> being either a duplane or a rev. This changes the order that
different shuffles are considered, so that duplane is preferred which is
simpler and more likely to lead to further combines.
Commit: c70c0a86a5b7b4c51d3be5ebbcc5cf291af4d843
https://github.com/llvm/llvm-project/commit/c70c0a86a5b7b4c51d3be5ebbcc5cf291af4d843
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/AArch64/aes-intrinsics.ll
Log Message:
-----------
[AArch64][InstCombine] Combine AES instructions with zero operands. (#142781)
We currently combine (AES (EOR (A, B)), 0) into (AES A, B) for Neon
intrinsics when the zero operand appears in the RHS of the AES
instruction.
This patch extends the combine to support AES SVE intrinsics and
the case where the zero operand appears in the LHS of the AES
instructions.
Commit: 5d3899d293e902124c3602b466031b6b799fb123
https://github.com/llvm/llvm-project/commit/5d3899d293e902124c3602b466031b6b799fb123
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/sve2-intrinsics-crypto.ll
Log Message:
-----------
[AArch64][SVE] Mark AES instructions commutable. (#142919)
We already do this for the Neon versions of the instructions,
just not for SVE.
Commit: 2f15637e04f51e3ef435c0c0d39aab0e8b933023
https://github.com/llvm/llvm-project/commit/2f15637e04f51e3ef435c0c0d39aab0e8b933023
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/fcmp-select.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Update `Ordered` when both operands are non-NaN. (#143349)
When the original predicate is ordered and both operands are non-NaN,
`Ordered` should be set to true. This variable still matters even if
both operands are non-NaN because FMF only applies to select, not fcmp.
Closes https://github.com/llvm/llvm-project/issues/143123.
Commit: f3ffee601c1746eafa9a6684541e90d182c9126e
https://github.com/llvm/llvm-project/commit/f3ffee601c1746eafa9a6684541e90d182c9126e
Author: jyli0116 <yu.li at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/arm64-rev.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GISel][AArch64] Allow PatLeafs to be imported in GISel which were previously causing warnings (#140935)
Previously PatLeafs could not be imported, causing the following
warnings to be emitted when running tblgen with
`-warn-on-skipped-patterns:`
```
/work/clean/llvm/lib/Target/AArch64/AArch64InstrInfo.td:2631:1: warning: Skipped pattern: Src pattern child has unsupported predicate
def : Pat<(i64 (mul top32Zero:$Rn, top32Zero:$Rm)),
^
```
These changes allow the patterns to now be imported successfully.
Commit: 62c9b0cab614f2d408929f9ee4280fc3c0084e08
https://github.com/llvm/llvm-project/commit/62c9b0cab614f2d408929f9ee4280fc3c0084e08
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] Fix a crash when diagnosing a non relocatable with no copy ctr (#143350)
If lookup did not find a copy constructor, it would return nulll,
leading to an assert in `cast`.
Fixes #143325
Commit: c6670fa20d434a85e167e88aa6a4f56bfc02af2f
https://github.com/llvm/llvm-project/commit/c6670fa20d434a85e167e88aa6a4f56bfc02af2f
Author: nerix <nerixdev at outlook.de>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/source/Symbol/ObjectFile.cpp
A lldb/test/Shell/ObjectFile/PECOFF/dwarf-clang.yaml
A lldb/test/Shell/ObjectFile/PECOFF/dwarf-gcc-mingw.yaml
Log Message:
-----------
[LLDB] Unify DWARF section name matching (#141344)
Different object file formats support DWARF sections (COFF, ELF, MachO,
PE/COFF, WASM). COFF and PE/COFF only matched a subset. This caused some
GCC executables produced on MinGW to have issue later on when debugging.
One example is that `.debug_rnglists` was not matched, which caused
range-extraction to fail when printing a backtrace.
This unifies the parsing of section names in
`ObjectFile::GetDWARFSectionTypeFromName`, so all file formats can use
the same naming convention. Since the prefixes are different,
`GetDWARFSectionTypeFromName` only matches the suffixes (i.e. `.debug_`
needs to be stripped before).
I added two tests to ensure the sections are correctly identified on
Windows executables.
Commit: df4b453516ebf9aa03c48c17e81112dce1c80f41
https://github.com/llvm/llvm-project/commit/df4b453516ebf9aa03c48c17e81112dce1c80f41
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/source/Breakpoint/WatchpointResource.cpp
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Use llvm::find (NFC) (#143338)
This patch should be mostly obvious, but in one place, this patch
changes:
const auto &it = std::find(...)
to:
auto it = llvm::find(...)
We do not need to bind to a temporary with const ref.
Commit: c73830878463b6d383ca0e8c1dd50842ec4489b9
https://github.com/llvm/llvm-project/commit/c73830878463b6d383ca0e8c1dd50842ec4489b9
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
[lldb][test] Remove outdated rdar link in settings test
Commit: b62488f8326c61fad05d4cd7c88e6e940d8929a4
https://github.com/llvm/llvm-project/commit/b62488f8326c61fad05d4cd7c88e6e940d8929a4
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M compiler-rt/test/lit.common.configured.in
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
M lldb/test/Unit/lit.cfg.py
M lldb/test/Unit/lit.site.cfg.py.in
Log Message:
-----------
[lldb] make lit use the same PYTHONHOME for building and testing (#143183)
When testing LLDB, we want to make sure to use the same Python as the
one we used to build it.
This patch used the CMake variable `Python3_ROOT_DIR` to set the
`PYTHONHOME` env variable in LLDB lit tests, in order to ensure of this.
Please see https://github.com/swiftlang/swift/pull/82063 for the
original issue.
Commit: bfb48363b0c9a2978be9ec2b31dcb32910e0f274
https://github.com/llvm/llvm-project/commit/bfb48363b0c9a2978be9ec2b31dcb32910e0f274
Author: Iris Shi <0.0 at owo.li>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/bfi_int.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
A llvm/test/CodeGen/RISCV/fold-masked-merge.ll
M llvm/test/CodeGen/RISCV/unfold-masked-merge-scalar-variablemask.ll
A llvm/test/CodeGen/SystemZ/fold-masked-merge.ll
M llvm/test/CodeGen/WebAssembly/simd-arith.ll
M llvm/test/CodeGen/X86/bitselect.ll
M llvm/test/CodeGen/X86/fold-masked-merge.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-vector-variablemask.ll
Log Message:
-----------
[SelectionDAG] Make `(a & x) | (~a & y) -> (a & (x ^ y)) ^ y` available for all targets (#137641)
Commit: e4447e1273616a8732e332168a53a6ac5c8798e2
https://github.com/llvm/llvm-project/commit/e4447e1273616a8732e332168a53a6ac5c8798e2
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/test/API/lang/c/forward/TestForwardDeclaration.py
M lldb/test/API/lang/cpp/forward/TestCPPForwardDeclaration.py
Log Message:
-----------
[lldb][test] Remove Windows xfail from forward declaration tests
Since https://github.com/llvm/llvm-project/pull/141344, they are
passing.
Commit: ce603a0f16209bd7eb2bd378d6a3f13fe52a1063
https://github.com/llvm/llvm-project/commit/ce603a0f16209bd7eb2bd378d6a3f13fe52a1063
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/assignment.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/resolve-names-utils.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
A flang/test/Parser/OpenMP/declare-reduction-multi.f90
A flang/test/Parser/OpenMP/declare-reduction-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-bad-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-bad-operator2.f90
A flang/test/Semantics/OpenMP/declare-reduction-dupsym.f90
M flang/test/Semantics/OpenMP/declare-reduction-error.f90
A flang/test/Semantics/OpenMP/declare-reduction-functions.f90
A flang/test/Semantics/OpenMP/declare-reduction-logical.f90
A flang/test/Semantics/OpenMP/declare-reduction-mangled.f90
A flang/test/Semantics/OpenMP/declare-reduction-modfile.f90
A flang/test/Semantics/OpenMP/declare-reduction-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-operators.f90
A flang/test/Semantics/OpenMP/declare-reduction-renamedop.f90
A flang/test/Semantics/OpenMP/declare-reduction-typeerror.f90
M flang/test/Semantics/OpenMP/declare-reduction.f90
Log Message:
-----------
[flang][openmp]Add UserReductionDetails and use in DECLARE REDUCTION (#140066)
This adds another puzzle piece for the support of OpenMP DECLARE
REDUCTION functionality.
This adds support for operators with derived types, as well as declaring
multiple different types with the same name or operator.
A new detail class for UserReductionDetials is introduced to hold the
list of types supported for a given reduction declaration.
Tests for parsing and symbol generation added.
Declare reduction is still not supported to lowering, it will generate a
"Not yet implemented" fatal error.
Fixes #141306
Fixes #97241
Fixes #92832
Fixes #66453
---------
Co-authored-by: Mats Petersson <mats.petersson at arm.com>
Commit: 8631cddd6959866ca14602b0b05841ab730c6d7d
https://github.com/llvm/llvm-project/commit/8631cddd6959866ca14602b0b05841ab730c6d7d
Author: Alex Guteniev <gutenev at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M libcxx/test/support/MinSequenceContainer.h
Log Message:
-----------
libc++ test: update MinSequenceContainer.h to make some tests pass on MSVC STL (#140287)
Per [sequence.reqmts] there are these member functions.
I did not audit if any other member functions are missing. Adding these
is enough for MSVC STL
Commit: 891a2c3c3411b9845dc869735f5428ea5d5fb304
https://github.com/llvm/llvm-project/commit/891a2c3c3411b9845dc869735f5428ea5d5fb304
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-zero-lat-movs.s
Log Message:
-----------
[AArch64] Change IssueWidth to 6 in AArch64SchedNeoverseV2.td (#142565)
I think that the issue width for neoverse-v2 CPUs is set too
high and does not properly reflect the dispatch constraints.
I tested various values of IssueWidth (16, 8 and 6) with runs
of SPEC2017 on a neoverse-v2 machine and I got the highest
overall geomean score with an issue width of 6, although it's
only a marginal 0.14% improvement. I also observed a 1-2%
improvement when testing the Gromacs application with some
workloads. Here are some notable changes in SPEC2017 ref
runtimes, i.e. has a ~0.5% change or greater ('-' means
faster):
548.exchange2: -1.7%
510.parest: -0.78%
538.imagick: -0.73%
500.perlbench: -0.57%
525.x264: -0.55%
507.cactuBSSN: -0.5%
520.omnetpp: -0.48%
511.povray: +0.57%
544.nab: +0.65%
503.bwaves: +0.68%
526.blender: +0.75%
If this patch causes any major regressions post-commit it can
be easily reverted, but I think it should be an overall
improvement.
Commit: 66911b7546f9afcf5f2b842ef0b9a39788dfef39
https://github.com/llvm/llvm-project/commit/66911b7546f9afcf5f2b842ef0b9a39788dfef39
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-256.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
Log Message:
-----------
[X86] Fold (add X, (srl Y, 7)) -> (sub X, (icmp_sgt 0, Y)) on vXi8 vectors (#143359)
Undo the vectorcombine canonicalisation as SSE has awful vXi8 shift
support, but can easily splat the MSB using the PCMPGTB(0,x) trick.
Alternative to #143106 which could cause infinite loops between srl/sra
conversions
Fixes #130549
Commit: 592e59667a04cf9a35a9b040772e08cb67902463
https://github.com/llvm/llvm-project/commit/592e59667a04cf9a35a9b040772e08cb67902463
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen] Move getSuperRegForSubReg into CodeGenRegBank. NFC. (#142979)
This method doesn't use anything from CodeGenTarget, so it seems to
belong in CodeGenRegBank.
Commit: 6b25f4439c2123402afbb2436745904166680dac
https://github.com/llvm/llvm-project/commit/6b25f4439c2123402afbb2436745904166680dac
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
A llvm/test/Transforms/InstCombine/AMDGPU/trivially-uniform.ll
Log Message:
-----------
[AMDGPU] Detect trivially uniform arguments in InstCombine (#129897)
Update one test to use an SGPR argument as the simplest way of getting a
uniform value.
Commit: c400fe24ae51de5c74f2d993c4ecfb877ef7f427
https://github.com/llvm/llvm-project/commit/c400fe24ae51de5c74f2d993c4ecfb877ef7f427
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
[AMDGPU] Update failing test after #129897
Commit: 7e00a7c0215b2043e04c365e85128969d8f25480
https://github.com/llvm/llvm-project/commit/7e00a7c0215b2043e04c365e85128969d8f25480
Author: jyli0116 <yu.li at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GlobalISel] Fixes unused variable error in testMOPredicate_MO (#143364)
Solves unused variable error in generated Global ISel code due to
changes from #140935
Commit: 251a43e19369b833bcf3b6eba7366b70d208668e
https://github.com/llvm/llvm-project/commit/251a43e19369b833bcf3b6eba7366b70d208668e
Author: Un1q32 <joey.t.reinhart at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/darwin-ld.c
Log Message:
-----------
[Clang] Link libgcc_s.1.dylib when building for macOS 10.5 and older (#141401)
Commit: 8b8cbe905b5842e93b0518667282af2dcdf3fd7f
https://github.com/llvm/llvm-project/commit/8b8cbe905b5842e93b0518667282af2dcdf3fd7f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-scalar_mask.ll
Log Message:
-----------
[X86] avx512-scalar_mask.ll - remove old FIXME comments
These were addressed by 034adf26830fb9723138b276075068125ed208a7
Commit: 4c555051d76bb8375a9d22f8ce5af32acbc6003e
https://github.com/llvm/llvm-project/commit/4c555051d76bb8375a9d22f8ce5af32acbc6003e
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Subtarget.h
Log Message:
-----------
[AArch64][Subtarget] add missing direct include of Triple.h (#143362)
`AArch64Subtarget.h` uses the complete type of `Triple`, but had only
forward declared the class, which happend to be included through the
following bottom-up path for example: "llvm/TargetParser/Triple.h"
"llvm/MC/MCSubtargetInfo.h"
"llvm/CodeGen/TargetSubtargetInfo.h"
Commit: e4060d3beab3b525b49baaa15484e3c595740a2f
https://github.com/llvm/llvm-project/commit/e4060d3beab3b525b49baaa15484e3c595740a2f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
Log Message:
-----------
[Clang][NFC] Adopt simpified `getTrailingObjects` in CIRGenFunctionInfo (#143253)
Commit: cf5e2b613d026faa6bd297f3180a76e03d3a8537
https://github.com/llvm/llvm-project/commit/cf5e2b613d026faa6bd297f3180a76e03d3a8537
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/IR/LLVMContextImpl.h
Log Message:
-----------
[KeyInstr] MDNodeKeyImpl<DILocation> skip zero values for hash (#143357)
[KeyInstr] MDNodeKeyImpl<DILocation> skip zero values for hash
Hashing AtomGroup and AtomRank substantially impacts performance whether Key
Instructions is enabled or not. We can't detect whether it's enabled here
cheaply; avoiding hashing zero values is a good approximation. This affects
Key Instruction builds too, but any potential costs incurred by messing with
the hash distribution (hash_combine(x) != hash_combine(x, 0)) appear to still
be massively outweighed by the overall compile time savings by performing this
check.
See PR for compile-time-tracker numbers.
Commit: 7b5ab28e38a0ba6cb008923b27f7d29f76fd70c4
https://github.com/llvm/llvm-project/commit/7b5ab28e38a0ba6cb008923b27f7d29f76fd70c4
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/include/clang/AST/Stmt.h
M clang/lib/AST/Stmt.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in Stmt (#143250)
Commit: f32b75658f2676acf12cf16d8ad20067e43226d3
https://github.com/llvm/llvm-project/commit/f32b75658f2676acf12cf16d8ad20067e43226d3
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/CodeGen/AMDGPU/aa-as-infer.ll
M llvm/test/Transforms/OpenMP/nested_parallelism.ll
M llvm/test/Transforms/OpenMP/remove_globalization.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
Log Message:
-----------
[Attributor] Use known non-flat AS before `getAssumedAddrSpace` (#143221)
If the underlying object already has a non-flat address space, we simply
use
that before calling `getAssumedAddrSpace`.
Partially fixes SWDEV-536263.
Commit: 939666380fba5d6db3d224fc358fd3e0f40a9b53
https://github.com/llvm/llvm-project/commit/939666380fba5d6db3d224fc358fd3e0f40a9b53
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
M llvm/test/CodeGen/RISCV/rvv/zvqdotq-sdnode.ll
Log Message:
-----------
[SDAG] Add partial_reduce_sumla node (#141267)
We have recently added the partial_reduce_smla and partial_reduce_umla
nodes to represent Acc += ext(b) * ext(b) where the two extends have to
have the same source type, and have the same extend kind.
For riscv64 w/zvqdotq, we have the vqdot and vqdotu instructions which
correspond to the existing nodes, but we also have vqdotsu which
represents the case where the two extends are sign and zero respective
(i.e. not the same type of extend).
This patch adds a partial_reduce_sumla node which has sign extension for
A, and zero extension for B. The addition is somewhat mechanical.
Commit: b3b8a097fe1d6eba4d8a125e90b04273e95e96eb
https://github.com/llvm/llvm-project/commit/b3b8a097fe1d6eba4d8a125e90b04273e95e96eb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/include/mlir/Debug/BreakpointManagers/TagBreakpointManager.h
M mlir/lib/Bytecode/Writer/IRNumbering.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/Target/LLVMIR/LoopAnnotationTranslation.cpp
M mlir/lib/Transforms/Utils/CFGToSCF.cpp
M mlir/lib/Transforms/Utils/Inliner.cpp
Log Message:
-----------
[mlir] Use *Map::try_emplace (NFC) (#143341)
- try_emplace(Key) is shorter than insert({Key, nullptr}).
- try_emplace performs value initialization without value parameters.
- We overwrite values on successful insertion anyway.
Commit: ced1f501ce8ec5dce05d577d7d41bc87b7934946
https://github.com/llvm/llvm-project/commit/ced1f501ce8ec5dce05d577d7d41bc87b7934946
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] IsElementEquivalent - pull out exact matching for same index/op. (#143367)
The types must still be vectors matching MaskSize
Commit: 64bd4d91efb2de5380c9e61ff75c970293a11886
https://github.com/llvm/llvm-project/commit/64bd4d91efb2de5380c9e61ff75c970293a11886
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/test/Transforms/OpenMP/nested_parallelism.ll
M llvm/test/Transforms/OpenMP/remove_globalization.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
Log Message:
-----------
[FIX] Add nvptx as required target for some OpenMP tests
Those tests set nvptx64 in IR but doesn't require the target. The optimization
now needs TTI such that if nvptx is not registered, it just uses whatever
default target is, which will cause the check lines mismatch.
Commit: e5fa38b02bb7c769347a90b94a76aa0accc1e819
https://github.com/llvm/llvm-project/commit/e5fa38b02bb7c769347a90b94a76aa0accc1e819
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
Log Message:
-----------
[WebKit checkers] Treat passing of a member variable which is capable of CheckedPtr as safe. (#142485)
It's safe for a member function of a class or struct to call a function
or allocate a local variable with a pointer or a reference to a member
variable since "this" pointer, and therefore all its members, will be
kept alive by its caller so recognize as such.
Commit: de961997cbfae1d01c959528a9aeb12fa8c87618
https://github.com/llvm/llvm-project/commit/de961997cbfae1d01c959528a9aeb12fa8c87618
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.cpp
Log Message:
-----------
[WebKit checkers] Add an annotation for pointer conversion. (#141277)
This PR adds the WebKit checker support for
[[clang::annotate_type("webkit.pointerconversion")]].
When this attribute is set on the return value of a function, the
function is treated as safe to call anywhere and the return value's
pointer origin is the argument.`
Commit: 18f8e2381580d1d02726b6751d61351a1d40b432
https://github.com/llvm/llvm-project/commit/18f8e2381580d1d02726b6751d61351a1d40b432
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/OpenMP/common-block.f90
M flang/test/Semantics/OpenMP/declare-target-common-block.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/offsets03.f90
M flang/test/Semantics/resolve121.f90
M flang/test/Semantics/symbol33.f90
Log Message:
-----------
[flang][OpenMP] Make static duration variables default to shared DSA (#142783)
According to the OpenMP standard, variables with static storage duration
are predetermined as shared.
Add a check when creating implicit symbols for OpenMP to fix them
erroneously getting set to firstprivate.
Fixes llvm#140732.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: bc5d8276da662111e4858eb3baa38382a5425df1
https://github.com/llvm/llvm-project/commit/bc5d8276da662111e4858eb3baa38382a5425df1
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/test/Transforms/OpenMP/remove_globalization.ll
Log Message:
-----------
[FIX] Update check lines of `llvm/test/Transforms/OpenMP/remove_globalization.ll`
Commit: cc2d5facecfe5fe31d69fd58f4f3c0bc97591229
https://github.com/llvm/llvm-project/commit/cc2d5facecfe5fe31d69fd58f4f3c0bc97591229
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/test/Dialect/SPIRV/IR/khr-cooperative-matrix-ops.mlir
Log Message:
-----------
[mlir][spirv] Make `CooperativeMatrixType` a `ShapedType` (#142784)
This is to enable `CooperativeMatrixType` to be used with
`DenseElementsAttr`, so that a `spirv.Constant` can be easily built from
`OpConstantComposite`. For example:
```mlir
%cst = spirv.Constant dense<0.000000e+00> : !spirv.coopmatrix<1x1xf32, Subgroup, MatrixAcc>
```
Constraints of arithmetic operations are changed, as
`SameOperandsAndResultType` can no longer fully verify CoopMatrices.
This is because for shaped types the verifier only checks element type
and shapes, whereas for any other arbitrary type it looks for an exact
match.
This patch does not enable the actual deserialization. This will be
done in a subsequent PR.
Commit: b896d262ebc530a92327b912b2bd5ac3b0bb0e56
https://github.com/llvm/llvm-project/commit/b896d262ebc530a92327b912b2bd5ac3b0bb0e56
Author: Guillot Tony <tony.guillot at protonmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
A clang/test/C/C23/n3006.c
M clang/www/c_status.html
Log Message:
-----------
[C23][N3006] Documented behavior of underspecified object declarations (#140911)
This PR is documenting the behavior of Clang towards underspecified
object declarations in C23 as advised by @AaronBallman.
Commit: 02f0f5c3eccd1add188d0d1fb7207c0cb14e1190
https://github.com/llvm/llvm-project/commit/02f0f5c3eccd1add188d0d1fb7207c0cb14e1190
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] Explain why a type is not replaceable. (#143265)
As a drive by fix the definition of replaceable, that did not correctly
implement https://eel.is/c++draft/class.prop#6.3
Commit: a3c7d461456f2da25c1d119b6686773f675e313e
https://github.com/llvm/llvm-project/commit/a3c7d461456f2da25c1d119b6686773f675e313e
Author: Darren Wihandi <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Implement UMod canonicalization for vector constants (#141902)
Closes #63174.
Implements this transformation pattern, which is currently only applied
to scalars, for vectors:
```
%1 = "spirv.UMod"(%0, %CONST_32) : (i32, i32) -> i32
%2 = "spirv.UMod"(%1, %CONST_4) : (i32, i32) -> i32
```
to
```
%1 = "spirv.UMod"(%0, %CONST_32) : (i32, i32) -> i32
%2 = "spirv.UMod"(%0, %CONST_4) : (i32, i32) -> i32
```
Additionally fixes and issue where patterns like this:
```
%1 = "spirv.UMod"(%0, %CONST_4) : (i32, i32) -> i32
%2 = "spirv.UMod"(%1, %CONST_32) : (i32, i32) -> i32
```
were incorrectly canonicalized to:
```
%1 = "spirv.UMod"(%0, %CONST_4) : (i32, i32) -> i32
%2 = "spirv.UMod"(%0, %CONST_32) : (i32, i32) -> i32
```
which is incorrect since `(X % A) % B` == `(X % B)` IFF A is a multiple
of B, i.e., B divides A.
Commit: 637df705e5995172005b25aed914211a57bee29b
https://github.com/llvm/llvm-project/commit/637df705e5995172005b25aed914211a57bee29b
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M offload/CMakeLists.txt
Log Message:
-----------
[Offload] Add `OFFLOAD_INCLUDE_TESTS` (#143388)
This is a cmake variable which, if set to `OFF` will disable building of
tests. It defaults to the value of `LLVM_INCLUDE_TESTS`.
Commit: 9c52b3c52eb760a52826aad1368a4b0b46d924d3
https://github.com/llvm/llvm-project/commit/9c52b3c52eb760a52826aad1368a4b0b46d924d3
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[Clang] Clarify the `[[trivial_abi]]` documentation. (#143243)
Fixes #36667
Commit: 58cce436d6002f5ffa172a80783109388957807d
https://github.com/llvm/llvm-project/commit/58cce436d6002f5ffa172a80783109388957807d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
Log Message:
-----------
[RISCV] Pass SDLoc by const reference. NFC
Commit: 4ed0ff8756cb1ed0f67cf5415a60cfbce2c6164b
https://github.com/llvm/llvm-project/commit/4ed0ff8756cb1ed0f67cf5415a60cfbce2c6164b
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/enum.cpp
Log Message:
-----------
[CIR] Add support for using enum constants (#143214)
Although support for declaring enums and using values whose type was an
enum was previously upstreamed, we didn't have support for referencing
the constant values declared in the enum. This change adds that support.
Commit: a178c06add77bb489005a0de22a3ca0ca2f1c14e
https://github.com/llvm/llvm-project/commit/a178c06add77bb489005a0de22a3ca0ca2f1c14e
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
Log Message:
-----------
[tsan] Don't symbolize stack traces if dl_iterate_phdr is not ready (#143199)
When a CHECK() fails during TSan initialization, it may segfault (e.g., https://github.com/google/sanitizers/issues/837#issuecomment-2939267531). This is because a failed CHECK() will attempt to print a symbolized stack trace, which requires dl_iterate_phdr, but the interceptor may not yet be set up.
This patch fixes the issue by not symbolizing the stack trace if the dl_iterate_phdr interceptor is not ready.
Commit: a85525f875bd53e7521c5721655eb7318ce87547
https://github.com/llvm/llvm-project/commit/a85525f875bd53e7521c5721655eb7318ce87547
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
Log Message:
-----------
[RISCV][LV] Add tests for masked interleaved access
Commit: 649020c680166af0ad822d5aa1518234d93828e4
https://github.com/llvm/llvm-project/commit/649020c680166af0ad822d5aa1518234d93828e4
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/dmr-spill.ll
M llvm/test/CodeGen/PowerPC/mmaplus-acc-spill.ll
Log Message:
-----------
[PowerPC] Change default for auto gen stxvp for cpu=future (#142826)
For cpu=future, we want to auto generate stxvp instructions by default.
Commit: 59ef2c34a12ea53bb7fa386a598f1299ccc1f8d5
https://github.com/llvm/llvm-project/commit/59ef2c34a12ea53bb7fa386a598f1299ccc1f8d5
Author: Artem Belevich <tra at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaCUDA.cpp
M clang/test/SemaCUDA/bad-attributes.cu
Log Message:
-----------
[CUDA] Disallow use of address_space(N) on CUDA device variables. (#142857)
The variables have implicit host-side shadow instances and explicit
address space attribute breaks them on the host.
Commit: 01671ff849b0761a3240bb87e8d8fc469147eae4
https://github.com/llvm/llvm-project/commit/01671ff849b0761a3240bb87e8d8fc469147eae4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] collectConcatOps - handle extract_subvector(concat_subvectors(...)) patterns (#143406)
Commit: 5d6218d311854a0b5d48ae19636f6abe1e67fc69
https://github.com/llvm/llvm-project/commit/5d6218d311854a0b5d48ae19636f6abe1e67fc69
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/mul-const-vector.ll
M llvm/test/CodeGen/PowerPC/p10-splatImm-CPload-pcrel.ll
M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
A llvm/test/CodeGen/PowerPC/splat-extend.ll
M llvm/test/CodeGen/PowerPC/vec_add_sub_doubleword.ll
M llvm/test/CodeGen/PowerPC/vector-extend-sign.ll
M llvm/test/CodeGen/PowerPC/vector-popcnt-128-ult-ugt.ll
Log Message:
-----------
[PowerPC] extend smaller splats into bigger splats (with fix) (#142194)
For pwr9, xxspltib is a byte splat with a range -128 to 127 - it can be
used with a following vector extend sign to make splats of i16, i32, or
i64 element size. For pwr8, vspltisw with a following vector extend sign
can be used to make splats of i64 elements in the range -16 to 15.
Add check for P8 to make sure the 64-bit vector ops are there.
Commit: 7f08503a3bf3acdd2a58ac712d5e95682ce583dd
https://github.com/llvm/llvm-project/commit/7f08503a3bf3acdd2a58ac712d5e95682ce583dd
Author: Umang Yadav <29876643+umangyadav at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Arith/Transforms/Passes.h
M mlir/include/mlir/IR/Builders.h
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/lib/IR/Builders.cpp
M mlir/test/Dialect/Arith/expand-ops.mlir
Log Message:
-----------
Introduce `arith.scaling_extf` and `arith.scaling_truncf` (#141965)
This PR adds `arith.scaling_truncf` and `arith.scaling_extf` operations
which supports the block quantization following OCP MXFP specs listed
here
https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf
OCP MXFP Spec comes with reference implementation here
https://github.com/microsoft/microxcaling/tree/main
Interesting piece of reference code is this method `_quantize_mx`
https://github.com/microsoft/microxcaling/blob/7bc41952de394f5cc5e782baf132e7c7542eb4e4/mx/mx_ops.py#L173.
Both `arith.scaling_truncf` and `arith.scaling_extf` are designed to be
an elementwise operation. Please see description about them in
`ArithOps.td` file for more details.
Internally,
`arith.scaling_truncf` does the
`arith.truncf(arith.divf(input/(2^scale)))`. `scale` should have
necessary broadcast, clamping, normalization and NaN propagation done
before callling into `arith.scaling_truncf`.
`arith.scaling_extf` does the `arith.mulf(2^scale, input)` after taking
care of necessary data type conversions.
CC: @krzysz00 @dhernandez0 @bjacob @pashu123 @MaheshRavishankar
@tgymnich
---------
Co-authored-by: Prashant Kumar <pk5561 at gmail.com>
Co-authored-by: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Commit: 0e4b8b8f81c97ef7374c321fd67a804dd17b4532
https://github.com/llvm/llvm-project/commit/0e4b8b8f81c97ef7374c321fd67a804dd17b4532
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/test/CodeGenCXX/tmp-md-nodes2.cpp
M flang/test/Integration/debug-local-var-2.f90
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/PassManagerImpl.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Rip out the UseNewDbgInfoFormat flag (#143207)
Start removing debug intrinsics support -- starting with the flag that
controls production of their replacement, debug records. This patch
removes the command-line-flag and with it the ability to switch back to
intrinsics. The module / function / block level "IsNewDbgInfoFormat"
flags get hardcoded to true, I'll to incrementally remove things that
depend on those flags.
Commit: c2ea9404ab86892dcca38f585e32e5e1ab57e4cd
https://github.com/llvm/llvm-project/commit/c2ea9404ab86892dcca38f585e32e5e1ab57e4cd
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Simplify finding EPResumeValue (NFC).
It should be sufficient to check that the resume phi has the correct
type, as the vector trip count as incoming value and starts at 0
otherwise. There is no need to find the middle block.
Commit: 13b1803b64b84ef4cf92dc3ca8e5e08a43bf8c60
https://github.com/llvm/llvm-project/commit/13b1803b64b84ef4cf92dc3ca8e5e08a43bf8c60
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/IR/Intrinsics.td
Log Message:
-----------
[CodeGen] Add <4096 x i32> value type (#143417)
Similar to https://github.com/llvm/llvm-project/pull/139294; just
realized we need this as well.
Commit: 5213c57cb1f0d78aad9a253b7f6a2b62ff4c7859
https://github.com/llvm/llvm-project/commit/5213c57cb1f0d78aad9a253b7f6a2b62ff4c7859
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
M clang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.h
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.h
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.h
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.h
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.h
M clang-tools-extra/clang-tidy/objc/AvoidNSErrorInitCheck.h
M clang-tools-extra/clang-tidy/objc/ForbiddenSubclassingCheck.cpp
M clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.h
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.h
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.h
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.h
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.h
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
Log Message:
-----------
[clang-tidy][NFC] run clang-format over clang-tidy checks and tool code. (#143324)
Commit: 10dc8bc519130f491d70318bd8b47555307cdc3f
https://github.com/llvm/llvm-project/commit/10dc8bc519130f491d70318bd8b47555307cdc3f
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
Log Message:
-----------
[mlir][vector] Fix for WarpOpScfForOp failure when scf.for has results that are unused. (#141853)
Currently, only the values defined outside ForOp but inside the original
WarpOp are considered "escaping values". However this is not true if the
ForOp has some unused results. In this case, corresponding IterArgs must
also be yielded by the original WarpOp. This PR adds the required code
changes to achieve this.
Commit: 7433d8ce5006bc01331e4ca6e8b1b825edfc5b4f
https://github.com/llvm/llvm-project/commit/7433d8ce5006bc01331e4ca6e8b1b825edfc5b4f
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
Log Message:
-----------
Follow up to 0e4b8b8f81c97, squash unused variable warning
Commit: 78af498035a8ab64e7b711f6b589a3b067afeba3
https://github.com/llvm/llvm-project/commit/78af498035a8ab64e7b711f6b589a3b067afeba3
Author: arysef <aryansefidi at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/lib/IR/Type.cpp
A llvm/test/Verifier/target-ext-vector-invalid.ll
A llvm/test/Verifier/target-ext-vector.ll
Log Message:
-----------
[LLVM][IR] Support target extension types in vectors (#140630)
This change is to support target extension types in vectors. The change
allows sized target extension types to opt-in to being a valid vector
element.
Allowing target extension types as vector elements will allow backends
to use vector operations such as `insertelement` and `extractelement` on
their target types with minimal changes.
RFC:
https://discourse.llvm.org/t/rfc-supporting-sized-target-extension-types-in-vector/86431
Commit: 8380a5500b84adbef0a0082671c4f964bfad9eee
https://github.com/llvm/llvm-project/commit/8380a5500b84adbef0a0082671c4f964bfad9eee
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
M llvm/test/CodeGen/AMDGPU/global_atomics.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] atomic load/store i8 in true16 mode (#143044)
Follow up patch from https://github.com/llvm/llvm-project/pull/142822.
Update other 16bit atomic load/store pattern in t16 mode
Commit: c8009797d388a89346e2116de08e9c0be17e0c2d
https://github.com/llvm/llvm-project/commit/c8009797d388a89346e2116de08e9c0be17e0c2d
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Implement CWG2496 (#142975)
https://cplusplus.github.io/CWG/issues/2496.html
We failed to diagnose the following in C++23 mode
```
struct S {
virtual void f(); // expected-note {{previous declaration is here}}
};
struct T : S {
virtual void f() &;
};
```
Commit: e7739eb6ccb775a2cfc2f68c3d2356ceeabdf94a
https://github.com/llvm/llvm-project/commit/e7739eb6ccb775a2cfc2f68c3d2356ceeabdf94a
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/X86.h
M clang/test/Preprocessor/init-x86.c
M clang/test/Preprocessor/init.c
Log Message:
-----------
[Clang] [Cygwin] wint_t is unsigned int (#143117)
On Cygwin environment, wint_t is unsigned int as shown here:
```
$ echo | gcc -m32 -xc - -E -dM | grep WINT_T
145:#define __SIZEOF_WINT_T__ 4
315:#define __WINT_TYPE__ unsigned int
```
```
$ echo | gcc -xc - -E -dM | grep WINT_T
147:#define __SIZEOF_WINT_T__ 4
317:#define __WINT_TYPE__ unsigned int
```
```
$ LANG=C gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/15/lto-wrapper.exe
Target: x86_64-pc-cygwin
(snip)
```
Commit: d659364295f6f0c41535a0c98c958cb4c896cc62
https://github.com/llvm/llvm-project/commit/d659364295f6f0c41535a0c98c958cb4c896cc62
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Support/DynamicLibrary.cpp
M llvm/lib/Support/Unix/DynamicLibrary.inc
M llvm/lib/Support/Windows/DynamicLibrary.inc
Log Message:
-----------
[Support][Cygwin] Fix handling of Process symbol lookup. (#143072)
In Unix/DynamicLibrary.inc, it was already known that Cygwin required
use of `RTLD_DEFAULT` as the `Handle` parameter to `DLSym` to search all
modules for a symbol. Unfortunately, RTLD_DEFAULT is defined as NULL, so
the existing checks of the `Process` handle meant `DLSym` would never be
called on Cygwin. Use the existing `&Invalid` sentinel instead of
`nullptr` for the `Process` handle.
Commit: 112490f06abca669eb3fe158739bf751e6024f46
https://github.com/llvm/llvm-project/commit/112490f06abca669eb3fe158739bf751e6024f46
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
Log Message:
-----------
[ConstantFolding] Add support for llvm.atan in constant folding. (#143416)
Fixes #143360
Commit: 787efa78a4a9c754a9083315dc5d073164133a4b
https://github.com/llvm/llvm-project/commit/787efa78a4a9c754a9083315dc5d073164133a4b
Author: Yifei Xu <yifei.xu at utexas.edu>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
Log Message:
-----------
[bazel] Revert "[bazel] llvm-config.h: Turn on LLVM_ENABLE_PLUGINS" as it fails TensorFlow Windows build (#143419)
Here is the error message
[3,466 / 5,762] 1 / 149 tests; [Sched] Compiling
llvm/lib/Support/BinaryStreamError.cpp ... (456 actions, 2 running)
ERROR: C:/t/g5cdusdm/external/llvm-project/llvm/BUILD.bazel:253:11:
Compiling llvm/lib/Support/ExtensibleRTTI.cpp [for tool] failed: (Exit
1): clang-cl.exe failed: error executing CppCompile command (from target
@@llvm-project//llvm:Support)
cd /d C:/t/g5cdusdm/execroot/org_tensorflow
SET INCLUDE=C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Tools\MSVC\14.42.34433\include;C:\Program
Files\Microsoft Visual
Studio\2022\Community\VC\Auxiliary\VS\include;C:\Program Files
(x86)\Windows Kits\10\include\10.0.22621.0\ucrt;C:\Program Files
(x86)\Windows Kits\10\\include\10.0.22621.0\\um;C:\Program Files
(x86)\Windows Kits\10\\include\10.0.22621.0\\shared;C:\Program Files
(x86)\Windows Kits\10\\include\10.0.22621.0\\winrt;C:\Program Files
(x86)\Windows
Kits\10\\include\10.0.22621.0\\cppwinrt;C:\tools\LLVM\lib\clang\18\include
SET PATH=C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Tools\MSVC\14.42.34433\bin\HostX64\x64;C:\Program
Files\Microsoft Visual
Studio\2022\Community\Common7\IDE\VC\VCPackages;C:\Program
Files\Microsoft Visual
Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program
Files\Microsoft Visual
Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team
Explorer;C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Current\bin\Roslyn;C:\Program Files
(x86)\Windows Kits\10\bin\10.0.22621.0\\x64;C:\Program Files
(x86)\Windows Kits\10\bin\\x64;C:\Program Files\Microsoft Visual
Studio\2022\Community\\MSBuild\Current\Bin\amd64;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program
Files\Microsoft Visual Studio\2022\Community\Common7\IDE\;C:\Program
Files\Microsoft Visual
Studio\2022\Community\Common7\Tools\;;C:\Windows\system32;C:\Program
Files\Microsoft Visual
Studio\2022\Community\Common7\IDE\VC\Linux\bin\ConnectionManagerExe
SET PWD=/proc/self/cwd
SET TEMP=C:\TMP
SET TMP=C:\TMP
SET VSLANG=1033
C:\tools\LLVM\bin\clang-cl.exe /nologo /DCOMPILER_MSVC /DNOMINMAX
/D_WIN32_WINNT=0x0601 /D_CRT_SECURE_NO_DEPRECATE
/D_CRT_SECURE_NO_WARNINGS /bigobj /Zm500 /EHsc /wd4351 /wd4291 /wd4250
/wd4996 /Iexternal/llvm-project
/Ibazel-out/x64_windows-opt-exec-ST-766941a09caf/bin/external/llvm-project
/Iexternal/llvm-project/llvm/include
/Ibazel-out/x64_windows-opt-exec-ST-766941a09caf/bin/external/llvm-project/llvm/include
/D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS
/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_NONSTDC_NO_WARNINGS
/D_SCL_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_WARNINGS /DUNICODE
/D_UNICODE /DLTDL_SHLIB_EXT=".dll" /DLLVM_PLUGIN_EXT=".dll"
/DLLVM_NATIVE_ARCH="X86"
/DLLVM_NATIVE_ASMPARSER=LLVMInitializeX86AsmParser
/DLLVM_NATIVE_ASMPRINTER=LLVMInitializeX86AsmPrinter
/DLLVM_NATIVE_DISASSEMBLER=LLVMInitializeX86Disassembler
/DLLVM_NATIVE_TARGET=LLVMInitializeX86Target
/DLLVM_NATIVE_TARGETINFO=LLVMInitializeX86TargetInfo
/DLLVM_NATIVE_TARGETMC=LLVMInitializeX86TargetMC
/DLLVM_NATIVE_TARGETMCA=LLVMInitializeX86TargetMCA
/DLLVM_HOST_TRIPLE="x86_64-pc-win32"
/DLLVM_DEFAULT_TARGET_TRIPLE="x86_64-pc-win32" /DLLVM_VERSION_MAJOR=21
/DLLVM_VERSION_MINOR=0 /DLLVM_VERSION_PATCH=0
/DLLVM_VERSION_STRING="21.0.0git" /D__STDC_LIMIT_MACROS
/D__STDC_CONSTANT_MACROS /D__STDC_FORMAT_MACROS
/DLLVM_HAS_AArch64_TARGET=1 /DLLVM_HAS_AMDGPU_TARGET=1
/DLLVM_HAS_ARM_TARGET=1 /DLLVM_HAS_NVPTX_TARGET=1
/DLLVM_HAS_PowerPC_TARGET=1 /DLLVM_HAS_RISCV_TARGET=1
/DLLVM_HAS_SystemZ_TARGET=1 /DLLVM_HAS_X86_TARGET=1 /DBLAKE3_USE_NEON=0
/DBLAKE3_NO_AVX2 /DBLAKE3_NO_AVX512 /DBLAKE3_NO_SSE2 /DBLAKE3_NO_SSE41
/showIncludes /MD /O2 /Oy- /DNDEBUG /wd4117 -D__DATE__="redacted"
-D__TIMESTAMP__="redacted" -D__TIME__="redacted"
-Wno-builtin-macro-redefined /Gy /Gw /W0 /Zc:__cplusplus
/D_USE_MATH_DEFINES /d2ReducedOptimizeHugeFunctions
-D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN32_LEAN_AND_MEAN -DNOGDI
/Zc:preprocessor /clang:-Weverything /clang:-Weverything
/d2ReducedOptimizeHugeFunctions /std:c++17
/Fobazel-out/x64_windows-opt-exec-ST-766941a09caf/bin/external/llvm-project/llvm/_objs/Support/ExtensibleRTTI.obj
/c external/llvm-project/llvm/lib/Support/ExtensibleRTTI.cpp
# Configuration:
f85b29406574d83c673497718f542456050c5649ae41eb37a803b7085e15c4ef
# Execution platform:
//tensorflow/tools/toolchains/win2022:windows_ltsc2022_clang
external/llvm-project/llvm/lib/Support/ExtensibleRTTI.cpp(12,22): error:
definition of dllimport static field not allowed
12 | char llvm::RTTIRoot::ID = 0;
| ^
external/llvm-project/llvm/include\llvm/Support/ExtensibleRTTI.h(71,7):
note: attribute is here
71 | class LLVM_ABI RTTIRoot {
| ^
external/llvm-project/llvm/include\llvm/Support/Compiler.h(205,29):
note: expanded from macro 'LLVM_ABI'
205 | #define LLVM_ABI __declspec(dllimport)
| ^
1 error generated.
Commit: 60cd76bc34901645654b5bbbc9e06cf267c1f887
https://github.com/llvm/llvm-project/commit/60cd76bc34901645654b5bbbc9e06cf267c1f887
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[CodeGen] Construct SmallVector with ArrayRef (NFC) (#143391)
Commit: 17999f01bbcda4ccdf5146cbecc562c60b2ca86e
https://github.com/llvm/llvm-project/commit/17999f01bbcda4ccdf5146cbecc562c60b2ca86e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
Log Message:
-----------
[BPF] Initialize SmallVector (NFC) (#143392)
Commit: 0f5a78516a20913eed3f5c674017e65cac149063
https://github.com/llvm/llvm-project/commit/0f5a78516a20913eed3f5c674017e65cac149063
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lld/ELF/Symbols.h
Log Message:
-----------
[lld] Use llvm::has_single_bit (NFC) (#143393)
Commit: 629aebcd1747fc9523ec838057e7c08bef52bef3
https://github.com/llvm/llvm-project/commit/629aebcd1747fc9523ec838057e7c08bef52bef3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h
Log Message:
-----------
[CodeGen] Use llvm::has_single_bit (NFC) (#143394)
Commit: 6e6ba60336fd19b046f9b375597f37065b35cbe0
https://github.com/llvm/llvm-project/commit/6e6ba60336fd19b046f9b375597f37065b35cbe0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
Log Message:
-----------
[mlir] Use llvm::max_element (NFC) (#143396)
Commit: 9fe3ede18533503fec4eb5aaeced593186c419ce
https://github.com/llvm/llvm-project/commit/9fe3ede18533503fec4eb5aaeced593186c419ce
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Use llvm::none_of (NFC) (#143398)
Commit: efc3c1ba2932539e7e25b512da9dca6c399d3500
https://github.com/llvm/llvm-project/commit/efc3c1ba2932539e7e25b512da9dca6c399d3500
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
Log Message:
-----------
[memprof] Use std::tie to implement operator< (NFC) (#143401)
Commit: 274f5a817b4c63871d780f94246806ec37736b30
https://github.com/llvm/llvm-project/commit/274f5a817b4c63871d780f94246806ec37736b30
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/binop.ll
Log Message:
-----------
[Matrix] Propagate shape information through (f)abs insts (#141704)
Commit: 6cbd91ea52cbf2b27dc92557cea64f5fd305fcf1
https://github.com/llvm/llvm-project/commit/6cbd91ea52cbf2b27dc92557cea64f5fd305fcf1
Author: David Green <david.green at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-unmergedup.mir
M llvm/test/CodeGen/AArch64/arm64-dup.ll
M llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
Log Message:
-----------
[AArch64][GlobalISel] Combine G_UNMERGE(G_DUPLANE16) -> G_DUPLANE16 (#142731)
We will generate G_UNMERGE(G_DUPLANE16) due to the legalization of
shuffle vector splats with mismatching vector sizes. The G_DUPLANE
intrinsics can handle different vector sizes (128bit and 64bit output,
for example), and we can combine away the unmerge.
Commit: 6108d50aed6190aa094c168f96899adc5621cc89
https://github.com/llvm/llvm-project/commit/6108d50aed6190aa094c168f96899adc5621cc89
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
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/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[VPlan] Add ReductionStartVector VPInstruction. (#142290)
Add a new VPInstruction::ReductionStartVector opcode to create the start
values for wide reductions. This more accurately models the start value
creation in VPlan and simplifies VPReductionPHIRecipe::execute. Down the
line it also allows removing VPReductionPHIRecipe::RdxDesc.
PR: https://github.com/llvm/llvm-project/pull/142290
Commit: f12e4f2faf404a7f44b5505b0a4c14e3a003d2d1
https://github.com/llvm/llvm-project/commit/f12e4f2faf404a7f44b5505b0a4c14e3a003d2d1
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR][NFS] Add test cases for VecShuffle with -1 index (#143304)
Add a test case for __builtin_shufflevector with -1 index, it was useful
in the incubator to catch an issue in the folder
Commit: 6559831025711a21fd1f6a4065c4f3ac53f16875
https://github.com/llvm/llvm-project/commit/6559831025711a21fd1f6a4065c4f3ac53f16875
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
A clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/class.cpp
Log Message:
-----------
[CIR] Add support for accessing members of base classes (#143195)
This change adds the support for accessing a member of a base class from
a derived class object.
Commit: 61cdba602abe67761ab2bbf12bf85710dfa963f4
https://github.com/llvm/llvm-project/commit/61cdba602abe67761ab2bbf12bf85710dfa963f4
Author: David Green <david.green at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-simd-ldst-one.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/double_reduct.ll
M llvm/test/CodeGen/AArch64/f16-instructions.ll
M llvm/test/CodeGen/AArch64/faddsub.ll
M llvm/test/CodeGen/AArch64/fcopysign.ll
M llvm/test/CodeGen/AArch64/fcvt.ll
M llvm/test/CodeGen/AArch64/fdiv.ll
M llvm/test/CodeGen/AArch64/fminimummaximum.ll
M llvm/test/CodeGen/AArch64/fminmax.ll
M llvm/test/CodeGen/AArch64/fmla.ll
M llvm/test/CodeGen/AArch64/fmul.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AArch64/fsqrt.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/llvm.exp10.ll
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/store.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
[AArch64][GlobalISel] Expand 64bit extracts to 128bit to allow more patterns (#142904)
SDAG will promote a 64bit G_EXTRACT_VECTOR_ELT to 128 to reduce the
number of duplicate lane-extract patterns needed. This patch does the
same for gisel inside regbankselect, so that selection will operate on
the larger vectors.
Most of the tests just add kill markers, but arm64-neon-v8.1a.ll shows the
lanewise patterns now being selected (which, as of this patch is now
fully producing the same code as SDAG).
Commit: d4fe522eb4ae710e90107a682911fc75f2388a87
https://github.com/llvm/llvm-project/commit/d4fe522eb4ae710e90107a682911fc75f2388a87
Author: David Peixotto <peix at meta.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/PluginManager.cpp
M lldb/source/Target/Statistics.cpp
M lldb/test/API/commands/statistics/basic/TestStats.py
A lldb/test/Shell/Commands/command-plugin-enable+disable.test
A lldb/test/Shell/Commands/command-plugin-list.test
M lldb/unittests/Core/PluginManagerTest.cpp
Log Message:
-----------
Add commands to list/enable/disable plugins (#134418)
This commit adds three new commands for managing plugins. The `list`
command will show which plugins are currently registered and their
enabled state. The `enable` and `disable` commands can be used to enable
or disable plugins.
A disabled plugin will not show up to the PluginManager when it iterates
over available plugins of a particular type.
The purpose of these commands is to provide more visibility into
registered plugins and allow users to disable plugins for experimental
perf reasons.
There are a few limitations to the current implementation
1. Only SystemRuntime and InstrumentationRuntime plugins are currently
supported. We can easily extend the existing implementation to support
more types. The scope was limited to these plugins to keep the PR size
manageable.
2. Only "statically" know plugin types are supported (i.e. those managed
by the PluginManager and not from `plugin load`). It is possibly we
could support dynamic plugins as well, but I have not looked into it
yet.
Commit: d0a1dce12610c9a732bdc54b0d0863ef77999002
https://github.com/llvm/llvm-project/commit/d0a1dce12610c9a732bdc54b0d0863ef77999002
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/test/CodeGen/X86/musttail-varargs.ll
A llvm/test/CodeGen/X86/rex-profile-test.ll
Log Message:
-----------
[llvm][X86] REX profile for UEFI (#138362)
Use the appropriate REX prefix for UEFI X86_64 target.
Commit: f9b98e386ed2b2e2885b9e6dffceb1c915c282b8
https://github.com/llvm/llvm-project/commit/f9b98e386ed2b2e2885b9e6dffceb1c915c282b8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove unused LoopMiddleBlock arg from fixReductionScalarRes (NFC)
The argument isn't used, remove it.
Commit: 9f82ac5738fced23716ac6f9c5744f99d6b6ba92
https://github.com/llvm/llvm-project/commit/9f82ac5738fced23716ac6f9c5744f99d6b6ba92
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Function.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/SandboxIR/Function.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/SystemZ/SystemZSubtarget.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
Remove GlobalObject::getAlign/setAlignment (#143188)
Currently, GlobalObject has an "alignment" property... but it's
basically nonsense: alignment doesn't mean the same thing for variables
and functions, and it's completely meaningless for ifuncs.
This "removes" (actually marking protected) the methods from
GlobalObject, adds the relevant methods to Function and GlobalVariable,
and adjusts the code appropriately.
This should make future alignment-related cleanups easier.
Commit: 4d50b405f1585ce172f87cb5f8daf3c1b4145215
https://github.com/llvm/llvm-project/commit/4d50b405f1585ce172f87cb5f8daf3c1b4145215
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
Log Message:
-----------
[libc++] Remap headers in the debug info when building the library (#143004)
The libc++ build includes a step where headers are generated. This is
required in order to preprocess some files such as the assertion handler
and the __config_site header. As a result, the library is built against
headers located inside the build directory, and the path to those
headers is what's included in the debug information of the library.
However, these headers in the build directory are usually not
persistent, which means that the debug information might end up
referring to headers that don't exist anymore. To solve this problem,
this patch uses the -fdebug-prefix-map flag supported by Clang and GCC
to remap the generated headers to the original headers in the source
directory. This provides the illusion that the library was truly built
against the in-source version of the headers.
Commit: 4a6d31f4bf0c48d8761993d397bcf458356ec78c
https://github.com/llvm/llvm-project/commit/4a6d31f4bf0c48d8761993d397bcf458356ec78c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Pass resume phi to fixReductionScalarResumeWhenVectorizing (NFC).
fixReductionScalarResumeWhenVectorizingEpilog updates the resume phis in
the scalar preheader. Instead of looking at all recipes in the middle
block and finding their resume-phi users we can iterate over all resume
phis in the scalar preheader directly.
This slightly simplifies the code and removes the need to look for the
resume phi.
Also slightly simplifies https://github.com/llvm/llvm-project/pull/141860.
Commit: 62cae4ffcb04e06765f39b5d1b92816b8dd4d56d
https://github.com/llvm/llvm-project/commit/62cae4ffcb04e06765f39b5d1b92816b8dd4d56d
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/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/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
M llvm/lib/Target/AArch64/AArch64SchedA53.td
M llvm/lib/Target/AArch64/AArch64SchedOryon.td
M llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
Log Message:
-----------
[AArch64] Fix a multitude of AArch64 typos (NFC) (#143370)
Fix a multitude of typos in the AArch64 codebase using the
https://github.com/crate-ci/typos Rust package.
Commit: 339797d75b3fd93bdb339c6b4ea826a2eeb32c26
https://github.com/llvm/llvm-project/commit/339797d75b3fd93bdb339c6b4ea826a2eeb32c26
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/utils/analyzer/requirements.txt
Log Message:
-----------
[clang][analyzer] Update python dependency versions (#143433)
We need to make sure we aren't vulnerable to
[PYSEC-2020-73](https://osv.dev/vulnerability/PYSEC-2020-73) and
[PYSEC-2019-41](https://osv.dev/vulnerability/PYSEC-2019-41).
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 28b753b185511eaaf98c5dda39bf9e44fa134212
https://github.com/llvm/llvm-project/commit/28b753b185511eaaf98c5dda39bf9e44fa134212
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
Log Message:
-----------
[Clang][NFC] Add nullptr check in InitializationSequence::InitializeFrom (#143067)
Static analysis flagged that Var could be nullptr but we were not
checking in the branch and unconditionally dereferences the pointer.
Note, code was added by 576161cb6069
Commit: 3c02150f02022292645f6238524f0401a6f5014f
https://github.com/llvm/llvm-project/commit/3c02150f02022292645f6238524f0401a6f5014f
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
Revert "[clang-format][NFC] Clean up fillRanges() in ClangFormat.cpp (#143236)"
This reverts commit 897ccddcc30cacdfe04ddd622986b50ec963eabc. It
introduced a bug when formatting multiple files in one go. When a
shorter file is passed after a longer one, a stale length from the
previous file seems to be used, triggering an "invalid length (...) is
outside the file" error.
Commit: 49049131bbfc0d1a77c4cdb2e5ea9a77f832ac27
https://github.com/llvm/llvm-project/commit/49049131bbfc0d1a77c4cdb2e5ea9a77f832ac27
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[git][NFC] add clang-tidy formatting commits to .git-blame-ignore-revs (#143438)
Commit: 6f6dc9c8ba8289e7dcdb16c33102cfd06608fa5c
https://github.com/llvm/llvm-project/commit/6f6dc9c8ba8289e7dcdb16c33102cfd06608fa5c
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/riscv.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Implement Feature Bits for B, E, H (#143436)
As defined in riscv-non-isa/riscv-c-api-doc#109.
Commit: add6acc333740542705eedd185f45f69e3d25f30
https://github.com/llvm/llvm-project/commit/add6acc333740542705eedd185f45f69e3d25f30
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/test/SemaCXX/destructor.cpp
Log Message:
-----------
NFC: stray whitespace cleanup from clang/test/SemaCXX/destructor.cpp
Commit: f5e499a3383c1e3b9f60e60151075e8d9c1c3166
https://github.com/llvm/llvm-project/commit/f5e499a3383c1e3b9f60e60151075e8d9c1c3166
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
Log Message:
-----------
Revert "[HIP] use offload wrapper for non-device-only non-rdc (#132869)" (#143432)
This breaks a lot of new driver HIP compilation. We should probably
revert this for now until we can make a fixed version.
```c++
static __global__ void print() { printf("%s\n", "foo"); }
void b();
int main() {
hipLaunchKernelGGL(print, dim3(1), dim3(1), 0, 0);
auto y = hipDeviceSynchronize();
b();
}
```
```c++
static __global__ void print() { printf("%s\n", "bar"); }
void b() {
hipLaunchKernelGGL(print, dim3(1), dim3(1), 0, 0);
auto y = hipDeviceSynchronize();
}
```
```console
$ clang++ a.hip b.hip --offload-arch=gfx1030 --offload-new-driver
$ ./a.out
foo
foo
```
```console
$ clang++ a.hip b.hip --offload-arch=gfx1030 --offload-new-driver -flto
<crash>
```
This reverts commit d54c28b9c1396fa92d9347ac1135da7907121cb8.
Commit: 55858527da9e33063b45e60fd90619df85ea6f7e
https://github.com/llvm/llvm-project/commit/55858527da9e33063b45e60fd90619df85ea6f7e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
PowerPC: Move runtime libcall configuration to RuntimeLibcallsInfo (#142542)
These should not be set in the TargetLowering constructor,
RuntimeLibcalls
needs to be accurate outside of codegen contexts.
Commit: ba7c6468a527415f330e162d7d88f0a70185e711
https://github.com/llvm/llvm-project/commit/ba7c6468a527415f330e162d7d88f0a70185e711
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
Log Message:
-----------
[AMDGPU] Fix getAsmVOP3Base SrcMods arguments. NFCI. (#143428)
Somehow we ended up with different code here and downstream
after merges, and beeing specific about SrcMods is more
correct.
Commit: a8c2b431c7bccceff11fe961fe22974826b46667
https://github.com/llvm/llvm-project/commit/a8c2b431c7bccceff11fe961fe22974826b46667
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Autogenerate dst bytesel asm. NFCI. (#143429)
Needed for future t16 support.
Commit: 4e6896244f4129a22e311f7f6290a595b6f03b75
https://github.com/llvm/llvm-project/commit/4e6896244f4129a22e311f7f6290a595b6f03b75
Author: Darren Wihandi <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definitions for GL inverse hyperbolic functions (#141720)
Adds definitions for `Asinh`, `Acosh` and `Atanh` based on [SPIR-V
extended instructions for
GLSL](https://registry.khronos.org/SPIR-V/specs/unified1/GLSL.std.450.html).
Their instruction numbers are 22, 23 and 24.
Commit: c9cf5c26d8d71bf58cb7ae759a615b6de1074e53
https://github.com/llvm/llvm-project/commit/c9cf5c26d8d71bf58cb7ae759a615b6de1074e53
Author: Lily Brown <lbrown at modular.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/include/mlir/Tools/lsp-server-support/Protocol.h
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
Log Message:
-----------
[mlir] Add window.workDoneProgress LSP capability (#143449)
Adds the capability flag for [server-initiated work-done
progress](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#serverInitiatedProgress).
Commit: d099d953ef7c9ad24512068f579cc868e1ee468f
https://github.com/llvm/llvm-project/commit/d099d953ef7c9ad24512068f579cc868e1ee468f
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lld/COFF/TypeMerger.h
M lld/ELF/DWARF.h
Log Message:
-----------
[lld] Add missing includes. (#143453)
Some inline methods in these headers require a complete type but the
corresponding include was missing.
Commit: 474db6a85257612a2e878320d0bae51cb884d4f9
https://github.com/llvm/llvm-project/commit/474db6a85257612a2e878320d0bae51cb884d4f9
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/unittests/Symbol/PostfixExpressionTest.cpp
M lldb/unittests/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpressionTests.cpp
M llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/lib/DebugInfo/DWARF/DWARFCFIProgram.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
Log Message:
-----------
[NFC] Separate high-level-dependent portions of DWARFExpression (revised) (#143170)
(Revised version of a previous, unreviewed, PR.)
Move all expression verification into its only client: DWARFVerifier.
Move all printing code (which was a mix of static and member functions)
into a separate class.
This is one in a series of refactoring PRs to separate dwarf
functionality into lower-level pieces usable without object files and
sections at build time. The code is already written this way via various
"if (section == nullptr)" and similar conditionals. So the functionality
itself is needed and exists, but only as a runtime feature. The goal of
these refactors is to remove the build-time dependencies, which will
allow the existing functionality to be used from lower-level parts of
the compiler. Particularly from lib/MC/.... More information at:
https://discourse.llvm.org/t/rfc-debuginfo-dwarf-refactor-into-to-lower-and-higher-level-libraries/86665
Commit: ce4a7c4a66c86010927e54e5bf760c5a88de5396
https://github.com/llvm/llvm-project/commit/ce4a7c4a66c86010927e54e5bf760c5a88de5396
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/LowerTypeTests/export-inline.ll
Log Message:
-----------
LowerTypeTests: Stop creating inline bitset tests on 32-bit architectures.
Tests with a 64-bit inline bitset are not only unlikely to be beneficial
on 32-bit architectures but with ThinLTO we are unable to export them
correctly, resulting in a miscompile.
Reviewers: fmayer
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/143458
Commit: b3837f139235fe943ff9b7ccef44d11d568c4b81
https://github.com/llvm/llvm-project/commit/b3837f139235fe943ff9b7ccef44d11d568c4b81
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M compiler-rt/test/cfi/CMakeLists.txt
Log Message:
-----------
cfi: Re-enable tests with lld on i386. NFCI.
Originally disabled because of #34200 but that bug has long since
been fixed.
Reviewers: fmayer
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/143459
Commit: f671e1698cbdfe02108486ae567f87eea7a05d61
https://github.com/llvm/llvm-project/commit/f671e1698cbdfe02108486ae567f87eea7a05d61
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Autogenerate bitop3 asm and dags. NFCI. (#143430)
Commit: 3e6a704b5fe33aa0e25cc482199985368a8ee6cf
https://github.com/llvm/llvm-project/commit/3e6a704b5fe33aa0e25cc482199985368a8ee6cf
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/test/Transforms/LowerTypeTests/export-inline.ll
Log Message:
-----------
Require x86 target for test.
Commit: f5733b0b859ada51ab4a1cc239ce901ea30b297f
https://github.com/llvm/llvm-project/commit/f5733b0b859ada51ab4a1cc239ce901ea30b297f
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Log Message:
-----------
[lldb][Mach-O] Fix DWARF5 debugging regression for Mach-O
A unification of the DWARF section names,
https://github.com/llvm/llvm-project/pull/141344
broke dwarf5 debugging with Mach-O files. The str_offset and
str_offset.dwo names are different in Mach-O from other object
files.
Commit: 2680afb76bea48b9635cfe1e2aee81b421b71cde
https://github.com/llvm/llvm-project/commit/2680afb76bea48b9635cfe1e2aee81b421b71cde
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
M llvm/test/CodeGen/RISCV/rvv/zvqdotq-sdnode.ll
Log Message:
-----------
[RISCV] Migrate zvqdotq reduce matching to use partial_reduce infrastructure (#142212)
This involves a codegen regression at the moment due to the issue
described in 443cdd0b, but this aligns the lowering paths for this case
and makes it less likely future bugs go undetected.
Commit: 23fd60d996195aa61a036376bde9b347cc45519a
https://github.com/llvm/llvm-project/commit/23fd60d996195aa61a036376bde9b347cc45519a
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
Log Message:
-----------
[MSAN] support vpermilvar AVX instructions (#143053)
Commit: a082f665f85b1002ab22af263eeafceca5288657
https://github.com/llvm/llvm-project/commit/a082f665f85b1002ab22af263eeafceca5288657
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
Log Message:
-----------
ARM: Start moving runtime libcall configuration out of TargetLowering (#142617)
These Module level triple checks implemented in the Subtarget are kind of
a pain and we should probably get rid of all of them in across all targets,
and stick to a consistent set of names.
Commit: 48556108f25052a106bfbe83060775bebf9b43a4
https://github.com/llvm/llvm-project/commit/48556108f25052a106bfbe83060775bebf9b43a4
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/RegisterNumber.cpp
Log Message:
-----------
[lldb][NFC] Split RegisterContextUnwind::SavedLocationForRegister (#139817)
RegisterContextUnwind::SavedLocationForRegister is around 450 lines that
first find an abstract register location (e.g. "CFA-8") for a register
by looking in the UnwindPlans. Then it evaluates the abstract register
location to create a concrete register location (e.g. "stored at address
0x...", "live in register at frame 0"). There are some complicated cases
in the first half of the method to handle return address register
architectures correctly, in particular.
Looking at the two halves, they're both exactly 226 lines long and
there's little involvement between them except for passing an abstract
register location along.
(there were some parts in the "abstract register location" code that
would set the concrete register location, unnecessarily)
It's also a complex enough method that there are some bits of code that
aren't actually doing anything at this point.
This patch adds a RegisterContextUnwind::GetAbstractRegisterLocation
method, which does the first half, and has a clearly defined return
values.
The code to convert an AbstractRegisterLocation into a
ConcreteRegisterLocation remains in SavedLocationForRegister.
It's a bit of a tricky patch to visually inspect, despite it not
changing functionality, the reorganizations and rewrites make the diff
unreadable. Nearly all the real changes are in the "find the abstract
register location" first half of the method. I think reading the new
code in its new form is the easiest way to inspect this PR. With a
defined interface between the two of what is expected, it's pretty easy
to look at the code and reason about whether it is written correctly.
(whereas before, that was very difficult, for me at least.)
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 505c550e4c12d24093f46afaa35819ab2a1a530a
https://github.com/llvm/llvm-project/commit/505c550e4c12d24093f46afaa35819ab2a1a530a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/fpcmp_ueq.ll
M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/double-fcmp.ll
M llvm/test/CodeGen/RISCV/float-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/float-fcmp.ll
M llvm/test/CodeGen/Thumb2/float-cmp.ll
M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
M llvm/test/CodeGen/X86/fpcmp-soft-fp.ll
Log Message:
-----------
DAG: Assert fcmp uno runtime calls are boolean values (#142898)
This saves 2 instructions in the ARM soft float case for fcmp ueq.
This code is written in an confusingly overly general way. The point
of getCmpLibcallCC is to express that the compiler-rt implementations
of the FP compares are different aliases around functions which may
return -1 in some cases. This does not apply to the call for unordered,
which returns a normal boolean.
Also stop overriding the default value for the unordered compare for ARM.
This was setting it to the same value as the default, which is now assumed.
Commit: ab954b11dbf7c5f0256b5a93b6c221b6e82a4f28
https://github.com/llvm/llvm-project/commit/ab954b11dbf7c5f0256b5a93b6c221b6e82a4f28
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/AST/DeclContextInternals.h
Log Message:
-----------
[clang][NFC] Refactor replaceExternalDecls to use llvm::any_of (#143275)
This patch simplifies the declaration replacement logic in
replaceExternalDecls by replacing a manual loop with an idiomatic use of
llvm::any_of. This improves code readability and aligns with common LLVM
coding style.
Commit: 4bf2de18320fc11d009e52a2a71a9fd367fd7dd6
https://github.com/llvm/llvm-project/commit/4bf2de18320fc11d009e52a2a71a9fd367fd7dd6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/bit-op-reduce-width-known-bits.ll
Log Message:
-----------
AMDGPU: Add test showing bit operations that should be reducible (#141837)
v_xor_i64_known_i32_from_range_use_out_of_block demonstrates a regression
that appears in a future patch in the IR division expansion.
We could generalize splitBinaryBitConstantOp to use known bits. I'm
not sure if it's worth it in the original example, since the pattern
seems to disappear if I optimize the division expansion. We should
probably fix the divide expand to avoid this.
Commit: 80064b6e326d0cf34bac1d09c12fc1e6abecb7af
https://github.com/llvm/llvm-project/commit/80064b6e326d0cf34bac1d09c12fc1e6abecb7af
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/bit-op-reduce-width-known-bits.ll
M llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
M llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
Log Message:
-----------
AMDGPU: Try constant fold after folding immediate (#141862)
This helps avoid some regressions in a future patch. The or 0
pattern appears in the division tests because the reduce 64-bit
bit operation to a 32-bit one with half identity value is only
implemented for constants. We could fix that by using computeKnownBits.
Additionally the pattern disappears if I optimize the IR division
expansion, so that IR should probably be emitted more optimally in
the first place.
Commit: e30cba54641d593fdc0e870cb589c7ae265703fe
https://github.com/llvm/llvm-project/commit/e30cba54641d593fdc0e870cb589c7ae265703fe
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[llvm][ADT] Add wrappers to `std::includes` (#143297)
Add `llvm::includes` that accepts a range instead of start/end iterator.
Commit: 9a894ae794f26cdd0822c4cea99e2486e3523189
https://github.com/llvm/llvm-project/commit/9a894ae794f26cdd0822c4cea99e2486e3523189
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestRawStrings.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Parse JSON outermost l_brace as braced list brace (#143327)
See
https://github.com/llvm/llvm-project/issues/65400#issuecomment-2922181979.
Commit: b9d41328c6c60c622fe5737f449e568f1ee4ec8f
https://github.com/llvm/llvm-project/commit/b9d41328c6c60c622fe5737f449e568f1ee4ec8f
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/Analysis/CFG.cpp
A clang/test/Sema/warn-unreachable_crash.cpp
Log Message:
-----------
[clang][CFG] Fix assertion failure in checkIncorrectLogicOperator (#142897)
`checkIncorrectLogicOperator` checks if an expression, for example `x !=
0 || x != 1.0`, is always true or false by comparing the two literals
`0` and `1.0`. But in case `x` is a 16-bit float, the two literals have
distinct types---16-bit float and double, respectively. Directly
comparing `APValue`s extracted from the two literals results in an
assertion failure because of their distinct types.
This commit fixes the issue by doing a conversion from the "smaller" one
to the "bigger" one. The two literals must be compatible because both of
them are comparing with `x`.
rdar://152456316
Commit: 040e9e02ccbf69bebd293a4c389948d7ecbc7bd9
https://github.com/llvm/llvm-project/commit/040e9e02ccbf69bebd293a4c389948d7ecbc7bd9
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M libcxx/include/__config
M libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__functional/function.h
M libcxx/include/__memory/addressof.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_scalar.h
M libcxx/include/deque
M libcxx/include/string
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
Log Message:
-----------
[libc++] Inline __has_feature and __has_extension uses (#133634)
Since GCC now supports `__has_feature` and `__has_extension` as well,
there isn't much of a reason to define new macros to test for the
features.
Commit: 0123ee51ef3290466c6d743aac2932b23655aa04
https://github.com/llvm/llvm-project/commit/0123ee51ef3290466c6d743aac2932b23655aa04
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
Log Message:
-----------
[alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (#143408)
Allow @property of a raw pointer when NS_REQUIRES_PROPERTY_DEFINITIONS
is specified on the interface since such an interface does not
automatically synthesize raw pointer ivars.
Also emit a warning for @property(assign) and
@property(unsafe_unretained) under ARC as well as when explicitly
synthesizing a unsafe raw pointer property.
Commit: 34b985f635a734e7e513ea2196f3010b9c3cc6ae
https://github.com/llvm/llvm-project/commit/34b985f635a734e7e513ea2196f3010b9c3cc6ae
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/xqcibm-extract.ll
Log Message:
-----------
[RISCV] Select unsigned bitfield extract for Xqcibm (#143354)
The Xqcibm Bit Manipulation extension has the `qc.extu` instruction that
can extract a subset of bits from the source register to the destination
register.
Unlike the corresponding instructions in XTHeadbb and XAndesPerf which
extract the bits between `Msb` and `Lsb`, the `qc.extu` instruction
extracts `width` bits from an offset that is determined by the `shamt`.
Commit: eccd81f20ba34f9aee41d672e0d7ac6028191b40
https://github.com/llvm/llvm-project/commit/eccd81f20ba34f9aee41d672e0d7ac6028191b40
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M libcxx/include/__functional/hash.h
Log Message:
-----------
[libc++] Simplify the implementation of std::hash (#140407)
Instead of providing full specializations of `hash` for every arithmetic
type, this moves the implementation to a base class, which is
specialized via `enable_if`s instead.
Commit: 591678bebd09f5d9c5781dd7a9cbd19cb8cd532c
https://github.com/llvm/llvm-project/commit/591678bebd09f5d9c5781dd7a9cbd19cb8cd532c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/monolithic-linux.sh
Log Message:
-----------
[CI] Explicitly compute needed runtime targets
This patch adjusts the compute_projects script to explicitly determine
what runtimes should be built and what runtimes should be tested. This
is mainly to support enabling runtimes for LLDB testing but not test
them unless we are building clang.
Reviewers: Endilll, tstellar, DavidSpickett, lnihlen
Reviewed By: DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/142695
Commit: d56ce312d0c2e5ae74476977a8952dbb3ba4c513
https://github.com/llvm/llvm-project/commit/d56ce312d0c2e5ae74476977a8952dbb3ba4c513
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/attr-trivial-abi.cpp
M clang/test/SemaObjCXX/attr-trivial-abi.mm
Log Message:
-----------
[Clang] Non-polymorphic trivially relocatable types can have [[trivial_abi]] (#143111)
Use the definition of trivially relocatable types to short-circuit some
checks for trivial_abi.
Note that this is mostly a no-op as there is a lot of overlap between
trivial_abi and trivial relocatability (ie, I can't envision a scenario
in which there would be a trivially relocatable type that would not be
eligible for trivial_abi based on its special member function... which
is good!)
Note that for bases and members, we need to check CanPassInRegister
rather than just relocation. So we do these checks first, which leads to
better diagnostics.
Commit: 6881c7d5fad8182116e41cc8fc061773afd5ec88
https://github.com/llvm/llvm-project/commit/6881c7d5fad8182116e41cc8fc061773afd5ec88
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
Log Message:
-----------
[RISCV] Don't select sh{1,2,3}add if shl doesn't have one use (#143351)
Try to fix https://github.com/llvm/llvm-project/pull/130829#pullrequestreview-2730533158.
There's no benefit if shl doesn't have one use.
Commit: 5f648c370edf5d71c471ffbabdaaa821ad05fb4b
https://github.com/llvm/llvm-project/commit/5f648c370edf5d71c471ffbabdaaa821ad05fb4b
Author: David Green <david.green at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
M clang/test/CodeGen/ptrauth-in-c-struct.c
M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
Log Message:
-----------
[AArch64] Change the coercion type of structs with pointer members. (#135064)
The aim here is to avoid a ptrtoint->inttoptr round-trip through the function
argument whilst keeping the calling convention the same. Given a struct which
is <= 128bits in size, which can only contain either 1 or 2 pointers, we
convert to a ptr or [2 x ptr] as opposed to the old coercion that uses i64 or
[2 x i64]. This helps alias analysis produce more accurate results.
Commit: bfe096760345fb040138e10a2884b95fbd812dc9
https://github.com/llvm/llvm-project/commit/bfe096760345fb040138e10a2884b95fbd812dc9
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Remove the TODO for vqdotsu. NFC.
It has been supported by #141267.
Commit: 487e757f3e587aedc1668fb9cb18a8d464913605
https://github.com/llvm/llvm-project/commit/487e757f3e587aedc1668fb9cb18a8d464913605
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGExprCXX.cpp
Log Message:
-----------
[clang][NFC] Remove dead PassTypeToPlacementDelete field (#143448)
The CallDeleteDuringNew::PassTypeToPlacementDelete field became unneeded
during the many refactorings of P2719 but I didn't actually remove it.
Commit: 530f5b779111034da78c3419eeda7a360c101755
https://github.com/llvm/llvm-project/commit/530f5b779111034da78c3419eeda7a360c101755
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerStore - always split 512-bit concatenated stores (#143426)
All BWI regressions have now been addressed, so remove the special case
handling.
Commit: 0c3a7725375ec583147429cc367320f0e8506847
https://github.com/llvm/llvm-project/commit/0c3a7725375ec583147429cc367320f0e8506847
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV][test] Add tests for add.uw with a constant
Commit: 77347d6513de6a6f5dee8ade76e0a0ad1552c12b
https://github.com/llvm/llvm-project/commit/77347d6513de6a6f5dee8ade76e0a0ad1552c12b
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
R llvm/test/tools/llvm-rc/Inputs/tag-accelerators-ascii-alt.rc
M llvm/test/tools/llvm-rc/Inputs/tag-accelerators.rc
M llvm/test/tools/llvm-rc/tag-accelerators.test
M llvm/tools/llvm-rc/ResourceFileWriter.cpp
Log Message:
-----------
[llvm-rc] Allow ALT on non-virtkey accelerators (#143374)
While
https://learn.microsoft.com/en-us/windows/win32/menurc/accelerators-resource
specifies that ALT only applies to virtkeys, this doesn't seem to be the
case in reality.
https://learn.microsoft.com/en-us/windows/win32/menurc/using-keyboard-accelerators
contains an example that uses this combination:
"B", ID_ACCEL5, ALT ; ALT_SHIFT+B
Also Microsoft also includes such cases in their repo of test cases:
https://github.com/microsoft/Windows-classic-samples/blob/263dd514ad215d0a40d1ec44b4df84b30ec11dcf/Samples/Win7Samples/begin/sdkdiff/sdkdiff.rc#L161-L164
Also MS rc.exe doesn't warn/error about this. However if applying SHIFT
or CONTROL on a non-virtkey accelerator, MS rc.exe does produce this
warning:
warning RC4203 : SHIFT or CONTROL used without VIRTKEY
Hence, keep the checks for SHIFT and CONTROL, but remove the checks for
ALT, which seems to have been incorrect.
This fixes one aspect of
https://github.com/llvm/llvm-project/issues/143157.
Commit: ecc8b29eda2acc517170e9dde212986ad677cc68
https://github.com/llvm/llvm-project/commit/ecc8b29eda2acc517170e9dde212986ad677cc68
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR][NFC] Use actual operand name in adaptor-obtained operands (#143028)
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1661
Commit: 20e8de9c8f4cf54c6c57535428c987d921861034
https://github.com/llvm/llvm-project/commit/20e8de9c8f4cf54c6c57535428c987d921861034
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
Log Message:
-----------
[InstCombine] Support nested GEPs in OptimizePointerDifference (#142958)
Currently OptimizePointerDifference() only handles single GEPs with a
common base, not GEP chains. This patch generalizes the support to
nested GEPs with a common base.
Finding the common base is a bit annoying because we want to stop as
soon as possible and not recurse into common GEP prefixes.
This helps avoids regressions from
https://github.com/llvm/llvm-project/pull/137297.
Commit: e5ff7055beb116f103f030d992fadea49c994511
https://github.com/llvm/llvm-project/commit/e5ff7055beb116f103f030d992fadea49c994511
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
Log Message:
-----------
[LoopPeel] Use loop guards when checking if last iter can be peeled. (#142605)
Apply loop guards to BTC before checking if the last iteration should be
peeled off. This also adds an assert to make sure applying the guards
does not pessimize the results. I checked on a large test set and it did
not trigger there, but it adds an additional guard to catch potential
cases where loop-guards pessimize results.
Peels ~15% more loops.
PR: https://github.com/llvm/llvm-project/pull/142605
Commit: 6a8464b1251ae6cf01eb3af34441e3ce714a5542
https://github.com/llvm/llvm-project/commit/6a8464b1251ae6cf01eb3af34441e3ce714a5542
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
R llvm/test/CodeGen/X86/avx512fp16-cvt-novl.ll
A llvm/test/CodeGen/X86/avx512fp16-novl.ll
Log Message:
-----------
[X86][FP16] Do not generate X86 FMIN/FMAX for FP16 when VLX not enabled, part 2 (#143483)
Fixes: https://godbolt.org/z/eYTxeqE48
Commit: f0d05b973b0d09521aad00d3aec36e4478626cc2
https://github.com/llvm/llvm-project/commit/f0d05b973b0d09521aad00d3aec36e4478626cc2
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/IR/LLVMContextImpl.h
Log Message:
-----------
[NFC][DebugInfo] Make MDNodeKeyImpl<DILocation>::Column 16 bits (#143399)
Column is limited to 16 bits in several places in the compiler:
DebugInfoMetadata.cpp#L87, LLParser.cpp#L4706, and more
Slight compile time improvement due to reducing `hash_combine` workload
in `MDNodeKeyImpl<DILocation>::getHashValue()`.
Positively affects compile time regardless of whether Key Instructions
is enabled. See PR for numbers.
Commit: 4cafd28b7dd92080103d11cccc78d9a2f01e1242
https://github.com/llvm/llvm-project/commit/4cafd28b7dd92080103d11cccc78d9a2f01e1242
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
R lld/test/COFF/lto-late-arm.ll
Log Message:
-----------
[lld] Delete lto-late-arm.ll
This test is failing on a couple of bots and on premerge after
a082f665f85b1002ab22af263eeafceca5288657.
That patch configures the relevant libcalls for ARM in RuntimeLibCalls.
This causes __rt_sdiv to get pulled into the LTO preopt IR. This should
happen for other builtins as well, which means that the original issue
that the patch introducing this patch intended to diagnose should no
longer exist.
The compiler generated calls to builtins mentioned in
7f9a0048fa3fb5513c09731a7f82a851b0bcd609 should always have definitions,
assuming they are available in the link and will not only get pulled in
late if lazily loading symbols from archives. We otherwise get the
standard diagnostic if they are not.
Commit: 823750d873dff1d03865900042fc9b58e0f7f9c3
https://github.com/llvm/llvm-project/commit/823750d873dff1d03865900042fc9b58e0f7f9c3
Author: Q <60785373+StarryCSF at users.noreply.github.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
A flang/test/Fir/FirToSCF/if.fir
Log Message:
-----------
[flang][fir] Add fir.if -> scf.if and add filecheck test file (#142965)
This commmit is a supplement for
https://github.com/llvm/llvm-project/pull/140374.
RFC:https://discourse.llvm.org/t/rfc-add-fir-affine-optimization-fir-pass-pipeline/86190/6
---------
Co-authored-by: ZhiQiang Fan <zhiqiang.fan at terapines.com>
Commit: 68870161e5d827d84f9cba30f741c31c4ff0be4f
https://github.com/llvm/llvm-project/commit/68870161e5d827d84f9cba30f741c31c4ff0be4f
Author: Paul Trojahn <paul.trojahn at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
Log Message:
-----------
AMDGPU Mark permlane instructions as convergent (#142962)
Not sure if this is the right place to add this, but without explicitly
setting it as convergent, the permlanex16 instruction in the test sinks
into the second block.
Co-authored-by: Paul Trojahn <paul.trojahn at amd.com>
Commit: 054646f335e8fbec1305c27af4d98227791ecf9f
https://github.com/llvm/llvm-project/commit/054646f335e8fbec1305c27af4d98227791ecf9f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[X86] commuteInstructionImpl - assert that only MOVSDrr is being commuted to SHUFPDrri
Noticed while preparing for #142972
Commit: e65d32316646e6203a3f4d4c9921edcddbb1c57d
https://github.com/llvm/llvm-project/commit/e65d32316646e6203a3f4d4c9921edcddbb1c57d
Author: David Rivera <davidriverg at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
Log Message:
-----------
[clang-tidy] Improve integer comparison by matching valid expressions outside implicitCastExpr (#134188)
Aims to fix #127471
Covered the edge case where an int expression is not necessarily
directly wrapped around an 'ImplicitCastExpr' which seemed to be a
requirement in 'use-integer-sign-comparison.cpp' check to trigger.
**For instance**:
```cpp
#include <vector>
bool f() {
std::vector<int> v;
unsigned int i = 0;
return i >= v.size();
}
```
Commit: 9312d5beb37208f30118ec7bc42737b1ecead086
https://github.com/llvm/llvm-project/commit/9312d5beb37208f30118ec7bc42737b1ecead086
Author: Brandon Wu <songwu0813 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/Basic/riscv_andes_vector.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/zvfhmin-error.c
M clang/test/Sema/rvv-required-features-invalid.c
M clang/test/Sema/zvk-invalid-features.c
M clang/test/Sema/zvk-invalid-zvknha.c
M clang/test/Sema/zvk-target-attributes.c
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[llvm][RISCV] Handle required features of intrinsic correctly (#143062)
Current approach generates intrinsic records when users specify
corresponding required features by using command line option.
However it's not able to handle features passed by using target
attributes correctly where each function might have different
features.
This patch resolves this by generating all of intrinsic records which
carry the required features in their function declaration using
attribute and check the required extensions in CheckBuiltinFunctionCall.
This should fix
[56592](https://github.com/llvm/llvm-project/issues/56592),
[134962](https://github.com/llvm/llvm-project/issues/134962) and
[121603](https://github.com/llvm/llvm-project/issues/121603)
Commit: 80ea5f46df3e365a0a2112889bb91732167b6214
https://github.com/llvm/llvm-project/commit/80ea5f46df3e365a0a2112889bb91732167b6214
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/monolithic-linux.sh
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI] Migrate to runtimes build
This patch migrates the premerge pipeline to use LLVM_ENABLE_RUNTIMES to
build libc and compiler-rt.
Reviewers: DavidSpickett, tstellar, cmtice, lnihlen
Reviewed By: DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/142696
Commit: f03d1b0aeb15920e3e948445efd425aad60548bd
https://github.com/llvm/llvm-project/commit/f03d1b0aeb15920e3e948445efd425aad60548bd
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/sub-gep.ll
Log Message:
-----------
[InstCombine] Add extra flag-preservation tests for sub of gep (NFC)
Commit: c450dd7e8398ffa2c17ae80a21a965bc74fc94dd
https://github.com/llvm/llvm-project/commit/c450dd7e8398ffa2c17ae80a21a965bc74fc94dd
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M openmp/libompd/test/lit.site.cfg.in
M openmp/runtime/test/lit.cfg
M openmp/runtime/test/lit.site.cfg.in
M openmp/tools/archer/tests/lit.cfg
M openmp/tools/archer/tests/lit.site.cfg.in
M openmp/tools/multiplex/tests/lit.cfg
M openmp/tools/multiplex/tests/lit.site.cfg.in
Log Message:
-----------
[OpenMP][test] Support target= in tests (#142380)
LLVM is moving towards the `target=<target triple RE>` syntax in `XFAIL:
` etc., and I'll need the same in a subsequent patch.
This patch adds the necessary infrastructure.
Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`sparc-unknown-linux-gnu`, `sparc64-unknown-linux-gnu`,
`i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and
`x86_64-pc-linux-gnu`.
Commit: 45f57ee573a8b066e72f93cccc852ff395e99178
https://github.com/llvm/llvm-project/commit/45f57ee573a8b066e72f93cccc852ff395e99178
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/MC/AArch64/SME2p1/directive-arch-negative.s
M llvm/test/MC/AArch64/SME2p1/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SVE2p1/aesd.s
M llvm/test/MC/AArch64/SVE2p1/aesdimc.s
M llvm/test/MC/AArch64/SVE2p1/aese.s
M llvm/test/MC/AArch64/SVE2p1/aesemc.s
M llvm/test/MC/AArch64/SVE2p1/directive-arch-negative.s
M llvm/test/MC/AArch64/SVE2p1/pmlal.s
M llvm/test/MC/AArch64/SVE2p1/pmull.s
Log Message:
-----------
[AArch64] Fix FEAT_SVE_AES2 instructions to depend on SVE2 not SVE2P1 (#142389)
Change instructions to only require `(SVE2 or SSVE-AES) and SVE-AES2` to
be consistent with the fact that `+ssve-aes` only implies `+sme2` and
not `+sme2p1`.
Commit: 6ec48b449fb60a766d4faf185613f1b4a8638bfa
https://github.com/llvm/llvm-project/commit/6ec48b449fb60a766d4faf185613f1b4a8638bfa
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
[lldb] Use 1 based row and column for statusline (#143385)
I can't find a proper source for this but many materials say that ANSI
rows and columns start at 1 not 0.
https://www2.math.upenn.edu/~kazdan/210/computer/ansi.html is as good as
I can get:
```
<row> is a number from 1 through 25 that specifies the row to which the cursor is to be moved.
<col> is a number from 1 through 80 that specifies the column to which the cursor is to be moved.
```
0 does work in Windows terminal and Linux terminals, but we might as
well be correct and it's one less thing to reason about when auditing
this code.
>From what I read, some terminals correct 0 back to 1 and some treat 0 as
a missing argument, which also defaults to 1.
Commit: 9b282afb8ac1c810da684591c27faf6117e62e3b
https://github.com/llvm/llvm-project/commit/9b282afb8ac1c810da684591c27faf6117e62e3b
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive-with-duplicate-member-filenames.test
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive.test
Log Message:
-----------
[JITLink] [test] Extend preexisting MinGW XFAILs to new tests (#142375)
This extends the preexisting XFAILs from
4c642b62b99fa128c180f28278637b32be5e5576 to these new tests from
6fa8657a622173c177d863b763550de4d388f73c.
Commit: f715ff4a9d63c00d6903ec876870e6111b50f2d1
https://github.com/llvm/llvm-project/commit/f715ff4a9d63c00d6903ec876870e6111b50f2d1
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive-with-duplicate-member-filenames.test
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive.test
M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
Log Message:
-----------
[JITLink] [test] Generalize UNSUPPORTED markings for Windows/arm64 (#142377)
Don't needlessly specify the vendor field as "pc"; in MinGW
configurations, the vendor field is often "w64".
Commit: 902d6894f55a769d810032e3c056e597886f03fc
https://github.com/llvm/llvm-project/commit/902d6894f55a769d810032e3c056e597886f03fc
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive.test
Log Message:
-----------
[JITLink] [test] Add a trailing newline to a test file. NFC.
Otherwise, this shows up as an unrelated diff after editing the
file in some editors (like vim).
Commit: a59a8ae1a9de8225a4b297f537cd73a80ca6f050
https://github.com/llvm/llvm-project/commit/a59a8ae1a9de8225a4b297f537cd73a80ca6f050
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
M compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
M compiler-rt/lib/builtins/arm/aeabi_dcmp.S
M compiler-rt/lib/builtins/arm/aeabi_fcmp.S
M compiler-rt/lib/builtins/arm/aeabi_idivmod.S
M compiler-rt/lib/builtins/arm/aeabi_ldivmod.S
M compiler-rt/lib/builtins/arm/aeabi_memcpy.S
M compiler-rt/lib/builtins/arm/aeabi_memmove.S
M compiler-rt/lib/builtins/arm/aeabi_memset.S
M compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
M compiler-rt/lib/builtins/arm/aeabi_uldivmod.S
M compiler-rt/lib/builtins/assembly.h
Log Message:
-----------
[compiler-rt][ARM] Add missing PACBTI support to assembly aeabi functions (#142400)
Some of the aeabi functions were missing PACBTI support. The lack of it
resulted in exceptions at runtime if the running environment had PAC
and/or BTI enabled.
This patch adds this support. This involves the addition of PACBTI
instructions, depending on whether each of these features is enabled,
plus the saving and restoring of the PAC code that resides in r12. Some
of the common code has been put in preprocessor macros to reduce
duplication, but not all, especially since some register saving and
restoring is very specific to each context.
Commit: 356bd6e94c26f963131af21d56542697162fc70b
https://github.com/llvm/llvm-project/commit/356bd6e94c26f963131af21d56542697162fc70b
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-novl.ll
Log Message:
-----------
[X86][FP16] Bitcast v8f16/v16f16 to vXi8 to use vXi8 vselect (#143484)
Fixes: https://godbolt.org/z/fbPYzjxTs
Commit: d61a06e25533efd940296ab9dbd122f3797714de
https://github.com/llvm/llvm-project/commit/d61a06e25533efd940296ab9dbd122f3797714de
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definition for GL Log2 (#143409)
Commit: 95b5b6801ce4c08e1bc92616321cd4127e7c0957
https://github.com/llvm/llvm-project/commit/95b5b6801ce4c08e1bc92616321cd4127e7c0957
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
A lldb/test/Shell/Expr/TestObjCxxEnumConflict.test
Log Message:
-----------
[lldb][test] Add test for handling conflicting Objective-C NS_OPTIONS typedefs
Add test that checks whether the expression evaluator can handle
the `NS_ENUM`/`NS_OPTIONS` typedefs from Objective-C `CoreFoundation`.
In the test, `module.h` mimicks the `NS_OPTIONS` typedef from `CoreFoundation`.
The `ClangModulesDeclVendor` currently compiles modules as
C++, so the `MyInt` Clang decl in the module will be a `TypedefType`,
while the DWARF AST parser will produce an `EnumType` (since that's what
the debug-info says). When the `ASTImporter` imports these decls into the
scratch AST, it will fail to re-use one or the other decl because they
aren't structurally equivalent (one is a typedef, the other an enum),
so we end up with two conflicting `MyInt` declarations in the scratch AST
and the expression fails to run due to ambiguity in name lookup.
rdar://151022173
Commit: 7e471c1fd0c4de4656cfaac39e247d207e987510
https://github.com/llvm/llvm-project/commit/7e471c1fd0c4de4656cfaac39e247d207e987510
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/CMakeLists.txt
M lldb/cmake/modules/AddLLDB.cmake
M lldb/source/API/CMakeLists.txt
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Core/CMakeLists.txt
M lldb/source/DataFormatters/CMakeLists.txt
M lldb/source/Expression/CMakeLists.txt
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Initialization/CMakeLists.txt
M lldb/source/Interpreter/CMakeLists.txt
M lldb/source/Interpreter/Interfaces/CMakeLists.txt
M lldb/source/Symbol/CMakeLists.txt
M lldb/source/Target/CMakeLists.txt
M lldb/source/Utility/CMakeLists.txt
M lldb/source/ValueObject/CMakeLists.txt
M lldb/source/Version/CMakeLists.txt
Log Message:
-----------
[lldb/cmake] Use ADDITIONAL_HEADER(_DIR)?S (#142587)
Replace (questionable) header globs with an explicit argument supported
by llvm_add_library.
Commit: fb054e6cf2b138835301966abc7ac94af92261c3
https://github.com/llvm/llvm-project/commit/fb054e6cf2b138835301966abc7ac94af92261c3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] splitAndLowerShuffle - split a v8f32 bitcast from v8i32 operands as 2 v4i32 shuffles (#143493)
AVX1 performs v8i32 shuffles as bitcast v8f32, but if we split these back to v4f32 instead of peeking through the bitcasts, we can lose track of the original domain.
Fixes an issue I noticed working on #142972 where we were using v4f32 blends instead of v8i16 resulting in a lot of domain crossing.
Its also helps avoid unnecessary use of VINSERTPS nodes which can be tricky to commute or concatenate back to 256-bit vectors.
Commit: f2fede609592aec085cdd1546b8763c22c407b82
https://github.com/llvm/llvm-project/commit/f2fede609592aec085cdd1546b8763c22c407b82
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
A libcxx/docs/ABIGuarantees.rst
M libcxx/docs/UserDocumentation.rst
M libcxx/docs/VendorDocumentation.rst
M libcxx/docs/index.rst
M libcxx/include/__configuration/abi.h
Log Message:
-----------
[libc++] Document our ABI guarantees and what ABI flags exist to modify these guarantees (#132615)
Commit: 5471d933af193eb2be4992428271cdcc7013599b
https://github.com/llvm/llvm-project/commit/5471d933af193eb2be4992428271cdcc7013599b
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/test/module_dependencies.test
Log Message:
-----------
Disable clangd/test/module_dependencies.test on Windows
The test fails (sometimes); see discussion on https://github.com/llvm/llvm-project/pull/142828
Commit: 5e0e6a0dd6d52fdc4b6bc6603074f4c93e3e42b9
https://github.com/llvm/llvm-project/commit/5e0e6a0dd6d52fdc4b6bc6603074f4c93e3e42b9
Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M mlir/test/lib/Dialect/TestIRDLToCpp/CMakeLists.txt
Log Message:
-----------
[MLIR] Use mlir_target_link_libraries with MLIRTestIRDLToCppDialect (#143435)
Replace LINK_LIBS with mlir_target_link_libraries.
Fixes #143246.
Suggested-by: Nikita Popov <npopov at redhat.com>
Commit: c0f8145cbc177a6c86ce959e3b5d7a760680c140
https://github.com/llvm/llvm-project/commit/c0f8145cbc177a6c86ce959e3b5d7a760680c140
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
Log Message:
-----------
[RISCV] Simplify and remove unrelated testcases in reassoc-shl-addi-add.ll. NFC.
Commit: 39a7664fc10d7634f0f8b8a320366221450cc790
https://github.com/llvm/llvm-project/commit/39a7664fc10d7634f0f8b8a320366221450cc790
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Select (add/or C, x) -> (add.uw C|0xffffffff00000000, x) (#143375)
Emits fewer instructions for certain constants.
Commit: a08bf50ccf95ab89a5e1252be87c4cf093ce3b60
https://github.com/llvm/llvm-project/commit/a08bf50ccf95ab89a5e1252be87c4cf093ce3b60
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
Log Message:
-----------
[RISCV][NFC] Update the comments in RISCVMatInt.h (#143402)
Only a subset of used instructions was listed, which could be confusing.
Also, QC_E_LI uses all 32 bits of Imm.
Commit: f43aaf90df6153f39c6cfd3471fec5dea1a0b650
https://github.com/llvm/llvm-project/commit/f43aaf90df6153f39c6cfd3471fec5dea1a0b650
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/Utils/LowerVectorIntrinsics.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
Log Message:
-----------
[NFC][LLVM] Refactor IRBuilder::Create{VScale,ElementCount,TypeSize}. (#142803)
CreateVScale took a scaling parameter that had a single use outside of
IRBuilder with all other callers having to create a redundant
ConstantInt. To work round this some code perferred to use
CreateIntrinsic directly.
This patch simplifies CreateVScale to return a call to the llvm.vscale()
intrinsic and nothing more. As well as simplifying the existing call
sites I've also migrated the uses of CreateIntrinsic.
Whilst IRBuilder used CreateVScale's scaling parameter as part of the
implementations of CreateElementCount and CreateTypeSize, I have
follow-on work to switch them to the NUW varaiety and thus they would
stop using CreateVScale's scaling as well. To prepare for this I have
moved the multiplication and constant folding into the implementations
of CreateElementCount and CreateTypeSize.
As a final step I have replaced some callers of CreateVScale with
CreateElementCount where it's clear from the code they wanted the
latter.
Commit: 5955f3e848bc7da4f2e9748249891f6e926b6375
https://github.com/llvm/llvm-project/commit/5955f3e848bc7da4f2e9748249891f6e926b6375
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/source/Host/windows/ProcessRunLock.cpp
Log Message:
-----------
[lldb][Widows] Remove unused WriteTryLock function
Unused since d792094c26dc6b40136f1e6c2e393c041062e371.
[2571/6469] Building CXX object tools/lldb/sourc...iles/lldbHost.dir/windows/ProcessRunLock.cpp.obj
C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/llvm-project/lldb/source/Host/windows/ProcessRunLock.cpp(31,13): warning: unused function 'WriteTryLock' [-Wunused-function]
31 | static bool WriteTryLock(lldb::rwlock_t rwlock) {
| ^~~~~~~~~~~~
1 warning generated.
Commit: 4fb81f11cea0fce9f1f5409fcd55ae3aba70d368
https://github.com/llvm/llvm-project/commit/4fb81f11cea0fce9f1f5409fcd55ae3aba70d368
Author: MaggieYingYi <29144504+MaggieYingYi at users.noreply.github.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/ignored-pch.cpp
A clang/test/PCH/Inputs/ignored-pch.h
A clang/test/PCH/ignored-pch.c
Log Message:
-----------
[Frontend][PCH]-Add support for ignoring PCH options (-ignore-pch). (#142409)
Visual Studio has an argument to ignore all PCH related switches. clang-cl has also support option /Y-. Having the same option in clang would be helpful. This commit is to add support for ignoring PCH options (-ignore-pch).
The commit includes:
1. Implement -ignore-pch as a Driver option.
2. Add a Driver test and a PCH test.
3. Add a section of -ignore-pch to user manual.
4. Add a release note for the new option '-ignore-pch'.
Code reviewed by: Matheus Izvekov <mizvekov at gmail.com>
Commit: acc43db9aa2e67f30f804a7604f9375a181780fc
https://github.com/llvm/llvm-project/commit/acc43db9aa2e67f30f804a7604f9375a181780fc
Author: hev <wangrui at loongson.cn>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
Log Message:
-----------
[LoongArch] Convert vector mask to `vXi1` using `[X]VMSKLTZ` (#142978)
This patch adds a DAG combine optimization that transforms `BITCAST`
nodes converting vector masks into `vXi1` types via the `[X]VMSKLTZ`
instructions.
Commit: d019d05ff063dbf12b6288940dd02807d633b721
https://github.com/llvm/llvm-project/commit/d019d05ff063dbf12b6288940dd02807d633b721
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2p2-intrinsics.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Add isel for i8/i16 sve.compact intrinsics. (#143139)
The i8/i16 instruction variants are available for:
* normal functions using sve2p2
* streaming functions using sme2p2
Commit: dbec6e424a6b356959ac800c2b7a8d4ab74e9862
https://github.com/llvm/llvm-project/commit/dbec6e424a6b356959ac800c2b7a8d4ab74e9862
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
Log Message:
-----------
[AArch64] Add AArch64 SVE lowering for usdot (#143403)
Commit: 6582d7d348c14b0e8be98d651b5d6e49d20beedb
https://github.com/llvm/llvm-project/commit/6582d7d348c14b0e8be98d651b5d6e49d20beedb
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
A clang/test/CodeGenHLSL/builtins/wave_get_lane_count.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
Log Message:
-----------
[HLSL] Add WaveGetLaneCount() intrinsic to FE (#143127)
This commit adds code to lower WaveGetLaneCount() into the SPV or DXIL
intrinsic. The backends will then need to lower the intrinsic into
proper SPIR-V/DXIL.
Related to #99159
Commit: 59e4d0b34d6737c40a9d7cf4c5dd9dcaa651dd74
https://github.com/llvm/llvm-project/commit/59e4d0b34d6737c40a9d7cf4c5dd9dcaa651dd74
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/test/HLFIR/as_expr-codegen-polymorphic.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
A flang/test/HLFIR/declare-alloc-target.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/HLFIR/reshape-lowering.fir
M flang/test/Lower/HLFIR/assumed-rank-entry.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/polymorphic-expressions.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/volatile-allocatable.f90
Log Message:
-----------
[flang][hlfir] ensure hlfir.declare result box attributes are consistent (#143137)
Prevent hlfir.declare output to be fir.box/class values with the
heap/pointer attribute to ensure the runtime descriptor attributes are
in line with the Fortran attributes for the entities being declared
(only fir.ref<box/class> can be ALLOCATABLE/POINTERS).
This fixes a bug where an associated entity inside a SELECT TYPE was being
unexpectedly reallocated inside assign runtime because the selector was allocatable
and this attribute was not properly removed when creating the descriptor
for the associated entity (that does not inherit the ALLOCATABLE/POINTER
attribute according to Fortran 2023 section 11.1.3.3).
Commit: ee3f50939dcbf0798cd02df22c222153d0942d39
https://github.com/llvm/llvm-project/commit/ee3f50939dcbf0798cd02df22c222153d0942d39
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
Log Message:
-----------
[bazel] Turn on LLVM_ENABLE_PLUGINS on posix
Since #141650, `LLVM_ABI inline` has had different linkage regarding
to LLVM_ENABLE_PLUGINS.
This was introduced in 8830e3802a92 (llvmorg-21-init-14426-g8830e3802a92)
but reverted in #143419 due to breakage of msvc build.
Commit: 6f231165072ec8a4f725056c6deccce3c1a21f09
https://github.com/llvm/llvm-project/commit/6f231165072ec8a4f725056c6deccce3c1a21f09
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
A llvm/test/CodeGen/SPIRV/ExecutionMode_Vertex.ll
Log Message:
-----------
[SPIR-V] Add Vertex execution model (#142369)
Adds backend handling of the vertex shader type compiling from HLSL.
Fixes #136961
Commit: bb531ffcccb1dcc874db1675ec291c9d6f75dad6
https://github.com/llvm/llvm-project/commit/bb531ffcccb1dcc874db1675ec291c9d6f75dad6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[DAG] getNode - assert that INSERT_VECTOR_ELT operand types are legal (#143502)
Helped track down a typo in the X86ISD::CVTPH2PS lowering.
Commit: 535b24d10723c63f99324cc247ad38b1ffe798d7
https://github.com/llvm/llvm-project/commit/535b24d10723c63f99324cc247ad38b1ffe798d7
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
A flang/test/Lower/volatile-openmp2.f03
Log Message:
-----------
[flang][openmp] Propagate volatile on reduction variables (#142435)
Reference types were being constructed from openmp private clauses without propagating volatility.
Fix this by checking the volatility of the original variable and add a test.
Commit: c3057de024b70be6c1bc95a2aba49eb288d69a91
https://github.com/llvm/llvm-project/commit/c3057de024b70be6c1bc95a2aba49eb288d69a91
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix bugprone-argument-comment warnings. NFC.
Commit: c34351c92ae6979ccd549403fe97bc7cc2d1ff5b
https://github.com/llvm/llvm-project/commit/c34351c92ae6979ccd549403fe97bc7cc2d1ff5b
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lld/MachO/DriverUtils.cpp
Log Message:
-----------
Revert "[lld] check cache before real_path in loadDylib (#140791)"
This is causing use-after-frees due to references getting invalidating
after the loadedDylibs map grows, see comments on the PR.
This reverts commit 475a8a47ead32755bb1377d361afbd1928880e14.
Commit: bf60aa1c551ef5de62fd1d1cdcbff58cba55cacd
https://github.com/llvm/llvm-project/commit/bf60aa1c551ef5de62fd1d1cdcbff58cba55cacd
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/include/flang/Common/enum-class.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Driver/disable-diagnostic.f90
M flang/test/Driver/werror-wrong.f90
M flang/test/Driver/wextra-ok.f90
M flang/unittests/Common/CMakeLists.txt
A flang/unittests/Common/EnumClassTests.cpp
A flang/unittests/Common/FortranFeaturesTest.cpp
Log Message:
-----------
[flang][cli] Add diagnostic flags to the CLI (#142022)
This change allows the flang CLI to accept `-W[no-]<feature>` flags matching the clang syntax and enable and disable usage and language feature warnings.
Commit: 65d530193e286a392844586af4b0037e4be41126
https://github.com/llvm/llvm-project/commit/65d530193e286a392844586af4b0037e4be41126
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/SPIRV/ExecutionMode_Fragment.ll
Log Message:
-----------
[SPIR-V] Add Fragment execution model (#141787)
This commits allows the fragment execution model to be set using the
hlsl.shader attribute.
Fixes #136962
Commit: b21be0e440f18605b5ffbe9d0c44a55a50b91b4e
https://github.com/llvm/llvm-project/commit/b21be0e440f18605b5ffbe9d0c44a55a50b91b4e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] scalarizeExtEltFP - don't assume setcc result pre-legalisation will be vXi1
Another fold may have generated the setcc using getSetCCResultType
Encountered this while investigating topological sorting of dag nodes
Commit: bf1fe6eb3312c5608c96135405a6654f789a6c79
https://github.com/llvm/llvm-project/commit/bf1fe6eb3312c5608c96135405a6654f789a6c79
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] Reintroduce TODO for translation of linear clause (#143531)
Reintroduce a TODO for linear clause translation unless corner issues
(like linear variables being entities other than `alloca`, and support
for linear variables of types other than integer) are solved.
Commit: 99f6cb89352f7491e8cd3cc58c6d1ba687c99b27
https://github.com/llvm/llvm-project/commit/99f6cb89352f7491e8cd3cc58c6d1ba687c99b27
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/BPF/BTFDebug.h
Log Message:
-----------
[BPF] Use heterogeneous lookup with std::map (NFC) (#143395)
Commit: b27ab06a3d3f7f37496c5fa4dc367a3be0a8498d
https://github.com/llvm/llvm-project/commit/b27ab06a3d3f7f37496c5fa4dc367a3be0a8498d
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/sub-gep.ll
Log Message:
-----------
[InstCombine] Preserve flags for difference of gep chains (#143488)
When expanding the offset of a GEP chain via a series of adds, try to
preserve the nsw/nuw flags based on inbounds/nuw. This is a followup to
https://github.com/llvm/llvm-project/pull/142958.
Proof: https://alive2.llvm.org/ce/z/8HiFYY (note that preserving nsw in
the nusw case is not valid)
Commit: 326429022ff8c9275c7c49fed095ab1310dabca2
https://github.com/llvm/llvm-project/commit/326429022ff8c9275c7c49fed095ab1310dabca2
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
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][spirv] Deserialize OpConstantComposite of type Cooperative Matrix (#142786)
Depends on #142784.
Commit: cde1035a2fc6d472168ce6c6e117f16c76c5bbc4
https://github.com/llvm/llvm-project/commit/cde1035a2fc6d472168ce6c6e117f16c76c5bbc4
Author: Cameron McInally <cameron.mcinally at nyu.edu>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
A flang/test/Driver/mrecip.f90
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/mrecip.ll
A mlir/test/Target/LLVMIR/mrecip.mlir
Log Message:
-----------
[flang] Add support for -mrecip[=<list>] (#143418)
This patch adds support for the -mrecip command line option. The parsing
of this options is equivalent to Clang's and it is implemented by
setting the "reciprocal-estimates" function attribute.
Also move the ParseMRecip(...) function to CommonArgs, so that Flang is
able to make use of it as well.
---------
Co-authored-by: Cameron McInally <cmcinally at nvidia.com>
Commit: e295b0ce757efc50af47915f5997152bda269e66
https://github.com/llvm/llvm-project/commit/e295b0ce757efc50af47915f5997152bda269e66
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/test/Lower/OpenMP/atomic-privatize.f90
M flang/test/Lower/OpenMP/sections-predetermined-private.f90
Log Message:
-----------
[flang][OpenMP] Fix detecting nested OpenMP constructs (#143383)
Recognize privatizing OpenMP constructs, and only exclude symbols from
non-privatizing ones.
Commit: 3eb9b7dbbd785673b88420dac87264cf79e432a3
https://github.com/llvm/llvm-project/commit/3eb9b7dbbd785673b88420dac87264cf79e432a3
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
A llvm/test/MC/RISCV/rv32-relaxation-xqci.s
Log Message:
-----------
[RISCV] Implement Relaxation for Xqcilb Jumps (#142702)
Commit: 713702109a02cb340224cc7c086dcf0f371db45b
https://github.com/llvm/llvm-project/commit/713702109a02cb340224cc7c086dcf0f371db45b
Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
A llvm/include/llvm/CGData/CGDataPatchItem.h
M llvm/include/llvm/CGData/CodeGenData.h
M llvm/include/llvm/CGData/CodeGenData.inc
M llvm/include/llvm/CGData/CodeGenDataWriter.h
M llvm/include/llvm/CGData/StableFunctionMapRecord.h
M llvm/lib/CGData/CodeGenData.cpp
M llvm/lib/CGData/CodeGenDataReader.cpp
M llvm/lib/CGData/CodeGenDataWriter.cpp
M llvm/lib/CGData/StableFunctionMapRecord.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/test/tools/llvm-cgdata/empty.test
M llvm/test/tools/llvm-cgdata/error.test
M llvm/test/tools/llvm-cgdata/merge-combined-funcmap-hashtree.test
M llvm/test/tools/llvm-cgdata/merge-funcmap-archive.test
M llvm/test/tools/llvm-cgdata/merge-funcmap-concat.test
M llvm/test/tools/llvm-cgdata/merge-funcmap-double.test
M llvm/test/tools/llvm-cgdata/merge-funcmap-single.test
M llvm/unittests/CGData/StableFunctionMapRecordTest.cpp
Log Message:
-----------
[CGData] Make an option to skip reading Names into StableFunctionMap (#142095)
Names are used for debugging purpose and have no impact on codegen. For
a non-trivial project, reading them consumes a lot of memory and slows
down the compilation significantly. This patch adds a field in the
indexed CGData to remember the total size of Names, and creates a
command-line option to skip reading Names by advancing the pointer when
deserializing the indexed CGData.
Commit: f7967effa3e071eb77449068c06d9a617b5d6945
https://github.com/llvm/llvm-project/commit/f7967effa3e071eb77449068c06d9a617b5d6945
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv][nfc] Add missing tests for GL Tanh Op (#143538)
The problem was noticed when adding Log2 operation.
Commit: 007d29e30c6e311501ed97b7a368521622319620
https://github.com/llvm/llvm-project/commit/007d29e30c6e311501ed97b7a368521622319620
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa2.fir
M flang/test/Transforms/tbaa3.fir
Log Message:
-----------
[Flang] Turn on alias analysis for locally allocated objects (#143489)
Previously, a bug in the MemCptOpt LLVM IR pass caused issues with
adding alias tags for locally allocated objects for Fortran code.
However, the bug has now been fixed (https://github.com/llvm/llvm-project/pull/129537 ),
and we can safely enable alias tags for these objects. This change should
improve the accuracy of the alias analysis.
More accurate alias analysis assumes that Cray pointers do not alias
with other variables. This assumption is common among other compilers.
If the code violates this assumption, it can lead to incorrect results
(see: https://github.com/llvm/llvm-project/issues/141928)
Commit: e74d834cb155a894fa0f9dbd1483b7fef53a79ae
https://github.com/llvm/llvm-project/commit/e74d834cb155a894fa0f9dbd1483b7fef53a79ae
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx-insertelt.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concat mixed v2f64/v4f64 faux shuffles into v4f64/v8f64 vshufpd (#143521)
Replace getTargetShuffleMask call (only permitted for target shuffles)
and use getTargetShuffleInputs instead to match various faux shuffles
(insert+extract sequences in particular).
This does mean we have to explicitly bail out with undef/zero mask
elements, where before getTargetShuffleMask would handle them.
Commit: 09029045a88b48591ce645bae640fc3bc8b58b63
https://github.com/llvm/llvm-project/commit/09029045a88b48591ce645bae640fc3bc8b58b63
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/minmax-fold.ll
Log Message:
-----------
[InstCombine] Fold max/min when incrementing/decrementing by 1 (#142466)
Add the following folds for integer min max folding in InstCombine:
- (X > Y) ? X : (Y - 1) ==> MIN(X, Y - 1)
- (X < Y) ? X : (Y + 1) ==> MAX(X, Y + 1)
These are safe when overflow corresponding to the sign of the comparison
is poison. (proof https://alive2.llvm.org/ce/z/oj5iiI).
The most common of these patterns is likely the minimum case which
occurs in some internal library code when clamping an integer index to a
range (The maximum cases are included for completeness). Here is a
simplified example:
int clampToWidth(int idx, int width) {
if (idx >= width)
return width - 1;
return idx;
}
https://cuda.godbolt.org/z/nhPzWrc3W
Commit: 1c8206bd2a12c478128b84799f9fa4fb44cd3d8a
https://github.com/llvm/llvm-project/commit/1c8206bd2a12c478128b84799f9fa4fb44cd3d8a
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/Option/Arg.h
M llvm/include/llvm/Option/ArgList.h
M llvm/include/llvm/Option/OptSpecifier.h
M llvm/include/llvm/Option/OptTable.h
M llvm/include/llvm/Option/Option.h
M llvm/include/llvm/Remarks/Remark.h
M llvm/include/llvm/Remarks/RemarkFormat.h
M llvm/include/llvm/Remarks/RemarkLinker.h
M llvm/include/llvm/Remarks/RemarkParser.h
M llvm/include/llvm/Remarks/RemarkSerializer.h
M llvm/include/llvm/Remarks/RemarkStringTable.h
M llvm/include/llvm/Remarks/YAMLRemarkSerializer.h
Log Message:
-----------
[llvm] annotate interfaces in llvm/Option and llvm/Remarks for DLL export (#142856)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/Options` and
`llvm/Remarks` libraries. These annotations currently have no meaningful
impact on the LLVM build; however, they are a prerequisite to support an
LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
These changes were generated automatically using the [Interface
Definition Scanner (IDS)](https://github.com/compnerd/ids) tool,
followed formatting with `git clang-format`. No manual fixups were
required.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 6bd606fe49d632298179979466a43371521180db
https://github.com/llvm/llvm-project/commit/6bd606fe49d632298179979466a43371521180db
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h
M llvm/include/llvm/ProfileData/DataAccessProf.h
M llvm/include/llvm/ProfileData/GCOV.h
M llvm/include/llvm/ProfileData/IndexedMemProfData.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/ItaniumManglingCanonicalizer.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfCommon.h
M llvm/include/llvm/ProfileData/MemProfRadixTree.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/include/llvm/ProfileData/MemProfSummary.h
M llvm/include/llvm/ProfileData/MemProfSummaryBuilder.h
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/include/llvm/ProfileData/ProfileCommon.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/ProfileData/SampleProfWriter.h
M llvm/include/llvm/ProfileData/SymbolRemappingReader.h
M llvm/lib/ProfileData/MemProfCommon.cpp
M llvm/lib/ProfileData/MemProfRadixTree.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[llvm] annotate interfaces in llvm/ProfileData for DLL export (#142861)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/ProfileData`
library. These annotations currently have no meaningful impact on the
LLVM build; however, they are a prerequisite to support an LLVM Windows
DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Manually annotate the file
`llvm/include/llvm/ProfileData/InstrProfData.inc` because it is skipped
by IDS
- Add `LLVM_TEMPLATE_ABI` and `LLVM_EXPORT_TEMPLATE` to exported
instantiated templates.
- Add `LLVM_ABI_FRIEND` to friend member functions declared with
`LLVM_ABI`
- Add `LLVM_ABI` to a small number of symbols that require export but
are not declared in headers
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 3cb104e98b9afbac1ab29aa9ce07c67ae04e77c6
https://github.com/llvm/llvm-project/commit/3cb104e98b9afbac1ab29aa9ce07c67ae04e77c6
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] Unbreak build after b62488f8326c61f
This is wrong -- it needs to put in the right value for
Python3_ROOT_DIR. But for now, this unbreaks the build.
Commit: b2584e0b178395a20b8f72f4b501711e7f039a3e
https://github.com/llvm/llvm-project/commit/b2584e0b178395a20b8f72f4b501711e7f039a3e
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Coroutines/ABI.h
M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
M llvm/include/llvm/Transforms/Coroutines/CoroSplit.h
M llvm/include/llvm/Transforms/Coroutines/MaterializationUtils.h
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
M llvm/include/llvm/Transforms/IPO.h
M llvm/include/llvm/Transforms/IPO/AlwaysInliner.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/IPO/BlockExtractor.h
M llvm/include/llvm/Transforms/IPO/EmbedBitcodePass.h
M llvm/include/llvm/Transforms/IPO/ExtractGV.h
M llvm/include/llvm/Transforms/IPO/FunctionAttrs.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/include/llvm/Transforms/IPO/GlobalDCE.h
M llvm/include/llvm/Transforms/IPO/Inliner.h
M llvm/include/llvm/Transforms/IPO/Internalize.h
M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
M llvm/include/llvm/Transforms/IPO/MergeFunctions.h
M llvm/include/llvm/Transforms/IPO/ModuleInliner.h
M llvm/include/llvm/Transforms/IPO/SampleContextTracker.h
M llvm/include/llvm/Transforms/IPO/SampleProfile.h
M llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
M llvm/include/llvm/Transforms/IPO/StripDeadPrototypes.h
M llvm/include/llvm/Transforms/IPO/StripSymbols.h
M llvm/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h
M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
M llvm/include/llvm/Transforms/InstCombine/InstCombine.h
M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
M llvm/include/llvm/Transforms/Instrumentation/DataFlowSanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/GCOVProfiler.h
M llvm/include/llvm/Transforms/Instrumentation/HWAddressSanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h
M llvm/include/llvm/Transforms/Instrumentation/KCFI.h
M llvm/include/llvm/Transforms/Instrumentation/LowerAllowCheckPass.h
M llvm/include/llvm/Transforms/Instrumentation/MemProfInstrumentation.h
M llvm/include/llvm/Transforms/Instrumentation/MemProfUse.h
M llvm/include/llvm/Transforms/Instrumentation/MemorySanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/NumericalStabilitySanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/PGOInstrumentation.h
M llvm/include/llvm/Transforms/Instrumentation/RealtimeSanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/SanitizerBinaryMetadata.h
M llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h
M llvm/include/llvm/Transforms/Instrumentation/ThreadSanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/TypeSanitizer.h
M llvm/include/llvm/Transforms/ObjCARC.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/include/llvm/Transforms/Scalar/EarlyCSE.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
M llvm/include/llvm/Transforms/Scalar/LowerExpectIntrinsic.h
M llvm/include/llvm/Transforms/Scalar/SCCP.h
M llvm/include/llvm/Transforms/Scalar/Scalarizer.h
M llvm/include/llvm/Transforms/Scalar/SimplifyCFG.h
M llvm/include/llvm/Transforms/Utils.h
M llvm/include/llvm/Transforms/Utils/AMDGPUEmitPrintf.h
M llvm/include/llvm/Transforms/Utils/ASanStackFrameLayout.h
M llvm/include/llvm/Transforms/Utils/AssumeBundleBuilder.h
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/include/llvm/Transforms/Utils/CallGraphUpdater.h
M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
M llvm/include/llvm/Transforms/Utils/CodeLayout.h
M llvm/include/llvm/Transforms/Utils/CodeMoverUtils.h
M llvm/include/llvm/Transforms/Utils/Debugify.h
M llvm/include/llvm/Transforms/Utils/FunctionComparator.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/include/llvm/Transforms/Utils/Instrumentation.h
M llvm/include/llvm/Transforms/Utils/IntegerDivision.h
M llvm/include/llvm/Transforms/Utils/LCSSA.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/LoopRotationUtils.h
M llvm/include/llvm/Transforms/Utils/LoopSimplify.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Utils/LowerMemIntrinsics.h
M llvm/include/llvm/Transforms/Utils/ModuleUtils.h
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
M llvm/include/llvm/Transforms/Utils/PromoteMemToReg.h
M llvm/include/llvm/Transforms/Utils/SCCPSolver.h
M llvm/include/llvm/Transforms/Utils/SSAUpdaterBulk.h
M llvm/include/llvm/Transforms/Utils/SanitizerStats.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/llvm/Transforms/Utils/SizeOpts.h
M llvm/include/llvm/Transforms/Utils/SplitModule.h
M llvm/include/llvm/Transforms/Utils/SymbolRewriter.h
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/include/llvm/Transforms/Vectorize/LoadStoreVectorizer.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Interval.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
Log Message:
-----------
[llvm] annotate interfaces in llvm/Transforms for DLL export (#143413)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/Transforms`
library. These annotations currently have no meaningful impact on the
LLVM build; however, they are a prerequisite to support an LLVM Windows
DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Removed a redundant `operator<<` from Attributor.h. IDS only
auto-annotates the 1st declaration, and the 2nd declaration being
un-annotated resulted in an "inconsistent linkage" error on Windows when
building LLVM as a DLL.
- `#include` the `VirtualFileSystem.h` in PGOInstrumentation.h and
remove the local declaration of the `vfs::FileSystem` class. This is
required because exporting the `PGOInstrumentationUse` constructor
requires the class be fully defined because it is used by an argument.
- Add #include "llvm/Support/Compiler.h" to files where it was not
auto-added by IDS due to no pre-existing block of include statements.
- Add `LLVM_TEMPLATE_ABI` and `LLVM_EXPORT_TEMPLATE` to exported
instantiated templates.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: beffd1509af7b12eeab0d5ae85b2f8322e039287
https://github.com/llvm/llvm-project/commit/beffd1509af7b12eeab0d5ae85b2f8322e039287
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/test/Interpreter/lambda.cpp
Log Message:
-----------
[clang][Interpreter] Disable part of lambda test on Windows
https://github.com/llvm/llvm-project/issues/143547 for details.
For some reason the order of the printf output is not as expected
when piped. None of the "fixes" I have are good, so only run this
RUN on non-Windows.
Test added by https://github.com/llvm/llvm-project/pull/127467.
Commit: ea0761ff0c105ce6eebc3933d3a40d542ab06e3c
https://github.com/llvm/llvm-project/commit/ea0761ff0c105ce6eebc3933d3a40d542ab06e3c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M openmp/docs/SupportAndFAQ.rst
M openmp/docs/index.rst
Log Message:
-----------
[OpenMP] Update out of date documentation (#142411)
Summary:
This deletes and changes somet things that are out of date or wrong and
makes the recommended way to build more clear.
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 8d6841f280abc55d4a4fdcfd5eb4a69edb544c03
https://github.com/llvm/llvm-project/commit/8d6841f280abc55d4a4fdcfd5eb4a69edb544c03
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Function.cpp
Log Message:
-----------
[Clang][NFC][ByteCode] Initialize Function HasBody in constructor (#143443)
Static analysis flagged HasBody as not being initialized during
construction. It looks like an oversight in:
https://github.com/llvm/llvm-project/pull/139671
This would be a lot simpler with C++20 which allows in class
initialization of bit-fields.
Commit: 610d0572c6ba9ce3f8bf0e515e82d75910228deb
https://github.com/llvm/llvm-project/commit/610d0572c6ba9ce3f8bf0e515e82d75910228deb
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/TargetParser/Host.h
Log Message:
-----------
[llvm] clang-format llvm/TargetParser/Host.h and llvm/Target/TargetOptions.h (#143446)
Reformat llvm/TargetParser/Host.h and llvm/Target/TargetOptions.h using
clang-format in preparation for a codemod.
This is just a formatting change; no functionality is impacted.
Commit: 1c3320cdde8f846a28afd2f2a83ca23edb25e92b
https://github.com/llvm/llvm-project/commit/1c3320cdde8f846a28afd2f2a83ca23edb25e92b
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
A clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
A clang-tools-extra/test/clang-doc/json/class-template.cpp
A clang-tools-extra/test/clang-doc/json/class.cpp
A clang-tools-extra/test/clang-doc/json/method-template.cpp
M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
A clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
Log Message:
-----------
[clang-doc] add a JSON generator (#142483)
Adds a JSON generator backend to emit mapped information as JSON. This will enable a better testing format for upcoming changes. It can also potentially serve to feed our other backend generators in the future, like Mustache which already serializes information to JSON before emitting as HTML.
This patch contains functionality to emit classes and provides most of the basis of the generator.
Commit: bdcbe67400b8b3d31d89df6c74d06ab80d8c7862
https://github.com/llvm/llvm-project/commit/bdcbe67400b8b3d31d89df6c74d06ab80d8c7862
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
Log Message:
-----------
[llvm] remove llvm:: qualification from appendLoopsToWorklist extern template instantiations (#143555)
## Purpose
Fix a build break introduced by #143413. This was a copy+paste error
where the `llvm::` qualifier was left on the template instantiation
declarations that were added. This causes a compile error with the
version of the compiler used by the mlir-nvidia-gcc7 build.
```
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/llvm/include/llvm/Transforms/Utils/LoopUtils.h:539:72: error: explicit qualification in declaration of ‘void llvm::appendLoopsToWorklist(llvm::ArrayRef<llvm::Loop*>&, llvm::SmallPriorityWorklist<llvm::Loop*, 4>&)’
ArrayRef<Loop *> &Loops, SmallPriorityWorklist<Loop *, 4> &Worklist);
^
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/llvm/include/llvm/Transforms/Utils/LoopUtils.h:543:79: error: explicit qualification in declaration of ‘void llvm::appendLoopsToWorklist(llvm::Loop&, llvm::SmallPriorityWorklist<llvm::Loop*, 4>&)’
SmallPriorityWorklist<Loop *, 4> &Worklist);
```
Commit: 9630d7cb92f1a95ed47e8e336c46a6e8bceb45dd
https://github.com/llvm/llvm-project/commit/9630d7cb92f1a95ed47e8e336c46a6e8bceb45dd
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
Log Message:
-----------
[MLIR][XeGPU] add blocking support for reduce, broadcast, and transpose (#143389)
This PR adds blocking support for vector dialect operations (`reduce`,
`broadcast`, and `transpose`) in the XeGPU based IR. It simply assigned
the shape specified by "inst_data" as its target shape of the unrolling
to implement the blocking. It is based on
https://github.com/llvm/llvm-project/pull/140163.
Commit: 7c946e6e478e1b0675027a59c7f8be0d24b4494a
https://github.com/llvm/llvm-project/commit/7c946e6e478e1b0675027a59c7f8be0d24b4494a
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
Log Message:
-----------
[AArch64] Add Neon USDOT support (#143525)
Commit: 8f80a37578053953c8ddf095813526fad17a83a4
https://github.com/llvm/llvm-project/commit/8f80a37578053953c8ddf095813526fad17a83a4
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
A llvm/utils/gn/secondary/llvm/lib/Frontend/Directive/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Frontend/OpenACC/BUILD.gn
Log Message:
-----------
[gn] port d709dcc0909 (LLVMFrontendDirective)
Commit: 94c241614f491c0cd832614bde6130e315e53467
https://github.com/llvm/llvm-project/commit/94c241614f491c0cd832614bde6130e315e53467
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/xqcibm-extract.ll
Log Message:
-----------
[RISCV] Select signed bitfield extract for Xqcibm (#143536)
The Xqcibm Bit Manipulation extension has the `qc.ext` instruction that
can extract a subset of bits from the source register to the destination
register.
Unlike the corresponding instructions in `XTHeadbb` and `XAndesPerf`
which extract the bits between `Msb` and `Lsb`, the `qc.ext` instruction
extracts `width` bits from an offset that is determined by the `shamt`.
Commit: 30cabdda45a0f2e48aaa19bded9de9bb50bb83cb
https://github.com/llvm/llvm-project/commit/30cabdda45a0f2e48aaa19bded9de9bb50bb83cb
Author: Marius Kamp <msk at posteo.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/bmi-select-distrib.ll
Log Message:
-----------
[X86] Distribute Certain Bitwise Operations over SELECT (#136555)
InstCombine canonicalizes `(select P (and X (- X)) X)` to
`(and (select P (- X) umax) X)`. This is counterproductive for the X86
backend when BMI is available because we can encode `(and X (- X))`
using the `BLSI` instruction. A similar situation arises if we have
`(select P (and X (sub X 1)) X)` (prevents use of `BLSR` instruction) or
`(select P (xor X (sub X 1)) X)` (prevents use of `BLSMSK` instruction).
Trigger the inverse transformation in the X86 backend if BMI is
available and we can use the mentioned BMI instructions. This is done by
overriding the appropriate `shouldFoldSelectWithIdentityConstant()`
overload. In this way, we get `(select P (and X (- X)) X)` again, which
enables the use of `BLSI` (similar for the other cases described above).
Alive proofs: https://alive2.llvm.org/ce/z/MT_pKi
Fixes #131587, fixes #133848.
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: c926bff560ba733a661bb494932c612ee6c207e5
https://github.com/llvm/llvm-project/commit/c926bff560ba733a661bb494932c612ee6c207e5
Author: Ying Yi <ying.yi at sony.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
R clang/test/Driver/ignored-pch.cpp
R clang/test/PCH/Inputs/ignored-pch.h
R clang/test/PCH/ignored-pch.c
Log Message:
-----------
Revert "[Frontend][PCH]-Add support for ignoring PCH options (-ignore-pch). (#142409)"
This reverts commit 4fb81f11cea0fce9f1f5409fcd55ae3aba70d368.
Commit: d502c68dcb63fbb8aa0b9989838dbaa32988453a
https://github.com/llvm/llvm-project/commit/d502c68dcb63fbb8aa0b9989838dbaa32988453a
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/include/flang/Common/enum-class.h
Log Message:
-----------
[flang][common] return ENUM_CLASS names definition to original state (#143553)
This PR simply reverts a few lines in
bf60aa1c551ef5de62fd1d1cdcbff58cba55cacd to their state in
bcba39a56fd4e1debe3854d564c3e03bf0a50ee6 so that they are constant for
some of the build tests that require it. This should fix the breakage
caused by #142022.
Commit: 1cb906e8325d2b73054f2b4fa943b66377152f37
https://github.com/llvm/llvm-project/commit/1cb906e8325d2b73054f2b4fa943b66377152f37
Author: satyajanga <satyajanga at fb.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/test/API/commands/platform/connect/TestPlatformConnect.py
Log Message:
-----------
Minor fix to connect-url to support unix-connect sockets on localhost (#142875)
**Summary:**
when the unix-socket connections on localhost are used to for platform
connect i.e.
`platform connect unix-connect:///path/to/socket.sock`
then `PlatformRemoteGDBServer.m_platform_hostname` is empty.
Based on the current logic, for the process attach, when the connection
param returned by platform server as qLaunchGDBServer is this
`socket_name:/path/to/processgdbserver.sock`
then the subsequent connect url for the process url looks like this
`unix-connect://[]/path/to/processgdbserver.sock` and the connection
fail.
This change is only adding the braces when the hostname is not empty.
**Test Plan:**
Added unittest and existing tests pass.
```
satyajanga at devvm21837:toolchain $ LLDB_COMMAND_TRACE=YES ./bin/llvm-lit --verbose ~/llvm-sand/external/llvm-project/lldb/test/API/commands/platform
-- Testing: 9 tests, 9 workers --
UNSUPPORTED: lldb-api :: commands/platform/sdk/TestPlatformSDK.py (1 of 9)
PASS: lldb-api :: commands/platform/file/read/TestPlatformFileRead.py (2 of 9)
PASS: lldb-api :: commands/platform/file/close/TestPlatformFileClose.py (3 of 9)
PASS: lldb-api :: commands/platform/basic/TestPlatformPython.py (4 of 9)
PASS: lldb-api :: commands/platform/basic/TestPlatformCommand.py (5 of 9)
PASS: lldb-api :: commands/platform/process/launch/TestPlatformProcessLaunch.py (6 of 9)
PASS: lldb-api :: commands/platform/connect/TestPlatformConnect.py (7 of 9)
PASS: lldb-api :: commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py (8 of 9)
PASS: lldb-api :: commands/platform/process/list/TestProcessList.py (9 of 9)
Testing Time: 13.24s
Total Discovered Tests: 9
Unsupported: 1 (11.11%)
Passed : 8 (88.89%)
satyajanga at devvm21837:toolchain $
```
Reviewers:
@clayborg
@Jlalond
Subscribers:
Tasks:
Tags:
Commit: 8957e64a20fc7f4277565c6cfe3e555c119783ce
https://github.com/llvm/llvm-project/commit/8957e64a20fc7f4277565c6cfe3e555c119783ce
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
A lld/test/ELF/riscv-relax-call-stress.s
Log Message:
-----------
[ELF,RISCV] Fix oscillation due to call relaxation
The new test (derived from riscv32 openssl/test/cmp_msg_test.c) revealed
oscillation in two R_RISCV_CALL_PLT jumps:
- First jump (~2^11 bytes away): alternated between 4 and 8 bytes.
- Second jump (~2^20 bytes away): alternated between 2 and 8 bytes.
The issue is not related to alignment. In 2019, GNU ld addressed a
similar problem by reducing the relaxation allowance for cross-section
relaxation (https://sourceware.org/bugzilla/show_bug.cgi?id=25181).
This approach would result in a suboptimal layout for the tight range
tested by riscv-relax-call.s.
This patch stabilizes the process by preventing `remove` increment after
a few passes, similar to integrated assembler's fragment relaxation.
(For the Android bit reproduce, `pass < 2` leads to non-optimal layout
while `pass < 3` and `pass < 4` output is identical.)
Fix https://github.com/llvm/llvm-project/issues/113838
Possibly fix https://github.com/llvm/llvm-project/issues/123248 (inputs
are bitcode, subject to ever-changing code generation, not reproducible)
Pull Request: https://github.com/llvm/llvm-project/pull/142899
Commit: 9c54512c3ef1d9035b75a6c3005300cd84e33ef9
https://github.com/llvm/llvm-project/commit/9c54512c3ef1d9035b75a6c3005300cd84e33ef9
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang-rt/lib/cuda/memory.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
Log Message:
-----------
[flang][cuda] Allocate the dst descriptor in data transfer (#143437)
In a test like:
```
integer, allocatable, device :: da(:)
allocate(a(200))
a = 2
da = a ! da is not allocated before data transfer is initiated. Allocate it with a
```
The reference compiler will allocate the data for the `da` descriptor so
the data transfer can be done properly.
Commit: 68bb005ae021cbfaef8fe9fa8b3efcdf0e13e2b3
https://github.com/llvm/llvm-project/commit/68bb005ae021cbfaef8fe9fa8b3efcdf0e13e2b3
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/flatten.ll
Log Message:
-----------
[Matrix] Add -debug-only prints when matrices get flattened (#142078)
This is a potential source of overhead, which we might be able to alleviate in some cases. For example, static element extracts, or shuffles that pluck out a specific row. Since these diagnostics are highly specific to the pass itself and not immediately actionable for compiler users, these prints don't make a whole lot of sense as Remarks.
Commit: eb76d8332e932dfda133fe95331e6910805a27c5
https://github.com/llvm/llvm-project/commit/eb76d8332e932dfda133fe95331e6910805a27c5
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/scripts/framework-header-fix.sh
A lldb/scripts/version-header-fix.py
M lldb/source/API/CMakeLists.txt
A lldb/test/Shell/Scripts/Inputs/lldb-defines.h
A lldb/test/Shell/Scripts/TestVersionFixScript.test
Log Message:
-----------
Reland "[lldb][headers] Create script to fix up versioning" (#142864)" (#142871)
This relands the original commit for the versioning script in LLDB. This
commit uses '>' for output from `unifdef` for platforms that have that
executable but do not have the `-o` option. It also fixes the Xcode
build by adding a dependency between the liblldb-header-staging target
in the source/API/CMakeLists.txt the `liblldb-resource-headers` target
in LLDBFramework.cmake.
Original patch: https://github.com/llvm/llvm-project/pull/141116
Commit: 88f041f3e05e26617856cc096d2e2864dfaa1c7b
https://github.com/llvm/llvm-project/commit/88f041f3e05e26617856cc096d2e2864dfaa1c7b
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExprObjC.cpp
A clang/test/CodeGen/attr-availability-aligned-versions.c
M clang/test/Driver/darwin-infer-simulator-sdkroot.c
A clang/test/Driver/darwin-invalid-os-versions.c
M clang/test/Driver/darwin-ld-platform-version-macos.c
M clang/test/Driver/darwin-ld-platform-version-watchos.c
M clang/test/ExtractAPI/availability.c
M clang/test/ExtractAPI/inherited_availability.m
A clang/test/Sema/Inputs/XROS.sdk/SDKSettings.json
A clang/test/Sema/attr-availability-invalid-os-versions.c
A clang/test/Sema/attr-availability-ios-aligned-versions.c
A clang/test/Sema/attr-availability-ios-fallback-aligned-versions.c
M clang/test/Sema/attr-availability-iosmac-infer-from-macos.c
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/TextAPI/Platform.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[clang][Darwin] Align all OS Versions for 26 (#143548)
* Translate the following versions to 26.
* watchOS 12 -> 26
* visionOS 3 -> 26
* macos 16 -> 26
* iOS 19 -> 26
* tvOS 19 -> 26
* Emit diagnostics, but allow conversion when clients attempt to use
invalid gaps in OS versioning in availability.
* For target-triples, only allow "valid" versions for implicit
conversions.
Commit: 2ddf0caaed192495cac99e703cef2fe50191cf49
https://github.com/llvm/llvm-project/commit/2ddf0caaed192495cac99e703cef2fe50191cf49
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/Frontend/InitPreprocessor.cpp
A clang/test/Preprocessor/line-directive-suppressed.c
Log Message:
-----------
[clang][driver] Suppress gnu-line-marker when saving temps (#134621)
When passing `-save-temps` to clang, the generated preprocessed output
uses gnu line markers. This unexpectedly triggers gnu-line-marker
warnings when used with `-Weverything` or `-pedantic`. Even worse,
compilation fails if `-Werror` is used.
This change suppresses gnu-line-marker warnings when invoking clang with
input from a preprocessor job and the user has not otherwise explictly
specified `-Wgnu-line-marker` somewhere on the command line. Note that
this does apply to user provided preprocessed files.
fixes #63802
Commit: 522a375b996db95a24b6297cb1ebb402562e15a3
https://github.com/llvm/llvm-project/commit/522a375b996db95a24b6297cb1ebb402562e15a3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] collectConcatOps - assert that no ops were collected on failure
Ensures we can use collectConcatOps in cases where we don't want to rely on the return code alone
Commit: b053f955da9a24d2be18312f362f80c59c211580
https://github.com/llvm/llvm-project/commit/b053f955da9a24d2be18312f362f80c59c211580
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/pr40090.ll
Log Message:
-----------
[X86] pr40090.ll - add ctlz(x,false) (zero isn't poison) test coverage
Commit: 84710b49f2e2b9a02a8fd7dfc4655466e4f5439c
https://github.com/llvm/llvm-project/commit/84710b49f2e2b9a02a8fd7dfc4655466e4f5439c
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/test/CIR/Transforms/vector-shuffle-fold.cir
Log Message:
-----------
[CIR] Implement folder for VecShuffleOp (#143260)
This change adds a folder for the VecShuffleOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 47918e7cb74107852c1a77e198b1b36482f0c111
https://github.com/llvm/llvm-project/commit/47918e7cb74107852c1a77e198b1b36482f0c111
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
A clang-tools-extra/test/clang-doc/json/function-specifiers.cpp
A clang-tools-extra/test/clang-doc/json/namespace.cpp
M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
Log Message:
-----------
[clang-doc] add namespaces to JSON generator (#143209)
Emit namespaces to JSON. Also adds tests for namespaces and non-member constructs.
Commit: c30952592a88b6ca7b260d3938be564c8aeea1e4
https://github.com/llvm/llvm-project/commit/c30952592a88b6ca7b260d3938be564c8aeea1e4
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
Log Message:
-----------
[compiler-rt] replicate changes from llvm/ProfileData/InstrProfData.inc (#143574)
## Purpose
The compiler-rt project `check-same-common-code.test` test case started
failing after #142861 was merged. This change addresses the failure.
## Overview
This patch replicates the changes made by #142861 to
llvm/include/llvm/ProfileData/InstrProfData.inc in the duplicated file
compiler-rt/include/profile/InstrProfData.inc. These files otherwise
match.
## Validation
Locally built `check-profile` target and verified
`check-same-common-code.test` now passes.
Commit: 07a1d479cc4e2d529b04cecb2f97ff16f32ef197
https://github.com/llvm/llvm-project/commit/07a1d479cc4e2d529b04cecb2f97ff16f32ef197
Author: John Harrison <harjohn at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/EventHelper.h
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
A lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
A lldb/tools/lldb-dap/Protocol/ProtocolEvents.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Creating a 'capabilities' event helper. (#142831)
This adds a new 'CapabilitiesEventBody' type for having a well
structured type for the event and updates the 'restart' request
to dynamically set their capabilities.
Commit: 74a012ed756f5280c71e281c0fd2dd50f83f38b7
https://github.com/llvm/llvm-project/commit/74a012ed756f5280c71e281c0fd2dd50f83f38b7
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
A lldb/unittests/ABI/AArch64/ABIAArch64Test.cpp
A lldb/unittests/ABI/AArch64/CMakeLists.txt
A lldb/unittests/ABI/CMakeLists.txt
M lldb/unittests/CMakeLists.txt
Log Message:
-----------
[lldb/aarch64] Fix PC register info augmentation (#143499)
This fixes a regression caused by #139817, where we would fail to unwind
(using eh_frame) when using debug stubs (like qemu) which do not provide
eh_frame register numbers.
Unwinding fails because the unwinder tries to convert pc register number
to the "eh_frame" scheme (and fails). Previously that worked because the
code used a slightly different pattern which ended up comparing the
number by converting it to the "generic" scheme (which we do provide).
I don't think that's a bug in the unwinder -- we just need to make sure
we provide the register number all the time.
The associated test is not particularly useful, but I'm hoping it could
be used to test other changes like this as well. Other register
augmentation changes are tested in an end-to-end fashion (by injecting
gdb-remote packets and then trying to read registers). That works well
for testing the addition of subregisters, but it isn't particularly
suitable for testing register numbers, as the only place (that I know
of) where this manifests is during unwinding, and recreating an
unwindable process in a test like this is fairly challenging.
Probably the best way to ensure coverage for this scenario would be to
have lldb-server stop sending eh_frame register numbers (align it with
other gdb-like stubs).
Commit: abdab5020bef2e9a77873493545ae984c9d1536a
https://github.com/llvm/llvm-project/commit/abdab5020bef2e9a77873493545ae984c9d1536a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 07a1d479cc4e
Commit: 1b5303744f1050a7246086a98f3e68b2727dc038
https://github.com/llvm/llvm-project/commit/1b5303744f1050a7246086a98f3e68b2727dc038
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn
Log Message:
-----------
[gn build] Port 1c3320cdde8f
Commit: f993f362ef58cfd71c4c15e63ee847437784ae0d
https://github.com/llvm/llvm-project/commit/f993f362ef58cfd71c4c15e63ee847437784ae0d
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Lower/OpenMP/map-character.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Transforms/omp-map-info-finalization.fir
Log Message:
-----------
[Flang][OpenMP] - When mapping a `fir.boxchar`, map the underlying data pointer as a member (#141715)
This PR adds functionality to the `MapInfoFinalization` pass wherein the
underlying data pointer of a `fir.boxchar` is mapped as a member of the
parent boxchar.
Commit: baceb7923f3fa92f4f9f22ea719d0e0bda668295
https://github.com/llvm/llvm-project/commit/baceb7923f3fa92f4f9f22ea719d0e0bda668295
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M libcxx/include/ios
M libcxx/include/regex
M libcxx/include/syncstream
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Don't skip localization-related headers in header tests (#134877)
When localization is disabled, we used to skip testing a lot of headers.
However, these headers are now "no-ops" when localization is disabled,
so they can actually be included. As such, we should test their
inclusion in our usual header inclusion tests.
Commit: bdcfcf6105a81bfb5ced6f17e6866f11f8fc6f60
https://github.com/llvm/llvm-project/commit/bdcfcf6105a81bfb5ced6f17e6866f11f8fc6f60
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
Fix unused variable warning after 68bb005ae021cbfaef8fe9fa8b3efcdf0e13e2b3
Two of the newly-added STATISTIC variables are only used within
LLVM_DEBUG blocks.
Commit: 06f6a771da10094cce79bf5d42d8213e1e2d3656
https://github.com/llvm/llvm-project/commit/06f6a771da10094cce79bf5d42d8213e1e2d3656
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M libc/src/wchar/wcscmp.cpp
Log Message:
-----------
[libc] Simplify wcscmp (#143457)
The implementation of wcscmp mimicked strcmp, but was more complicated
than necessary. This patch makes it simpler.
Commit: 50313a5f556b9967e7d8eb53ee45f79f0fc5b2b8
https://github.com/llvm/llvm-project/commit/50313a5f556b9967e7d8eb53ee45f79f0fc5b2b8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/unittests/ABI/AArch64/ABIAArch64Test.cpp
Log Message:
-----------
[lldb] Fix warnings
This patch fixes:
lldb/unittests/ABI/AArch64/ABIAArch64Test.cpp:53:67: error: missing
field 'value_regs' initializer
[-Werror,-Wmissing-field-initializers]
third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
error: comparison of integers of different signs: 'const unsigned
long' and 'const int' [-Werror,-Wsign-compare]
Commit: 04cffaae8f6110da7c5808a4f8107331357f56e4
https://github.com/llvm/llvm-project/commit/04cffaae8f6110da7c5808a4f8107331357f56e4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/Support/MathExtras.h
Log Message:
-----------
[Support] Simplify CTLog2 (NFC) (#143559)
We can drop kValue > 0 in CTLog2 because llvm::isPowerOf2_64 returns
false on input 0.
Commit: 8da9eb235d7c8a99435d34133ef1ed7aa83bd2a3
https://github.com/llvm/llvm-project/commit/8da9eb235d7c8a99435d34133ef1ed7aa83bd2a3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryBasicBlock.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/lib/Profile/YAMLProfileWriter.cpp
Log Message:
-----------
[BOLT] Use std::tie to implement operator< (NFC) (#143560)
std::tie facilitates lexicographical comparisons through std::tuple's
built-in operator<.
Commit: 1befb2440bf4e31f4c2d0fbb0995b50da0d9ac56
https://github.com/llvm/llvm-project/commit/1befb2440bf4e31f4c2d0fbb0995b50da0d9ac56
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
Log Message:
-----------
[IPO] Use std::tie to implement operator< (NFC) (#143561)
std::tie facilitates lexicographical comparisons through std::tuple's
built-in operator<.
Commit: 30dd652c29f86de04d38220ac6bfbf783e2a339c
https://github.com/llvm/llvm-project/commit/30dd652c29f86de04d38220ac6bfbf783e2a339c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/ExtractAPI/API.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
Log Message:
-----------
[clang] Use *Map::try_emplace (NFC) (#143563)
- try_emplace(Key) is shorter than insert({Key, nullptr}).
- try_emplace performs value initialization without value parameters.
- We overwrite values on successful insertion anyway.
Commit: 9bda38f8d912937a55025d88a0171e2813cf0b95
https://github.com/llvm/llvm-project/commit/9bda38f8d912937a55025d88a0171e2813cf0b95
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/TextAPI/RecordsSlice.cpp
Log Message:
-----------
[TextAPI] Use MapVector::try_emplace (NFC) (#143564)
- try_emplace(Key) is shorter than insert({Key, nullptr}).
- try_emplace performs value initialization without value parameters.
- We overwrite values on successful insertion anyway.
Commit: 4e706adc5ed8e064a29fd4193b2f7ba9858eeb1d
https://github.com/llvm/llvm-project/commit/4e706adc5ed8e064a29fd4193b2f7ba9858eeb1d
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-variable-trip-count.ll
Log Message:
-----------
[LoopPeel] Add test coverage for edge case for peel last
Add coverage for two cases:
1) Handling of the two transition edge case with equality conditions
when last iteration is both first and second transition.
2) Need to handle inverted predicates
Commit: 46b7a88548e5016f403cdc5f2cb1e4ff09353c3b
https://github.com/llvm/llvm-project/commit/46b7a88548e5016f403cdc5f2cb1e4ff09353c3b
Author: Zhikai Zeng <backlight.zzk at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/class.access/p4.cpp
Log Message:
-----------
fix access checking about function overloading (#107768)
fix https://github.com/llvm/llvm-project/issues/107629
After some more debugging, I find out that we will check access here at
https://github.com/llvm/llvm-project/blob/8e010ac5a173c9dee44b44324169a3e100a1a6fc/clang/lib/Sema/SemaInit.cpp#L7807
And for `f()` inside code below, `Found.getAccess()` is `AS_none` hence
`CheckAddressOfMemberAccess` return `AR_accessible` directly.
```cpp
struct Base {
public:
int f(int);
private:
int f(); // expect-note {{declared private here}}
};
struct Derived : public Base {};
void f() {
int(Derived::* public_f)(int) = &Derived::f;
int(Derived::* private_f)() = &Derived::f; // expect-error {{'f' is a private member of 'Base'}}
}
```
I think the `Found.getAccess()` is intended to be `AS_none` so I just
add one more access check for the `UnresolvedLookupExpr` when
`Found.getAccess()` is `AS_none`. If add the check unconditionally clang
will report lots of duplicate errors and cause several unit tests to
fail.
I also test the UB mentioned in
https://github.com/llvm/llvm-project/issues/107629 and clang now display
4 `false` as expecetd.
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Commit: 45ae41e0d8e13c95d49cadf3abed44ddf1a0b741
https://github.com/llvm/llvm-project/commit/45ae41e0d8e13c95d49cadf3abed44ddf1a0b741
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/include/mlir/Interfaces/TilingInterface.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
Log Message:
-----------
[mlir][scf] Return `replacements` explicitly in `SCFTilingResult`. (#143217)
In #120115 the replacements for the tiled operations were wrapped within
the `MergeResult` object. That is a bit of an obfuscation and not
immediately obvious where to get the replacements post tiling. This
changes the `SCFTilingResult` to have `replacements` explicit (as it was
before that change).
`mergeOps` is added as a separate field of `SCFTilingResult`, which is
empty when the reduction type is `FullReduction`.
This is a API breaking change. All uses of `mergeResult.replacements`
should be replaced with `replacements`.
There was also an implicit assumption that
`PartialReductionTilingInterface` is derived from `TilingInterface`, so
all ops that implemented the `PartialReductionTilingInterface` were
expected to implement the `TilingInterface` as well. This pre-dated the
existence of derived inheritances. Make
`PartialReductionTilingInterface` derive from `TilingInterface`.
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 44b928e0d578735572bcb264b70475e064b82022
https://github.com/llvm/llvm-project/commit/44b928e0d578735572bcb264b70475e064b82022
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/unary.ll
Log Message:
-----------
[Matrix] Propagate shape information through cast insts (#141869)
Commit: 616f83530f0215d077ad11d0a09faf62fa2daf5f
https://github.com/llvm/llvm-project/commit/616f83530f0215d077ad11d0a09faf62fa2daf5f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
A libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.compile.pass.cpp
R libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
Log Message:
-----------
[libc++] Move swap test to a .compile.pass.cpp (#143167)
Commit: 77da1257b61c728a4d35dc518bfb758d0b1ddf26
https://github.com/llvm/llvm-project/commit/77da1257b61c728a4d35dc518bfb758d0b1ddf26
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Collect split/reshape stats, even without -debug-only=
Commit: 8345d62478054d4ab97c6f28cfea6d1ecca837da
https://github.com/llvm/llvm-project/commit/8345d62478054d4ab97c6f28cfea6d1ecca837da
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Hoist finalizeLowering into caller. NFC (#143038)
Commit: e48731bc03419f133a85b50571a368a889c6dab2
https://github.com/llvm/llvm-project/commit/e48731bc03419f133a85b50571a368a889c6dab2
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
A llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans-f16-fake16.ll
A llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans-f16-true16.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] v_s_xxx_f16 t16 mode handling in movetoVALU process (#141152)
Add op_sel for v_s_xxx_f16 when move them to VALU
update a few related codegen test for gfx12 in true16 mode
Commit: be3c6a06d36d6210ce51bbeacc343f3590043b96
https://github.com/llvm/llvm-project/commit/be3c6a06d36d6210ce51bbeacc343f3590043b96
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Scalar] Fix a warning
This patch fixes:
llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp:628:22: error:
variable 'Inst' set but not used [-Werror,-Wunused-but-set-variable]
Commit: f72dd4eca8dac84d819abccde4447755a7d9420d
https://github.com/llvm/llvm-project/commit/f72dd4eca8dac84d819abccde4447755a7d9420d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/IR/ConstantFold.cpp
M llvm/test/Transforms/InstSimplify/shufflevector.ll
Log Message:
-----------
[ConstantFolding] Fold scalable shufflevector of poison/undef. (#143475)
Commit: e0cc556ad4276c2c76e303c39616ad126bea56d6
https://github.com/llvm/llvm-project/commit/e0cc556ad4276c2c76e303c39616ad126bea56d6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
A llvm/test/Transforms/IndVarSimplify/iv-cmp-sext.ll
Log Message:
-----------
[IndVars] Teach widenLoopCompare to use sext if narrow IV is positive and other operand is already sext. (#142703)
This prevents us from ending up with (zext (sext X)). The zext will
require an instruction on targets where zext isn't free like RISC-V.
Commit: 766b3016c4527a8b23772a421d71876fe186255f
https://github.com/llvm/llvm-project/commit/766b3016c4527a8b23772a421d71876fe186255f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp:1066:62:
error: missing field 'mergeOps' initializer
[-Werror,-Wmissing-field-initializers]
mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp:1076:75:
error: missing field 'mergeOps' initializer
[-Werror,-Wmissing-field-initializers]
Commit: b8f79f81a3fb559f93b30e1aef07cc965d2bf2b3
https://github.com/llvm/llvm-project/commit/b8f79f81a3fb559f93b30e1aef07cc965d2bf2b3
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
Log Message:
-----------
[Clang][Attr] Fix possible crash when trying to check for DeviceKernel spelling (#143546)
I didn't add a test because this can't be reproduced yet in this repo, I
reproduced this only in intel's fork with more SYCL support.
I also fixed some formatting.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 719e7bea8af3335f8d7c46205ce8357baf4fa11d
https://github.com/llvm/llvm-project/commit/719e7bea8af3335f8d7c46205ce8357baf4fa11d
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopUnroll/peel-last-iteration-minmax.ll
Log Message:
-----------
[LoopPeel] Add tests for last iteration peeling of min/max intrinsics
Commit: 94877ce1b4c514e839b49907efff95c0cf942656
https://github.com/llvm/llvm-project/commit/94877ce1b4c514e839b49907efff95c0cf942656
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
M clang-tools-extra/clang-tidy/altera/AlteraTidyModule.cpp
M clang-tools-extra/clang-tidy/android/AndroidTidyModule.cpp
M clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
M clang-tools-extra/clang-tidy/darwin/DarwinTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/FuchsiaTidyModule.cpp
M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
M clang-tools-extra/clang-tidy/linuxkernel/LinuxKernelTidyModule.cpp
M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/LLVMLibcTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/mpi/MPITidyModule.cpp
M clang-tools-extra/clang-tidy/objc/NSDateFormatterCheck.cpp
M clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
M clang-tools-extra/clang-tidy/openmp/OpenMPTidyModule.cpp
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
M clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp
M clang-tools-extra/clang-tidy/portability/PortabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp
M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp
M clang-tools-extra/clang-tidy/zircon/ZirconTidyModule.cpp
Log Message:
-----------
[clang-tidy][NFC] fix 'misc-use-internal-linkage' check warnings (#143482)
Run misc-use-internal-linkage check over clang-tidy code.
Also fixed a couple of other clang-tidy warnings.
Apart from issues in header files, all '.cpp' in
`clang-tools-extra/clang-tidy` must be clang-tidy clear now.
Commit: a7f495f170864e6bddc4bb29ae7fae293a7136aa
https://github.com/llvm/llvm-project/commit/a7f495f170864e6bddc4bb29ae7fae293a7136aa
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
Log Message:
-----------
[lldb] Revive TestSimulatorPlatform.py (#142244)
This test was incorrectly disabled and bitrotted since then. This PR
fixes up the test and re-enables it.
- Build against the system libc++ (which can target the simulator)
- Bump the deployment target for iOS and tvOS on Apple Silicon
- Skip backdeploying to pre-Apple Silicon OS on Apple Silicon.
Commit: d7282c56cd294a2eb4890e50c84e6eae6f7c6671
https://github.com/llvm/llvm-project/commit/d7282c56cd294a2eb4890e50c84e6eae6f7c6671
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/tools/llvm-rc/Inputs/parser-expr.rc
M llvm/test/tools/llvm-rc/Inputs/tokens.rc
M llvm/test/tools/llvm-rc/parser-expr.test
M llvm/test/tools/llvm-rc/tokenizer.test
M llvm/tools/llvm-rc/ResourceScriptParser.cpp
M llvm/tools/llvm-rc/ResourceScriptParser.h
M llvm/tools/llvm-rc/ResourceScriptStmt.h
M llvm/tools/llvm-rc/ResourceScriptToken.cpp
M llvm/tools/llvm-rc/ResourceScriptToken.h
M llvm/tools/llvm-rc/ResourceScriptTokenList.def
Log Message:
-----------
[llvm-rc] Add support for multiplication and division in expressions (#143373)
This is supported by GNU windres. MS rc.exe does accept these
expressions, but doesn't evalulate them correctly, it only returns the
left hand side.
This fixes one aspect of
https://github.com/llvm/llvm-project/issues/143157.
Commit: 62b3e89afc54a118d597a27185f6915a68e408a0
https://github.com/llvm/llvm-project/commit/62b3e89afc54a118d597a27185f6915a68e408a0
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove unused LoopBypassBlocks from ILV (NFC).
After recent refactorings to move parts of skeleton creation
LoopBypassBlocks isn't used any more. Remove it.
Commit: 830a74092adafa425db05e1c5120d3294f874777
https://github.com/llvm/llvm-project/commit/830a74092adafa425db05e1c5120d3294f874777
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/X86.h
A clang/test/CodeGen/X86/cygwin-varargs.c
Log Message:
-----------
[Clang] [Cygwin] va_list must be treated like normal Windows (#143115)
Handling of va_list on Cygwin environment must be matched to normal
Windows environment.
The existing test `test/CodeGen/ms_abi.c` seems relevant, but it
contains `__attribute__((sysv_abi))`, which is not supported on Cygwin.
The new test is based on the `__attribute__((ms_abi))` portion of that
test.
---------
Co-authored-by: jeremyd2019 <github at jdrake.com>
Commit: 13ccce28776d8ad27b0c6a92b5a452d62da05663
https://github.com/llvm/llvm-project/commit/13ccce28776d8ad27b0c6a92b5a452d62da05663
Author: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/xor-to-or-disjoint.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Decompose constant xor operand if possible (#135788)
Try to transform XOR(A, B+C) in to XOR(A,C) + B where XOR(A,C) becomes
the base for memory operations. This transformation is true under the
following conditions
Check 1 - B and C are disjoint.
Check 2 - XOR(A,C) and B are disjoint.
This transformation is beneficial particularly for GEPs because
Disjoint OR operations often map better to addressing modes than XOR.
This can enable further optimizations in the GEP offset folding pipeline
Commit: 0c774682889ae9b1b89cb9d4d796283f205b8a63
https://github.com/llvm/llvm-project/commit/0c774682889ae9b1b89cb9d4d796283f205b8a63
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Profile/ProfileYAMLMapping.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/ProfileQualityStats.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/test/X86/shrinkwrapping.test
Log Message:
-----------
[BOLT] Expose external entry count for functions (#141674)
Record the number of function invocations from external code - code
outside the binary, which may include JIT code and DSOs. Accounting
external entry counts improves the fidelity of call graph flow
conservation analysis.
Test Plan: updated shrinkwrapping.test
Commit: 163c67ad3d1bf7af6590930d8f18700d65ad4564
https://github.com/llvm/llvm-project/commit/163c67ad3d1bf7af6590930d8f18700d65ad4564
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/include/flang-rt/runtime/stat.h
M flang-rt/include/flang-rt/runtime/type-info.h
A flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor-io.h
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/namelist.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/type-info.cpp
A flang-rt/lib/runtime/work-queue.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang/docs/Extensions.md
M flang/include/flang/Runtime/assign.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/__fortran_type_info.f90
M flang/test/Lower/volatile-openmp.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo03.f90
M flang/test/Semantics/typeinfo04.f90
M flang/test/Semantics/typeinfo05.f90
M flang/test/Semantics/typeinfo06.f90
M flang/test/Semantics/typeinfo07.f90
M flang/test/Semantics/typeinfo08.f90
M flang/test/Semantics/typeinfo11.f90
A flang/test/Semantics/typeinfo12.f90
Log Message:
-----------
[flang][runtime] Replace recursion with iterative work queue (#137727)
Recursion, both direct and indirect, prevents accurate stack size
calculation at link time for GPU device code. Restructure these
recursive (often mutually so) routines in the Fortran runtime with new
implementations based on an iterative work queue with
suspendable/resumable work tickets: Assign, Initialize, initializeClone,
Finalize, and Destroy.
Default derived type I/O is also recursive, but already disabled. It can
be added to this new framework later if the overall approach succeeds.
Note that derived type FINAL subroutine calls, defined assignments, and
defined I/O procedures all perform callbacks into user code, which may
well reenter the runtime library. This kind of recursion is not handled
by this change, although it may be possible to do so in the future using
thread-local work queues.
The effects of this restructuring on CPU performance are yet to be
measured.
Commit: b994a4c04f38d8cfb13f3dbf3d99146cb778443e
https://github.com/llvm/llvm-project/commit/b994a4c04f38d8cfb13f3dbf3d99146cb778443e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/include/flang/Parser/tools.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/tools.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/tools.cpp
Log Message:
-----------
[flang][NFC] Clean up code in two new functions (#142037)
Two recently-added functions in Semantics/tools.h need some cleaning up
to conform to the coding style of the project. One of them should
actually be in Parser/tools.{h,cpp}, the other doesn't need to be
defined in the header.
Commit: 54e72d15bc09e9e6464792711b8c475f92a759e2
https://github.com/llvm/llvm-project/commit/54e72d15bc09e9e6464792711b8c475f92a759e2
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/lib/Semantics/runtime-type-info.cpp
A flang/test/Semantics/typeinfo13.f90
Log Message:
-----------
[flang] Ensure overrides of special procedures (#142465)
When a derived type declares a generic procedure binding of interest to
the runtime library, such as for ASSIGNMENT(=), it overrides any binding
that might have been present for the parent type.
Fixes https://github.com/llvm/llvm-project/issues/142414.
Commit: 2f9dfdfb35bdb10334b09476a47dc1d93beea96c
https://github.com/llvm/llvm-project/commit/2f9dfdfb35bdb10334b09476a47dc1d93beea96c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/IR/Instructions.cpp
Log Message:
-----------
[IR] Simplify scalable vector handling in ShuffleVectorInst::getShuffleMask. NFC (#143596)
Combine the scalable vector UndefValue check with the earlier
ConstantAggregateZero handling for fixed and scalable vectors.
Assert that the rest of the code is only reached for fixed vectors.
Use append instead of resize since we know the size is increasing.
Commit: 32649e017eaa609fa556b6d6d74bb73abf37214d
https://github.com/llvm/llvm-project/commit/32649e017eaa609fa556b6d6d74bb73abf37214d
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2Vec] Exposing Embedding as an data type wrapped around std::vector<double> (#143197)
Currently `Embedding` is `std::vector<double>`. This PR makes it a data type wrapped around `std::vector<double>` to overload basic arithmetic operators and expose comparison operations. It _simplifies_ the usage here and in the passes where operations on `Embedding` would be performed.
(Tracking issue - #141817)
Commit: 3a2bcd96e22721312c9d340c9122a3988dc1e222
https://github.com/llvm/llvm-project/commit/3a2bcd96e22721312c9d340c9122a3988dc1e222
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
Log Message:
-----------
[RISCV][TTI] Allow partial reduce with mismatched extends (#143608)
This depends on the recently add partial_reduce_sumla node for lowering
but at this point, we have all the parts.
Commit: c7063380205d8776e281f7a6603119aa8ea28c12
https://github.com/llvm/llvm-project/commit/c7063380205d8776e281f7a6603119aa8ea28c12
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/source/Commands/CommandObjectTarget.cpp
Log Message:
-----------
[lldb] Fix `target stop-hook add` help output
The help output for `target stop-hook add` references non-existing
option `--one-line-command`. The correct option is `--one-liner`:
```
-o <one-line-command> ( --one-liner <one-line-command> )
Add a command for the stop hook. Can be specified more than once,
and commands will be run in the order they appear.
```
This commit fixes the help text.
rdar://152730660
Commit: 32d2b6ba4797584743d4764b25af0ae6f6c3d063
https://github.com/llvm/llvm-project/commit/32d2b6ba4797584743d4764b25af0ae6f6c3d063
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M compiler-rt/test/hwasan/TestCases/Posix/dlerror.cpp
Log Message:
-----------
[HWASAN] Disable LSan test on Android (#143625)
Android HWASan does not support LSan.
Commit: 48122a797710a05b5b8620f6051e9716a8e5a6c3
https://github.com/llvm/llvm-project/commit/48122a797710a05b5b8620f6051e9716a8e5a6c3
Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/cuf21.cuf
Log Message:
-----------
[flang][cuda] Fix CUDA generic resolution for VALUE arguments in device procedures (#140952)
For actual arguments that have VALUE attribute inside device routines, treat them as if they have device attribute.
Commit: 1bf4702d2bbaad522886dfbab913a8dd6efe3b85
https://github.com/llvm/llvm-project/commit/1bf4702d2bbaad522886dfbab913a8dd6efe3b85
Author: Amy Huang <akhuang at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M libc/test/src/sys/prctl/linux/CMakeLists.txt
M libc/test/src/sys/prctl/linux/prctl_test.cpp
Log Message:
-----------
Disable prctl test when building for arm or riscv. (#143627)
I'm setting up a buildbot for arm32 using qemu and qemu doesn't support
PR_GET_THP_DISABLE.
Disable the test for now while we figure out what to do about that.
Also disable for riscv because we may do the same for riscv buildbots.
Commit: ad479ddb343c2756e6eed0f2999bbdb88a65c7c5
https://github.com/llvm/llvm-project/commit/ad479ddb343c2756e6eed0f2999bbdb88a65c7c5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
R llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/xor-to-or-disjoint.ll
Log Message:
-----------
Revert "[SeparateConstOffsetFromGEP] Decompose constant xor operand if possible (#135788)"
This reverts commit 13ccce28776d8ad27b0c6a92b5a452d62da05663.
The tests are on non-canonical IR, and adds an extra unrelated
pre-processing step to the pass. I'm assuming this is a workaround
for the known-bits recursion depth limit in instcombine.
Commit: b9329fe88e47741d9c20ab92f892ac52457e6195
https://github.com/llvm/llvm-project/commit/b9329fe88e47741d9c20ab92f892ac52457e6195
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.h
A clang/test/CIR/CodeGen/ctor.cpp
Log Message:
-----------
[CIR] Upstream support for calling constructors (#143579)
This change adds support for calling C++ constructors. The support for
actually defining a constructor is still missing and will be added in a
later change.
Commit: 6f62979a5a5bcf70d65f23e0991a274e6df5955b
https://github.com/llvm/llvm-project/commit/6f62979a5a5bcf70d65f23e0991a274e6df5955b
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/monolithic-linux.sh
M .github/workflows/premerge.yaml
Log Message:
-----------
Revert "[CI] Migrate to runtimes build" (#143612)
Reverts llvm/llvm-project#142696
See https://github.com/llvm/llvm-project/issues/143610 for details; I
believe this PR causes CI builders to build LLVM in a way that's been
broken for a while. To keep CI green, if this is the correct culprit,
those tests should be fixed or skipped
Commit: 3cef099ceddccefca8e11268624397cde9e04af6
https://github.com/llvm/llvm-project/commit/3cef099ceddccefca8e11268624397cde9e04af6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M compiler-rt/test/tysan/CMakeLists.txt
Log Message:
-----------
[TySan][CMake] Depend on tysan for check-tysan in runtimes build (#143597)
The runtimes build expects libclang_rt.tysan.a to be available, but the
check-tysan target does not actually depend on it when built using a
runtimes build with LLVM_ENABLE_RUNTIMES pointing at ./llvm. This means
we get test failures when running check-compiler-rt due to the missing
static archive.
This patch also makes check-tysan depend on tysan when we are using the
runtimes build.
This is causing premerge failures currently since we recently migrated
to the runtimes build.
Commit: 67ff66e67734c0b283ec676899e5b89b67fdafcb
https://github.com/llvm/llvm-project/commit/67ff66e67734c0b283ec676899e5b89b67fdafcb
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M offload/plugins-nextgen/common/include/GlobalHandler.h
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[PGO][Offload] Fix offload coverage mapping (#143490)
This pull request fixes coverage mapping on GPU targets.
- It adds an address space cast to the coverage mapping generation pass.
- It reads the profiled function names from the ELF directly. Reading it
from public globals was causing issues in cases where multiple
device-code object files are linked together.
Commit: 841a7f0897272f6412bc2e42a7dd695bf1e8a8cf
https://github.com/llvm/llvm-project/commit/841a7f0897272f6412bc2e42a7dd695bf1e8a8cf
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
Log Message:
-----------
[RISCV][NFC] Factor out VLEN in the SiFive7 scheduling model (#143629)
In preparation of reusing SiFive7Model for sifive-x390, which has a VLEN
of 1024, it's better (and less chaotic) to factor out the VLEN parameter
from various of places first: the plan is to do a major overhaul on this
file in which all the `WriteRes` are going to be encapsulated in a big
`multiclass`, where VLEN is one of its template arguments. Such that we
can instantiate different scheduling models with different VLEN.
Before that happens, a placeholder defvar `SiFive7VLEN` is used instead
in this patch.
NFC.
Co-authored-by: Michael Maitland <michaeltmaitland at gmail.com>
Commit: 8c890eaa3f4cedb494dc2a8180d9c9219bf76900
https://github.com/llvm/llvm-project/commit/8c890eaa3f4cedb494dc2a8180d9c9219bf76900
Author: Iris Shi <0.0 at owo.li>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/bfi_int.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
R llvm/test/CodeGen/RISCV/fold-masked-merge.ll
M llvm/test/CodeGen/RISCV/unfold-masked-merge-scalar-variablemask.ll
R llvm/test/CodeGen/SystemZ/fold-masked-merge.ll
M llvm/test/CodeGen/WebAssembly/simd-arith.ll
M llvm/test/CodeGen/X86/bitselect.ll
M llvm/test/CodeGen/X86/fold-masked-merge.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-vector-variablemask.ll
Log Message:
-----------
Revert "[SelectionDAG] Make `(a & x) | (~a & y) -> (a & (x ^ y)) ^ y` available for all targets" (#143648)
Commit: 0a6463039da89914c7a0f99622fb7a008abde2fd
https://github.com/llvm/llvm-project/commit/0a6463039da89914c7a0f99622fb7a008abde2fd
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512vl-intrinsics.ll
Log Message:
-----------
[NFC] get rid of `undef` in avx512vl-intrinsics.ll test (#143641)
Commit: 28a4ed945dc101c9a7dbdc93d9461da67225f7dc
https://github.com/llvm/llvm-project/commit/28a4ed945dc101c9a7dbdc93d9461da67225f7dc
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU][True16] remove AsmVOP3OpSel (#143465)
This is NFC. Clean up the AsmVOP3OpSel field, and use Vop3Base instead.
Commit: d75e28477af0baa063a4d4cc7b3cf657cfadd758
https://github.com/llvm/llvm-project/commit/d75e28477af0baa063a4d4cc7b3cf657cfadd758
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/work-queue.h
Log Message:
-----------
[flang][runtime] Fix build bot flang-runtime-cuda-gcc errors (#143650)
Adjust default parent class accessibility to attemp to work around what
appear to be old GCC's interpretation.
Commit: 3ece9b06a2d299d5a108efa856e662587543b2f3
https://github.com/llvm/llvm-project/commit/3ece9b06a2d299d5a108efa856e662587543b2f3
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/select-cond.ll
Log Message:
-----------
[RISCV][NFC] Improve test coverage for xtheadcondmov and xmipscmov (#143567)
Co-authored-by: Harsh Chandel <hchandel at qti.qualcomm.com>
Commit: a3201ce9e114aa2ecd66e525607093e4dff2f574
https://github.com/llvm/llvm-project/commit/a3201ce9e114aa2ecd66e525607093e4dff2f574
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/check-cuda.cpp
A flang/test/Semantics/cuf22.cuf
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang][cuda] Add option to disable warp function in semantic (#143640)
These functions are not available in some lower compute capabilities.
Add option in the language feature to enforce the semantic check on
these.
Commit: 842377882a3f52e345668751fa6d46ba4f7268d2
https://github.com/llvm/llvm-project/commit/842377882a3f52e345668751fa6d46ba4f7268d2
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/test/CodeGen/RISCV/rv32xandesperf.ll
M llvm/test/CodeGen/RISCV/rv64xandesperf.ll
Log Message:
-----------
[RISCV] Select signed bitfield insert for XAndesPerf (#143356)
This patch is similar to #142737
The XAndesPerf extension includes signed bitfield extraction
instruction `NDS.BFOS, which can extract the bits from 0 to Len - 1,
place them starting at bit Lsb, zero-filled the bits from 0 to Lsb -1,
and sign-extend the result.
When Lsb == Msb, it is a special case where the Lsb will be set to 0
instead of being equal to the Msb.
Commit: c2cb571c6cbcec75ab401974348f9f0d9b2190db
https://github.com/llvm/llvm-project/commit/c2cb571c6cbcec75ab401974348f9f0d9b2190db
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[Clang][NFC] Move UntypedParameters instead of copy (#143646)
Static analysis flagged that UntypedParameters could be moved instead of
copied. This would avoid copying a large object.
Commit: a17e97e6778b2cd4114052faf6ee25db330ef405
https://github.com/llvm/llvm-project/commit/a17e97e6778b2cd4114052faf6ee25db330ef405
Author: maflcko <6399679+maflcko at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libcxx/include/__chrono/time_point.h
M libcxx/include/chrono
A libcxx/test/std/time/time.point/time.point.arithmetic/op_++.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_++int.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_--.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_--int.pass.cpp
Log Message:
-----------
[libc++] Add missing C++20 [time.point.arithmetic] (#143165)
This was part of https://wg21.link/p0355r7, but apparently never
implemented.
---------
Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_ at 721217.xyz>
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 0f3c54a3b3289b6375a1d32684e831cb407af003
https://github.com/llvm/llvm-project/commit/0f3c54a3b3289b6375a1d32684e831cb407af003
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A llvm/test/CodeGen/X86/bsr.ll
Log Message:
-----------
[X86] Add test coverage showing failure to merge "zero input passthrough" behaviour for BSR instructions on x86_64 targets
Commit: a6ace2801e8900a6fe8c3b8295938f3b3c1e4466
https://github.com/llvm/llvm-project/commit/a6ace2801e8900a6fe8c3b8295938f3b3c1e4466
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineConcatVectorOps - ensure we're only concatenating v2f64 generic shuffles into vXf64 vshufpd
Identified while triaging #143606 - we can't concat v4f64 lhs/rhs subvecs and then expect the v2f64 operands to be in the correct place for VSHUFPD
Test coverage will follow
Commit: 32ac7dc2d21843091116b636777c174830cd2dd0
https://github.com/llvm/llvm-project/commit/32ac7dc2d21843091116b636777c174830cd2dd0
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
Log Message:
-----------
[test][AArch64] Adjust vector insertion lit tests (#143101)
The test cases test_insert_v16i8_insert_2_undef_base and
test_insert_v16i8_insert_2_undef_base_different_valeus in
CodeGen/AArch64/arm64-vector-insertion.ll was leaving element 8 in the
vector as "undef" without any real explanation. It kind of looked like a
typo as the input IR looked like this
%v.8 = insertelement <16 x i8> %v.7, i8 %a, i32 8
%v.10 = insertelement <16 x i8> %v.7, i8 %a, i32 10
leaving %v.8 as unused.
This patch is cleaning up the tests a bit by adding separate test cases
to validate what is happening when skipping insert at index 8, while
amending the original tests cases to use %v.8 instead of %v.7 when
creating %v.10.
Commit: 686ec6cfe86367c43dccd83d7e6e2bac7e6a73a0
https://github.com/llvm/llvm-project/commit/686ec6cfe86367c43dccd83d7e6e2bac7e6a73a0
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M bolt/test/AArch64/adr-relaxation.s
Log Message:
-----------
[BOLT][AArch64] Fix adr-relaxation.s test (#143151)
On some AArch64 machines the splitting was inconsistent.
This causes cold `foo` to have a `mov` instruction before adrp.
```
<foo.cold.0>:
mov x0, #0x0 // =0
adrp x1, 0x600000 <_start>
add x1, x1, #0x14
ret
```
This patch removes the `mov` instruction right above .L2, making
splitting deterministic.
Commit: 521e6ce5c8fdfc72cccc1accd78a59f1a5e2805a
https://github.com/llvm/llvm-project/commit/521e6ce5c8fdfc72cccc1accd78a59f1a5e2805a
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M .github/workflows/email-check.yaml
Log Message:
-----------
[CI] Add mention of LLVM Developer Policy in email-check message (NFC) (#143300)
As for now, It may be hard for people to get truth from long Discourse
discussion, so a link to official document may be enough to convince
changing email from private to public.
Commit: 17f1dac805d388596be5e8c316c0f14b3222da4e
https://github.com/llvm/llvm-project/commit/17f1dac805d388596be5e8c316c0f14b3222da4e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A llvm/test/CodeGen/X86/bsf.ll
Log Message:
-----------
[X86] Add test coverage showing failure to merge "zero input passthrough" behaviour for BSF instructions on x86_64 targets
Commit: a72bcda1434c72f9db6687565a361479e0dde572
https://github.com/llvm/llvm-project/commit/a72bcda1434c72f9db6687565a361479e0dde572
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vl.ll
Log Message:
-----------
[X86] add test coverage for #143606
Commit: e9bd1aee6537508970614fd79a4f076ba4ed93d0
https://github.com/llvm/llvm-project/commit/e9bd1aee6537508970614fd79a4f076ba4ed93d0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/bmi-select-distrib.ll
Log Message:
-----------
[X86] bmi-select-distrib.ll - remove unused check prefixes and pull out PR comments above tests. NFC
Commit: 13115276d0d12b0d9bf952abdc19f04866db16a8
https://github.com/llvm/llvm-project/commit/13115276d0d12b0d9bf952abdc19f04866db16a8
Author: David Green <david.green at arm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-simd-ldst-one.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/double_reduct.ll
M llvm/test/CodeGen/AArch64/f16-instructions.ll
M llvm/test/CodeGen/AArch64/faddsub.ll
M llvm/test/CodeGen/AArch64/fcopysign.ll
M llvm/test/CodeGen/AArch64/fcvt.ll
M llvm/test/CodeGen/AArch64/fdiv.ll
M llvm/test/CodeGen/AArch64/fminimummaximum.ll
M llvm/test/CodeGen/AArch64/fminmax.ll
M llvm/test/CodeGen/AArch64/fmla.ll
M llvm/test/CodeGen/AArch64/fmul.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AArch64/fsqrt.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/llvm.exp10.ll
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/store.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
Revert "[AArch64][GlobalISel] Expand 64bit extracts to 128bit to allow more patterns (#142904)"
This reverts commit 61cdba602abe67761ab2bbf12bf85710dfa963f4 due to verifier
issues.
Commit: 14c11e4bcb262496981a2948af11a3f9e9de23ef
https://github.com/llvm/llvm-project/commit/14c11e4bcb262496981a2948af11a3f9e9de23ef
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[coro][NFC] Move switch basic block to beginning of coroutine (#143626)
This makes the code flow when reading the LLVM IR of a split coroutine a
bit more natural. It does not change anything from an end-user
perspective but makes debugging the CoroSplit pass slightly easier.
Commit: 24d730b3808a562507f3f1f5fc125acf4b6e03aa
https://github.com/llvm/llvm-project/commit/24d730b3808a562507f3f1f5fc125acf4b6e03aa
Author: Iris Shi <0.0 at owo.li>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/bfi_int.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
A llvm/test/CodeGen/RISCV/fold-masked-merge.ll
M llvm/test/CodeGen/RISCV/unfold-masked-merge-scalar-variablemask.ll
A llvm/test/CodeGen/SystemZ/fold-masked-merge.ll
M llvm/test/CodeGen/WebAssembly/simd-arith.ll
M llvm/test/CodeGen/X86/bitselect.ll
M llvm/test/CodeGen/X86/fold-masked-merge.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-vector-variablemask.ll
Log Message:
-----------
Reland "[SelectionDAG] Make `(a & x) | (~a & y) -> (a & (x ^ y)) ^ y` available for all targets" (#143651)
Commit: 937be177528de156922c1b5f6cab08ba3009dbf2
https://github.com/llvm/llvm-project/commit/937be177528de156922c1b5f6cab08ba3009dbf2
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/loops3.f90
Log Message:
-----------
[flang] Enable delayed localization by default for `do concurrent` (#142567)
This PR aims to make it easier and more self-contained to revert the
switch/flag if we discover any problems with enabling it by default.
Commit: afbcf9529a1edb88d067e6fca8d9534901310d5e
https://github.com/llvm/llvm-project/commit/afbcf9529a1edb88d067e6fca8d9534901310d5e
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/distribute_simd_misc_messages.c
A clang/test/OpenMP/for_private_reduction_codegen.cpp
M clang/test/OpenMP/for_reduction_messages.cpp
M clang/test/OpenMP/for_simd_reduction_messages.cpp
M clang/test/OpenMP/sections_reduction_messages.cpp
A openmp/runtime/test/worksharing/for/omp_for_private_reduction.cpp
Log Message:
-----------
[OpenMP 6.0 ]Codegen for Reduction over private variables with reduction clause (#134709)
Codegen support for reduction over private variable with reduction
clause. Section 7.6.10 in in OpenMP 6.0 spec.
- An internal shared copy is initialized with an initializer value.
- The shared copy is updated by combining its value with the values from
the private copies created by the clause.
- Once an encountering thread verifies that all updates are complete,
its original list item is updated by merging its value with that of the
shared copy and then broadcast to all threads.
Sample Test Case from OpenMP 6.0 Example
```
#include <assert.h>
#include <omp.h>
#define N 10
void do_red(int n, int *v, int &sum_v)
{
sum_v = 0; // sum_v is private
#pragma omp for reduction(original(private),+: sum_v)
for (int i = 0; i < n; i++)
{
sum_v += v[i];
}
}
int main(void)
{
int v[N];
for (int i = 0; i < N; i++)
v[i] = i;
#pragma omp parallel num_threads(4)
{
int s_v; // s_v is private
do_red(N, v, s_v);
assert(s_v == 45);
}
return 0;
}
```
Expected Codegen:
```
// A shared global/static variable is introduced for the reduction result.
// This variable is initialized (e.g., using memset or a UDR initializer)
// e.g., .omp.reduction.internal_private_var
// Barrier before any thread performs combination
call void @__kmpc_barrier(...)
// Initialization block (executed by thread 0)
// e.g., call void @llvm.memset.p0.i64(...) or call @udr_initializer(...)
call void @__kmpc_critical(...)
// Inside critical section:
// Load the current value from the shared variable
// Load the thread-local private variable's value
// Perform the reduction operation
// Store the result back to the shared variable
call void @__kmpc_end_critical(...)
// Barrier after all threads complete their combinations
call void @__kmpc_barrier(...)
// Broadcast phase:
// Load the final result from the shared variable)
// Store the final result to the original private variable in each thread
// Final barrier after broadcast
call void @__kmpc_barrier(...)
```
---------
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: e44a65ed98ad896d0c0c3b1e10937a19f786b9ef
https://github.com/llvm/llvm-project/commit/e44a65ed98ad896d0c0c3b1e10937a19f786b9ef
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/locality_specifiers_simple.mlir
Log Message:
-----------
[flang][OpenMP] Map basic `local` specifiers to `private` clauses (#142735)
Starts the effort to map `do concurrent` locality specifiers to OpenMP
clauses. This PR adds support for basic specifiers (no `init` or `copy`
regions yet).
Commit: 7460c700ae3026d927952f911d0e667de6e0c18b
https://github.com/llvm/llvm-project/commit/7460c700ae3026d927952f911d0e667de6e0c18b
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-to-2x-memset.ll
M llvm/test/Transforms/MemCpyOpt/mixed-sizes.ll
M llvm/test/Transforms/MemCpyOpt/variable-sized-memset-memcpy.ll
Log Message:
-----------
[MemCpyOpt] handle memcpy from memset in more cases (#140954)
This aims to reduce the divergence between the initial checks in this
function and processMemCpyMemCpyDependence (in particular, adding
handling of offsets), with the goal to eventually reduce duplication
there and improve this pass in other ways.
Commit: ddb771ecfd12cab8d323a4e64e64b965883585de
https://github.com/llvm/llvm-project/commit/ddb771ecfd12cab8d323a4e64e64b965883585de
Author: David Green <david.green at arm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/include/clang/Basic/AArch64ACLETypes.def
M clang/test/AST/ast-dump-aarch64-neon-types.c
M clang/test/CodeGen/AArch64/mixed-neon-types.c
Log Message:
-----------
[AArch64][Clang] Update new Neon vector element types. (#142760)
This updates the element types used in the new __Int8x8_t types added in
#126945, mostly to allow C++ name mangling in ItaniumMangling
mangleAArch64VectorBase to work correctly. Char is replaced by
SignedCharTy or UnsignedCharTy as required and Float16Ty is better using
HalfTy to match the vector types. Same for Long types.
Commit: 6e0c2bc668107547365d79a6e5f57317a6302c29
https://github.com/llvm/llvm-project/commit/6e0c2bc668107547365d79a6e5f57317a6302c29
Author: Javed Absar <javed.absar at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
Log Message:
-----------
[mlir][async][nfc] Fix typo in async op description (#143621)
Commit: 7ffdf4240d62724dca7f42b37bd8671fefe17e17
https://github.com/llvm/llvm-project/commit/7ffdf4240d62724dca7f42b37bd8671fefe17e17
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
A flang/test/Driver/darwin-version.f90
Log Message:
-----------
[flang][Driver] Enable support for -mmacos-version-min= (#143508)
So far as I can tell this option is driver-only so we can just re-use
what already exists for clang. I've added a unit test based on clang's
unit test to demonstrate that the option is handled.
Still TODO is to ensure that flang-rt is built with the same macos
minimum version as compiler-rt. At the moment, setting the flang minimum
version to older than the macos version on which flang was built will
lead to link warnings because flangrt is built for version of macos on
which flang was built rather than the oldest supported version (as
compiler-rt is).
Commit: 9797b5fcfbb9b9c96a219985f3623849bbd3956e
https://github.com/llvm/llvm-project/commit/9797b5fcfbb9b9c96a219985f3623849bbd3956e
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
A clang/test/Modules/constexpr-initialization-failure.cpp
Log Message:
-----------
[C++20][Modules] Fix false compilation error with constexpr (#143168)
Use declaresSameEntity when evaluating constexpr to avoid resetting
computed union value due to using different instances of the merged
field decl.
Commit: c59cc2b690b9e528a82ba214f74a8f7c8abb3cde
https://github.com/llvm/llvm-project/commit/c59cc2b690b9e528a82ba214f74a8f7c8abb3cde
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libunwind/cmake/config-ix.cmake
M libunwind/src/CMakeLists.txt
Log Message:
-----------
[libunwind] Remove checks for -nostdlib++ (#143162)
libunwind uses a C linker, so it's never even trying to link against any
C++ libraries. This removes the code which tries to drop C++ libraries,
which makes the CMake configuration simpler and allows for upgrading
GCC.
Commit: ea9046699eae04ac5159a1666f19b5b32e5d41c1
https://github.com/llvm/llvm-project/commit/ea9046699eae04ac5159a1666f19b5b32e5d41c1
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M llvm/include/llvm/IR/Function.h
M llvm/lib/IR/Function.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
A llvm/test/Transforms/SROA/scalable-vectors-with-known-vscale.ll
M llvm/test/Transforms/SROA/scalable-vectors.ll
Log Message:
-----------
[LLVM][SROA] Teach SROA how to "bitcast" between fixed and scalable vectors. (#130973)
For function whose vscale_range is limited to a single value we can size
scalable vectors. This aids SROA by allowing scalable vector load and
store operations to be considered for replacement whereby bitcasts
through memory can be replaced by vector insert or extract operations.
Commit: ddef9ce8dad611c2fef172f3b08c5c98235a3b41
https://github.com/llvm/llvm-project/commit/ddef9ce8dad611c2fef172f3b08c5c98235a3b41
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M openmp/runtime/test/worksharing/for/omp_for_private_reduction.cpp
Log Message:
-----------
LLVM Buildbot failure on openmp runtime test (#143674)
Error looks to be missing includes for complex number support in some
system. Removing test for now.
Relevant PR :
[PR-134709](https://github.com/llvm/llvm-project/pull/134709)
```
.---command stderr------------
# | /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/worksharing/for/omp_for_private_reduction.cpp:78:42: error: use of undeclared identifier 'I'
# | 78 | double _Complex expected = 0.0 + 0.0 * I;
# | | ^
# | /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/worksharing/for/omp_for_private_reduction.cpp:79:40: error: use of undeclared identifier 'I'
# | 79 | double _Complex result = 0.0 + 0.0 * I;
# | | ^
# | /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/worksharing/for/omp_for_private_reduction.cpp:84:22: error: use of undeclared identifier 'I'
# | 84 | arr[i] = i - i * I;
# | | ^
# | /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/worksharing/for/omp_for_private_reduction.cpp:92:19: error: use of undeclared identifier 'creal'
# | 92 | real_sum += creal(arr[i]);
# | | ^~~~~
# | /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/worksharing/for/omp_for_private_reduction.cpp:93:19: error: use of undeclared identifier 'cimag'
# | 93 | imag_sum += cimag(arr[i]);
# | | ^~~~~
# | /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/worksharing/for/omp_for_private_reduction.cpp:96:36: error: use of undeclared identifier 'I'
# | 96 | result = real_sum + imag_sum * I;
# | | ^
# | /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/worksharing/for/omp_for_private_reduction.cpp:97:9: error: use of undeclared identifier 'cabs'
# | 97 | if (cabs(result - expected) > 1e-6) {
# | | ^~~~
# | 7 errors generated.
```
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: 354cfba5209eed5ea6bafb6a3e69e65148c4e25d
https://github.com/llvm/llvm-project/commit/354cfba5209eed5ea6bafb6a3e69e65148c4e25d
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/PassManagerImpl.h
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Remove scoped-dbg-format-setter (#143450)
This was a utility for flipping between intrinsic and debug record mode
-- we don't need it any more. The "IsNewDbgInfoFormat" should be true
everywhere.
Commit: 79a72c47d09c2e2cee645430f9d290c20d2618f1
https://github.com/llvm/llvm-project/commit/79a72c47d09c2e2cee645430f9d290c20d2618f1
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/CostModel/AArch64/rem.ll
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
Log Message:
-----------
[AArch64] Consider negated powers of 2 when calculating throughput cost (#143013)
Negated powers of 2 have similar or (exact in the case of remainder)
codegen with lowering sdiv. In the case of sdiv, it just negates the
result in the end anyway, so nothing dissimilar at all.
Commit: 40cc7b4578fd2d65aaef8356fbe7caf2d84a8f3e
https://github.com/llvm/llvm-project/commit/40cc7b4578fd2d65aaef8356fbe7caf2d84a8f3e
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A clang/test/Frontend/aarch64-print-enabled-extensions-cc1.c
Log Message:
-----------
[clang][AArch64] test -cc1 -print-enabled-extensions (#143570)
This adds tests that document how -cc1 and -print-enabled-extensions
interact. The current behaviour looks wrong, and is caused by the fact
that --print-enabled-extensions uses the MC subtarget feature API to
determine the list of extensions to print, whereas the frontend uses the
TargetParser API. The latter does no dependency expansion for the
-target-feature flags but the MC API does.
This doesn't fix anything but at least it documents the current
behaviour, and will serve as a pre-commit test for any future fixes.
Commit: 19b0e1227ca6653405e4a34627d04a14f2287f26
https://github.com/llvm/llvm-project/commit/19b0e1227ca6653405e4a34627d04a14f2287f26
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/fp-undef-poison.ll
Log Message:
-----------
[ConstantFolding] Fold sqrt poison -> poison (#141821)
I noticed this when a sqrt produced by VectorCombine with a poison
operand wasn't getting folded away to poison.
Most intrinsics in general could probably be folded to poison if one of
their arguments are poison too. Are there any exceptions to this we need
to be aware of?
Commit: 44a7ecd1d7485be94d3a92021c650175f100d2f7
https://github.com/llvm/llvm-project/commit/44a7ecd1d7485be94d3a92021c650175f100d2f7
Author: Alexander Ziaee <concussious at runbox.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
M lldb/tools/debugserver/source/RNBRemote.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M openmp/tools/archer/ompt-tsan.cpp
Log Message:
-----------
[doc] Use ISO nomenclature for 1024 byte units (#133148)
Increase specificity by using the correct unit sizes. KBytes is an
abbreviation for kB, 1000 bytes, and the hardware industry as well as
several operating systems have now switched to using 1000 byte kBs.
If this change is acceptable, sometimes GitHub mangles merges to use the
original email of the account. $dayjob asks contributions have my work
email. Thanks!
Commit: abbbe4a6cd1b83b89a834163335053863f5ffbfa
https://github.com/llvm/llvm-project/commit/abbbe4a6cd1b83b89a834163335053863f5ffbfa
Author: Simone Pellegrini <simone.pellegrini at arm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/test/HLFIR/assign-side-effects.fir
M flang/test/HLFIR/memory-effects.fir
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Bufferization/side-effects.mlir
A mlir/test/Dialect/Vector/side-effects.mlir
M mlir/test/IR/test-side-effects.mlir
M mlir/test/lib/IR/TestSideEffects.cpp
Log Message:
-----------
[mlir][vector] Fix attaching write effects on transfer_write's base (#142940)
This fixes an issue with `TransferWriteOp`'s implementation of the
`MemoryEffectOpInterface` where the write effect was attached to the
stored value rather than the base.
This had the effect that when asking for the memory effects for the
input memref buffer using `getEffectsOnValue(...)`, the function would
return no-effects (as the effect would have been attached to the stored
value rather than the input buffer).
Commit: 2dd88c405d77b34dc028af09f3d55fa10dbed50e
https://github.com/llvm/llvm-project/commit/2dd88c405d77b34dc028af09f3d55fa10dbed50e
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/locality_specifiers_init_dealloc.mlir
Log Message:
-----------
[flang][OpenMP] Extend locality spec to OMP claues (`init` and `dealloc` regions) (#142795)
Extends support for locality specifier to OpenMP translation by adding
supprot for transling localizers that have `init` and `dealloc` regions.
Commit: 756e7cfd86c7f2bf20aaa1a3f87b5aa72ec128b4
https://github.com/llvm/llvm-project/commit/756e7cfd86c7f2bf20aaa1a3f87b5aa72ec128b4
Author: Adrian Vogelsgesang <vogelsgesang at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/coroutine_handle/TestCoroutineHandle.py
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values-not_used_in_frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values.ll
M llvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll
M llvm/test/Transforms/Coroutines/coro-debug.ll
Log Message:
-----------
[debuginfo][coro] Fix linkage name for clones of coro functions (#141889)
So far, the `DW_AT_linkage_name` of the coroutine `resume`, `destroy`,
`cleanup` and `noalloc` function clones were incorrectly set to the
original function name instead of the updated function names.
With this commit, we now update the `DW_AT_linkage_name` to the correct
name. This has multiple benefits:
1. it's easier for me (and other toolchain developers) to understand the
output of `llvm-dwarf-dump` when coroutines are involved.
2. When hitting a breakpoint, both LLDB and GDB now tell you which clone
of the function you are in. E.g., GDB now prints "Breakpoint 1.2,
coro_func(int) [clone .resume] (v=43) at ..." instead of "Breakpoint
1.2, coro_func(int) (v=43) at ...".
3. GDB's `info line coro_func` command now allows you to distinguish the
multiple different clones of the function.
In Swift, the linkage names of the clones were already updated. The
comment right above the relevant code in `CoroSplit.cpp` already hinted
that the linkage name should probably also be updated in C++. This
comment was added in commit 6ce76ff7eb7640, and back then the
corresponding `DW_AT_specification` (i.e., `SP->getDeclaration()`) was
not updated, yet, which led to problems for C++. In the meantime, commit
ca1a5b37c7236d added code to also update `SP->getDeclaration`, as such
there is no reason anymore to not update the linkage name for C++.
Note that most test cases used inconsistent function names for the LLVM
function vs. the DISubprogram linkage name. clang would never emit such
LLVM IR. This confused me initially, and hence I fixed it while updating
the test case.
Drive-by fix: The change in `CGVTables.cpp` is purely stylistic, NFC.
When looking for other usages of `replaceWithDistinct`, I got initially
confused because `CGVTables.cpp` was calling a static function via an
object instance.
Commit: f44f411afa914107d0a2395d2d8db826f88205e5
https://github.com/llvm/llvm-project/commit/f44f411afa914107d0a2395d2d8db826f88205e5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A llvm/test/CodeGen/MSP430/fcmp.ll
Log Message:
-----------
MSP430: Add tests for fcmp (#142706)
The existing coverage is thin. libcalls.ll seems to be the main fcmp
test, and it doesn't cover all the condition types, and runs with -O0.
Test all conditions for f32 and f64
Commit: 953a778fabc48025569fe0d5b3b363b981263f21
https://github.com/llvm/llvm-project/commit/953a778fabc48025569fe0d5b3b363b981263f21
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
A llvm/test/CodeGen/RISCV/fpenv-xlen.ll
M llvm/test/CodeGen/RISCV/frm-write-in-loop.ll
Log Message:
-----------
[RISCV][FPEnv] Lowering of fpenv intrinsics (#141498)
The change implements custom lowering of `get_fpenv`, `set_fpenv` and
`reset_fpenv` for RISCV target.
Commit: 4a46ead8fb5b57e69bcd1c72ebd7dd8eaf09fa9c
https://github.com/llvm/llvm-project/commit/4a46ead8fb5b57e69bcd1c72ebd7dd8eaf09fa9c
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/coroutine_handle/TestCoroutineHandle.py
Log Message:
-----------
[lldb] Show coro_frame in `std::coroutine_handle` pretty printer (#141516)
This commit adjusts the pretty printer for `std::coroutine_handle` based
on recent personal experiences with debugging C++20 coroutines:
1. It adds the `coro_frame` member. This member exposes the complete
coroutine frame contents, including the suspension point id and all
internal variables which the compiler decided to persist into the
coroutine frame. While this data is highly compiler-specific, inspecting
it can help identify the internal state of suspended coroutines.
2. It includes the `promise` and `coro_frame` members, even if
devirtualization failed and we could not infer the promise type / the
coro_frame type. Having them available as `void*` pointers can still be
useful to identify, e.g., which two coroutine handles have the same
frame / promise pointers.
Commit: 3ef7d035e21d8f75eb85b521d7ff0203e60cb6f2
https://github.com/llvm/llvm-project/commit/3ef7d035e21d8f75eb85b521d7ff0203e60cb6f2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
Log Message:
-----------
MSP430: Stop using setCmpLibcallCC (#142708)
This appears to only be useful for the eq/ne cases, and only for
ARM libcalls. This is setting it to the default values, and there's
no change in the new fcmp test output.
Commit: ac7fa4099e83d6490d2f9ea185b236db2f26e652
https://github.com/llvm/llvm-project/commit/ac7fa4099e83d6490d2f9ea185b236db2f26e652
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
Log Message:
-----------
MSP430: Partially move runtime libcall config out of TargetLowering (#142709)
RuntimeLibcalls needs to be correct outside of codegen contexts.
Commit: 33fee564998598a52e802292db25c0ee52f7e1a6
https://github.com/llvm/llvm-project/commit/33fee564998598a52e802292db25c0ee52f7e1a6
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
M clang/test/CodeGenHLSL/group_shared.hlsl
Log Message:
-----------
[HLSL][SPIR-V] Change SPV AS map for groupshared (#143519)
The previous mapping we setting the hlsl_groupshared AS to 0, which
translated to either Generic or Function.
Changing this to 3, which translated to Workgroup.
Related to #142804
Commit: 50f534e21cfb47aaf44e1613f71b56cca55ba395
https://github.com/llvm/llvm-project/commit/50f534e21cfb47aaf44e1613f71b56cca55ba395
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/semantics/SV_Position.ps.hlsl
A clang/test/SemaHLSL/Semantics/position.ps.hlsl
A clang/test/SemaHLSL/Semantics/position.ps.size.hlsl
A clang/test/SemaHLSL/Semantics/position.vs.hlsl
Log Message:
-----------
[HLSL][SPIR-V] Handle SV_Position builtin in PS (#141759)
This commit is using the same mechanism as vk::ext_builtin_input to
implement the SV_Position semantic input.
The HLSL signature is not yet ready for DXIL, hence this commit only
implements the SPIR-V side.
This is incomplete as it doesn't allow the semantic on hull/domain and
other shaders, but it's a first step to validate the overall
input/output
semantic logic.
Fixes https://github.com/llvm/llvm-project/issues/136969
Commit: b49c7896c0a31ca618098b52a28eb87dff625b8f
https://github.com/llvm/llvm-project/commit/b49c7896c0a31ca618098b52a28eb87dff625b8f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/popcount.h
Log Message:
-----------
[libc++] Fix constraints in `__countr_zero` and `__popcount`
Currently these two functions are constrained on `is_unsigned`, which is
more permissive than what is required by the standard for their public
counterparts. This fixes the constraints to match the public functions
by using `__libcpp_is_unsigned_integer` instead.
Commit: 3c56437eafee95f368feb20d28b74c29504b833d
https://github.com/llvm/llvm-project/commit/3c56437eafee95f368feb20d28b74c29504b833d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__bit/bit_ceil.h
M libcxx/include/__bit/bit_floor.h
M libcxx/include/__bit/bit_log2.h
M libcxx/include/__bit/bit_width.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/has_single_bit.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__bit/rotate.h
M libcxx/include/__concepts/arithmetic.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__mdspan/extents.h
M libcxx/include/__numeric/saturation_arithmetic.h
A libcxx/include/__type_traits/integer_traits.h
R libcxx/include/__type_traits/is_signed_integer.h
R libcxx/include/__type_traits/is_unsigned_integer.h
M libcxx/include/__utility/cmp.h
M libcxx/include/module.modulemap.in
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
Log Message:
-----------
[libc++] Refactor signed/unsigned integer traits (#142750)
This patch does a few things:
- `__libcpp_is_signed_integer` and `__libcpp_is_unsigned_integer` are
refactored to be variable templates instead of class templates.
- the two traits are merged into a single header
`<__type_traits/integer_traits.h>`.
- `__libcpp_signed_integer`, `__libcpp_unsigned_integer` and
`__libcpp_integer` are moved into the same header.
- The above mentioned concepts are renamed to `__signed_integer`,
`__unsigned_integer` and `__signed_or_unsigned_integer` respectively.
Commit: b10d711362b8634cefcb288d9f1b577f63adb9f7
https://github.com/llvm/llvm-project/commit/b10d711362b8634cefcb288d9f1b577f63adb9f7
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libcxx/include/__type_traits/is_integral.h
Log Message:
-----------
[libc++][NFC] Move __libcpp_is_integral into the else branch (#142556)
This makes it clear that `__libcpp_is_integral` is an implementation
detail of `is_integral` if we don't have `__is_integral` and not its own
utility.
Commit: 2692c3aa6760f1e4ea015f906926f63ec7dce044
https://github.com/llvm/llvm-project/commit/2692c3aa6760f1e4ea015f906926f63ec7dce044
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 3c56437eafee
Commit: 3d7aa961ac96f83d2e28f107c6dfa5a6a279b364
https://github.com/llvm/llvm-project/commit/3d7aa961ac96f83d2e28f107c6dfa5a6a279b364
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/Assembler/drop-debug-info-nonzero-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/parse-and-verify/verify.ll
M llvm/test/DebugInfo/Generic/sroa-extract-bits.ll
M llvm/test/Transforms/IROutliner/outlining-debug-statements.ll
M llvm/test/Transforms/ObjCARC/code-motion.ll
A llvm/test/Verifier/RemoveDI/invalid-dbg-declare-operands.ll
A llvm/test/Verifier/dbg-declare-invalid-debug-loc.ll
M llvm/test/Verifier/diexpression-entry-value-llvm-ir.ll
M llvm/test/Verifier/llvm.dbg.declare-address.ll
M llvm/test/Verifier/llvm.dbg.declare-expression.ll
M llvm/test/Verifier/llvm.dbg.declare-variable.ll
M llvm/test/Verifier/llvm.dbg.intrinsic-dbg-attachment.ll
M llvm/test/Verifier/llvm.dbg.value-expression.ll
M llvm/test/Verifier/llvm.dbg.value-value.ll
M llvm/test/Verifier/llvm.dbg.value-variable.ll
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Use autoupgrader to convert old debug-info (#143452)
By chance, two things have prevented the autoupgrade path being
exercised much so far:
* LLParser setting the debug-info mode to "old" on seeing intrinsics,
* The test in AutoUpgrade.cpp wanting to upgrade into a "new" debug-info
block.
In practice, this appears to mean this code path hasn't seen the various
invalid inputs that can come its way. This commit does a number of
things:
* Tolerates the various illegal inputs that can be written with
debug-intrinsics, and that must be tolerated until the Verifier runs,
* Printing illegal/null DbgRecord fields must succeed,
* Verifier errors need to localise the function/block where the error
is,
* Tests that now see debug records will print debug-record errors,
Plus a few new tests for other intrinsic-to-debug-record failures modes
I found. There are also two edge cases:
* Some of the unit tests switch back and forth between intrinsic and
record modes at will; I've deleted coverage and some assertions to
tolerate this as intrinsic support is now Gone (TM),
* In sroa-extract-bits.ll, the order of debug records flips. This is
because the autoupgrader upgrades in the opposite order to the basic
block conversion routines... which doesn't change the record order, but
_does_ change the use list order in Metadata! This should (TM) have no
consequence to the correctness of LLVM, but will change the order of
various records and the order of DWARF record output too.
I tried to reduce this patch to a smaller collection of changes, but
they're all intertwined, sorry.
Commit: e15d50d5ff295368edaf7bff67f405617310722c
https://github.com/llvm/llvm-project/commit/e15d50d5ff295368edaf7bff67f405617310722c
Author: Darren Wihandi <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
M mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir
Log Message:
-----------
[mlir][spirv] Add lowering of multiple math trig/hypb functions (#143604)
Add Math to SPIRV lowering for tan, asin, acos, sinh, cosh, asinh, acosh
and atanh. This completes the lowering of all trigonometric and
hyperbolic functions from math to SPIRV.
Commit: cc9f67416d048bf464425b5a9243219efcb08c34
https://github.com/llvm/llvm-project/commit/cc9f67416d048bf464425b5a9243219efcb08c34
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/implicit-dsa.f90
Log Message:
-----------
[flang][OpenMP] Consider previous DSA for static duration variables (#143601)
Symbols that have a pre-existing DSA set in the enclosing context should
not be made shared based on them being static duration variables.
Suggested-by: Leandro Lupori <leandro.lupori at linaro.org>
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: b512077c373a4416c506002383c69867cfee0741
https://github.com/llvm/llvm-project/commit/b512077c373a4416c506002383c69867cfee0741
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/work-queue.h
Log Message:
-----------
[flang][runtime] Another try to fix build failure (#143702)
Tweak accessibility to try to get code past whatever gcc is being used
by the flang-runtime-cuda-gcc build bot.
Commit: b09206db154bab8fa09b6708e642a6bba3d125be
https://github.com/llvm/llvm-project/commit/b09206db154bab8fa09b6708e642a6bba3d125be
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/test/Dialect/SPIRV/IR/memory-ops.mlir
Log Message:
-----------
[mlir][spirv] Include `SPIRV_AnyImage` in `SPIRV_Type` (#143676)
This change is trigger by encountering the following error:
```
<unknown>:0: error: 'spirv.Load' op result #0 must be void
or bool or 8/16/32/64-bit integer or 16/32/64-bit float or
vector of bool or 8/16/32/64-bit integer or 16/32/64-bit
float values of length 2/3/4/8/16 or any SPIR-V pointer type
or any SPIR-V array type or any SPIR-V run time array type
or any SPIR-V struct type or any SPIR-V cooperative matrix
type or any SPIR-V matrix type or any SPIR-V sampled image
type, but got '!spirv.image<f32, Dim2D, NoDepth, NonArrayed,
SingleSampled, NoSampler, Rgba8>'<unknown>:0: note: see current
operation:
%126 = "spirv.Load"(%125) {relaxed_precision} : (!spirv.ptr<!spirv.image<f32, Dim2D, NoDepth, NonArrayed, SingleSampled, NoSampler, Rgba8>, UniformConstant>) -> !spirv.image<f32, Dim2D, NoDepth, NonArrayed, SingleSampled, NoSampler, Rgba8>
```
Commit: 6b0cb762af97579ca8ff5eea9be896169a1752b7
https://github.com/llvm/llvm-project/commit/6b0cb762af97579ca8ff5eea9be896169a1752b7
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] _default-movable_ should be based on the first declaration (#143661)
When the definition of a special member function was defaulted we would
not consider it user-provided, even when the first declaration was not
defaulted.
Fixes #143599
Commit: c71a2e688828ab3ede4fb54168a674ff68396f61
https://github.com/llvm/llvm-project/commit/c71a2e688828ab3ede4fb54168a674ff68396f61
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Remove some debug intrinsic-only codepaths (#143451)
These are opportunistic deletions as more places that make use of the
IsNewDbgInfoFormat flag are removed. It should (TM)(R) all be dead code
now that `IsNewDbgInfoFormat` should be true everywhere.
FastISel: we don't need to do debug-aware instruction counting any more,
because there are no debug instructions,
Autoupgrade: you can no-longer avoid autoupgrading of intrinsics to
records
DIBuilder: Delete the code for creating debug intrinsics (!)
LoopUtils: No need to handle debug instructions, they don't exist
Commit: 46d9abbba2ad63c0280d4248cc2349de78439294
https://github.com/llvm/llvm-project/commit/46d9abbba2ad63c0280d4248cc2349de78439294
Author: David Truby <david.truby at arm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/Maintainers.md
Log Message:
-----------
[flang] Add David Truby as maintainer for Flang on Windows (#142619)
Commit: 76197ea6f91f802467f2614e1217e99eb4037200
https://github.com/llvm/llvm-project/commit/76197ea6f91f802467f2614e1217e99eb4037200
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
Log Message:
-----------
Revert "[DebugInfo][RemoveDIs] Remove some debug intrinsic-only codepaths (#143451)"
This reverts commit c71a2e688828ab3ede4fb54168a674ff68396f61.
/me squints -- this is hitting an assertion I thought had been deleted,
will revert and investigate for a bit.
Commit: 6fb2a80189016bd4222b174ae4d72e47d0aa58ff
https://github.com/llvm/llvm-project/commit/6fb2a80189016bd4222b174ae4d72e47d0aa58ff
Author: Davide Grohmann <6573166+davidegrohmann at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/include/mlir/Target/SPIRV/SPIRVBinaryUtils.h
M mlir/lib/Target/SPIRV/SPIRVBinaryUtils.cpp
Log Message:
-----------
[mlir][spirv] Truncate Literal String size at max number words (#142916)
If not truncated the SPIRV serialization would not fail but instead
produce an invalid SPIR-V module.
---------
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 76e14deb4a6967388a9bf84db2feeac17a30c786
https://github.com/llvm/llvm-project/commit/76e14deb4a6967388a9bf84db2feeac17a30c786
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/Target/Target.td
M llvm/lib/CodeGen/BreakFalseDeps.cpp
M llvm/lib/CodeGen/RegisterClassInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/test/CodeGen/X86/avx-cvt.ll
M llvm/test/CodeGen/X86/avx512-cvt.ll
M llvm/test/CodeGen/X86/avx512-regcall-NoMask.ll
M llvm/test/CodeGen/X86/avx512fp16-cvt.ll
M llvm/test/CodeGen/X86/avx512fp16-novl.ll
M llvm/test/CodeGen/X86/break-false-dep.ll
M llvm/test/CodeGen/X86/coalescer-commute1.ll
M llvm/test/CodeGen/X86/fast-isel-fptrunc-fpext.ll
M llvm/test/CodeGen/X86/fast-isel-int-float-conversion-x86-64.ll
M llvm/test/CodeGen/X86/fast-isel-int-float-conversion.ll
M llvm/test/CodeGen/X86/fast-isel-uint-float-conversion-x86-64.ll
M llvm/test/CodeGen/X86/fast-isel-uint-float-conversion.ll
M llvm/test/CodeGen/X86/fcmp-logic.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/fold-load-unops.ll
M llvm/test/CodeGen/X86/fp-intrinsics.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-inttofp-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-inttofp.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-round-fp16.ll
M llvm/test/CodeGen/X86/ftrunc.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/isel-int-to-fp.ll
M llvm/test/CodeGen/X86/pr34080.ll
M llvm/test/CodeGen/X86/pr37879.ll
M llvm/test/CodeGen/X86/pr38803.ll
M llvm/test/CodeGen/X86/rounding-ops.ll
M llvm/test/CodeGen/X86/scalar-int-to-fp.ll
M llvm/test/CodeGen/X86/select-narrow-int-to-fp.ll
M llvm/test/CodeGen/X86/split-extend-vector-inreg.ll
M llvm/test/CodeGen/X86/sse-cvttp2si.ll
M llvm/test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx1.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-128.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-512.ll
M llvm/test/CodeGen/X86/vec_int_to_fp.ll
M llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[X86][BreakFalseDeps] Using reverse order for undef register selection (#137569)
BreakFalseDeps picks the best register for undef operands if
instructions have false dependency. The problem is if the instruction is
close to the beginning of the function, ReachingDefAnalysis is over
optimism to the unused registers, which results in collision with
registers just defined in the caller.
This patch changes the selection of undef register in an reverse order,
which reduces the probability of register collisions between caller and
callee. It brings improvement in some of our internal benchmarks with
negligible effect on other benchmarks.
Commit: fa9e1a1515549124dd76ddc55a8a532795d51fae
https://github.com/llvm/llvm-project/commit/fa9e1a1515549124dd76ddc55a8a532795d51fae
Author: RonDahan101 <166982786+RonDahan101 at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
Log Message:
-----------
[AArch64] Expand llvm.histogram intrinsic to support umax, umin, and uadd.sat operations (#138447)
This patch extends the llvm.histogram intrinsic to support additional
update operations beyond the existing add. Specifically, the new
supported operations are:
* umax: unsigned maximum
* umin: unsigned minimum
* uadd.sat: unsigned saturated addition
Based on the discussion from:
https://discourse.llvm.org/t/rfc-expanding-the-experimental-histogram-intrinsic/84673
Commit: 775ad3e49c83407b79dd5ad533204884cb8b23ce
https://github.com/llvm/llvm-project/commit/775ad3e49c83407b79dd5ad533204884cb8b23ce
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[flang][acc] Ensure all acc.loop get a default parallelism determination mode (#143623)
This PR updates the flang lowering to explicitly implement the OpenACC
rules:
- As per OpenACC 3.3 standard section 2.9.6 independent clause: A loop
construct with no auto or seq clause is treated as if it has the
independent clause when it is an orphaned loop construct or its parent
compute construct is a parallel construct.
- As per OpenACC 3.3 standard section 2.9.7 auto clause: When the parent
compute construct is a kernels construct, a loop construct with no
independent or seq clause is treated as if it has the auto clause.
- Loops in serial regions are `seq` if they have no other parallelism
marking such as gang, worker, vector.
For now the `acc.loop` verifier has not yet been updated to enforce
this.
Commit: b3db0c6a1d063ec9ee15253bde3d428c0ad5968b
https://github.com/llvm/llvm-project/commit/b3db0c6a1d063ec9ee15253bde3d428c0ad5968b
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/dxc_spirv.hlsl
Log Message:
-----------
[HLSL][Driver] Make vk1.3 the default. (#143384)
The HLSL driver currently defaults the triple to an unversioned os and
subarch when targeting SPIR-V. This means the SPIR-V backend decides the
default value. That is not a great option because a change the backend
could cause a change in Clang.
Now that we want to choose the default we need to consider the best
option. DXC currently defaults to Vulkan1.0. We are planning on not
supporting Vulkan1.0 in the Clang HLSL compiler because it is newer
versions of Vulkan are commonly supported on nearly all hardware, so
users do not use it.
Since we have to change from DXC anyway, we are using VK1.3. It has been
out long enough to be commonly available, and the initial implementation
of SPIR-V features for HLSL are assuming Vulkan 1.3.
---------
Co-authored-by: Nathan Gauër <github at keenuts.net>
Commit: 4e441665cc0d1585c8c6e44cf3c71a055f597d2e
https://github.com/llvm/llvm-project/commit/4e441665cc0d1585c8c6e44cf3c71a055f597d2e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
Log Message:
-----------
[BasicAA][ValueTracking] Use MaxLookupSearchDepth constant (NFC)
Use MaxLookupSearchDepth in all places limiting an underlying
object walk, instead of hardcoding 6 in various places.
Commit: 10f512f7bbda076ca2a0f9e3fcb2e7be0cb07199
https://github.com/llvm/llvm-project/commit/10f512f7bbda076ca2a0f9e3fcb2e7be0cb07199
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/include/flang-rt/runtime/stat.h
M flang-rt/include/flang-rt/runtime/type-info.h
R flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor-io.h
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/namelist.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/type-info.cpp
R flang-rt/lib/runtime/work-queue.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang/docs/Extensions.md
M flang/include/flang/Runtime/assign.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/__fortran_type_info.f90
M flang/test/Lower/volatile-openmp.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo03.f90
M flang/test/Semantics/typeinfo04.f90
M flang/test/Semantics/typeinfo05.f90
M flang/test/Semantics/typeinfo06.f90
M flang/test/Semantics/typeinfo07.f90
M flang/test/Semantics/typeinfo08.f90
M flang/test/Semantics/typeinfo11.f90
R flang/test/Semantics/typeinfo12.f90
Log Message:
-----------
Revert runtime work queue patch, it breaks some tests that need investigation (#143713)
Revert "[flang][runtime] Another try to fix build failure"
This reverts commit 13869cac2b5051e453aa96ad71220d9d33404620.
Revert "[flang][runtime] Fix build bot flang-runtime-cuda-gcc errors
(#143650)"
This reverts commit d75e28477af0baa063a4d4cc7b3cf657cfadd758.
Revert "[flang][runtime] Replace recursion with iterative work queue
(#137727)"
This reverts commit 163c67ad3d1bf7af6590930d8f18700d65ad4564.
Commit: 9150a8249f69930a9ed1e7e523555af9815876ec
https://github.com/llvm/llvm-project/commit/9150a8249f69930a9ed1e7e523555af9815876ec
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definition for GL Exp2 (#143678)
Commit: 3ca6ea0f3aabcfba318ce9b14e4567f05de3b556
https://github.com/llvm/llvm-project/commit/3ca6ea0f3aabcfba318ce9b14e4567f05de3b556
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[Clang][ByteCode][NFC] Move APInt into pushInteger since it is being passed by value (#143578)
Static analysis flagged that we could move APInt instead of copy, indeed
it has a move constructor and so we should move into values for APInt.
Commit: 141d390dcb6cd174b07ca663e58f37ab24eee08a
https://github.com/llvm/llvm-project/commit/141d390dcb6cd174b07ca663e58f37ab24eee08a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/docs/OpenMPSupport.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/rewrite-directives.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Examples/omp-atomic.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-implicit-cast.f90
M flang/test/Lower/OpenMP/atomic-privatize.f90
M flang/test/Lower/OpenMP/atomic-write.f90
A flang/test/Lower/OpenMP/dump-atomic-analysis.f90
M flang/test/Parser/OpenMP/atomic-compare.f90
A flang/test/Parser/OpenMP/atomic-end.f90
M flang/test/Semantics/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
A flang/test/Semantics/OpenMP/atomic-read.f90
A flang/test/Semantics/OpenMP/atomic-update-capture.f90
A flang/test/Semantics/OpenMP/atomic-update-only.f90
M flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90
A flang/test/Semantics/OpenMP/atomic-write.f90
M flang/test/Semantics/OpenMP/atomic.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/requires-atomic01.f90
M flang/test/Semantics/OpenMP/requires-atomic02.f90
Log Message:
-----------
[flang][OpenMP] Overhaul implementation of ATOMIC construct (#137852)
The parser will accept a wide variety of illegal attempts at forming an
ATOMIC construct, leaving it to the semantic analysis to diagnose any
issues. This consolidates the analysis into one place and allows us to
produce more informative diagnostics.
The parser's outcome will be parser::OpenMPAtomicConstruct object
holding the directive, parser::Body, and an optional end-directive. The
prior variety of OmpAtomicXyz classes, as well as OmpAtomicClause have
been removed. READ, WRITE, etc. are now proper clauses.
The semantic analysis consistently operates on "evaluation"
representations, mainly evaluate::Expr (as SomeExpr) and
evaluate::Assignment. The results of the semantic analysis are stored in
a mutable member of the OpenMPAtomicConstruct node. This follows a
precedent of having `typedExpr` member in parser::Expr, for example.
This allows the lowering code to avoid duplicated handling of AST nodes.
Using a BLOCK construct containing multiple statements for an ATOMIC
construct that requires multiple statements is now allowed. In fact, any
nesting of such BLOCK constructs is allowed.
This implementation will parse, and perform semantic checks for both
conditional-update and conditional-update-capture, although no MLIR will
be generated for those. Instead, a TODO error will be issues prior to
lowering.
The allowed forms of the ATOMIC construct were based on the OpenMP 6.0
spec.
Commit: e64f8e043cdfc394fd31e157c8c5fb25ca85bd2f
https://github.com/llvm/llvm-project/commit/e64f8e043cdfc394fd31e157c8c5fb25ca85bd2f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/test/Driver/pic-flags.f90
Log Message:
-----------
[flang][Driver] Guard check for pic/pie settings without driver flags (#143530)
The default relocation model for clang depends on the cmake flag
CLANG_DEFAULT_PIE_ON_LINUX. By default it is set to ON, but when it's
OFF, the default relocation model will be "static".
The outcome of the test running clang without any PIC/PIE flags will
depend on the cmake flag, so make sure it only runs when the flag is ON.
Commit: adfea33f0c412b8475b755a8d82c9961b785eb02
https://github.com/llvm/llvm-project/commit/adfea33f0c412b8475b755a8d82c9961b785eb02
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
Log Message:
-----------
[PowerPC][AIX] xfail atan-intrinsic to unblock bot (#143723)
Testcase from https://github.com/llvm/llvm-project/pull/143416 is
causing the AIX bot to be red. XFAIL for now till issue can be resolved.
Commit: bc9f4edf47d2cbed3b1ba7a61d1497dded91ed22
https://github.com/llvm/llvm-project/commit/bc9f4edf47d2cbed3b1ba7a61d1497dded91ed22
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
Log Message:
-----------
[LTO] Fix used before intialised warning (#143705)
For whatever reason I can't reproduce this locally but I can on Compiler
Explorer (https://godbolt.org/z/nfv4b83q6) and on our flang gcc bot
(https://lab.llvm.org/buildbot/#/builders/130/builds/13683/steps/5/logs/stdio).
In file included from ../llvm-project/llvm/include/llvm/LTO/LTO.h:33,
from
../llvm-project/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp:29:
../llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h: In
constructor ‘llvm::FunctionImporter::ImportListsTy::ImportListsTy()’:
../llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h:275:33:
warning: member ‘llvm::FunctionImporter::ImportListsTy::ImportIDs’ is
used uninitialized [-Wuninitialized]
275 | ImportListsTy() : EmptyList(ImportIDs) {}
| ^~~~~~~~~
../llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h: In
constructor
‘llvm::FunctionImporter::ImportListsTy::ImportListsTy(size_t)’:
../llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h:276:44:
warning: member ‘llvm::FunctionImporter::ImportListsTy::ImportIDs’ is
used uninitialized [-Wuninitialized]
276 | ImportListsTy(size_t Size) : EmptyList(ImportIDs), ListsImpl(Size)
{}
| ^~~~~~~~~
ImportIDs was being used during construction of EmptyList, before
ImportIDs itself had been constructed.
Commit: 91be47dccfa3480c152916838404d49107fde45c
https://github.com/llvm/llvm-project/commit/91be47dccfa3480c152916838404d49107fde45c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang] Fix warnings
This patch fixes:
flang/lib/Lower/OpenMP/OpenMP.cpp:3904:9: error: unused variable
'action0' [-Werror,-Wunused-variable]
flang/lib/Lower/OpenMP/OpenMP.cpp:3905:9: error: unused variable
'action1' [-Werror,-Wunused-variable]
Commit: 2ab83e9f68f0c7b1a7199455d7ce05430d93fa44
https://github.com/llvm/llvm-project/commit/2ab83e9f68f0c7b1a7199455d7ce05430d93fa44
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrP10.td
Log Message:
-----------
[NFC][PowerPC] Rename xxevalPattern to adhere to naming convention. (#143675)
Rename class `xxevalPattern` to adhere to naming convention listed in
the coding guideline and used for all other classes in the td file.
Commit: 38fb0117ab10c4541e58697a4b56de2a646cf3f4
https://github.com/llvm/llvm-project/commit/38fb0117ab10c4541e58697a4b56de2a646cf3f4
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/__memory/allocation_guard.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/forward_list
M libcxx/include/version
M libcxx/test/std/containers/sequences/forwardlist/compare.three_way.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/empty.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.access/front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.compile.fail.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_op_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/before_begin.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_after.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_many.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_one.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_const.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_rv.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_range_after.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/prepend_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_const.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_rv.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.compile.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/incomplete.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/max_size.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/support/counting_predicates.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Make forward_list constexpr as part of P3372R3 (#129435)
Fixes #128658
Commit: 5188bea9afac859fa6523e07d98748527c295aaf
https://github.com/llvm/llvm-project/commit/5188bea9afac859fa6523e07d98748527c295aaf
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
M llvm/include/llvm/TargetParser/CSKYTargetParser.h
M llvm/include/llvm/TargetParser/Host.h
M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
M llvm/include/llvm/TargetParser/PPCTargetParser.h
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/include/llvm/TargetParser/SubtargetFeature.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/TargetParser/X86TargetParser.h
Log Message:
-----------
[llvm] annotate interfaces in llvm/TargetParser for DLL export (#143616)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/TargetParser`
library. These annotations currently have no meaningful impact on the
LLVM build; however, they are a prerequisite to support an LLVM Windows
DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
Most of these changes were generated automatically using the [Interface
Definition Scanner (IDS)](https://github.com/compnerd/ids) tool,
followed formatting with `git clang-format`.
Additionally, I manually removed the redundant declaration of
`getCanonicalArchName` from
llvm/include/llvm/TargetParser/ARMTargetParser.h because IDS only
auto-annotates the first declaration it encounters, and the second
un-annotated declaration results in an MSVC warning.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 8f8ed23c6247e9c1dd2df4494930813b353c52c4
https://github.com/llvm/llvm-project/commit/8f8ed23c6247e9c1dd2df4494930813b353c52c4
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/BasicBlock.h
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Function.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/SandboxIR/Module.h
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/include/llvm/SandboxIR/Region.h
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/SandboxIR/Use.h
M llvm/include/llvm/SandboxIR/User.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/lib/SandboxIR/Constant.cpp
Log Message:
-----------
[llvm] annotate interfaces in llvm/SandboxIR for DLL export (#142863)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/SandboxIR` library.
These annotations currently have no meaningful impact on the LLVM build;
however, they are a prerequisite to support an LLVM Windows DLL (shared
library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Remove explicit `GlobalWithNodeAPI::LLVMGVToGV::operator()` template
function instantiations that were previously added for the dylib build.
Instead, directly annotate the `LLVMGVToGV::operator()` method with
`LLVM_ABI`. This is done so the DLL build works with both MSVC and
clang-cl.
- Explicitly `#include "llvm/SandboxIR/Value.h"` in `Tracker.h` so that
the symbol is available for exported templates in this file. These
templates get fully instantiated on DLL export, so they require the full
definition of `Value`.
- Add extern template instantiation declarations for `GlobalWithNodeAPI`
template types in `Constants.h` and annotate them with
`LLVM_TEMPLATE_ABI`.
- Add `LLVM_EXPORT_TEMPLATE` to `GlobalWithNodeAPI` template
instantiations in `Constants.cpp`.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 2652d1b2fd65950a66f37ed6d5ed9c4ffabacbee
https://github.com/llvm/llvm-project/commit/2652d1b2fd65950a66f37ed6d5ed9c4ffabacbee
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/include/llvm/TextAPI/Architecture.h
M llvm/include/llvm/TextAPI/ArchitectureSet.h
M llvm/include/llvm/TextAPI/DylibReader.h
M llvm/include/llvm/TextAPI/InterfaceFile.h
M llvm/include/llvm/TextAPI/PackedVersion.h
M llvm/include/llvm/TextAPI/Platform.h
M llvm/include/llvm/TextAPI/Record.h
M llvm/include/llvm/TextAPI/RecordVisitor.h
M llvm/include/llvm/TextAPI/RecordsSlice.h
M llvm/include/llvm/TextAPI/Symbol.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/include/llvm/TextAPI/Target.h
M llvm/include/llvm/TextAPI/TextAPIError.h
M llvm/include/llvm/TextAPI/TextAPIReader.h
M llvm/include/llvm/TextAPI/TextAPIWriter.h
M llvm/include/llvm/TextAPI/Utils.h
Log Message:
-----------
[llvm] annotate interfaces in llvm/TextAPI for DLL export (#143447)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/TextAPI` library.
These annotations currently have no meaningful impact on the LLVM build;
however, they are a prerequisite to support an LLVM Windows DLL (shared
library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
These changes were generated automatically using the [Interface
Definition Scanner (IDS)](https://github.com/compnerd/ids) tool,
followed formatting with `git clang-format`.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 78765bb856bd6cdc3b1db48e80f74b8de5181f3f
https://github.com/llvm/llvm-project/commit/78765bb856bd6cdc3b1db48e80f74b8de5181f3f
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Simplify computeUberWeights. NFC. (#143716)
Using RegUnitIterator made the code more complicated than having two
nested loops over each register and each register's regunits.
Commit: 8e4f0d8614dcd48cfe2d885a021e2927c1bc8616
https://github.com/llvm/llvm-project/commit/8e4f0d8614dcd48cfe2d885a021e2927c1bc8616
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
A clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
A clang/test/CIR/CodeGen/builtin_call.cpp
Log Message:
-----------
[CIR] Upstream minimal builtin function call support (#142981)
This patch adds all bits required to implement builtin function calls to
ClangIR. It doesn't actually implement any of the builtins except those
that fold to a constant ahead of CodeGen
(`__builtin_is_constant_evaluated()` being one example).
Commit: ec8d68b59f82423e5a6bf452e33ee8c5f64b0edc
https://github.com/llvm/llvm-project/commit/ec8d68b59f82423e5a6bf452e33ee8c5f64b0edc
Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
A clang/test/Analysis/bitint-z3.c
Log Message:
-----------
[clang][analyzer] Correct SMT Layer for _BitInt cases refutations (#143310)
Since _BitInt was added later, ASTContext did not comprehend getting a
type by bitwidth that's not a power of 2, and the SMT layer also did not
comprehend this. This led to unexpected crashes using Z3 refutation
during randomized testing. The assertion and redacted and summarized
crash stack is shown here.
clang:
../../clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h:103:
static llvm::SMTExprRef
clang::ento::SMTConv::fromBinOp(llvm::SMTSolverRef &,
const llvm::SMTExprRef &, const BinaryOperator::Opcode, const
llvm::SMTExprRef &, bool):
Assertion `*Solver->getSort(LHS) == *Solver->getSort(RHS) && "AST's must
have the same sort!"' failed.
...
<address>
clang::ento::SMTConv::fromBinOp(std::shared_ptr<llvm::SMTSolver>&,
llvm::SMTExpr const* const&, clang::BinaryOperatorKind, llvm::SMTExpr
const* const&,
bool) SMTConstraintManager.cpp
clang::ASTContext&, llvm::SMTExpr const* const&, clang::QualType,
clang::BinaryOperatorKind, llvm::SMTExpr const* const&, clang::QualType,
clang::QualType*) SMTConstraintManager.cpp
clang::ASTContext&, clang::ento::SymExpr const*, llvm::APSInt const&,
llvm::APSInt const&, bool) SMTConstraintManager.cpp
clang::ento::ExplodedNode const*, clang::ento::PathSensitiveBugReport&)
---------
Co-authored-by: Vince Bridgers <vince.a.bridgers at ericsson.com>
Commit: fe7bf4b90b1a835418bddd2b2aa63b4977a9f6d2
https://github.com/llvm/llvm-project/commit/fe7bf4b90b1a835418bddd2b2aa63b4977a9f6d2
Author: Rolf Morel <854835+rolfmorel at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/IR/TransformAttrs.h
M mlir/include/mlir/Dialect/Transform/IR/TransformAttrs.td
M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/python/mlir/dialects/transform/__init__.py
M mlir/test/Dialect/Transform/test-pass-application.mlir
M mlir/test/python/dialects/transform.py
Log Message:
-----------
[MLIR][Transform] apply_registered_pass op's options as a dict (#143159)
Improve ApplyRegisteredPassOp's support for taking options by taking
them as a dict (vs a list of string-valued key-value pairs).
Values of options are provided as either static attributes or as params
(which pass in attributes at interpreter runtime). In either case, the
keys and value attributes are converted to strings and a single
options-string, in the format used on the commandline, is constructed to
pass to the `addToPipeline`-pass API.
Commit: 459475020aeff15d0f886ab99c59d66b744d3e17
https://github.com/llvm/llvm-project/commit/459475020aeff15d0f886ab99c59d66b744d3e17
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
Log Message:
-----------
Reapply 76197ea6f91f after removing an assertion
Specifically this is the assertion in BasicBlock.cpp. Now that we're not
examining or setting that flag consistently (because it'll be deleted in
about an hour) there's no need to keep this assertion.
Original commit title:
[DebugInfo][RemoveDIs] Remove some debug intrinsic-only codepaths (#143451)
Commit: f1575de4c5de9268f92eea1641af755a477e4ee4
https://github.com/llvm/llvm-project/commit/f1575de4c5de9268f92eea1641af755a477e4ee4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc][NFC] Remove template from GPU allocator reference counter
Summary:
We don't need this to be generic, precommit for
https://github.com/llvm/llvm-project/pull/143607
Commit: aa8a1fa6f515f45db55365b9c1f8453ded24ed32
https://github.com/llvm/llvm-project/commit/aa8a1fa6f515f45db55365b9c1f8453ded24ed32
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/SSAUpdater.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.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.h
Log Message:
-----------
[DLCov][NFC] Annotate intentionally-blank DebugLocs in existing code (#136192)
Following the work in PR #107279, this patch applies the annotative
DebugLocs, which indicate that a particular instruction is intentionally
missing a location for a given reason, to existing sites in the compiler
where their conditions apply. This is NFC in ordinary LLVM builds (each
function `DebugLoc::getFoo()` is inlined as `DebugLoc()`), but marks the
instruction in coverage-tracking builds so that it will be ignored by
Debugify, allowing only real errors to be reported. From a developer
standpoint, it also communicates the intentionality and reason for a
missing DebugLoc.
Some notes for reviewers:
- The difference between `I->dropLocation()` and
`I->setDebugLoc(DebugLoc::getDropped())` is that the former _may_ decide
to keep some debug info alive, while the latter will always be empty; in
this patch, I always used the latter (even if the former could
technically be correct), because the former could result in some
(barely) different output, and I'd prefer to keep this patch purely NFC.
- I've generally documented the uses of `DebugLoc::getUnknown()`, with
the exception of the vectorizers - in summary, they are a huge cause of
dropped source locations, and I don't have the time or the domain
knowledge currently to solve that, so I've plastered it all over them as
a form of "fixme".
Commit: 117e78fe5012087c1ee535b91936bf4d8e3c7785
https://github.com/llvm/llvm-project/commit/117e78fe5012087c1ee535b91936bf4d8e3c7785
Author: William <113542065+saturn691 at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/locale.yaml
M libc/include/stdio.yaml
M libc/include/stdlib.yaml
M libc/include/string.h.def
M libc/include/string.yaml
M libc/include/time.yaml
M libc/include/wchar.yaml
Log Message:
-----------
[libc] Add NULL macro definitions to header files (#142764)
By the C standard, <locale.h>, <stddef.h> <stdio.h>, <stdlib.h>,
<string.h>, <time.h>, and <wchar.h> require NULL to be defined.
Commit: 469922f7c40a1733fba98e29fa2bd09a9565ddd6
https://github.com/llvm/llvm-project/commit/469922f7c40a1733fba98e29fa2bd09a9565ddd6
Author: Sami Tolvanen <samitolvanen at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86IndirectBranchTracking.cpp
A llvm/test/CodeGen/X86/callbr-asm-endbr.ll
Log Message:
-----------
[X86] Don't emit ENDBR for asm goto branch targets (#143439)
Similarly to #141562, which disabled BTI generation for ARM asm goto
branch targets, drop unnecessary ENDBRs from IsInlineAsmBrIndirectTarget
machine basic blocks.
Commit: 145b1b0f103e61cfc8a47ed37080e955630a1390
https://github.com/llvm/llvm-project/commit/145b1b0f103e61cfc8a47ed37080e955630a1390
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M lldb/include/lldb/Symbol/Variable.h
M lldb/source/Symbol/Variable.cpp
Log Message:
-----------
[lldb][nfc] Factor out code checking if Variable is in scope (#143572)
This is useful for checking whether a variable is in scope inside a
specific block.
Commit: 370e54d03a5bb11f3f283ad5ab479501c74069c7
https://github.com/llvm/llvm-project/commit/370e54d03a5bb11f3f283ad5ab479501c74069c7
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/IR/vector.cir
Log Message:
-----------
[CIR] Upstream splat op for VectorType (#139827)
This change adds support for splat op for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 621a7d0f66f3da27e687dd7dd832450334ee81da
https://github.com/llvm/llvm-project/commit/621a7d0f66f3da27e687dd7dd832450334ee81da
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
A flang/test/Semantics/modfile76.F90
Log Message:
-----------
[flang] silence bogus error with BIND(C) variable in hermetic module (#143737)
The global name semantic check was firing in a bogus way when BIND(C)
variables are in hermetic module.
Do not raise the error if one of the symbol with the conflicting global
name is an "hermetic variant" of the other.
Commit: 7414d88b5f8af1bdf8da6bf2493b485ba5d079f2
https://github.com/llvm/llvm-project/commit/7414d88b5f8af1bdf8da6bf2493b485ba5d079f2
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/IR/DIBuilder.cpp
Log Message:
-----------
Squelch an unused-function warning
After removing some debug-intrinsic creation code, this function is now
unused (and un-necessary)
Commit: 3e24dadee0d7ecc5f95fe0760afb7abdeb9a2dc5
https://github.com/llvm/llvm-project/commit/3e24dadee0d7ecc5f95fe0760afb7abdeb9a2dc5
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Log Message:
-----------
[Clang][Tooling][NFC] Use move to avoid copies of large objects (#143603)
Static analysis flagged these cases in which can use std::move and avoid
copies of large objects.
Commit: 66f533e7e34d6f6d0e293a67dd54be9e4c240ddd
https://github.com/llvm/llvm-project/commit/66f533e7e34d6f6d0e293a67dd54be9e4c240ddd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/DIBuilder.h
M llvm/lib/IR/DIBuilder.cpp
Log Message:
-----------
[IR] Fix warnings (#143752)
This patch fixes:
llvm/lib/IR/DIBuilder.cpp:1072:18: error: unused function
'getDeclareIntrin' [-Werror,-Wunused-function]
llvm/include/llvm/IR/DIBuilder.h:51:15: error: private field
'DeclareFn' is not used [-Werror,-Wunused-private-field]
llvm/include/llvm/IR/DIBuilder.h:52:15: error: private field
'ValueFn' is not used [-Werror,-Wunused-private-field]
llvm/include/llvm/IR/DIBuilder.h:53:15: error: private field
'LabelFn' is not used [-Werror,-Wunused-private-field]
llvm/include/llvm/IR/DIBuilder.h:54:15: error: private field
'AssignFn' is not used [-Werror,-Wunused-private-field]
Commit: c2f0af514beb7618660cf8d145fa9e49fb78869c
https://github.com/llvm/llvm-project/commit/c2f0af514beb7618660cf8d145fa9e49fb78869c
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/GlobalISel/knownbits-ptrtoint.mir
Log Message:
-----------
[GISelValueTracking] Add test case for G_PTRTOINT
While we can only reason about the index/address, the G_PTRTOINT
operations returns all representation bits, so we can't assume the
remaining ones are all zeroes. This behaviour was clarified as part of
the discussion in https://discourse.llvm.org/t/clarifiying-the-semantics-of-ptrtoint/83987/54.
The LangRef semantics of ptrtoint being a full representation bitcast
were documented in https://github.com/llvm/llvm-project/pull/139349.
Prior to 77c8d214131e951e3d3a07b45a7436f54988d6f3 we were incorrectly
assuming known zeroes beyond the index size even if the input was
completely unknown. This commit adds a test case for G_PTRTOINT which
was omitted from that change.
See https://github.com/llvm/llvm-project/issues/139598
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/139608
Commit: bbe59e19b60b0efa8cc200fb3260fe572e188b26
https://github.com/llvm/llvm-project/commit/bbe59e19b60b0efa8cc200fb3260fe572e188b26
Author: Kewen12 <Kewen.Meng at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M offload/libomptarget/PluginManager.cpp
Log Message:
-----------
[OpenMP][Offload] Update the Logic for Configuring Auto Zero-Copy (#143638)
Summary:
Currently the Auto Zero-Copy is enabled by checking every initialized
device to ensure that no dGPU is attached to an APU. However, an APU is
designed to comprise a homogeneous set of GPUs, therefore, it should be
sufficient to check any device for configuring Auto Zero-Copy. In this
PR, it checks the first initialized device in the list.
The changes in this PR are to clearly reflect the design and logic of
enabling the feature for further improving the readibility.
Commit: fad1972d74aead159a5e91b068cbf736e83836b5
https://github.com/llvm/llvm-project/commit/fad1972d74aead159a5e91b068cbf736e83836b5
Author: VISHAKH PRAKASH <vishakh.prakash at multicorewareinc.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/test/CodeGen/SPIRV/const-nested-vecs.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/progvar_prog_scope_init.ll
M llvm/test/CodeGen/SPIRV/opt-gepoperator-of-gvar.ll
M llvm/test/CodeGen/SPIRV/pointers/PtrCast-in-OpSpecConstantOp.ll
M llvm/test/CodeGen/SPIRV/pointers/global-ptrtoint.ll
M llvm/test/CodeGen/SPIRV/pointers/irtrans-added-int-const-32-64.ll
Log Message:
-----------
[SPIRV] FIX print the symbolic operand for opcode for the operation OpSpecConstantOp (#135756)
Current implementation outputs opcode is an immediate but spirv-tools
requires that the name of the operation without "Op" is needed for the
instruction OpSpecConstantOp
that is if the opcode is OpBitcast the instruction must be
`%1 = OpSpecConstantOp %6 Bitcast %17`
instead of
`%1 = OpBitcast %6 124 %17`
[refer this commit for more
info](https://github.com/KhronosGroup/SPIRV-Tools/commit/0f166be68d4b6624a10d6bf312679505d391ec22)
---------
Co-authored-by: Dmitry Sidorov <dmitry.sidorov at intel.com>
Co-authored-by: Ebin-McW <ebin.jose at multicorewareinc.com>
Commit: 42c82fcc29c1c8e19b2265495a5d8f59fb5ea764
https://github.com/llvm/llvm-project/commit/42c82fcc29c1c8e19b2265495a5d8f59fb5ea764
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/docs/index.rst
M libcxx/src/experimental/time_zone.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.compile.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/ctor_func.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/param_ctor_func.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/general.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
R libcxx/test/std/utilities/meta/meta.unary/dependent_return_type.compile.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/dependent_return_type.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit_initializer_list.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR31384.pass.cpp
M libcxxabi/test/catch_member_function_pointer_02.pass.cpp
Log Message:
-----------
[libc++] Upgrade to GCC 15 (#138293)
Commit: 806333063ff9a09ca001dcd77d4d5d6f0b9ecd74
https://github.com/llvm/llvm-project/commit/806333063ff9a09ca001dcd77d4d5d6f0b9ecd74
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/test/CodeGen/RISCV/nest-register.ll
Log Message:
-----------
[RISCV] Guard the alternative static chain register use on ILP32E/LP64E (#142715)
Asserts the use of t3(x28) as the static chain register when branch control flow protection is enabled with ILP32E/LP64E, because such register is not present within the ABI.
Commit: 7a0c9f607a26b77a7e584fd6734f03b7ee40ca95
https://github.com/llvm/llvm-project/commit/7a0c9f607a26b77a7e584fd6734f03b7ee40ca95
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/xxeval-vselect-x-or.ll
Log Message:
-----------
[NFC][PowerPC] Pre-commit test case for exploitation of xxeval for the pattern ternary(A,X,or(B,C)) (#143693)
Pre-commit test case for exploitation of `xxeval` for ternary operations
of the pattern `ternary(A,X,or(B,C))`.
Exploitation of `xxeval` to be added later.
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: 8d7da9a2a40302af25ee70841a4b549f4ed5ee8a
https://github.com/llvm/llvm-project/commit/8d7da9a2a40302af25ee70841a4b549f4ed5ee8a
Author: Yifei Xu <yifei.xu at utexas.edu>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Update BUILD.bazel
Add missing dependency after https://github.com/llvm/llvm-project/pull/142916.
Commit: 773d357b9882fe0e30ffddee5ac1fbe2254fac05
https://github.com/llvm/llvm-project/commit/773d357b9882fe0e30ffddee5ac1fbe2254fac05
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libcxx/src/hash.cpp
Log Message:
-----------
[libc++] Simplify the implementation of __next_prime a bit (#143512)
Commit: 8dc63ca59003a4b72217221c1c801237614c9d7d
https://github.com/llvm/llvm-project/commit/8dc63ca59003a4b72217221c1c801237614c9d7d
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/test/Frontend/aarch64-print-enabled-extensions-cc1.c
Log Message:
-----------
Make clang/test/Frontend/aarch64-print-enabled-extensions-cc1.c write output file to temp dir
Commit: 0c62571d9f02f7d5c1a649b5b20fdf5b0f6bb41c
https://github.com/llvm/llvm-project/commit/0c62571d9f02f7d5c1a649b5b20fdf5b0f6bb41c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libcxx/src/hash.cpp
Log Message:
-----------
[libc++] Remove static_assert from hash.cpp that fires unconditionall
Commit: 02b6849cf1feb425885bf6f5ee505d5cd4a824d7
https://github.com/llvm/llvm-project/commit/02b6849cf1feb425885bf6f5ee505d5cd4a824d7
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_ast_dump.cpp
A clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
A clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_ast_dump.cpp
A clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
R clang/test/OpenMP/target_map_nest_defalut_mapper_ast_dump.cpp
R clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
M offload/test/mapping/declare_mapper_nested_default_mappers_array.cpp
Log Message:
-----------
[Clang][OpenMP] Fix mapping of arrays of structs with members with mappers (#142511)
This builds upon #101101 from @jyu2-git, which used compiler-generated
mappers when mapping an array-section of structs with members that have
user-defined default mappers.
Now we do the same when mapping arrays of structs.
Commit: 574f77a1ee34461bc1f4a0823da6c960ff1c9655
https://github.com/llvm/llvm-project/commit/574f77a1ee34461bc1f4a0823da6c960ff1c9655
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[OpenACC][CIR] Add parallelism determ. to all acc.loops (#143751)
PR #143720 adds a requirement to the ACC dialect that every acc.loop
must have a seq, independent, or auto attribute for the 'default'
device_type. The standard has rules for how this can be intuited:
orphan/parallel/parallel loop: independent
kernels/kernels loop: auto
serial/serial loop: seq, unless there is a gang/worker/vector, at which
point it should be 'auto'.
This patch implements all of this rule as a 'cleanup' step on the IR
generation for combined/loop operations. Note that the test impact is
much less since I inadvertently have my 'operation' terminating curley
matching the end curley from 'attribute' instead of the front of the
line, so I've added sufficient tests to ensure I captured the above.
Commit: d5f68cb145059fc6d2944e1d17ef561e183ade83
https://github.com/llvm/llvm-project/commit/d5f68cb145059fc6d2944e1d17ef561e183ade83
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port fe7bf4b90b1a835418bddd2b2aa63b4977a9f6d2
Commit: 5dafe9dca867b90f20dcd71c620ad823aee4262b
https://github.com/llvm/llvm-project/commit/5dafe9dca867b90f20dcd71c620ad823aee4262b
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/__support/str_to_integer_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/atof_test.cpp
M libc/test/src/stdlib/strtod_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/string/CMakeLists.txt
M libc/test/src/string/strdup_test.cpp
Log Message:
-----------
[libc] Reduce direct use of errno in src/stdlib and src/__support tests. (#143767)
* Get rid of libc_errno assignments in str_to_* __support tests, since
those API have been migrated to return error in a struct instead.
* Migrate tests for atof and to strto* functions from <stdlib.h> and for
strdup from <string.h> to use ErrnoCheckingTest harness.
Commit: 22fd11fe66a0d64f5ef359e21ae67a7d40936eaf
https://github.com/llvm/llvm-project/commit/22fd11fe66a0d64f5ef359e21ae67a7d40936eaf
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/include/llvm/Support/AutoConvert.h
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/InitLLVM.cpp
M llvm/lib/Support/MemoryBuffer.cpp
M llvm/lib/Support/raw_ostream.cpp
Log Message:
-----------
[SystemZ][z/OS] Refactor AutoConvert.h to remove large MVS guard (#143174)
This AutoConvert.h header frequently gets mislabeled as an unused
include because it is guarded by MVS internally and every usage is also
guarded. This refactors the change to remove this guard and instead make
these functions a noop on other non-z/OS platforms.
Commit: 34a1b8ce2518d7868c080519a05892cd3b197192
https://github.com/llvm/llvm-project/commit/34a1b8ce2518d7868c080519a05892cd3b197192
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/canonicalize.mlir
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/legalize-data.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[acc] acc.loop verifier now requires parallelism determination flag (#143720)
The OpenACC specification for `acc loop` describe that a loop's
parallelism determination mode is either auto, independent, or seq. The
rules are as follows.
- As per OpenACC 3.3 standard section 2.9.6 independent clause: A loop
construct with no auto or seq clause is treated as if it has the
independent clause when it is an orphaned loop construct or its parent
compute construct is a parallel construct.
- As per OpenACC 3.3 standard section 2.9.7 auto clause: When the parent
compute construct is a kernels construct, a loop construct with no
independent or seq clause is treated as if it has the auto clause.
- Additionally, loops marked with gang, worker, or vector are not
guaranteed to be parallel. Specifically noted in 2.9.7 auto clause: If
not, or if it is unable to make a determination, it must treat the auto
clause as if it is a seq clause, and it must ignore any gang, worker, or
vector clauses on the loop construct.
The verifier for `acc.loop` was updated to enforce this marking because
the context in which a loop appears is not trivially determined once IR
transformations begin. For example, orphaned loops are implicitly
`independent`, but after inlining into an `acc.kernels` region they
would be implicitly considered `auto`. Thus now the verifier requires
that a frontend specifically generates acc dialect with this marking
since it knows the context.
Commit: 02161c635fd70e0214bd8b8320a80992c50ec325
https://github.com/llvm/llvm-project/commit/02161c635fd70e0214bd8b8320a80992c50ec325
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
Log Message:
-----------
[NVPTX] Misc table-gen cleanup (NFC) (#142877)
Commit: ace356bc9777e6a5b5aa0ba2335d2546ac6f330e
https://github.com/llvm/llvm-project/commit/ace356bc9777e6a5b5aa0ba2335d2546ac6f330e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Always verify VPCanonicalIVPHIRecipe placement (NFC).
Loop regions are dissolved since dcef154b5caf6556e69bb1, remove the
check for VerifyLate and corresponding TODO.
Commit: ebc90d50b88a7c46634ea21e40ddb25c679ac874
https://github.com/llvm/llvm-project/commit/ebc90d50b88a7c46634ea21e40ddb25c679ac874
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
Log Message:
-----------
[SandboxVectorizer] Use llvm::find (NFC) (#143724)
llvm::find allows us to pass a range.
Commit: e266d6a5da6871c89747416c70a4a39181b594fb
https://github.com/llvm/llvm-project/commit/e266d6a5da6871c89747416c70a4a39181b594fb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/lib/Format/MacroCallReconstructor.cpp
Log Message:
-----------
[Format] Use llvm::min_element (NFC) (#143725)
llvm::min_elements allows us to pass a range.
Commit: c1d21f44340901f6a23ae7eb7c5379f5ad197b27
https://github.com/llvm/llvm-project/commit/c1d21f44340901f6a23ae7eb7c5379f5ad197b27
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/MachO/UnwindInfoSection.cpp
Log Message:
-----------
[lld] Use std::tie to implement comparison operators (NFC) (#143726)
std::tie facilitates lexicographical comparisons through std::tuple's
built-in operator< and operator>.
Commit: 8da1ac98efa0d315824a92d8b563299eccc3e0f1
https://github.com/llvm/llvm-project/commit/8da1ac98efa0d315824a92d8b563299eccc3e0f1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
Log Message:
-----------
[llvm] Use std::tie to implement operator< (NFC) (#143728)
std::tie facilitates lexicographical comparisons through std::tuple's
built-in operator<.
Commit: 43c35e858ccae05d69151ccf9712a725aae37b52
https://github.com/llvm/llvm-project/commit/43c35e858ccae05d69151ccf9712a725aae37b52
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/Transforms/Utils/CFGToSCF.cpp
Log Message:
-----------
[mlir] Simplify calls to *Map::{insert,try_emplace} (NFC) (#143729)
This patch simplifies code by removing the values from
insert/try_emplace. Note that default values inserted by try_emplace
are immediately overrideen in all these cases.
Commit: ad2a2b8eed2f3ed1e050833ea8a8d88b0878c6a7
https://github.com/llvm/llvm-project/commit/ad2a2b8eed2f3ed1e050833ea8a8d88b0878c6a7
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/CMakeLists.txt
M llvm/docs/CommandGuide/index.rst
A llvm/docs/CommandGuide/llvm-test-mustache-spec.rst
A llvm/utils/llvm-test-mustache-spec/CMakeLists.txt
A llvm/utils/llvm-test-mustache-spec/llvm-test-mustache-spec.cpp
Log Message:
-----------
[llvm] Add a tool to check mustache compliance against the public spec (#142813)
This is a cli tool to that tests the conformance of LLVM's mustache
implementation against the public Mustache spec, hosted at
https://github.com/mustache/spec. This is a revised version of the
patches in #111487.
Co-authored-by: Peter Chou <peter.chou at mail.utoronto.ca>
Commit: e7e491f6ee2baee4e2ab2947e1c64bc54e3ebbec
https://github.com/llvm/llvm-project/commit/e7e491f6ee2baee4e2ab2947e1c64bc54e3ebbec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/combine-reduce-add-to-vcpop.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/X86/avx10_2_512bf16-arith.ll
M llvm/test/CodeGen/X86/avx10_2bf16-arith.ll
Log Message:
-----------
[SelectionDAG] Add ISD::VSELECT to SelectionDAG::canCreateUndefOrPoison. (#143760)
Commit: 5623b7f2d56ecba84de5d62444feed2dea2b7e25
https://github.com/llvm/llvm-project/commit/5623b7f2d56ecba84de5d62444feed2dea2b7e25
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use GeneratedRTChecks to check if safety checks were added (NFC).
Directly check via GeneratedRTChecks if any checks have been added,
instead of needing to go through ILV. This simplifies the code and
enables further refactoring in follow-up patches.
Commit: c70658e32debfc3b2c0f6c2b2228ac48e976fd51
https://github.com/llvm/llvm-project/commit/c70658e32debfc3b2c0f6c2b2228ac48e976fd51
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[bazel] port 5dafe9dca867b90f20dcd71c620ad823aee4262b
Commit: 52583b3ed7dd39788360361fc1e21039c8eb5479
https://github.com/llvm/llvm-project/commit/52583b3ed7dd39788360361fc1e21039c8eb5479
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A libc/hdr/types/char32_t.h
A libc/hdr/types/char8_t.h
A libc/hdr/uchar_overlay.h
A libc/src/__support/wchar/CMakeLists.txt
A libc/src/__support/wchar/character_converter.cpp
A libc/src/__support/wchar/character_converter.h
A libc/src/__support/wchar/mbstate.h
A libc/src/__support/wchar/utf_ret.h
Log Message:
-----------
[libc] Character converter skeleton class (#143619)
Made CharacterConverter class skeleton
Commit: a2d2941830d9c141d7f43da1ff58e7b7235a9f7d
https://github.com/llvm/llvm-project/commit/a2d2941830d9c141d7f43da1ff58e7b7235a9f7d
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A lldb/scripts/convert-lldb-header-to-rpc-header.py
A lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBDefines.test
A lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBEnumerations.test
A lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBTypes.test
A lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckSBDefines.test
A lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/SBDefines.h
A lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-defines.h
A lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-enumerations.h
A lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-types.h
Log Message:
-----------
[lldb][RPC] Upstream LLDB to RPC converstion Python script (#138028)
As part of upstreaming LLDB RPC, this commit adds a python script that
is used by LLDB RPC to modify the public lldb header files for use with
RPC.
https://discourse.llvm.org/t/rfc-upstreaming-lldb-rpc/85804
Commit: b42aef5e6f32a3ac6c259cb4cacf58239400b5aa
https://github.com/llvm/llvm-project/commit/b42aef5e6f32a3ac6c259cb4cacf58239400b5aa
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
A flang/test/Semantics/modfile77.F90
A flang/test/Semantics/modfile78.F90
Log Message:
-----------
[flang] Don't duplicate hermetic module file dependencies (#143605)
When emitting the modules on which a module depends under the
-fhermetic-module-files options, eliminate duplicates by name rather
than by symbol addresses. This way, when a dependent module is in the
symbol table more than once due to the use of a nested hermetic module,
it doesn't get emitted multiple times to the new module file.
Commit: e389a0e7bb3d7aabbd10b9ba8f432f292de65649
https://github.com/llvm/llvm-project/commit/e389a0e7bb3d7aabbd10b9ba8f432f292de65649
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/wcscpy.cpp
M libc/src/wchar/wcsncpy.cpp
M libc/src/wchar/wmemcpy.cpp
M libc/src/wchar/wmempcpy.cpp
Log Message:
-----------
[libc] Switched calls to inline_memcpy to __builtin_memcpy for wide char utilities (#143011)
Switched calls to inline_memcpy to __builtin_memcpy for wide char
utilities
Removed unnecessary wctype_utils dependencies from the cmake file
Commit: fb761aa38b0bc01ab911f5dbbfb474b70aaafbb4
https://github.com/llvm/llvm-project/commit/fb761aa38b0bc01ab911f5dbbfb474b70aaafbb4
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/python/mlir/dialects/transform/__init__.py
M mlir/test/Dialect/Transform/test-pass-application.mlir
M mlir/test/python/dialects/transform.py
Log Message:
-----------
[MLIR][Transform] apply_registered_op fixes: arg order & python options auto-conversion (#143779)
Commit: d87eea35fac5a34a841c637db8908128409a184e
https://github.com/llvm/llvm-project/commit/d87eea35fac5a34a841c637db8908128409a184e
Author: lntue <lntue at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/config/config.json
M libc/docs/dev/code_style.rst
M libc/shared/fp_bits.h
A libc/shared/libc_common.h
M libc/shared/rpc_server.h
M libc/shared/str_to_float.h
M libc/shared/str_to_integer.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/file.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/File/linux/lseekImpl.h
M libc/src/__support/HashTable/randomness.h
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/__support/OSUtil/linux/vdso.cpp
M libc/src/__support/StringUtil/tables/linux_extension_errors.h
A libc/src/__support/libc_errno.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/dirent/closedir.cpp
M libc/src/dirent/opendir.cpp
M libc/src/dirent/readdir.cpp
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
R libc/src/errno/libc_errno.h
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/inttypes/strtoimax.cpp
M libc/src/inttypes/strtoumax.cpp
M libc/src/math/generic/exp10m1f.cpp
M libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/nan.cpp
M libc/src/math/generic/nanf.cpp
M libc/src/math/generic/nanf128.cpp
M libc/src/math/generic/nanf16.cpp
M libc/src/math/generic/nanl.cpp
M libc/src/poll/linux/poll.cpp
M libc/src/pthread/pthread_atfork.cpp
M libc/src/pthread/pthread_attr_setdetachstate.cpp
M libc/src/pthread/pthread_attr_setguardsize.cpp
M libc/src/pthread/pthread_attr_setstack.cpp
M libc/src/pthread/pthread_attr_setstacksize.cpp
M libc/src/pthread/pthread_condattr_setclock.cpp
M libc/src/pthread/pthread_condattr_setpshared.cpp
M libc/src/pthread/pthread_create.cpp
M libc/src/pthread/pthread_key_create.cpp
M libc/src/pthread/pthread_key_delete.cpp
M libc/src/pthread/pthread_mutexattr_setpshared.cpp
M libc/src/pthread/pthread_mutexattr_setrobust.cpp
M libc/src/pthread/pthread_mutexattr_settype.cpp
M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
M libc/src/pthread/pthread_rwlock_trywrlock.cpp
M libc/src/pthread/pthread_rwlock_unlock.cpp
M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
M libc/src/pthread/pthread_setspecific.cpp
M libc/src/sched/linux/sched_get_priority_max.cpp
M libc/src/sched/linux/sched_get_priority_min.cpp
M libc/src/sched/linux/sched_getaffinity.cpp
M libc/src/sched/linux/sched_getparam.cpp
M libc/src/sched/linux/sched_getscheduler.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sched/linux/sched_setaffinity.cpp
M libc/src/sched/linux/sched_setparam.cpp
M libc/src/sched/linux/sched_setscheduler.cpp
M libc/src/sched/linux/sched_yield.cpp
M libc/src/search/hcreate.cpp
M libc/src/search/hcreate_r.cpp
M libc/src/search/hdestroy_r.cpp
M libc/src/search/hsearch.cpp
M libc/src/search/hsearch_r.cpp
M libc/src/signal/linux/kill.cpp
M libc/src/signal/linux/sigaction.cpp
M libc/src/signal/linux/sigaddset.cpp
M libc/src/signal/linux/sigaltstack.cpp
M libc/src/signal/linux/sigdelset.cpp
M libc/src/signal/linux/sigemptyset.cpp
M libc/src/signal/linux/sigfillset.cpp
M libc/src/signal/linux/sigprocmask.cpp
M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/generic/fclose.cpp
M libc/src/stdio/generic/fflush.cpp
M libc/src/stdio/generic/fgetc.cpp
M libc/src/stdio/generic/fgetc_unlocked.cpp
M libc/src/stdio/generic/fgets.cpp
M libc/src/stdio/generic/fopen.cpp
M libc/src/stdio/generic/fputc.cpp
M libc/src/stdio/generic/fputs.cpp
M libc/src/stdio/generic/fread.cpp
M libc/src/stdio/generic/fread_unlocked.cpp
M libc/src/stdio/generic/fseek.cpp
M libc/src/stdio/generic/fseeko.cpp
M libc/src/stdio/generic/ftell.cpp
M libc/src/stdio/generic/ftello.cpp
M libc/src/stdio/generic/fwrite.cpp
M libc/src/stdio/generic/fwrite_unlocked.cpp
M libc/src/stdio/generic/getc.cpp
M libc/src/stdio/generic/getc_unlocked.cpp
M libc/src/stdio/generic/getchar.cpp
M libc/src/stdio/generic/getchar_unlocked.cpp
M libc/src/stdio/generic/putc.cpp
M libc/src/stdio/generic/putchar.cpp
M libc/src/stdio/generic/puts.cpp
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/linux/fdopen.cpp
M libc/src/stdio/linux/remove.cpp
M libc/src/stdio/linux/rename.cpp
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/setbuf.cpp
M libc/src/stdio/setvbuf.cpp
M libc/src/stdlib/atof.cpp
M libc/src/stdlib/atoi.cpp
M libc/src/stdlib/atol.cpp
M libc/src/stdlib/atoll.cpp
M libc/src/stdlib/strtod.cpp
M libc/src/stdlib/strtod_l.cpp
M libc/src/stdlib/strtof.cpp
M libc/src/stdlib/strtof_l.cpp
M libc/src/stdlib/strtol.cpp
M libc/src/stdlib/strtol_l.cpp
M libc/src/stdlib/strtold.cpp
M libc/src/stdlib/strtold_l.cpp
M libc/src/stdlib/strtoll.cpp
M libc/src/stdlib/strtoll_l.cpp
M libc/src/stdlib/strtoul.cpp
M libc/src/stdlib/strtoul_l.cpp
M libc/src/stdlib/strtoull.cpp
M libc/src/stdlib/strtoull_l.cpp
M libc/src/string/strdup.cpp
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/epoll/linux/epoll_create.cpp
M libc/src/sys/epoll/linux/epoll_create1.cpp
M libc/src/sys/epoll/linux/epoll_ctl.cpp
M libc/src/sys/epoll/linux/epoll_pwait.cpp
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
M libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/src/sys/mman/linux/madvise.cpp
M libc/src/sys/mman/linux/mincore.cpp
M libc/src/sys/mman/linux/mlock.cpp
M libc/src/sys/mman/linux/mlock2.cpp
M libc/src/sys/mman/linux/mlockall.cpp
M libc/src/sys/mman/linux/mmap.cpp
M libc/src/sys/mman/linux/mprotect.cpp
M libc/src/sys/mman/linux/mremap.cpp
M libc/src/sys/mman/linux/msync.cpp
M libc/src/sys/mman/linux/munlock.cpp
M libc/src/sys/mman/linux/munlockall.cpp
M libc/src/sys/mman/linux/munmap.cpp
M libc/src/sys/mman/linux/remap_file_pages.cpp
M libc/src/sys/mman/linux/shm_common.h
M libc/src/sys/prctl/linux/prctl.cpp
M libc/src/sys/random/linux/getrandom.cpp
M libc/src/sys/resource/linux/getrlimit.cpp
M libc/src/sys/resource/linux/setrlimit.cpp
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/sendfile/linux/sendfile.cpp
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/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fchmodat.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/mkdirat.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/sys/statvfs/linux/statfs_utils.h
M libc/src/sys/time/linux/getitimer.cpp
M libc/src/sys/time/linux/setitimer.cpp
M libc/src/sys/time/linux/utimes.cpp
M libc/src/sys/uio/linux/readv.cpp
M libc/src/sys/uio/linux/writev.cpp
M libc/src/sys/utsname/linux/uname.cpp
M libc/src/sys/wait/wait4Impl.h
M libc/src/termios/linux/cfsetispeed.cpp
M libc/src/termios/linux/cfsetospeed.cpp
M libc/src/termios/linux/tcdrain.cpp
M libc/src/termios/linux/tcflow.cpp
M libc/src/termios/linux/tcflush.cpp
M libc/src/termios/linux/tcgetattr.cpp
M libc/src/termios/linux/tcgetsid.cpp
M libc/src/termios/linux/tcsendbreak.cpp
M libc/src/termios/linux/tcsetattr.cpp
M libc/src/threads/thrd_create.cpp
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/nanosleep.cpp
M libc/src/time/linux/timespec_get.cpp
M libc/src/time/time.cpp
M libc/src/time/time_utils.h
M libc/src/time/windows/clock_getres.cpp
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/chdir.cpp
M libc/src/unistd/linux/close.cpp
M libc/src/unistd/linux/dup.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/dup3.cpp
M libc/src/unistd/linux/execv.cpp
M libc/src/unistd/linux/execve.cpp
M libc/src/unistd/linux/fchdir.cpp
M libc/src/unistd/linux/fork.cpp
M libc/src/unistd/linux/fsync.cpp
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/getcwd.cpp
M libc/src/unistd/linux/getentropy.cpp
M libc/src/unistd/linux/getsid.cpp
M libc/src/unistd/linux/isatty.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/pathconf.cpp
M libc/src/unistd/linux/pathconf_utils.cpp
M libc/src/unistd/linux/pipe.cpp
M libc/src/unistd/linux/pipe2.cpp
M libc/src/unistd/linux/pread.cpp
M libc/src/unistd/linux/pwrite.cpp
M libc/src/unistd/linux/read.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/syscall.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/src/unistd/linux/write.cpp
M libc/src/unistd/windows/getentropy.cpp
M libc/test/IntegrationTest/test.h
M libc/test/UnitTest/ErrnoCheckingTest.h
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/Test.h
M libc/test/integration/src/pthread/pthread_create_test.cpp
M libc/test/integration/src/pthread/pthread_join_test.cpp
M libc/test/integration/src/pthread/pthread_name_test.cpp
M libc/test/integration/src/unistd/getcwd_test.cpp
M libc/test/integration/startup/linux/tls_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/__support/str_to_integer_test.cpp
M libc/test/src/dirent/dirent_test.cpp
M libc/test/src/errno/errno_test.cpp
M libc/test/src/fcntl/creat_test.cpp
M libc/test/src/fcntl/fcntl_test.cpp
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf16_test.cpp
M libc/test/src/math/acoshf_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/atan2f_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/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/cospif_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_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/powf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/sinpif_test.cpp
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/acos_test.cpp
M libc/test/src/math/smoke/acosf16_test.cpp
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf16_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/acospif16_test.cpp
M libc/test/src/math/smoke/asinf16_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf16_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atanf16_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf16_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cosf16_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf16_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f16_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp10m1f16_test.cpp
M libc/test/src/math/smoke/exp10m1f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f16_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f16_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf16_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f16_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f16_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f16_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf16_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf16_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf16_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tanf16_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf16_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/smoke/tanpif16_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/poll/poll_test.cpp
M libc/test/src/sched/affinity_test.cpp
M libc/test/src/sched/cpu_count_test.cpp
M libc/test/src/sched/get_priority_test.cpp
M libc/test/src/sched/param_and_scheduler_test.cpp
M libc/test/src/sched/sched_rr_get_interval_test.cpp
M libc/test/src/sched/yield_test.cpp
M libc/test/src/signal/sigaltstack_test.cpp
M libc/test/src/signal/signal_test.cpp
M libc/test/src/signal/sigprocmask_test.cpp
M libc/test/src/spawn/posix_spawn_file_actions_test.cpp
M libc/test/src/stdio/fdopen_test.cpp
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/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtoint32_test.cpp
M libc/test/src/stdlib/strtoint64_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/sys/time/setitimer_test.cpp
M libc/test/src/termios/termios_test.cpp
M libc/test/src/time/asctime_r_test.cpp
M libc/test/src/time/asctime_test.cpp
M libc/test/src/time/ctime_r_test.cpp
M libc/test/src/time/ctime_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/nanosleep_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Move libc_errno.h to libc/src/__support and make LIBC_ERRNO_MODE_SYSTEM to be header-only. (#143187)
This is the first step in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 79108da325daec08f5b50169a9c35e03ea0645a3
https://github.com/llvm/llvm-project/commit/79108da325daec08f5b50169a9c35e03ea0645a3
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
Log Message:
-----------
[libc][obvious] Changed incorrect type (#143780)
After changing mbstate_t to mbstate we forgot to change the
character_converter files to reflect it.
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: c0c0f60ca14422dfbfe27fddd8d47faa596165d8
https://github.com/llvm/llvm-project/commit/c0c0f60ca14422dfbfe27fddd8d47faa596165d8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Evaluator.cpp
A llvm/test/Transforms/GlobalOpt/global-constructor-complex-constants.ll
Log Message:
-----------
[GlobalOpt] Bail out on non-ConstExprs in isSimpleEnoughtToCommit. (#143400)
Bail out for non ConstantExpr constants in
isSimpleEnoughValueToCommitHelper to prevent crash for non-ConstantExpr
constants
PR: https://github.com/llvm/llvm-project/pull/143400
Commit: f39f53e569f92987683626d910e9dbcbd59ff410
https://github.com/llvm/llvm-project/commit/f39f53e569f92987683626d910e9dbcbd59ff410
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[Clang][NFC] Move HeadingAndSpellings to avoid copying (#143611)
Static analysis flagged that we could move HeadingAndSpellings and avoid
a copy of a large object.
Commit: d7e7f22626f214766f3592341dd1737fd232c6a5
https://github.com/llvm/llvm-project/commit/d7e7f22626f214766f3592341dd1737fd232c6a5
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
A clang/test/Parser/macro-expansion-recovery.cpp
M clang/test/Parser/switch-recovery.cpp
Log Message:
-----------
[Clang] fix missing source location for errors in macro-expanded (#143460)
Fixes #143216
---
This patch fixes diagnostic locations for tokens from macro expansions.
Commit: 625bfb7179ad1acab2aba1023095826628275a60
https://github.com/llvm/llvm-project/commit/625bfb7179ad1acab2aba1023095826628275a60
Author: Jiachen Yuan <jiacheny at nvidia.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/Mangler.h
Log Message:
-----------
Workaround MSVC Linker Issue when Cross-Compiling for ARM64EC (#143659)
This MR presents a temporary workaround for the issue described at
https://github.com/llvm/llvm-project/issues/143575. While an [upstream
MSVC
bug](https://developercommunity.visualstudio.com/t/MSVC-Linker-Issue-When-Cross-Compiling-L/10920141)
is reported, it makes sense to apply a workaround in LLVM code to
quickly unblock anyone affected.
Commit: 7838fc0cd3fbe578d9554fdcd3198c2ba3616bcc
https://github.com/llvm/llvm-project/commit/7838fc0cd3fbe578d9554fdcd3198c2ba3616bcc
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
Log Message:
-----------
[Clang] [NFC] Move diagnostics emitting code from `DiagnosticIDs` into `DiagnosticsEngine` (#143517)
It makes more sense for this functionality to be all in one place rather
than split up across two files—at least it caused me a bit of a headache
to try and find all places where we were actually forwarding the
diagnostic to the `DiagnosticConsumer`. Moreover, moving these functions
into `DiagnosticsEngine` simplifies the code quite a bit since we access
members of `DiagnosticsEngine` more frequently than those of
`DiagnosticIDs`. There was also a duplicated code snippet that I’ve
moved out into a new function.
Commit: 6f2ba4712f17d7c82228a5b705570571e13a3832
https://github.com/llvm/llvm-project/commit/6f2ba4712f17d7c82228a5b705570571e13a3832
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Fix ComposeExpandOfCollapseOp for dynamic case (#142663)
Changes `findCollapsingReassociation` to return nullopt in all cases
where source shape has `>=2` dynamic dims. `expand(collapse)` can
reshape to in any valid output shape but a collapse can only collapse
contiguous dimensions. When there are `>=2` dynamic dimensions it is
impossible to determine if it can be simplified to a collapse or if it
is preforming a more advanced reassociation.
This problem was uncovered by
https://github.com/llvm/llvm-project/pull/137963
---------
Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: 9c9a4a284e95ea5e27617af7235e3ab049bae680
https://github.com/llvm/llvm-project/commit/9c9a4a284e95ea5e27617af7235e3ab049bae680
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
M llvm/test/CodeGen/AArch64/loh-adrp-add-ldr-clobber.mir
Log Message:
-----------
[LOH] Don't emit AdrpAddStr when register could be clobbered (#142849)
https://github.com/llvm/llvm-project/commit/b783aa89795635cbe7b25b4143b562931fcec9f6
added a check to ensure an `AdrpAddLdr` LOH isn't created when there is
an instruction between the `add` and `ldr`
https://github.com/llvm/llvm-project/blob/50c5704dc000cc0af41a511aa44db03233edf0af/llvm/lib/Target/AArch64/AArch64CollectLOH.cpp#L419-L431
We need a similar check for `AdrpAddStr`. Although this technically
isn't implemented in LLD, it could be in the future.
https://github.com/llvm/llvm-project/blob/50c5704dc000cc0af41a511aa44db03233edf0af/lld/MachO/Arch/ARM64.cpp#L699-L702
Commit: 74172add65aa14e77e98b048db0074c3f273057f
https://github.com/llvm/llvm-project/commit/74172add65aa14e77e98b048db0074c3f273057f
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/utils/generate-test-checks.py
Log Message:
-----------
[mlir][generate-test-checks] Do not emit the autogenerated note if it exists (#143750)
Prior to this PR, the script removed the already existing autogenerated
note if we came across a line that was equal to the note. But the
default note is multiple lines, so there would never be a match.
Instead, check to see if the current line is a substring of the
autogenerated note.
Co-authored-by: Michael Maitland <michaelmaitland at meta.com>
Commit: 0e457315f55889878ccbc3e35d4beb04e277733f
https://github.com/llvm/llvm-project/commit/0e457315f55889878ccbc3e35d4beb04e277733f
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/utils/generate-test-checks.py
Log Message:
-----------
[mlir][generate-test-checks] Emit attributes with rest of CHECK lines (#143759)
Prior to this patch, generating test checks in place put the ATTR
definitions at the very top of the file, above the RUN lines and
autogenerated note. All CHECK lines should below the RUN lines and
autogenerated note.
This change ensures that the attribute definitions are emitted with the
rest of the CHECK lines.
---------
Co-authored-by: Michael Maitland <michaelmaitland at meta.com>
Commit: ee35e342945d6825c9b2b004fd135cf16c84ea0e
https://github.com/llvm/llvm-project/commit/ee35e342945d6825c9b2b004fd135cf16c84ea0e
Author: Nikolay Panchenko <nicholas.panchenko at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/vector-calls.ll
Log Message:
-----------
[ConstantFolding] Add folding for [de]interleave2, insert and extract (#141301)
The change adds folding for 4 vector intrinsics: `interleave2`,
`deinterleave2`, `vector_extract` and `vector_insert`. For the last 2
intrinsics the change does not use `ShuffleVector` fold mechanism as
it's much simpler to construct result vector explicitly.
Commit: dc4335a2bf75c7b9928a72a7f15df0276120d7ed
https://github.com/llvm/llvm-project/commit/dc4335a2bf75c7b9928a72a7f15df0276120d7ed
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Perform bitfield zero initialization wave-parallel (#143607)
Summary:
We need to set the bitfield memory to zero because the system does not
guarantee zeroed out memory. Even if fresh pages are zero, the system
allows re-use so we would need a `kfd` level API to skip this step.
Because we can't this patch updates the logic to perform the zero
initialization wave-parallel. This reduces the amount of time it takes
to allocate a fresh by up to a tenth.
This has the unfortunate side effect that the control flow is more
convoluted and we waste some extra registers, but it's worth it to
reduce the slab allocation latency.
Commit: 1ecd108cb7ceda2b11281b5d173e2827feb60c55
https://github.com/llvm/llvm-project/commit/1ecd108cb7ceda2b11281b5d173e2827feb60c55
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
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/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtold_test.cpp
Log Message:
-----------
[libc] Migrate stdio tests to ErrnoCheckingTest. (#143802)
Reduce the direct use of libc_errno in stdio unit tests by adopting
ErrnoCheckingTest where appropriate.
Also removes the libc_errno.h inclusions from stdlib.h tests that were
accidentally added in d87eea35fac5a34a841c637db8908128409a184e
Commit: 3c7af175e51c3ab08ac3c442146c2b822f38c01e
https://github.com/llvm/llvm-project/commit/3c7af175e51c3ab08ac3c442146c2b822f38c01e
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/docs/configure.rst
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/setvbuf_test.cpp
Log Message:
-----------
[libc] Fix stdio tests after #143802 (#143810)
In #143802 the stdio test cleanup missed a few places where errno was
being set to a failing value, and one where the framework needed to
included.
Commit: 6c72084a578a7a1e4dc1013a1a4a30b72ad5c6ab
https://github.com/llvm/llvm-project/commit/6c72084a578a7a1e4dc1013a1a4a30b72ad5c6ab
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
Log Message:
-----------
[bazel] port 1ecd108cb7ceda2b11281b5d173e2827feb60c55
Commit: bc7ea63e9c885fbe71dec29581a206bc0543d22a
https://github.com/llvm/llvm-project/commit/bc7ea63e9c885fbe71dec29581a206bc0543d22a
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/variable-sized-memset-memcpy.ll
Log Message:
-----------
[MemCpyOpt] handle memcpy from memset for non-constant sizes (#143727)
Allows forwarding memset to memcpy for mismatching unknown sizes if
overread has undef contents. In that case we can refine the undef bytes
to the memset value.
Refs #140954 which laid some of the groundwork for this.
Commit: d7c6cad744bc7ed28535dc6f75629902eda559ea
https://github.com/llvm/llvm-project/commit/d7c6cad744bc7ed28535dc6f75629902eda559ea
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
Log Message:
-----------
[sanitizer_common] Implement interception on AIX (#138606)
Adjust AIX interceptor support in sanitizer_common.
Issue: https://github.com/llvm/llvm-project/issues/138916
Commit: 7a3bcf9f7179e6904d405de36360714da07c31ba
https://github.com/llvm/llvm-project/commit/7a3bcf9f7179e6904d405de36360714da07c31ba
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Add missing predicate for PseudoTHVdotVMAQA family instructions
Commit: 7034014d08249a1e159a668a71e96a0b78636a39
https://github.com/llvm/llvm-project/commit/7034014d08249a1e159a668a71e96a0b78636a39
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/or-bitmask.ll
Log Message:
-----------
[InstCombine] Combine or-disjoint (and->mul), (and->mul) to and->mul (#136013)
The canonical pattern for bitmasked mul is currently
```
%val = and %x, %bitMask // where %bitMask is some constant
%cmp = icmp eq %val, 0
%sel = select %cmp, 0, %C // where %C is some constant = C' * %bitMask
```
In certain cases, where we are combining multiple of these bitmasked
muls with common factors, we are able to optimize into and->mul (see
https://github.com/llvm/llvm-project/pull/135274 )
This optimization lends itself to further optimizations. This PR
addresses one of such optimizations.
In cases where we have
`or-disjoint ( mul(and (X, C1), D) , mul (and (X, C2), D))`
we can combine into
`mul( and (X, (C1 + C2)), D) `
provided C1 and C2 are disjoint.
Generalized proof: https://alive2.llvm.org/ce/z/MQYMui
Commit: c4316180418ce8de4b4c9812c7fac791d55b6102
https://github.com/llvm/llvm-project/commit/c4316180418ce8de4b4c9812c7fac791d55b6102
Author: Shunsuke Watanabe <watanabe.shu-06 at fujitsu.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/range.c
Log Message:
-----------
[Clang][Driver] Override complex number calculation method by -fno-fast-math (#132680)
This patch fixes a bug where -fno-fast-math doesn't revert the complex
number calculation method to the default. The priority of overriding
options related to complex number calculations differs slightly from
GCC, as discussed in:
https://discourse.llvm.org/t/the-priority-of-fno-fast-math-regarding-complex-number-calculations/84679
Commit: 52360d195b85608c677d781272534dfa61e9a1c3
https://github.com/llvm/llvm-project/commit/52360d195b85608c677d781272534dfa61e9a1c3
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/refactor/Rename.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/tools/sancov/sancov.cpp
M llvm/unittests/ADT/DAGDeltaAlgorithmTest.cpp
M llvm/unittests/ADT/DeltaAlgorithmTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[NFC] Use `llvm::includes` instead of `std::includes` (#143542)
This PR follows up #143297.
Commit: 082251bba4effea7f60191c6cbddacb3705c07db
https://github.com/llvm/llvm-project/commit/082251bba4effea7f60191c6cbddacb3705c07db
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M compiler-rt/lib/builtins/README.txt
M compiler-rt/lib/builtins/trampoline_setup.c
M compiler-rt/test/builtins/Unit/trampoline_setup_test.c
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/test/Fir/boxproc.fir
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/AArch64/nest-register.ll
M llvm/test/CodeGen/AArch64/statepoint-call-lowering.ll
M llvm/test/CodeGen/AArch64/trampoline.ll
M llvm/test/CodeGen/AArch64/win64cc-x18.ll
M llvm/test/CodeGen/AArch64/zero-call-used-regs.ll
Log Message:
-----------
[AArch64] fix trampoline implementation: use X15 (#126743)
AAPCS64 reserves any of X9-X15 for a compiler to choose to use for this
purpose, and says not to use X16 or X18 like GCC (and the previous
implementation) chose to use. The X18 register may need to get used by
the kernel in some circumstances, as specified by the platform ABI, so
it is generally an unwise choice. Simply choosing a different register
fixes the problem of this being broken on any platform that actually
follows the platform ABI (which is all of them except EABI, if I am
reading this linux kernel bug correctly
https://lkml2.uits.iu.edu/hypermail/linux/kernel/2001.2/01502.html). As
a side benefit, also generate slightly better code and avoids needing
the compiler-rt to be present. I did that by following the XCore
implementation instead of PPC (although in hindsight, following the
RISCV might have been slightly more readable). That X18 is wrong to use
for this purpose has been known for many years (e.g.
https://www.mail-archive.com/gcc@gcc.gnu.org/msg76934.html) and also
known that fixing this to use one of the correct registers is not an ABI
break, since this only appears inside of a translation unit. Some of the
other temporary registers (e.g. X9) are already reserved inside llvm for
internal use as a generic temporary register in the prologue before
saving registers, while X15 was already used in rare cases as a scratch
register in the prologue as well, so I felt that seemed the most logical
choice to choose here.
Commit: bb3b8306dc226c4dc4dfde36444b43476eea66ee
https://github.com/llvm/llvm-project/commit/bb3b8306dc226c4dc4dfde36444b43476eea66ee
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A clang/test/Modules/module-local-declarations.cppm
Log Message:
-----------
[NFC] [C++20] [Modules] Add a test module local declaration lookup
From
https://github.com/llvm/llvm-project/issues/143734, but it looks good on
trunk. Add it as tests are always good.
Commit: de51b2dd3c6fc995e7db56fc50b4c8dceddc0aab
https://github.com/llvm/llvm-project/commit/de51b2dd3c6fc995e7db56fc50b4c8dceddc0aab
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A lldb/include/lldb/Host/JSONTransport.h
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/common/JSONTransport.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Transport.cpp
M lldb/tools/lldb-dap/Transport.h
M lldb/unittests/DAP/DAPTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TransportTest.cpp
Log Message:
-----------
[lldb] Move Transport class into lldb_private (NFC) (#143806)
Move lldb-dap's Transport class into lldb_private so the code can be
shared between the "JSON with header" protocol used by DAP and the JSON
RPC protocol used by MCP (see [1]).
[1]: https://discourse.llvm.org/t/rfc-adding-mcp-support-to-lldb/86798
Commit: faa49d6662b4c14438cc8e63a3751c22f28d2481
https://github.com/llvm/llvm-project/commit/faa49d6662b4c14438cc8e63a3751c22f28d2481
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn build] Port de51b2dd3c6f
Commit: d8118ed6db28a3caaf3fa4a4f8d0d51d33b09c30
https://github.com/llvm/llvm-project/commit/d8118ed6db28a3caaf3fa4a4f8d0d51d33b09c30
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[ELF,test] Improve weak-undef-rw.s
Commit: b46f34452e9dec50eee6ddbe07875f05e421a81c
https://github.com/llvm/llvm-project/commit/b46f34452e9dec50eee6ddbe07875f05e421a81c
Author: Khem Raj <raj.khem at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libunwind/src/UnwindLevel1.c
Log Message:
-----------
libunwind: Do not use __attribute__((target("gcs"))) with non-clang compilers (#138077)
This attribute is unsupported in GCC, so far it worked because before
GCC15 did not define this macros in _CHKFEAT_GCS in arm_acle.h [1]
With gcc15 compiler libunwind's check for this macros is succeeding and
it ends up enabling 'gcs' by using function attribute, this works with
clang but not with gcc.
We can see this in rust compiler bootstrap for aarch64/musl when system
uses gcc15, it ends up with these errors
Building libunwind.a for aarch64-poky-linux-musl
```
cargo:warning=/mnt/b/yoe/master/sources/poky/build/tmp/work/cortexa57-poky-linux-musl/rust/1.85.1/rustc-1.85.1-src/src/llvm-project/libunwind/src/UnwindLevel1.c:191:1: error: arch extension 'gcs' should be prefixed by '+' cargo:warning= 191 | unwind_phase2(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *exception_object) {
cargo:warning= | ^~~~~~~~~~~~~
cargo:warning=/mnt/b/yoe/master/sources/poky/build/tmp/work/cortexa57-poky-linux-musl/rust/1.85.1/rustc-1.85.1-src/src/llvm-project/libunwind/src/UnwindLevel1.c:337:22: error: arch extension 'gcs' should be prefixed by '+'
cargo:warning= 337 | _Unwind_Stop_Fn stop, void *stop_parameter) {
cargo:warning= | ^~~~~~~~~~~~~~~
```
[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=5a6af707f0af
Signed-off-by: Khem Raj <raj.khem at gmail.com>
Commit: a71210e5abdbae80363cb5956a24a2004f625ca6
https://github.com/llvm/llvm-project/commit/a71210e5abdbae80363cb5956a24a2004f625ca6
Author: Kewen12 <Kewen.Meng at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/docs/configure.rst
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/setvbuf_test.cpp
Log Message:
-----------
Revert "[libc] Fix stdio tests after #143802" (#143824)
Reverts llvm/llvm-project#143810
This PR breaks our buildbot:
https://lab.llvm.org/buildbot/#/builders/10/builds/7159 revert to
unblock downstream merge.
Commit: 968d8eaa44c500259fe8d56ad77ec1c71cad35e2
https://github.com/llvm/llvm-project/commit/968d8eaa44c500259fe8d56ad77ec1c71cad35e2
Author: Yang Zaizhou <91008302+Mxfg-incense at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M openmp/runtime/src/include/omp_lib.F90.var
Log Message:
-----------
[OpenMP][Flang]Fix omp_get_cancellation return type from integer to logical (#142990)
Commit: 2fcaa00d1e2317a90c9071b735eb0e758b5dd58b
https://github.com/llvm/llvm-project/commit/2fcaa00d1e2317a90c9071b735eb0e758b5dd58b
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[ELF] -z undefs: handle relocations referencing undefined non-weak like undefined weak
* Merge the special case into isStaticLinkTimeConstant
* Generalize isUndefWeak to isUndefined. undefined non-weak is an error
case. We choose to be general, which also brings us in line with GNU ld.
Commit: 5f231db76482bbdd3e658d8e9797cbd46837d4e1
https://github.com/llvm/llvm-project/commit/5f231db76482bbdd3e658d8e9797cbd46837d4e1
Author: Brandon Wu <songwu0813 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaRISCV.cpp
Log Message:
-----------
[RISCV] Use StringRef for RequiredExtensions in RVVIntrinsicDef (#143503)
This prevents many duplicated copies of required extensions string.
Commit: f09050fdc85074869f0b34f0d9e061a74ef549ee
https://github.com/llvm/llvm-project/commit/f09050fdc85074869f0b34f0d9e061a74ef549ee
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclBase.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclBase.cpp
A clang/test/Modules/module-local-declarations-02.cppm
A clang/test/Modules/pr61360.cppm
Log Message:
-----------
[C++20] [Modules] Fix module local lookup ambiguousity
Close https://github.com/llvm/llvm-project/issues/61360
Close https://github.com/llvm/llvm-project/issues/129525
Close https://github.com/llvm/llvm-project/issues/143734
We shouldn't identify different module local decls in different modules
as the same entity.
Commit: 282e471018d234f78b0990100834532389877519
https://github.com/llvm/llvm-project/commit/282e471018d234f78b0990100834532389877519
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/test/Fir/local.fir
Log Message:
-----------
[flang] Erase `fir.local` ops before lowering `fir` to `llvm` (#143687)
`fir.local` ops are not supposed to have any uses at this point (i.e.
during lowering to LLVM). In case of serialization, the
`fir.do_concurrent` users are expected to have been lowered to
`fir.do_loop` nests. In case of parallelization, the `fir.do_concurrent`
users are expected to have been lowered to the target parallel model
(e.g. OpenMP).
This hopefully resolved a build issue introduced by
https://github.com/llvm/llvm-project/pull/142567 (see for example:
https://lab.llvm.org/buildbot/#/builders/199/builds/4009).
Commit: c3be4524a56ba01bc1f868fc37e329f24ec5041c
https://github.com/llvm/llvm-project/commit/c3be4524a56ba01bc1f868fc37e329f24ec5041c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
R lld/test/ELF/weak-undef-got-pie.s
A lld/test/ELF/weak-undef-got-plt.s
R lld/test/ELF/weak-undef.s
Log Message:
-----------
[ELF,test] Improve weak-undef-got-plt.s
Commit: a93e55e57ed00a55f822c64e3520c7c732b58480
https://github.com/llvm/llvm-project/commit/a93e55e57ed00a55f822c64e3520c7c732b58480
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
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/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtold_test.cpp
Log Message:
-----------
Revert "[libc] Migrate stdio tests to ErrnoCheckingTest." (#143829)
Reverts llvm/llvm-project#143802. Follow-up fix
3c7af175e51c3ab08ac3c442146c2b822f38c01e wasn't robust enough and itself
got reverted.
Commit: 99638537cd19b84252685a3dd56535a4d54d690e
https://github.com/llvm/llvm-project/commit/99638537cd19b84252685a3dd56535a4d54d690e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Fix a warning
This patch fixes:
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:7157:3: error:
unannotated fall-through between switch labels
[-Werror,-Wimplicit-fallthrough]
Commit: 02550da932913bd7c3987c68abc9060c9e5bde2c
https://github.com/llvm/llvm-project/commit/02550da932913bd7c3987c68abc9060c9e5bde2c
Author: Fazlay Rabbi <106703039+mdfazlay at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/AttrImpl.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/OpenMP/declare_variant_clauses_ast_print.cpp
M clang/test/OpenMP/declare_variant_clauses_messages.cpp
Log Message:
-----------
[OpenMP 60] Initial parsing/sema for `need_device_addr` modifier on `adjust_args` clause (#143442)
Adds initial parsing and semantic analysis for `need_device_addr`
modifier on `adjust_args` clause.
Commit: 28bda778437fea17a25b561f1b3b84545612b565
https://github.com/llvm/llvm-project/commit/28bda778437fea17a25b561f1b3b84545612b565
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/test/CodeGen/alias.c
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
M llvm/test/CodeGen/AArch64/arm64ec-alias.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
M llvm/test/CodeGen/AArch64/arm64ec-symbols.ll
M llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
M llvm/test/CodeGen/AArch64/ehcontguard.ll
M llvm/test/CodeGen/AArch64/global-merge-1.ll
M llvm/test/CodeGen/AArch64/global-merge-2.ll
M llvm/test/CodeGen/AArch64/global-merge-3.ll
M llvm/test/CodeGen/AArch64/global-merge-hidden-minsize.ll
M llvm/test/CodeGen/AArch64/ifunc-asm.ll
M llvm/test/CodeGen/AArch64/seh-finally.ll
M llvm/test/CodeGen/AArch64/stackguard-internal.ll
M llvm/test/CodeGen/ARM/alias_store.ll
M llvm/test/CodeGen/ARM/aliases.ll
M llvm/test/CodeGen/ARM/global-merge-dllexport.ll
M llvm/test/CodeGen/ARM/global-merge-external-2.ll
M llvm/test/CodeGen/ARM/global-merge-external.ll
M llvm/test/CodeGen/AVR/global-aliases.ll
M llvm/test/CodeGen/Mips/hf16call32_body.ll
M llvm/test/CodeGen/Mips/mips16ex.ll
M llvm/test/CodeGen/PowerPC/asm-printer-topological-order.ll
M llvm/test/CodeGen/PowerPC/data-align.ll
M llvm/test/CodeGen/WebAssembly/aliases.ll
M llvm/test/CodeGen/WinCFGuard/cfguard-mingw.ll
M llvm/test/CodeGen/WinCFGuard/cfguard.ll
M llvm/test/CodeGen/X86/2007-09-06-ExtWeakAliasee.ll
M llvm/test/CodeGen/X86/2009-08-12-badswitch.ll
M llvm/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll
M llvm/test/CodeGen/X86/alias-gep.ll
M llvm/test/CodeGen/X86/aliases.ll
M llvm/test/CodeGen/X86/catchret-empty-fallthrough.ll
M llvm/test/CodeGen/X86/coff-alias-type.ll
M llvm/test/CodeGen/X86/coff-comdat.ll
M llvm/test/CodeGen/X86/coff-feat00.ll
M llvm/test/CodeGen/X86/dllexport-x86_64.ll
M llvm/test/CodeGen/X86/dllexport.ll
M llvm/test/CodeGen/X86/ehcontguard.ll
M llvm/test/CodeGen/X86/fastcall-correct-mangling.ll
M llvm/test/CodeGen/X86/ifunc-asm.ll
M llvm/test/CodeGen/X86/lea-opt-memop-check-1.ll
M llvm/test/CodeGen/X86/linux-preemption.ll
M llvm/test/CodeGen/X86/localescape.ll
M llvm/test/CodeGen/X86/pr22019.ll
M llvm/test/CodeGen/X86/seh-catch-all-win32.ll
M llvm/test/CodeGen/X86/seh-catchpad.ll
M llvm/test/CodeGen/X86/seh-finally.ll
M llvm/test/CodeGen/X86/seh-no-invokes.ll
M llvm/test/CodeGen/X86/seh-stack-realign.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-TryInFinally.ll
M llvm/test/CodeGen/XCore/globals.ll
M llvm/test/CodeGen/XCore/linkage.ll
M llvm/test/DebugInfo/X86/dbg-value-range.ll
M llvm/test/DebugInfo/X86/stmt-list-multiple-compile-units.ll
M llvm/test/MC/AArch64/basic-a64-instructions.s
M llvm/test/MC/AsmParser/assignment.s
M llvm/test/MC/AsmParser/directive_include.s
M llvm/test/MC/AsmParser/directive_set.s
M llvm/test/MC/AsmParser/include.ll
M llvm/test/MC/AsmParser/labels.s
M llvm/test/MC/AsmParser/macro-arg-darwin.s
M llvm/test/MC/AsmParser/motorola_integers.s
M llvm/test/MC/Mips/cpsetup.s
Log Message:
-----------
Introduce MCAsmInfo::UsesSetToEquateSymbol and prefer = to .set
Introduce MCAsmInfo::UsesSetToEquateSymbol to control the preferred
syntax for symbol equating. We now favor the more readable and common
`symbol = expression` syntax over `.set`. This aligns with pre- https://reviews.llvm.org/D44256 behavior.
On Apple platforms, this resolves a clang -S vs -c behavior difference (resolves #104623).
For targets whose = support is unconfirmed, UsesSetToEquateSymbol is set to false.
This also minimizes test updates.
Pull Request: https://github.com/llvm/llvm-project/pull/142289
Commit: 95bbaca6c1dcabb03bd67aabe3aaa4730a11200d
https://github.com/llvm/llvm-project/commit/95bbaca6c1dcabb03bd67aabe3aaa4730a11200d
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/xar.ll
Log Message:
-----------
[AArch64] Extend usage of `XAR` instruction for fixed-length operations (#139460)
Commit: 2efff47363f18966cd37461323b5db5418183534
https://github.com/llvm/llvm-project/commit/2efff47363f18966cd37461323b5db5418183534
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
A llvm/test/Instrumentation/MemorySanitizer/partial-poison.ll
Log Message:
-----------
[NFCI][msan] Show that shadow for partially undefined constant vectors is computed as fully initialized (#143823)
This happens because `getShadow(Value *V)` has a special case for fully undefined/poisoned values, but partially undefined values fall-through and are given a clean shadow. This leads to false negatives (no false positives).
Note: MSan correctly handles InsertElementInst, but the shadow of the initial constant vector may still be wrong and be propagated.
Showing that the same approximation happens for other composite types is left as an exercise for the reader.
Commit: bec85f3b187f57713e01191381c88134e122bd35
https://github.com/llvm/llvm-project/commit/bec85f3b187f57713e01191381c88134e122bd35
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A lld/test/COFF/lto-late-arm.ll
Log Message:
-----------
[LLD] [COFF] [test] Readd lto-late-arm.ll (#143494)
This testcase was removed in 4cafd28b7dd92080103d11cccc78d9a2f01e1242,
as a082f665f85b1002ab22af263eeafceca5288657 had made it no longer
trigger the error that it was supposed to do. (Because the latter of
those two commits makes the symbol "__rt_sdiv" be included among the
potential libcalls listed by lto::LTO::getRuntimeLibcallSymbols().)
Readd the test as a positive test, making sure that such libcalls can
get linked.
We do have preexisting test coverage for LTO libcalls overall in
libcall-archive.ll, but readd this test to cover specifically the ARM
division helper functions as well.
Commit: 9d491bc602c2d9730cb42fe25f0753471a3af389
https://github.com/llvm/llvm-project/commit/9d491bc602c2d9730cb42fe25f0753471a3af389
Author: David Green <david.green at arm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
Log Message:
-----------
[AArch64][GlobalISel] Enable extract_vec_elt_combines postlegalization.
Commit: 3f0cf742ac4eb3437450f8f263081ea951248851
https://github.com/llvm/llvm-project/commit/3f0cf742ac4eb3437450f8f263081ea951248851
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/pr119947.cppm
Log Message:
-----------
[C++20] [Modules] [Reduced BMI] Don't write specializations with local args
Close https://github.com/llvm/llvm-project/issues/119947
As discussed in the above thread, we shouldn't write specializations
with local args in reduced BMI. Since users can't find such
specializations any way.
Commit: 6157028fea93ff14af18b173dd01eb431cfb6aef
https://github.com/llvm/llvm-project/commit/6157028fea93ff14af18b173dd01eb431cfb6aef
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/test/Analysis/BasicAA/gep-decomposition-limit.ll
M llvm/test/Analysis/LoopAccessAnalysis/underlying-objects-2.ll
M llvm/test/Transforms/Inline/inline-noalias-unidentify-object.ll
Log Message:
-----------
[BasicAA][ValueTracking] Increase depth for underlying object search (#143714)
This depth limits a linear search (rather than the usual potentially
exponential one) and is not particularly important for compile-time in
practice.
The change in #137297 is going to increase the length of GEP chains, so
I'd like to increase this limit a bit to reduce the chance of
regressions (https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2419
showed a 13% increase in SearchLimitReached). There is no particular
significance to the new value of 10.
Compile-time is neutral.
Commit: 77062244ed56be61aecda28d6fede3432545f741
https://github.com/llvm/llvm-project/commit/77062244ed56be61aecda28d6fede3432545f741
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
Fix two instances of -Wparentheses warnings [NFC]
Add parentheses around the assert conditions.
Without this gcc warned like
../lib/Target/AMDGPU/GCNSchedStrategy.cpp:2250: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
2250 | NewMI != RegionBounds.second && "cannot remove at region end");
and
../../clang/lib/Sema/SemaOverload.cpp:11326:39: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
11326 | DeferredCandidatesCount == 0 &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
11327 | "Unexpected deferred template candidates");
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: 2d35b568ef949717e35df664d4d9352eddbffbfd
https://github.com/llvm/llvm-project/commit/2d35b568ef949717e35df664d4d9352eddbffbfd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/bsf.ll
Log Message:
-----------
[X86] bsf.ll - add icmp_ne coverage to bsf passthrough tests
Commit: 6e5a1423b752c66273bfcff35aaa8083075788a8
https://github.com/llvm/llvm-project/commit/6e5a1423b752c66273bfcff35aaa8083075788a8
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/test/Dialect/Linalg/simplify-pack-unpack.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/unittests/Dialect/Utils/CMakeLists.txt
A mlir/unittests/Dialect/Utils/ReshapeOpsUtilsTest.cpp
Log Message:
-----------
[mlir] Reapply "Loosen restrictions on folding dynamic reshapes" (#142827)
The original PR https://github.com/llvm/llvm-project/pull/137963 had a
nvidia bot failure. This appears to be a flaky test because rerunning
the build was successful.
This change needs commit 6f2ba47 to fix incorrect usage of
`getReassociationIndicesForCollapse`.
Reverts llvm/llvm-project#142639
Co-authored-by: Artem Gindinson <gindinson at roofline.ai>
Commit: edaac11df3f82268e8ca34bf34b3e9d115b7d475
https://github.com/llvm/llvm-project/commit/edaac11df3f82268e8ca34bf34b3e9d115b7d475
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-mask-with-shuffle.ll
M llvm/test/CodeGen/X86/pr132844.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] combineSelect - attempt to combine with shuffles (#143753)
Before legalization we will convert to a vector_shuffle node - but afterward we can try to combine the select into an existing target shuffle chain
Commit: 4079ed3c9e72d64746c5d3f05fc585d844c1e8a7
https://github.com/llvm/llvm-project/commit/4079ed3c9e72d64746c5d3f05fc585d844c1e8a7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
ARM: Move setting of more runtime libcalls to RuntimeLibcallInfo (#143826)
These are the easy cases that do not really depend on the subtarget,
other than for the deceptive predicates on the subtarget class. Most
of the rest of the cases here also do not, but this is obscured by
going through helper predicates added onto the subtarget which hide
dependence on TargetOptions.
Commit: 5434b85d2c7a83d9cebae06dad2f9d630e9a3927
https://github.com/llvm/llvm-project/commit/5434b85d2c7a83d9cebae06dad2f9d630e9a3927
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
ARM: Remove fake entries for divrem libcalls (#143832)
This was defining aliases of the i32 divrem functions for the i8
and i16 cases. This is unnecessary and was unused. The divrem
candidate cases wouldn't have formed with illegal types in the
first place, so codegen wouldn't even query these.
Commit: ce621041c2f162c50d630810491c2feee8eb6c64
https://github.com/llvm/llvm-project/commit/ce621041c2f162c50d630810491c2feee8eb6c64
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/RISCVTargetParser.cpp
Log Message:
-----------
[RISCV] Get host CPU name via hwprobe (#142745)
We can get the `mvendorid/marchid/mimpid` via hwprobe and then we
can compare these IDs with those defined in processors to find the
CPU name.
With this change, `-mcpu/-mtune=native` can set the proper name.
Commit: 4551e5035565606eb04253a35f31d51685657436
https://github.com/llvm/llvm-project/commit/4551e5035565606eb04253a35f31d51685657436
Author: kadir çetinkaya <kadircet at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
Log Message:
-----------
[clang] Reset FileID based diag state mappings (#143695)
When sharing same compiler instance for multiple compilations, we reset
source manager's file id tables in between runs. Diagnostics engine
keeps a cache based on these file ids, that became dangling references
across compilations.
This patch makes sure we reset those whenever sourcemanager is trashing
its FileIDs.
Commit: db8d34db26e9ea92c08d6e813eca9cce40c48478
https://github.com/llvm/llvm-project/commit/db8d34db26e9ea92c08d6e813eca9cce40c48478
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
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] Set branch weight metadata on middle term in VPlan (NFC) (#143035)
Manage branch weights for the BranchOnCond in the middle block in VPlan.
This requires updating VPInstruction to inherit from VPIRMetadata, which
in general makes sense as there are a number of opcodes that could take
metadata.
There are other branches (part of the skeleton) that also need branch
weights adding.
PR: https://github.com/llvm/llvm-project/pull/143035
Commit: 2a27c059eccd96b6e46464dbdf69fd2f6237a56c
https://github.com/llvm/llvm-project/commit/2a27c059eccd96b6e46464dbdf69fd2f6237a56c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bsr.ll
M llvm/test/CodeGen/X86/pr40090.ll
Log Message:
-----------
[X86] Use BSR passthrough behaviour to fold (CMOV (BSR ?, X), Y, (X == 0)) -> (BSR Y, X) (#143662)
Make use of targets that support BSR "pass through behaviour" on a zero input to remove a CMOV thats performing the same function
BSF will be a trickier patch as we need to make sure it works with the "REP BSF" hack in X86MCInstLower
Commit: 1d1f9afe911c360b9505b5fd2c712cb112c8aa5f
https://github.com/llvm/llvm-project/commit/1d1f9afe911c360b9505b5fd2c712cb112c8aa5f
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
A clang/test/Modules/pr143788.cppm
Log Message:
-----------
[C++20] [Modules] Treat directly imported internal partition unit as reachable
Close https://github.com/llvm/llvm-project/issues/143788
See the discussion for details.
Commit: 8e4fdff6f02161d878a63900abb35aaa32ff85e9
https://github.com/llvm/llvm-project/commit/8e4fdff6f02161d878a63900abb35aaa32ff85e9
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/tailcc-ssp.ll
Log Message:
-----------
[X86] Update tailcc-ssp.ll assertions using update_llc_test_checks.py (#143500)
The assertions in llvm/test/CodeGen/X86/tailcc-ssp.ll were outdated. The
initial comment indicated they were generated with
`utils/update_llc_test_checks.py UTC_ARGS: --version 5`, but this was
not accurate based on the file's content.
Running `utils/update_llc_test_checks.py` regenerated the assertions,
aligning them with the current `llc` output.
This commit ensures that the test's claimed behavior accurately reflects
the actual `llc` output, even though the tests were already passing.
This was identified by @efriedma-quic during review of #136290.
Submitting a separate PR to make sure these changes stay isolated.
Commit: 3e5d50f9c61bb266ab17919ab5209c7b08520aff
https://github.com/llvm/llvm-project/commit/3e5d50f9c61bb266ab17919ab5209c7b08520aff
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-1cta.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-2cta.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-invalid.ll
Log Message:
-----------
[NVPTX] Add cta_group support to TMA G2S intrinsics (#143178)
This patch extends the TMA G2S intrinsics with the
support for cta_group::1/2 available from Blackwell onwards.
The existing intrinsics are auto-upgraded with a default
value of '0' for the `cta_group` flag operand.
* lit tests are added for all combinations of the newer variants.
* Negative tests are added to validate the error-handling
when the value of the cta_group flag falls out-of-range.
* The generated PTX is verified with a 12.8 ptxas executable.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: a8c6fb4cb8e686f733e022afc549bc085d1558f4
https://github.com/llvm/llvm-project/commit/a8c6fb4cb8e686f733e022afc549bc085d1558f4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/Analysis/ScopedNoAliasAA/alias-scope-merging.ll
M llvm/test/Transforms/MemCpyOpt/callslot_badaa.ll
Log Message:
-----------
[MemCpyOpt] Fix lifetime marker sizes in tests (NFC)
As pointed out in https://github.com/llvm/llvm-project/pull/143782,
these tests were specifying the size in bits instead of bytes.
In order to preserve the intent of the tests, add a use of %src,
which prevents stack-move optimization. These are supposed to test
the handling of scoped alias metadata in call slot optimization.
Commit: 5987f1ee5cc59a05961156c04010ab0f3c857628
https://github.com/llvm/llvm-project/commit/5987f1ee5cc59a05961156c04010ab0f3c857628
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/narrow-switch.ll
Log Message:
-----------
[InstCombine] Regenerate `narrow-switch.ll` test (NFC)
`narrow-switch.ll` test has been regenerated via latest UTC using
`--prefix-filecheck-ir-name _`, so as to avoid conflicts with
scripted variable names.
Commit: 7ef77eb9984d1fb537a409cf4be89560fbb681fe
https://github.com/llvm/llvm-project/commit/7ef77eb9984d1fb537a409cf4be89560fbb681fe
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
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/RISCV/interleaved-accesses.ll
Log Message:
-----------
[LV] Support scalable interleave groups for factors 3,5,6 and 7 (#141865)
Currently the loop vectorizer can only vectorize interleave groups for
power-of-2 factors at scalable VFs by recursively interleaving
[de]interleave2 intrinsics.
However after https://github.com/llvm/llvm-project/pull/124825 and
#139893, we now have [de]interleave intrinsics for all factors up to 8,
which is enough to support all types of segmented loads and stores on
RISC-V.
Now that the interleaved access pass has been taught to lower these in
#139373 and #141512, this patch teaches the loop vectorizer to emit
these intrinsics for factors up to 8, which enables scalable
vectorization for non-power-of-2 factors.
As far as I'm aware, no in-tree target will vectorize a scalable
interelave group above factor 8 because the maximum interleave factor is
capped at 4 on AArch64 and 8 on RISC-V, and the
`-max-interleave-group-factor` CLI option defaults to 8, so the
recursive [de]interleaving code has been removed for now.
Factors of 3 with scalable VFs are also turned off in AArch64 since
there's no lowering for [de]interleave3 just yet either.
Commit: 702b9033c115500a934a6c49c325c112b30fe47f
https://github.com/llvm/llvm-project/commit/702b9033c115500a934a6c49c325c112b30fe47f
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Lower vector-(de)interleave to multi-register uzp/zip instructions. (#143128)
Commit: d517f15e09e49e172387cb6deb76e4ee2d45d0e4
https://github.com/llvm/llvm-project/commit/d517f15e09e49e172387cb6deb76e4ee2d45d0e4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/Transforms/LICM/call-hoisting.ll
Log Message:
-----------
[LICM] Regenerate test checks (NFC)
Commit: 971c49fbf361c22ccf20913f61a58c28b26c4e27
https://github.com/llvm/llvm-project/commit/971c49fbf361c22ccf20913f61a58c28b26c4e27
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstCombine/fsub.ll
Log Message:
-----------
[InstCombine] Ensure Safe Handling of Flags in foldFNegIntoConstant (#94148)
Fix #93769
alive2: https://alive2.llvm.org/ce/z/MHShQY
Commit: 20d5d09e99188dfc7df6e4e4f1c37512e0ab318e
https://github.com/llvm/llvm-project/commit/20d5d09e99188dfc7df6e4e4f1c37512e0ab318e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M compiler-rt/test/lit.common.configured.in
Log Message:
-----------
[compiler-rt] remove unused default in compiler-rt lit tests (#143738)
In https://github.com/llvm/llvm-project/pull/143183 was mistakenly added
a default value to `python_root_dir` in lit tests of compiler-rt.
This is unused by the lit tests of compiler-rt, as it was meant to be
used by `lldb`.
This patch removes this change.
Commit: fe28ea37b640ea4842583df3b89e08877220fb8e
https://github.com/llvm/llvm-project/commit/fe28ea37b640ea4842583df3b89e08877220fb8e
Author: hev <wangrui at loongson.cn>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
Log Message:
-----------
[LoongArch] Add demanded bits support for [X]VMSKLTZ (#143528)
This patch adds a DAG combine hook for the [X]VMSKLTZ nodes to simplify
their input when possible. It also implements target-specific logic in
SimplifyDemandedBitsForTargetNode to optimize away unnecessary
computations when only a subset of the sign bits in the vector results
is actually used.
Commit: 97ac6483aaead89897d9bda8a12f1f4c11fad621
https://github.com/llvm/llvm-project/commit/97ac6483aaead89897d9bda8a12f1f4c11fad621
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/Module.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Delete debug-info-format flag (#143746)
This flag was used to let us incrementally introduce debug records
into LLVM, however everything is now using records. It serves no
purpose now, so delete it.
Commit: 013034cd0f5ae19ef02fc35a83362874e727f13c
https://github.com/llvm/llvm-project/commit/013034cd0f5ae19ef02fc35a83362874e727f13c
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
Follow-up to 97ac6483aae, squelch an unused lambda capture warning
NewBB here was being captured for some code that was deleted in
97ac6483aae, and that leads to some warnings on some compilers.
Commit: d698ede748e66f5519cb8481abc2df89a994a059
https://github.com/llvm/llvm-project/commit/d698ede748e66f5519cb8481abc2df89a994a059
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMX/Transforms.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
M mlir/test/Target/LLVMIR/amx.mlir
Log Message:
-----------
[mlir][amx] Restore conversion interface for AMX (#143871)
Restores mistakenly removed AMX interface which ensures that the custom
tile type is converted to its LLVM equivalent within other operations
such as control flow.
Fix after #140559
Commit: 0604dc199c019b23746f4a54885ba0c75569cdae
https://github.com/llvm/llvm-project/commit/0604dc199c019b23746f4a54885ba0c75569cdae
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
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:
-----------
Revert "[VPlan] Set branch weight metadata on middle term in VPlan (NFC) (#143035)"
This caused assertion failures:
llvm/lib/Transforms/Vectorize/VPlan.h:4021:
llvm::VPBasicBlock* llvm::VPlan::getMiddleBlock():
Assertion `LoopRegion && "cannot call the function after vector loop region has been removed"' failed.
See comment on the PR.
> Manage branch weights for the BranchOnCond in the middle block in VPlan.
> This requires updating VPInstruction to inherit from VPIRMetadata, which
> in general makes sense as there are a number of opcodes that could take
> metadata.
>
> There are other branches (part of the skeleton) that also need branch
> weights adding.
>
> PR: https://github.com/llvm/llvm-project/pull/143035
This reverts commit db8d34db26e9ea92c08d6e813eca9cce40c48478.
Commit: 9f542f14701cdf70023790b206273ae8174e913a
https://github.com/llvm/llvm-project/commit/9f542f14701cdf70023790b206273ae8174e913a
Author: Ryan Buchner <92571492+bababuck at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/zicond-opts.ll
Log Message:
-----------
[RISCV] Add new tests for RISCV zicond extension (#143580)
I have a few patches to improve compilation for these tests which I will
be posting as separate MRs.
Commit: 2ecbfc0beb42abbbd2c3d28bfd576b38c44a5b46
https://github.com/llvm/llvm-project/commit/2ecbfc0beb42abbbd2c3d28bfd576b38c44a5b46
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/test/Preprocessor/init-loongarch.c
Log Message:
-----------
[LoongArch] Fix '-mno-lsx' option not disabling LASX feature (#143821)
When '-march' with LASX feature and '-mno-lsx' options are used
together, '-mno-lsx' fails to disable LASX, leaving
'HasFeatureLASX=true' and causing incorrect '__loongarch_sx/asx=1' macro
definition.
Fixes https://github.com/loongson-community/discussions/issues/95
Commit: bc7fafbeea08bf8cd9a18fa10d3d3bc63f0c45a3
https://github.com/llvm/llvm-project/commit/bc7fafbeea08bf8cd9a18fa10d3d3bc63f0c45a3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Analysis/BasicAA/captures.ll
M llvm/test/Transforms/GVN/captures.ll
Log Message:
-----------
[AA] Take read-only provenance captures into account (#143097)
Update the AA CaptureAnalysis providers to return CaptureComponents, so
we can distinguish between full provenance and read-only provenance
captures.
Use this to restrict "other" memory effects on call from ModRef to Ref.
Ideally we would also apply the same reasoning for escape sources, but
the current API cannot actually convey the necessary information (we can
only say NoAlias or MayAlias, not MayAlias but only via Ref).
Commit: 3550662c040024597485d1bfac0d733340514ae1
https://github.com/llvm/llvm-project/commit/3550662c040024597485d1bfac0d733340514ae1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
ARM: Avoid using getTargetLowering in TargetLowering (#143833)
This is this.
Commit: 633375a29f52504b0b23a30bb767de521dd3e2a8
https://github.com/llvm/llvm-project/commit/633375a29f52504b0b23a30bb767de521dd3e2a8
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
Log Message:
-----------
[llvm][DWARFLinker] Fix gcc 13 -Wuninitialized warnings (#143867)
A bit awkward that we have to switch from public to protected and back
again, but it seemed neater than putting OS all the way down at the
bottom. Since it is a public member that you're more likely to be
looking for.
llvm-project/llvm/lib/DWARFLinker/Parallel/OutputSections.h:157:67:
warning: member
‘llvm::dwarf_linker::parallel::SectionDescriptor::Contents’ is used
uninitialized [-Wuninitialized]
Which refers to the use in the constructor:
```
SectionDescriptor(DebugSectionKind SectionKind, LinkingGlobalData &GlobalData,
dwarf::FormParams Format, llvm::endianness Endianess)
: SectionDescriptorBase(SectionKind, Format, Endianess), OS(Contents),
```
Where Contents is passed to `OS`, before Contents has been constructed.
Commit: aac603c47800bf2e167b53ddfd3bb10be292bc53
https://github.com/llvm/llvm-project/commit/aac603c47800bf2e167b53ddfd3bb10be292bc53
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
ARM: Avoid repeating hardcoded windows division libcall names (#143834)
This is properly set in the runtime libcall info, so query
the name.
Commit: b9793118423f928b8dcda933aa581f3904ae2b68
https://github.com/llvm/llvm-project/commit/b9793118423f928b8dcda933aa581f3904ae2b68
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__functional/function.h
Log Message:
-----------
[libc++] Remove allocator support from std::function (#140395)
The allocator support was removed in P0302R1, since it was impossible to
implement. We're currently providing the API for this, but ignore the
allocator in all cases but one (which is almost certainly an oversight).
That case is the `function(allocator_arg_t, const Alloc&, Func)`
constuctor. IMO we should remove the API entirely at a later date, but
this only removes most of the code for now, leaving only the public
functions. This not only simplifies the code quite a bit, but also
results in the constructor being instantiated ~8x faster.
Fixes #133901
Commit: 5aed4800f33a72c778f3b49f6389fff099ff4ff6
https://github.com/llvm/llvm-project/commit/5aed4800f33a72c778f3b49f6389fff099ff4ff6
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp
Log Message:
-----------
[GISel] KnownFPClass ValueTracking fix handling of vectors (#143372)
Commit: 41c8df147b83026db8612ad2ca07fc0f007e3448
https://github.com/llvm/llvm-project/commit/41c8df147b83026db8612ad2ca07fc0f007e3448
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Convert foldMaskedMerge to SDPatternMatch to match (m & x) | (~m & y) (#143855)
This PR resolves https://github.com/llvm/llvm-project/issues/143363
Remove foldMaskedMergeImpl entirely to use SDPatternMatch
Commit: 36ac72f4e3e4752f85c16363d630f4cfbd682e48
https://github.com/llvm/llvm-project/commit/36ac72f4e3e4752f85c16363d630f4cfbd682e48
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[llvm][MemProf] Fix unused variable warning in release build
g++-13 warned that:
llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp:1645:8: warning: variable ‘PrevIterCreatedNode’ set but not used [-Wunused-but-set-variable]
1645 | bool PrevIterCreatedNode = false;
| ^~~~~~~~~~~~~~~~~~~
When asserts were not enabled.
Commit: a08a831515919bcc384b453799f33bc97860c73b
https://github.com/llvm/llvm-project/commit/a08a831515919bcc384b453799f33bc97860c73b
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugLoc.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[DLCov][NFC] Propagate annotated DebugLocs through transformations (#138047)
Part of the coverage-tracking feature, following #107279.
In order for DebugLoc coverage testing to work, we firstly have to set
annotations for intentionally-empty DebugLocs, and secondly we have to
ensure that we do not drop these annotations as we propagate DebugLocs
throughout compilation. As the annotations exist as part of the DebugLoc
class, and not the underlying DILocation, they will not survive a
DebugLoc->DILocation->DebugLoc roundtrip. Therefore this patch modifies
a number of places in the compiler to propagate DebugLocs directly
rather than via the underlying DILocation. This has no effect on the
output of normal builds; it only ensures that during coverage builds, we
do not drop incorrectly annotations and therefore create false
positives.
The bulk of these changes are in replacing
DILocation::getMergedLocation(s) with a DebugLoc equivalent, and in
changing the IRBuilder to store a DebugLoc directly rather than storing
DILocations in its general Metadata array. We also use a new function,
`DebugLoc::orElse`, which selects the "best" DebugLoc out of a pair
(valid location > annotated > empty), preferring the current DebugLoc on
a tie - this encapsulates the existing behaviour at a few sites where we
_may_ assign a DebugLoc to an existing instruction, while extending the
logic to handle annotation DebugLocs at the same time.
Commit: ce747a16328b2fbc365e1cb1cb01cb400c2c1b4c
https://github.com/llvm/llvm-project/commit/ce747a16328b2fbc365e1cb1cb01cb400c2c1b4c
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/single-scalar-cast-minbw.ll
Log Message:
-----------
[LV] Pre-commit test case for support VPWidenCastRecipe in isSingleScalar. nfc (#143498)
Commit: d49bc5e621c8931679b232fa28abfc89a171105e
https://github.com/llvm/llvm-project/commit/d49bc5e621c8931679b232fa28abfc89a171105e
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/ProfileData/MemProfRadixTree.cpp
Log Message:
-----------
[llvm][MemProf] Correct position of LLVM_ABI macro in computeFrameHistogram
The previous placement resulted in this warning when using g++-13:
/home/david.spickett/llvm-project/llvm/include/llvm/Support/Compiler.h:120:43: warning: attribute ignored [-Wattributes]
120 | #define LLVM_ATTRIBUTE_VISIBILITY_DEFAULT [[gnu::visibility("default")]]
| ^
/home/david.spickett/llvm-project/llvm/include/llvm/Support/Compiler.h:213:18: note: in expansion of macro ‘LLVM_ATTRIBUTE_VISIBILITY_DEFAULT’
213 | #define LLVM_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/david.spickett/llvm-project/llvm/lib/ProfileData/MemProfRadixTree.cpp:245:5: note: in expansion of macro ‘LLVM_ABI’
245 | LLVM_ABI computeFrameHistogram<FrameId>(
| ^~~~~~~~
/home/david.spickett/llvm-project/llvm/include/llvm/Support/Compiler.h:120:43: note: an attribute that appertains to a type-specifier is ignored
120 | #define LLVM_ATTRIBUTE_VISIBILITY_DEFAULT [[gnu::visibility("default")]]
| ^
According to the interface guide, that macro should go before the return
type to be effective.
https://llvm.org/docs/InterfaceExportAnnotations.html#specialized-template-functions
Commit: 843f256623a68f51a80ae503c08b98433eeda04d
https://github.com/llvm/llvm-project/commit/843f256623a68f51a80ae503c08b98433eeda04d
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port 20d5d09e99188
Commit: 622df892b844749440124167e8eee9e652fba613
https://github.com/llvm/llvm-project/commit/622df892b844749440124167e8eee9e652fba613
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
M lldb/source/Plugins/Language/ObjC/CMakeLists.txt
Log Message:
-----------
[lldb/cmake] Remove EXTRA_CXXFLAGS arg (#143731)
We have one library using this and three libraries directly calling
`target_compile_options`. Might as well standardize on the latter.
Commit: b8e3e0749fb62a9845f8790f858e11f2558f94a2
https://github.com/llvm/llvm-project/commit/b8e3e0749fb62a9845f8790f858e11f2558f94a2
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
Log Message:
-----------
[InstCombine] Export logic for common base pointer (NFC)
Make this available to other parts of InstCombine, to be used for
pointer comparison optimization.
Commit: 3100b50f78c06dcd5207140e0d6e5ba6954d8828
https://github.com/llvm/llvm-project/commit/3100b50f78c06dcd5207140e0d6e5ba6954d8828
Author: Janek van Oirschot <janek.vanoirschot at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.h
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/recursive-resource-usage-mcexpr.ll
Log Message:
-----------
[AMDGPU] Flatten recursive register resource info propagation (#142766)
In #112251 I had mentioned I'd follow up with flattening of recursion
for register resource info propagation
Behaviour prior to this patch when a recursive call is used is to take
the module scope worst case function register use (even prior to
AMDGPUMCResourceInfo). With this patch it will, when a cycle is
detected, attempt to do a simple cycle avoidant dfs to find the worst
case constant within the cycle and the cycle's propagates. In other
words, it will attempt to look for the cycle scope worst case rather
than module scope worst case.
Commit: 79f4a43839386e785451c8f0a362b2d1e5850b74
https://github.com/llvm/llvm-project/commit/79f4a43839386e785451c8f0a362b2d1e5850b74
Author: Shamshura Egor <164661612+egorshamshura at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avgfloors.ll
M llvm/test/CodeGen/X86/avx512-cvt.ll
M llvm/test/CodeGen/X86/avx512-logic.ll
M llvm/test/CodeGen/X86/avx512fp16-arith.ll
M llvm/test/CodeGen/X86/avx512vl-logic.ll
M llvm/test/CodeGen/X86/combine-bitselect.ll
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
M llvm/test/CodeGen/X86/fp-round.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-shifts.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/psubus.ll
M llvm/test/CodeGen/X86/sadd_sat_vec.ll
M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/ssub_sat_vec.ll
M llvm/test/CodeGen/X86/usub_sat_vec.ll
M llvm/test/CodeGen/X86/vector-fshl-128.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-512.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-512.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-512.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-fshr-rot-512.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
M llvm/test/CodeGen/X86/vector-idiv-udiv-512.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/vector-rotate-512.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-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-512.ll
M llvm/test/CodeGen/X86/vector-shuffle-avx512.ll
M llvm/test/CodeGen/X86/vselect-pcmp.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] VPTERNLOG comments - use "mem" just for full width loads and "m32bcst" / "m64bcst" for broadcast loads (#143721)
Use "mem" just for full width loads and "m32bcst" / "m64bcst" for 32-bit (D) / 64-bit (Q) broadcasts.
Fixes #143679
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: cc17f68e566ab7db4ac8e95dc857e49e10d8366c
https://github.com/llvm/llvm-project/commit/cc17f68e566ab7db4ac8e95dc857e49e10d8366c
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AMDGPU/external-shuffle.ll
Log Message:
-----------
[SLP] NFC: Precommit test for pull/137419 (#137730)
Precommit for https://github.com/llvm/llvm-project/pull/137419
Commit: e1e1836bbd70e4f30bd0be97b9d81eabfd6b45c8
https://github.com/llvm/llvm-project/commit/e1e1836bbd70e4f30bd0be97b9d81eabfd6b45c8
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86TargetMachine.cpp
R llvm/lib/Target/X86/X86WinFixupBufferSecurityCheck.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-protector-windows.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
A llvm/test/CodeGen/X86/stack-protector-msvc-oz.ll
M llvm/test/CodeGen/X86/stack-protector-msvc.ll
M llvm/test/CodeGen/X86/tailcc-ssp.ll
M llvm/test/DebugInfo/COFF/fpo-stack-protect.ll
Log Message:
-----------
[CodeGen] Inline stack guard check on Windows (#136290)
This patch optimizes the Windows security cookie check mechanism by
moving the comparison inline and only calling __security_check_cookie
when the check fails. This reduces the overhead of making a DLL call
for every function return.
Previously, we implemented this optimization through a machine pass
(X86WinFixupBufferSecurityCheckPass) in PR #95904 submitted by
@mahesh-attarde. We have reverted that pass in favor of this new
approach. Also we have abandoned the AArch64 specific implementation
of same pass in PR #121938 in favor of this more general solution.
The old machine instruction pass approach:
- Scanned the generated code to find __security_check_cookie calls
- Modified these calls by splitting basic blocks
- Added comparison logic and conditional branching
- Required complex block management and live register computation
The new approach:
- Implements the same optimization during instruction selection
- Directly emits the comparison and conditional branching
- No need for post-processing or basic block manipulation
- Disables optimization at -Oz.
Thanks @tamaspetz, @efriedma-quic and @arsenm for their help.
Commit: 36878158586b92e53dd615264f883e9d7530d047
https://github.com/llvm/llvm-project/commit/36878158586b92e53dd615264f883e9d7530d047
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn build] Port e1e1836bbd70
Commit: b6a56b8ef26a6b612eb5f49d37024666b073481e
https://github.com/llvm/llvm-project/commit/b6a56b8ef26a6b612eb5f49d37024666b073481e
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/tools/llvm-remarkutil/convert.test
M llvm/tools/llvm-remarkutil/RemarkConvert.cpp
Log Message:
-----------
[llvm-remarkutil] bitstream2yaml: Keep output file (#143220)
Keep the output file on successful exit, otherwise `llvm-remarkutil
bitstream2yaml -o filename.yaml ...` does not produce any output,
because the output file is deleted when the tool exits.
Commit: ca5b71a4559890a9768558ddea724782fb638bfa
https://github.com/llvm/llvm-project/commit/ca5b71a4559890a9768558ddea724782fb638bfa
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/select.ll
Log Message:
-----------
[Matrix] Propagate shape information through Select insts (#141876)
Commit: bba4ded3c2f94fe0de6011a6941b135b3cb0370a
https://github.com/llvm/llvm-project/commit/bba4ded3c2f94fe0de6011a6941b135b3cb0370a
Author: A. Jiang <de34 at live.cn>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libcxx/include/bitset
M libcxx/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp
Log Message:
-----------
[libc++] Fix constructing `bitset` from non-null-terminated arrays (#143691)
Unconditional evaluation of `char_traits<_CharT>::length(__str)` is problematic, because it causes
UB when `__str` points to a non-null-terminated array. We should only call `length` (currently, in
`basic_string_view`'s constructor) when `__n == npos` per [bitset.cons]/8.
Drive-by change: Reduction of conditional compilation, given that
- both `basic_string_view<_CharT>::size_type` and `basic_string<_CharT>::size_type` must be
`size_t`, and thus
- both `basic_string_view<_CharT>::npos` and `basic_string<_CharT>::npos` must be `size_t(-1)`.
For the type sameness in the standard wording, see:
- [string.view.template.general]
- [basic.string.general]
- [allocator.traits.types]/6
- [default.allocator.general]/1
Fixes #143684
Commit: 5c1a021f7f285f702a290d7faaaf0a274b3bf5a1
https://github.com/llvm/llvm-project/commit/5c1a021f7f285f702a290d7faaaf0a274b3bf5a1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libcxx/docs/ABIGuarantees.rst
Log Message:
-----------
[libc++] Fix typos in documentation (#143912)
Commit: 4f60321ca183ebf132e97e54d8d560643c5c3340
https://github.com/llvm/llvm-project/commit/4f60321ca183ebf132e97e54d8d560643c5c3340
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M offload/liboffload/API/Common.td
M offload/liboffload/API/Kernel.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
Log Message:
-----------
[Offload] Add `ol_dimensions_t` and convert ranges from size_t -> uint32_t (#143901)
This is a three element x, y, z size_t vector that can be used any place
where a 3D vector is required. This ensures that all vectors across
liboffload are the same and don't require any resizing/reordering
dances.
Commit: 4bd0a0e50bcfc3263c219acc9709ae234a334456
https://github.com/llvm/llvm-project/commit/4bd0a0e50bcfc3263c219acc9709ae234a334456
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/loops3.f90
Log Message:
-----------
Revert "[flang] Enable delayed localization by default for `do concurrent` (#142567)" (#143905)
This reverts commit 937be177528de156922c1b5f6cab08ba3009dbf2.
Resolves https://github.com/llvm/llvm-project/issues/143897 until the
todo is properly handled.
Commit: 62b694090093ed34d620dd1129b194fc66fa4bb0
https://github.com/llvm/llvm-project/commit/62b694090093ed34d620dd1129b194fc66fa4bb0
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definition for GL Pack/UnpackHalf2x16 (#143889)
Commit: e4de74ba11eadb47cf78afbabffbf2b1a50e7298
https://github.com/llvm/llvm-project/commit/e4de74ba11eadb47cf78afbabffbf2b1a50e7298
Author: Nicolas Vasilache <nicolas.vasilache at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Tighten up application conditions in TransferReadAfter… (#143869)
…WriteToBroadcast
The pattern would previously apply in spurious cases and generate
incorrect IR.
In the process, we disable the application of this pattern in the case
where there is no broadcast; this should be handled separately and may
more easily support masking.
The case {no-broadcast, yes-transpose} was previously caught by this
pattern and arguably could also generate incorrect IR (and was also
untested): this case does not apply anymore.
The last cast {yes-broadcast, yes-transpose} continues to apply but
should arguably be removed from the future because creating transposes
as part of canonicalization feels dangerous.
There are other patterns that move permutation logic:
- either into the transfer, or
- outside of the transfer
Ideally, this would be target-dependent and not a canonicalization (i.e.
does your DMA HW allow transpose on the fly or not) but this is beyond
the scope of this PR.
Co-authored-by: Nicolas Vasilache <nicolasvasilache at users.noreply.github.com>
Commit: 2e5fb77ce03748608cfad49fd62479fc3d912372
https://github.com/llvm/llvm-project/commit/2e5fb77ce03748608cfad49fd62479fc3d912372
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/utils/llvm-test-mustache-spec/llvm-test-mustache-spec.cpp
Log Message:
-----------
[llvm] Make TestData compatible with c++20 (#143801)
The clang-debian-cpp20 buildbot did not like direct initialization
without a matching constructor. This patch adds a new constructor taking
a json::Object that directly initializes the struct fields. We also
update an internal interface for const correctness.
https://lab.llvm.org/buildbot/#/builders/108/builds/13950
Commit: 9b679889b596aa5076062d5fbbdd01e3532b4ff5
https://github.com/llvm/llvm-project/commit/9b679889b596aa5076062d5fbbdd01e3532b4ff5
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/Darwin.cpp
A clang/test/Driver/darwin-invalid-version-range.c
Log Message:
-----------
[clang][darwin] Fix assertion failure when reporting fatal errors when inferring OS versions (#143817)
Commit: f6eaa2b00cc8d6421934cc92d4b210348809d700
https://github.com/llvm/llvm-project/commit/f6eaa2b00cc8d6421934cc92d4b210348809d700
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
Reland "[clang-format][NFC] Clean up fillRanges() in ClangFormat.cpp" (#143477)
Reapply https://github.com/llvm/llvm-project/pull/143236 and fix the bug
reported in
https://github.com/llvm/llvm-project/pull/143236#issuecomment-2957102180.
Commit: f12b1ed11672bc40a53fb1180541b2fda6e7d9fc
https://github.com/llvm/llvm-project/commit/f12b1ed11672bc40a53fb1180541b2fda6e7d9fc
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/Todo/target-parallel-private.f90
A flang/test/Lower/OpenMP/Todo/target-teams-private.f90
Log Message:
-----------
[flang][OpenMP] Add TODOs for target [teams|parallel] private (#143706)
Using the private clause on `target teams` or `target parallel` is not
currently implemented and causes crashes during lowering. Add
appropriate TODOs.
Resolves https://github.com/llvm/llvm-project/issues/116428.
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 13fe07d670e8a115929c9e595c4490ef5c75f583
https://github.com/llvm/llvm-project/commit/13fe07d670e8a115929c9e595c4490ef5c75f583
Author: tynasello-google <tynasello at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libcxx/cmake/caches/AndroidNDK.cmake
R libcxx/test/configs/llvm-libc++-android-ndk.cfg.in
A libcxx/test/configs/llvm-libc++-android.cfg.in
R libcxxabi/test/configs/llvm-libc++abi-android-ndk.cfg.in
A libcxxabi/test/configs/llvm-libc++abi-android.cfg.in
Log Message:
-----------
[libc++] Expand Android libc++ test config files (#142846)
Parameterize (and rename) existing libc++/libc++abi test configuration
files for the Android NDK to work for both the NDK and platform.
Android LLVM downstream seeks to test libc++ for both the NDK and
platform build (currently only testing the NDK), which will use almost
identical test configuration files. The only difference is the name of
the libc++ shared object used. Because of this we parameterize the
current test files (for both libc++ and libc++abi) with the existing
LIBCXX_SHARED_OUTPUT_NAME cmake variable, and rename the file
accordingly.
Commit: 1c1df94d09820959c771cb4aaae4d36cdf5cab5a
https://github.com/llvm/llvm-project/commit/1c1df94d09820959c771cb4aaae4d36cdf5cab5a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/test/API/functionalities/memory/find/TestMemoryFind.py
M lldb/test/API/functionalities/memory/find/main.cpp
Log Message:
-----------
[lldb][Commands][NFC] Extract memory find expression evaluation into helpers (#143686)
This patch factors out the `-e` option logic into two helper functions.
The `EvaluateExpression` helper might seem redundant but I'll be adding
to it in a follow-up patch to fix an issue when running `memory find -e`
for Swift targets.
Also adds test coverage for the error cases that were previously
untested.
rdar://152113525
Commit: 2a905dd1ebb46a6865b1f4743589b50cdb2cb4f0
https://github.com/llvm/llvm-project/commit/2a905dd1ebb46a6865b1f4743589b50cdb2cb4f0
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Use range-for in Visit* Result construction. NFC
Commit: 316f530724ee2e870886e75729799afbcc1ff8d3
https://github.com/llvm/llvm-project/commit/316f530724ee2e870886e75729799afbcc1ff8d3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] getTargetConstantBitsFromNode - handle EXTRACT_SUBVECTOR through bitcasts (#143886)
Generalize the extraction index/width to account for any changes in type through bitcasts
Commit: a53003fe23cb6c871e72d70ff2d3a075a7490da2
https://github.com/llvm/llvm-project/commit/a53003fe23cb6c871e72d70ff2d3a075a7490da2
Author: kotborealis <kotborealis at awooo.ru>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libcxx/utils/gdb/libcxx/printers.py
Log Message:
-----------
[libc++] Update GDB pretty-printer to work with GDB 17 (#142106)
This patch fixes an issue in libcxx/utils/gdb/libcxx/printers.py.
With gdb 17 (binutils 2_44) pretty-printers do not work anymore because
calls to `gdb.printing` requires `import gdb.printing` statement, which
was missing from the `printers.py`.
This was broken after commit https://github.com/bminor/binutils-gdb/commit/fc14343205d3a
and `import gdb.printing` was first referenced in https://github.com/bminor/binutils-gdb/commit/ee06c79b0f.
Co-authored-by: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Commit: 882b58a90ae0c4a91e1ecda6df3767b0fc44dab1
https://github.com/llvm/llvm-project/commit/882b58a90ae0c4a91e1ecda6df3767b0fc44dab1
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/test/CodeGen/DirectX/flatten-array.ll
M llvm/test/CodeGen/DirectX/flatten-bug-117273.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/scalar-bug-117273.ll
Log Message:
-----------
[DirectX] Reland #142853 with Circular GEP fixes (#143747)
This change relands https://github.com/llvm/llvm-project/pull/142853
It fixes the circular reference issue we were seeing in GEPs
ex `%.flat = getelementptr inbounds [16 x i32], ptr %.flat, i32 0, i32
15`
Commit: ef1cb8277ac3cb34ce9700a313ed60410dd9f84b
https://github.com/llvm/llvm-project/commit/ef1cb8277ac3cb34ce9700a313ed60410dd9f84b
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/ExecutionMode_Fragment.ll
Log Message:
-----------
[SPIR-V] Fix ExecutionMode generation (#143888)
PR #141787 added code to emit the Fragment execution model. This
required emitting the OriginUpperLeft ExecutionMode. But this was done
by using the same codepath used for OpEntrypoint.
This has 2 issues:
- the interface variables were added to both OpEntryPoint and
OpExecutionMode.
- the existing OpExecutionMode logic was not used.
This commit fixes this, regrouping OpExecutionMode handling in one
place, and fixing bad codegen issue when interface variiables are added.
Commit: daee5eee8562d26d234f85152e803b6571b15ee2
https://github.com/llvm/llvm-project/commit/daee5eee8562d26d234f85152e803b6571b15ee2
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M offload/test/offloading/gpupgo/pgo_atomic_teams.c
M offload/test/offloading/gpupgo/pgo_atomic_threads.c
Log Message:
-----------
[Offload][PGO] Fix new GPU PGO tests (#143645)
`pgo_atomic_teams.c` and `pgo_atomic_threads.c` currently are set to run
on NVPTX despite the changes for that target not being upstreamed yet.
This patch also replaces instances of `llvm-profdata` with `%profdata`
in those tests.
Commit: c6da2c877cb407c0404e58c5ca257d12036ed164
https://github.com/llvm/llvm-project/commit/c6da2c877cb407c0404e58c5ca257d12036ed164
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/source/Commands/CommandObjectMemory.cpp
Log Message:
-----------
[lldb][Commands] Fix memory find for Swift expressions (#143860)
(depends on https://github.com/llvm/llvm-project/pull/143686)
There were two issues previously preventing `memory find -e` expressions
to succeed when stopped in Swift frames:
1. We weren't getting the dynamic type of the result `ValueObject`.
For Swift this would fail when we tried to produce a scalar value
out of it because the static VO wasn't sufficient to get to the
integer value. Hence we add a call to
`GetQualifiedRepresentationIfAvailable`
(which is what we do for expressions in `OptionArgParser::ToAddress`
too).
2. We weren't passing an `ExecutionContextScope` to `GetByteSize`, which
Swift relied on to get the size of the result type.
My plan is to add an API test for this on the Apple
`swiftlang/llvm-project` fork.
I considered an alternative where we use `OptionArgParser::ToAddress`
for `memory find -e` expressions, but it got a bit icky when trying to
figure out how many bytes we should copy out of the result into the
`DataBufferHeap` (currently we rely on the size of the result variable
type). This gets even trickier when we were to pass an expression that
was actually a hex digit or a number into `ToAddress`.
rdar://152113525
Commit: 4039fdb7ba5a0d9ead5bdc0404f036063a4ca95d
https://github.com/llvm/llvm-project/commit/4039fdb7ba5a0d9ead5bdc0404f036063a4ca95d
Author: W. Turner Abney <weebney at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_ioctl_macros.h
M libc/include/llvm-libc-macros/linux/sys-ioctl-macros.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/ioctl/CMakeLists.txt
A libc/src/sys/ioctl/ioctl.h
A libc/src/sys/ioctl/linux/CMakeLists.txt
A libc/src/sys/ioctl/linux/ioctl.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/ioctl/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/ioctl_test.cpp
Log Message:
-----------
[libc] add ioctl (#141393)
Closes #85275
Closes #90317
Updates #97191
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: 77834a40cf350d2fe63fac26222c3918f5f348fd
https://github.com/llvm/llvm-project/commit/77834a40cf350d2fe63fac26222c3918f5f348fd
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
A clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.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/CMakeLists.txt
M clang/test/CIR/CodeGen/ctor.cpp
Log Message:
-----------
[CIR] Upstream support for emitting constructors (#143639)
This change upstreams the code to emit simple constructor defintions.
Commit: 639c19ddb688595a69ad9f83a40aa32e2187134c
https://github.com/llvm/llvm-project/commit/639c19ddb688595a69ad9f83a40aa32e2187134c
Author: long.chen <lipracer at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/include/mlir/ExecutionEngine/MemRefUtils.h
Log Message:
-----------
[NFC][mlir] make the assert consistent with the declared behavior (#143874)
Commit: 56548e1d9b2ed4f5d2fe3913c27af770cf0e06e5
https://github.com/llvm/llvm-project/commit/56548e1d9b2ed4f5d2fe3913c27af770cf0e06e5
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/select.ll
Log Message:
-----------
[Matrix] Fix a crash in VisitSelectInst due to iteration length mismatch
Commit: 31daed868d69ac1ac6f6a29340d0b5e0e6dc39ab
https://github.com/llvm/llvm-project/commit/31daed868d69ac1ac6f6a29340d0b5e0e6dc39ab
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/CodeGen/RISCV/xqcibm-extract.ll
Log Message:
-----------
[RISCV] Prefer QC_EXTU to ANDI for certain 12-bit mask immediates (#143838)
`QC_EXTU` can be compressed to `QC_C_EXTU` when the immediate is a `mask
>=63`. We currently only handle masks that don't fit in 12-bits in
`RISCVISelDAGToDAG`.
I have added ISEL patterns in `RISCVInstrInfoXqci.td` instead of
changing code in `RISCVISelDAGToDAG` since the other extract
instructions ( in `XTHeadbb` and `XAndesPerf`) don't have compressed
versions and it is a lot easier to maintain things this way.
Commit: cd8facebabab9b61c6af1313cd1fd1e586bc2ba6
https://github.com/llvm/llvm-project/commit/cd8facebabab9b61c6af1313cd1fd1e586bc2ba6
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
A clang/test/CIR/Transforms/vector-create-fold.cir
Log Message:
-----------
[CIR] Implement folder for VecCreateOp (#143355)
This change adds a folder for the VecCreateOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: ae7ea6e3a28c017485cc2401703d6fab1549123d
https://github.com/llvm/llvm-project/commit/ae7ea6e3a28c017485cc2401703d6fab1549123d
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/src/sys/ioctl/linux/ioctl.cpp
M libc/test/src/sys/ioctl/linux/CMakeLists.txt
M libc/test/src/sys/ioctl/linux/ioctl_test.cpp
Log Message:
-----------
[libc] Fix ioctl errno inclusion (#143928)
Since errno was moved in
https://github.com/llvm/llvm-project/pull/143187 the code including it
in https://github.com/llvm/llvm-project/pull/141393 was rendered
incorrect. This patch fixes the include and the cmake depends.
Commit: e65131a56335fc6b8e47c609f17df50ea65577b4
https://github.com/llvm/llvm-project/commit/e65131a56335fc6b8e47c609f17df50ea65577b4
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/MC/AsmParser/include.ll
Log Message:
-----------
MC,test: Specify explicit triple for include.ll
The output is subject to .set or = difference.
Commit: 2c20bc5112a18a8a893e8caea6fd59c097754d74
https://github.com/llvm/llvm-project/commit/2c20bc5112a18a8a893e8caea6fd59c097754d74
Author: fairywreath <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definitions for GL FindILsb and FindSMsb (#143916)
Adds SPIRV GL FindILsb and FindSMsb instructions which correspond to GL
instruction numbers 73 and 74.
Commit: 1a4cf1d3edff2d4c790f597834301702cfc6dc15
https://github.com/llvm/llvm-project/commit/1a4cf1d3edff2d4c790f597834301702cfc6dc15
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
A lldb/scripts/framework-header-fix.py
A lldb/test/Shell/Scripts/Inputs/Main/SBAddress.h
A lldb/test/Shell/Scripts/Inputs/RPC/RPCSBAddress.h
A lldb/test/Shell/Scripts/TestFrameworkFixScript.test
A lldb/test/Shell/Scripts/TestFrameworkFixUnifdef.test
A lldb/test/Shell/Scripts/TestRPCFrameworkFixScript.test
Log Message:
-----------
[lldb][headers] Create Python script to fix up framework headers (#142051)
This commit replaces the shell script that fixes up includes for the
LLDB framework with a Python script. This script will also be used when
fixing up includes for the LLDBRPC.framework.
Commit: 217304a09949de73a8def5ee4c7ed9510449ce4c
https://github.com/llvm/llvm-project/commit/217304a09949de73a8def5ee4c7ed9510449ce4c
Author: 黃國庭 <we3223 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/test/CodeGen/X86/2012-01-12-extract-sv.ll
M llvm/test/CodeGen/X86/avx-insertelt.ll
M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512-intrinsics.ll
M llvm/test/CodeGen/X86/avx512copy-intrinsics.ll
M llvm/test/CodeGen/X86/build-vector-512.ll
M llvm/test/CodeGen/X86/buildvec-extract.ll
M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
M llvm/test/CodeGen/X86/coalesce_commute_movsd.ll
M llvm/test/CodeGen/X86/combine-and.ll
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
M llvm/test/CodeGen/X86/fmsubadd-combine.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-inttofp-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-round-fp16.ll
M llvm/test/CodeGen/X86/half-constrained.ll
M llvm/test/CodeGen/X86/half-darwin.ll
M llvm/test/CodeGen/X86/insertelement-zero.ll
M llvm/test/CodeGen/X86/masked_expandload.ll
M llvm/test/CodeGen/X86/masked_gather.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/pr40730.ll
M llvm/test/CodeGen/X86/scalarize-fp.ll
M llvm/test/CodeGen/X86/sse-insertelt-from-mem.ll
M llvm/test/CodeGen/X86/sse-insertelt.ll
M llvm/test/CodeGen/X86/sse-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/sse-scalar-fp-arith.ll
M llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/sse2.ll
M llvm/test/CodeGen/X86/sse41.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx1.ll
M llvm/test/CodeGen/X86/vec-strict-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-128-fp16.ll
M llvm/test/CodeGen/X86/vec_extract-avx.ll
M llvm/test/CodeGen/X86/vec_floor.ll
M llvm/test/CodeGen/X86/vec_ss_load_fold.ll
M llvm/test/CodeGen/X86/vector-blend.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll
M llvm/test/CodeGen/X86/vector-zmov.ll
M llvm/test/CodeGen/X86/vselect.ll
Log Message:
-----------
[X86] Use X86FixupInstTunings to select between (V)MOVSS/D and (V)BLENDPS/D (#143895)
Fix https://github.com/llvm/llvm-project/issues/142588
Following @RKSimon’s suggestion, the transformation applies only when
the blend mask is exactly 1, indicating that the instruction behaves
like a move. Additionally, the conversion will only be performed when
optimizing for size or when the target prefers MOVSS/D over BLENDPS/D
for performance reasons.
The switch-case instructions were identified with GPT O.O .
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 53e50472ff445bb946a53aba30649ae65f3534b1
https://github.com/llvm/llvm-project/commit/53e50472ff445bb946a53aba30649ae65f3534b1
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Interpreter/DeviceOffload.cpp
Log Message:
-----------
[Clang][NFC] Move FatbinFileName instead of copy (#143827)
Static analysis flagged FatbinFileName since we can move it instead of
copying it.
Commit: 82f19674bff578b9afd164144fd6b75d042ac932
https://github.com/llvm/llvm-project/commit/82f19674bff578b9afd164144fd6b75d042ac932
Author: lntue <lntue at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/include/llvm-libc-types/size_t.h
M libc/include/llvm-libc-types/ssize_t.h
Log Message:
-----------
[libc] Update size_t and ssize_t definitions to use __SIZE_TYPE__ and __PTRDIFF_TYPE__ respectively. (#143921)
The current definition of `ssize_t` does not have the same bit width as
`size_t` on 32-bit platforms.
Commit: cbc2ef0e890e6c700023fe00c7166554f2f5ad14
https://github.com/llvm/llvm-project/commit/cbc2ef0e890e6c700023fe00c7166554f2f5ad14
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
[llvm][utils] Add synthetic provider for llvm::DenseSet (#143631)
Add a synthetic child provider for `DenseSet`, which is a wrapper around
`DenseMap`. This provider leverages the existing `DenseMap` provider,
reshaping its dictionary structured children into a set.
Commit: eab1a1d4914a51de8383b818bf595125fb830c51
https://github.com/llvm/llvm-project/commit/eab1a1d4914a51de8383b818bf595125fb830c51
Author: halbi2 <hehiralbi at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A libcxx/test/libcxx/containers/container.adaptors/flat.set/scary.compile.pass.cpp
Log Message:
-----------
[libc++][test] Improve test coverage for flat_set (lack of) SCARY iterators (#139649)
Missing from 5e94e26a7afb8db00cc123e5fc5471c1125596e3.
Commit: d1ca8d891ff038ec29e67065a446aa2f2043325e
https://github.com/llvm/llvm-project/commit/d1ca8d891ff038ec29e67065a446aa2f2043325e
Author: lntue <lntue at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A libc/shared/math.h
A libc/shared/math/expf.h
M libc/src/__support/CMakeLists.txt
A libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp_float_constants.h
A libc/src/__support/math/expf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/expf.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
Log Message:
-----------
[libc][math] Refactor expf implementation to header-only in src/__support/math folder. (#143790)
This is a step in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 6311f039b2678f0a1367a88679efb7b2e37949dc
https://github.com/llvm/llvm-project/commit/6311f039b2678f0a1367a88679efb7b2e37949dc
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/hdr/types/CMakeLists.txt
M libc/include/llvm-libc-types/char8_t.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/wchar/mbstate.h
M libc/src/__support/wchar/utf_ret.h
Log Message:
-----------
[libc] Build fixes for widechar characterconverter (#143805)
Build fixes for wchar CharacterConverter class
Commit: 9208b343e962b9f1140ee345c0050a3920bdcbf2
https://github.com/llvm/llvm-project/commit/9208b343e962b9f1140ee345c0050a3920bdcbf2
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
M clang/test/Driver/aix-shared-lib-tls-model-opt.c
M clang/test/Driver/aix-small-local-exec-dynamic-tls.c
M clang/test/Driver/ppc-crbits.cpp
M clang/test/Driver/ppc-isa-features.cpp
M llvm/include/llvm/TargetParser/PPCTargetParser.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/TargetParser/CMakeLists.txt
M llvm/lib/TargetParser/PPCTargetParser.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[PowerPC] frontend get target feature from backend with cpu name (#137670)
1. The PR proceeds with a backend target hook to allow front-ends to
determine what target features are available in a compilation based on
the CPU name.
2. Fix a backend target feature bug that supports HTM for
Power8/9/10/11. However, HTM is only supported on Power8/9 according to
the ISA.
3. All target features that are hardcoded in PPC.cpp can be retrieved
from the backend target feature. I have double-checked that the
hardcoded logic for inferring target features from the CPU in the
frontend(PPC.cpp) is the same as in PPC.td.
Commit: 06dad352dba16fd9afa89be7abf9bb46f7552b48
https://github.com/llvm/llvm-project/commit/06dad352dba16fd9afa89be7abf9bb46f7552b48
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
R lldb/scripts/framework-header-fix.py
R lldb/test/Shell/Scripts/Inputs/Main/SBAddress.h
R lldb/test/Shell/Scripts/Inputs/RPC/RPCSBAddress.h
R lldb/test/Shell/Scripts/TestFrameworkFixScript.test
R lldb/test/Shell/Scripts/TestFrameworkFixUnifdef.test
R lldb/test/Shell/Scripts/TestRPCFrameworkFixScript.test
Log Message:
-----------
Revert "[lldb][headers] Create Python script to fix up framework headers" (#143941)
Reverts llvm/llvm-project#142051
Commit: 4e765b7a6b93b5d82e90f9a112b3eca4f873f005
https://github.com/llvm/llvm-project/commit/4e765b7a6b93b5d82e90f9a112b3eca4f873f005
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/dpbusd_i4.ll
Log Message:
-----------
[x86] dpbusd_i4.ll - regenerate VPTERNLOGD asm comment
Commit: 5a6a4b6ba6945363bf366a885103a4adca11b5ef
https://github.com/llvm/llvm-project/commit/5a6a4b6ba6945363bf366a885103a4adca11b5ef
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
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/stdio.yaml
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/generic/CMakeLists.txt
A libc/src/stdio/generic/perror.cpp
A libc/src/stdio/perror.h
M libc/test/src/stdio/CMakeLists.txt
A libc/test/src/stdio/perror_test.cpp
Log Message:
-----------
[libc] Implement perror (#143624)
The perror function writes an error message directly to stderr. This
patch adds an implementation, tests, and header generation details.
Commit: f94950db89a905309ec9ea2245889df88ffd0690
https://github.com/llvm/llvm-project/commit/f94950db89a905309ec9ea2245889df88ffd0690
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/mbstate.h
Log Message:
-----------
[libc] Changed mbstate struct (#143942)
Changed the mbstate variable from bits processed to bytes processed and
implemented isComplete().
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: fd88aef21bae75b4641472badeb2abe3757872ac
https://github.com/llvm/llvm-project/commit/fd88aef21bae75b4641472badeb2abe3757872ac
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/docs/SanitizerSpecialCaseList.rst
Log Message:
-----------
[Doc][NFC] Fix Sanitizer Ignore list example errors. (#143755)
Commit: 639e811434d2c21b9161fe9955acdea28ce33c7b
https://github.com/llvm/llvm-project/commit/639e811434d2c21b9161fe9955acdea28ce33c7b
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
Log Message:
-----------
[CIR][NFC] Fix an unused variable warning (#143933)
This fixes a warning where a variable assigned in 'if' statement wasn't
referenced again.
Commit: 4a58a63280a673142fc674db1fb668b7bae00420
https://github.com/llvm/llvm-project/commit/4a58a63280a673142fc674db1fb668b7bae00420
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Log Message:
-----------
[mlir][linalg] Remove the `test-linalg-to-vector-patterns` option (#142116)
This patch removes the `test-linalg-to-vector-patterns` option from the
`-test-linalg-transform-patterns=` test flag. It was only used in one
test, where a more specialized transform dialect op can be used instead:
* `transform.apply_patterns.linalg.pad_vectorization`
While we could preserve `test-linalg-to-vector-patterns`, it's better to
rely on finer-grained transformations — this way, we know exactly what
is being run and tested. Now that its only use has been removed, it
feels natural to delete `test-linalg-to-vector-patterns`.
Commit: 3c1053811e6925e8b9f7a044f3a18bfda1d7ccfe
https://github.com/llvm/llvm-project/commit/3c1053811e6925e8b9f7a044f3a18bfda1d7ccfe
Author: David Rivera <davidriverg at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
Log Message:
-----------
Revert "[clang-tidy] Improve integer comparison by matching valid expressions outside implicitCastExpr" (#143944)
Reverts llvm/llvm-project#134188
related: https://github.com/llvm/llvm-project/issues/143927
Commit: edf636afe405ff90da7bf1834aa334bd52bc861e
https://github.com/llvm/llvm-project/commit/edf636afe405ff90da7bf1834aa334bd52bc861e
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
Log Message:
-----------
[PowerPC][NFC] Update lowering STXVP to STXV in Oct word spilling (#142220)
Remove explicit register arithmetic from spilling ACC and STXVP code.
Commit: 46085d8f83623f6ea2921459de9f731d7df762d4
https://github.com/llvm/llvm-project/commit/46085d8f83623f6ea2921459de9f731d7df762d4
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lld/ELF/Writer.cpp
M lld/test/ELF/x86-64-section-layout.s
Log Message:
-----------
[lld/ELF][x86-64] Place large executable sections at the edges of binary (#70358)
So that when mixing small and large text, large text stays out of the
way of the rest of the binary.
Place large RX sections at the beginning rather than at the end so that
with `--no-rosegment`, the large text and rodata share a single PT_LOAD
segment. Place large RWX sections at the end to keep writable and
readonly sections separate.
Clang started emitting the large section flag for `.ltext` sections in
#73037.
Commit: df7db441d4e97568a5cbf830b0810512bb702159
https://github.com/llvm/llvm-project/commit/df7db441d4e97568a5cbf830b0810512bb702159
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
Log Message:
-----------
Revert "[PowerPC][NFC] Update lowering STXVP to STXV in Oct word spil… (#143948)
…ling (#142220)"
This reverts commit edf636afe405ff90da7bf1834aa334bd52bc861e.
checked in wrong branch.
Commit: c317eda6e3785037f16a746a1096c2cca82d9455
https://github.com/llvm/llvm-project/commit/c317eda6e3785037f16a746a1096c2cca82d9455
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
Log Message:
-----------
[PowerPC][NFC] Update lowering STXVP to STXV in Oct word spilling (#143953)
Simpliy handling for spilling of acc reg with stx by removing explicit
register arithmetic and clean up code gen for register mapping used in
stxvp spilling.
Relanding: https://github.com/llvm/llvm-project/pull/142220
Commit: 030a471753421477c7ef345cc60091788252fabc
https://github.com/llvm/llvm-project/commit/030a471753421477c7ef345cc60091788252fabc
Author: David Green <david.green at arm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
Log Message:
-----------
[AArch64][Clang] Exclude address spaces from pointer-only coercion types.
As reported on #135064, the generic pointer coercion code in
CoerceIntOrPtrToIntOrPtr cannot handle address space casts (it tries to bitcast
the pointers). This bails out if an address space qualifier is found on the
pointer.
Commit: 891f6ae783b36122b0f2fadc0c2d95d7dd590415
https://github.com/llvm/llvm-project/commit/891f6ae783b36122b0f2fadc0c2d95d7dd590415
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A llvm/test/Transforms/InstCombine/vp-reverse.ll
Log Message:
-----------
[instcombine] Add test coverage for vp.reverse elimination combines
Commit: cbf27bf711c08c34185f05ca5edbfa61bd3786e2
https://github.com/llvm/llvm-project/commit/cbf27bf711c08c34185f05ca5edbfa61bd3786e2
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
M clang/test/Driver/aix-shared-lib-tls-model-opt.c
M clang/test/Driver/aix-small-local-exec-dynamic-tls.c
M clang/test/Driver/ppc-crbits.cpp
M clang/test/Driver/ppc-isa-features.cpp
M llvm/include/llvm/TargetParser/PPCTargetParser.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/TargetParser/CMakeLists.txt
M llvm/lib/TargetParser/PPCTargetParser.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
Revert " [PowerPC] frontend get target feature from backend with cpu name (#137670)"
This reverts commit 9208b343e962b9f1140ee345c0050a3920bdcbf2.
TargetParser shouldn't re-run the PPC subtarget tablegen target, it
should define its own `-gen-ppc-target-def` rule like all the other
targets do in llvm/include/llvm/TargetParser/CMakeLists.txt .
One user reported that there are incorrect CMake dependencies after this
change, so I will roll this back in the meantime.
Commit: c19e900ce8b422f6b8c028fbbd9ef7e9d3720236
https://github.com/llvm/llvm-project/commit/c19e900ce8b422f6b8c028fbbd9ef7e9d3720236
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
Log Message:
-----------
[AArch64] Signed comparison using CMN is safe when the subtraction is nsw (#141993)
nsw means no signed wrap, and 0 - INT_MIN is a signed wrap.
Now, this is going to be a point I need to get out of the way:
So is it okay to always transform a > -b into cmn if it is a signed
comparison, even if b is INT_MIN because -INT_MIN is undefined, at least
in C, because unless fwrapv is specified, opt puts nsw on signed integer
operations, allowing for more folds anyway.
Commit: b1f5e26b78a9550a22ee2f24bb3f220d396c452f
https://github.com/llvm/llvm-project/commit/b1f5e26b78a9550a22ee2f24bb3f220d396c452f
Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/source/Target/Target.cpp
Log Message:
-----------
[lldb] Properly handle locate module callback when Target change arch (#143793)
Since this PR: https://github.com/llvm/llvm-project/pull/141670/ We
started to override the Platform/Arch for a target if needed. However we
may have already registered locate module callback with the old
platform.
This PR will move the locate module callback to the new Platform
whenever Target changes architecture.
Co-authored-by: George Hu <georgehuyubo at gmail.com>
Commit: d65904675ea106713937c9cce24e3d1ec0bc570a
https://github.com/llvm/llvm-project/commit/d65904675ea106713937c9cce24e3d1ec0bc570a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Move logic to create trip count check to helper (NFC).
Move the logic to create the iteration count check to a separate helper,
so it can be re-used by when creating the skeleton for epilogue
vectorization as well.
Commit: 8ee9646b06cd128a6c55f375e4df431aee053c76
https://github.com/llvm/llvm-project/commit/8ee9646b06cd128a6c55f375e4df431aee053c76
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
R llvm/include/llvm/IR/VectorBuilder.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/IR/CMakeLists.txt
R llvm/lib/IR/VectorBuilder.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/unittests/IR/CMakeLists.txt
R llvm/unittests/IR/VectorBuilderTest.cpp
Log Message:
-----------
[LV] Simplify creation of vp.load/vp.store/vp.reduce intrinsics (#143804)
The use of VectorBuilder here was simply obscuring what was actually
going on. For vp.load and vp.store, the resulting code is significantly
more idiomatic. For the vp.reduce cases, we remove several layers of
indirection, including passing parameters via implicit state on the
builder. In both cases, the code is significantly easier to follow.
Commit: 741ea80446e21b4052d723765011fe3583d3fc7f
https://github.com/llvm/llvm-project/commit/741ea80446e21b4052d723765011fe3583d3fc7f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 8ee9646b06cd
Commit: 8a8ea8fec063bd64c17e463e7c3eaae5cdb4a645
https://github.com/llvm/llvm-project/commit/8a8ea8fec063bd64c17e463e7c3eaae5cdb4a645
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
A lldb/scripts/framework-header-fix.py
A lldb/test/Shell/Scripts/Inputs/Main/SBAddress.h
A lldb/test/Shell/Scripts/Inputs/RPC/RPCSBAddress.h
A lldb/test/Shell/Scripts/TestFrameworkFixScript.test
A lldb/test/Shell/Scripts/TestFrameworkFixUnifdef.test
A lldb/test/Shell/Scripts/TestRPCFrameworkFixScript.test
Log Message:
-----------
Reland "[lldb][headers] Create Python script to fix up framework head… (#143945)
…ers" (#143941)
Reland the script that converts lldb headers to RPC headers. The RPC
test was failing due to the incorrect input filepath being used.
Original commit message:
This commit replaces the shell script that fixes up includes for the
LLDB framework with a Python script. This script will also be used when
fixing up includes for the LLDBRPC.framework.
Commit: 6f3e2c076d6e3abac9cfd756e95a1ebb5979dd88
https://github.com/llvm/llvm-project/commit/6f3e2c076d6e3abac9cfd756e95a1ebb5979dd88
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl-intrinsics.ll
A llvm/test/Instrumentation/MemorySanitizer/X86/x86-vpermi2.ll
Log Message:
-----------
[MSAN] fork avx512vl-intrinsics and x86-vpermi2 tests (#143643)
Commit: 7e6e834815fc3d4a853d62ee0ad8d2b3fa690d40
https://github.com/llvm/llvm-project/commit/7e6e834815fc3d4a853d62ee0ad8d2b3fa690d40
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/metrics/metrics.py
M .ci/monolithic-linux.sh
M .git-blame-ignore-revs
M .github/workflows/email-check.yaml
M .github/workflows/libcxx-build-and-test.yaml
M bolt/include/bolt/Core/BinaryBasicBlock.h
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Profile/ProfileYAMLMapping.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Passes/Aligner.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Passes/ProfileQualityStats.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/test/AArch64/adr-relaxation.s
M bolt/test/X86/shrinkwrapping.test
R bolt/test/program-header.test
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/CMakeLists.txt
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/HTMLMustacheGenerator.cpp
A clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-move/Move.h
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
M clang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.h
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.cpp
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.h
M clang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.h
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.h
M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.h
M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.h
M clang-tools-extra/clang-tidy/altera/AlteraTidyModule.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.h
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/clang-tidy/android/AndroidTidyModule.cpp
M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipe2Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipeCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecSocketCheck.cpp
M clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.h
M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
M clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.h
M clang-tools-extra/clang-tidy/darwin/DarwinTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/FuchsiaTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/TrailingReturnCheck.h
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.h
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.h
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.h
M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
M clang-tools-extra/clang-tidy/google/UsingNamespaceDirectiveCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.h
M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/LinuxKernelTidyModule.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.cpp
M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.h
M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/LLVMLibcTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.h
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.h
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.h
M clang-tools-extra/clang-tidy/mpi/MPITidyModule.cpp
M clang-tools-extra/clang-tidy/objc/AvoidNSErrorInitCheck.h
M clang-tools-extra/clang-tidy/objc/ForbiddenSubclassingCheck.cpp
M clang-tools-extra/clang-tidy/objc/NSDateFormatterCheck.cpp
M clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/openmp/OpenMPTidyModule.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.h
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.h
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.h
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
M clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp
M clang-tools-extra/clang-tidy/portability/PortabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.h
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.h
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.h
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp
M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
M clang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp
M clang-tools-extra/clang-tidy/zircon/ZirconTidyModule.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/clangd/test/module_dependencies.test
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/multi-level-implicit-pointer-conversion.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/namespace-comment.rst
A clang-tools-extra/test/clang-doc/json/class-template.cpp
A clang-tools-extra/test/clang-doc/json/class.cpp
A clang-tools-extra/test/clang-doc/json/function-specifiers.cpp
A clang-tools-extra/test/clang-doc/json/method-template.cpp
A clang-tools-extra/test/clang-doc/json/namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/multi-level-implicit-pointer-conversion.c
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing-nested-namespaces.cpp
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static-deducing-this.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
A clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
M clang/bindings/python/clang/cindex.py
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtCXX.h
M clang/include/clang/AST/StmtObjC.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/AArch64ACLETypes.def
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/riscv_andes_vector.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
A clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/ParsedTemplate.h
M clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/SemaPseudoObject.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/Formula.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
A clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
A clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.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/CIRGenFunctionInfo.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/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/MultilibBuilder.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/AVR.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
R clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/CrossWindows.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cygwin.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Hurd.cpp
M clang/lib/Driver/ToolChains/InterfaceStubs.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSP430.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/NaCl.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Driver/ToolChains/VEToolchain.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/XCore.cpp
M clang/lib/Driver/ToolChains/ZOS.cpp
M clang/lib/Driver/XRayArgs.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/MacroCallReconstructor.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/amxmovrstransposeintrin.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_spirv.h
M clang/lib/Headers/movrsintrin.h
M clang/lib/Interpreter/DeviceOffload.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
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/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/Checker.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/AST/ast-dump-aarch64-neon-types.c
A clang/test/AST/ast-dump-type-callingconv.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
A clang/test/Analysis/bitint-z3.c
A clang/test/C/C23/n3006.c
A clang/test/CIR/CodeGen/builtin_call.cpp
M clang/test/CIR/CodeGen/class.cpp
A clang/test/CIR/CodeGen/ctor.cpp
A clang/test/CIR/CodeGen/enum.cpp
A clang/test/CIR/CodeGen/forward-decls.cpp
A clang/test/CIR/CodeGen/forward-enum.c
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGenOpenACC/combined-copy.c
A clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/compute-copy.c
A clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
A clang/test/CIR/CodeGenOpenACC/host_data.c
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
M clang/test/CIR/IR/invalid-vector.cir
M clang/test/CIR/IR/vector.cir
A clang/test/CIR/Transforms/vector-create-fold.cir
A clang/test/CIR/Transforms/vector-shuffle-fold.cir
A clang/test/CIR/Transforms/vector-ternary-fold.cir
M clang/test/CXX/class.access/p4.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/simple-requirement.cpp
M clang/test/CodeGen/AArch64/mixed-neon-types.c
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
A clang/test/CodeGen/LoongArch/bfloat-abi.c
A clang/test/CodeGen/LoongArch/bfloat-mangle.cpp
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/zvfhmin-error.c
A clang/test/CodeGen/X86/cygwin-varargs.c
M clang/test/CodeGen/alias.c
M clang/test/CodeGen/arm-mve-intrinsics/vrnd.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
A clang/test/CodeGen/attr-availability-aligned-versions.c
M clang/test/CodeGen/builtins-nvptx.c
A clang/test/CodeGen/distributed-thin-lto/backend-skip.ll
A clang/test/CodeGen/distributed-thin-lto/basic.ll
A clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
A clang/test/CodeGen/distributed-thin-lto/cfi.ll
A clang/test/CodeGen/distributed-thin-lto/cs-irpgo.c
A clang/test/CodeGen/distributed-thin-lto/newpm.ll
A clang/test/CodeGen/distributed-thin-lto/objc-contract-pass.ll
A clang/test/CodeGen/distributed-thin-lto/supports-hot-cold-new.ll
M clang/test/CodeGen/ptrauth-in-c-struct.c
R clang/test/CodeGen/thinlto-distributed-backend-skip.ll
R clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
R clang/test/CodeGen/thinlto-distributed-cfi.ll
R clang/test/CodeGen/thinlto-distributed-newpm.ll
R clang/test/CodeGen/thinlto-distributed-objc-contract-pass.ll
R clang/test/CodeGen/thinlto-distributed-supports-hot-cold-new.ll
R clang/test/CodeGen/thinlto-distributed.ll
M clang/test/CodeGen/ubsan-function-debuginfo.c
M clang/test/CodeGen/unsigned-promotion-debuginfo.c
M clang/test/CodeGenCXX/dependent-template-alias.cpp
M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/tmp-md-nodes2.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
A clang/test/CodeGenHLSL/builtins/wave_get_lane_count.hlsl
M clang/test/CodeGenHLSL/group_shared.hlsl
A clang/test/CodeGenHLSL/semantics/SV_Position.ps.hlsl
M clang/test/Driver/darwin-infer-simulator-sdkroot.c
A clang/test/Driver/darwin-invalid-os-versions.c
A clang/test/Driver/darwin-invalid-version-range.c
M clang/test/Driver/darwin-ld-platform-version-macos.c
M clang/test/Driver/darwin-ld-platform-version-watchos.c
M clang/test/Driver/darwin-ld.c
M clang/test/Driver/dxc_spirv.hlsl
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/range.c
M clang/test/ExtractAPI/availability.c
M clang/test/ExtractAPI/inherited_availability.m
A clang/test/Frontend/aarch64-print-enabled-extensions-cc1.c
M clang/test/Interpreter/lambda.cpp
A clang/test/Modules/constexpr-initialization-failure.cpp
A clang/test/Modules/module-local-declarations-02.cppm
A clang/test/Modules/module-local-declarations.cppm
A clang/test/Modules/pr119947.cppm
A clang/test/Modules/pr143788.cppm
A clang/test/Modules/pr61360.cppm
M clang/test/OpenMP/declare_variant_clauses_ast_print.cpp
M clang/test/OpenMP/declare_variant_clauses_messages.cpp
M clang/test/OpenMP/distribute_simd_misc_messages.c
A clang/test/OpenMP/for_private_reduction_codegen.cpp
M clang/test/OpenMP/for_reduction_messages.cpp
M clang/test/OpenMP/for_simd_reduction_messages.cpp
M clang/test/OpenMP/sections_reduction_messages.cpp
A clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_ast_dump.cpp
A clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
A clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_ast_dump.cpp
A clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
R clang/test/OpenMP/target_map_nest_defalut_mapper_ast_dump.cpp
R clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
A clang/test/Parser/macro-expansion-recovery.cpp
M clang/test/Parser/switch-recovery.cpp
M clang/test/Preprocessor/init-loongarch.c
M clang/test/Preprocessor/init-x86.c
M clang/test/Preprocessor/init.c
A clang/test/Preprocessor/line-directive-suppressed.c
A clang/test/Sema/Inputs/XROS.sdk/SDKSettings.json
A clang/test/Sema/attr-availability-invalid-os-versions.c
A clang/test/Sema/attr-availability-ios-aligned-versions.c
A clang/test/Sema/attr-availability-ios-fallback-aligned-versions.c
M clang/test/Sema/attr-availability-iosmac-infer-from-macos.c
M clang/test/Sema/rvv-required-features-invalid.c
A clang/test/Sema/warn-unreachable_crash.cpp
M clang/test/Sema/zvk-invalid-features.c
M clang/test/Sema/zvk-invalid-zvknha.c
M clang/test/Sema/zvk-target-attributes.c
M clang/test/SemaCUDA/bad-attributes.cu
M clang/test/SemaCXX/attr-trivial-abi.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/destructor.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
A clang/test/SemaHLSL/Semantics/position.ps.hlsl
A clang/test/SemaHLSL/Semantics/position.ps.size.hlsl
A clang/test/SemaHLSL/Semantics/position.vs.hlsl
M clang/test/SemaObjCXX/attr-trivial-abi.mm
M clang/test/SemaTemplate/concepts.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/scan-build/bin/scan-build
M clang/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp
M clang/unittests/Driver/MultilibBuilderTest.cpp
M clang/unittests/Driver/MultilibTest.cpp
M clang/unittests/Format/FormatTestRawStrings.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/analyzer/requirements.txt
M clang/utils/perf-training/perf-helper.py
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/builtins/README.txt
M compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
M compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
M compiler-rt/lib/builtins/arm/aeabi_dcmp.S
M compiler-rt/lib/builtins/arm/aeabi_fcmp.S
M compiler-rt/lib/builtins/arm/aeabi_idivmod.S
M compiler-rt/lib/builtins/arm/aeabi_ldivmod.S
M compiler-rt/lib/builtins/arm/aeabi_memcpy.S
M compiler-rt/lib/builtins/arm/aeabi_memmove.S
M compiler-rt/lib/builtins/arm/aeabi_memset.S
M compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
M compiler-rt/lib/builtins/arm/aeabi_uldivmod.S
M compiler-rt/lib/builtins/assembly.h
M compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/builtins/trampoline_setup.c
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
M compiler-rt/test/builtins/Unit/trampoline_setup_test.c
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/hwasan/TestCases/Posix/dlerror.cpp
M compiler-rt/test/tysan/CMakeLists.txt
M cross-project-tests/lit.cfg.py
M cross-project-tests/lit.site.cfg.py.in
M flang-rt/lib/cuda/memory.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang/Maintainers.md
M flang/docs/OpenMPSupport.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Common/enum-class.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/tools.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopyIn.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/tools.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/assignment.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.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/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names-utils.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/rewrite-directives.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Driver/darwin-version.f90
A flang/test/Driver/disable-diagnostic.f90
A flang/test/Driver/mrecip.f90
M flang/test/Driver/pic-flags.f90
M flang/test/Driver/prefer-vector-width.f90
M flang/test/Driver/werror-wrong.f90
M flang/test/Driver/wextra-ok.f90
M flang/test/Examples/omp-atomic.f90
A flang/test/Fir/FirToSCF/if.fir
M flang/test/Fir/box-offset-codegen.fir
M flang/test/Fir/box-offset.fir
M flang/test/Fir/boxproc.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/invalid.fir
A flang/test/Fir/local.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/HLFIR/as_expr-codegen-polymorphic.fir
M flang/test/HLFIR/assign-side-effects.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
A flang/test/HLFIR/declare-alloc-target.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
A flang/test/HLFIR/inline-hlfir-copy-in.fir
M flang/test/HLFIR/memory-effects.fir
A flang/test/HLFIR/opt-bufferization-elemental-assign-shape.fir
A flang/test/HLFIR/opt-bufferization-tonto.fir
M flang/test/HLFIR/reshape-lowering.fir
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Lower/HLFIR/assumed-rank-entry.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/polymorphic-expressions.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare.f90
A flang/test/Lower/OpenMP/Todo/target-parallel-private.f90
A flang/test/Lower/OpenMP/Todo/target-teams-private.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-implicit-cast.f90
A flang/test/Lower/OpenMP/atomic-privatize.f90
M flang/test/Lower/OpenMP/atomic-write.f90
A flang/test/Lower/OpenMP/dump-atomic-analysis.f90
M flang/test/Lower/OpenMP/map-character.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/sections-predetermined-private.f90
M flang/test/Lower/volatile-allocatable.f90
A flang/test/Lower/volatile-openmp2.f03
M flang/test/Parser/OpenMP/atomic-compare.f90
A flang/test/Parser/OpenMP/atomic-end.f90
A flang/test/Parser/OpenMP/declare-reduction-multi.f90
A flang/test/Parser/OpenMP/declare-reduction-operator.f90
M flang/test/Semantics/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
A flang/test/Semantics/OpenMP/atomic-read.f90
A flang/test/Semantics/OpenMP/atomic-update-capture.f90
A flang/test/Semantics/OpenMP/atomic-update-only.f90
M flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90
A flang/test/Semantics/OpenMP/atomic-write.f90
M flang/test/Semantics/OpenMP/atomic.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/common-block.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
A flang/test/Semantics/OpenMP/declare-reduction-bad-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-bad-operator2.f90
A flang/test/Semantics/OpenMP/declare-reduction-dupsym.f90
M flang/test/Semantics/OpenMP/declare-reduction-error.f90
A flang/test/Semantics/OpenMP/declare-reduction-functions.f90
A flang/test/Semantics/OpenMP/declare-reduction-logical.f90
A flang/test/Semantics/OpenMP/declare-reduction-mangled.f90
A flang/test/Semantics/OpenMP/declare-reduction-modfile.f90
A flang/test/Semantics/OpenMP/declare-reduction-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-operators.f90
A flang/test/Semantics/OpenMP/declare-reduction-renamedop.f90
A flang/test/Semantics/OpenMP/declare-reduction-typeerror.f90
M flang/test/Semantics/OpenMP/declare-reduction.f90
M flang/test/Semantics/OpenMP/declare-target-common-block.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/requires-atomic01.f90
M flang/test/Semantics/OpenMP/requires-atomic02.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/cuf21.cuf
A flang/test/Semantics/cuf22.cuf
A flang/test/Semantics/modfile76.F90
A flang/test/Semantics/modfile77.F90
A flang/test/Semantics/modfile78.F90
M flang/test/Semantics/offsets03.f90
M flang/test/Semantics/resolve121.f90
M flang/test/Semantics/symbol33.f90
A flang/test/Semantics/typeinfo13.f90
A flang/test/Transforms/DoConcurrent/locality_specifiers_init_dealloc.mlir
A flang/test/Transforms/DoConcurrent/locality_specifiers_simple.mlir
M flang/test/Transforms/omp-map-info-finalization.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa2.fir
M flang/test/Transforms/tbaa3.fir
M flang/tools/bbc/bbc.cpp
M flang/unittests/Common/CMakeLists.txt
A flang/unittests/Common/EnumClassTests.cpp
A flang/unittests/Common/FortranFeaturesTest.cpp
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/config.json
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/code_style.rst
M libc/docs/headers/time.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_ioctl_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/char32_t.h
A libc/hdr/types/char8_t.h
A libc/hdr/uchar_overlay.h
M libc/include/CMakeLists.txt
A libc/include/llvm-libc-macros/baremetal/CMakeLists.txt
A libc/include/llvm-libc-macros/baremetal/time-macros.h
M libc/include/llvm-libc-macros/linux/sys-ioctl-macros.h
M libc/include/llvm-libc-macros/time-macros.h
M libc/include/llvm-libc-types/char8_t.h
M libc/include/llvm-libc-types/size_t.h
M libc/include/llvm-libc-types/ssize_t.h
M libc/include/locale.yaml
M libc/include/stdio.yaml
M libc/include/stdlib.yaml
M libc/include/string.h.def
M libc/include/string.yaml
M libc/include/time.yaml
M libc/include/wchar.yaml
M libc/shared/fp_bits.h
A libc/shared/libc_common.h
A libc/shared/math.h
A libc/shared/math/expf.h
M libc/shared/rpc_server.h
M libc/shared/str_to_float.h
M libc/shared/str_to_integer.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/file.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/File/linux/lseekImpl.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/HashTable/randomness.h
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/__support/OSUtil/linux/vdso.cpp
M libc/src/__support/StringUtil/tables/linux_extension_errors.h
A libc/src/__support/libc_errno.h
A libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp_float_constants.h
A libc/src/__support/math/expf.h
M libc/src/__support/threads/linux/thread.cpp
A libc/src/__support/wchar/CMakeLists.txt
A libc/src/__support/wchar/character_converter.cpp
A libc/src/__support/wchar/character_converter.h
A libc/src/__support/wchar/mbstate.h
A libc/src/__support/wchar/utf_ret.h
M libc/src/dirent/closedir.cpp
M libc/src/dirent/opendir.cpp
M libc/src/dirent/readdir.cpp
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
R libc/src/errno/libc_errno.h
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/inttypes/strtoimax.cpp
M libc/src/inttypes/strtoumax.cpp
M libc/src/math/amdgpu/CMakeLists.txt
R libc/src/math/amdgpu/acos.cpp
R libc/src/math/amdgpu/acosf.cpp
R libc/src/math/amdgpu/acosh.cpp
R libc/src/math/amdgpu/acoshf.cpp
R libc/src/math/amdgpu/asin.cpp
R libc/src/math/amdgpu/asinf.cpp
R libc/src/math/amdgpu/asinh.cpp
R libc/src/math/amdgpu/asinhf.cpp
R libc/src/math/amdgpu/atan.cpp
R libc/src/math/amdgpu/atan2.cpp
R libc/src/math/amdgpu/atan2f.cpp
R libc/src/math/amdgpu/atanf.cpp
R libc/src/math/amdgpu/atanh.cpp
R libc/src/math/amdgpu/atanhf.cpp
R libc/src/math/amdgpu/cos.cpp
R libc/src/math/amdgpu/cosf.cpp
R libc/src/math/amdgpu/cosh.cpp
R libc/src/math/amdgpu/coshf.cpp
R libc/src/math/amdgpu/declarations.h
R libc/src/math/amdgpu/erf.cpp
R libc/src/math/amdgpu/erff.cpp
R libc/src/math/amdgpu/exp.cpp
R libc/src/math/amdgpu/exp10.cpp
R libc/src/math/amdgpu/exp10f.cpp
R libc/src/math/amdgpu/exp2.cpp
R libc/src/math/amdgpu/exp2f.cpp
R libc/src/math/amdgpu/expf.cpp
R libc/src/math/amdgpu/expm1.cpp
R libc/src/math/amdgpu/expm1f.cpp
R libc/src/math/amdgpu/fdim.cpp
R libc/src/math/amdgpu/fdimf.cpp
M libc/src/math/amdgpu/frexp.cpp
M libc/src/math/amdgpu/frexpf.cpp
R libc/src/math/amdgpu/hypot.cpp
R libc/src/math/amdgpu/hypotf.cpp
R libc/src/math/amdgpu/ilogb.cpp
R libc/src/math/amdgpu/ilogbf.cpp
M libc/src/math/amdgpu/ldexp.cpp
M libc/src/math/amdgpu/ldexpf.cpp
M libc/src/math/amdgpu/lgamma.cpp
M libc/src/math/amdgpu/lgamma_r.cpp
M libc/src/math/amdgpu/llrint.cpp
M libc/src/math/amdgpu/llrintf.cpp
R libc/src/math/amdgpu/log.cpp
R libc/src/math/amdgpu/log10.cpp
R libc/src/math/amdgpu/log10f.cpp
R libc/src/math/amdgpu/log1p.cpp
R libc/src/math/amdgpu/log1pf.cpp
R libc/src/math/amdgpu/log2.cpp
R libc/src/math/amdgpu/log2f.cpp
R libc/src/math/amdgpu/logb.cpp
R libc/src/math/amdgpu/logbf.cpp
R libc/src/math/amdgpu/logf.cpp
M libc/src/math/amdgpu/lrint.cpp
M libc/src/math/amdgpu/lrintf.cpp
R libc/src/math/amdgpu/nextafter.cpp
R libc/src/math/amdgpu/nextafterf.cpp
R libc/src/math/amdgpu/platform.h
R libc/src/math/amdgpu/powf.cpp
R libc/src/math/amdgpu/powi.cpp
R libc/src/math/amdgpu/powif.cpp
R libc/src/math/amdgpu/remquo.cpp
R libc/src/math/amdgpu/remquof.cpp
M libc/src/math/amdgpu/scalbn.cpp
M libc/src/math/amdgpu/scalbnf.cpp
R libc/src/math/amdgpu/sin.cpp
R libc/src/math/amdgpu/sincos.cpp
R libc/src/math/amdgpu/sincosf.cpp
R libc/src/math/amdgpu/sinf.cpp
R libc/src/math/amdgpu/sinh.cpp
R libc/src/math/amdgpu/sinhf.cpp
R libc/src/math/amdgpu/tan.cpp
R libc/src/math/amdgpu/tanf.cpp
R libc/src/math/amdgpu/tanh.cpp
R libc/src/math/amdgpu/tanhf.cpp
M libc/src/math/amdgpu/tgamma.cpp
M libc/src/math/amdgpu/tgammaf.cpp
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp10m1f.cpp
M libc/src/math/generic/exp2m1f.cpp
R libc/src/math/generic/exp_utils.cpp
R libc/src/math/generic/exp_utils.h
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/nan.cpp
M libc/src/math/generic/nanf.cpp
M libc/src/math/generic/nanf128.cpp
M libc/src/math/generic/nanf16.cpp
M libc/src/math/generic/nanl.cpp
M libc/src/math/nvptx/CMakeLists.txt
R libc/src/math/nvptx/acos.cpp
R libc/src/math/nvptx/acosf.cpp
R libc/src/math/nvptx/acosh.cpp
R libc/src/math/nvptx/acoshf.cpp
R libc/src/math/nvptx/asin.cpp
R libc/src/math/nvptx/asinf.cpp
R libc/src/math/nvptx/asinh.cpp
R libc/src/math/nvptx/asinhf.cpp
R libc/src/math/nvptx/atan.cpp
R libc/src/math/nvptx/atan2.cpp
R libc/src/math/nvptx/atan2f.cpp
R libc/src/math/nvptx/atanf.cpp
R libc/src/math/nvptx/atanh.cpp
R libc/src/math/nvptx/atanhf.cpp
R libc/src/math/nvptx/cos.cpp
R libc/src/math/nvptx/cosf.cpp
R libc/src/math/nvptx/cosh.cpp
R libc/src/math/nvptx/coshf.cpp
R libc/src/math/nvptx/declarations.h
R libc/src/math/nvptx/erf.cpp
R libc/src/math/nvptx/erff.cpp
R libc/src/math/nvptx/exp.cpp
R libc/src/math/nvptx/exp10.cpp
R libc/src/math/nvptx/exp10f.cpp
R libc/src/math/nvptx/exp2.cpp
R libc/src/math/nvptx/exp2f.cpp
R libc/src/math/nvptx/expf.cpp
R libc/src/math/nvptx/expm1.cpp
R libc/src/math/nvptx/expm1f.cpp
R libc/src/math/nvptx/fdim.cpp
R libc/src/math/nvptx/fdimf.cpp
R libc/src/math/nvptx/frexp.cpp
R libc/src/math/nvptx/frexpf.cpp
R libc/src/math/nvptx/hypot.cpp
R libc/src/math/nvptx/hypotf.cpp
R libc/src/math/nvptx/ilogb.cpp
R libc/src/math/nvptx/ilogbf.cpp
R libc/src/math/nvptx/ldexp.cpp
R libc/src/math/nvptx/ldexpf.cpp
M libc/src/math/nvptx/lgamma.cpp
M libc/src/math/nvptx/lgamma_r.cpp
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
R libc/src/math/nvptx/log.cpp
R libc/src/math/nvptx/log10.cpp
R libc/src/math/nvptx/log10f.cpp
R libc/src/math/nvptx/log1p.cpp
R libc/src/math/nvptx/log1pf.cpp
R libc/src/math/nvptx/log2.cpp
R libc/src/math/nvptx/log2f.cpp
R libc/src/math/nvptx/logb.cpp
R libc/src/math/nvptx/logbf.cpp
R libc/src/math/nvptx/logf.cpp
M libc/src/math/nvptx/lrint.cpp
R libc/src/math/nvptx/lrintf.cpp
R libc/src/math/nvptx/nextafter.cpp
R libc/src/math/nvptx/nextafterf.cpp
R libc/src/math/nvptx/nvptx.h
R libc/src/math/nvptx/powf.cpp
R libc/src/math/nvptx/powi.cpp
R libc/src/math/nvptx/powif.cpp
R libc/src/math/nvptx/remquo.cpp
R libc/src/math/nvptx/remquof.cpp
R libc/src/math/nvptx/scalbn.cpp
R libc/src/math/nvptx/scalbnf.cpp
R libc/src/math/nvptx/sin.cpp
R libc/src/math/nvptx/sincos.cpp
R libc/src/math/nvptx/sincosf.cpp
R libc/src/math/nvptx/sinf.cpp
R libc/src/math/nvptx/sinh.cpp
R libc/src/math/nvptx/sinhf.cpp
R libc/src/math/nvptx/tan.cpp
R libc/src/math/nvptx/tanf.cpp
R libc/src/math/nvptx/tanh.cpp
R libc/src/math/nvptx/tanhf.cpp
M libc/src/math/nvptx/tgamma.cpp
M libc/src/math/nvptx/tgammaf.cpp
M libc/src/poll/linux/poll.cpp
M libc/src/pthread/pthread_atfork.cpp
M libc/src/pthread/pthread_attr_setdetachstate.cpp
M libc/src/pthread/pthread_attr_setguardsize.cpp
M libc/src/pthread/pthread_attr_setstack.cpp
M libc/src/pthread/pthread_attr_setstacksize.cpp
M libc/src/pthread/pthread_condattr_setclock.cpp
M libc/src/pthread/pthread_condattr_setpshared.cpp
M libc/src/pthread/pthread_create.cpp
M libc/src/pthread/pthread_key_create.cpp
M libc/src/pthread/pthread_key_delete.cpp
M libc/src/pthread/pthread_mutexattr_setpshared.cpp
M libc/src/pthread/pthread_mutexattr_setrobust.cpp
M libc/src/pthread/pthread_mutexattr_settype.cpp
M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
M libc/src/pthread/pthread_rwlock_trywrlock.cpp
M libc/src/pthread/pthread_rwlock_unlock.cpp
M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
M libc/src/pthread/pthread_setspecific.cpp
M libc/src/sched/linux/sched_get_priority_max.cpp
M libc/src/sched/linux/sched_get_priority_min.cpp
M libc/src/sched/linux/sched_getaffinity.cpp
M libc/src/sched/linux/sched_getparam.cpp
M libc/src/sched/linux/sched_getscheduler.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sched/linux/sched_setaffinity.cpp
M libc/src/sched/linux/sched_setparam.cpp
M libc/src/sched/linux/sched_setscheduler.cpp
M libc/src/sched/linux/sched_yield.cpp
M libc/src/search/hcreate.cpp
M libc/src/search/hcreate_r.cpp
M libc/src/search/hdestroy_r.cpp
M libc/src/search/hsearch.cpp
M libc/src/search/hsearch_r.cpp
M libc/src/signal/linux/kill.cpp
M libc/src/signal/linux/sigaction.cpp
M libc/src/signal/linux/sigaddset.cpp
M libc/src/signal/linux/sigaltstack.cpp
M libc/src/signal/linux/sigdelset.cpp
M libc/src/signal/linux/sigemptyset.cpp
M libc/src/signal/linux/sigfillset.cpp
M libc/src/signal/linux/sigprocmask.cpp
M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/generic/CMakeLists.txt
M libc/src/stdio/generic/fclose.cpp
M libc/src/stdio/generic/fflush.cpp
M libc/src/stdio/generic/fgetc.cpp
M libc/src/stdio/generic/fgetc_unlocked.cpp
M libc/src/stdio/generic/fgets.cpp
M libc/src/stdio/generic/fopen.cpp
M libc/src/stdio/generic/fputc.cpp
M libc/src/stdio/generic/fputs.cpp
M libc/src/stdio/generic/fread.cpp
M libc/src/stdio/generic/fread_unlocked.cpp
M libc/src/stdio/generic/fseek.cpp
M libc/src/stdio/generic/fseeko.cpp
M libc/src/stdio/generic/ftell.cpp
M libc/src/stdio/generic/ftello.cpp
M libc/src/stdio/generic/fwrite.cpp
M libc/src/stdio/generic/fwrite_unlocked.cpp
M libc/src/stdio/generic/getc.cpp
M libc/src/stdio/generic/getc_unlocked.cpp
M libc/src/stdio/generic/getchar.cpp
M libc/src/stdio/generic/getchar_unlocked.cpp
A libc/src/stdio/generic/perror.cpp
M libc/src/stdio/generic/putc.cpp
M libc/src/stdio/generic/putchar.cpp
M libc/src/stdio/generic/puts.cpp
M libc/src/stdio/gpu/CMakeLists.txt
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgetc.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/fputc.cpp
M libc/src/stdio/gpu/fputs.cpp
M libc/src/stdio/gpu/fread.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/fwrite.cpp
M libc/src/stdio/gpu/getc.cpp
M libc/src/stdio/gpu/getchar.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/gpu/putc.cpp
M libc/src/stdio/gpu/putchar.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/stderr.cpp
M libc/src/stdio/gpu/stdin.cpp
M libc/src/stdio/gpu/stdout.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/gpu/vprintf.cpp
M libc/src/stdio/linux/fdopen.cpp
M libc/src/stdio/linux/remove.cpp
M libc/src/stdio/linux/rename.cpp
A libc/src/stdio/perror.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/setbuf.cpp
M libc/src/stdio/setvbuf.cpp
M libc/src/stdlib/atof.cpp
M libc/src/stdlib/atoi.cpp
M libc/src/stdlib/atol.cpp
M libc/src/stdlib/atoll.cpp
M libc/src/stdlib/strtod.cpp
M libc/src/stdlib/strtod_l.cpp
M libc/src/stdlib/strtof.cpp
M libc/src/stdlib/strtof_l.cpp
M libc/src/stdlib/strtol.cpp
M libc/src/stdlib/strtol_l.cpp
M libc/src/stdlib/strtold.cpp
M libc/src/stdlib/strtold_l.cpp
M libc/src/stdlib/strtoll.cpp
M libc/src/stdlib/strtoll_l.cpp
M libc/src/stdlib/strtoul.cpp
M libc/src/stdlib/strtoul_l.cpp
M libc/src/stdlib/strtoull.cpp
M libc/src/stdlib/strtoull_l.cpp
M libc/src/string/CMakeLists.txt
M libc/src/string/strdup.cpp
M libc/src/string/string_utils.h
M libc/src/string/strsep.cpp
M libc/src/strings/CMakeLists.txt
M libc/src/sys/CMakeLists.txt
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/epoll/linux/epoll_create.cpp
M libc/src/sys/epoll/linux/epoll_create1.cpp
M libc/src/sys/epoll/linux/epoll_ctl.cpp
M libc/src/sys/epoll/linux/epoll_pwait.cpp
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
M libc/src/sys/epoll/linux/epoll_wait.cpp
A libc/src/sys/ioctl/CMakeLists.txt
A libc/src/sys/ioctl/ioctl.h
A libc/src/sys/ioctl/linux/CMakeLists.txt
A libc/src/sys/ioctl/linux/ioctl.cpp
M libc/src/sys/mman/linux/madvise.cpp
M libc/src/sys/mman/linux/mincore.cpp
M libc/src/sys/mman/linux/mlock.cpp
M libc/src/sys/mman/linux/mlock2.cpp
M libc/src/sys/mman/linux/mlockall.cpp
M libc/src/sys/mman/linux/mmap.cpp
M libc/src/sys/mman/linux/mprotect.cpp
M libc/src/sys/mman/linux/mremap.cpp
M libc/src/sys/mman/linux/msync.cpp
M libc/src/sys/mman/linux/munlock.cpp
M libc/src/sys/mman/linux/munlockall.cpp
M libc/src/sys/mman/linux/munmap.cpp
M libc/src/sys/mman/linux/remap_file_pages.cpp
M libc/src/sys/mman/linux/shm_common.h
M libc/src/sys/prctl/linux/prctl.cpp
M libc/src/sys/random/linux/getrandom.cpp
M libc/src/sys/resource/linux/getrlimit.cpp
M libc/src/sys/resource/linux/setrlimit.cpp
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/sendfile/linux/sendfile.cpp
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/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fchmodat.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/mkdirat.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/sys/statvfs/linux/statfs_utils.h
M libc/src/sys/time/linux/getitimer.cpp
M libc/src/sys/time/linux/setitimer.cpp
M libc/src/sys/time/linux/utimes.cpp
M libc/src/sys/uio/linux/readv.cpp
M libc/src/sys/uio/linux/writev.cpp
M libc/src/sys/utsname/linux/uname.cpp
M libc/src/sys/wait/wait4Impl.h
M libc/src/termios/linux/cfsetispeed.cpp
M libc/src/termios/linux/cfsetospeed.cpp
M libc/src/termios/linux/tcdrain.cpp
M libc/src/termios/linux/tcflow.cpp
M libc/src/termios/linux/tcflush.cpp
M libc/src/termios/linux/tcgetattr.cpp
M libc/src/termios/linux/tcgetsid.cpp
M libc/src/termios/linux/tcsendbreak.cpp
M libc/src/termios/linux/tcsetattr.cpp
M libc/src/threads/thrd_create.cpp
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/nanosleep.cpp
M libc/src/time/linux/timespec_get.cpp
M libc/src/time/time.cpp
M libc/src/time/time_utils.h
M libc/src/time/windows/clock_getres.cpp
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/chdir.cpp
M libc/src/unistd/linux/close.cpp
M libc/src/unistd/linux/dup.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/dup3.cpp
M libc/src/unistd/linux/execv.cpp
M libc/src/unistd/linux/execve.cpp
M libc/src/unistd/linux/fchdir.cpp
M libc/src/unistd/linux/fork.cpp
M libc/src/unistd/linux/fsync.cpp
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/getcwd.cpp
M libc/src/unistd/linux/getentropy.cpp
M libc/src/unistd/linux/getsid.cpp
M libc/src/unistd/linux/isatty.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/pathconf.cpp
M libc/src/unistd/linux/pathconf_utils.cpp
M libc/src/unistd/linux/pipe.cpp
M libc/src/unistd/linux/pipe2.cpp
M libc/src/unistd/linux/pread.cpp
M libc/src/unistd/linux/pwrite.cpp
M libc/src/unistd/linux/read.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/syscall.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/src/unistd/linux/write.cpp
M libc/src/unistd/windows/getentropy.cpp
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/wcscmp.cpp
M libc/src/wchar/wcscpy.cpp
M libc/src/wchar/wcsncpy.cpp
M libc/src/wchar/wmemcpy.cpp
M libc/src/wchar/wmempcpy.cpp
M libc/test/IntegrationTest/test.h
M libc/test/UnitTest/ErrnoCheckingTest.h
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/Test.h
M libc/test/integration/src/pthread/pthread_create_test.cpp
M libc/test/integration/src/pthread/pthread_join_test.cpp
M libc/test/integration/src/pthread/pthread_name_test.cpp
M libc/test/integration/src/unistd/getcwd_test.cpp
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
M libc/test/integration/startup/linux/tls_test.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/__support/str_to_integer_test.cpp
M libc/test/src/dirent/dirent_test.cpp
M libc/test/src/errno/errno_test.cpp
M libc/test/src/fcntl/creat_test.cpp
M libc/test/src/fcntl/fcntl_test.cpp
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf16_test.cpp
M libc/test/src/math/acoshf_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/atan2f_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/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/cospif_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_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/powf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/sinpif_test.cpp
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/acos_test.cpp
M libc/test/src/math/smoke/acosf16_test.cpp
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf16_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/acospif16_test.cpp
M libc/test/src/math/smoke/asinf16_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf16_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atanf16_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf16_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cosf16_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf16_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f16_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp10m1f16_test.cpp
M libc/test/src/math/smoke/exp10m1f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f16_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f16_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf16_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f16_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f16_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f16_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf16_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf16_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf16_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tanf16_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf16_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/smoke/tanpif16_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/poll/poll_test.cpp
M libc/test/src/sched/affinity_test.cpp
M libc/test/src/sched/cpu_count_test.cpp
M libc/test/src/sched/get_priority_test.cpp
M libc/test/src/sched/param_and_scheduler_test.cpp
M libc/test/src/sched/sched_rr_get_interval_test.cpp
M libc/test/src/sched/yield_test.cpp
M libc/test/src/signal/sigaltstack_test.cpp
M libc/test/src/signal/signal_test.cpp
M libc/test/src/signal/sigprocmask_test.cpp
M libc/test/src/spawn/posix_spawn_file_actions_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
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/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
A libc/test/src/stdio/perror_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/atof_test.cpp
M libc/test/src/stdlib/strtod_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/test/src/stdlib/strtoint32_test.cpp
M libc/test/src/stdlib/strtoint64_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/string/CMakeLists.txt
M libc/test/src/string/strdup_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/ioctl/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/ioctl_test.cpp
M libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/prctl/linux/CMakeLists.txt
M libc/test/src/sys/prctl/linux/prctl_test.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/sys/time/setitimer_test.cpp
M libc/test/src/termios/termios_test.cpp
M libc/test/src/time/asctime_r_test.cpp
M libc/test/src/time/asctime_test.cpp
M libc/test/src/time/ctime_r_test.cpp
M libc/test/src/time/ctime_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/nanosleep_test.cpp
M libc/test/utils/FPUtil/CMakeLists.txt
M libcxx/cmake/caches/AndroidNDK.cmake
A libcxx/docs/ABIGuarantees.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/UserDocumentation.rst
M libcxx/docs/VendorDocumentation.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__bit/bit_ceil.h
M libcxx/include/__bit/bit_floor.h
M libcxx/include/__bit/bit_log2.h
M libcxx/include/__bit/bit_width.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/has_single_bit.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__bit/rotate.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__concepts/arithmetic.h
M libcxx/include/__config
M libcxx/include/__configuration/abi.h
M libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__mdspan/extents.h
M libcxx/include/__memory/addressof.h
M libcxx/include/__memory/allocation_guard.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/__type_traits/container_traits.h
A libcxx/include/__type_traits/integer_traits.h
M libcxx/include/__type_traits/is_integral.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_scalar.h
R libcxx/include/__type_traits/is_signed_integer.h
R libcxx/include/__type_traits/is_unsigned_integer.h
M libcxx/include/__utility/cmp.h
M libcxx/include/__vector/container_traits.h
M libcxx/include/bitset
M libcxx/include/chrono
M libcxx/include/deque
M libcxx/include/forward_list
M libcxx/include/ios
M libcxx/include/list
M libcxx/include/map
M libcxx/include/mdspan
M libcxx/include/module.modulemap.in
M libcxx/include/regex
M libcxx/include/set
M libcxx/include/string
M libcxx/include/syncstream
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/version
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/src/experimental/time_zone.cpp
M libcxx/src/hash.cpp
R libcxx/test/configs/llvm-libc++-android-ndk.cfg.in
A libcxx/test/configs/llvm-libc++-android.cfg.in
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.set/scary.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.compile.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat_helpers.h
M libcxx/test/std/containers/sequences/forwardlist/compare.three_way.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/empty.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.access/front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.compile.fail.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_op_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/before_begin.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_after.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_many.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_one.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_const.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_rv.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_range_after.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/prepend_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_const.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_rv.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp
A libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.compile.pass.cpp
R libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/incomplete.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/max_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M libcxx/test/std/containers/views/mdspan/extents/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dextents.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dims.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/ctor_func.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/param_ctor_func.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/general.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_++.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_++int.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_--.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_--int.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
R libcxx/test/std/utilities/meta/meta.unary/dependent_return_type.compile.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/dependent_return_type.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit_initializer_list.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR31384.pass.cpp
M libcxx/test/support/MinSequenceContainer.h
M libcxx/test/support/counting_predicates.h
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/header_information.py
M libcxxabi/test/catch_member_function_pointer_02.pass.cpp
R libcxxabi/test/configs/llvm-libc++abi-android-ndk.cfg.in
A libcxxabi/test/configs/llvm-libc++abi-android.cfg.in
M libunwind/cmake/config-ix.cmake
M libunwind/src/CMakeLists.txt
M libunwind/src/UnwindLevel1.c
M lld/COFF/MinGW.cpp
M lld/COFF/TypeMerger.h
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/DWARF.h
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/MachO/DriverUtils.cpp
M lld/MachO/UnwindInfoSection.cpp
M lld/test/COFF/lto-late-arm.ll
M lld/test/ELF/ppc64-long-branch-pi.s
M lld/test/ELF/ppc64-relocs.s
M lld/test/ELF/riscv-branch.s
A lld/test/ELF/riscv-relax-call-stress.s
M lld/test/ELF/riscv-undefined-weak.s
R lld/test/ELF/weak-undef-got-pie.s
A lld/test/ELF/weak-undef-got-plt.s
M lld/test/ELF/weak-undef-rw.s
R lld/test/ELF/weak-undef.s
M lld/test/ELF/x86-64-section-layout.s
M lldb/CMakeLists.txt
M lldb/cmake/modules/AddLLDB.cmake
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
A lldb/include/lldb/Host/JSONTransport.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/Variable.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
A lldb/scripts/convert-lldb-header-to-rpc-header.py
A lldb/scripts/framework-header-fix.py
M lldb/scripts/framework-header-fix.sh
A lldb/scripts/version-header-fix.py
M lldb/source/API/CMakeLists.txt
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Breakpoint/WatchpointResource.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/DataFormatters/CMakeLists.txt
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/Expression/CMakeLists.txt
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/common/JSONTransport.cpp
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Host/windows/ProcessRunLock.cpp
M lldb/source/Initialization/CMakeLists.txt
M lldb/source/Interpreter/CMakeLists.txt
M lldb/source/Interpreter/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/ObjC/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Symbol/CMakeLists.txt
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Symbol/Variable.cpp
M lldb/source/Target/CMakeLists.txt
M lldb/source/Target/Process.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/RegisterNumber.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/Utility/Listener.cpp
M lldb/source/ValueObject/CMakeLists.txt
M lldb/source/Version/CMakeLists.txt
M lldb/test/API/commands/platform/connect/TestPlatformConnect.py
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/coroutine_handle/TestCoroutineHandle.py
M lldb/test/API/functionalities/memory/find/TestMemoryFind.py
M lldb/test/API/functionalities/memory/find/main.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/lang/c/forward/TestForwardDeclaration.py
M lldb/test/API/lang/cpp/decl-from-submodule/TestDeclFromSubmodule.py
M lldb/test/API/lang/cpp/forward/TestCPPForwardDeclaration.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
A lldb/test/Shell/Commands/command-plugin-enable+disable.test
A lldb/test/Shell/Commands/command-plugin-list.test
A lldb/test/Shell/Expr/TestObjCxxEnumConflict.test
A lldb/test/Shell/ObjectFile/PECOFF/dwarf-clang.yaml
A lldb/test/Shell/ObjectFile/PECOFF/dwarf-gcc-mingw.yaml
A lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBDefines.test
A lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBEnumerations.test
A lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBTypes.test
A lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckSBDefines.test
A lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/SBDefines.h
A lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-defines.h
A lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-enumerations.h
A lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-types.h
A lldb/test/Shell/Scripts/Inputs/Main/SBAddress.h
A lldb/test/Shell/Scripts/Inputs/RPC/RPCSBAddress.h
A lldb/test/Shell/Scripts/Inputs/lldb-defines.h
A lldb/test/Shell/Scripts/TestFrameworkFixScript.test
A lldb/test/Shell/Scripts/TestFrameworkFixUnifdef.test
A lldb/test/Shell/Scripts/TestRPCFrameworkFixScript.test
A lldb/test/Shell/Scripts/TestVersionFixScript.test
M lldb/test/Shell/Settings/TestFrameFormatName.test
M lldb/test/Shell/Settings/TestFrameFunctionInlined.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/test/Unit/lit.cfg.py
M lldb/test/Unit/lit.site.cfg.py.in
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/EventHelper.h
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
A lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
A lldb/tools/lldb-dap/Protocol/ProtocolEvents.h
M lldb/tools/lldb-dap/Transport.cpp
M lldb/tools/lldb-dap/Transport.h
A lldb/unittests/ABI/AArch64/ABIAArch64Test.cpp
A lldb/unittests/ABI/AArch64/CMakeLists.txt
A lldb/unittests/ABI/CMakeLists.txt
M lldb/unittests/CMakeLists.txt
M lldb/unittests/Core/PluginManagerTest.cpp
M lldb/unittests/DAP/DAPTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TransportTest.cpp
M lldb/unittests/Symbol/PostfixExpressionTest.cpp
M lldb/unittests/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpressionTests.cpp
M llvm/CMakeLists.txt
M llvm/cmake/modules/CrossCompile.cmake
M llvm/docs/CommandGuide/index.rst
M llvm/docs/CommandGuide/lit.rst
M llvm/docs/CommandGuide/llvm-addr2line.rst
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
A llvm/docs/CommandGuide/llvm-test-mustache-spec.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/bit.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
A llvm/include/llvm/CGData/CGDataPatchItem.h
M llvm/include/llvm/CGData/CodeGenData.h
M llvm/include/llvm/CGData/CodeGenData.inc
M llvm/include/llvm/CGData/CodeGenDataWriter.h
M llvm/include/llvm/CGData/StableFunctionMapRecord.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h
A llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractorSimple.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVOptions.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
A llvm/include/llvm/DebugInfo/LogicalView/Core/LVSourceLanguage.h
M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
A llvm/include/llvm/Frontend/Directive/Spelling.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugLoc.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsARM.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Mangler.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/include/llvm/IR/PassManagerImpl.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
R llvm/include/llvm/IR/VectorBuilder.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/Option/Arg.h
M llvm/include/llvm/Option/ArgList.h
M llvm/include/llvm/Option/OptSpecifier.h
M llvm/include/llvm/Option/OptTable.h
M llvm/include/llvm/Option/Option.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h
M llvm/include/llvm/ProfileData/DataAccessProf.h
M llvm/include/llvm/ProfileData/GCOV.h
M llvm/include/llvm/ProfileData/IndexedMemProfData.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/ItaniumManglingCanonicalizer.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfCommon.h
M llvm/include/llvm/ProfileData/MemProfRadixTree.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/include/llvm/ProfileData/MemProfSummary.h
M llvm/include/llvm/ProfileData/MemProfSummaryBuilder.h
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/include/llvm/ProfileData/ProfileCommon.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/ProfileData/SampleProfWriter.h
M llvm/include/llvm/ProfileData/SymbolRemappingReader.h
M llvm/include/llvm/Remarks/Remark.h
M llvm/include/llvm/Remarks/RemarkFormat.h
M llvm/include/llvm/Remarks/RemarkLinker.h
M llvm/include/llvm/Remarks/RemarkParser.h
M llvm/include/llvm/Remarks/RemarkSerializer.h
M llvm/include/llvm/Remarks/RemarkStringTable.h
M llvm/include/llvm/Remarks/YAMLRemarkSerializer.h
M llvm/include/llvm/SandboxIR/BasicBlock.h
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Function.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/SandboxIR/Module.h
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/include/llvm/SandboxIR/Region.h
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/SandboxIR/Use.h
M llvm/include/llvm/SandboxIR/User.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/include/llvm/Support/AutoConvert.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/MathExtras.h
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
M llvm/include/llvm/TargetParser/CSKYTargetParser.h
M llvm/include/llvm/TargetParser/Host.h
M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
M llvm/include/llvm/TargetParser/PPCTargetParser.h
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/include/llvm/TargetParser/SubtargetFeature.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/TargetParser/X86TargetParser.h
M llvm/include/llvm/TextAPI/Architecture.h
M llvm/include/llvm/TextAPI/ArchitectureSet.h
M llvm/include/llvm/TextAPI/DylibReader.h
M llvm/include/llvm/TextAPI/InterfaceFile.h
M llvm/include/llvm/TextAPI/PackedVersion.h
M llvm/include/llvm/TextAPI/Platform.h
M llvm/include/llvm/TextAPI/Record.h
M llvm/include/llvm/TextAPI/RecordVisitor.h
M llvm/include/llvm/TextAPI/RecordsSlice.h
M llvm/include/llvm/TextAPI/Symbol.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/include/llvm/TextAPI/Target.h
M llvm/include/llvm/TextAPI/TextAPIError.h
M llvm/include/llvm/TextAPI/TextAPIReader.h
M llvm/include/llvm/TextAPI/TextAPIWriter.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/include/llvm/Transforms/Coroutines/ABI.h
M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
M llvm/include/llvm/Transforms/Coroutines/CoroSplit.h
M llvm/include/llvm/Transforms/Coroutines/MaterializationUtils.h
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
M llvm/include/llvm/Transforms/IPO.h
M llvm/include/llvm/Transforms/IPO/AlwaysInliner.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/IPO/BlockExtractor.h
M llvm/include/llvm/Transforms/IPO/EmbedBitcodePass.h
M llvm/include/llvm/Transforms/IPO/ExtractGV.h
M llvm/include/llvm/Transforms/IPO/FunctionAttrs.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/include/llvm/Transforms/IPO/GlobalDCE.h
M llvm/include/llvm/Transforms/IPO/Inliner.h
M llvm/include/llvm/Transforms/IPO/Internalize.h
M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
M llvm/include/llvm/Transforms/IPO/MergeFunctions.h
M llvm/include/llvm/Transforms/IPO/ModuleInliner.h
M llvm/include/llvm/Transforms/IPO/SampleContextTracker.h
M llvm/include/llvm/Transforms/IPO/SampleProfile.h
M llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
M llvm/include/llvm/Transforms/IPO/StripDeadPrototypes.h
M llvm/include/llvm/Transforms/IPO/StripSymbols.h
M llvm/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h
M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
M llvm/include/llvm/Transforms/InstCombine/InstCombine.h
M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
M llvm/include/llvm/Transforms/Instrumentation/DataFlowSanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/GCOVProfiler.h
M llvm/include/llvm/Transforms/Instrumentation/HWAddressSanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h
M llvm/include/llvm/Transforms/Instrumentation/KCFI.h
M llvm/include/llvm/Transforms/Instrumentation/LowerAllowCheckPass.h
M llvm/include/llvm/Transforms/Instrumentation/MemProfInstrumentation.h
M llvm/include/llvm/Transforms/Instrumentation/MemProfUse.h
M llvm/include/llvm/Transforms/Instrumentation/MemorySanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/NumericalStabilitySanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/PGOInstrumentation.h
M llvm/include/llvm/Transforms/Instrumentation/RealtimeSanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/SanitizerBinaryMetadata.h
M llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h
M llvm/include/llvm/Transforms/Instrumentation/ThreadSanitizer.h
M llvm/include/llvm/Transforms/Instrumentation/TypeSanitizer.h
M llvm/include/llvm/Transforms/ObjCARC.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/include/llvm/Transforms/Scalar/EarlyCSE.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
M llvm/include/llvm/Transforms/Scalar/LowerExpectIntrinsic.h
M llvm/include/llvm/Transforms/Scalar/SCCP.h
M llvm/include/llvm/Transforms/Scalar/Scalarizer.h
M llvm/include/llvm/Transforms/Scalar/SimplifyCFG.h
M llvm/include/llvm/Transforms/Utils.h
M llvm/include/llvm/Transforms/Utils/AMDGPUEmitPrintf.h
M llvm/include/llvm/Transforms/Utils/ASanStackFrameLayout.h
M llvm/include/llvm/Transforms/Utils/AssumeBundleBuilder.h
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/include/llvm/Transforms/Utils/CallGraphUpdater.h
M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
M llvm/include/llvm/Transforms/Utils/CodeLayout.h
M llvm/include/llvm/Transforms/Utils/CodeMoverUtils.h
M llvm/include/llvm/Transforms/Utils/Debugify.h
M llvm/include/llvm/Transforms/Utils/FunctionComparator.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/include/llvm/Transforms/Utils/Instrumentation.h
M llvm/include/llvm/Transforms/Utils/IntegerDivision.h
M llvm/include/llvm/Transforms/Utils/LCSSA.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/LoopRotationUtils.h
M llvm/include/llvm/Transforms/Utils/LoopSimplify.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Utils/LowerMemIntrinsics.h
M llvm/include/llvm/Transforms/Utils/ModuleUtils.h
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
M llvm/include/llvm/Transforms/Utils/PromoteMemToReg.h
M llvm/include/llvm/Transforms/Utils/SCCPSolver.h
M llvm/include/llvm/Transforms/Utils/SSAUpdaterBulk.h
M llvm/include/llvm/Transforms/Utils/SanitizerStats.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/llvm/Transforms/Utils/SizeOpts.h
M llvm/include/llvm/Transforms/Utils/SplitModule.h
M llvm/include/llvm/Transforms/Utils/SymbolRewriter.h
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/include/llvm/Transforms/Vectorize/LoadStoreVectorizer.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CGData/CodeGenData.cpp
M llvm/lib/CGData/CodeGenDataReader.cpp
M llvm/lib/CGData/CodeGenDataWriter.cpp
M llvm/lib/CGData/StableFunctionMapRecord.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/BreakFalseDeps.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/RegisterClassInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetOptionsImpl.cpp
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
M llvm/lib/DebugInfo/DWARF/CMakeLists.txt
M llvm/lib/DebugInfo/DWARF/DWARFCFIProgram.cpp
R llvm/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
A llvm/lib/DebugInfo/LogicalView/Core/LVSourceLanguage.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
M llvm/lib/Frontend/CMakeLists.txt
A llvm/lib/Frontend/Directive/CMakeLists.txt
A llvm/lib/Frontend/Directive/Spelling.cpp
M llvm/lib/Frontend/OpenACC/CMakeLists.txt
M llvm/lib/Frontend/OpenMP/CMakeLists.txt
M llvm/lib/FuzzMutate/IRMutator.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/CMakeLists.txt
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Value.cpp
R llvm/lib/IR/VectorBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
M llvm/lib/ObjCopy/MachO/MachOReader.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/MachOEmitter.cpp
M llvm/lib/ObjectYAML/MachOYAML.cpp
M llvm/lib/ProfileData/MemProfCommon.cpp
M llvm/lib/ProfileData/MemProfRadixTree.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/SandboxIR/Function.cpp
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Support/DynamicLibrary.cpp
M llvm/lib/Support/InitLLVM.cpp
M llvm/lib/Support/MemoryBuffer.cpp
M llvm/lib/Support/Unix/DynamicLibrary.inc
M llvm/lib/Support/Unix/Threading.inc
M llvm/lib/Support/Windows/DynamicLibrary.inc
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/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/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedA53.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/AArch64SchedOryon.td
M llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
M llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/BPF/BTFDebug.h
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiMCInstLower.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
M llvm/lib/Target/LoongArch/LoongArch.h
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.h
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZSubtarget.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
M llvm/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86ExpandPseudo.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/X86IndirectBranchTracking.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86MachineFunctionInfo.h
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
R llvm/lib/Target/X86/X86WinFixupBufferSecurityCheck.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/RISCVTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/TextAPI/Platform.cpp
M llvm/lib/TextAPI/RecordsSlice.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/ObjCARC/BlotMapVector.h
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/Evaluator.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/LowerVectorIntrinsics.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/SSAUpdater.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.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/SandboxVectorizer/Interval.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.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/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Analysis/BasicAA/captures.ll
M llvm/test/Analysis/BasicAA/gep-decomposition-limit.ll
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/CostModel/AArch64/rem.ll
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
M llvm/test/Analysis/LoopAccessAnalysis/underlying-objects-2.ll
M llvm/test/Analysis/ScopedNoAliasAA/alias-scope-merging.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/Assembler/drop-debug-info-nonzero-alloca.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2_lse128.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc3.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8_1a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-protector-windows.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector-widen-crash.ll
A llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-unmergedup.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-build-vector-to-dup.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-rev.mir
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/arm64-dup.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
M llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
M llvm/test/CodeGen/AArch64/arm64-neon-add-pairwise.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div-cte.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-rev.ll
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
M llvm/test/CodeGen/AArch64/arm64ec-alias.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
M llvm/test/CodeGen/AArch64/arm64ec-symbols.ll
M llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
M llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bswap.ll
A llvm/test/CodeGen/AArch64/build-vector-dup-simd.ll
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/ctlz.ll
M llvm/test/CodeGen/AArch64/cttz.ll
M llvm/test/CodeGen/AArch64/darwinpcs-tail.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/ehcontguard.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fcopysign.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AArch64/freeze.ll
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
M llvm/test/CodeGen/AArch64/global-merge-1.ll
M llvm/test/CodeGen/AArch64/global-merge-2.ll
M llvm/test/CodeGen/AArch64/global-merge-3.ll
M llvm/test/CodeGen/AArch64/global-merge-hidden-minsize.ll
M llvm/test/CodeGen/AArch64/i128_with_overflow.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/ifunc-asm.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/loh-adrp-add-ldr-clobber.mir
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
M llvm/test/CodeGen/AArch64/nest-register.ll
M llvm/test/CodeGen/AArch64/phi.ll
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/rem.ll
M llvm/test/CodeGen/AArch64/scavenge-large-call.ll
M llvm/test/CodeGen/AArch64/seh-finally.ll
M llvm/test/CodeGen/AArch64/select_cc.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/shufflevector.ll
M llvm/test/CodeGen/AArch64/stackguard-internal.ll
M llvm/test/CodeGen/AArch64/statepoint-call-lowering.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-frame-offests-crash.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-crypto.ll
A llvm/test/CodeGen/AArch64/sve2p2-intrinsics.ll
A llvm/test/CodeGen/AArch64/tail-call-stack-args.ll
M llvm/test/CodeGen/AArch64/trampoline.ll
M llvm/test/CodeGen/AArch64/trunc.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/win64cc-x18.ll
M llvm/test/CodeGen/AArch64/xar.ll
M llvm/test/CodeGen/AArch64/xtn.ll
M llvm/test/CodeGen/AArch64/zero-call-used-regs.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
M llvm/test/CodeGen/AArch64/zext.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/knownbits-ptrtoint.mir
M llvm/test/CodeGen/AMDGPU/aa-as-infer.ll
A llvm/test/CodeGen/AMDGPU/ashr64_reduce.ll
M llvm/test/CodeGen/AMDGPU/bfi_int.ll
A llvm/test/CodeGen/AMDGPU/bit-op-reduce-width-known-bits.ll
M llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
M llvm/test/CodeGen/AMDGPU/fold-freeze-fmul-to-fma.ll
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
M llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.v2f16.no.fast.math.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/global_atomics.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
A llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans-f16-fake16.ll
A llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans-f16-true16.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans.ll
M llvm/test/CodeGen/AMDGPU/recursive-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
A llvm/test/CodeGen/AMDGPU/srl64_reduce.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/ARM/alias_store.ll
M llvm/test/CodeGen/ARM/aliases.ll
M llvm/test/CodeGen/ARM/fpcmp_ueq.ll
M llvm/test/CodeGen/ARM/global-merge-dllexport.ll
M llvm/test/CodeGen/ARM/global-merge-external-2.ll
M llvm/test/CodeGen/ARM/global-merge-external.ll
M llvm/test/CodeGen/AVR/global-aliases.ll
M llvm/test/CodeGen/DirectX/flatten-array.ll
M llvm/test/CodeGen/DirectX/flatten-bug-117273.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/scalar-bug-117273.ll
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
A llvm/test/CodeGen/LoongArch/bf16-promote.ll
A llvm/test/CodeGen/LoongArch/bf16.ll
A llvm/test/CodeGen/LoongArch/isel-optnone.ll
M llvm/test/CodeGen/LoongArch/lasx/shuffle-as-permute-and-shuffle.ll
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
M llvm/test/CodeGen/LoongArch/spill-ra-without-kill.ll
M llvm/test/CodeGen/MIR/AMDGPU/virtreg-uses-unallocatable-class.mir
A llvm/test/CodeGen/MSP430/fcmp.ll
M llvm/test/CodeGen/Mips/hf16call32_body.ll
M llvm/test/CodeGen/Mips/mips16ex.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-1cta.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-2cta.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-invalid.ll
A llvm/test/CodeGen/NVPTX/pm-event.ll
M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
M llvm/test/CodeGen/PowerPC/asm-printer-topological-order.ll
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/data-align.ll
M llvm/test/CodeGen/PowerPC/dmr-spill.ll
M llvm/test/CodeGen/PowerPC/mmaplus-acc-spill.ll
M llvm/test/CodeGen/PowerPC/mul-const-vector.ll
M llvm/test/CodeGen/PowerPC/p10-splatImm-CPload-pcrel.ll
M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
A llvm/test/CodeGen/PowerPC/splat-extend.ll
M llvm/test/CodeGen/PowerPC/vec_add_sub_doubleword.ll
M llvm/test/CodeGen/PowerPC/vector-extend-sign.ll
M llvm/test/CodeGen/PowerPC/vector-popcnt-128-ult-ugt.ll
A llvm/test/CodeGen/PowerPC/xxeval-vselect-x-or.ll
M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/double-fcmp.ll
M llvm/test/CodeGen/RISCV/float-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/float-fcmp.ll
A llvm/test/CodeGen/RISCV/fold-masked-merge.ll
A llvm/test/CodeGen/RISCV/fpenv-xlen.ll
M llvm/test/CodeGen/RISCV/frm-write-in-loop.ll
M llvm/test/CodeGen/RISCV/nest-register.ll
M llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
M llvm/test/CodeGen/RISCV/rv32xandesperf.ll
A llvm/test/CodeGen/RISCV/rv64-trampoline-cfi.ll
M llvm/test/CodeGen/RISCV/rv64xandesperf.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/rvv/combine-reduce-add-to-vcpop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
A llvm/test/CodeGen/RISCV/rvv/pr141907.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
M llvm/test/CodeGen/RISCV/rvv/zvqdotq-sdnode.ll
A llvm/test/CodeGen/RISCV/select-cond.ll
M llvm/test/CodeGen/RISCV/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/RISCV/xqcibm-extract.ll
A llvm/test/CodeGen/RISCV/zicond-opts.ll
A llvm/test/CodeGen/SPIRV/ExecutionMode_Fragment.ll
A llvm/test/CodeGen/SPIRV/ExecutionMode_Vertex.ll
M llvm/test/CodeGen/SPIRV/const-nested-vecs.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/progvar_prog_scope_init.ll
M llvm/test/CodeGen/SPIRV/opt-gepoperator-of-gvar.ll
M llvm/test/CodeGen/SPIRV/pointers/PtrCast-in-OpSpecConstantOp.ll
M llvm/test/CodeGen/SPIRV/pointers/global-ptrtoint.ll
M llvm/test/CodeGen/SPIRV/pointers/irtrans-added-int-const-32-64.ll
A llvm/test/CodeGen/SystemZ/fold-masked-merge.ll
M llvm/test/CodeGen/Thumb2/float-cmp.ll
M llvm/test/CodeGen/Thumb2/mve-frint.ll
M llvm/test/CodeGen/Thumb2/mve-intrinsics/vrintn.ll
M llvm/test/CodeGen/WebAssembly/aliases.ll
M llvm/test/CodeGen/WebAssembly/simd-arith.ll
M llvm/test/CodeGen/WinCFGuard/cfguard-mingw.ll
M llvm/test/CodeGen/WinCFGuard/cfguard.ll
M llvm/test/CodeGen/X86/2007-09-06-ExtWeakAliasee.ll
M llvm/test/CodeGen/X86/2009-08-12-badswitch.ll
M llvm/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll
M llvm/test/CodeGen/X86/2012-01-12-extract-sv.ll
M llvm/test/CodeGen/X86/alias-gep.ll
M llvm/test/CodeGen/X86/aliases.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
A llvm/test/CodeGen/X86/apx/push2-pop2-disabled-with-small-stack-alignment.ll
M llvm/test/CodeGen/X86/atomic-idempotent.ll
M llvm/test/CodeGen/X86/avgfloors.ll
M llvm/test/CodeGen/X86/avx-cvt.ll
M llvm/test/CodeGen/X86/avx-insertelt.ll
M llvm/test/CodeGen/X86/avx10_2_512bf16-arith.ll
M llvm/test/CodeGen/X86/avx10_2bf16-arith.ll
M llvm/test/CodeGen/X86/avx512-cvt.ll
M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512-intrinsics.ll
M llvm/test/CodeGen/X86/avx512-logic.ll
M llvm/test/CodeGen/X86/avx512-regcall-NoMask.ll
M llvm/test/CodeGen/X86/avx512-scalar_mask.ll
M llvm/test/CodeGen/X86/avx512copy-intrinsics.ll
M llvm/test/CodeGen/X86/avx512fp16-arith.ll
R llvm/test/CodeGen/X86/avx512fp16-cvt-novl.ll
M llvm/test/CodeGen/X86/avx512fp16-cvt.ll
M llvm/test/CodeGen/X86/avx512fp16-fmaxnum.ll
M llvm/test/CodeGen/X86/avx512fp16-fminnum.ll
A llvm/test/CodeGen/X86/avx512fp16-novl.ll
M llvm/test/CodeGen/X86/avx512vl-intrinsics.ll
M llvm/test/CodeGen/X86/avx512vl-logic.ll
M llvm/test/CodeGen/X86/bitselect.ll
A llvm/test/CodeGen/X86/bmi-select-distrib.ll
M llvm/test/CodeGen/X86/break-false-dep.ll
A llvm/test/CodeGen/X86/bsf.ll
A llvm/test/CodeGen/X86/bsr.ll
M llvm/test/CodeGen/X86/build-vector-512.ll
M llvm/test/CodeGen/X86/buildvec-extract.ll
A llvm/test/CodeGen/X86/callbr-asm-endbr.ll
M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
M llvm/test/CodeGen/X86/catchret-empty-fallthrough.ll
M llvm/test/CodeGen/X86/coalesce_commute_movsd.ll
M llvm/test/CodeGen/X86/coalescer-commute1.ll
M llvm/test/CodeGen/X86/coff-alias-type.ll
M llvm/test/CodeGen/X86/coff-comdat.ll
M llvm/test/CodeGen/X86/coff-feat00.ll
M llvm/test/CodeGen/X86/combine-and.ll
M llvm/test/CodeGen/X86/combine-bitselect.ll
M llvm/test/CodeGen/X86/combine-mask-with-shuffle.ll
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
M llvm/test/CodeGen/X86/dllexport-x86_64.ll
M llvm/test/CodeGen/X86/dllexport.ll
M llvm/test/CodeGen/X86/dpbusd_i4.ll
M llvm/test/CodeGen/X86/ehcontguard.ll
M llvm/test/CodeGen/X86/fast-isel-fptrunc-fpext.ll
M llvm/test/CodeGen/X86/fast-isel-int-float-conversion-x86-64.ll
M llvm/test/CodeGen/X86/fast-isel-int-float-conversion.ll
M llvm/test/CodeGen/X86/fast-isel-uint-float-conversion-x86-64.ll
M llvm/test/CodeGen/X86/fast-isel-uint-float-conversion.ll
M llvm/test/CodeGen/X86/fastcall-correct-mangling.ll
M llvm/test/CodeGen/X86/fcmp-logic.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
M llvm/test/CodeGen/X86/fmsubadd-combine.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/fold-load-unops.ll
M llvm/test/CodeGen/X86/fold-masked-merge.ll
M llvm/test/CodeGen/X86/fp-intrinsics.ll
M llvm/test/CodeGen/X86/fp-round.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-inttofp-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-inttofp.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-round-fp16.ll
M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
M llvm/test/CodeGen/X86/fpcmp-soft-fp.ll
M llvm/test/CodeGen/X86/ftrunc.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-shifts.ll
M llvm/test/CodeGen/X86/half-constrained.ll
M llvm/test/CodeGen/X86/half-darwin.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/ifunc-asm.ll
M llvm/test/CodeGen/X86/insertelement-zero.ll
M llvm/test/CodeGen/X86/isel-int-to-fp.ll
M llvm/test/CodeGen/X86/lea-opt-memop-check-1.ll
M llvm/test/CodeGen/X86/linux-preemption.ll
M llvm/test/CodeGen/X86/localescape.ll
M llvm/test/CodeGen/X86/masked_expandload.ll
M llvm/test/CodeGen/X86/masked_gather.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
M llvm/test/CodeGen/X86/musttail-varargs.ll
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/pr132844.ll
M llvm/test/CodeGen/X86/pr142513.ll
A llvm/test/CodeGen/X86/pr142937.ll
M llvm/test/CodeGen/X86/pr22019.ll
M llvm/test/CodeGen/X86/pr34080.ll
M llvm/test/CodeGen/X86/pr37879.ll
M llvm/test/CodeGen/X86/pr38803.ll
M llvm/test/CodeGen/X86/pr40090.ll
M llvm/test/CodeGen/X86/pr40730.ll
M llvm/test/CodeGen/X86/pr62145.ll
M llvm/test/CodeGen/X86/psubus.ll
A llvm/test/CodeGen/X86/rex-profile-test.ll
M llvm/test/CodeGen/X86/rounding-ops.ll
M llvm/test/CodeGen/X86/sadd_sat_vec.ll
M llvm/test/CodeGen/X86/scalar-int-to-fp.ll
M llvm/test/CodeGen/X86/scalarize-fp.ll
M llvm/test/CodeGen/X86/seh-catch-all-win32.ll
M llvm/test/CodeGen/X86/seh-catchpad.ll
M llvm/test/CodeGen/X86/seh-finally.ll
M llvm/test/CodeGen/X86/seh-no-invokes.ll
M llvm/test/CodeGen/X86/seh-stack-realign.ll
M llvm/test/CodeGen/X86/select-narrow-int-to-fp.ll
M llvm/test/CodeGen/X86/split-extend-vector-inreg.ll
M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/sse-cvttp2si.ll
M llvm/test/CodeGen/X86/sse-insertelt-from-mem.ll
M llvm/test/CodeGen/X86/sse-insertelt.ll
M llvm/test/CodeGen/X86/sse-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/sse-scalar-fp-arith.ll
M llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll
M llvm/test/CodeGen/X86/sse2.ll
M llvm/test/CodeGen/X86/sse41.ll
M llvm/test/CodeGen/X86/ssub_sat_vec.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx1.ll
A llvm/test/CodeGen/X86/stack-protector-msvc-oz.ll
M llvm/test/CodeGen/X86/stack-protector-msvc.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
M llvm/test/CodeGen/X86/tailcc-ssp.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-vector-variablemask.ll
M llvm/test/CodeGen/X86/usub_sat_vec.ll
M llvm/test/CodeGen/X86/vec-strict-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-128.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-512.ll
M llvm/test/CodeGen/X86/vec_extract-avx.ll
M llvm/test/CodeGen/X86/vec_floor.ll
M llvm/test/CodeGen/X86/vec_int_to_fp.ll
M llvm/test/CodeGen/X86/vec_ss_load_fold.ll
M llvm/test/CodeGen/X86/vector-blend.ll
M llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/X86/vector-fshl-128.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-512.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-512.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-512.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-fshr-rot-512.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-256.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
M llvm/test/CodeGen/X86/vector-idiv-udiv-512.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/vector-rotate-512.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/63274117555a...7e6e834815fc
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