[all-commits] [llvm/llvm-project] 684f64: [lldb] [test-suite] fix typo in variable in darwin...
Michael Kruse via All-commits
all-commits at lists.llvm.org
Sat Nov 29 15:57:19 PST 2025
Branch: refs/heads/users/meinersbur/openmp_hoist-module
Home: https://github.com/llvm/llvm-project
Commit: 684f64c0baca15c84e222c0f7c7455e8c505e575
https://github.com/llvm/llvm-project/commit/684f64c0baca15c84e222c0f7c7455e8c505e575
Author: n2h9 <13541181+n2h9 at users.noreply.github.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/builders/darwin.py
Log Message:
-----------
[lldb] [test-suite] fix typo in variable in darwin builder (#169254)
While taking a look at the code of lldb test-suite packages, I have
noticed that in `get_triple_str` in `darwin.py` env is added inside a
`components` list, which is probably supposed to be `component` (defined
on the line 61).
Signed-off-by: Nikita B <n2h9z4 at gmail.com>
Commit: a4d42775b9af0d961f71934e38342a9384534022
https://github.com/llvm/llvm-project/commit/a4d42775b9af0d961f71934e38342a9384534022
Author: n2h9 <13541181+n2h9 at users.noreply.github.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M lldb/bindings/interface/SBTargetExtensions.i
M lldb/examples/python/templates/scripted_process.py
M lldb/include/lldb/API/SBTarget.h
M lldb/source/API/SBTarget.cpp
M lldb/test/API/python_api/target/TestTargetAPI.py
Log Message:
-----------
[lldb] [scripting bridge] 167388 chore: add api to return arch name for target (#168273)
This pr fixes #167388 .
## Description
This pr adds new method `GetArchName` to `SBTarget` so that no need to
parse triple to get arch name in client code.
## Testing
### All from `TestTargetAPI.py`
run test with
```
./build/bin/lldb-dotest -v -p TestTargetAPI.py
```
<details>
<summary>existing tests (without newly added)</summary>
<img width="1425" height="804" alt="image"
src="https://github.com/user-attachments/assets/617e4c69-5c6b-44c4-9aeb-b751a47e253c"
/>
</details>
<details>
<summary>existing tests (with newly added)</summary>
<img width="1422" height="778" alt="image"
src="https://github.com/user-attachments/assets/746990a1-df88-4348-a090-224963d3c640"
/>
</details>
### Only `test_get_arch_name`
run test with
```
./build/bin/lldb-dotest -v -p TestTargetAPI.py -f test_get_arch_name_dwarf -f test_get_arch_name_dwo -f test_get_arch_name_dsym lldb/test/API/python_api/target
```
<details>
<summary>only newly added</summary>
<img width="1422" height="778" alt="image"
src="https://github.com/user-attachments/assets/fcaafa5d-2622-4171-acee-e104ecee0652"
/>
</details>
---------
Signed-off-by: Nikita B <n2h9z4 at gmail.com>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: d58ebe339c920e1a90f4fd87b0873a119e5f9d05
https://github.com/llvm/llvm-project/commit/d58ebe339c920e1a90f4fd87b0873a119e5f9d05
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanPredicator.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/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/lcssa-crashes.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pr43166-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
Log Message:
-----------
Revert "Reapply "[LV] Use ExtractLane(LastActiveLane, V) live outs when tail-folding. (#149042)""
This reverts commit 72e51d389f66d9cc6b55fd74b56fbbd087672a43.
Missed some test updates.
Commit: 9af00e62ecc33960ada5366bffc369a647699fe9
https://github.com/llvm/llvm-project/commit/9af00e62ecc33960ada5366bffc369a647699fe9
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][amdgpu] Add make_dma_base operation (#169086)
Commit: cabcb5ae55f117d15f41aed8f064dc528ddc9e8f
https://github.com/llvm/llvm-project/commit/cabcb5ae55f117d15f41aed8f064dc528ddc9e8f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
Log Message:
-----------
[CIR][NFC] Fix build problem inside an assert (#169715)
A recent change introduced a failure in debug builds due to an incorrect
level of indirection inside an assert. This fixes that.
Commit: f8eca64a2820553ffc22c58ac39c2e5c14888e61
https://github.com/llvm/llvm-project/commit/f8eca64a2820553ffc22c58ac39c2e5c14888e61
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanPredicator.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/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/lcssa-crashes.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pr43166-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
Log Message:
-----------
Reapply "[LV] Use ExtractLane(LastActiveLane, V) live outs when tail-folding. (#149042)"
This reverts commit a6edeedbfa308876d6f2b1648729d52970bb07e6.
The following fixes have landed, addressing issues causing the original
revert:
* https://github.com/llvm/llvm-project/pull/169298
* https://github.com/llvm/llvm-project/pull/167897
* https://github.com/llvm/llvm-project/pull/168949
Original message:
Building on top of https://github.com/llvm/llvm-project/pull/148817,
introduce a new abstract LastActiveLane opcode that gets lowered to
Not(Mask) → FirstActiveLane(NotMask) → Sub(result, 1).
When folding the tail, update all extracts for uses outside the loop the
extract the value of the last actice lane.
See also https://github.com/llvm/llvm-project/issues/148603
PR: https://github.com/llvm/llvm-project/pull/149042
Commit: cec837e3e09f7751e668c89aed894d547d542ae6
https://github.com/llvm/llvm-project/commit/cec837e3e09f7751e668c89aed894d547d542ae6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M llvm/test/CodeGen/X86/addcarry.ll
Log Message:
-----------
[X86] addcarry.ll - add test coverage for #169691 (#169716)
Commit: bbb8f7aaf8c2cc7f68b59ed0d5abed068c581682
https://github.com/llvm/llvm-project/commit/bbb8f7aaf8c2cc7f68b59ed0d5abed068c581682
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/utils.h
M libcxx/test/libcxx/diagnostics/flat_map.nodiscard.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
Log Message:
-----------
[libc++][flat_map] Applied `[[nodiscard]]` (#169453)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
Commit: 8706d82bd420fdfb95e207df6d56f73274ec7d20
https://github.com/llvm/llvm-project/commit/8706d82bd420fdfb95e207df6d56f73274ec7d20
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M libcxx/include/__compare/is_eq.h
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__coroutine/noop_coroutine_handle.h
M libcxx/include/__utility/cmp.h
M libcxx/include/initializer_list
M libcxx/test/libcxx/diagnostics/utility.nodiscard.verify.cpp
A libcxx/test/libcxx/language.support/nodiscard.verify.cpp
Log Message:
-----------
[libc++] Applied `[[nodiscard]]` to Language Support (partially) (#169611)
https://wg21.link/#support
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
The following was implemented in this patch:
- [x] `<compare>`
- [x] `<corotine>`
- [x] `<initializer_list>`
- [x] Integer comparisons
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 3a25a4a68705d7861c5b0312667f3bc43359da41
https://github.com/llvm/llvm-project/commit/3a25a4a68705d7861c5b0312667f3bc43359da41
Author: Björn Schäpers <bjoern at hazardy.de>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/IntegerLiteralSeparatorTest.cpp
Log Message:
-----------
[clang-format] Add xxxMaxDigitsNoSeparator (#164286)
This basically adds a Leave option for a specific range of literals.
Commit: c378bb135455787a5d8b1f4da5d3522a3e6a60b9
https://github.com/llvm/llvm-project/commit/c378bb135455787a5d8b1f4da5d3522a3e6a60b9
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/ptrauth-irelative.ll
M llvm/test/CodeGen/AArch64/ptrauth-type-info-vptr-discr.ll
Log Message:
-----------
CodeGen: Optionally emit PAuth relocations as IRELATIVE relocations.
This supports the following use cases:
- ConstantPtrAuth expressions that are unrepresentable using standard PAuth
relocations such as expressions involving an integer operand or
deactivation symbols.
- libc implementations that do not support PAuth relocations.
For more information see the RFC:
https://discourse.llvm.org/t/rfc-structure-protection-a-family-of-uaf-mitigation-techniques/85555
Reviewers: MaskRay, fmayer, smithp35, kovdan01
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/133533
Commit: 6227eb90da2a417125477b27799ae2e8f43b9e49
https://github.com/llvm/llvm-project/commit/6227eb90da2a417125477b27799ae2e8f43b9e49
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/LLVMContext.h
M llvm/include/llvm/Target/Target.td
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContext.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Bitcode/operand-bundles-bc-analyzer.ll
A llvm/test/CodeGen/AArch64/deactivation-symbols.ll
A llvm/test/CodeGen/MIR/AArch64/deactivation-symbols.mir
M llvm/test/Transforms/InstCombine/ptrauth-intrinsics.ll
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
Add IR and codegen support for deactivation symbols.
Deactivation symbols are a mechanism for allowing object files to disable
specific instructions in other object files at link time. The initial use
case is for pointer field protection.
For more information, see the RFC:
https://discourse.llvm.org/t/rfc-deactivation-symbols/85556
Reviewers: ojhunt, nikic, fmayer, arsenm, ahmedbougacha
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/133536
Commit: d2379effe9db15765e4fd1f7a0589af5f9269f96
https://github.com/llvm/llvm-project/commit/d2379effe9db15765e4fd1f7a0589af5f9269f96
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M clang/lib/CodeGen/CGPointerAuth.cpp
M llvm/docs/LangRef.rst
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
A llvm/test/Assembler/invalid-ptrauth-const6.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/AArch64/ptrauth-irelative.ll
M llvm/test/Transforms/InstCombine/ptrauth-intrinsics.ll
A llvm/test/Verifier/ptrauth-constant.ll
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/Transforms/Utils/ValueMapperTest.cpp
Log Message:
-----------
Add deactivation symbol operand to ConstantPtrAuth.
Deactivation symbol operands are supported in the code generator by
building on the previously added support for IRELATIVE relocations.
Reviewers: ojhunt, fmayer, ahmedbougacha, nikic, efriedma-quic
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/133537
Commit: a33fd4437216fff3d092e5056a78c4f430b2f9da
https://github.com/llvm/llvm-project/commit/a33fd4437216fff3d092e5056a78c4f430b2f9da
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Linux.cpp
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/tysan/tysan_platform.h
Log Message:
-----------
Revert "[tysan] Type Sanitizer support for SystemZ" (#169726)
Reverts llvm/llvm-project#162396
Commit: 75ca83563de13ebbf381a0e9e9d97dfbf98ea0f5
https://github.com/llvm/llvm-project/commit/75ca83563de13ebbf381a0e9e9d97dfbf98ea0f5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix build after #169086 (#169725)
Just required wiring up some additional AMDGPU table generated files.
Commit: 8e4208f83a9bb7a4cd550e90e70f3b77499c623e
https://github.com/llvm/llvm-project/commit/8e4208f83a9bb7a4cd550e90e70f3b77499c623e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
Log Message:
-----------
[flang][cuda][rt] Add entry point to get the allocation stream (#169608)
Commit: 47efff777d907fcabda59d925dfed3040c7308be
https://github.com/llvm/llvm-project/commit/47efff777d907fcabda59d925dfed3040c7308be
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
A llvm/test/CodeGen/SystemZ/zos-ppa1-argarea.ll
Log Message:
-----------
[SystemZ] Emit optional argument area length field (#169679)
The Language Environment (LE) reserves 128 byte for the argument area
when the optional field is not present. If the argument area is larger,
then the field must be present to guarantee that the space is reserved
on stack extension. Creating this field when alloca() is used may reduce
the needed stack space in case alloca() causes a stack extension.
Commit: 48454241cde713c450e2369983b8c98b7ab16f19
https://github.com/llvm/llvm-project/commit/48454241cde713c450e2369983b8c98b7ab16f19
Author: Kazu Hirata <kazu at google.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
[SPIRV] Fix a warning
This patch fixes:
llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp:245:25: error: unused
variable 'TII' [-Werror,-Wunused-variable]
Commit: 9871d7089890f357308804987ceae1e98c5c42a3
https://github.com/llvm/llvm-project/commit/9871d7089890f357308804987ceae1e98c5c42a3
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
A mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitDeclare.cpp
M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
A mlir/test/Dialect/OpenACC/acc-implicit-declare.mlir
Log Message:
-----------
[mlir][acc] Introduce ACCImplicitDeclare pass for globals handling (#169720)
This commit introduces the ACCImplicitDeclare pass to the OpenACC
dialect, complementing ACCImplicitData by handling global variables
referenced in OpenACC compute regions and routines.
Overview:
---------
The pass applies implicit `acc declare` actions to global variables
referenced in OpenACC regions. While the OpenACC spec focuses on
implicit data mapping (handled by ACCImplicitData), implicit declare is
advantageous and required for specific cases:
1. Globals referenced in implicit `acc routine` - Since data mapping
only applies to compute regions, globals in routines must use `acc
declare`.
2. Compiler-generated globals - Type descriptors, runtime names, and
error reporting strings introduced during compilation that wouldn't be
visible for user-provided `acc declare` directives.
3. Constant globals - Constants like filename strings or initialization
values benefit from being marked with `acc declare` rather than being
mapped repeatedly (e.g., 1000 kernel launches shouldn't map the same
constant 1000 times).
Implementation:
---------------
The pass performs this in two phases:
1. Hoisting: Non-constant globals in compute regions have their
address-of operations hoisted out of the region when possible, allowing
implicit data mapping instead of declare marking.
2. Declaration: Remaining that must be device available (constants,
globals in routines, globals in recipe operations) are marked with the
acc.declare attribute.
The pass processes:
- OpenACC compute constructs (parallel, kernels, serial)
- Functions marked with acc routine
- Private, firstprivate, and reduction recipes (when used)
- Initialization regions of existing declared globals
Requirements:
-------------
The pass requires operations to implement:
- acc::AddressOfGlobalOpInterface (for address-of ops)
- acc::GlobalVariableOpInterface (for global definitions)
- acc::IndirectGlobalAccessOpInterface (for indirect access)
Commit: 3d596ad09234c92067012b33a81be8dc48aa2e47
https://github.com/llvm/llvm-project/commit/3d596ad09234c92067012b33a81be8dc48aa2e47
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M clang/test/Driver/hip-spirv-backend-opt.c
Log Message:
-----------
[clang][Driver] Use -no-canonical-prefixes in hip-spirv-backend-opt test (#169717)
Otherwise the test can fail in weirder setups (like ours downstream
where the actual binary path only contains the hash of the object). This
makes the test more resilient, more consistent with other driver tests,
and allows us to assert that the binary is named clang rather than
clang-<some suffix>.
Commit: d5778a7ff55688de0d6c87204fdd8d32ac1bdc99
https://github.com/llvm/llvm-project/commit/d5778a7ff55688de0d6c87204fdd8d32ac1bdc99
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__mutex/mutex.h
M libcxx/include/__thread/thread.h
M libcxx/include/barrier
M libcxx/include/latch
M libcxx/include/mutex
M libcxx/include/semaphore
A libcxx/test/libcxx/thread/nodiscard.verify.cpp
R libcxx/test/std/thread/thread.jthread/nodiscard.verify.cpp
Log Message:
-----------
[libc++] Applied `[[nodiscard]]` to concurrency (partially) (#169463)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
The following utilities have been annotated in this patch:
- [x] `<barrier>`
- [x] `<condition_variable>`
- [x] `<latch>`
- [x] `<mutex>`
- [x] `<semaphore>`
- [x] `<thread>`
N.B. Some classes don't provide all specified methods, which were not
annotated.
Commit: 216b9fa2275eb11fdb0133870ac81c8da7ff8fcf
https://github.com/llvm/llvm-project/commit/216b9fa2275eb11fdb0133870ac81c8da7ff8fcf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/multi-node-user-with-copyable-ops.ll
Log Message:
-----------
[SLP][NFC]Add another test with the user with multiple copyable operands, NFC
Commit: 20d95c807092755114fdc8cc3dba49e3f6820eb2
https://github.com/llvm/llvm-project/commit/20d95c807092755114fdc8cc3dba49e3f6820eb2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/lambda.cpp
Log Message:
-----------
[CIR] Add undef handling to enable global lambdas (#169721)
This change adds undef handling that was needed to enable global
lambdas. There was no lambda-specific code needed, but the global lambda
handling needed to initialize a global with an undef value.
[CIR] Handle undef init of struct
This adds handling for a case where Clang initializes a struct to undef
with a constant copy. This required adding support for undef constants
and lowering undef attributes to LLVM IR.
Commit: dab44135df10d9e29a38f25e112a847020ee2831
https://github.com/llvm/llvm-project/commit/dab44135df10d9e29a38f25e112a847020ee2831
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
Log Message:
-----------
Fix sanitizer failure introduced by #133537
Commit: 2bef14c1a9dc939598ef12999f05527a662e42fa
https://github.com/llvm/llvm-project/commit/2bef14c1a9dc939598ef12999f05527a662e42fa
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
R clang/test/CIR/CodeGen/X86/avx-builtins.c
R clang/test/CIR/CodeGen/X86/avx10_2_512bf16-builtins.c
R clang/test/CIR/CodeGen/X86/avx10_2bf16-builtins.c
R clang/test/CIR/CodeGen/X86/avx512bw-builtins.c
R clang/test/CIR/CodeGen/X86/avx512f-builtins.c
R clang/test/CIR/CodeGen/X86/avx512fp16-builtins.c
R clang/test/CIR/CodeGen/X86/bmi-builtins.c
R clang/test/CIR/CodeGen/X86/lzcnt-builtins.c
R clang/test/CIR/CodeGen/X86/sse-builtins.c
R clang/test/CIR/CodeGen/X86/sse2-builtins.c
R clang/test/CIR/CodeGen/builtin-fcmp-sse.c
R clang/test/CIR/CodeGen/builtin-isfpclass.c
R clang/test/CIR/CodeGen/builtin_bit.cpp
R clang/test/CIR/CodeGen/builtin_call.cpp
R clang/test/CIR/CodeGen/builtin_inline.c
R clang/test/CIR/CodeGen/builtin_new_delete.cpp
R clang/test/CIR/CodeGen/builtin_prefetch.c
R clang/test/CIR/CodeGen/builtin_printf.cpp
R clang/test/CIR/CodeGen/builtins-elementwise.c
R clang/test/CIR/CodeGen/builtins-floating-point.c
R clang/test/CIR/CodeGen/builtins-overflow.cpp
R clang/test/CIR/CodeGen/builtins.cpp
A clang/test/CIR/CodeGenBuiltins/X86/avx-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx10_2_512bf16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx10_2bf16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/bmi-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/lzcnt-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/sse-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/sse2-builtins.c
A clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
A clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
A clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
A clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
A clang/test/CIR/CodeGenBuiltins/builtin_inline.c
A clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
A clang/test/CIR/CodeGenBuiltins/builtin_prefetch.c
A clang/test/CIR/CodeGenBuiltins/builtin_printf.cpp
A clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
A clang/test/CIR/CodeGenBuiltins/builtins-floating-point.c
A clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
A clang/test/CIR/CodeGenBuiltins/builtins.cpp
Log Message:
-----------
[CIR][NFC] Move builtin tests to their own directory (#169737)
This moves all builtin-related CodeGen tests to a new directory,
separate from the main clang/test/CIR/CodeGen directory. This will make
it easier to run the basic CodeGen tests without running the builtin
tests. This is specifically intended to move those tests which include
`immintrin.h` or any of its variants, which take a very long time to
compile with a debug build.
Commit: 36bed4d0cd3e0e3871ad2360a7524da245e289d0
https://github.com/llvm/llvm-project/commit/36bed4d0cd3e0e3871ad2360a7524da245e289d0
Author: John Holdsworth <github at johnholdsworth.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/InputFiles.cpp
M lld/test/MachO/read-workers.s
M llvm/lib/Object/Archive.cpp
Log Message:
-----------
[lld][MachO] Follow-up to use madvise() for threaded file page-in. (#157917)
Further to
https://github.com/llvm/llvm-project/pull/147134#discussion_r2337246489,
switch to use the madvise() api to page in mmap'd files and
1) All new code compiled in #if LLVM_ENABLE_THREADS is set so it can be
seen where the changes were from this PR.
2) The new PR moves to use madvise() instead of the ad-hoc page
referencing code I wrote which should avoid SIGSEGVs if the buffer is
deallocated.
3) A new property SerialBackgroundQueue().stopAllWork to be used to stop
background workers when there is no further call for them. Usually the
background "page-in" threads have completed first but it seems with this
troublesome test this is not always the case and buffers stored in the
static input file cache are being deallocated while being referenced.
---------
Co-authored-by: James Henderson <James.Henderson at sony.com>
Commit: 2f71e606c96c6b1a534b829fc10ff2d3ef497688
https://github.com/llvm/llvm-project/commit/2f71e606c96c6b1a534b829fc10ff2d3ef497688
Author: Ryan Mast <3969255+nightlark at users.noreply.github.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
A llvm/utils/git/requirements_upload_release.txt
A llvm/utils/git/requirements_upload_release.txt.in
M llvm/utils/release/github-upload-release.py
Log Message:
-----------
github-upload-release.py: add requirements and lock files for installing dependencies (#169461)
Adds requirements.txt and lock files for installing dependencies for
github-upload-release.py script.
Signed-off-by: Ryan Mast <mast.ryan at gmail.com>
Commit: 49516ba0e3a64bafc523c5f03594f607a0cf24ca
https://github.com/llvm/llvm-project/commit/49516ba0e3a64bafc523c5f03594f607a0cf24ca
Author: gulfemsavrun <gulfem at google.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/tools/llvm-objdump/SourcePrinter.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump] Optimize live element tracking (#158763)
This patch significantly optimizes the LiveElementPrinter
by replacing a slow linear search with efficient hash map
lookups. It refactors the code to use a map-based system
for tracking live element addresses and managing column
assignments, leading to a major performance improvement
for large binaries.
Commit: 8cc02597f119674b7592e4db5dabf476c97ac8fa
https://github.com/llvm/llvm-project/commit/8cc02597f119674b7592e4db5dabf476c97ac8fa
Author: Lang Hames <lhames at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
M llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
Log Message:
-----------
[ORC] Clear stale ElemToPendingSN entries in WaitingOnGraph. (#169747)
WaitingOnGraph::processReadyOrFailed was not clearing stale entries from
the ElemToPendingSN map. If symbols were removed from the
ExecutionSession and then re-added this could lead to dependencies on
the stale entries, triggering a use-after-free bug.
https://github.com/llvm/llvm-project/issues/169135
Commit: b7eb9883dc9014a392f6435ba9b4058c8f8efd3f
https://github.com/llvm/llvm-project/commit/b7eb9883dc9014a392f6435ba9b4058c8f8efd3f
Author: Matej Košík <m4tej.kosik at gmail.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M lldb/source/Utility/RegisterValue.cpp
Log Message:
-----------
[lldb] Use InlHostByteOrder in RegisterValue::SetValueFromData (#169624)
An existing code can be further simplified.
---------
Co-authored-by: Matej Košík <matej.kosik at codasip.com>
Commit: e2a29eca56bf92c8f3c5b5c88259211579b66182
https://github.com/llvm/llvm-project/commit/e2a29eca56bf92c8f3c5b5c88259211579b66182
Author: Florian Mayer <fmayer at google.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
M clang/test/Driver/fsanitize.c
M compiler-rt/test/ubsan_minimal/TestCases/override-callback.c
M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
Log Message:
-----------
[UBSan] Use -fsanitize-handler-preserve-all-regs in codegen
Pull Request: https://github.com/llvm/llvm-project/pull/168645
Commit: 48a9b07264e0b7d515806295272771af69186801
https://github.com/llvm/llvm-project/commit/48a9b07264e0b7d515806295272771af69186801
Author: Jim Lin <jim at andestech.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Log Message:
-----------
[AMDGPU] Remove unused functions isSigned. NFC (#169750)
These have been unused since
https://github.com/llvm/llvm-project/pull/145483.
Commit: 1ff5c89176f9171bd50b1f005cbf019a5d72e0b6
https://github.com/llvm/llvm-project/commit/1ff5c89176f9171bd50b1f005cbf019a5d72e0b6
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M mlir/test/Analysis/DataFlow/test-liveness-analysis.mlir
M mlir/test/lib/Analysis/DataFlow/TestLivenessAnalysis.cpp
Log Message:
-----------
[mlir][dataflow] Add arguemnt print for test-liveness-analysis (#169625)
Add arguemnt print for test-liveness-analysis to better debug
remove-dead-values pass.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: ceba82f862b61396c2321613f544f925aefce015
https://github.com/llvm/llvm-project/commit/ceba82f862b61396c2321613f544f925aefce015
Author: Gang Chen <gangc at amd.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/vectorize-redund-loads.ll
Log Message:
-----------
[LoadStoreVectorizer] Fix one-element vector handling (#169671)
This is the followup of https://github.com/llvm/llvm-project/pull/168135
Commit: b028dacc60929995997ba1795f460d6ff0f2c302
https://github.com/llvm/llvm-project/commit/b028dacc60929995997ba1795f460d6ff0f2c302
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M libcxx/include/queue
M libcxx/test/libcxx/diagnostics/queue.nodiscard.verify.cpp
Log Message:
-----------
[libc++][queue] Applied `[[nodiscard]]` (#169469)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
-
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
Commit: bd643bc1410eefced91384f816177b8189ffb981
https://github.com/llvm/llvm-project/commit/bd643bc1410eefced91384f816177b8189ffb981
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
Log Message:
-----------
[flang] Use default constructor for FIRToSCF pass (#169741)
Commit: 504b50789602813b88a482c39072822cbaa16b37
https://github.com/llvm/llvm-project/commit/504b50789602813b88a482c39072822cbaa16b37
Author: Matthias Springer <me at m-sp.org>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
A mlir/test/Transforms/test-legalizer-no-rollback.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Dialect conversion: Add support for `replaceUsesWithIf` (#169606)
This commit adds support for `replaceUsesWithIf` (and variants such as
`replaceAllUsesExcept`) to the `ConversionPatternRewriter`. This API is
supported only in no-rollback mode. An assertion is triggered in
rollback mode. (This missing assertion has been confusing for users
because it seemed that the API supported, while it was actually not
working properly.)
This commit brings us a bit closer towards removing
[this](https://github.com/llvm/llvm-project/blob/76ec25f729fcc7ae576caf21293cc393e68e7cf7/mlir/lib/Transforms/Utils/DialectConversion.cpp#L1214)
workaround.
Additional changes are needed to support this API in rollback mode. In
particular, no entries should be added to the `ConversionValueMapping`
for conditional replacements. It's unclear at this point if this API can
be supported in rollback mode, so this is deferred to later.
This commit turns `replaceUsesWithIf` into a virtual function, so that
the `ConversionPatternRewriter` can override it. All other API functions
for conditional value replacements call that function.
Note for LLVM integration: If you are seeing failed assertions due to
this change, you are using unsupported API in your dialect conversion.
You have 3 options: (1) Migrate to the no-rollback driver. (2) Rewrite
your patterns without the unsupported API. (3) Last resort: bypass the
rewriter and call `replaceUsesWithIf` etc. directly on the `Value`
object.
Commit: bacca2337156edd28fc5bb0237371dc01bdc19e0
https://github.com/llvm/llvm-project/commit/bacca2337156edd28fc5bb0237371dc01bdc19e0
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M libcxx/include/__mdspan/extents.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.obs.pass.cpp
A libcxx/test/libcxx/containers/views/mdspan/nodiscard.verify.cpp
Log Message:
-----------
[libc++][mdspan] Applied `[[nodiscard]]` (#169326)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
-
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
Commit: fb18f75343738570b9f34b89973ef2ae4ada7a85
https://github.com/llvm/llvm-project/commit/fb18f75343738570b9f34b89973ef2ae4ada7a85
Author: Janet Yang <qxy11 at meta.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
Log Message:
-----------
[lldb-dap] Add breakpoints after debugger initialization in DExTer (#169744)
# Summary
This is a forward fix for test errors from
https://github.com/llvm/llvm-project/pull/163653.
The PR moved debugger initialization outside of
InitializeRequestHandler, and into Launch/AttachRequestHandlers to
support DAP sessions sharing debugger instances for dynamically created
targets. However, DExTer's DAP class seemed to set breakpoints before
the debugger was initialized, which caused the tests to hang waiting for
a breakpoint to hit due to none of the breakpoints getting resolved.
# Tests
```
bin/llvm-lit -v /home/qxy11/llvm/llvm-project/cross-project-tests/debuginfo-tests/dexter-tests/
```
Commit: b3428bb966f1de8aa48375ffee0eba04ede133b7
https://github.com/llvm/llvm-project/commit/b3428bb966f1de8aa48375ffee0eba04ede133b7
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M llvm/lib/IR/LLVMContextImpl.cpp
Log Message:
-----------
Add missing freeConstants() call for ConstantPtrAuths.
Fixes memory leak uncovered by #133533.
Commit: e7dec231fe4da28c76ecb212360b155beec40cc9
https://github.com/llvm/llvm-project/commit/e7dec231fe4da28c76ecb212360b155beec40cc9
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M llvm/lib/IR/ReplaceConstant.cpp
M llvm/test/CodeGen/AMDGPU/lower-kernel-lds-constexpr.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-constantexpr.ll
A llvm/test/CodeGen/AMDGPU/same-lds-variable-multiple-use-in-one-phi-node.ll
Log Message:
-----------
[ReplaceConstant] Don't create instructions for the same constant multiple times in the same basic block (#169141)
Fixes #167500.
Commit: 601f79622af6f042379483573fc913c8686fabb6
https://github.com/llvm/llvm-project/commit/601f79622af6f042379483573fc913c8686fabb6
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Dialect/LLVMIR/nvvm/invalid-convert-stochastic-rounding.mlir
A mlir/test/Target/LLVMIR/nvvm/convert_fp16x2.mlir
M mlir/test/Target/LLVMIR/nvvm/convert_stochastic_rounding.mlir
A mlir/test/Target/LLVMIR/nvvm/invalid_convert_fp16x2.mlir
Log Message:
-----------
[MLIR][NVVM] Add missing rounding modes in fp16x2 conversions (#169005)
This change adds the `RN` and `RZ` rounding modes to the
`convert.f32x2.to.f16x2` and `convert.f32x2.to.bf16x2` Ops.
Tests are added in `convert_fp16x2.mlir` and
`invalid_convert_fp16x2.mlir`.
Tests with these Ops in `convert_stochastic_rounding.mlir` and
`invalid-convert-stochastic-rounding.mlir` have been removed or
modified.
PTX spec reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt
Commit: 1748e2330e230cfea3c8c09547af257f2f82b002
https://github.com/llvm/llvm-project/commit/1748e2330e230cfea3c8c09547af257f2f82b002
Author: Rajat Bajpai <rbajpai at nvidia.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Log Message:
-----------
[MLIR][Intrinsics] Add new MLIR API to automatically resolve overload types (#168188)
Add createIntrinsicCall overload that accepts return type and arguments,
automatically resolve overload types rather than requiring manual
computation. Simplifies NVVM_PrefetchOp by removing conditional overload
logic.
Commit: 40991215f4aba37fd43b65d96ad0a445dcd041b2
https://github.com/llvm/llvm-project/commit/40991215f4aba37fd43b65d96ad0a445dcd041b2
Author: Eric Li <li.zhe.hua at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/lib/Tooling/Transformer/SourceCode.cpp
M clang/unittests/Tooling/SourceCodeTest.cpp
Log Message:
-----------
[clang][Tooling] Fix `getFileRange` returning a range spanning across macro arguments (#169757)
When the start and end token are both spelled in macro arguments, we
still want to reject the range if they come from two separate macro
arguments, as the original specified range is not precisely spelled in a
single sequence of characters in source.
Commit: fede9471c48d91cae6ee94f247797ba3d30bfa80
https://github.com/llvm/llvm-project/commit/fede9471c48d91cae6ee94f247797ba3d30bfa80
Author: Men-cotton <mencotton0410 at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
A mlir/test/Dialect/LLVMIR/invalid-cg-profile.mlir
Log Message:
-----------
[mlir][LLVMIR] Handle missing functions in CGProfile module flags (#169517)
This commit extends the CGProfile module flags export with support for missing function references. Previously, this caused a crash and now it's properly exported to `null` values in the metadata node.
Fixes: https://github.com/llvm/llvm-project/issues/160717
Commit: 6696e0c8f8605e8ebef4a786e244baf3d6a09816
https://github.com/llvm/llvm-project/commit/6696e0c8f8605e8ebef4a786e244baf3d6a09816
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode] Remove double diagnostic emission (#169658)
We emit this diagnostic from CheckPointerToIntegralCast() already, so
remove the emission from CastPointerIntegral().
Commit: f6712b6ea3d59b019e26f8716020d4ca654c043c
https://github.com/llvm/llvm-project/commit/f6712b6ea3d59b019e26f8716020d4ca654c043c
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/const_optional_U.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/ctor.verify.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/deduct.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/deduct.verify.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/default.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/empty_in_place_t_does_not_clobber.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_const_optional_U.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_optional_U.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/initializer_list.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/optional_U.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
Log Message:
-----------
[libc++] Reformat `optional` constructor tests (#169231)
- Mass-reformat tests in
`std/utilities/optional/optional.object/optional.object.ctor` and
rearrange header `#include`s
- No functional changes
- Prelude for #169203
Commit: a9cc7fe3caf6e14ae755689df8ccde2edc4c8a43
https://github.com/llvm/llvm-project/commit/a9cc7fe3caf6e14ae755689df8ccde2edc4c8a43
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProf.h
Log Message:
-----------
[NFC][SampleFDO] Use const& to avoid copies (#164584)
Use const& in range-based for loop to avoid unnecessary copies
Commit: 326a1a4badcd13ad8e722ac542cff19eed7bb03a
https://github.com/llvm/llvm-project/commit/326a1a4badcd13ad8e722ac542cff19eed7bb03a
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
Log Message:
-----------
[MLIR][XeGPU] Add anchor_layout and update propagation to honor user-specified layouts (#169267)
Introduce anchor layout for XeGPU anchor ops: load_nd, store_nd,
prefetch_nd, dpas, load, store, prefetch, load_matrix, store_matrix, and
atomic_rmw. Anchor layout is permanent, and is guaranteed to be honored
by XeGPU distribution and lowerinngs once specified.
1. Add anchor_layout for XeGPU anchor OPs: load_nd, store_nd,
prefetch_nd, dpas, load, store, prefetch, load_matrix, store_matrix, and
atomic_rmw.
2. rename layout attributes to anchor_layout for these ops: load, store,
load_matrix, store_matrix
3. update layout propagation pass: Only when user doesn't specify anchor
layout, the pass computes a default layout and set to anchor op's
permant layout and use that for propagation. if user specified anchor
layout, the pass takes user-specified anchor layout. permant layout and
use that for propagation. if user specified anchor layout, the pass
takes user-specified anchor layout.
Commit: f1ddb2f4120645b56802859e26e2006e6db72597
https://github.com/llvm/llvm-project/commit/f1ddb2f4120645b56802859e26e2006e6db72597
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/rotl-rotr.ll
A llvm/test/CodeGen/LoongArch/lsx/rotl-rotr.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit tests for vector rotl/rotr (#161115)
Commit: bb9449d5bbd72441d8f95052ddfd29e2d29297d7
https://github.com/llvm/llvm-project/commit/bb9449d5bbd72441d8f95052ddfd29e2d29297d7
Author: Luke Lau <luke at igalia.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Transforms/InstCombine/get_vector_length.ll
Log Message:
-----------
[InstCombine] Fold @llvm.experimental.get.vector.length when cnt <= max_lanes (#169293)
On RISC-V, some loops that the loop vectorizer vectorizes pre-LTO may
turn out to have the exact trip count exposed after LTO, see #164762.
If the trip count is small enough we can fold away the
@llvm.experimental.get.vector.length intrinsic based on this corollary
from the LangRef:
> If %cnt is less than or equal to %max_lanes, the return value is equal
to %cnt.
This on its own doesn't remove the @llvm.experimental.get.vector.length
in #164762 since we also need to teach computeKnownBits about
@llvm.experimental.get.vector.length and the sub recurrence, but this PR
is a starting point.
I've added this in InstCombine rather than InstSimplify since we may
need to insert a truncation (@llvm.experimental.get.vector.length can
take an i64 %cnt argument, the result is always i32).
Note that there was something similar done in VPlan in #167647 for when
the loop vectorizer knows the trip count.
Commit: 6abbbca32472537389a4fd9961f680251a57e82b
https://github.com/llvm/llvm-project/commit/6abbbca32472537389a4fd9961f680251a57e82b
Author: David Green <david.green at arm.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
A llvm/test/Transforms/AggressiveInstCombine/umulh_carry.ll
A llvm/test/Transforms/AggressiveInstCombine/umulh_carry4.ll
A llvm/test/Transforms/AggressiveInstCombine/umulh_ladder.ll
A llvm/test/Transforms/AggressiveInstCombine/umulh_ladder4.ll
Log Message:
-----------
[AggressiveInstCombine] Match long high-half multiply (#168396)
This patch adds recognition of high-half multiply by parts into a single
larger multiply.
Considering a multiply made up of high and low parts, we can split the
multiply into:
x * y == (xh*T + xl) * (yh*T + yl)
where `xh == x>>32` and `xl == x & 0xffffffff`. `T = 2^32`.
This expands to
xh*yh*T*T + xh*yl*T + xl*yh*T + xl*yl
which I find it helpful to be drawn as
[ xh*yh ]
[ xh*yl ]
[ xl*yh ]
[ xl*yl ]
We are looking for the "high" half, which is xh*yh + xh*yl>>32 + xl*yh>>32 +
carrys. The carry makes this difficult and there are multiple ways of
representing it. The ones we attempt to support here are:
Carry: xh*yh + carry + lowsum
carry = lowsum < xh*yl ? 0x1000000 : 0
lowsum = xh*yl + xl*yh + (xl*yl>>32)
Ladder: xh*yh + c2>>32 + c3>>32
c2 = xh*yl + (xl*yl >> 32); c3 = c2&0xffffffff + xl*yh
Carry4: xh*yh + carry + crosssum>>32 + (xl*yl + crosssum&0xffffffff) >> 32
crosssum = xh*yl + xl*yh
carry = crosssum < xh*yl ? 0x1000000 : 0
Ladder4: xh*yh + (xl*yh)>>32 + (xh*yl)>>32 + low>>32;
low = (xl*yl)>>32 + (xl*yh)&0xffffffff + (xh*yl)&0xfffffff
They all start by matching `xh*yh` + 2 or 3 other operands. The bottom of the
tree is `xh*yh`, `xh*yl`, `xl*yh` and `xl*yl`.
Based on #156879 by @c-rhodes
Commit: 1c7ec06b16dc59b5b52cff95bde7d5330ffa0293
https://github.com/llvm/llvm-project/commit/1c7ec06b16dc59b5b52cff95bde7d5330ffa0293
Author: Luke Lau <luke at igalia.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
Log Message:
-----------
[VPlan] Optimize LastActiveLane to EVL - 1 (#169766)
With EVL tail folding, the LastActiveLane can be computed with EVL - 1.
This removes the need for a header mask and vfirst.m for loops with live
outs on RISC-V:
# %bb.5: # %for.cond.cleanup7
- vsetvli zero, zero, e32, m2, ta, ma
- vmv.v.x v8, s1
- vmsleu.vv v10, v8, v22
- vfirst.m a0, v10
- srli a1, a0, 63
- czero.nez a0, a0, a1
- czero.eqz a1, s8, a1
- or a0, a0, a1
- addi a0, a0, -1
- vsetvli zero, zero, e64, m4, ta, ma
- vslidedown.vx v8, v12, a0
+ addi s1, s1, -1
+ vslidedown.vx v8, v12, s1
Commit: 9cb9b16fd63365fe452947ffdfbccd3ac7e6a08c
https://github.com/llvm/llvm-project/commit/9cb9b16fd63365fe452947ffdfbccd3ac7e6a08c
Author: Vadim Curcă <80581374+VadimCurca at users.noreply.github.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
M mlir/test/Target/LLVMIR/Import/metadata-profiling.ll
Log Message:
-----------
[mlir][llvm] Fix import of branch weights with "expected" field (#169776)
This commit fixes the import of `branch_weights` metadata from LLVM IR
to the LLVM dialect. Previously, `branch_weights` metadata containing
the `!"expected"` field were rejected because the importer expected
integer weights at operand 1, but found a string.
Commit: dc8311f207f4facf88a8c939b4132afdaab08470
https://github.com/llvm/llvm-project/commit/dc8311f207f4facf88a8c939b4132afdaab08470
Author: David Green <david.green at arm.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks-2-preds.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks-ctrl-flow.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks-non-consecutive-ins.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-3-blocks-kill-vpr.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-1-ins.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-2-ins.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-4-ins.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-elses.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-optnone.mir
Log Message:
-----------
[ARM] Remove IR from mve vpt mir tests. NFC
As far as I can tell the llvm.arm.mve.vminnm.m intrinsic used in these tests
was the pre-upstream name of llvm.arm.mve.min.predicated. The tests should not
need IR sections, so remove them just relying on the MIR portions.
Commit: c28c99f51101d5130eeb9df061dcd10a1750d97b
https://github.com/llvm/llvm-project/commit/c28c99f51101d5130eeb9df061dcd10a1750d97b
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/test/SemaHIP/amdgpu-gfx950-load-to-lds.hip
Log Message:
-----------
[NFC][HIP] Add __builtin_*_load_lds type check test cases (#165388)
This tests show how type-checking is performed for
`__builtin_amdgcn_load_to_lds`,
but not for `__builtin_amdgcn_raw_ptr_buffer_load_lds`,
`__builtin_amdgcn_struct_ptr_buffer_load_lds` and
`__builtin_amdgcn_global_load_lds` since they are declared with the 't'
attribute.
Stacked on top of: https://github.com/llvm/llvm-project/pull/165387
Commit: 650eeb867fa95435b7c123e6630eb98934ac5bf3
https://github.com/llvm/llvm-project/commit/650eeb867fa95435b7c123e6630eb98934ac5bf3
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
Log Message:
-----------
[ShrinkWrap] Modify shrink wrapping to accommodate functions terminated by no-return blocks (#167548)
At present, the shrink wrapping pass misses opportunities to shrink wrap
in the presence of machine basic blocks which exit the function without
returning. Such cases arise from C++ functions like the following:
```cxx
int foo(int err, void* ptr) {
if (err == -1) {
if (ptr == nullptr) {
throw MyException("Received `nullptr`!", __FILE__, __LINE__);
}
handle(ptr);
}
return STATUS_OK;
}
```
In particular, assuming `MyException`'s constructor is not marked
`noexcept`, the above code will generate a trivial EH landing pad
calling `__cxa_free_exception()` and rethrowing the unhandled internal
exception, exiting the function without returning. As such, the shrink
wrapping pass refuses to touch the above function, spilling to the stack
on every call, even though no CSRs are clobbered on the hot path. This
patch tweaks the shrink wrapping logic to enable the pass to fire in
this and similar cases.
Commit: c3c3d16773f8db2188145378500070658afeb30f
https://github.com/llvm/llvm-project/commit/c3c3d16773f8db2188145378500070658afeb30f
Author: NagaChaitanya Vellanki <pnagato at protonmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/avx512vbmiintrin.h
M clang/lib/Headers/avx512vbmivlintrin.h
M clang/test/CodeGen/X86/avx512vbmi-builtins.c
M clang/test/CodeGen/X86/avx512vbmivl-builtin.c
Log Message:
-----------
[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - Allow AVX512 VPMULTISHIFTQB intrinsics to be used in constexpr (#168995)
Resolves #167477
Commit: 0b1651260a36b38a65bb4f14ad8c9c5551ab5a34
https://github.com/llvm/llvm-project/commit/0b1651260a36b38a65bb4f14ad8c9c5551ab5a34
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/utils/TableGen/README.md
Log Message:
-----------
[llvm][Tablegen] Link to tutorial before programmer's reference
The natural assumption is that there's some sort of order here
and having people read the reference manual before the basic
tutorial does not make sense to me.
Commit: 8401a8d0be7671fb5089f850a34dc92ad4a2eb12
https://github.com/llvm/llvm-project/commit/8401a8d0be7671fb5089f850a34dc92ad4a2eb12
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
A llvm/test/Bitcode/aarch64-sve-rev-upgrade.ll
A llvm/test/Bitcode/aarch64-sve-rev-upgrade.ll.bc
Log Message:
-----------
[NFC][LLVM] Add bitcode tests for llvm.aarch64.sve.rev
Commit: 0dbedd195c94e89b43660e67aa56dd139a81fa40
https://github.com/llvm/llvm-project/commit/0dbedd195c94e89b43660e67aa56dd139a81fa40
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
M clang/lib/Headers/avx512vlfp16intrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/test/CodeGen/X86/sse-builtins-constrained.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins-constrained.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/builtins-x86.c
Log Message:
-----------
[Clang] Replace some x86 sqrt builtins with the generic __builtin_elementwise_sqrt versions (#165682)
Commit: bec726f6a6d37bdfb90d1330d4b5e947ce017046
https://github.com/llvm/llvm-project/commit/bec726f6a6d37bdfb90d1330d4b5e947ce017046
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
A llvm/test/CodeGen/X86/haddsubsat.ll
Log Message:
-----------
[X86] optimize ssse3 horizontal saturating add/sub (#169591)
Currently LLVM fails to recognize a manual implementation of `phadd`
https://godbolt.org/z/zozrssaWb
```llvm
declare <8 x i16> @llvm.x86.ssse3.phadd.sw.128(<8 x i16>, <8 x i16>)
declare <8 x i16> @llvm.sadd.sat.v8i16(<8 x i16>, <8 x i16>)
define <8 x i16> @phaddsw_v8i16_intrinsic(<8 x i16> %a, <8 x i16> %b) {
entry:
%res = call <8 x i16> @llvm.x86.ssse3.phadd.sw.128(<8 x i16> %a, <8 x i16> %b)
ret <8 x i16> %res
}
define <8 x i16> @phaddsw_v8i16_generic(<8 x i16> %a, <8 x i16> %b) {
entry:
%even = shufflevector <8 x i16> %a, <8 x i16> %b,
<8 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14>
%odd = shufflevector <8 x i16> %a, <8 x i16> %b,
<8 x i32> <i32 1, i32 3, i32 5, i32 7, i32 9, i32 11, i32 13, i32 15>
%sum = call <8 x i16> @llvm.sadd.sat.v8i16(<8 x i16> %even, <8 x i16> %odd)
ret <8 x i16> %sum
}
```
```asm
phaddsw_v8i16_intrinsic: # @phaddsw_v8i16_intrinsic
phaddsw xmm0, xmm1
ret
phaddsw_v8i16_generic: # @phaddsw_v8i16_generic
movdqa xmm2, xmmword ptr [rip + .LCPI1_0] # xmm2 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
movdqa xmm3, xmm1
pshufb xmm3, xmm2
movdqa xmm4, xmm0
pshufb xmm4, xmm2
punpcklqdq xmm4, xmm3 # xmm4 = xmm4[0],xmm3[0]
psrad xmm1, 16
psrad xmm0, 16
packssdw xmm0, xmm1
paddsw xmm0, xmm4
ret
```
This PR does recognize the pattern.
Commit: d6be9fc115459ce154f8aa062b05645adb150469
https://github.com/llvm/llvm-project/commit/d6be9fc115459ce154f8aa062b05645adb150469
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M libcxx/include/deque
M libcxx/test/libcxx/diagnostics/deque.nodiscard.verify.cpp
Log Message:
-----------
[libc++][deque] Applied `[[nodiscard]]` (#169745)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
-
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
Commit: bd95a74a2c548867c004ec991defe276f9cbbf40
https://github.com/llvm/llvm-project/commit/bd95a74a2c548867c004ec991defe276f9cbbf40
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Check for invalid record decls in IntPointer::atOffset (#169786)
We can't access the RecordLayout of an invalid decl, so return failure
if that happens.
Fixes https://github.com/llvm/llvm-project/issues/167076
Commit: 682f292d2caec5b71f8ce6c641114fee446ba49f
https://github.com/llvm/llvm-project/commit/682f292d2caec5b71f8ce6c641114fee446ba49f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
Log Message:
-----------
[LV] Test more combinations of scalar stores using last lane of IV.
Extends test coverage to include different start and step values, as
well as interleaving.
Commit: df8061272ad6d3770ddc17498eff70f700a020ad
https://github.com/llvm/llvm-project/commit/df8061272ad6d3770ddc17498eff70f700a020ad
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M libcxx/include/__flat_set/flat_set.h
M libcxx/test/libcxx/diagnostics/flat_map.nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/flat_set.nodiscard.verify.cpp
Log Message:
-----------
[libc++][flat_set] Applied `[[nodiscard]]` (#169739)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
-
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
Commit: 7b813c3d8095ba49a8f1e935a9b14c23490e3bb0
https://github.com/llvm/llvm-project/commit/7b813c3d8095ba49a8f1e935a9b14c23490e3bb0
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode][test] Specify triple for Invalid.cpp
This should unbreak that test on 32bit builders, e.g.
https://lab.llvm.org/buildbot/#/builders/154/builds/24509
Commit: eee09ca98470b880fdd54bd3ff7ea05ae276314a
https://github.com/llvm/llvm-project/commit/eee09ca98470b880fdd54bd3ff7ea05ae276314a
Author: Eric Xu <60671484+ericxu233 at users.noreply.github.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/CodeGen/X86/f16c-builtins.c
Log Message:
-----------
[X86][Clang] Allow constexpr evaluation of F16C CVTPS2PH intrinsics (#162295)
Fixes #160312
Commit: fca41f4aa105f30af75d88d993539d043ac66460
https://github.com/llvm/llvm-project/commit/fca41f4aa105f30af75d88d993539d043ac66460
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/Headers/avx512bf16intrin.h
M clang/lib/Headers/avx512vlbf16intrin.h
M clang/test/CodeGen/X86/avx512bf16-builtins.c
M clang/test/CodeGen/X86/avx512vlbf16-builtins.c
Log Message:
-----------
[X86] Replace BF16 to F32 conversions with generic conversions (#169781)
Let standard casting / builtin_convertvector handle the conversions from BF16 to F32
My only query is how to best implement _mm_cvtpbh_ps - I went for the
v8bf16 -> v8f32 conversion followed by subvector extraction in the end,
but could just as easily extract a v4bf16 first - makes no difference to
final optimized codegen.
First part of #154911
Commit: ea1e62d1a00bf3d40b7a1fd926d2a573c997188d
https://github.com/llvm/llvm-project/commit/ea1e62d1a00bf3d40b7a1fd926d2a573c997188d
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/Target/Target.td
M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
M llvm/utils/TableGen/Basic/VTEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M mlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp
Log Message:
-----------
[CodeGenTypes] Remove explicit VT numbers from ValueTypes.td (#169670)
Remove explicit VT numbers from ValueTypes.td so that patches that add a
new VT do not have to renumber the entire file.
In TableGen VTs are now identified by ValueType.LLVMName instead of
ValueType.Value. This is important for target-defined types (typically
based on PtrValueType) which are not mentioned in ValueTypes.td itself.
Commit: 66ca3f1367bb59915bd9f832a9cd3dfe56304538
https://github.com/llvm/llvm-project/commit/66ca3f1367bb59915bd9f832a9cd3dfe56304538
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
A llvm/test/CodeGen/SystemZ/zos-target-flags.ll
Log Message:
-----------
[SystemZ] Serialize ada entry flags (#169395)
Adding support for serializing the ada entry flags helps with mir based
test cases. Without this change, the flags are simple displayed as being
"unkmown".
Commit: 1d7d83d0bf8f376b977f25cec75633dceb91b8f1
https://github.com/llvm/llvm-project/commit/1d7d83d0bf8f376b977f25cec75633dceb91b8f1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/darwin.ll
Log Message:
-----------
RuntimeLibcalls: Add macos unlocked IO functions to systems (#167084)
Commit: 514dbab474c71326c1080f3129a26f0ffdd71d51
https://github.com/llvm/llvm-project/commit/514dbab474c71326c1080f3129a26f0ffdd71d51
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/docs/ClangStaticAnalyzer.rst
M clang/docs/analyzer/user-docs.rst
M clang/docs/analyzer/user-docs/CommandLineUsage.rst
M clang/docs/analyzer/user-docs/Installation.rst
Log Message:
-----------
[NFC][analyzer] Clean up obsolete installation instructions (#166193)
The documentation file `Installation.rst` contained very obsolete
instructions for installing the clang static analyzer. This commit
replaces it with sentence which explains that the analyzer is part of
clang and links to the releases page of LLVM (for downloading clang).
This sentence is primarily added to the top-level page of the analyzer
documentation; but it also appears in a stubbed Installation.rst (for
users who followed a direct external link to this installation page).
This stubbed section is removed from the table of contents, but I kept
it as an orphaned page (to avoid breaking links).
Fixes #165571
Commit: d128d90e71146cf099a31a967fdeb2591d30514d
https://github.com/llvm/llvm-project/commit/d128d90e71146cf099a31a967fdeb2591d30514d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
A llvm/test/Transforms/Util/DeclareRuntimeLibcalls/emscripten.ll
Log Message:
-----------
RuntimeLibcalls: Add small_printf functions to emscripten (#167087)
Commit: 97aa4f3abbba2ce4460c0d8e5364bd333aaa8079
https://github.com/llvm/llvm-project/commit/97aa4f3abbba2ce4460c0d8e5364bd333aaa8079
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
A llvm/test/Transforms/Util/DeclareRuntimeLibcalls/xcore.ll
Log Message:
-----------
XCore: Add iprintf to RuntimeLibcalls system library (#167088)
Commit: 6412184891526690cff804f87f986b1fa039f011
https://github.com/llvm/llvm-project/commit/6412184891526690cff804f87f986b1fa039f011
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M mlir/docs/Dialects/NVVMDialect.md
Log Message:
-----------
[MLIR][NVVM][Docs] Update docs (#169694)
This patch updates the NVVM Dialect docs to:
* include information on the type of pointers for the memory spaces.
* include high-level information on mbarrier objects.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 4394aa685c4b01ad3782a137fcfebeadc4941df1
https://github.com/llvm/llvm-project/commit/4394aa685c4b01ad3782a137fcfebeadc4941df1
Author: Jason-VanBeusekom <jason.van-beusekom at hpe.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/docs/HIPSupport.rst
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGenCUDA/cuda_weak_alias.cu
A clang/test/CodeGenHIP/hip_weak_alias.cpp
A clang/test/OpenMP/amdgcn_weak_alias.c
A clang/test/OpenMP/amdgcn_weak_alias.cpp
A clang/test/OpenMP/nvptx_weak_alias.c
Log Message:
-----------
[OpenMP][clang][HIP][CUDA] fix weak alias emit on device compilation (#164326)
This PR adds checks for when emitting weak aliases in: `void
CodeGenModule::EmitGlobal(GlobalDecl GD)`, before for device compilation
for OpenMP, HIP and Cuda, clang would look for the aliasee even if it
was never marked for device compilation.
For OpenMP the following case now works:
> Failed before when compiling with device, ie: `clang -fopenmp
-fopenmp-targets=amdgcn-amd-amdhsa`
> ```
> int __Two(void) { return 2; }
> int Two(void) __attribute__ ((weak, alias("__Two")));
> ```
For HIP / Cuda:
>
> ```
> int __HostFunc(void) { return 42; }
> int HostFunc(void) __attribute__ ((weak, alias("__HostFunc")));
> ```
For HIP:
>Failed before on HIP, Cuda fails due to: `NVPTX aliasee must not be
'.weak'` error
> ```
> __device__ int __One(void) { return 2; }
> __device__ int One(void) __attribute__ ((weak, alias("__One")));
> ```
Included are Codegen LIT tests for the above cases, and also cases for
weak alias cases that currently work in clang.
Fixes https://github.com/llvm/llvm-project/issues/117369
Commit: 0e5633fcd984b54acc071c2c982c1ff4691aa10f
https://github.com/llvm/llvm-project/commit/0e5633fcd984b54acc071c2c982c1ff4691aa10f
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/critical_codegen.cpp
M clang/test/OpenMP/critical_codegen_attr.cpp
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/masked_codegen.cpp
M clang/test/OpenMP/master_codegen.cpp
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/ordered_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/test/Transforms/OpenMP/parallel_region_merging.ll
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-barrier-cancel.mlir
M mlir/test/Target/LLVMIR/openmp-cancel.mlir
M mlir/test/Target/LLVMIR/openmp-cancellation-point.mlir
M mlir/test/Target/LLVMIR/openmp-outline-infinite-loop.mlir
M mlir/test/Target/LLVMIR/openmp-parallel-reduction-multiblock.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
Log Message:
-----------
[OMPIRBuilder] always leave PARALLEL via the same barrier (#164586)
A barrier will pause execution until all threads reach it. If some go to
a different barrier then we deadlock. This manifests in that the
finalization callback must only be run once. Fix by ensuring we always
go through the same finalization block whether the thread in cancelled
or not and no matter which cancellation point causes the cancellation.
The old callback only affected PARALLEL, so it has been moved into the
code generating PARALLEL. For this reason, we don't need similar changes
for other cancellable constructs. We need to create the barrier on the
shared exit from the outlined function instead of only on the cancelled
branch to make sure that threads exiting normally (without cancellation)
meet the same barriers as those which were cancelled. For example,
previously we might have generated code like
```
...
%ret = call i32 @__kmpc_cancel(...)
%cond = icmp eq i32 %ret, 0
br i1 %cond, label %continue, label %cancel
continue:
// do the rest of the callback, eventually branching to %fini
br label %fini
cancel:
// Populated by the callback:
// unsafe: if any thread makes it to the end without being cancelled
// it won't reach this barrier and then the program will deadlock
%unused = call i32 @__kmpc_cancel_barrier(...)
br label %fini
fini:
// run destructors etc
ret
```
In the new version the barrier is moved into fini. I generate it *after*
the destructors because the standard describes the barrier as occurring
after the end of the parallel region.
```
...
%ret = call i32 @__kmpc_cancel(...)
%cond = icmp eq i32 %ret, 0
br i1 %cond, label %continue, label %cancel
continue:
// do the rest of the callback, eventually branching to %fini
br label %fini
cancel:
br label %fini
fini:
// run destructors etc
// safe so long as every exit from the function happens via this block:
%unused = call i32 @__kmpc_cancel_barrier(...)
ret
```
To achieve this, the barrier is now generated alongside the finalization
code instead of in the callback. This is the reason for the changes to
the unit test.
I'm unsure if I should keep the incorrect barrier generation callback
only on the cancellation branch in clang with the OMPIRBuilder backend
because that would match clang's ordinary codegen. Right now I have
opted to remove it entirely because it is a deadlock waiting to happen.
Commit: 47ae3eaa29f2195429f2ca19cc171a9ebd83c242
https://github.com/llvm/llvm-project/commit/47ae3eaa29f2195429f2ca19cc171a9ebd83c242
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M flang/docs/OpenMPSupport.md
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
A mlir/test/Target/LLVMIR/openmp-dist_schedule.mlir
A mlir/test/Target/LLVMIR/openmp-dist_schedule_with_wsloop.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Add MLIR Lowering Support for dist_schedule (#152736)
`dist_schedule` was previously supported in Flang/Clang but was not
implemented in MLIR, instead a user would get a "not yet implemented"
error. This patch adds support for the `dist_schedule` clause to be
lowered to LLVM IR when used in an `omp.distribute` or `omp.wsloop`
section.
There has needed to be some rework required to ensure that MLIR/LLVM
emits the correct Schedule Type for the clause, as it uses a different
schedule type to other OpenMP directives/clauses in the runtime library.
This patch also ensures that when using dist_schedule or a chunked
schedule clause, the correct llvm loop parallel accesses details are
added.
Commit: e3044cd552ca0300dbb4c1051dccd038382bd4af
https://github.com/llvm/llvm-project/commit/e3044cd552ca0300dbb4c1051dccd038382bd4af
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/TargetParser/X86TargetParser.h
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86] Sync multiversion features with libgcc and refactor internal feature tables (#168750)
Compiler-rt internal feature table is synced with the one in libgcc
(common/config/i386/i386-cpuinfo.h).
LLVM internal feature table is refactored to include a field ABI_VALUE,
so we won't be relying on ordering to keep the values correct. The table
is also synced to the one in compiler-rt.
Commit: c0d81bf55f3dc3b38a1d403ee07e547016f46842
https://github.com/llvm/llvm-project/commit/c0d81bf55f3dc3b38a1d403ee07e547016f46842
Author: David Green <david.green at arm.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.h
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
Log Message:
-----------
[ARM] Remove Subtarget from ARMAsmPrinter (#168264)
Remove Subtarget uses from ARMAsmPrinter, making use of TargetMachine
where applicable and getting the Subtarget from the MF where not. Some
of the `if() llvm_unreachable` have been replaced by `asserts`.
Commit: adcc557ef176ee36a1e5df12b60789b6fa2fe73c
https://github.com/llvm/llvm-project/commit/adcc557ef176ee36a1e5df12b60789b6fa2fe73c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/test/CodeGen/X86/srem-vector-lkk.ll
M llvm/test/CodeGen/X86/urem-vector-lkk.ll
Log Message:
-----------
[X86] rem-vector-lkk.ll - improve CPU coverage to cover all x86-64 levels (#169805)
SSE2/SSE42/AVX1/AVX2 + x86-64-v4 (AVX512)
Commit: 920a091da216521cbef4203ad69c63aaa2ea2154
https://github.com/llvm/llvm-project/commit/920a091da216521cbef4203ad69c63aaa2ea2154
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M libcxx/test/libcxx-03/algorithms/half_positive.pass.cpp
M libcxx/test/libcxx-03/algorithms/robust_against_copying_comparators.pass.cpp
M libcxx/test/libcxx-03/algorithms/robust_against_cpp20_hostile_iterators.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/vector/asan.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/vector/asan_throw.pass.cpp
M libcxx/test/libcxx-03/depr/depr.default.allocator/allocator.members/construct.cxx20.pass.cpp
M libcxx/test/libcxx-03/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
M libcxx/test/libcxx-03/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx-03/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx-03/iterators/bounded_iter/pointer_traits.pass.cpp
M libcxx/test/libcxx-03/iterators/bounded_iter/types.compile.pass.cpp
M libcxx/test/libcxx-03/iterators/contiguous_iterators.conv.compile.pass.cpp
M libcxx/test/libcxx-03/iterators/contiguous_iterators.pass.cpp
M libcxx/test/libcxx-03/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/get_container.pass.cpp
M libcxx/test/libcxx-03/iterators/unwrap_iter.pass.cpp
M libcxx/test/libcxx-03/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/libcxx-03/libcpp_alignof.pass.cpp
M libcxx/test/libcxx-03/memory/allocation_guard.pass.cpp
M libcxx/test/libcxx-03/memory/swap_allocator.pass.cpp
M libcxx/test/libcxx-03/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx-03/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/libcxx-03/strings/basic.string/string.cons/copy_shrunk_long.pass.cpp
M libcxx/test/libcxx-03/strings/c.strings/constexpr_memmove.pass.cpp
M libcxx/test/libcxx-03/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/libcxx-03/utilities/function.objects/func.require/bullet_1_2_3.pass.cpp
M libcxx/test/libcxx-03/utilities/function.objects/func.require/bullet_4_5_6.pass.cpp
M libcxx/test/libcxx-03/utilities/function.objects/func.require/bullet_7.pass.cpp
M libcxx/test/libcxx-03/utilities/function.objects/func.require/invoke.pass.cpp
M libcxx/test/libcxx-03/utilities/function.objects/func.require/invoke_helpers.h
M libcxx/test/libcxx-03/utilities/is_pointer_in_range.pass.cpp
M libcxx/test/libcxx-03/utilities/is_valid_range.pass.cpp
M libcxx/test/libcxx-03/utilities/memory/pointer.conversion/to_address.pass.cpp
M libcxx/test/libcxx-03/utilities/memory/pointer.conversion/to_address_std_iterators.pass.cpp
M libcxx/test/libcxx-03/utilities/meta/is_referenceable.compile.pass.cpp
M libcxx/test/libcxx-03/utilities/no_destroy.pass.cpp
M libcxx/test/libcxx-03/utilities/utility/pairs/pairs.pair/abi.non_trivial_copy_move.pass.cpp
M libcxx/test/libcxx-03/utilities/utility/pairs/pairs.pair/abi.trivial_copy_move.pass.cpp
M libcxx/test/libcxx-03/utilities/utility/pairs/pairs.pair/abi.trivially_copyable.compile.pass.cpp
Log Message:
-----------
[libc++][C++03] Remove code in the C++03-specific tests that is guarded on the language version (#169354)
This is dead code, since `test/libcxx-03` is only ever executed with
`-std=c++03`.
Commit: 634f6e9ff357050ab28de150f35bf293cd31b332
https://github.com/llvm/llvm-project/commit/634f6e9ff357050ab28de150f35bf293cd31b332
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M libcxx/include/__algorithm/copy_n.h
M libcxx/include/__algorithm/iterator_operations.h
M libcxx/include/__algorithm/ranges_copy_n.h
M libcxx/include/__vector/vector.h
Log Message:
-----------
[libc++] Merge the implementations of ranges::copy_n and std::copy_n and fix vector::insert to assign (#157444)
This reduces the amount of code we have to maintain a bit.
This also simplifies `vector` by using the internal API instead of
`#if`s to switch based on language dialect.
Commit: f8e77168c89a142b6e2bdb9ea8322c42c0808fae
https://github.com/llvm/llvm-project/commit/f8e77168c89a142b6e2bdb9ea8322c42c0808fae
Author: NagaChaitanya Vellanki <pnagato at protonmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512vlintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/mmintrin.h
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
Log Message:
-----------
[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - Allow PSLL/PSRA/PSRL var intrinsics to be used in constexpr (#169276)
Resolves #169176
Commit: b64150963733d04e524f501cdd736963a7a3ba6d
https://github.com/llvm/llvm-project/commit/b64150963733d04e524f501cdd736963a7a3ba6d
Author: Julian Nagele <j.nagele at apple.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/test/Transforms/LoopUnroll/partial-unroll-reductions.ll
M llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions.ll
Log Message:
-----------
[LoopUnroll] Introduce parallel accumulators when unrolling FP reductions. (#166630)
This is building on top of
https://github.com/llvm/llvm-project/pull/149470, also introducing
parallel accumulator PHIs when the reduction is for floating points,
provided we have the reassoc flag. See also
https://github.com/llvm/llvm-project/pull/166353, which aims to
introduce parallel accumulators for reductions with vector instructions.
Commit: 8871e9e2e2c0941b04b22f719906a588fe523be2
https://github.com/llvm/llvm-project/commit/8871e9e2e2c0941b04b22f719906a588fe523be2
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
Log Message:
-----------
[clang][Driver] Handle ROCm installation layout of lib/llvm/bin/clang (#138928)
Committing on behalf of @stellaraccident
Commit: 7f1423e58ac894e7225625f34d90806ce5f052b3
https://github.com/llvm/llvm-project/commit/7f1423e58ac894e7225625f34d90806ce5f052b3
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/include/llvm/Analysis/Delinearization.h
M llvm/lib/Analysis/Delinearization.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/Delinearization/a.ll
M llvm/test/Analysis/Delinearization/constant_functions_multi_dim.ll
M llvm/test/Analysis/Delinearization/divide_by_one.ll
M llvm/test/Analysis/Delinearization/fixed_size_array.ll
M llvm/test/Analysis/Delinearization/himeno_1.ll
M llvm/test/Analysis/Delinearization/himeno_2.ll
M llvm/test/Analysis/Delinearization/iv_times_constant_in_subscript.ll
M llvm/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_3d.ll
M llvm/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_nts_3d.ll
M llvm/test/Analysis/Delinearization/multidim_ivs_and_parameteric_offsets_3d.ll
M llvm/test/Analysis/Delinearization/multidim_only_ivs_2d.ll
M llvm/test/Analysis/Delinearization/multidim_only_ivs_3d.ll
M llvm/test/Analysis/Delinearization/multidim_only_ivs_3d_cast.ll
M llvm/test/Analysis/Delinearization/multidim_two_accesses_different_delinearization.ll
M llvm/test/Analysis/Delinearization/parameter_addrec_product.ll
M llvm/test/Analysis/Delinearization/terms_with_identity_factor.ll
Log Message:
-----------
[DA][Delinearization] Move validation logic into Delinearization (#169047)
This patch moves the validation logic of delinearization results from DA
to Delinearization. Also call it in `printDelinearization` to test its
behavior. The motivation is as follows:
- Almost the same code exists in `tryDelinearizeFixedSize` and
`tryDelinearizeParametricSize`. Consolidating it in Delinearization
avoids code duplication.
- Currently this validation logic is not well tested. Moving it to
Delinearization allows us to write regression tests easily.
This patch changes the test outputs and debug messages, but otherwise
NFCI.
Commit: 90e8889a6394e29843ba903eff45ca03f877a6dd
https://github.com/llvm/llvm-project/commit/90e8889a6394e29843ba903eff45ca03f877a6dd
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
Log Message:
-----------
[lldb] Fix CxxMethodName Parser on return type (#169652)
The simplified parser incorrectly assumes if there is a context, there
is no return type.
Fixed the case where functions have both a context and a return type.
For example,
`int foo::bar::func()`
`Type<int> foo::bar::func()`
Also fixed the case where there is no space between the context and
return.
`std::vector<int>foo::bar()`
Commit: e0c0075819f4fe30c1522a1972b683641e66507a
https://github.com/llvm/llvm-project/commit/e0c0075819f4fe30c1522a1972b683641e66507a
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_float_controls2/disabled-on-amd.ll
Log Message:
-----------
[SPIRV][AMD] Disable SPV_KHR_float_control2 for AMD flavored SPIRV (#169659)
AMD uses the translator to recover LLVM-IR from SPIRV.
Currently, the translator doesn't implement the
`SPV_KHR_float_controls2` extension (I'm working on it).
If this extension is used by the SPIRV module, we cannot translate it
back to LLVM-IR.
I'm working on the extension, but in the meantime, lets just disable it
when the target triple's vendor is `amd`.
Commit: 48e34d95987aec19585672b2363eda1a99338751
https://github.com/llvm/llvm-project/commit/48e34d95987aec19585672b2363eda1a99338751
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir:bazel] Fix build broken by #169670. (#169804)
This PR adds a dependency to the `BUILD` files overlay silently added by
#169670.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: 25d027b8ab3acd65b58fce278f4173b431326934
https://github.com/llvm/llvm-project/commit/25d027b8ab3acd65b58fce278f4173b431326934
Author: Ming Yan <ming.yan at terapines.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
M mlir/test/Dialect/SCF/uplift-while.mlir
Log Message:
-----------
[MLIR][SCF] Sink scf.if from scf.while before region into after region in scf-uplift-while-to-for (#165216)
When a `scf.if` directly precedes an `scf.condition` in the before
region of an `scf.while` and both share the same condition, move the if
into the after region of the loop. This helps simplify the control flow
to enable uplifting `scf.while` to `scf.for`.
Commit: 5d6d74359d69d3aada6a46c7cf51d84eb0848b70
https://github.com/llvm/llvm-project/commit/5d6d74359d69d3aada6a46c7cf51d84eb0848b70
Author: Gergely Bálint <gergely.balint at arm.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M bolt/lib/Passes/Inliner.cpp
A bolt/test/AArch64/inline-bti.s
Log Message:
-----------
[BOLT][BTI] Skip inlining BasicBlocks containing indirect tailcalls (#168403)
In the Inliner pass, tailcalls are converted to calls in the inlined
BasicBlock. If the tailcall is indirect, the `BR` is converted to `BLR`.
These instructions require different BTI landing pads at their targets.
As the targets of indirect tailcalls are unknown, inlining such blocks
is unsound for BTI: they should be skipped instead.
Commit: 39f5ff056bc459c7db4d01c348fe78925da8c558
https://github.com/llvm/llvm-project/commit/39f5ff056bc459c7db4d01c348fe78925da8c558
Author: Vitalii Shutov <vitalii.shutov at arm.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Tosa/Transforms/TosaArithConstantToConst.cpp
A mlir/test/Dialect/Tosa/tosa-arith-const-to-tosa-const.mlir
Log Message:
-----------
[mlir][tosa] Introduce arith.constant -> tosa.const normalization pass (#168370)
Add a standalone pass that rewrites tensor-valued `arith.constant` ops
into `tosa.const`, normalize the TOSA backend contract.
Signed-off-by: Vitalii Shutov <vitalii.shutov at arm.com>
Co-authored-by: Shubham <shubham at arm.com>
Commit: fb94261d88eb679ba227281ccae88165172a68cb
https://github.com/llvm/llvm-project/commit/fb94261d88eb679ba227281ccae88165172a68cb
Author: Shreeyash Pandey <shreeyash335 at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/include/sys/syscall.h.def
Log Message:
-----------
[libc][darwin] add syscall numbers from macos sdk (#166354)
This PR adds support to include syscall.h from MacOS sdk by explicitly including the path to the sdk via `xcrun`.
Commit: 58fa7e4ccd533e5547868a9211d4da16bc80ac20
https://github.com/llvm/llvm-project/commit/58fa7e4ccd533e5547868a9211d4da16bc80ac20
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/critical_codegen.cpp
M clang/test/OpenMP/critical_codegen_attr.cpp
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/masked_codegen.cpp
M clang/test/OpenMP/master_codegen.cpp
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/ordered_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/test/Transforms/OpenMP/parallel_region_merging.ll
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-barrier-cancel.mlir
M mlir/test/Target/LLVMIR/openmp-cancel.mlir
M mlir/test/Target/LLVMIR/openmp-cancellation-point.mlir
M mlir/test/Target/LLVMIR/openmp-outline-infinite-loop.mlir
M mlir/test/Target/LLVMIR/openmp-parallel-reduction-multiblock.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
Log Message:
-----------
Revert "[OMPIRBuilder] always leave PARALLEL via the same barrier" (#169829)
Reverts llvm/llvm-project#164586
Reverting due to buildbot failure:
https://lab.llvm.org/buildbot/#/builders/169/builds/17519
Commit: 620f1f1efb45bf918db494f6779ed1f46d2da456
https://github.com/llvm/llvm-project/commit/620f1f1efb45bf918db494f6779ed1f46d2da456
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fneg-combines-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/global-address.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
Log Message:
-----------
[AMDGPU] Remove odd syntax in some RUN lines. NFC. (#169831)
Commit: e3a28c060dc99cc41952d56445e1e4c26ddae685
https://github.com/llvm/llvm-project/commit/e3a28c060dc99cc41952d56445e1e4c26ddae685
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
Log Message:
-----------
[flang][cuda][NFC] Fix naming of CUFGetAssociatedStream (#169838)
Commit: a1ca69098d6c02c5d7f5a54f84a54636522b38be
https://github.com/llvm/llvm-project/commit/a1ca69098d6c02c5d7f5a54f84a54636522b38be
Author: Philip Ginsbach-Chen <philip.ginsbach at cantab.net>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/insert-extend.ll
M llvm/test/CodeGen/AArch64/insert-subvector.ll
M llvm/test/CodeGen/AArch64/neon-widen-shuffle.ll
M llvm/test/CodeGen/AArch64/reduce-shuffle.ll
Log Message:
-----------
[AArch64] recognise zip1/zip2 with flipped operands (#167235)
Currently, the following two snippets get treated very differently from
each other (https://godbolt.org/z/rYGj9TGz6):
```LLVM
define <8 x i8> @foo(<8 x i8> %x, <8 x i8> %y) local_unnamed_addr #0 {
entry:
%0 = shufflevector <8 x i8> %x, <8 x i8> %y, <8 x i32>
<i32 0, i32 8, i32 1, i32 9, i32 2, i32 10, i32 3, i32 11>
ret <8 x i8> %0
}
define <8 x i8> @bar(<8 x i8> %x, <8 x i8> %y) local_unnamed_addr #0 {
entry:
%0 = shufflevector <8 x i8> %x, <8 x i8> %y, <8 x i32>
<i32 8, i32 0, i32 9, i32 1, i32 10, i32 2, i32 11, i32 3>
ret <8 x i8> %0
}
```
```
foo: // @foo
zip1 v0.8b, v0.8b, v1.8b
ret
.LCPI1_0:
.byte 8 // 0x8
.byte 0 // 0x0
.byte 9 // 0x9
.byte 1 // 0x1
.byte 10 // 0xa
.byte 2 // 0x2
.byte 11 // 0xb
.byte 3 // 0x3
bar: // @bar
adrp x8, .LCPI1_0
mov v0.d[1], v1.d[0]
ldr d1, [x8, :lo12:.LCPI1_0]
tbl v0.8b, { v0.16b }, v1.8b
ret
```
The reason is that `isZIPMask` does not recognise the pattern when the
operands are flipped.
This PR fixes `isZIPMask` so that both `foo` and `bar` get compiled as
expected:
```
foo: // @foo
zip1 v0.8b, v0.8b, v1.8b
ret
bar: // @bar
zip1 v0.8b, v1.8b, v0.8b
ret
```
I intend to open a similar follow-up PR for `isTRNMask`, which seems to
have the same problem.
I noticed this while working on
https://github.com/llvm/llvm-project/issues/137447, though the change
does not on itself fix that issue.
Commit: 8397945f6d1406bc659f1ee10575f42a8c1846b6
https://github.com/llvm/llvm-project/commit/8397945f6d1406bc659f1ee10575f42a8c1846b6
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
Log Message:
-----------
[clang][CIR] Fix build after builtins removal. NFC
Commit: 75e4438b57eb7ac2e1cdd1bcba3368bddd81d0c4
https://github.com/llvm/llvm-project/commit/75e4438b57eb7ac2e1cdd1bcba3368bddd81d0c4
Author: Thurston Dang <thurston at google.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/lib/CodeGen/SanitizerHandler.h
M clang/test/DebugInfo/Generic/ubsan-trap-reason-type-mismatch.c
Log Message:
-----------
[ubsan] Change "Type mismatch in operation" trap reason to "Alignment, null, or object-size error" (#169752)
I originally proposed this rewording when trap reasons were introduced
in
https://github.com/llvm/llvm-project/pull/145967#discussion_r2196212344.
This was not adopted because there was a counter-proposal to split the
enum; however, that work appears to have stalled
(https://github.com/llvm/llvm-project/pull/151243). In the meantime,
there has been an additional datapoint that the current wording is
confusing to users. Thus, let's reword it now to prevent further
confusion.
Commit: db85babddd9e96e862ba09df6d25dfac1d15fb31
https://github.com/llvm/llvm-project/commit/db85babddd9e96e862ba09df6d25dfac1d15fb31
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
Log Message:
-----------
[VPlan] Use m_Intrinsic to match assumes/noalias_scope_decl (NFC).
Use pattern matching to check for intrinsics to slightly simplify code.
Commit: 03c86242929c1b05f417aa5ddd016b7664e22d4e
https://github.com/llvm/llvm-project/commit/03c86242929c1b05f417aa5ddd016b7664e22d4e
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang:ast] Avoid warning for unused var without assertions. (NFC) (#169822)
This PR avoids a compiler warning, which turns into an error with
`-Werror`, for a variable introduced in #169276 and only used in an
assertion (which is, thus, unused if compiled without assertions).
Signed-off-by: Ingo Müller <ingomueller at google.com>
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: fd19a20a1ac55775333c2630e53b9fdf7c8dc831
https://github.com/llvm/llvm-project/commit/fd19a20a1ac55775333c2630e53b9fdf7c8dc831
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
Log Message:
-----------
Revert "[ShrinkWrap] Modify shrink wrapping to accommodate functions terminated by no-return blocks" (#169852)
Reverts llvm/llvm-project#167548
As commented at
https://github.com/llvm/llvm-project/pull/167548#issuecomment-3587008602
this is causing miscompiles in two-stage RISC-V Clang/LLVM builds that
result in test failures on the builders.
Commit: 1b7ae0b673638062fc99a6605df6212b6d35eb06
https://github.com/llvm/llvm-project/commit/1b7ae0b673638062fc99a6605df6212b6d35eb06
Author: clf <53817093+clingfei at users.noreply.github.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/aarch64-isel-umin.ll
M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
Log Message:
-----------
[AArch64] Use umin for x != 0 when +cssc is enabled (#169159)
Closes https://github.com/llvm/llvm-project/issues/161584
Commit: ee45ba2ff49db3cc5d31f2600a3e7fad81d70cb1
https://github.com/llvm/llvm-project/commit/ee45ba2ff49db3cc5d31f2600a3e7fad81d70cb1
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
M llvm/test/CodeGen/AArch64/sve-indexed-arithmetic.ll
Log Message:
-----------
[AArch64] Use SVE for fixed-length bf16 operations with +sve-b16b16 (#169329)
This can avoid the promotion bf16 -> f32 -> bf16 round trip (or costly
expansions).
Commit: 965c3d760de35753d97d41c6b69582cecff8819d
https://github.com/llvm/llvm-project/commit/965c3d760de35753d97d41c6b69582cecff8819d
Author: Lukas Döllerer <contact at lukas-doellerer.de>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
A lld/test/wasm/wrap_import.s
M lld/wasm/Driver.cpp
M lld/wasm/SyntheticSections.cpp
Log Message:
-----------
[lld][WebAssembly] Fix SEGFAULT when importing wrapped symbol (#169656)
When wrapping a symbol `foo` via `-wrap=foo`, we create the symbol
`__wrap_foo` that replaces all mentions of `foo`. This feature was
implemented for wasm-ld in commit a5ca34e.
So far, no valid signature has been attached to the undefined symbol,
leading to a nullptr dereference in the logic for creating the import
section. This change adds the correct signature to the wrapped symbol,
enabling the generation of an import for it.
Commit: a1f30c24ea2cf7d3acdd0f6eed19f737ae26b0d2
https://github.com/llvm/llvm-project/commit/a1f30c24ea2cf7d3acdd0f6eed19f737ae26b0d2
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/test/CodeGen/DirectX/CBufferAccess/gep-ce-two-uses.ll
Log Message:
-----------
[NFC] [DirectX] Update DirectX codegen test `CBufferAccess/gep-ce-two-uses.ll` due to changes to ReplaceConstant (#169848)
Fixes an LLVM DirectX codegen test after it broke due to #169141
The CBuffer loads and GEPs are no longer duplicated when there are two
or more accesses within the same basic block.
This PR removes the duplicate check for CBuffer load and GEP from the
original test function `@f` and adds a new test function `@g` which
places duplicate CBuffer loads into separate basic blocks.
Commit: d39f5243f8df23392e1c493f7d607cd0074222b9
https://github.com/llvm/llvm-project/commit/d39f5243f8df23392e1c493f7d607cd0074222b9
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/PPCInstrFuture.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/test/MC/Disassembler/PowerPC/ppc-encoding-ISAFuture.txt
M llvm/test/MC/Disassembler/PowerPC/ppc64le-encoding-ISAFuture.txt
M llvm/test/MC/PowerPC/ppc-encoding-ISAFuture.s
M llvm/test/MC/PowerPC/ppc64-errors.s
Log Message:
-----------
[PowerPC] Implement paddis (#161572)
Commit: ad605bdad7bb36bc74b9fa5f8b3786081dac4ec6
https://github.com/llvm/llvm-project/commit/ad605bdad7bb36bc74b9fa5f8b3786081dac4ec6
Author: Alexey Moksyakov <moksyakov.alexey at huawei.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/runtime/instr.cpp
M bolt/runtime/sys_aarch64.h
M bolt/test/runtime/AArch64/instrumentation-ind-call.c
Log Message:
-----------
[bolt][aarch64] Change indirect call instrumentation snippet
Indirect call instrumentation snippet uses x16 register in exit
handler to go to destination target
__bolt_instr_ind_call_handler_func:
msr nzcv, x1
ldp x0, x1, [sp], llvm#16
ldr x16, [sp], llvm#16
ldp x0, x1, [sp], llvm#16
br x16 <-----
This patch adds the instrumentation snippet by calling instrumentation
runtime library through indirect call instruction and adding the wrapper
to store/load target value and the register for original indirect instruction.
Example:
mov x16, foo
infirectCall:
adrp x8, Label
add x8, x8, #:lo12:Label
blr x8
Before:
Instrumented indirect call:
stp x0, x1, [sp, #-16]!
mov x0, x8
movk x1, #0x0, lsl llvm#48
movk x1, #0x0, lsl llvm#32
movk x1, #0x0, lsl llvm#16
movk x1, #0x0
stp x0, x1, [sp, #-16]!
adrp x0, __bolt_instr_ind_call_handler_func
add x0, x0, #:lo12:__bolt_instr_ind_call_handler_func
blr x0
__bolt_instr_ind_call_handler: (exit snippet)
msr nzcv, x1
ldp x0, x1, [sp], llvm#16
ldr x16, [sp], llvm#16
ldp x0, x1, [sp], llvm#16
br x16 <- overwrites the original value in X16
__bolt_instr_ind_call_handler_func: (entry snippet)
stp x0, x1, [sp, #-16]!
mrs x1, nzcv
adrp x0, __bolt_instr_ind_call_handler
add x0, x0, x0, #:lo12:__bolt_instr_ind_call_handler
ldr x0, [x0]
cmp x0, #0x0
b.eq __bolt_instr_ind_call_handler
str x30, [sp, #-16]!
blr x0 <--- runtime lib store/load all regs
ldr x30, [sp], llvm#16
b __bolt_instr_ind_call_handler
_________________________________________________________________________
After:
mov x16, foo
infirectCall:
adrp x8, Label
add x8, x8, #:lo12:Label
blr x8
Instrumented indirect call:
stp x0, x1, [sp, #-16]!
mov x0, x8
movk x1, #0x0, lsl llvm#48
movk x1, #0x0, lsl llvm#32
movk x1, #0x0, lsl llvm#16
movk x1, #0x0
stp x0, x30, [sp, #-16]!
adrp x8, __bolt_instr_ind_call_handler_func
add x8, x8, #:lo12:__bolt_instr_ind_call_handler_func
blr x8 <--- call trampoline instr lib
ldp x0, x30, [sp], llvm#16
mov x8, x0 <---- restore original target
ldp x0, x1, [sp], llvm#16
blr x8 <--- original indirect call instruction
// don't touch regs besides x0, x1
__bolt_instr_ind_call_handler: (exit snippet)
ret <---- return to original function with indirect call
__bolt_instr_ind_call_handler_func: (entry snippet)
adrp x0, __bolt_instr_ind_call_handler
add x0, x0, #:lo12:__bolt_instr_ind_call_handler
ldr x0, [x0]
cmp x0, #0x0
b.eq __bolt_instr_ind_call_handler
str x30, [sp, #-16]!
blr x0 <--- runtime lib store/load all regs
ldr x30, [sp], llvm#16
b __bolt_instr_ind_call_handler
Commit: 2e655c23deec6076f0198fafbe5c2b1deb6d5b98
https://github.com/llvm/llvm-project/commit/2e655c23deec6076f0198fafbe5c2b1deb6d5b98
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/IR/try-call.cir
Log Message:
-----------
[CIR] Upstream TryCallOp (#165303)
Upstream TryCall Op as a prerequisite for Try Catch work
Issue https://github.com/llvm/llvm-project/issues/154992
Commit: 8f36135aea5dfbb5f090ca9ad055094c9913f735
https://github.com/llvm/llvm-project/commit/8f36135aea5dfbb5f090ca9ad055094c9913f735
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
Log Message:
-----------
[VPlan] Add m_Intrinsic matcher that takes a variable intrinsic ID (NFC)
Add a variant of m_Intrinsic that matches a variable runtime ID.
Commit: 07d14cb6d3e0319b4f95bfaca1502c4a8dc02910
https://github.com/llvm/llvm-project/commit/07d14cb6d3e0319b4f95bfaca1502c4a8dc02910
Author: owenca <owenpiano at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
Log Message:
-----------
[clang-format][NFC] Remove the parameter of parseRequires...() (#169773)
Commit: 8459508227dd30ce32f870fbc9109fe95d51f4db
https://github.com/llvm/llvm-project/commit/8459508227dd30ce32f870fbc9109fe95d51f4db
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
Log Message:
-----------
[VPlan] Handle scalar VPWidenPointerInd in convertToConcreteRecipes. (#169338)
In some case, VPWidenPointerInductions become only used by scalars after
legalizeAndOptimizationInducftions was already run, for example due to
some VPlan optimizations.
Move the code to scalarize VPWidenPointerInductions to a helper and use
it if needed.
This fixes a crash after #148274 in the added test case.
Fixes https://github.com/llvm/llvm-project/issues/169780
Commit: 06c8ee61ab80305be88380e6aa2f1b2fe32f859d
https://github.com/llvm/llvm-project/commit/06c8ee61ab80305be88380e6aa2f1b2fe32f859d
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M llvm/test/CodeGen/DirectX/CBufferAccess/gep-ce-two-uses.ll
Log Message:
-----------
[NFC] [DirectX] Make DirectX codegen test `CBufferAccess/gep-ce-two-uses.ll` more strict (#169855)
Continuation of PR #169848 to address PR comments.
This PR makes the test more strict by adding CHECKs to ensure the loads
are indeed using the same or different GEPs.
Commit: 583fba35247d8ffc87e0df9f9eb49ab02ea3bb8e
https://github.com/llvm/llvm-project/commit/583fba35247d8ffc87e0df9f9eb49ab02ea3bb8e
Author: actink <actink at 163.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-select.ll
Log Message:
-----------
[InstCombine] fold icmp of select with invertible shl (#147182)
Proof: https://alive2.llvm.org/ce/z/a5fzlJ
Closes https://github.com/llvm/llvm-project/issues/146642
---------
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: aa2a7f4eb1b130e9e41d9a87bffcaa47876a97fc
https://github.com/llvm/llvm-project/commit/aa2a7f4eb1b130e9e41d9a87bffcaa47876a97fc
Author: Mr. Walls <reactive-firewall at users.noreply.github.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M libcxx/include/__locale_dir/support/linux.h
Log Message:
-----------
[libc++] Fix the locale base API on Linux with musl (#167980)
This pull request addresses an issue encountered when building
**libcxx** with certain configurations (`-D_LIBCPP_HAS_MUSL_LIBC` &
`-D__linux__`) that lack the `_GNU_SOURCE` definition. Specifically,
this issue arises if the system **musl libc** is built with
`_BSD_SOURCE` instead of `_GNU_SOURCE`. The resultant configuration
leads to problems with the "Strtonum functions" in the file
[libcxx/include/__locale_dir/support/linux.h](https://github.com/llvm/llvm-project/tree/master/libcxx/include/__locale_dir/support/linux.h),
affecting the following functions:
- `__strtof`
- `__strtod`
- `__strtold`
**Error messages displayed include**:
```console
error: no member named 'strtof_l' in the global namespace
```
```console
error: no member named 'strtod_l' in the global namespace
```
```console
error: no member named 'strtold_l' in the global namespace
```
For more insight, relevant code can be accessed
[here](https://github.com/llvm/llvm-project/blob/79cd1b7a25cdbf42c7234999ae9bc51db30af1f0/libcxx/include/__locale_dir/support/linux.h#L85-L95).
Commit: 6f7ea34933649d16845b1635d1e97f9ccb35ffea
https://github.com/llvm/llvm-project/commit/6f7ea34933649d16845b1635d1e97f9ccb35ffea
Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/docs/GettingInvolved.rst
M llvm/docs/QualGroup.rst
Log Message:
-----------
[QualGroup][docs] Update meeting schedule and link for slides (#169458)
Summary
======
This PR update the schedule for online sync-up and update link for past
meeting slides.
Changes
======
* Remove the wednesday schedule, since we did not have the meeting for
Americas-friendly timezones.
* Use a single folder for past meeting slides instead of individual
links.
Related Links
=========
* [Meeting materials for Qualification Working
Group](https://llvm.org/docs/QualGroup.html#meeting-materials)
* [Online
Sync-Ups](https://llvm.org/docs/GettingInvolved.html#online-sync-ups)
---------
Signed-off-by: ZakyHermawan <zaky.hermawan9615 at gmail.com>
Commit: b14291238a987675b1fb39938efc938afcab8446
https://github.com/llvm/llvm-project/commit/b14291238a987675b1fb39938efc938afcab8446
Author: Matthias Springer <me at m-sp.org>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
Log Message:
-----------
[mlir][arith] Fix `arith.cmpf` lowering with unsupported FP types (#166684)
The `arith.cmpf` lowering pattern used to generate invalid IR when an
unsupported floating-point type was used.
Commit: 0c6d7a40187e5e6cbdff1cf5dbdb6fe91054bef4
https://github.com/llvm/llvm-project/commit/0c6d7a40187e5e6cbdff1cf5dbdb6fe91054bef4
Author: Owen Anderson <resistor at mac.com>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
A lld/ELF/Arch/RISCVInternalRelocations.h
M lld/ELF/Target.cpp
M lld/test/ELF/riscv-vendor-relocations.s
Log Message:
-----------
[LLD] Add support for statically resolved vendor-specific RISCV relocations. (#169273)
This is achieved by using some of the bits of RelType to tag vendor namespaces. This change also adds a relocation iterator for RISCV that folds vendor namespaces into the RelType of the following relocation.
This patch is extracted from the implementation of RISCV vendor-specific relocations in the CHERIoT LLVM downstream: https://github.com/CHERIoT-Platform/llvm-project/commit/3d6d6f7d9480b590731cbcf4b4817e1fa3049854
Commit: f40c69471331e18176c01d08161f2e51ab7367cb
https://github.com/llvm/llvm-project/commit/f40c69471331e18176c01d08161f2e51ab7367cb
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
Log Message:
-----------
[TTI] Use MemIntrinsicCostAttributes for getExpandCompressMemoryOpCost (#168677)
- Following #168029. This is a step toward a unified interface for
masked/gather-scatter/strided/expand-compress cost modeling.
- Replace the ad-hoc parameter list with a single attributes object.
API change:
```
- InstructionCost getExpandCompressMemoryOpCost(Opcode, DataTy,
- VariableMask, Alignment,
- CostKind, Inst);
+ InstructionCost getExpandCompressMemoryOpCost(MemIntrinsicCostAttributes,
+ CostKind);
```
Notes:
- NFCI intended: callers populate MemIntrinsicCostAttributes with same
information as before.
Commit: b9bdec302124bc1c40c0f0c02d096b541b013518
https://github.com/llvm/llvm-project/commit/b9bdec302124bc1c40c0f0c02d096b541b013518
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[TTI][Vectorize] Migrate masked/gather-scatter/strided/expand-compress costing (NFCI) (#165532)
In #160470, there is a discussion about the possibility to explored a
general approach for handling memory intrinsics.
API changes:
- Remove getMaskedMemoryOpCost, getGatherScatterOpCost,
getExpandCompressMemoryOpCost, getStridedMemoryOpCost from
Analysis/TargetTransformInfo.
- Add getMemIntrinsicInstrCost.
In BasicTTIImpl, map intrinsic IDs to existing target implementation
until the legacy TTI hooks are retired.
- masked_load/store → getMaskedMemoryOpCost
- masked_/vp_gather/scatter → getGatherScatterOpCost
- masked_expandload/compressstore → getExpandCompressMemoryOpCost
- experimental_vp_strided_{load,store} → getStridedMemoryOpCost
TODO: add support for vp_load_ff.
No functional change intended; costs continue to route to the same
target-specific hooks.
Commit: f342d793e20f52625d400872f6f299b36d9c6826
https://github.com/llvm/llvm-project/commit/f342d793e20f52625d400872f6f299b36d9c6826
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrCDE.td
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/CMakeLists.txt
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/utils/gn/secondary/llvm/lib/Target/ARM/Disassembler/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[ARM] Auto-decode pred operands of Thumb instructions (#156540)
Most predicable Thumb instructions do not encode the predicate operand,
but rather take it from an enclosing IT block.
Add `bits<0> p` to the encoding of these instructions to make the
predicate operand decodable by the generated code.
The previous approach was to analyze an instruction after it has been
decoded and add missing predicate operand if necessary. The
post-decoding pass is still required to check predicate applicability
and advance IT block state, but it no longer modifies a decoded
instruction.
Some of the custom decoder methods have become redundant and can be
removed in the future, delegating the decoding task to TableGen-erated
decoder.
Pull Request: https://github.com/llvm/llvm-project/pull/156540
Commit: 1100917aed67c063c9d011cb16f67be5df25c732
https://github.com/llvm/llvm-project/commit/1100917aed67c063c9d011cb16f67be5df25c732
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_print.txt
M llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_wo=0.5_print.txt
Log Message:
-----------
[AMX][NFC] Organize tilerow (#168193)
Organizing tilerow for an extension.
---------
Co-authored-by: mattarde <mattarde at intel.com>
Commit: 1e7efca659cdf37a95e27e35fa002d340ea68b32
https://github.com/llvm/llvm-project/commit/1e7efca659cdf37a95e27e35fa002d340ea68b32
Author: Carson Radtke <nosrac925 at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaTemplate/attributes.cpp
Log Message:
-----------
[clang] fix crash when template with constructor attribute is instantiated without a priority (#169282)
fixes: https://github.com/llvm/llvm-project/issues/169072
The current implementation expects the priority argument to be provided
to `[[gnu::constructor(<priority>)]]`, but the argument is really
optional. This was causing a segfault when instantiating the
function-template because we were trying to fold an `Expr*` that was a
nullptr.
This change skips the evaluation of the priority argument when it is
missing; this will instantiate a function declaration with the default
priority (65535).
Commit: bd0769ef869a1341e8122978e1eafc78c5f3d312
https://github.com/llvm/llvm-project/commit/bd0769ef869a1341e8122978e1eafc78c5f3d312
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/rotl-rotr.ll
M llvm/test/CodeGen/LoongArch/lsx/rotl-rotr.ll
Log Message:
-----------
[LoongArch] Make rotl/rotr custom for lsx/lasx (#161154)
Commit: 1cea4a0841dacefa49241538a55fbf4f34462633
https://github.com/llvm/llvm-project/commit/1cea4a0841dacefa49241538a55fbf4f34462633
Author: Prasoon Mishra <Prasoon.Mishra at amd.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
[AMDGPU][NPM] Fix CFG invalidation detection in insertSimulatedTrap (#169290)
When SIMULATED_TRAP is at the end of a block with no successors,
insertSimulatedTrap incorrectly returns the original MBB despite adding
HaltLoopBB to the CFG.
EmitInstrWithCustomInserter detects CFG changes by comparing the
returned MBB with the original. When they match, it assumes no
modification occurred and skips MachineLoopInfo invalidation. This
causes stale loop information in subsequent passes, particularly when
using the NPM which relies on accurate invalidation signals.
Fix: Return HaltLoopBB to properly signal the CFG modification.
Commit: cc9d3f29eca70394eb9e8f1d8e7fb08bce60f61f
https://github.com/llvm/llvm-project/commit/cc9d3f29eca70394eb9e8f1d8e7fb08bce60f61f
Author: Ryan Cowan <ryan.cowan at arm.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrGISel.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
M llvm/test/CodeGen/AArch64/fp16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
Log Message:
-----------
[AArch64][GlobalISel] Improve lowering of vector fp16 fptrunc (#163398)
This commit improves the lowering of vectors of fp16 when truncating and
(previously) extending. Truncating has to be handled in a specific way
to avoid double rounding.
Commit: e5d229dc61bbcff3d647374f7583819026eeb78b
https://github.com/llvm/llvm-project/commit/e5d229dc61bbcff3d647374f7583819026eeb78b
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M flang/docs/OpenMPSupport.md
Log Message:
-----------
[Flang][OpenMP] Update OpenMPSupport docs (#169833)
After the merging of #152736, there are a number of OpenMP Features that
are now fully supported. Missing from the initial patch was changing the
status of this from `P` to `Y` to indicate they are now fully supported.
The notes around not supporting `dist_schedule` were removed in the
initial patch.
Commit: b27af83120b32a4b8312ddf1e6317271122769e4
https://github.com/llvm/llvm-project/commit/b27af83120b32a4b8312ddf1e6317271122769e4
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Log Message:
-----------
[IndVarSimplify] Refactor `handleFloatingPointIV`, modernize pass (NFC)
`handleFloatingPointIV` is now abstracted out into different routines,
particularly:
- `maybeFloatingPointRecurrence` which establishes whether we handle a
floating-point iv recurrence;
- `tryConvertToIntegerIV` which attempts to convert the fp start, step
and exit values into integer ones;
- `canonicalizeToIntegerIV` which rewrites the recurrence.
Minor opportunity to modernize the code where possible.
Commit: 26b82e5b8248335ae7b9db76a7da9dd0587d5baa
https://github.com/llvm/llvm-project/commit/26b82e5b8248335ae7b9db76a7da9dd0587d5baa
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M libcxx/include/__locale_dir/support/linux.h
Log Message:
-----------
Revert "[libc++] Fix the locale base API on Linux with musl" (#169884)
The patch has been committed without approval from the libc++ review
group and is implementing the locale base API in a way it wasn't
intended to be implemented. The commit also contains a no-reply github
E-Mail, which is in conflict with the LLVM developer policy.
Reverts llvm/llvm-project#167980
Commit: 9bffb10e8b77b00033f2e997731193f81676cd60
https://github.com/llvm/llvm-project/commit/9bffb10e8b77b00033f2e997731193f81676cd60
Author: Gergely Bálint <gergely.balint at arm.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M bolt/lib/Passes/Inliner.cpp
R bolt/test/AArch64/inline-bti.s
Log Message:
-----------
Revert "[BOLT][BTI] Skip inlining BasicBlocks containing indirect tailcalls" (#169881)
Reverts llvm/llvm-project#168403
The attached lit test is failing in some build configurations.
Commit: 3ebe99f4c211322d7e7db5e0547cb0940ed54cd8
https://github.com/llvm/llvm-project/commit/3ebe99f4c211322d7e7db5e0547cb0940ed54cd8
Author: lbonn <github at lbonnans.net>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M libcxx/include/__algorithm/find.h
M libcxx/test/benchmarks/algorithms/nonmodifying/find.bench.cpp
Log Message:
-----------
[libcxx] Unwrap iterators in __find_segment (#161274)
The segmented iterator optimized implementation of find now unwraps
iterators when processing each segments.
As a result, it is able to take better advantage to some find
specializations: calling memchr/wmemchr for vector<vector<{char,int}>>
```
Benchmark Baseline Candidate Difference % Difference
-------------------------------------------------------------- ---------- ----------- ------------ --------------
rng::find(join_view(deque<deque<int>>))_(process_all)/1024 71.13 61.19 -9.94 -13.97
rng::find(join_view(deque<deque<int>>))_(process_all)/32768 2359.19 2237.02 -122.17 -5.18
rng::find(join_view(deque<deque<int>>))_(process_all)/50 16.88 17.59 0.71 4.20
rng::find(join_view(deque<deque<int>>))_(process_all)/8 15.59 16.10 0.51 3.27
rng::find(join_view(deque<deque<int>>))_(process_all)/8192 647.01 532.75 -114.26 -17.66
rng::find(join_view(list<vector<int>>))_(process_all)/1024 689.76 680.74 -9.02 -1.31
rng::find(join_view(list<vector<int>>))_(process_all)/32768 22284.95 21500.26 -784.69 -3.52
rng::find(join_view(list<vector<int>>))_(process_all)/50 32.77 32.12 -0.65 -1.98
rng::find(join_view(list<vector<int>>))_(process_all)/8 6.11 5.92 -0.19 -3.11
rng::find(join_view(list<vector<int>>))_(process_all)/8192 5527.88 5373.43 -154.45 -2.79
rng::find(join_view(vector<list<int>>))_(process_all)/1024 1305.59 1264.04 -41.55 -3.18
rng::find(join_view(vector<list<int>>))_(process_all)/32768 42840.88 43322.64 481.76 1.12
rng::find(join_view(vector<list<int>>))_(process_all)/50 57.52 62.35 4.82 8.38
rng::find(join_view(vector<list<int>>))_(process_all)/8 6.06 5.98 -0.07 -1.18
rng::find(join_view(vector<list<int>>))_(process_all)/8192 20700.53 21431.66 731.12 3.53
rng::find(join_view(vector<vector<char>>))_(process_all)/1024 310.64 18.34 -292.30 -94.09
rng::find(join_view(vector<vector<char>>))_(process_all)/32768 9424.96 531.99 -8892.97 -94.36
rng::find(join_view(vector<vector<char>>))_(process_all)/50 18.58 3.25 -15.32 -82.49
rng::find(join_view(vector<vector<char>>))_(process_all)/8 4.81 2.98 -1.84 -38.13
rng::find(join_view(vector<vector<char>>))_(process_all)/8192 2437.50 126.88 -2310.62 -94.79
rng::find(join_view(vector<vector<int>>))_(process_all)/1024 297.10 41.70 -255.39 -85.96
rng::find(join_view(vector<vector<int>>))_(process_all)/32768 9662.42 1822.05 -7840.36 -81.14
rng::find(join_view(vector<vector<int>>))_(process_all)/50 22.29 5.10 -17.19 -77.11
rng::find(join_view(vector<vector<int>>))_(process_all)/8 3.73 3.13 -0.60 -16.05
rng::find(join_view(vector<vector<int>>))_(process_all)/8192 2399.68 356.10 -2043.58 -85.16
```
Commit: 8bfca268ba57dcfc977a7f1d4cc6f563bb9be67a
https://github.com/llvm/llvm-project/commit/8bfca268ba57dcfc977a7f1d4cc6f563bb9be67a
Author: Miguel Saldivar <saldivarcher at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
A flang/test/Lower/Intrinsics/flush.f90
Log Message:
-----------
[flang] Support FLUSH as an intrinsic subroutine (#165942)
Previously `FLUSH` was only recognized in statement form (e.g.
`flush(unit)`); a
subroutine invocation `call flush(unit)` was treated as a generic user
call with
no special semantics. This change teaches lowering/semantics to handle
`CALL FLUSH` equivalently.
Fixes #119418
Commit: a7c85052ebe7813da50cd461fdccccacb296017a
https://github.com/llvm/llvm-project/commit/a7c85052ebe7813da50cd461fdccccacb296017a
Author: Kirill Vedernikov <kvedernikov at nvidia.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
A mlir/test/Dialect/LLVMIR/nvvm-mma-sp-kind.mlir
A mlir/test/Dialect/LLVMIR/nvvm-mma-sp-ordered.mlir
A mlir/test/Dialect/LLVMIR/nvvm-mma-sp.mlir
Log Message:
-----------
[MLIR] Supported sparse MMA intrinsics in the MLIR->NVVM IR->NVPTX flow (#168686)
This change adds sparse MMA intrinsics to the MLIR -> NVVM IR -> NVPTX
flow. NVVM and NVPTX implementation is based on PTX ISA 9.0.
Commit: f54c6b4306a3f92c08aeb8a9fa222b88985cb9ef
https://github.com/llvm/llvm-project/commit/f54c6b4306a3f92c08aeb8a9fa222b88985cb9ef
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Log Message:
-----------
[IndVarSimplify] Bail out if not a branch in `maybeFloatingPointRecurrence`
clang-riscv-gauntlet buildbot was previously failing. Conservatively
bail out if not handling a branch when looking for floating-point
recurrences, we may wish to support select and branch in the future.
Fixes: https://lab.llvm.org/buildbot/#/builders/210/builds/5908.
Commit: 135ddf1e8efef7c8ac9b01caa660210e3ca12327
https://github.com/llvm/llvm-project/commit/135ddf1e8efef7c8ac9b01caa660210e3ca12327
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
A llvm/test/CodeGen/AArch64/sve-masked-compressstore-sve2p2.ll
A llvm/test/CodeGen/AArch64/sve-masked-compressstore.ll
Log Message:
-----------
[AArch64][SVE] Add basic support for `@llvm.masked.compressstore` (#168350)
This patch adds SVE support for the `masked.compressstore` intrinsic via
the existing `VECTOR_COMPRESS` lowering and compressing the store mask
via `VECREDUCE_ADD`.
Currently, only `nxv4[i32|f32]` and `nxv2[i64|f64]` are directly
supported, with other types promoted to these, where possible.
This is done in preparation for LV support of this intrinsic, which is
currently being worked on in #140723.
Commit: b76089c7f3d6593d2e2c83db7dbf4965b656bd8c
https://github.com/llvm/llvm-project/commit/b76089c7f3d6593d2e2c83db7dbf4965b656bd8c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
A llvm/test/Transforms/LoopVectorize/AArch64/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/cse-casts.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll
M llvm/test/Transforms/LoopVectorize/pr43166-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
Log Message:
-----------
[VPlan] Skip uses-scalars restriction if one of ops needs broadcast. (#168246)
Update the logic in narrowToSingleScalar to allow narrowing even if not
all users use scalars, if at least one of the operands already needs
broadcasting.
In that case, there won't be any additional broadcasts introduced. This
should allow removing the special handling for stores, which can
introduce additional broadcasts currently.
Fixes https://github.com/llvm/llvm-project/issues/169668.
PR: https://github.com/llvm/llvm-project/pull/168246
Commit: 310211cce5155af2e41da48c461f80cb4ab9000b
https://github.com/llvm/llvm-project/commit/310211cce5155af2e41da48c461f80cb4ab9000b
Author: Matthias Springer <me at m-sp.org>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M mlir/include/mlir/Dialect/UB/IR/UBOps.td
M mlir/lib/Conversion/UBToLLVM/UBToLLVM.cpp
M mlir/lib/Conversion/UBToSPIRV/UBToSPIRV.cpp
M mlir/test/Conversion/UBToLLVM/ub-to-llvm.mlir
M mlir/test/Conversion/UBToSPIRV/ub-to-spirv.mlir
M mlir/test/Dialect/UB/ops.mlir
Log Message:
-----------
[mlir][UB] Add `ub.unreachable` operation (#169872)
Add `ub.unreachable` operation and lowerings to LLVM/SPIRV.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 6c0d5aad7fa8756221a415fc3bf2bb6c7bf974f6
https://github.com/llvm/llvm-project/commit/6c0d5aad7fa8756221a415fc3bf2bb6c7bf974f6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/CodeGen/X86/avx512vlbw-builtins.c
Log Message:
-----------
[X86] ExprConstant - correctly detect __builtin_ia32_ucmpw* builtins as unsigned comparisons (#169891)
Fixes typo from #164026
Commit: e81d9dfba11710f6197301be76336b3e380d9e33
https://github.com/llvm/llvm-project/commit/e81d9dfba11710f6197301be76336b3e380d9e33
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/switch-missing-default-case.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-capturing-lambda-coroutines.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-const-or-ref-data-members.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-do-while.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-reference-coroutine-parameters.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/init-variables.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/interfaces-global-init.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/missing-std-forward.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-suspend-with-lock.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/owning-memory.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-array-to-pointer-decay.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-avoid-unchecked-container-access.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-pointer-arithmetic.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-const-cast.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-cstyle-cast.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-reinterpret-cast.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-static-cast-downcast.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-union-access.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-vararg.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-default-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-enum-class.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/virtual-class-destructor.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.rst
Log Message:
-----------
[clang-tidy][doc] Fix broken CppCoreGuidelines links (#169886)
They recently changed all their anchors to start with lowercase:
https://github.com/isocpp/CppCoreGuidelines/pull/2304
So now our links are broken :) This patch fixes them.
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: 4fd472c5c06ad4f708b288cd205c9b534438dc74
https://github.com/llvm/llvm-project/commit/4fd472c5c06ad4f708b288cd205c9b534438dc74
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signal-handler.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
Log Message:
-----------
[clang-tidy][NFC] Fix option highlighting and list style in documentation (#169874)
The related discussion can be found at:
https://github.com/llvm/llvm-project/pull/168324#discussion_r2569455701
Commit: 1ab64e4d5f4a09846c8ab31528a3719a953650f4
https://github.com/llvm/llvm-project/commit/1ab64e4d5f4a09846c8ab31528a3719a953650f4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M libcxx/test/benchmarks/containers/string.bench.cpp
Log Message:
-----------
[libc++][NFC] Simplify string.bench.cpp a bit (#169791)
This removes some dead code and simplifies an expression.
Commit: 7415a7fc11fd7d4865e2f0e08b378c561aae7a4f
https://github.com/llvm/llvm-project/commit/7415a7fc11fd7d4865e2f0e08b378c561aae7a4f
Author: A. Jiang <de34 at live.cn>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M libcxx/include/__functional/weak_result_type.h
Log Message:
-----------
[libc++][NFC] Simplify SFINAE detections in `weak_result_type.h` (#169870)
For `__has_result_type`, it can be replaced with a variable template
`__has_result_type_v`. Note that the pre-existing extraneous `*` used in
detection is buggy, but it's a functional change to fix it.
`false_type` and `true_type` are no longer directly used, so direct
inclusion of `<__type_traits/integral_constant.h>` is removed.
For `__derives_from_{unary,binary}_function`, it's unnecessary to invent
a `__two` type for each specialization. So `void` is used instead. Also,
`nullptr` is now used instead of `0`.
Commit: 2f56977aea4b76a4d533ba7e4827e13878c4f936
https://github.com/llvm/llvm-project/commit/2f56977aea4b76a4d533ba7e4827e13878c4f936
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/test/Transforms/IndVarSimplify/floating-point-iv.ll
Log Message:
-----------
[IndVarSimplify] Add regression test for recently-added refactor (NFC)
Add a test case for commit f54c6b4306a3f92c08aeb8a9fa222b88985cb9ef, which was previously failing after
refactor in b27af83120b32a4b8312ddf1e6317271122769e4.
Commit: 53ece548f82bbdb72d7ae2a7069a61e9983f1fc0
https://github.com/llvm/llvm-project/commit/53ece548f82bbdb72d7ae2a7069a61e9983f1fc0
Author: Sebastian Pop <spop at nvidia.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
Log Message:
-----------
[DA] Simplify runtime predicate collection (#157523)
Removes DependenceInfo::getRuntimeAssumptions(), DependenceInfo::Assumptions,
and the print of "Runtime Assumptions:". The runtime assumptions are still
properly attached to each Dependence result and printed as part of the
per-dependence output.
Commit: 0085ecaa5e16edbc6426b91f97a85de8e32f962c
https://github.com/llvm/llvm-project/commit/0085ecaa5e16edbc6426b91f97a85de8e32f962c
Author: David Green <david.green at arm.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/fshl.ll
M llvm/test/Analysis/CostModel/AArch64/fshr.ll
Log Message:
-----------
[AArch64] Add costs for ROTR and ROTL. (#169335)
A funnel shift with the first two operands is a rotate. AArch64 has
scalar instructions for ror so can handle a ROTR by a constant or
variant amount cheaply. A ROTL is a ROTR by the opposite amount, which
for constants is cheap and for variable shifts requires an extra neg.
Commit: fb3bf5b5900867f0738162d737e138ebd0228f8c
https://github.com/llvm/llvm-project/commit/fb3bf5b5900867f0738162d737e138ebd0228f8c
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Target/Process.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
Log Message:
-----------
[NFC][lldb][windows] fully qualify references to MemoryRegionInfo (#169845)
Commit: ae58ae1ca7eda3ae1c2db0f7239d3881b390e99d
https://github.com/llvm/llvm-project/commit/ae58ae1ca7eda3ae1c2db0f7239d3881b390e99d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in CudaRuntimeWrappers.cpp (NFC)
Commit: a6643f27ecdaaff2945a1acd213a745c1526c525
https://github.com/llvm/llvm-project/commit/a6643f27ecdaaff2945a1acd213a745c1526c525
Author: Volodymyr Turanskyy <vturanskyy at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/include/__config_site.in
M libcxx/include/__configuration/platform.h
M libcxx/include/__cxx03/__fwd/ios.h
M libcxx/include/__cxx03/__locale
M libcxx/include/__cxx03/__locale_dir/locale_base_api.h
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/regex
M libcxx/include/__fwd/ios.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/messages.h
M libcxx/include/fstream
M libcxx/include/regex
M libcxx/src/include/config_elast.h
M libcxx/src/locale.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
M libcxx/test/support/platform_support.h
M libcxx/utils/ci/run-buildbot
M runtimes/cmake/Modules/HandleLibC.cmake
Log Message:
-----------
[libc++] Add support for picolibc and newlib in RUNTIMES_USE_LIBC (#147956)
This replaces detection of picolibc in libc++ (by checking for and
including picolibc.h) with using RUNTIMES_USE_LIBC build time option
intriduced in https://github.com/llvm/llvm-project/pull/134893
RUNTIMES_USE_LIBC is extended to accept picolibc and newlib.
Detection of picolibc via the header is kept as a deprecated feature to
avoid breaking builds.
libc++ is updated to use dedicated LIBCXX_LIBC_NEWLIB macro to check for
newlib specific conditions instead of less informative _NEWLIB_VERSION
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: b5a3b8b704cf7f54531f18966cdcc25f5c4e5044
https://github.com/llvm/llvm-project/commit/b5a3b8b704cf7f54531f18966cdcc25f5c4e5044
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rev.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/Bitcode/aarch64-sve-rev-upgrade.ll
Log Message:
-----------
[LLVM][SVE] Remove aarch64.sve.rev intrinsic, using vector.reverse instead. (#169654)
Commit: e16cc8ed4636c36fc6e4e95289faf94048ec79b2
https://github.com/llvm/llvm-project/commit/e16cc8ed4636c36fc6e4e95289faf94048ec79b2
Author: David Green <david.green at arm.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
Log Message:
-----------
[AArch64] Guard for 128bit vectors in mull combine. (#169839)
The test case generates a extract_subvector(index) leading into a mul.
Make sure we don't try and treat the scalable vector extract as a 128bit
vector in the mull combine.
Fixes #168912
Commit: 14fb59a2c25d2b010ce7b88eb3d201de65e5afed
https://github.com/llvm/llvm-project/commit/14fb59a2c25d2b010ce7b88eb3d201de65e5afed
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
A lldb/test/API/commands/frame/var-dil/expr/PointerArithmetic/TestFrameVarDILExprPointerArithmetic.py
R lldb/test/API/commands/frame/var-dil/expr/PointerArithmetic/TestFrameVarDILPointerArithmetic.py
Log Message:
-----------
[lldb] Fix duplicate test class name causing lldb-dotest conflict (#169861)
Duplicate test class name `TestFrameVarDILPointerArithmetic` prevents
lldb-dotest from running any tests.
The conflict exists between:
- lldb/test/API/commands/frame/vardil/expr/PointerArithmetic/
- lldb/test/API/commands/frame/vardil/basics/PointerArithmetic/
Rename the expr variant to `TestFrameVarDILExprPointerArithmetic`.
Commit: e0c600779a742333c74c8603f311e4166d5b9afe
https://github.com/llvm/llvm-project/commit/e0c600779a742333c74c8603f311e4166d5b9afe
Author: Asher Dobrescu <asher.dobrescu at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s
Log Message:
-----------
[AArch64] Fix metrics of ASIMD instructions in Neoverse N3 (#169790)
Some ASIMD instructions in the Neoverse N3 scheduler model seem to have
been missed and have default definitions, which give them incorrect
latency and throughput. This patch fixes such instructions to match the
current N3 SWOG.
Commit: 9e25a423d07bdcc2686defedcd509fb405d250db
https://github.com/llvm/llvm-project/commit/9e25a423d07bdcc2686defedcd509fb405d250db
Author: Matthew Nagy <matthew.nagy at sony.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M compiler-rt/lib/tysan/CMakeLists.txt
M compiler-rt/test/ubsan/CMakeLists.txt
M compiler-rt/test/ubsan/TestCases/Misc/Posix/sigaction.cpp
M compiler-rt/test/ubsan/TestCases/Misc/coverage-levels.cpp
M compiler-rt/test/ubsan/lit.common.cfg.py
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[TySan] Make TySan compatible with UBSan (#169036)
Commit: 63163b4ceb2c642dfbcafa066dbef4db0c1a80ab
https://github.com/llvm/llvm-project/commit/63163b4ceb2c642dfbcafa066dbef4db0c1a80ab
Author: Dharuni R Acharya <125176188+DharuniRAcharya at users.noreply.github.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
A mlir/test/Target/LLVMIR/nvvm/permute_invalid.mlir
A mlir/test/Target/LLVMIR/nvvm/permute_valid.mlir
Log Message:
-----------
[MLIR][NVVM] Add Permute Op (#169793)
This patch adds the `permute` op.
Lit tests are added to verify the lowering to the intrinsics.
Negative tests are also added to check the error-handling of invalid
combinations.
PTX spec reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-prmt
Signed-off-by: Dharuni R Acharya <dharunira at nvidia.com>
Commit: 346f48ecbcd5a2ba63b3947f3593acce2867692b
https://github.com/llvm/llvm-project/commit/346f48ecbcd5a2ba63b3947f3593acce2867692b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M clang/lib/Headers/avx512bf16intrin.h
M clang/lib/Headers/avx512vlbf16intrin.h
M clang/test/CodeGen/X86/avx512bf16-builtins.c
M clang/test/CodeGen/X86/avx512vlbf16-builtins.c
Log Message:
-----------
[Headers][X86] Convert bf16 to f32 conversions to constexpr implementations (#169841)
Fixes #154911
Commit: 4e30dccd21716b901f91d425c52dc8422a26c6af
https://github.com/llvm/llvm-project/commit/4e30dccd21716b901f91d425c52dc8422a26c6af
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-else-after-return in SelectObjectAttr.cpp (NFC)
Commit: 4237ec343a7f0c0d3717972b14ae22ec10ff74cd
https://github.com/llvm/llvm-project/commit/4237ec343a7f0c0d3717972b14ae22ec10ff74cd
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for readability-avoid-const-params-in-decls in MPIToLLVM.cpp (NFC)
Commit: cc72171322a982b3d39a2688c45372ee7b5f8b67
https://github.com/llvm/llvm-project/commit/cc72171322a982b3d39a2688c45372ee7b5f8b67
Author: nerix <nerixdev at outlook.de>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
A lldb/test/Shell/SymbolFile/PDB/add-symbols.cpp
Log Message:
-----------
[LLDB][PDB] Access object file through module (#169728)
When a PDB is loaded through `target symbols add <pdb-path>`, its
`m_objectfile_sp` is an `ObjectFilePDB` instead of `ObjectFilePECOFF`
(the debugged module). In both the native and DIA plugin, some paths
assumed that `m_objectfile_sp` is the debugged module. With this PR,
they go through `m_objfile_sp->GetModule()->GetObjectFile()`.
For the DIA plugin, this lead to an assertion failure
(https://github.com/llvm/llvm-project/issues/169628#issuecomment-3582555277)
and for both plugins, it meant that the symbol table wasn't loaded.
Commit: d989ff93e2a073cb921cfcfeb9728a0b51892f1a
https://github.com/llvm/llvm-project/commit/d989ff93e2a073cb921cfcfeb9728a0b51892f1a
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/omp-declare-reduction-combsub.f90
Log Message:
-----------
[flang][OpenMP] Add lowering of subroutine calls in custom reduction combiners (#169808)
This patch adds support for lowering subroutine calls in custom
reduction combiners to MLIR.
Commit: 4769122b2253c069e38107e80120caa2f1674aad
https://github.com/llvm/llvm-project/commit/4769122b2253c069e38107e80120caa2f1674aad
Author: Shreeyash Pandey <shreeyash335 at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M libc/test/UnitTest/ExecuteFunctionUnix.cpp
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/_Exit_test.cpp
A libc/test/src/stdlib/exit_test.cpp
Log Message:
-----------
[libc][test] split exit tests into two separate tests (#169820)
_Exit(3) is a fairly simple syscall wrapper whereas exit(3) calls
atexit-registered functions + whole lot of stuff that require support
for sync primitives.
Splitting the tests allows testing the former easily (especially for new
port projects)
---------
Signed-off-by: Shreeyash Pandey <shreeyash335 at gmail.com>
Commit: eb323d86561db72d6d71ce2c403da70f16ff7f17
https://github.com/llvm/llvm-project/commit/eb323d86561db72d6d71ce2c403da70f16ff7f17
Author: Shreeyash Pandey <shreeyash335 at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M libc/config/darwin/aarch64/entrypoints.txt
M libc/src/__support/OSUtil/darwin/CMakeLists.txt
M libc/src/__support/OSUtil/darwin/aarch64/CMakeLists.txt
A libc/src/__support/OSUtil/darwin/exit.cpp
Log Message:
-----------
[libc][darwin] add internal::exit (#166357)
Add internal::exit for MacOS/Darwin
Commit: 9999c316968ffdb77a69f883f8ddbdfe0b57a44b
https://github.com/llvm/llvm-project/commit/9999c316968ffdb77a69f883f8ddbdfe0b57a44b
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M lldb/include/lldb/Target/Process.h
Log Message:
-----------
[NFC][lldb] document Process::SetSTDIOFileDescriptor (#169849)
Commit: 7c36e1d424a782077ea22363e906367691676025
https://github.com/llvm/llvm-project/commit/7c36e1d424a782077ea22363e906367691676025
Author: Marco Elver <elver at google.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/include/llvm/IR/Argument.h
Log Message:
-----------
[NFC] Remove deprecated Argument::getParamAlignment() declaration (#169911)
The implementation of Argument::getParamAlignment() was removed in
commit b55f83d013eff244f7cf6bfcd06f06f7c894ff28, but the declaration in
Argument.h was left behind. Remove it.
NFC.
Commit: a3d772490885d60a371ad6a5db7573d664616cca
https://github.com/llvm/llvm-project/commit/a3d772490885d60a371ad6a5db7573d664616cca
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M flang/include/flang/Common/enum-set.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Parser/OpenMP/allocate-align-tree.f90
M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
M flang/test/Parser/OpenMP/allocate-tree.f90
M flang/test/Parser/OpenMP/allocators-unparse.f90
M flang/test/Parser/OpenMP/assumption.f90
M flang/test/Parser/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-end.f90
M flang/test/Parser/OpenMP/atomic-label-do.f90
M flang/test/Parser/OpenMP/bind-clause.f90
M flang/test/Parser/OpenMP/construct-prefix-conflict.f90
M flang/test/Parser/OpenMP/cross-label-do.f90
M flang/test/Parser/OpenMP/declare-reduction-multi.f90
M flang/test/Parser/OpenMP/declare-reduction-operator.f90
M flang/test/Parser/OpenMP/declare-reduction-unparse.f90
M flang/test/Parser/OpenMP/declare-target-indirect-tree.f90
M flang/test/Parser/OpenMP/declare-target-to-clause.f90
M flang/test/Parser/OpenMP/declare-variant.f90
M flang/test/Parser/OpenMP/declare_target-device_type.f90
M flang/test/Parser/OpenMP/dispatch.f90
M flang/test/Parser/OpenMP/dyn-groupprivate-clause.f90
M flang/test/Parser/OpenMP/enter-automap-modifier.f90
M flang/test/Parser/OpenMP/fuse02.f90
M flang/test/Parser/OpenMP/groupprivate.f90
M flang/test/Parser/OpenMP/in-reduction-clause.f90
M flang/test/Parser/OpenMP/interop-construct.f90
M flang/test/Parser/OpenMP/linear-clause.f90
M flang/test/Parser/OpenMP/loop-transformation-construct01.f90
M flang/test/Parser/OpenMP/loop-transformation-construct02.f90
M flang/test/Parser/OpenMP/loop-transformation-construct03.f90
M flang/test/Parser/OpenMP/loop-transformation-construct04.f90
M flang/test/Parser/OpenMP/loop-transformation-construct05.f90
M flang/test/Parser/OpenMP/map-modifiers-v61.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
M flang/test/Parser/OpenMP/metadirective-flush.f90
M flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
M flang/test/Parser/OpenMP/order-clause01.f90
M flang/test/Parser/OpenMP/ordered-block-vs-standalone.f90
M flang/test/Parser/OpenMP/replayable-clause.f90
M flang/test/Parser/OpenMP/requires.f90
M flang/test/Parser/OpenMP/sections.f90
M flang/test/Parser/OpenMP/taskgraph.f90
M flang/test/Parser/OpenMP/threadprivate.f90
M flang/test/Parser/OpenMP/tile.f90
M flang/test/Parser/OpenMP/transparent-clause.f90
M flang/test/Parser/OpenMP/unroll-heuristic.f90
Log Message:
-----------
[flang][OpenMP] Make OmpDirectiveSpecification::Flags an EnumSet (#169713)
The idea is that there can be multiple flags on a given directive. When
"Flags" was a simple enum, only one flag could have been set at a time.
Commit: 80e4a3f7a6c3cad5ca5c1ed259c6d6813834c13f
https://github.com/llvm/llvm-project/commit/80e4a3f7a6c3cad5ca5c1ed259c6d6813834c13f
Author: Shreeyash Pandey <shreeyash335 at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
A libc/include/llvm-libc-macros/darwin/CMakeLists.txt
A libc/include/llvm-libc-macros/darwin/time-macros.h
M libc/include/llvm-libc-macros/time-macros.h
M libc/include/llvm-libc-types/clockid_t.h
M libc/include/llvm-libc-types/struct_timespec.h
M libc/include/llvm-libc-types/struct_timeval.h
M libc/include/llvm-libc-types/suseconds_t.h
M libc/include/llvm-libc-types/time_t_32.h
M libc/include/llvm-libc-types/time_t_64.h
M libc/src/__support/OSUtil/darwin/exit.cpp
A libc/src/__support/time/darwin/CMakeLists.txt
A libc/src/__support/time/darwin/clock_gettime.cpp
A libc/src/time/darwin/CMakeLists.txt
A libc/src/time/darwin/clock_gettime.cpp
A libc/test/src/__support/time/darwin/CMakeLists.txt
A libc/test/src/__support/time/darwin/clock_gettime.cpp
Log Message:
-----------
[libc] Add clock_gettime for Darwin (#167160)
This patch adds support for clock_gettime for Darwin. Darwin syscall
'gettimeofday' is used to query the time from the system.
Many headers in llvm-libc-types, namely clockid_t, struct_timespec,
struct_timeval, suseconds_t, time_t_32, time_t_64, are modified to
include
header guards as Darwin has its own implementation of primitive types.
Commit: 3a766dcbc462946ad34c1306be70cbbdc1dc868b
https://github.com/llvm/llvm-project/commit/3a766dcbc462946ad34c1306be70cbbdc1dc868b
Author: Asher Dobrescu <asher.dobrescu at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-sve-instructions.s
Log Message:
-----------
[AArch64] Fix throughout of 64-bit SVE gather loads (#168572)
In the Neoverse N3 Software Optimisation Guide, SVE non termporal gather
load, vector+scalar 64-bit element size and gather load, vector + imm,
64-bit element size both show throughput of 4/5. However, it currently
shows as 2/3. This patch adds a new resource group in order to show the
correct throughput.
Commit: 207627f20f06771edfbb1e779f94dfdc2ff7df26
https://github.com/llvm/llvm-project/commit/207627f20f06771edfbb1e779f94dfdc2ff7df26
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 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/databreakpoint/TestDAP_setDataBreakpoints.py
M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/Watchpoint.cpp
Log Message:
-----------
[lldb-dap] Add data breakpoints for bytes (#167237)
This patch adds support for `dataBreakpointInfoBytes` capability from
DAP. You can test this feature in VSCode (`Add data breakpoint at
address` button in breakpoints tab).
Commit: c2eb332331c4b1e065ff50e08fb038dc63eb754c
https://github.com/llvm/llvm-project/commit/c2eb332331c4b1e065ff50e08fb038dc63eb754c
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/dotest.py
Log Message:
-----------
[lldb][dotest] use unused variable (#169903)
Commit: 318236da1feb7e6a5030252e02853e6ed54b39ac
https://github.com/llvm/llvm-project/commit/318236da1feb7e6a5030252e02853e6ed54b39ac
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/SemaHIP/amdgpu-gfx950-load-to-lds.hip
Log Message:
-----------
[HIP][AMDGPU] Remove 't' from all __builtin_*_load_lds builtins (#165389)
Allows for type checking depending on the builtin signature.
Stacked on top of: https://github.com/llvm/llvm-project/pull/165387 and
https://github.com/llvm/llvm-project/pull/165388
Commit: 8c31b1214dd194f71a17a2457784699bb320f802
https://github.com/llvm/llvm-project/commit/8c31b1214dd194f71a17a2457784699bb320f802
Author: Matthew Nagy <matthew.nagy at sony.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M compiler-rt/test/ubsan/TestCases/Misc/Posix/print_stack_trace.cpp
Log Message:
-----------
[TySan](test-only) Mark ubsan-tysan test as unsupported for now (#169934)
Commit: 73d1602d0694671ac7f334635c8a5d1df0de1f0e
https://github.com/llvm/llvm-project/commit/73d1602d0694671ac7f334635c8a5d1df0de1f0e
Author: Eric Li <li.zhe.hua at gmail.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M clang/lib/Tooling/Transformer/SourceCode.cpp
M clang/unittests/Tooling/SourceCodeTest.cpp
Log Message:
-----------
[clang][Tooling] Fix `getFileRange` returning a range spanning macro invocation (#169842)
A followup to 40991215f4aba37fd43b65d96ad0a445dcd041b2.
When the start or end token is inside a macro argument and the other is
outside of the macro, we want to reject the range for a similar reason.
The range will include half of the macro call, either the closing paren
or the macro name and open paren.
Commit: a5dba76de49220246c2d787d29444ed226fbb472
https://github.com/llvm/llvm-project/commit/a5dba76de49220246c2d787d29444ed226fbb472
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vle-vse-vlm.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlse-vsse.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlseg-vsseg.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlxe-vsxe.s
Log Message:
-----------
Pre-commit tests for x60 vector ld/st latency PR
Signed-off-by: Mikhail R. Gadelha <mikhail at igalia.com>
Commit: 78defc820eef5185d50e9aa396fb5a4b5ed07f92
https://github.com/llvm/llvm-project/commit/78defc820eef5185d50e9aa396fb5a4b5ed07f92
Author: lancesix <lancelot.six at amd.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/test/MC/AMDGPU/gfx12_asm_sopk.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt
Log Message:
-----------
[AMDGPU] Add support for HW_REG_WAVE_SCHED_MODE (#169840)
Expose HW_REG_WAVE_SCHED_MODE to the s_getreg_b32, s_setreg_b32,
s_setreg_imm32_b32 instructions.
Commit: b38ed00495002f4df8b29527fb1cf47317c39d36
https://github.com/llvm/llvm-project/commit/b38ed00495002f4df8b29527fb1cf47317c39d36
Author: nerix <nerixdev at outlook.de>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/PDB/add-symbols.cpp
Log Message:
-----------
[LLDB][PDB] Relax check for resolving breakpoint (#169932)
The test was flaky, because it assumed that the breakpoint was always
resolved before `r` was executed
(https://github.com/llvm/llvm-project/pull/169728#issuecomment-3589799783).
This PR removes the check for this order. It still checks that the
breakpoint is resolved before it is hit.
Commit: 442f853e28135813695cc5139bcbe8de8900d43f
https://github.com/llvm/llvm-project/commit/442f853e28135813695cc5139bcbe8de8900d43f
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
Log Message:
-----------
[compiler-rt] Add missing cpuid check for clflushopt (#169900)
As in title.
Commit: a941e150749650e6a75e948f10d46b0bedcc128b
https://github.com/llvm/llvm-project/commit/a941e150749650e6a75e948f10d46b0bedcc128b
Author: Alexandru Dura <alexandru.dura at inceptron.io>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
A mlir/test/Dialect/Transform/include-failure-propagation.mlir
Log Message:
-----------
[MLIR][Transform] Return empty handles when the included sequence fails (#169782)
This fixes a bug in the interpreter for transform.include op, which
crashes when attempting to copy out the handles from the yield op of a
failing sequence.
Commit: 4dc29b8a5d406aa74467d66150f0d0771b44ac28
https://github.com/llvm/llvm-project/commit/4dc29b8a5d406aa74467d66150f0d0771b44ac28
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
A llvm/test/Transforms/LoopVectorize/select-fmax-last-index.ll
A llvm/test/Transforms/LoopVectorize/select-fmin-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-index-interleaving.ll
M llvm/test/Transforms/LoopVectorize/select-smax-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-smin-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-umax-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-umin-first-index.ll
M llvm/test/Transforms/LoopVectorize/select-umin-last-index.ll
Log Message:
-----------
[LV] Add additional argmin/argmax tests for #141431.
Apply suggestions for tests from
https://github.com/llvm/llvm-project/pull/141431 and add additional
missing coverage.
Commit: 8a2965dfa929b49ecc3ba7e508d2f6970ac418af
https://github.com/llvm/llvm-project/commit/8a2965dfa929b49ecc3ba7e508d2f6970ac418af
Author: Martin Storsjö <martin at martin.st>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp
Log Message:
-----------
[llvm-readobj] Remove a leftover comment from 6ad4fdacaeea4777e98a3ab41512c49d3d1b6151. NFC.
This case did get documented upstream, in
https://github.com/MicrosoftDocs/cpp-docs/pull/4202, and the
way that llvm-readobj prints it, implemented in that commit, is
correct.
Commit: e99d8adf8d34da521d9243ba225995ac543745df
https://github.com/llvm/llvm-project/commit/e99d8adf8d34da521d9243ba225995ac543745df
Author: Martin Storsjö <martin at martin.st>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/lib/MC/MCWin64EH.cpp
Log Message:
-----------
[MC] [Win64EH] Fix the operator ordering for UOP_SaveFPLRX. NFC.
The encoded offset should be (OffsetInBytes/8)-1 due to an
implicit offset of 1. Previously the operator ordering was
inverted. As the offset is a multiple of 8, the incorrect
operator ordering did produce the right result in all cases
anyway.
Commit: 99addbf73db596403a1702ac5c3f92e58f9e9f55
https://github.com/llvm/llvm-project/commit/99addbf73db596403a1702ac5c3f92e58f9e9f55
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-28 (Fri, 28 Nov 2025)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
M llvm/test/Transforms/LoopVectorize/select-index-interleaving.ll
M llvm/test/Transforms/LoopVectorize/select-smax-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-smin-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-umax-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-umin-last-index.ll
Log Message:
-----------
[LV] Vectorize selecting last IV of min/max element. (#141431)
Add support for vectorizing loops that select the index of the minimum
or maximum element. The patch implements vectorizing those patterns by
combining Min/Max and FindFirstIV reductions.
It extends matching Min/Max reductions to allow in-loop users that are
FindLastIV reductions. It records a flag indicating that the Min/Max
reduction is used by another reduction. The extra user is then check as
part of the new `handleMultiUseReductions` VPlan transformation.
It processes any reduction that has other reduction users. The reduction
using the min/max reduction currently must be a FindLastIV reduction,
which needs adjusting to compute the correct result:
1. We need to find the last IV for which the condition based on the
min/max reduction is true,
2. Compare the partial min/max reduction result to its final value and,
3. Select the lanes of the partial FindLastIV reductions which
correspond to the lanes matching the min/max reduction result.
Depends on https://github.com/llvm/llvm-project/pull/140451
PR: https://github.com/llvm/llvm-project/pull/141431
Commit: 9bae84b01718e53495abf50958abc86ea45f16bb
https://github.com/llvm/llvm-project/commit/9bae84b01718e53495abf50958abc86ea45f16bb
Author: Luo Yuanke <lyk_03 at hotmail.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/CodeGen/SplitKit.h
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/spill-before-exec.mir
A llvm/test/CodeGen/AMDGPU/spill-before-exec2.mir
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/X86/2008-04-17-CoalescerBug.ll
Log Message:
-----------
[RegAlloc] Relax the split constrain on MBB prolog (#168259)
https://reviews.llvm.org/D52052 is to prevent register split on the MBB
which have prolog instructions defining the exec register (or mask register
that activate the threads of a warp in GPU). The constrain seems too
strict, because 1) If the split is allowed, it may fit the free live range
of a physical register, and no spill will happen; 2) The register class of
register that is under splitting may not be the same to the register that
is defined in prolog, so there is no interference with the register being
defined in prolog.
The current code has another small issue. The MBB->getFirstNonDebugInstr()
just skip debug instructions, but SA->getFirstSplitPoint(Number) would skip
label and phi instructions. This cause some MBB with label instruction
being taken as prolog.
This patch is to relax the split constrain on MMB with prolog by checking
if the register defined in prolog has the common register class with the
register being split. It allow the split if the register defined in prolog
is physical register or there is no common register class.
---------
Co-authored-by: Yuanke Luo <ykluo at birentech.com>
Commit: 5dd2b06d60d3eb9b07c7513358ad8b04386f79bc
https://github.com/llvm/llvm-project/commit/5dd2b06d60d3eb9b07c7513358ad8b04386f79bc
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
Log Message:
-----------
[clang-tidy] Fix OOB access in `FormatStringConverter` with signed chars (#169215)
`FormatStringConverter::appendFormatText` incorrectly treated non-ASCII
characters (e.g. UTF-8) as negative values when using signed chars. This
caused them to pass the `< 32` check for control characters.
The negative values were passed to `llvm::hexdigit`, resulting in an OOB
access and a crash.
This closes
[#169198](https://github.com/llvm/llvm-project/issues/169198)
Commit: f5742c4d540a20651a67de51e16242a52e5d4064
https://github.com/llvm/llvm-project/commit/f5742c4d540a20651a67de51e16242a52e5d4064
Author: Qihan Cai <caiqihan021 at hotmail.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCVXCV.td
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
A llvm/test/CodeGen/RISCV/xcvelw.ll
A llvm/test/MC/RISCV/corev/XCVelw-pseudo.s
Log Message:
-----------
[RISCV] Intrinsic Support for XCVelw (#129168)
Commit: 66d33cec991c5526b4ec3bbfec741a2a9e78b21f
https://github.com/llvm/llvm-project/commit/66d33cec991c5526b4ec3bbfec741a2a9e78b21f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
Log Message:
-----------
[LV] Extend test coverage for inductions depending on complex SCEVs.
Re-generate check lines, add test with complex SCEV as induction start
value and add stores to existing loops to make them not trivial.
Commit: d3762edd5fc11e6ad670950d89d51edabf30f8b5
https://github.com/llvm/llvm-project/commit/d3762edd5fc11e6ad670950d89d51edabf30f8b5
Author: Tirthankar Mazumder <63574588+wermos at users.noreply.github.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M llvm/docs/InstCombineContributorGuide.md
M llvm/docs/KeyInstructionsDebugInfo.md
M llvm/docs/Telemetry.rst
Log Message:
-----------
[docs] Fix typos and remove redundant whitespace (#169981)
As the title says, I fixed some spelling mistakes I found in the docs.
Commit: 3a1079fa2514d16c51bfe53b3da8a8b8d78128c1
https://github.com/llvm/llvm-project/commit/3a1079fa2514d16c51bfe53b3da8a8b8d78128c1
Author: theRonShark <ron.lieberman at amd.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/CodeGen/SplitKit.h
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/spill-before-exec.mir
R llvm/test/CodeGen/AMDGPU/spill-before-exec2.mir
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/X86/2008-04-17-CoalescerBug.ll
Log Message:
-----------
Revert "[RegAlloc] Relax the split constrain on MBB prolog" (#169990)
Reverts llvm/llvm-project#168259
breaks hip buildot
Commit: 3e16aef2a650a8c2da4ebd5c58c6a9e261361828
https://github.com/llvm/llvm-project/commit/3e16aef2a650a8c2da4ebd5c58c6a9e261361828
Author: Koakuma <koachan at protonmail.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M clang/lib/Basic/Targets/Sparc.cpp
M clang/lib/Basic/Targets/Sparc.h
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/test/CodeGen/Sparc/sparcv8-abi.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-arch-macros.c
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/test/builtins/CMakeLists.txt
M compiler-rt/test/sanitizer_common/TestCases/printf-ldbl.c
M compiler-rt/test/sanitizer_common/TestCases/scanf-ldbl.c
M compiler-rt/test/ubsan/TestCases/Float/cast-overflow.cpp
M compiler-rt/test/ubsan/TestCases/Misc/log-path_test.cpp
M llvm/lib/Target/Sparc/SparcCallingConv.td
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
A llvm/test/CodeGen/SPARC/fp128-abi.ll
M llvm/test/CodeGen/SPARC/fp16-promote.ll
M llvm/test/CodeGen/SPARC/llvm.sincos.ll
Log Message:
-----------
[SPARC] Properly handle CC for long double on sparc32 (#162226)
Pass and return `long double`s indirectly, as specified in the psABI.
This continues the patch at https://reviews.llvm.org/D89130.
This should fix the issue at https://github.com/llvm/llvm-project/issues/41838.
Commit: 7925a9ea1e63b5e7c1f57e467a05e819f6ef7c27
https://github.com/llvm/llvm-project/commit/7925a9ea1e63b5e7c1f57e467a05e819f6ef7c27
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/kmov.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add handling for vXi1 concat(logicop(),logicop()) patterns. (#169998)
Commit: a09c5792ed3b6a0644c990060f890c53f042b267
https://github.com/llvm/llvm-project/commit/a09c5792ed3b6a0644c990060f890c53f042b267
Author: Abhishek Varma <avarma094 at gmail.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
Log Message:
-----------
[NFC][Linalg] Introduce ConvMatchBuilder + refactor Conv matchers (#169704)
-- This commit is a follow-up and third in the series of adding
matchers for conv/pool ops. Refer:
https://github.com/llvm/llvm-project/pull/163724
-- It introduces ConvMatchBuilder class in order to reduce the
repetitive code across Conv1D/2D/3D/Depthwise/Pooling variants.
-- Refer to [Conv2D
thread](https://github.com/llvm/llvm-project/pull/168362#issuecomment-3575972133)
for further context.
Signed-off-by: Abhishek Varma <abhvarma at amd.com>
Commit: 8462cff40daf40e58d705f5d86d4e91ef6e6294c
https://github.com/llvm/llvm-project/commit/8462cff40daf40e58d705f5d86d4e91ef6e6294c
Author: David Stone <davidfromonline at gmail.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M clang/include/clang/AST/CXXInheritance.h
M clang/lib/AST/CXXInheritance.cpp
Log Message:
-----------
[clang][NFC] Declare `CXXBasePaths::isAmbiguous` as `const` (#169944)
To make this change, we have to use `lookup` instead of `operator[]` on
a map. They both return the same thing: a default constructed value. The
difference is that `lookup` default constructs a value and then returns
it, whereas `operator[]` default constructs a value, inserts it into the
map, and then returns a reference to that. Given that we are using a
by-value return, the only way this is different is if a later use of the
map depends on a value being at that key.
The map is a private variable of the class, so the only possible users
are are other member functions. The only other use of the map that cares
about the contents of the map is in `lookupInBases`, and it accesses the
map with `operator[]`. This means that attempting to access the same
element in this function will default construct the value before doing
anything with it, which means it would do the exact thing it needs to do
in the case where we are looking up a non-existent key, therefore no
behavior has changed.
In terms of performance, this would either be a win or neutral. The
benefit is that in some cases, we can avoid a memory allocation just
read the contents of a 32-bit `0`. If a call to `isAmbiguous` is always
followed up with a call to `lookupInBases`, then we allocate the memory
just a little bit later for no difference in performance.
Commit: 246528cb3ad67ededee5f076fd1ef501af97f294
https://github.com/llvm/llvm-project/commit/246528cb3ad67ededee5f076fd1ef501af97f294
Author: Islam Imad <143586474+Islam-Imad at users.noreply.github.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Unify elementwise integer builtins using callback pattern (#169957)
This patch refactors the handling of elementwise integer unary
operations to use a unified callback-based approach, eliminating code
duplication.
Changes:
- Extended interp__builtin_elementwise_int_unaryop to handle vector types
- Replaced BI__builtin_elementwise_popcount with callback invocation
- Replaced BI__builtin_elementwise_bitreverse with callback invocation
- Removed interp__builtin_elementwise_popcount function
The new approach uses a lambda function to specify the operation
(popcount or reverseBits), which is applied uniformly to both scalar and
vector operands. This reduces code duplication and makes it easier to
add similar builtins in the future.
Fixes #169657
Commit: 435bafd0d534c8888783f0610afb86ed20d34fa7
https://github.com/llvm/llvm-project/commit/435bafd0d534c8888783f0610afb86ed20d34fa7
Author: AIT <45133884+GeneraluseAI at users.noreply.github.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512dq-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
Log Message:
-----------
[CIR][X86] Implement lowering for AVX512 mask builtins (#169774)
This patch adds CIR codegen support for AVX512 mask operations on X86,
including kadd, kand, kandn, kor, kxor, knot, and kmov in all supported
mask widths. Each builtin now lowers to the expected vector<i1> form and
bitcast representations in CIR, matching the semantics of the
corresponding LLVM intrinsics.
Commit: f57129312421b05eb2a46cf715f2c1db32f56c83
https://github.com/llvm/llvm-project/commit/f57129312421b05eb2a46cf715f2c1db32f56c83
Author: Fangrui Song <i at maskray.me>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M llvm/lib/Target/ARC/ARC.td
Log Message:
-----------
ARC: Override pseudos with pointers
This ports #159881 fix for other targets and fixes
```
error: missing target override for pseudoinstruction using PointerLikeRegClass
```
Commit: cd3192a2c9c422f41d517428afef0a2232b9db8f
https://github.com/llvm/llvm-project/commit/cd3192a2c9c422f41d517428afef0a2232b9db8f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/test/Transforms/LoopVectorize/select-smax-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-smin-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-umax-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-umin-last-index.ll
Log Message:
-----------
[VPlan] Turn IVOp assertion into early exit.
Turn assertion added in 99addbf73 [0] into an early exit.
There are cases where the operand may not be a
VPWidenIntOrFpInductionRecipe, e.g. if the IV increment is selected,
as in the test cases.
[0] https://github.com/llvm/llvm-project/pull/141431
Commit: 9ffd2e40c1c469e3ccb0798fa15fc38d6df42652
https://github.com/llvm/llvm-project/commit/9ffd2e40c1c469e3ccb0798fa15fc38d6df42652
Author: Lucie Choi <clucie at google.com>
Date: 2025-11-30 (Sun, 30 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
A llvm/test/Transforms/SimplifyCFG/skip-merging-duplicate-convergence-instrinsics.ll
Log Message:
-----------
[SimplifyCFG] Fix `SimplifyCFG` pass to skip folding when both blocks contain convergence loop/entry intrinsics. (#166452)
Fixes a bug https://github.com/llvm/llvm-project/issues/165642. [Similar
fix](https://github.com/llvm/llvm-project/pull/165643) is being made in
`IndVarSimplify` pass to account for convergence tokens.
[LLVM
Spec](https://llvm.org/docs/ConvergentOperations.html#llvm-experimental-convergence-loop)
states that only a single loop / entry convergence token can be included
in a basic block.
This PR fixes the issue in `SimplifyCFG` pass so that when a basic block
and its predecessor both contain such convergence intrinsics, it skips
merging the two blocks.
Commit: 24b87b8d4891d90afd8c4033a4997dedecbdd107
https://github.com/llvm/llvm-project/commit/24b87b8d4891d90afd8c4033a4997dedecbdd107
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-11-29 (Sat, 29 Nov 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
Log Message:
-----------
[VPlan] Skip cost verification for loops with EVL gather/scatter.
The VPlan-based cost model use vp_gather/vp_scatter for gather/scatter
costs, which is different to the legacy cost model and cannot be matched
there. Don't verify the costs match for plans containing gather/scatters
with EVL.
Fixes https://github.com/llvm/llvm-project/issues/169948.
Commit: 0d102000c826d040eb92293473ca46b555b7e598
https://github.com/llvm/llvm-project/commit/0d102000c826d040eb92293473ca46b555b7e598
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-11-30 (Sun, 30 Nov 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/runtime/instr.cpp
M bolt/runtime/sys_aarch64.h
M bolt/test/runtime/AArch64/instrumentation-ind-call.c
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signal-handler.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/switch-missing-default-case.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-capturing-lambda-coroutines.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-const-or-ref-data-members.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-do-while.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-reference-coroutine-parameters.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/init-variables.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/interfaces-global-init.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/missing-std-forward.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-suspend-with-lock.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/owning-memory.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-array-to-pointer-decay.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-avoid-unchecked-container-access.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-pointer-arithmetic.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-const-cast.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-cstyle-cast.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-reinterpret-cast.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-static-cast-downcast.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-union-access.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-vararg.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-default-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-enum-class.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/virtual-class-destructor.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangStaticAnalyzer.rst
M clang/docs/HIPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/user-docs.rst
M clang/docs/analyzer/user-docs/CommandLineUsage.rst
M clang/docs/analyzer/user-docs/Installation.rst
M clang/include/clang/AST/CXXInheritance.h
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/Format/Format.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Basic/Targets/Sparc.cpp
M clang/lib/Basic/Targets/Sparc.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/SanitizerHandler.h
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bf16intrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512vbmiintrin.h
M clang/lib/Headers/avx512vbmivlintrin.h
M clang/lib/Headers/avx512vlbf16intrin.h
M clang/lib/Headers/avx512vlfp16intrin.h
M clang/lib/Headers/avx512vlintrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Tooling/Transformer/SourceCode.cpp
M clang/test/AST/ByteCode/invalid.cpp
R clang/test/CIR/CodeGen/X86/avx-builtins.c
R clang/test/CIR/CodeGen/X86/avx10_2_512bf16-builtins.c
R clang/test/CIR/CodeGen/X86/avx10_2bf16-builtins.c
R clang/test/CIR/CodeGen/X86/avx512bw-builtins.c
R clang/test/CIR/CodeGen/X86/avx512f-builtins.c
R clang/test/CIR/CodeGen/X86/avx512fp16-builtins.c
R clang/test/CIR/CodeGen/X86/bmi-builtins.c
R clang/test/CIR/CodeGen/X86/lzcnt-builtins.c
R clang/test/CIR/CodeGen/X86/sse-builtins.c
R clang/test/CIR/CodeGen/X86/sse2-builtins.c
R clang/test/CIR/CodeGen/builtin-fcmp-sse.c
R clang/test/CIR/CodeGen/builtin-isfpclass.c
R clang/test/CIR/CodeGen/builtin_bit.cpp
R clang/test/CIR/CodeGen/builtin_call.cpp
R clang/test/CIR/CodeGen/builtin_inline.c
R clang/test/CIR/CodeGen/builtin_new_delete.cpp
R clang/test/CIR/CodeGen/builtin_prefetch.c
R clang/test/CIR/CodeGen/builtin_printf.cpp
R clang/test/CIR/CodeGen/builtins-elementwise.c
R clang/test/CIR/CodeGen/builtins-floating-point.c
R clang/test/CIR/CodeGen/builtins-overflow.cpp
R clang/test/CIR/CodeGen/builtins.cpp
M clang/test/CIR/CodeGen/lambda.cpp
A clang/test/CIR/CodeGenBuiltins/X86/avx-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx10_2_512bf16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx10_2bf16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512dq-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/bmi-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/lzcnt-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/sse-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/sse2-builtins.c
A clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
A clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
A clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
A clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
A clang/test/CIR/CodeGenBuiltins/builtin_inline.c
A clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
A clang/test/CIR/CodeGenBuiltins/builtin_prefetch.c
A clang/test/CIR/CodeGenBuiltins/builtin_printf.cpp
A clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
A clang/test/CIR/CodeGenBuiltins/builtins-floating-point.c
A clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
A clang/test/CIR/CodeGenBuiltins/builtins.cpp
A clang/test/CIR/IR/try-call.cir
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rev.c
M clang/test/CodeGen/Sparc/sparcv8-abi.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512bf16-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vbmi-builtins.c
M clang/test/CodeGen/X86/avx512vbmivl-builtin.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vlbf16-builtins.c
M clang/test/CodeGen/X86/avx512vlbw-builtins.c
M clang/test/CodeGen/X86/f16c-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse-builtins-constrained.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins-constrained.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/builtins-x86.c
M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
A clang/test/CodeGenCUDA/cuda_weak_alias.cu
M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
A clang/test/CodeGenHIP/hip_weak_alias.cpp
M clang/test/DebugInfo/Generic/ubsan-trap-reason-type-mismatch.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/hip-spirv-backend-opt.c
A clang/test/OpenMP/amdgcn_weak_alias.c
A clang/test/OpenMP/amdgcn_weak_alias.cpp
A clang/test/OpenMP/nvptx_weak_alias.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/SemaHIP/amdgpu-gfx950-load-to-lds.hip
M clang/test/SemaTemplate/attributes.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/IntegerLiteralSeparatorTest.cpp
M clang/unittests/Tooling/SourceCodeTest.cpp
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/tysan/CMakeLists.txt
M compiler-rt/lib/tysan/tysan_platform.h
M compiler-rt/test/builtins/CMakeLists.txt
M compiler-rt/test/sanitizer_common/TestCases/printf-ldbl.c
M compiler-rt/test/sanitizer_common/TestCases/scanf-ldbl.c
M compiler-rt/test/ubsan/CMakeLists.txt
M compiler-rt/test/ubsan/TestCases/Float/cast-overflow.cpp
M compiler-rt/test/ubsan/TestCases/Misc/Posix/print_stack_trace.cpp
M compiler-rt/test/ubsan/TestCases/Misc/Posix/sigaction.cpp
M compiler-rt/test/ubsan/TestCases/Misc/coverage-levels.cpp
M compiler-rt/test/ubsan/TestCases/Misc/log-path_test.cpp
M compiler-rt/test/ubsan/lit.common.cfg.py
M compiler-rt/test/ubsan_minimal/TestCases/override-callback.c
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang/docs/Intrinsics.md
M flang/docs/OpenMPSupport.md
M flang/include/flang/Common/enum-set.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Lower/Intrinsics/flush.f90
A flang/test/Lower/OpenMP/omp-declare-reduction-combsub.f90
M flang/test/Parser/OpenMP/allocate-align-tree.f90
M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
M flang/test/Parser/OpenMP/allocate-tree.f90
M flang/test/Parser/OpenMP/allocators-unparse.f90
M flang/test/Parser/OpenMP/assumption.f90
M flang/test/Parser/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-end.f90
M flang/test/Parser/OpenMP/atomic-label-do.f90
M flang/test/Parser/OpenMP/bind-clause.f90
M flang/test/Parser/OpenMP/construct-prefix-conflict.f90
M flang/test/Parser/OpenMP/cross-label-do.f90
M flang/test/Parser/OpenMP/declare-reduction-multi.f90
M flang/test/Parser/OpenMP/declare-reduction-operator.f90
M flang/test/Parser/OpenMP/declare-reduction-unparse.f90
M flang/test/Parser/OpenMP/declare-target-indirect-tree.f90
M flang/test/Parser/OpenMP/declare-target-to-clause.f90
M flang/test/Parser/OpenMP/declare-variant.f90
M flang/test/Parser/OpenMP/declare_target-device_type.f90
M flang/test/Parser/OpenMP/dispatch.f90
M flang/test/Parser/OpenMP/dyn-groupprivate-clause.f90
M flang/test/Parser/OpenMP/enter-automap-modifier.f90
M flang/test/Parser/OpenMP/fuse02.f90
M flang/test/Parser/OpenMP/groupprivate.f90
M flang/test/Parser/OpenMP/in-reduction-clause.f90
M flang/test/Parser/OpenMP/interop-construct.f90
M flang/test/Parser/OpenMP/linear-clause.f90
M flang/test/Parser/OpenMP/loop-transformation-construct01.f90
M flang/test/Parser/OpenMP/loop-transformation-construct02.f90
M flang/test/Parser/OpenMP/loop-transformation-construct03.f90
M flang/test/Parser/OpenMP/loop-transformation-construct04.f90
M flang/test/Parser/OpenMP/loop-transformation-construct05.f90
M flang/test/Parser/OpenMP/map-modifiers-v61.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
M flang/test/Parser/OpenMP/metadirective-flush.f90
M flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
M flang/test/Parser/OpenMP/order-clause01.f90
M flang/test/Parser/OpenMP/ordered-block-vs-standalone.f90
M flang/test/Parser/OpenMP/replayable-clause.f90
M flang/test/Parser/OpenMP/requires.f90
M flang/test/Parser/OpenMP/sections.f90
M flang/test/Parser/OpenMP/taskgraph.f90
M flang/test/Parser/OpenMP/threadprivate.f90
M flang/test/Parser/OpenMP/tile.f90
M flang/test/Parser/OpenMP/transparent-clause.f90
M flang/test/Parser/OpenMP/unroll-heuristic.f90
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/config/darwin/aarch64/entrypoints.txt
A libc/include/llvm-libc-macros/darwin/CMakeLists.txt
A libc/include/llvm-libc-macros/darwin/time-macros.h
M libc/include/llvm-libc-macros/time-macros.h
M libc/include/llvm-libc-types/clockid_t.h
M libc/include/llvm-libc-types/struct_timespec.h
M libc/include/llvm-libc-types/struct_timeval.h
M libc/include/llvm-libc-types/suseconds_t.h
M libc/include/llvm-libc-types/time_t_32.h
M libc/include/llvm-libc-types/time_t_64.h
M libc/include/sys/syscall.h.def
M libc/src/__support/OSUtil/darwin/CMakeLists.txt
M libc/src/__support/OSUtil/darwin/aarch64/CMakeLists.txt
A libc/src/__support/OSUtil/darwin/exit.cpp
A libc/src/__support/time/darwin/CMakeLists.txt
A libc/src/__support/time/darwin/clock_gettime.cpp
A libc/src/time/darwin/CMakeLists.txt
A libc/src/time/darwin/clock_gettime.cpp
M libc/test/UnitTest/ExecuteFunctionUnix.cpp
A libc/test/src/__support/time/darwin/CMakeLists.txt
A libc/test/src/__support/time/darwin/clock_gettime.cpp
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/_Exit_test.cpp
A libc/test/src/stdlib/exit_test.cpp
M libcxx/CMakeLists.txt
M libcxx/include/__algorithm/copy_n.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/iterator_operations.h
M libcxx/include/__algorithm/ranges_copy_n.h
M libcxx/include/__compare/is_eq.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config_site.in
M libcxx/include/__configuration/platform.h
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__coroutine/noop_coroutine_handle.h
M libcxx/include/__cxx03/__fwd/ios.h
M libcxx/include/__cxx03/__locale
M libcxx/include/__cxx03/__locale_dir/locale_base_api.h
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/regex
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/utils.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/include/__functional/weak_result_type.h
M libcxx/include/__fwd/ios.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/messages.h
M libcxx/include/__mdspan/extents.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__mutex/mutex.h
M libcxx/include/__thread/thread.h
M libcxx/include/__utility/cmp.h
M libcxx/include/__vector/vector.h
M libcxx/include/barrier
M libcxx/include/deque
M libcxx/include/fstream
M libcxx/include/initializer_list
M libcxx/include/latch
M libcxx/include/mutex
M libcxx/include/queue
M libcxx/include/regex
M libcxx/include/semaphore
M libcxx/src/include/config_elast.h
M libcxx/src/locale.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/find.bench.cpp
M libcxx/test/benchmarks/containers/string.bench.cpp
M libcxx/test/libcxx-03/algorithms/half_positive.pass.cpp
M libcxx/test/libcxx-03/algorithms/robust_against_copying_comparators.pass.cpp
M libcxx/test/libcxx-03/algorithms/robust_against_cpp20_hostile_iterators.compile.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/vector/asan.pass.cpp
M libcxx/test/libcxx-03/containers/sequences/vector/asan_throw.pass.cpp
M libcxx/test/libcxx-03/depr/depr.default.allocator/allocator.members/construct.cxx20.pass.cpp
M libcxx/test/libcxx-03/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
M libcxx/test/libcxx-03/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx-03/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx-03/iterators/bounded_iter/pointer_traits.pass.cpp
M libcxx/test/libcxx-03/iterators/bounded_iter/types.compile.pass.cpp
M libcxx/test/libcxx-03/iterators/contiguous_iterators.conv.compile.pass.cpp
M libcxx/test/libcxx-03/iterators/contiguous_iterators.pass.cpp
M libcxx/test/libcxx-03/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/get_container.pass.cpp
M libcxx/test/libcxx-03/iterators/unwrap_iter.pass.cpp
M libcxx/test/libcxx-03/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/libcxx-03/libcpp_alignof.pass.cpp
M libcxx/test/libcxx-03/memory/allocation_guard.pass.cpp
M libcxx/test/libcxx-03/memory/swap_allocator.pass.cpp
M libcxx/test/libcxx-03/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx-03/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/libcxx-03/strings/basic.string/string.cons/copy_shrunk_long.pass.cpp
M libcxx/test/libcxx-03/strings/c.strings/constexpr_memmove.pass.cpp
M libcxx/test/libcxx-03/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/libcxx-03/utilities/function.objects/func.require/bullet_1_2_3.pass.cpp
M libcxx/test/libcxx-03/utilities/function.objects/func.require/bullet_4_5_6.pass.cpp
M libcxx/test/libcxx-03/utilities/function.objects/func.require/bullet_7.pass.cpp
M libcxx/test/libcxx-03/utilities/function.objects/func.require/invoke.pass.cpp
M libcxx/test/libcxx-03/utilities/function.objects/func.require/invoke_helpers.h
M libcxx/test/libcxx-03/utilities/is_pointer_in_range.pass.cpp
M libcxx/test/libcxx-03/utilities/is_valid_range.pass.cpp
M libcxx/test/libcxx-03/utilities/memory/pointer.conversion/to_address.pass.cpp
M libcxx/test/libcxx-03/utilities/memory/pointer.conversion/to_address_std_iterators.pass.cpp
M libcxx/test/libcxx-03/utilities/meta/is_referenceable.compile.pass.cpp
M libcxx/test/libcxx-03/utilities/no_destroy.pass.cpp
M libcxx/test/libcxx-03/utilities/utility/pairs/pairs.pair/abi.non_trivial_copy_move.pass.cpp
M libcxx/test/libcxx-03/utilities/utility/pairs/pairs.pair/abi.trivial_copy_move.pass.cpp
M libcxx/test/libcxx-03/utilities/utility/pairs/pairs.pair/abi.trivially_copyable.compile.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.obs.pass.cpp
A libcxx/test/libcxx/containers/views/mdspan/nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/deque.nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/flat_map.nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/flat_set.nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/queue.nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/utility.nodiscard.verify.cpp
A libcxx/test/libcxx/language.support/nodiscard.verify.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
A libcxx/test/libcxx/thread/nodiscard.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
R libcxx/test/std/thread/thread.jthread/nodiscard.verify.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/const_optional_U.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/ctor.verify.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/deduct.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/deduct.verify.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/default.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/empty_in_place_t_does_not_clobber.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_const_optional_U.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_optional_U.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/initializer_list.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/optional_U.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
M libcxx/test/support/platform_support.h
M libcxx/utils/ci/run-buildbot
M lld/ELF/Arch/RISCV.cpp
A lld/ELF/Arch/RISCVInternalRelocations.h
M lld/ELF/Target.cpp
M lld/MachO/Driver.cpp
M lld/MachO/InputFiles.cpp
M lld/test/ELF/riscv-vendor-relocations.s
M lld/test/MachO/read-workers.s
A lld/test/wasm/wrap_import.s
M lld/wasm/Driver.cpp
M lld/wasm/SyntheticSections.cpp
M lldb/bindings/interface/SBTargetExtensions.i
M lldb/examples/python/templates/scripted_process.py
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Target/Process.h
M lldb/packages/Python/lldbsuite/test/builders/darwin.py
M lldb/packages/Python/lldbsuite/test/dotest.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
M lldb/source/API/SBTarget.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Utility/RegisterValue.cpp
A lldb/test/API/commands/frame/var-dil/expr/PointerArithmetic/TestFrameVarDILExprPointerArithmetic.py
R lldb/test/API/commands/frame/var-dil/expr/PointerArithmetic/TestFrameVarDILPointerArithmetic.py
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
A lldb/test/Shell/SymbolFile/PDB/add-symbols.cpp
M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
M llvm/docs/GettingInvolved.rst
M llvm/docs/InstCombineContributorGuide.md
M llvm/docs/KeyInstructionsDebugInfo.md
M llvm/docs/LangRef.rst
M llvm/docs/QualGroup.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/Telemetry.rst
M llvm/include/llvm/Analysis/Delinearization.h
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Argument.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsRISCVXCV.td
M llvm/include/llvm/IR/LLVMContext.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/TargetParser/X86TargetParser.h
M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
M llvm/lib/Analysis/Delinearization.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContext.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/ReplaceConstant.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/Object/Archive.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrGISel.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/ARC/ARC.td
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.h
M llvm/lib/Target/ARM/ARMInstrCDE.td
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/CMakeLists.txt
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/PPCInstrFuture.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
M llvm/lib/Target/Sparc/SparcCallingConv.td
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Analysis/CostModel/AArch64/fshl.ll
M llvm/test/Analysis/CostModel/AArch64/fshr.ll
M llvm/test/Analysis/Delinearization/a.ll
M llvm/test/Analysis/Delinearization/constant_functions_multi_dim.ll
M llvm/test/Analysis/Delinearization/divide_by_one.ll
M llvm/test/Analysis/Delinearization/fixed_size_array.ll
M llvm/test/Analysis/Delinearization/himeno_1.ll
M llvm/test/Analysis/Delinearization/himeno_2.ll
M llvm/test/Analysis/Delinearization/iv_times_constant_in_subscript.ll
M llvm/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_3d.ll
M llvm/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_nts_3d.ll
M llvm/test/Analysis/Delinearization/multidim_ivs_and_parameteric_offsets_3d.ll
M llvm/test/Analysis/Delinearization/multidim_only_ivs_2d.ll
M llvm/test/Analysis/Delinearization/multidim_only_ivs_3d.ll
M llvm/test/Analysis/Delinearization/multidim_only_ivs_3d_cast.ll
M llvm/test/Analysis/Delinearization/multidim_two_accesses_different_delinearization.ll
M llvm/test/Analysis/Delinearization/parameter_addrec_product.ll
M llvm/test/Analysis/Delinearization/terms_with_identity_factor.ll
M llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
A llvm/test/Assembler/invalid-ptrauth-const6.ll
A llvm/test/Bitcode/aarch64-sve-rev-upgrade.ll
A llvm/test/Bitcode/aarch64-sve-rev-upgrade.ll.bc
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Bitcode/operand-bundles-bc-analyzer.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/aarch64-isel-umin.ll
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
A llvm/test/CodeGen/AArch64/deactivation-symbols.ll
A llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/fp16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AArch64/insert-extend.ll
M llvm/test/CodeGen/AArch64/insert-subvector.ll
M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
M llvm/test/CodeGen/AArch64/neon-widen-shuffle.ll
A llvm/test/CodeGen/AArch64/ptrauth-irelative.ll
M llvm/test/CodeGen/AArch64/ptrauth-type-info-vptr-discr.ll
M llvm/test/CodeGen/AArch64/reduce-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-indexed-arithmetic.ll
A llvm/test/CodeGen/AArch64/sve-masked-compressstore-sve2p2.ll
A llvm/test/CodeGen/AArch64/sve-masked-compressstore.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/global-address.ll
M llvm/test/CodeGen/AMDGPU/lower-kernel-lds-constexpr.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-constantexpr.ll
A llvm/test/CodeGen/AMDGPU/same-lds-variable-multiple-use-in-one-phi-node.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
M llvm/test/CodeGen/DirectX/CBufferAccess/gep-ce-two-uses.ll
A llvm/test/CodeGen/LoongArch/lasx/rotl-rotr.ll
A llvm/test/CodeGen/LoongArch/lsx/rotl-rotr.ll
A llvm/test/CodeGen/MIR/AArch64/deactivation-symbols.mir
M llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_print.txt
M llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_wo=0.5_print.txt
A llvm/test/CodeGen/RISCV/xcvelw.ll
A llvm/test/CodeGen/SPARC/fp128-abi.ll
M llvm/test/CodeGen/SPARC/fp16-promote.ll
M llvm/test/CodeGen/SPARC/llvm.sincos.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_float_controls2/disabled-on-amd.ll
A llvm/test/CodeGen/SystemZ/zos-ppa1-argarea.ll
A llvm/test/CodeGen/SystemZ/zos-target-flags.ll
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks-2-preds.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks-ctrl-flow.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks-non-consecutive-ins.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-3-blocks-kill-vpr.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-1-ins.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-2-ins.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-4-ins.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-elses.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-optnone.mir
M llvm/test/CodeGen/X86/addcarry.ll
A llvm/test/CodeGen/X86/haddsubsat.ll
M llvm/test/CodeGen/X86/kmov.ll
M llvm/test/CodeGen/X86/srem-vector-lkk.ll
M llvm/test/CodeGen/X86/urem-vector-lkk.ll
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
M llvm/test/MC/AMDGPU/gfx12_asm_sopk.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt
M llvm/test/MC/Disassembler/PowerPC/ppc-encoding-ISAFuture.txt
M llvm/test/MC/Disassembler/PowerPC/ppc64le-encoding-ISAFuture.txt
M llvm/test/MC/PowerPC/ppc-encoding-ISAFuture.s
M llvm/test/MC/PowerPC/ppc64-errors.s
A llvm/test/MC/RISCV/corev/XCVelw-pseudo.s
A llvm/test/Transforms/AggressiveInstCombine/umulh_carry.ll
A llvm/test/Transforms/AggressiveInstCombine/umulh_carry4.ll
A llvm/test/Transforms/AggressiveInstCombine/umulh_ladder.ll
A llvm/test/Transforms/AggressiveInstCombine/umulh_ladder4.ll
M llvm/test/Transforms/IndVarSimplify/floating-point-iv.ll
A llvm/test/Transforms/InstCombine/get_vector_length.ll
M llvm/test/Transforms/InstCombine/icmp-select.ll
M llvm/test/Transforms/InstCombine/ptrauth-intrinsics.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/vectorize-redund-loads.ll
M llvm/test/Transforms/LoopUnroll/partial-unroll-reductions.ll
M llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
A llvm/test/Transforms/LoopVectorize/AArch64/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/cse-casts.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll
M llvm/test/Transforms/LoopVectorize/pr43166-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
A llvm/test/Transforms/LoopVectorize/select-fmax-last-index.ll
A llvm/test/Transforms/LoopVectorize/select-fmin-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-index-interleaving.ll
M llvm/test/Transforms/LoopVectorize/select-smax-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-smin-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-umax-last-index.ll
M llvm/test/Transforms/LoopVectorize/select-umin-first-index.ll
M llvm/test/Transforms/LoopVectorize/select-umin-last-index.ll
M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
A llvm/test/Transforms/SLPVectorizer/X86/multi-node-user-with-copyable-ops.ll
A llvm/test/Transforms/SimplifyCFG/skip-merging-duplicate-convergence-instrinsics.ll
M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/darwin.ll
A llvm/test/Transforms/Util/DeclareRuntimeLibcalls/emscripten.ll
A llvm/test/Transforms/Util/DeclareRuntimeLibcalls/xcore.ll
A llvm/test/Verifier/ptrauth-constant.ll
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-sve-instructions.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vle-vse-vlm.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlse-vsse.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlseg-vsseg.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlxe-vsxe.s
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/tools/llvm-objdump/SourcePrinter.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp
M llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/Transforms/Utils/ValueMapperTest.cpp
M llvm/utils/TableGen/Basic/VTEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/README.md
A llvm/utils/git/requirements_upload_release.txt
A llvm/utils/git/requirements_upload_release.txt.in
M llvm/utils/gn/secondary/llvm/lib/Target/ARM/Disassembler/BUILD.gn
M llvm/utils/release/github-upload-release.py
M mlir/docs/Dialects/NVVMDialect.md
M mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/include/mlir/Dialect/UB/IR/UBOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Conversion/UBToLLVM/UBToLLVM.cpp
M mlir/lib/Conversion/UBToSPIRV/UBToSPIRV.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
A mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitDeclare.cpp
M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Tosa/Transforms/TosaArithConstantToConst.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Analysis/DataFlow/test-liveness-analysis.mlir
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Conversion/UBToLLVM/ub-to-llvm.mlir
M mlir/test/Conversion/UBToSPIRV/ub-to-spirv.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
A mlir/test/Dialect/LLVMIR/invalid-cg-profile.mlir
A mlir/test/Dialect/LLVMIR/nvvm-mma-sp-kind.mlir
A mlir/test/Dialect/LLVMIR/nvvm-mma-sp-ordered.mlir
A mlir/test/Dialect/LLVMIR/nvvm-mma-sp.mlir
M mlir/test/Dialect/LLVMIR/nvvm/invalid-convert-stochastic-rounding.mlir
A mlir/test/Dialect/OpenACC/acc-implicit-declare.mlir
M mlir/test/Dialect/SCF/uplift-while.mlir
A mlir/test/Dialect/Tosa/tosa-arith-const-to-tosa-const.mlir
A mlir/test/Dialect/Transform/include-failure-propagation.mlir
M mlir/test/Dialect/UB/ops.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
M mlir/test/Target/LLVMIR/Import/metadata-profiling.ll
A mlir/test/Target/LLVMIR/nvvm/convert_fp16x2.mlir
M mlir/test/Target/LLVMIR/nvvm/convert_stochastic_rounding.mlir
A mlir/test/Target/LLVMIR/nvvm/invalid_convert_fp16x2.mlir
A mlir/test/Target/LLVMIR/nvvm/permute_invalid.mlir
A mlir/test/Target/LLVMIR/nvvm/permute_valid.mlir
A mlir/test/Target/LLVMIR/openmp-dist_schedule.mlir
A mlir/test/Target/LLVMIR/openmp-dist_schedule_with_wsloop.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
A mlir/test/Transforms/test-legalizer-no-rollback.mlir
M mlir/test/lib/Analysis/DataFlow/TestLivenessAnalysis.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp
M runtimes/cmake/Modules/HandleLibC.cmake
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Merge remote-tracking branch 'official/main' into users/meinersbur/openmp_hoist-module
Compare: https://github.com/llvm/llvm-project/compare/71005de0ca6d...0d102000c826
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