[all-commits] [llvm/llvm-project] 36dd19: [CIR] Upstream global initialization for ComplexTy...
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Tue Jun 10 07:37:26 PDT 2025
Branch: refs/heads/users/kparzysz/spr/a04-atomic-one
Home: https://github.com/llvm/llvm-project
Commit: 36dd1993a8d06c4ddd5732f926bcffacbb513649
https://github.com/llvm/llvm-project/commit/36dd1993a8d06c4ddd5732f926bcffacbb513649
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/complex.cpp
A clang/test/CIR/IR/complex.cir
A clang/test/CIR/IR/invalid-complex.cir
Log Message:
-----------
[CIR] Upstream global initialization for ComplexType (#141369)
This change adds support for zero and global init for ComplexType
#141365
Commit: af54790ca0a3d55d58c2cd7c07d3c4e16c689c72
https://github.com/llvm/llvm-project/commit/af54790ca0a3d55d58c2cd7c07d3c4e16c689c72
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/deferred-fn-defs.cpp
Log Message:
-----------
[CIR] Defer emitting function definitions (#142862)
This change implements deferring function definition emission until
first use.
Commit: e953623f50929dfa038d4d7d234f9822d63dc729
https://github.com/llvm/llvm-project/commit/e953623f50929dfa038d4d7d234f9822d63dc729
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vl.ll
Log Message:
-----------
[X86] combineX86ShuffleChainWithExtract - ensure subvector widening is at index 0 (#143009)
When peeking through insert_subvector(undef,sub,c) widening patterns we
didn't ensure c == 0
Fixes #142995
Commit: 051945304b1dc0bc2e7c9336a1d34c998ca16d05
https://github.com/llvm/llvm-project/commit/051945304b1dc0bc2e7c9336a1d34c998ca16d05
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M offload/test/lit.cfg
Log Message:
-----------
[Offload] Fix APU detection for MI300 testing (#143026)
Summary:
We have this check when the target is MI300 but it fails if this
environment variable isn't set. Set a default value of '0' if not
present so that will be converted to bool false.
Commit: 01b9828a66fec1fa3257c1d054a7ee50717c6eaf
https://github.com/llvm/llvm-project/commit/01b9828a66fec1fa3257c1d054a7ee50717c6eaf
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Remove unneeded friend classes from VPValue (NFC).
None of the removed classes makes use of the friendship relationship.
Commit: b58b3e1d36f12b3f320e574cd82eed4ff111c9bf
https://github.com/llvm/llvm-project/commit/b58b3e1d36f12b3f320e574cd82eed4ff111c9bf
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/Transforms/MemProfContextDisambiguation/duplicate-context-ids.ll
M llvm/test/Transforms/MemProfContextDisambiguation/tailcall-nonunique.ll
Log Message:
-----------
[MemProf] Add dot graph dumping immediately after stack node update (#143025)
To aid in debugging, (optionally) dump the dot graph immediately after
the stack update phase (which matches nodes to interior callsites) and
before we cleanup mismatched callee edges (either via tail call fixup,
indirect call fixup, or nulling otherwise).
Commit: 1d6e8ec17d547a5f8a0db700dc107a2cd7a321e1
https://github.com/llvm/llvm-project/commit/1d6e8ec17d547a5f8a0db700dc107a2cd7a321e1
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
A llvm/test/CodeGen/DirectX/noop_bitcast_global_array_type.ll
Log Message:
-----------
Adjust bit cast instruction filter for DXIL Prepare pass (#142678)
This PR addresses a specific edge case when deciding whether or not to
produce a bitcast instruction.
Specifically, when the given instruction is a global array, the element
type of the array wasn't correctly compared to the return type. In this
specific case, if the types are equal, a bitcast shouldn't be created,
but it was.
This PR checks to see if the element type of the array is the same as
the return type, and if it is, it doesn't create a bitcast instruction.
Fixes https://github.com/llvm/llvm-project/issues/139013
Commit: 49386f40dd66ababe9bfde64c14cf3bfba5774c1
https://github.com/llvm/llvm-project/commit/49386f40dd66ababe9bfde64c14cf3bfba5774c1
Author: Vincent <llvm at viceroygroup.ca>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
A clang/test/SemaCXX/gh139818.cpp
Log Message:
-----------
[Clang] Run destructors of variables declared in the second part of a `for` loop during constant evaluation (#140278)
Within the condition statement of the for block, the destructor doesn't
get called when evaluating compile time constants.
Resolves #139818
Commit: c66b72f8ce4d12b6fa12f9b359b114fae5d2dcff
https://github.com/llvm/llvm-project/commit/c66b72f8ce4d12b6fa12f9b359b114fae5d2dcff
Author: asraa <asraa at google.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] remove tensor.insert constant folding out of canonicalization (#142671)
Follow ups from https://github.com/llvm/llvm-project/pull/142458/
In particular concerns that indiscriminately folding tensor constants
can lead to bloating the IR as these can be arbitrarily large.
Signed-off-by: Asra Ali <asraa at google.com>
Commit: 52075f01a70990ce5e4b89f825d417a903a8dbe6
https://github.com/llvm/llvm-project/commit/52075f01a70990ce5e4b89f825d417a903a8dbe6
Author: John Harrison <harjohn at google.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/EventHelper.h
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/ProtocolUtils.cpp
M lldb/tools/lldb-dap/ProtocolUtils.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Migrating 'threads' request to structured types. (#142510)
Moving `threads` request to structured types. Adding helper types for
this and moving helpers from JSONUtils to ProtocolUtils.
---------
Co-authored-by: Ebuka Ezike <yerimyah1 at gmail.com>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: e2ae39d0dfb072642c9943eb1ed7fe2a100d9ad0
https://github.com/llvm/llvm-project/commit/e2ae39d0dfb072642c9943eb1ed7fe2a100d9ad0
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/test/CIR/CodeGen/namespace.cpp
Log Message:
-----------
[CIR] Add empty handlers for Using and UsingShadow decls (#143032)
This adds emitTopLevelDecl "handlers" for Using and UsingShadow. These
don't actually need any handling, but they need to be present in the
switch to avoid hitting the default handler, which issues a diagnostic
about the decl kind not being implemented.
There are several other decl kinds that don't need any handling. Those
will be added when I have test cases for them.
Commit: 85480a4d37b4d3eaf5ea86f642978cc834e1a47e
https://github.com/llvm/llvm-project/commit/85480a4d37b4d3eaf5ea86f642978cc834e1a47e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/lib/Interfaces/ViewLikeInterface.cpp
Log Message:
-----------
[mlir] Directly call ShapedType::isDynamic without lambdas (NFC) (#142994)
We do not need lambdas in these places.
Commit: 34c011d544c8b562a4e5be86d8fc8e531de961bd
https://github.com/llvm/llvm-project/commit/34c011d544c8b562a4e5be86d8fc8e531de961bd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/MapVector.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/MC/StringTableBuilder.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
Log Message:
-----------
[llvm] Use *Map::try_emplace (NFC) (#143002)
- try_emplace(Key) is shorter than insert(std::make_pair(Key, 0)).
- try_emplace performs value initialization without value parameters.
- We overwrite values on successful insertion anyway.
Commit: f961d6a89abe5a6fb70afc043f33b2efcec77536
https://github.com/llvm/llvm-project/commit/f961d6a89abe5a6fb70afc043f33b2efcec77536
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp
Log Message:
-----------
Revert "[lldb] Set default object format to `MachO` in `ObjectFileMachO` (#142704)"
This reverts commit d4d2f069dec4fb8b13447f52752d4ecd08d976d6.
Temporarily reverting until we can find a way to get the correct
ObjectFile set in Module's Triples without adding "-macho" to the
triple string for each Module. This is breaking TestUniversal.py
on the x86_64 macOS CI bots.
Commit: cd585864c0bbbd74ed2a2b1ccc191eed4d1c8f90
https://github.com/llvm/llvm-project/commit/cd585864c0bbbd74ed2a2b1ccc191eed4d1c8f90
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/include/KaleidoscopeJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
M llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
M llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp
M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
Log Message:
-----------
Pass memory buffer to RuntimeDyld::MemoryManager factory (#142930)
`RTDyldObjectLinkingLayer` is currently creating a memory manager
without any parameters.
In this PR I am passing the MemoryBuffer that will be emitted to the
MemoryManager so that the user can use it to configure the behaviour of
the MemoryManager.
Commit: 6c1ca07586196c5a693f720d35a9a4be6e76d7d2
https://github.com/llvm/llvm-project/commit/6c1ca07586196c5a693f720d35a9a4be6e76d7d2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/template-specialization.cpp
Log Message:
-----------
[CIR] Add decl case for template specialization (#143029)
This change adds the switch case to allow template specialization to
pass through emitTopLevelDecl without issuing an error.
Commit: 16b0d2f91097df95efea23e353ebead08e1ec727
https://github.com/llvm/llvm-project/commit/16b0d2f91097df95efea23e353ebead08e1ec727
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/include/llvm/Support/DebugCounter.h
Log Message:
-----------
[NFC] mark DebugCounter::Chunk method as const (#143039)
Commit: de3a9ea510fecd501b4dd57534cf300d1c9622c9
https://github.com/llvm/llvm-project/commit/de3a9ea510fecd501b4dd57534cf300d1c9622c9
Author: Wenju He <wenju.he at intel.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libclc/clc/lib/generic/geometric/clc_dot.cl
A libclc/clc/lib/generic/geometric/clc_dot.inc
M libclc/opencl/lib/generic/geometric/dot.cl
Log Message:
-----------
[NFC][libclc] Simplify clc_dot and dot implementation (#142922)
llvm-diff shows no change to amdgcn--amdhsa.bc
Commit: c21218312ee241de020e440330bb0ec7e557031b
https://github.com/llvm/llvm-project/commit/c21218312ee241de020e440330bb0ec7e557031b
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
Log Message:
-----------
[DirectX] add maybe_unused to IsVolatile in legalizeMemCpy. (#143040)
fixes a warning when building release.
Commit: 76c4ba6a1de4643bbe7096c0c16aa40cd825bb4a
https://github.com/llvm/llvm-project/commit/76c4ba6a1de4643bbe7096c0c16aa40cd825bb4a
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/test/CodeGen/DirectX/flatten-array.ll
M llvm/test/CodeGen/DirectX/flatten-bug-117273.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
R llvm/test/CodeGen/DirectX/noop_bitcast_global_array_type.ll
M llvm/test/CodeGen/DirectX/scalar-bug-117273.ll
Log Message:
-----------
Revert "[DirectX] Array GEPs need two indices (#142853)" and "Adjust bit cast instruction filter for DXIL Prepare pass (#142678)" (#143043)
- This reverts commit 9ab4c16042a38d5b80084afff52699e246ca9ea8.
- This reverts commit 1d6e8ec17d547a5f8a0db700dc107a2cd7a321e1.
Noticed a really weird behavior where release and debug builds have
different codegen for loads with geps after this PR. This is going to
take a minute to debug and figure out why so revert seems to make the
most sense.
```diff
diff --git a/llvm/test/CodeGen/DirectX/flatten-array.ll b/llvm/test/CodeGen/DirectX/flatten-array.ll
index 47d7b50cf018..efa9efeff13a 100644
--- a/llvm/test/CodeGen/DirectX/flatten-array.ll
+++ b/llvm/test/CodeGen/DirectX/flatten-array.ll
@@ -123,7 +123,8 @@ define void @gep_4d_test () {
@b = internal global [2 x [3 x [4 x i32]]] zeroinitializer, align 16
define void @global_gep_load() {
- ; CHECK: load i32, ptr getelementptr inbounds ([24 x i32], ptr @a.1dim, i32 0, i32 6), align 4
+ ; CHECK: %1 = getelementptr inbounds [24 x i32], ptr @a.1dim, i32 0, i32 6
+ ; CHECK-NEXT: %2 = load i32, ptr %1, align 4
; CHECK-NEXT: ret void
%1 = getelementptr inbounds [2 x [3 x [4 x i32]]], [2 x [3 x [4 x i32]]]* @a, i32 0, i32 0
%2 = getelementptr inbounds [3 x [4 x i32]], [3 x [4 x i32]]* %1, i32 0, i32 1
@@ -176,7 +177,8 @@ define void @global_incomplete_gep_chain(i32 %row, i32 %col) {
}
define void @global_gep_store() {
- ; CHECK: store i32 1, ptr getelementptr inbounds ([24 x i32], ptr @b.1dim, i32 0, i32 13), align 4
+ ; CHECK: %1 = getelementptr inbounds [24 x i32], ptr @b.1dim, i32 0, i32 13
+ ; CHECK-NEXT: store i32 1, ptr %1, align 4
; CHECK-NEXT: ret void
```
Commit: 7730093596b898fa2773003f396da4b3ad1f3c0a
https://github.com/llvm/llvm-project/commit/7730093596b898fa2773003f396da4b3ad1f3c0a
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
R lldb/unittests/SymbolFile/DWARF/SymbolFileDWARFDebugMapTests.cpp
Log Message:
-----------
Revert "[lldb] Don't create instance of `SymbolFileDWARFDebugMap` for non-Mach-O files (#139170)"
This reverts commit 3096f8768676bd64123270cc59b7cc904a72d875.
Reverting this commit because it depends on another PR
that was reverted, https://github.com/llvm/llvm-project/pull/142704
Both can be reapplied once we find a correct fix for that.
Commit: a23bd179cce86c8635bc20b813ee84ebfeed8f5f
https://github.com/llvm/llvm-project/commit/a23bd179cce86c8635bc20b813ee84ebfeed8f5f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/and-shl.ll
Log Message:
-----------
[RISCV] Remove artificial restriction on ShAmt from (shl (and X, C2), C) -> (srli (slli X, C4), C4-C) isel. (#143010)
This code unnecessarily inherited a `ShAmt <= 32` check from an earlier
pattern.
Commit: d3950433008cc524f0d93882f057026f88e346d8
https://github.com/llvm/llvm-project/commit/d3950433008cc524f0d93882f057026f88e346d8
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/test/CodeGen/RISCV/rv32xandesperf.ll
M llvm/test/CodeGen/RISCV/rv64xandesperf.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Select unsigned bitfield insert for XAndesPerf (#142737)
The XAndesPerf extension includes unsigned bitfield extraction
instruction `NDS.BFOZ`, which can extract the bits from 0 to Len -1,
place them starting at bit Msb, and zero-fills the remaining bits.
This patch handles the cases where Msb < Lsb for `NDS.BFOZ`.
Instruction Sytax:
nds.bfoz Rd, Rs1, Msb, Lsb
The operation is:
if Msb < Lsb:
Lenm1 = Lsb - Msb;
Rd[Lsb:Msb] = Rs1[Lenm1:0];
if (Lsb < (XLen -1)) Rd[XLen-1:Lsb+1]=0;
Rd[Msb-1:0]=0;
When Len == 1, it is a special case where the Msb is set to 0 instead of
being equal to the Lsb.
Commit: deaf2537c29a8973dd34ca551913681ae9c49c3c
https://github.com/llvm/llvm-project/commit/deaf2537c29a8973dd34ca551913681ae9c49c3c
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Add missing immediate operand type for verifyInstruction. NFC. (#143056)
Those immediate operand type are used by Insn{16,32,48,64}.
Commit: 93b0bf635a287aac55f6da39f38c1cf257efa824
https://github.com/llvm/llvm-project/commit/93b0bf635a287aac55f6da39f38c1cf257efa824
Author: fleeting-xx <bakerdt at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
A clang-tools-extra/clangd/test/module_dependencies.test
Log Message:
-----------
[clangd] [Modules] Fix to correctly handle module dependencies (#142828)
This is a re-application of llvm/llvm-project#142090 without the unit
test changes. A subsequent PR will follow that adds a unit test for
module dependencies.
### Changes
- Fix dangling string references in the return value of
getAllRequiredModules()
- Change a couple of calls in getOrBuildModuleFile() to use the loop
variable instead of the ModuleName parameter.
@ChuanqiXu9 for review
Commit: 0a1fdbe4df326a237e775c81de37aa9ddbb714e0
https://github.com/llvm/llvm-project/commit/0a1fdbe4df326a237e775c81de37aa9ddbb714e0
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
Log Message:
-----------
[lldb] Fix linux x64 test (#143048)
`TestStopHookScripted.py` Was failing for cases where -I 0 was not
passed to stop-hook add calls.
Commit: 1728405b13781f2e2696ed2679c9d05101116fa2
https://github.com/llvm/llvm-project/commit/1728405b13781f2e2696ed2679c9d05101116fa2
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/SyntheticSections.cpp
A lld/test/ELF/riscv-feature-zicfilp-func-sig.s
A lld/test/ELF/riscv-feature-zicfilp-unlabeled.s
A lld/test/ELF/riscv-feature-zicfiss.s
Log Message:
-----------
[LLD][ELF][RISCV][Zicfilp] Handle .note.gnu.property sections for Zicfilp/Zicfiss features (#127193)
+ When all relocatable files contain a `.note.gnu.property` section
(with `NT_GNU_PROPERTY_TYPE_0` notes) which contains a
`GNU_PROPERTY_RISCV_FEATURE_1_AND` property in which the
`GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED`/`GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_FUNC_SIG`/`GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_SS`
bit is set:
+ The output file will contain a `.note.gnu.property` section with the
bit set
+ A `PT_GNU_PROPERTY` program header is created to encompass the
`.note.gnu.property` section
+ If `-z zicfilp-unlabeled-report=[warning|error]`/`-z
zicfilp-func-sig-report=[warning|error]`/`-z
zicfiss-report=[warning|error]` is specified, the linker will report a
warning or error for any relocatable file lacking the feature bit
RISC-V Zicfilp/Zicfiss features indicate their adoptions as bits in the
`.note.gnu.property` section of ELF files. This patch enables LLD to
process the information correctly by parsing, checking and merging the
bits from all input ELF files and writing the merged result to the
output ELF file.
These feature bits are encoded as a mask in each input ELF files and
intended to be "and"-ed together to check that all input files support a
particular feature.
For RISC-V Zicfilp features, there are 2 conflicting bits allocated:
`GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED` and
`GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_FUNC_SIG`. They represent the
adoption of the forward edge protection of control-flow integrity with
the "unlabeled" or "func-sig" policy. Since these 2 policies conflicts
with each other, these 2 bits also conflict with each other. This patch
adds the `-z zicfilp-unlabeled-report=[none|warning|error]` and `-z
zicfilp-func-sig-report=[none|warning|error]` commandline options to
make LLD report files that do not have the expected bits toggled on.
For RISC-V Zicfiss feature, there's only one bit allocated:
`GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS`. This bit indicates that the ELF
file supports Zicfiss-based shadow stack. This patch adds the `-z
zicfiss-report=[none|warning|error]` commandline option to make LLD
report files that do not have the expected bit toggled on.
The adoption of the `.note.gnu.property` section for RISC-V targets can
be found in the psABI PR
<https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/417>
(`CFI_LP_UNLABELED` and `CFI_SS`) and PR
<https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/434>
(`CFI_LP_FUNC_SIG`).
Commit: 05c12b228434fea560e6edb25289095b5aa5e10a
https://github.com/llvm/llvm-project/commit/05c12b228434fea560e6edb25289095b5aa5e10a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Handle requires clause following a pointer type (#142893)
Fix #142818
Commit: f8df24015ae2e3c76673c2c9d7a6e4201a68bebd
https://github.com/llvm/llvm-project/commit/f8df24015ae2e3c76673c2c9d7a6e4201a68bebd
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/add_sext_shl_constant.ll
M llvm/test/CodeGen/RISCV/add_shl_constant.ll
Log Message:
-----------
[RISCV] Don't commute with shift if XAndesPerf is enabled (#142920)
More nds.lea.{h,w,d} are generated, similar to sh{1,2,3}add
Commit: 2a8c7d3c693b2e54bee89ee98b3e844cbb97ff6a
https://github.com/llvm/llvm-project/commit/2a8c7d3c693b2e54bee89ee98b3e844cbb97ff6a
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add support for -mtune=andes-45-series (#142900)
Enables the use of `-mtune=andes-45-series` to generate code optimized
with the Andes 45 series scheduling model and tuning features.
Commit: ea709c7dcdcfc93b0fe58dbe97c62ebcb93cd244
https://github.com/llvm/llvm-project/commit/ea709c7dcdcfc93b0fe58dbe97c62ebcb93cd244
Author: Lang Hames <lhames at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/LLJITWithGDBRegistrationListener.cpp
M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
Log Message:
-----------
[ORC] Fix examples after cd585864c0b.
cd585864c0b added a MemoryBuffer argument to the memory manager factory. This
patch updates the examples to reflect that change.
Commit: d5d6f60632c6c6ef5a4342439f767e10880784e1
https://github.com/llvm/llvm-project/commit/d5d6f60632c6c6ef5a4342439f767e10880784e1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
[ValueTracking] Support scalable vectors for ExtractElement in computeKnownFPClass. (#143051)
We can support scalable vectors by setting the demanded mask to APInt(1,
1) to demand the whole vector.
Commit: 4eac8daa38990871e50b804c0cc19a3ad9c98db2
https://github.com/llvm/llvm-project/commit/4eac8daa38990871e50b804c0cc19a3ad9c98db2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/test/Transforms/LoopUnroll/unroll-and-peel-last-iteration.ll
Log Message:
-----------
[LoopPeel] Handle non-local instructions/arguments when updating exiting values (#142993)
Similar to
https://github.com/llvm/llvm-project/commit/7e14161f49b32387988cf9d937bbfaa27d0fbdd5,
the exiting value may be a non-local instruction or an argument.
Closes https://github.com/llvm/llvm-project/issues/142895.
Commit: 7005a7663871d05c41c941ec83717cde054bc9f1
https://github.com/llvm/llvm-project/commit/7005a7663871d05c41c941ec83717cde054bc9f1
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/test/TableGen/trydecode-emission.td
M llvm/test/TableGen/trydecode-emission2.td
M llvm/test/TableGen/trydecode-emission3.td
M llvm/test/TableGen/trydecode-emission4.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Print DecodeIdx for DecodeOps in DecoderEmitter (#142963)
Print DecodeIdx associated with Decode MCD ops in the generated decoder
tables. This can help in debugging decode failures by first mapping the
Op -> DecodeIdx and then inspecting the code in `decodeToMCInst`
associated with that DecodeIdx.
Commit: b8a4a3b99cb51b6ec8e3106cc81c434946f7b3d6
https://github.com/llvm/llvm-project/commit/b8a4a3b99cb51b6ec8e3106cc81c434946f7b3d6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/InstCombine/select-and-or.ll
Log Message:
-----------
[ValueTracking] Support scalable vector splats of ConstantInt/ConstantFP in isGuaranteedNotToBeUndefOrPoison. (#142894)
Scalable vectors use insertelt+shufflevector ConstantExpr to
represent a splat.
Commit: aaec9e5f5b1abb79bda62ca7cb25258acfb1acc3
https://github.com/llvm/llvm-project/commit/aaec9e5f5b1abb79bda62ca7cb25258acfb1acc3
Author: Michele Scuttari <michele.scuttari at outlook.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
Log Message:
-----------
[MLIR] Keep cached symbol tables across buffer deallocation insertions (#141956)
The `DeallocationState` class has been modified to keep a reference to an externally owned `SymbolTableCollection` class, to preserve the cached symbol tables across multiple insertions of deallocation instructions.
Commit: bcf8ded8496dce39610a20cda7999a43f1eb0946
https://github.com/llvm/llvm-project/commit/bcf8ded8496dce39610a20cda7999a43f1eb0946
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/MC/MCContext.cpp
Log Message:
-----------
[MC] Remove dead code. (#114798)
Commit: ad6631fb0db6d25665b135bcd48bb9667e894017
https://github.com/llvm/llvm-project/commit/ad6631fb0db6d25665b135bcd48bb9667e894017
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SCCP.cpp
Log Message:
-----------
[SCCP] Directly call SCCPSolver::isOverdefined (NFC) (#143059)
We don't need a lambda here.
Commit: 445974547d3fae74ea1cb89f4c2b428491cab468
https://github.com/llvm/llvm-project/commit/445974547d3fae74ea1cb89f4c2b428491cab468
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/DebugInfoSupport.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/PerfSharedStructs.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.h
M llvm/lib/Analysis/CFG.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFOptions.td
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/CSKY/CSKYInstrAlias.td
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
M llvm/lib/Transforms/IPO/StripSymbols.cpp
M llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
Log Message:
-----------
[llvm] Ensure newline at the end of files (NFC) (#143061)
Without newlines at the end, git diff would display:
No newline at end of file
Commit: 678cdd67b957cb49e7fe2cce2610cd720cbdf130
https://github.com/llvm/llvm-project/commit/678cdd67b957cb49e7fe2cce2610cd720cbdf130
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Directly call isShuffleFoldableLoad (NFC) (#143060)
We don't need a lambda here.
Commit: 1d68abccb5de5be755f5600299444ae602a869a5
https://github.com/llvm/llvm-project/commit/1d68abccb5de5be755f5600299444ae602a869a5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iterator_traits.h
A libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.compile.pass.cpp
R libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp
Log Message:
-----------
[libc++] Move _ITER_TRAITS and _ITER_CONCEPT into <__iterator/concepts.h> (#140528)
`_ITER_TRAITS` and `_ITER_CONCEPT` are really implenentation details of
`<__iterator/concetps.h>`, so it makes more sense to put them there than
into `<__iterator/iterator_traits.h>`.
Commit: eb71fdde5709b0200b8be343088c763be0850ff6
https://github.com/llvm/llvm-project/commit/eb71fdde5709b0200b8be343088c763be0850ff6
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang-format] More consumeToken() cleanup (#143063)
Similar to #142104
Commit: b2266d6d79fc1dae145cef0de7358eb9e304075c
https://github.com/llvm/llvm-project/commit/b2266d6d79fc1dae145cef0de7358eb9e304075c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Rename fminimum_num/fmaximum_num enums (#143078)
Add the underscore to match the libm spelling
Commit: 10dd83d274e04bc974770d2ad8bb8e2b850a74d6
https://github.com/llvm/llvm-project/commit/10dd83d274e04bc974770d2ad8bb8e2b850a74d6
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
Log Message:
-----------
[AA] Merge isNonEscapingLocalObject() into SimpleCaptureAnalysis (NFC) (#142971)
isNonEscapingLocalObject() is only used by SimpleCaptureAnalysis and
tightly integrated with its implementation (in particular its cache), so
inline and simplify the implementation.
Commit: bbe5ceb22fab1049215711936e40458b2ea4e707
https://github.com/llvm/llvm-project/commit/bbe5ceb22fab1049215711936e40458b2ea4e707
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/test/CodeGen/Mips/jumptable_labels.ll
Log Message:
-----------
[Mips] When emit instruction, ignore JUMP_TABLE_DEBUG_INFO (#139830)
When -triple is windows, SelectionDAGLegalize process Legalizing br_jt,
would generate ISD::JUMP_TABLE_DEBUG_INFO.
Then Mips process emitInstruction, would think JUMP_TABLE_DEBUG_INFO is
a pseudo instruction and generate an error `Pseudo opcode found in
emitInstruction()`.
This instruction `TargetOpcode::JUMP_TABLE_DEBUG_INFO` is only used to
note jump table debug info, so we can ignore it when Mips emit
instruction.
Fix #134916.
Commit: 0f03f8ab2e625dd5563c41b21b0370e9680c51c6
https://github.com/llvm/llvm-project/commit/0f03f8ab2e625dd5563c41b21b0370e9680c51c6
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-trailing-return-type.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx14.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-wrong-config.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type.cpp
Log Message:
-----------
[clang-tidy] Add support for lambda-expression in `use-trailing-return-type` check (#135383)
Add support for lambda-expression in `use-trailing-return-type` check.
Added two new options:
1. `TransformFunctions` will trigger function declarations to use
trailing return type.
2. `TransformLambdas` will trigger lambda expression to use trailing
return type if it was not stated explicitly.
Fixed false positives when lambda was matched as a function in C++11
mode.
Closes https://github.com/llvm/llvm-project/issues/95711
Commit: f482b9677eb8e6f1b12ec74225dfe0d3c78ec854
https://github.com/llvm/llvm-project/commit/f482b9677eb8e6f1b12ec74225dfe0d3c78ec854
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/Lex/LiteralSupport.cpp
M clang/test/C/C2y/n3353.c
Log Message:
-----------
[C2y] Handle FP-suffixes on prefixed octals (#141230) (#141695)
Fixes https://github.com/llvm/llvm-project/issues/141230.
Currently, prefixed octal literals used with floating-point suffixes are
not
rejected, causing Clang to crash.
This adds proper handling to reject invalid literals such as `0o0.1` or
`0.0e1`.
No release note because this is fixing an issue with a new change.
Commit: 3f7b8852cd6926a83a448cd420a57f50bc9d600a
https://github.com/llvm/llvm-project/commit/3f7b8852cd6926a83a448cd420a57f50bc9d600a
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/IVDescriptors.cpp
Log Message:
-----------
[IVDesc] Drop unused arg in isConditionalRdxPattern (NFC) (#142942)
Commit: 6a41f53c39cb4a40a9085e26697f3460eb8bedb1
https://github.com/llvm/llvm-project/commit/6a41f53c39cb4a40a9085e26697f3460eb8bedb1
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/MutableBox.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/test/HLFIR/as_expr-codegen-polymorphic.fir
M flang/test/HLFIR/as_expr-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
M flang/test/HLFIR/element-codegen-issue-118922.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang][hlfir] do not propagate polymorphic temporary as allocatables (#142609)
Polymorphic temporary are currently propagated as
fir.ref<fir.class<fir.heap<>>> because their allocation may be delayed
to the hlfir.assign copy (using realloc).
This patch moves away from this and directly allocate the temp and
propagate it as a fir.class.
The polymorphic temporaries creating is also simplified by avoiding the
need to call the runtime to setup the descriptor altogether (the runtime
is still call for the allocation currently because alloca/allocmem do
not support polymorphism).
Commit: f10c7d9f5ace5dc55918ac3b86a2b06b0e358735
https://github.com/llvm/llvm-project/commit/f10c7d9f5ace5dc55918ac3b86a2b06b0e358735
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR][NFC] Use `getType()` instead of more verbose `getResult().getType()` (#143024)
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1662
Commit: 470f456567fb6c6ee8b6e51c06a64536ca076d74
https://github.com/llvm/llvm-project/commit/470f456567fb6c6ee8b6e51c06a64536ca076d74
Author: hev <wangrui at loongson.cn>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsLoongArch.td
M llvm/lib/Target/LoongArch/LoongArchExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-minmax.ll
Log Message:
-----------
[LoongArch] Add codegen support for atomic-ops on LA32 (#141557)
This patch adds codegen support for atomic operations `cmpxchg`, `max`,
`min`, `umax` and `umin` on the LA32 target.
Commit: 69183149189095966b9e7740d3b66126b754fbd1
https://github.com/llvm/llvm-project/commit/69183149189095966b9e7740d3b66126b754fbd1
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/display.py
M llvm/utils/lit/tests/Inputs/max-retries-per-test/allow-retries-no-test_retry_attempts/test.py
M llvm/utils/lit/tests/Inputs/max-retries-per-test/allow-retries-test_retry_attempts/test.py
M llvm/utils/lit/tests/Inputs/max-retries-per-test/no-allow-retries-test_retry_attempts/lit.cfg
M llvm/utils/lit/tests/allow-retries.py
Log Message:
-----------
[lit] show retry attempts (#142413)
If a test took more than one attempt to complete, show the number of attempts and the maximum allowed attempts as `2 of 4 attempts` inside the `<progress info>` (see [TEST RUN OUTPUT FORMAT](https://llvm.org/docs/CommandGuide/lit.html#test-run-output-format)).
NOTE: Additionally this is a fixup for #141851 where the tests were not quite right. `max-retries-per-test/allow-retries-test_retry_attempts/test.py` was added but never used there. Now we're calling it. To correlate better between the test output and the test script I've used higher numbers of max allowed retries.
Commit: 182c1c268fe0fea368b2ee4de997e9d040f563a9
https://github.com/llvm/llvm-project/commit/182c1c268fe0fea368b2ee4de997e9d040f563a9
Author: hev <wangrui at loongson.cn>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit for converting vector mask to `vXi1` using `[X]VMSKLTZ` (#142977)
Commit: 4d4b7cc69e3e633aa7c068cca93a3d4beba8615c
https://github.com/llvm/llvm-project/commit/4d4b7cc69e3e633aa7c068cca93a3d4beba8615c
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/test/CodeGen/AArch64/darwinpcs-tail.ll
M llvm/test/CodeGen/AArch64/scavenge-large-call.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-frame-offests-crash.ll
A llvm/test/CodeGen/AArch64/tail-call-stack-args.ll
Log Message:
-----------
[AArch64] Skip storing of stack arguments when lowering tail calls (#126735)
This issue starts in the selection DAG and causes the backend to emit
the following for a trivial tail call:
```
ldr w8, [sp]
str w8, [sp]
b func
```
I'm not too sure that checking for immutability of a specific stack
object is a good enough of a gurantee, because as soon a tail-call is
done lowering,`setHasTailCall()` is called and in that case perhaps a
pass is allowed to change the value of the object in-memory?
This can be extended to the ARM backend as well.
Removed the `tailcall` keyword from a few other test assets, I'm
assuming their original intent was left intact.
Commit: f849866fc5e62091088e3e2b58214c614437ff68
https://github.com/llvm/llvm-project/commit/f849866fc5e62091088e3e2b58214c614437ff68
Author: Michele Scuttari <michele.scuttari at outlook.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
Log Message:
-----------
[MLIR] Reduce complexity of searching circular function calls in bufferization (#142099)
The current algorithm searching for circular function calls scales quadratically due to the linear scan of the functions vector that is performed for each element of the vector itself. The PR replaces such algorithm with an O(V + E) version based on the Khan's algorithm for topological sorting, where V is the number of functions and E is the number of function calls.
Commit: 44a047c9295512ef3f940ac06a3e50a740671199
https://github.com/llvm/llvm-project/commit/44a047c9295512ef3f940ac06a3e50a740671199
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/ArmSVE/Transforms/Transforms.h
M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/CMakeLists.txt
A mlir/lib/Dialect/ArmSVE/Transforms/LowerContractionToSVEI8MMPattern.cpp
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-smmla.mlir
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-summla.mlir
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-ummla.mlir
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-usmmla.mlir
Log Message:
-----------
[MLIR][ArmSVE] Add initial lowering of vector.contract to SVE `*MMLA` instructions (#135636)
Commit: 5f33b9d286fba394825aaa33d2f5c55a2ae21f2b
https://github.com/llvm/llvm-project/commit/5f33b9d286fba394825aaa33d2f5c55a2ae21f2b
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/test/CodeGen/MIR/AMDGPU/virtreg-uses-unallocatable-class.mir
Log Message:
-----------
[MIRParser] Report register class errors in a deterministic order (#142928)
Commit: e66c205bda33a91fbe2ba5b4a5d6b823e5c23e8a
https://github.com/llvm/llvm-project/commit/e66c205bda33a91fbe2ba5b4a5d6b823e5c23e8a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/test/Analysis/BasicAA/captures.ll
Log Message:
-----------
[AA] Add additional tests for mixed of different captures (NFC)
Commit: e7cd6b48c007fadd499ad746e6b3239091fcfd48
https://github.com/llvm/llvm-project/commit/e7cd6b48c007fadd499ad746e6b3239091fcfd48
Author: Zokre Zyl <zokrezyl at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[libclang/python] Add TypeKind.FLOAT16 (#142634)
Adds FLOAT16 enum for value 32
Fixes #142633
Commit: f59742c1ea675a0af7ce4eb8d3c3e402c137efae
https://github.com/llvm/llvm-project/commit/f59742c1ea675a0af7ce4eb8d3c3e402c137efae
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/CodeGen/X86/pr142513.ll
M llvm/test/CodeGen/X86/pr62145.ll
Log Message:
-----------
[X86] getIntImmCostInst - recognise i64 ICMP EQ/NE special cases (#142812)
If the lower 32-bits of a i64 value are known to be zero, then icmp
lowering will shift+truncate down to a i32 allowing the immediate to be
embedded.
There's a lot more that could be done here to match icmp lowering, but
this PR just focuses on known regressions.
Fixes #142513
Fixes #62145
Commit: 7d4464599f2072154adf724c83aa812b538fd669
https://github.com/llvm/llvm-project/commit/7d4464599f2072154adf724c83aa812b538fd669
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
A llvm/test/Transforms/GVN/captures.ll
Log Message:
-----------
[GVN] Add test with different captures attributes (NFC)
Commit: 052d5889f871f792def285c92bd91182d07789cd
https://github.com/llvm/llvm-project/commit/052d5889f871f792def285c92bd91182d07789cd
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Support/Unix/Threading.inc
Log Message:
-----------
[Support] Properly zero initialize CPU set when querying affinity (#142924)
This commit resolves a potential issue of working with uninitialized
memory when querying the CPU's affinity. The man page of
`sched_getaffinity` does not guarantee that the memory will be fully
overwritten, so this change should ensure that issues are avoided.
Commit: b03081e9fb08c6e7ac60da0292537a5919e07a47
https://github.com/llvm/llvm-project/commit/b03081e9fb08c6e7ac60da0292537a5919e07a47
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-barrier-cancel.mlir
Log Message:
-----------
[mlir][OpenMP] set correct insert point after creating a barrier (#142997)
Fixes #138436
Commit: b9d3a644c2716e651b388f9fff660b12fdba577c
https://github.com/llvm/llvm-project/commit/b9d3a644c2716e651b388f9fff660b12fdba577c
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmSVE/CMakeLists.txt
A mlir/include/mlir/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.h
A mlir/include/mlir/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.td
A mlir/include/mlir/Dialect/ArmSVE/TransformOps/CMakeLists.txt
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Dialect/ArmSVE/CMakeLists.txt
A mlir/lib/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.cpp
A mlir/lib/Dialect/ArmSVE/TransformOps/CMakeLists.txt
M mlir/test/Dialect/Vector/CPU/ArmSVE/vector-smmla.mlir
M mlir/test/Dialect/Vector/CPU/ArmSVE/vector-summla.mlir
M mlir/test/Dialect/Vector/CPU/ArmSVE/vector-ummla.mlir
M mlir/test/Dialect/Vector/CPU/ArmSVE/vector-usmmla.mlir
Log Message:
-----------
[MLIR] Add apply_patterns.arm_sve.vector_contract_to_i8mm TD Op (#140572)
Commit: 4eeee41f52d08dc544812a2c3a37e0adf686251a
https://github.com/llvm/llvm-project/commit/4eeee41f52d08dc544812a2c3a37e0adf686251a
Author: Rolf Morel <854835+rolfmorel at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/Dialect/Transform/test-pass-application.mlir
Log Message:
-----------
[MLIR][Transform] Allow ApplyRegisteredPassOp to take options as a param (#142683)
Makes it possible to pass around the options to a pass inside a schedule.
The refactoring also makes it so that the pass manager and pass are only
constructed once per `apply()` of the transform op versus for each target
payload given to the op's `apply()`.
Commit: c95bc415620cc7e832f4e768030e6e6cb5f9d45e
https://github.com/llvm/llvm-project/commit/c95bc415620cc7e832f4e768030e6e6cb5f9d45e
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
Log Message:
-----------
[AArch64][SDAG] Fix selection of extend of v1if16 SETCC (#140274)
There is a DAG combine, that folds:
```
t1: v1i1 = setcc x:v1f16, y:v1f16, setogt:ch
t2: v1i64 = zero_extend t1
```
->
```
t1: v1i16 = setcc x:v1f16, y:v1f16, setogt:ch
t2: v1i64 = any_extend t1
```
This creates an issue on AArch64 when attempting to widen the result to
`v4i16`. The operand types (`v1f16`) are set to be scalarized, so the
"by hand" widening with `DAG.WidenVector` is used for them, however,
this only widens to the next power-of-2, so returns `v2f16`, which does
not match the result VF. The fix is to manually construct the widened
inputs using `INSERT_SUBVECTOR`.
Fixes #136540
Commit: 95b3fd61708ca5472df05b478c291c8d16dc37d5
https://github.com/llvm/llvm-project/commit/95b3fd61708ca5472df05b478c291c8d16dc37d5
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lldb/test/Shell/Settings/TestFrameFunctionInlined.test
Log Message:
-----------
[lldb][test] Fix TestFrameFunctionInlined on Windows
This test was timing out on Linaro's Windows on Arm bot.
This was because it couldn't identify an inlined function to
break on, which let it run into an infinite loop, which exhausted
the stack, which would have taken forever to backtrace.
Full details here - https://github.com/llvm/llvm-project/issues/143104
I'm not sure PDB would help here but it does work with DWARF
as long as we use a linker that keeps it.
So I've changed the test to require Windows and lld, unless you're
not on Windows and then you can use any linker.
Also I had to regex some parts of the function name because
on Windows we get the return and parameter types too.
Commit: fb5baef89b8c23ee21c2ca0b502b262ff4888ec3
https://github.com/llvm/llvm-project/commit/fb5baef89b8c23ee21c2ca0b502b262ff4888ec3
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port #135636 (#143109)
Commit 44a047c9295512ef3f940ac06a3e50a740671199
Commit: 5537733a048bbb46fe5d060c9cd9dda76da3bbb0
https://github.com/llvm/llvm-project/commit/5537733a048bbb46fe5d060c9cd9dda76da3bbb0
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port #140572 (#143110)
Commit b9d3a644c2716e651b388f9fff660b12fdba577c
Commit: c3b870eb3f4fb15403b49a976aea860e6da9084e
https://github.com/llvm/llvm-project/commit/c3b870eb3f4fb15403b49a976aea860e6da9084e
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[Clang] Fail the constraint substitution early after CWG2369 (#143096)
CWG2369 revealed another case where we were SFINAE'ing out the invalid
result of substitution, but the expression now makes the way into evaluation.
We switch to the concept specialization's context before we check it.
This ensures that we're able to realize the invalid expression earlier,
so we can avoid evaluating invalid expression, which is a hard error.
This also fixes #115838
Commit: 55e4c6d95dad7954e15af5da1672b7108f358e71
https://github.com/llvm/llvm-project/commit/55e4c6d95dad7954e15af5da1672b7108f358e71
Author: Tobias Kamm <tobias.kamm at pm.me>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/IR/Instruction.cpp
Log Message:
-----------
[Instruction] Add missing implementation for `moveAfter(InstListType::iterator)` (#143093)
Commit 8e702735090388a3231a863e343f880d0f96fecb introduced a declaration
for `Instruction::moveAfter(InstListType::iterator)`. However, its
implementation is missing. This PR adds it.
Commit: dde30a47313bf52fef02bbcb1de931a8d725659f
https://github.com/llvm/llvm-project/commit/dde30a47313bf52fef02bbcb1de931a8d725659f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
A llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-reg-does-not-geps.ll
Log Message:
-----------
[CGP] Bail out if (Base|Scaled)Reg does not dominate insert point. (#142949)
(Base|Scaled)Reg may not dominate the chosen insert point, if there are
multiple uses of the address. Bail out if that's the case, otherwise we
will generate invalid IR.
In some cases, we could probably adjust the insert point or hoist the
(Base|Scaled)Reg.
Fixes https://github.com/llvm/llvm-project/issues/142830.
PR: https://github.com/llvm/llvm-project/pull/142949
Commit: 4455d9d3e333ab780a642c534560f10b519a865c
https://github.com/llvm/llvm-project/commit/4455d9d3e333ab780a642c534560f10b519a865c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
Log Message:
-----------
RuntimeLibcalls: Use iterable enum for libcall types (#143075)
Commit: 269c29ae67e54bd3243535a7c58d0f30d1eb9036
https://github.com/llvm/llvm-project/commit/269c29ae67e54bd3243535a7c58d0f30d1eb9036
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M offload/liboffload/API/Kernel.td
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/device_code/noargs.c
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
Log Message:
-----------
[Offload] Allow setting null arguments in olLaunchKernel (#141958)
Commit: 89d2d62e4682a32851083a1e32eb64fb7364c39c
https://github.com/llvm/llvm-project/commit/89d2d62e4682a32851083a1e32eb64fb7364c39c
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-addr2line.rst
M llvm/docs/ReleaseNotes.md
M llvm/test/tools/llvm-symbolizer/symbol-search.test
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
Log Message:
-----------
[symbolizer] Update Release notes. (#142951)
Also add post-commit changes from commit #71ba852
in PR #135857
---------
Co-authored-by: James Henderson <James.Henderson at sony.com>
Commit: 1540ed52eeb25d6cf8142c1071d85a50f5c167b1
https://github.com/llvm/llvm-project/commit/1540ed52eeb25d6cf8142c1071d85a50f5c167b1
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
Log Message:
-----------
[AArch64] Neoverse V2 FeatureDisableLatencySchedHeuristic (#140897)
This adds FeatureDisableLatencySchedHeuristic to the Neoverse V2 core
tuning description. This gives us a 20% improvement on a key workload,
some other minor improvements here and there, and no real regressions;
nothing outside the noise levels.
Earlier attempts to solve this problems included disabling the MI
scheduler entirely (#127784), and #139557 was about a heuristic to not
schedule hand-written vector code. This solution is preferred because it
avoids another heuristic and achieves what we want, and for what is
worth, there is a lot of precedent for setting this feature.
Thanks to:
- Ricardo Jesus for pointing out this subtarget feature, and
- Cameron McInally for the extensive performance testing.
Commit: 4e676a13171c8af7fde20c1d2de9668f68b4a920
https://github.com/llvm/llvm-project/commit/4e676a13171c8af7fde20c1d2de9668f68b4a920
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-256.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
Log Message:
-----------
[X86] Fold (add X, (srl Y, 7)) -> (sub X, (ashr Y, 7)) on vXi8 vectors (#143106)
Undo the vectorcombine canonicalisation as SSE has awful vXi8 shift support, but can easily splat the MSB using the PCMPGTB(0,x) trick.
Fixes #130549
Commit: b80024e0f4bea449f5c1373436cd61096dd6613b
https://github.com/llvm/llvm-project/commit/b80024e0f4bea449f5c1373436cd61096dd6613b
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/Checker.cpp
Log Message:
-----------
[analyzer][NFCI] Remove ad-hoc program point tagging (#142980)
Previously some checkers attached explicitly created program point tags
to some of the exploded graph nodes that they created. In most of the
checkers this ad-hoc tagging only affected the debug dump of the
exploded graph (and they weren't too relevant for debugging) so this
commit removes them.
There were two checkers where the tagging _did_ have a functional role:
- In `RetainCountChecker` the presence of tags were checked by
`RefCountReportVisitor`.
- In `DynamicTypePropagation` the checker sometimes wanted to create two
identical nodes and had to apply an explicit tag on the second one to
avoid "caching out".
In these two situations I preserved the tags but switched to using
`SimpleProgramPointTag` instead of `CheckerProgramPointTag` because
`CheckerProgramPointTag` didn't provide enough benefits to justify its
existence.
Note that this commit depends on the earlier commit "[analyzer] Fix
tagging of PostAllocatorCall" ec96c0c072ef3f78813c378949c00e1c07aa44e5
and would introduce crashes when cherry-picked onto a branch that
doesn't contain that commit.
For more details about the background see the discourse thread
https://discourse.llvm.org/t/role-of-programpointtag-in-the-static-analyzer/
As a tangentially related changes, this commit also adds some comments
to document the surprising behavior of `CheckerContext::addTransition`
and an assertion in the constructor of `PathSensitiveBugReport` to get a
more readable crash dump in the case when the report is constructed with
`nullptr` as the `ErrorNode`. (This can happen due to "caching out".)
Commit: df48dfa0aece477f8f9990e26e91b43969851559
https://github.com/llvm/llvm-project/commit/df48dfa0aece477f8f9990e26e91b43969851559
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
Log Message:
-----------
[AArch64] Add custom lowering of nxv32i1 get.active.lane.mask nodes (#141969)
performActiveLaneMaskCombine already tries to combine a single
get.active.lane.mask where the low and high halves of the result are
extracted into a single whilelo which operates on a predicate pair.
If the get.active.lane.mask node requires splitting, multiple nodes are
created with saturating adds to increment the starting index. We cannot
combine these into a single whilelo_x2 at this point unless we know
the add will not overflow.
This patch adds custom lowering for the node if the return type is
nxv32xi1, as this can be replaced with a whilelo_x2 using legal types.
Anything wider than nxv32i1 will still require splitting first.
Commit: bfbf5d5da6363886262cc2c071b9c2e4cf8d7462
https://github.com/llvm/llvm-project/commit/bfbf5d5da6363886262cc2c071b9c2e4cf8d7462
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/test/CIR/CodeGenOpenACC/combined-copy.c
A clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
M clang/test/CIR/CodeGenOpenACC/compute-copy.c
A clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
Log Message:
-----------
[OpenACC][CIR] Implement member exprs for 'copy' lowering (#142998)
These ended up not being too much of a change, it just requires that we
properly emit a member expression,then use it in the varPtr. I also
fixed up the 'name' field to be the expression print, as that was
necessary to get this correct.
Finally, I added a TON of tests to convince myself that I've got this
correct, and hopefully the IR shows that.
Commit: efc70787b5442fa189de7222be4c1275abb556ba
https://github.com/llvm/llvm-project/commit/efc70787b5442fa189de7222be4c1275abb556ba
Author: Feng Zou <feng.zou at intel.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86MachineFunctionInfo.h
A llvm/test/CodeGen/X86/apx/push2-pop2-disabled-with-small-stack-alignment.ll
Log Message:
-----------
[X86][APX] Prevent from emitting push2/pop2 if stack alignment<16B (#143076)
push2/pop2 requires 16-byte stack alignment. If the stack alignment is
less than that, push2/pop2 should not be emitted. It triggers general
protection exception if the data being pushed/popped by push2/pop2 is
not 16-byte aligned on the stack.
Commit: 1f30e3d123ee7f7e0a98dc4057b5d280a490c723
https://github.com/llvm/llvm-project/commit/1f30e3d123ee7f7e0a98dc4057b5d280a490c723
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
M clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
Log Message:
-----------
[OpenACC][CIR] Fix 'copy' tests after deferred emission patch.
The patch #142998 crossed in the air with #142862. This resulted in 2
of the tests from the former to not have the inlined function emitted.
This patch adds an additional function to force these to be emitted.
Commit: b07a6da7cbe9326d5cc64b55a7cfd582bd51b325
https://github.com/llvm/llvm-project/commit/b07a6da7cbe9326d5cc64b55a7cfd582bd51b325
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/tools/scan-build/bin/scan-build
Log Message:
-----------
[scan-build][Windows] Fix driver name transformation in scan-build (#143135)
On Windows system, scan-build resolves clang++ driver name as
"clang-{ver}++.exe" from "clang-{ver}.exe" but should transform to
"clang++.exe".
Commit: a925e90ec20f2be1e10a113202c3a2aba7280d0d
https://github.com/llvm/llvm-project/commit/a925e90ec20f2be1e10a113202c3a2aba7280d0d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libcxx/include/map
Log Message:
-----------
[libc++][NFC] Remove some unused code from <map> (#142408)
Commit: 7ae6c4319eb49a58a13c423686a110afa554e92d
https://github.com/llvm/llvm-project/commit/7ae6c4319eb49a58a13c423686a110afa554e92d
Author: Joe Nash <joseph.nash at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[Sema] Fix bug in builtin AS override (#138141)
Fix the logic in rewriteBuiltinFunctionDecl to work when the builtin
has a pointer parameter with an address space and one without a fixed
address space. A builtin fitting these criteria was recently added.
Change the attribute string to perform type checking on it, so without
the sema change compilation would fail with a wrong number of arguments
error.
Commit: 6a4b89055b0711fd7a98a2c6dddc456495b32b22
https://github.com/llvm/llvm-project/commit/6a4b89055b0711fd7a98a2c6dddc456495b32b22
Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOReader.cpp
M llvm/lib/ObjectYAML/MachOEmitter.cpp
M llvm/lib/ObjectYAML/MachOYAML.cpp
M llvm/lib/Support/raw_ostream.cpp
Log Message:
-----------
[SystemZ][z/OS] add back headers needed for strnlen, autoconversion
Commit: 7809b147fa52ca4afd5e1aebd1c5cc7559b820c5
https://github.com/llvm/llvm-project/commit/7809b147fa52ca4afd5e1aebd1c5cc7559b820c5
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
Log Message:
-----------
[alpha.webkit.UncheckedCallArgsChecker] Forwarding r-value reference should not result in a warning (#142471)
This PR fixes the bug that the checker emits a warning when a function
takes T&& and passes it to another function using std::move. We should
treat std::move like any other pointer conversion and the origin of the
pointer to be that of the argument.
Commit: 0f38c54c6f4c1a45db0864412495cee61a0758e8
https://github.com/llvm/llvm-project/commit/0f38c54c6f4c1a45db0864412495cee61a0758e8
Author: Javier Lopez-Gomez <javier.lopez.gomez at proton.me>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVOptions.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
A llvm/include/llvm/DebugInfo/LogicalView/Core/LVSourceLanguage.h
M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
A llvm/lib/DebugInfo/LogicalView/Core/LVSourceLanguage.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/02-coff-logical-lines.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/03-coff-incorrect-lexical-scope-typedef.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/04-coff-missing-nested-enumerators.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/05-coff-incorrect-lexical-scope-variable.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/06-coff-full-logical-view.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/02-dwarf-logical-lines.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/03-dwarf-incorrect-lexical-scope-typedef.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/04-dwarf-missing-nested-enumerators.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/05-dwarf-incorrect-lexical-scope-variable.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/06-dwarf-full-logical-view.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/pr-57040-ignored-DW_FORM_implicit_const.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/pr-57040-incorrect-function-compare.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/02-wasm-logical-lines.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/03-wasm-incorrect-lexical-scope-typedef.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/04-wasm-missing-nested-enumerators.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/05-wasm-incorrect-lexical-scope-variable.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/06-wasm-full-logical-view.test
M llvm/test/tools/llvm-debuginfo-analyzer/cmdline.test
M llvm/tools/llvm-debuginfo-analyzer/Options.cpp
M llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp
M llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp
Log Message:
-----------
[llvm-debuginfo-analyzer] Add support for parsing DWARF / CodeView SourceLanguage (#137223)
This pull request adds support for parsing the source language in both
DWARF and CodeView. Specifically,
- The `LVSourceLanguage` class is introduced to represent any supported
language by any of the debug info representations.
- Update `LVDWARFReader.cpp` and `LVCodeViewVisitor.cpp` to parse the
source language where it applies. Added a new `=Language` attribute;
`getAttributeLanguage()` is internally used to control whether this
information is being printed.
Commit: 016ce351c8b260c5d7fff9db3e373640e7d6d00c
https://github.com/llvm/llvm-project/commit/016ce351c8b260c5d7fff9db3e373640e7d6d00c
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
[lldb][test] Enable settings test case on Windows
Fixes #43776
Whatever the problem was, it's now fixed.
Commit: c4012bb5de6bb62c43d292ab2adee0cf967812d0
https://github.com/llvm/llvm-project/commit/c4012bb5de6bb62c43d292ab2adee0cf967812d0
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/test/CodeGen/builtins-nvptx.c
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/pm-event.ll
Log Message:
-----------
[NVPTX] Add pm_event intrinsics (#141278)
This patch adds the pm_event.mask intrinsic and its
clang-builtin.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 0d40574e16e8b192e0b3e4caa313b42cbfb88821
https://github.com/llvm/llvm-project/commit/0d40574e16e8b192e0b3e4caa313b42cbfb88821
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopyIn.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
A flang/test/HLFIR/inline-hlfir-copy-in.fir
Log Message:
-----------
[flang] Inline hlfir.copy_in for trivial types (#138718)
hlfir.copy_in implements copying non-contiguous array slices for
functions that take in arrays required to be contiguous through
flang-rt.
For large arrays of trivial types, this can incur overhead compared to a
plain, inlined copy loop.
To address that, add a new InlineHLFIRCopyIn optimisation pass to inline
hlfir.copy_in operations for trivial types.
For the time being, the pattern is only applied in cases where the
copy-in does not require a corresponding copy-out, such as when the
function being called declares the array parameter as intent(in).
Applying this optimisation reduces the runtime of thornado-mini's
DeleptonizationProblem by about 10%.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 94384ae2bd086fd151933b7c80bd1baa6a9ec4fe
https://github.com/llvm/llvm-project/commit/94384ae2bd086fd151933b7c80bd1baa6a9ec4fe
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
Log Message:
-----------
RuntimeLibcalls: Fix missing const on getLibcallNames (#143074)
This is made simpler by just returning the array ref instead of
the fancy range.
Commit: d5a1f498275888ac2a21a2a5c3231a13ba79a5b2
https://github.com/llvm/llvm-project/commit/d5a1f498275888ac2a21a2a5c3231a13ba79a5b2
Author: Usha Gupta <usha.gupta at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
Log Message:
-----------
[GISel] [NFC] Capitalize loop indices in GISelValueTracking.cpp for style consistency (#143113)
Following up on a comment on
https://github.com/llvm/llvm-project/pull/142355.
Updated other instances in the file as well.
@jayfoad
Commit: 3846d8426912ac5b9c6c9abd9f9474285a5697a6
https://github.com/llvm/llvm-project/commit/3846d8426912ac5b9c6c9abd9f9474285a5697a6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
Log Message:
-----------
Hexagon: Move RuntimeLibcall setting out of TargetLowering (#142543)
RuntimeLibcalls needs to be correct in non-codegen contexts, so
should not be configured in TargetLowering. Hexagon has this exotic,
overly general sounding fast math flag which appear to be untested. I've
renamed and moved it but this should probably be deleted and move to a
combine based on fast math flags.
Commit: b6364ab9558277e877b2da2dfdff36e805dafa8d
https://github.com/llvm/llvm-project/commit/b6364ab9558277e877b2da2dfdff36e805dafa8d
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/Sema/Template.h
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
[clang] Reduce TemplateDeclInstantiator size. (#142983)
This gives us another ~1.85% improvement (1617->1647 for the
`instantiation-depth-default.cpp`) on clang's template instantiation
depths,
No performance regressions have been observed:
https://llvm-compile-time-tracker.com/compare.php?from=702e228249906d43687952d9a2f3d2f90d8024c6&to=61be4bfea92d52cfc3e48a3cabb1bc80cbebb7fa&stat=instructions:u
Commit: 612d485bc3dfd71275be3a6d31141220cc42fd76
https://github.com/llvm/llvm-project/commit/612d485bc3dfd71275be3a6d31141220cc42fd76
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/LogicalView/BUILD.gn
Log Message:
-----------
[gn build] Port 0f38c54c6f4c
Commit: 974ee967ad312f347d805558025a9fa727ac03f6
https://github.com/llvm/llvm-project/commit/974ee967ad312f347d805558025a9fa727ac03f6
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lldb/test/Shell/Settings/TestFrameFormatName.test
Log Message:
-----------
[lldb][test] Add more context for frame format test
This test is unsupported due to problems I assume with debug info,
but even if we solve that, the formatting elements aren't working
properly.
https://github.com/llvm/llvm-project/issues/143149
Commit: f57a1e973a5b7d84e4e42ad482130936519b99ef
https://github.com/llvm/llvm-project/commit/f57a1e973a5b7d84e4e42ad482130936519b99ef
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Fix variable name in CodeGenRegBank::computeComposites
Commit: 306148b5412ab87b518becffa85908ba04611fc8
https://github.com/llvm/llvm-project/commit/306148b5412ab87b518becffa85908ba04611fc8
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/ExprCXX.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in ExprCXX (#143125)
Commit: 891a0abfc2e619400065aee471169c01ca7ebf25
https://github.com/llvm/llvm-project/commit/891a0abfc2e619400065aee471169c01ca7ebf25
Author: lntue <lntue at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/src/string/CMakeLists.txt
M libc/src/strings/CMakeLists.txt
M libc/test/utils/FPUtil/CMakeLists.txt
Log Message:
-----------
[libc] Correct x86_64 architecture for string(s) tests. (#143150)
Commit: 835497a4dcbccb63528767ff941b3b24cd183e76
https://github.com/llvm/llvm-project/commit/835497a4dcbccb63528767ff941b3b24cd183e76
Author: Callum Fare <callum at codeplay.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M offload/liboffload/API/Memory.td
M offload/liboffload/src/OffloadImpl.cpp
Log Message:
-----------
[Offload] Make olMemcpy src parameter const (#143161)
Commit: a029ece7b0077ef7417362891b32a53a825adb32
https://github.com/llvm/llvm-project/commit/a029ece7b0077ef7417362891b32a53a825adb32
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
A llvm/test/CodeGen/RISCV/rvv/pr141907.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Fix coalescing vsetvlis when AVL and vl registers are the same (#141941)
With EVL tail folding we can end up with vsetvlis where the output vl
and the input AVL are the same register. When we try to coalesce it we
crashed because we tried to move the def's live interval before the
kill's live interval, e.g. in this example:
(vn0 def)
dead $x0 = PseudoVSETIVLI 1, 192, implicit-def $vl, implicit-def $vtype
renamable $v9 = COPY killed renamable $v8
(vn1 def) %23:gprnox0 = PseudoVSETVLI killed (vn0) %23:gprnox0, 197,
implicit-def $vl, implicit-def $vtype
We would try to move the vn1 def VNInfo up to the previous VSETVLI, in
the middle of vn0's segment.
However separately, we were also assuming that the vl would only have
one definition and thus were just taking the VNInfo from beginIndex(),
so we ended up with a backwards segment and got the error "Cannot create
empty or backwards segment".
This fixes these two issues, the first one by moving the AVL operand +
live interval up first, and the second by taking the VNInfo from
NextMI's slot index.
Fixes #141907
Commit: 399865cbf02a323cba7910eeb1462feaf07c67dd
https://github.com/llvm/llvm-project/commit/399865cbf02a323cba7910eeb1462feaf07c67dd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concat per-lane v2f64/v4f64 shuffles into vXf64 vshufpd (#143017)
We can always concatenate v2f64/v4f64 per-lane shuffles into a single vshufpd instruction, assuming we can profitably concatenate at least one of its operands (or its an unary shuffle).
I was really hoping to get this into combineX86ShufflesRecursively but it still can't handle concatenation/length changing as well as combineConcatVectorOps.
Commit: 839591289592ea79be035f814ac75ba6c6b0fba4
https://github.com/llvm/llvm-project/commit/839591289592ea79be035f814ac75ba6c6b0fba4
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/test/Fir/box-offset-codegen.fir
M flang/test/Fir/box-offset.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
[Flang] - Handle `BoxCharType` in `fir.box_offset` op (#141713)
To map `fir.boxchar` types reliably onto an offload target, such as a
GPU, the `omp.map.info` operation is used to map the underlying data
pointer (`fir.ref<fir.char<k, ?>>`) wrapped by the `fir.boxchar` MLIR
value. The `omp.map.info` operation needs a pointer to the underlying
data pointer.
Given a reference to a descriptor (`fir.box`), the `fir.box_offset` is
used to obtain the address of the underlying data pointer. This PR
extends `fir.box_offset` to provide the same functionality for
`fir.boxchar` as well.
Commit: cef5a3155bab9a2db5389f782471d56f1dd15b61
https://github.com/llvm/llvm-project/commit/cef5a3155bab9a2db5389f782471d56f1dd15b61
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
Log Message:
-----------
[PhaseOrdering] Add test for #139050 (NFC)
Commit: 609023213d3fcc35f6ee3d47dceaf37ffa55e66b
https://github.com/llvm/llvm-project/commit/609023213d3fcc35f6ee3d47dceaf37ffa55e66b
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
Log Message:
-----------
[clang] Check constexpr int->enum conversions consistently. (#143034)
In 8de51375f12d91675a18d17f262276e65f43fbe0 and related patches, we
added some code to avoid triggering -Wenum-constexpr-conversion in some
cases. This isn't necessary anymore because -Wenum-constexpr-conversion
doesn't exist anymore. And the checks are subtly wrong: they exclude
cases where we actually do need to check the conversion. This patch gets
rid of the unnecessary checks.
Commit: 56ebe64ce69adde8b10793de7aa571df00c75e08
https://github.com/llvm/llvm-project/commit/56ebe64ce69adde8b10793de7aa571df00c75e08
Author: David Green <david.green at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/GlobalISel/combine-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
Log Message:
-----------
[AArch64] Enable aggressivelyPreferBuildVectorSources (#142729)
This helps to remove some inefficient buildvector lowering by converting
extract_vector_elt(buildvector) to the original source.
Commit: 2c0a2261b1250c566624139a21371962ef0e489e
https://github.com/llvm/llvm-project/commit/2c0a2261b1250c566624139a21371962ef0e489e
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
A llvm/test/CodeGen/AArch64/build-vector-dup-simd.ll
Log Message:
-----------
[AArch64] Spare N2I roundtrip when splatting float comparison (#141806)
Transform `select_cc t1, t2, -1, 0` for floats into a vector comparison
which generates a mask, which is later on combined with potential
vectorized DUPs.
Commit: 6ab6321d03d5676756d16d9bec23ec08c8191d4d
https://github.com/llvm/llvm-project/commit/6ab6321d03d5676756d16d9bec23ec08c8191d4d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/Sema/ParsedAttr.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
Log Message:
-----------
[clang] Use range-based for loops (NFC) (#143153)
Note that use of llvm::for_each is discouraged unless we have functors
readily available.
Commit: dd201e50ba5ac8869338934aa4b7636ff8bbadf0
https://github.com/llvm/llvm-project/commit/dd201e50ba5ac8869338934aa4b7636ff8bbadf0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/SemaPseudoObject.h
M clang/lib/Analysis/FlowSensitive/Formula.cpp
M clang/lib/Headers/amxmovrstransposeintrin.h
M clang/lib/Headers/hlsl/hlsl_spirv.h
M clang/lib/Headers/movrsintrin.h
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
Log Message:
-----------
[clang] Ensure newline at the end of files (NFC) (#143154)
Commit: 1eb843b1a0f4119d65e1d9b4f298843b2e5cb3db
https://github.com/llvm/llvm-project/commit/1eb843b1a0f4119d65e1d9b4f298843b2e5cb3db
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/Extensions/AllExtensions.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/lib/Reducer/OptReductionPass.cpp
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
M mlir/unittests/Analysis/Presburger/QuasiPolynomialTest.cpp
M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp
Log Message:
-----------
[mlir] Ensure newline at the end of files (NFC) (#143155)
Commit: 30f524090542d07067234c292c15d4a4129b4aea
https://github.com/llvm/llvm-project/commit/30f524090542d07067234c292c15d4a4129b4aea
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/test/API/lang/cpp/decl-from-submodule/TestDeclFromSubmodule.py
Log Message:
-----------
[lldb][Modules] Make decls from submodules visible for name lookup (#143098)
This patch ensures we can find decls in submodules during expression
evaluation. Previously, submodules would have all their decls marked as
`Hidden`. When Clang asked LLDB for decls, it would see them in the
submodule but `clang::Sema` would reject them because they weren't
`Visible` (specifically, `getAcceptableDecl` would fail during
`CppNameLookup`). Here we just mark the submodule as visible to work
around this problem.
Commit: cb3d77d107c863a0273f4084dfa3a378b6e54c86
https://github.com/llvm/llvm-project/commit/cb3d77d107c863a0273f4084dfa3a378b6e54c86
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
AArch64: Partially move setting of libcall names out of TargetLowering (#142985)
Move the parts that aren't dependent on the subtarget into
RuntimeLibcallInfo, which should contain the superset of all possible
runtime calls and be accurate outside of codegen.
Commit: c9c687d8d039335118add0b9193b3927166dcc95
https://github.com/llvm/llvm-project/commit/c9c687d8d039335118add0b9193b3927166dcc95
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h
A llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractorSimple.h
M llvm/lib/DebugInfo/DWARF/CMakeLists.txt
R llvm/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp
Log Message:
-----------
[NFC] Split portions of DWARFDataExtractor into new class (#140096)
Currently, DWARFDataExtractor can extract data without performing
relocations, (eg, by checking if the section pointer is null) but is
coded such that it still depends on all the relocation machinery, like
DWARFSections and similar. All at build time.
Extract most functionality into a new class, DWARFDataExtractorBase, and
have DWARFDataExtractor add the relocation dependent pieces via CRTP.
Add a new class, DWARFDataExtractorSimple, which does no relocation at
all. This will allow moving DWARFDataExtractorSimple into a new lower-level,
lighter-weight library with fewer external build-time dependencies.
This is another in a series of refactoring changes to create a new
better-layered, low-level Dwarf library that can be called from
lower-level code without circular dependencies.
Commit: 73a4c363bdabd7f69f1ab8bc761a192caa8a8e50
https://github.com/llvm/llvm-project/commit/73a4c363bdabd7f69f1ab8bc761a192caa8a8e50
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
Log Message:
-----------
[gn build] Port c9c687d8d039
Commit: 645c0d509c43ef95b62503552c51e57c6e49f0e0
https://github.com/llvm/llvm-project/commit/645c0d509c43ef95b62503552c51e57c6e49f0e0
Author: David Green <david.green at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector-widen-crash.ll
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-build-vector-to-dup.mir
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/arm64-dup.ll
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div-cte.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/ctlz.ll
M llvm/test/CodeGen/AArch64/cttz.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fcopysign.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/freeze.ll
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/phi.ll
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/rem.ll
M llvm/test/CodeGen/AArch64/select_cc.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/shufflevector.ll
M llvm/test/CodeGen/AArch64/trunc.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/xtn.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
[AArch64][GlobalISel] Ensure we have a insert-subreg v4i32 GPR pattern (#142724)
This is the GISel equivalent of scalar_to_vector, making sure that when
we insert into undef we use a fmov that avoids the artificial dependency
on the previous register. This adds v2i32 and v2i64 patterns too for
similar reasons.
Commit: c9c60172a187eab07ab6ac4168862862074e6721
https://github.com/llvm/llvm-project/commit/c9c60172a187eab07ab6ac4168862862074e6721
Author: Darren Wihandi <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/test/Conversion/GPUToSPIRV/reductions.mlir
Log Message:
-----------
[mlir][spirv] Implement lowering `gpu.subgroup_reduce` with cluster size for SPIRV (#141402)
Implement lowering of `gpu.subgroup_reduce` with a cluster size
attribute to SPIRV by using the `ClusteredReduce` group operation.
Commit: b0f53d95c19e30428d549f589da864ccdd6d6952
https://github.com/llvm/llvm-project/commit/b0f53d95c19e30428d549f589da864ccdd6d6952
Author: David Green <david.green at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2_lse128.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc3.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8_1a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
M llvm/test/CodeGen/AArch64/i128_with_overflow.ll
Log Message:
-----------
[AArch64] Add SUBS(CSEL) fold from brcond. (#142103)
This folds away subs(csel(1, 0, cc)) from brcond, that can be produced
in certain places from compares that are not already subs (like adc/sbc
generated from i128 add_with_overflow intrinsics).
Commit: 155fd97a66349926026f05e3fe2fba55abd894be
https://github.com/llvm/llvm-project/commit/155fd97a66349926026f05e3fe2fba55abd894be
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/upper_bound_transparent.pass.cpp
Log Message:
-----------
[libc++] `flat_meow` transparent comparator string literals (#133654)
See discussion in https://cplusplus.github.io/LWG/issue4239
std::flat_map<std::string, int, std::less<>> m;
m.try_emplace("abc", 5); // hard error
The reason is that we specify in 23.6.8.7 [flat.map.modifiers]/p21
the effect to be as if `ranges::upper_bound` is called.
`ranges::upper_bound` requires indirect_strict_weak_order, which
requires the comparator to be invocable for all combinations. In this
case, it requires
const char (&)[4] < const char (&)[4]
to be well-formed, which is no longer the case in C++26 after
https://wg21.link/P2865R6.
This patch uses `std::upper_bound` instead.
Commit: e6d62c910fdc26cda58d21db84c5ef01b910c81d
https://github.com/llvm/llvm-project/commit/e6d62c910fdc26cda58d21db84c5ef01b910c81d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] IsElementEquivalent - pull out vector element count mismatch code. NFC.
All cases rely on the ops having the same vector count as the masksize, and this is unlikely to change now that we handle bitcasts, so just early out.
Commit: 525726a52078d1a03e8903458f4e92d41154e879
https://github.com/llvm/llvm-project/commit/525726a52078d1a03e8903458f4e92d41154e879
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/src/math/amdgpu/CMakeLists.txt
R libc/src/math/amdgpu/acos.cpp
R libc/src/math/amdgpu/acosf.cpp
R libc/src/math/amdgpu/acosh.cpp
R libc/src/math/amdgpu/acoshf.cpp
R libc/src/math/amdgpu/asin.cpp
R libc/src/math/amdgpu/asinf.cpp
R libc/src/math/amdgpu/asinh.cpp
R libc/src/math/amdgpu/asinhf.cpp
R libc/src/math/amdgpu/atan.cpp
R libc/src/math/amdgpu/atan2.cpp
R libc/src/math/amdgpu/atan2f.cpp
R libc/src/math/amdgpu/atanf.cpp
R libc/src/math/amdgpu/atanh.cpp
R libc/src/math/amdgpu/atanhf.cpp
R libc/src/math/amdgpu/cos.cpp
R libc/src/math/amdgpu/cosf.cpp
R libc/src/math/amdgpu/cosh.cpp
R libc/src/math/amdgpu/coshf.cpp
R libc/src/math/amdgpu/declarations.h
R libc/src/math/amdgpu/erf.cpp
R libc/src/math/amdgpu/erff.cpp
R libc/src/math/amdgpu/exp.cpp
R libc/src/math/amdgpu/exp10.cpp
R libc/src/math/amdgpu/exp10f.cpp
R libc/src/math/amdgpu/exp2.cpp
R libc/src/math/amdgpu/exp2f.cpp
R libc/src/math/amdgpu/expf.cpp
R libc/src/math/amdgpu/expm1.cpp
R libc/src/math/amdgpu/expm1f.cpp
R libc/src/math/amdgpu/fdim.cpp
R libc/src/math/amdgpu/fdimf.cpp
M libc/src/math/amdgpu/frexp.cpp
M libc/src/math/amdgpu/frexpf.cpp
R libc/src/math/amdgpu/hypot.cpp
R libc/src/math/amdgpu/hypotf.cpp
R libc/src/math/amdgpu/ilogb.cpp
R libc/src/math/amdgpu/ilogbf.cpp
M libc/src/math/amdgpu/ldexp.cpp
M libc/src/math/amdgpu/ldexpf.cpp
M libc/src/math/amdgpu/lgamma.cpp
M libc/src/math/amdgpu/lgamma_r.cpp
M libc/src/math/amdgpu/llrint.cpp
M libc/src/math/amdgpu/llrintf.cpp
R libc/src/math/amdgpu/log.cpp
R libc/src/math/amdgpu/log10.cpp
R libc/src/math/amdgpu/log10f.cpp
R libc/src/math/amdgpu/log1p.cpp
R libc/src/math/amdgpu/log1pf.cpp
R libc/src/math/amdgpu/log2.cpp
R libc/src/math/amdgpu/log2f.cpp
R libc/src/math/amdgpu/logb.cpp
R libc/src/math/amdgpu/logbf.cpp
R libc/src/math/amdgpu/logf.cpp
M libc/src/math/amdgpu/lrint.cpp
M libc/src/math/amdgpu/lrintf.cpp
R libc/src/math/amdgpu/nextafter.cpp
R libc/src/math/amdgpu/nextafterf.cpp
R libc/src/math/amdgpu/platform.h
R libc/src/math/amdgpu/powf.cpp
R libc/src/math/amdgpu/powi.cpp
R libc/src/math/amdgpu/powif.cpp
R libc/src/math/amdgpu/remquo.cpp
R libc/src/math/amdgpu/remquof.cpp
M libc/src/math/amdgpu/scalbn.cpp
M libc/src/math/amdgpu/scalbnf.cpp
R libc/src/math/amdgpu/sin.cpp
R libc/src/math/amdgpu/sincos.cpp
R libc/src/math/amdgpu/sincosf.cpp
R libc/src/math/amdgpu/sinf.cpp
R libc/src/math/amdgpu/sinh.cpp
R libc/src/math/amdgpu/sinhf.cpp
R libc/src/math/amdgpu/tan.cpp
R libc/src/math/amdgpu/tanf.cpp
R libc/src/math/amdgpu/tanh.cpp
R libc/src/math/amdgpu/tanhf.cpp
M libc/src/math/amdgpu/tgamma.cpp
M libc/src/math/amdgpu/tgammaf.cpp
M libc/src/math/nvptx/CMakeLists.txt
R libc/src/math/nvptx/acos.cpp
R libc/src/math/nvptx/acosf.cpp
R libc/src/math/nvptx/acosh.cpp
R libc/src/math/nvptx/acoshf.cpp
R libc/src/math/nvptx/asin.cpp
R libc/src/math/nvptx/asinf.cpp
R libc/src/math/nvptx/asinh.cpp
R libc/src/math/nvptx/asinhf.cpp
R libc/src/math/nvptx/atan.cpp
R libc/src/math/nvptx/atan2.cpp
R libc/src/math/nvptx/atan2f.cpp
R libc/src/math/nvptx/atanf.cpp
R libc/src/math/nvptx/atanh.cpp
R libc/src/math/nvptx/atanhf.cpp
R libc/src/math/nvptx/cos.cpp
R libc/src/math/nvptx/cosf.cpp
R libc/src/math/nvptx/cosh.cpp
R libc/src/math/nvptx/coshf.cpp
R libc/src/math/nvptx/declarations.h
R libc/src/math/nvptx/erf.cpp
R libc/src/math/nvptx/erff.cpp
R libc/src/math/nvptx/exp.cpp
R libc/src/math/nvptx/exp10.cpp
R libc/src/math/nvptx/exp10f.cpp
R libc/src/math/nvptx/exp2.cpp
R libc/src/math/nvptx/exp2f.cpp
R libc/src/math/nvptx/expf.cpp
R libc/src/math/nvptx/expm1.cpp
R libc/src/math/nvptx/expm1f.cpp
R libc/src/math/nvptx/fdim.cpp
R libc/src/math/nvptx/fdimf.cpp
R libc/src/math/nvptx/frexp.cpp
R libc/src/math/nvptx/frexpf.cpp
R libc/src/math/nvptx/hypot.cpp
R libc/src/math/nvptx/hypotf.cpp
R libc/src/math/nvptx/ilogb.cpp
R libc/src/math/nvptx/ilogbf.cpp
R libc/src/math/nvptx/ldexp.cpp
R libc/src/math/nvptx/ldexpf.cpp
M libc/src/math/nvptx/lgamma.cpp
M libc/src/math/nvptx/lgamma_r.cpp
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
R libc/src/math/nvptx/log.cpp
R libc/src/math/nvptx/log10.cpp
R libc/src/math/nvptx/log10f.cpp
R libc/src/math/nvptx/log1p.cpp
R libc/src/math/nvptx/log1pf.cpp
R libc/src/math/nvptx/log2.cpp
R libc/src/math/nvptx/log2f.cpp
R libc/src/math/nvptx/logb.cpp
R libc/src/math/nvptx/logbf.cpp
R libc/src/math/nvptx/logf.cpp
M libc/src/math/nvptx/lrint.cpp
R libc/src/math/nvptx/lrintf.cpp
R libc/src/math/nvptx/nextafter.cpp
R libc/src/math/nvptx/nextafterf.cpp
R libc/src/math/nvptx/nvptx.h
R libc/src/math/nvptx/powf.cpp
R libc/src/math/nvptx/powi.cpp
R libc/src/math/nvptx/powif.cpp
R libc/src/math/nvptx/remquo.cpp
R libc/src/math/nvptx/remquof.cpp
R libc/src/math/nvptx/scalbn.cpp
R libc/src/math/nvptx/scalbnf.cpp
R libc/src/math/nvptx/sin.cpp
R libc/src/math/nvptx/sincos.cpp
R libc/src/math/nvptx/sincosf.cpp
R libc/src/math/nvptx/sinf.cpp
R libc/src/math/nvptx/sinh.cpp
R libc/src/math/nvptx/sinhf.cpp
R libc/src/math/nvptx/tan.cpp
R libc/src/math/nvptx/tanf.cpp
R libc/src/math/nvptx/tanh.cpp
R libc/src/math/nvptx/tanhf.cpp
M libc/src/math/nvptx/tgamma.cpp
M libc/src/math/nvptx/tgammaf.cpp
Log Message:
-----------
[libc] Cleanup unimplemented math functions (#143173)
Summary:
This patch cleans up the leftoever files that were either implemented or
are still unimplemented stubs.
Commit: 45c3053ae0abfb570ec41994c96c754b4daa7efa
https://github.com/llvm/llvm-project/commit/45c3053ae0abfb570ec41994c96c754b4daa7efa
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Fix unused-variable warning for non-dbg builds. (#143175)
AArch64ISelLowering.cpp currently fails -Wunused-variable because SrcVT
is only used in assert(), so it is an unused variable if not using debug
builds. This behavior was introduced in 2c0a2261.
Commit: ede9555b0f151048393623c5594295d5d1053764
https://github.com/llvm/llvm-project/commit/ede9555b0f151048393623c5594295d5d1053764
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang] Fix a typo in documentation (#143169)
Commit: e16f603351b6d4af93f1e1a1e0b87f0d3bf2f38a
https://github.com/llvm/llvm-project/commit/e16f603351b6d4af93f1e1a1e0b87f0d3bf2f38a
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/test/HLFIR/opt-bufferization-tonto.fir
Log Message:
-----------
[flang] Relax conflicts detection in ElementalAssignBufferization. (#143045)
If there is a read-effect operation inside `hlfir.elemental`,
there is no reason to block moving it to the assignment point
unless there are write-effect operations between the elemental
and the assignment. The previous code was disallowing the optimization
even if there were only read-effect operations in between.
This case is from 465.tonto, though this change does not improve
performance at all.
Commit: ba8077c9ddeeb7c8fb6e929f655fa686561a8f6d
https://github.com/llvm/llvm-project/commit/ba8077c9ddeeb7c8fb6e929f655fa686561a8f6d
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/test/HLFIR/inline-hlfir-assign.fir
A flang/test/HLFIR/opt-bufferization-elemental-assign-shape.fir
Log Message:
-----------
[flang] Use optimal shape for assign expansion as a loop. (#143050)
During `hlfir.assign` inlining and `ElementalAssignBufferization`
we can deduce the optimal shape from `lhs` and `rhs` shapes.
It is probably better be done in a separate pass that propagates
constant shapes, but I have not seen any benchmarks that would
benefit from this yet. So consider this as a workaround for a bigger
TODO issue.
The `ElementalAssignBufferization` case is from 465.tonto,
but I do not have performance results yet (I do not expect much).
Commit: 5dc2f4499b57169e57eaf86a7f18ae151d555a85
https://github.com/llvm/llvm-project/commit/5dc2f4499b57169e57eaf86a7f18ae151d555a85
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/test/MC/RISCV/xqcibi-relocations.s
M llvm/test/MC/RISCV/xqcilb-relocations.s
M llvm/test/MC/RISCV/xqcili-relocations.s
Log Message:
-----------
[RISCV] Mark QC Relocations as Relaxable (#142794)
Some of the QC relocations are relaxable, in particular there are
relaxations defined for:
- `R_RISCV_QC_E_JUMP_PLT`
- `R_RISCV_QC_E_32`
- `R_RISCV_QC_ABS20_U`
This change ensures that llvm-mc correctly emits R_RISCV_RELAX
relocations for the relevant fixups.
Commit: 44a6a44573489501a4599425a02b4ba0c729244c
https://github.com/llvm/llvm-project/commit/44a6a44573489501a4599425a02b4ba0c729244c
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Support/DebugCounter.cpp
Log Message:
-----------
[NFC] [DebugCounter] warn if --debug-counter is unused in NDEBUG (#143057)
Co-authored-by: Nikita Popov <npopov at redhat.com>
Commit: 28e2256a1fa85572458981b477349ddd57e1f2f2
https://github.com/llvm/llvm-project/commit/28e2256a1fa85572458981b477349ddd57e1f2f2
Author: Thrrreeee <72311224+Thrrreeee at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
A llvm/test/tools/llvm-dwarfdump/X86/DW_OP_GNU_implicit_pointer.yaml
Log Message:
-----------
[llvm][DebugInfo] Add support for DW_OP_GNU_implicit_pointer (#142913)
This patch introduces support for the DWARF operation
`DW_OP_GNU_implicit_pointer `(value 0xf3) within LLVM's DWARF parsing
and expression evaluation infrastructure. This GNU extension is used to
describe the location of a variable that is itself a pointer, where the
value of this pointer is stored at an address derived from another DWARF
location expression plus a constant offset.
Motivation:
Compilers like GCC use `DW_OP_GNU_implicit_pointer `to represent the
location of certain variables.Without support for this opcode, debuggers
like LLDB (and other tools relying on LLVM's DWARF libraries) cannot
correctly resolve the location of such variables, leading to an
inability to inspect their values or an incorrect debugging experience.
Commit: c02403e37f6194f98f7b757f96546553a6b10bfb
https://github.com/llvm/llvm-project/commit/c02403e37f6194f98f7b757f96546553a6b10bfb
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/host_data.c
Log Message:
-----------
[OpenACC][CIR] Implement 'host_data' lowering, plus all clauses (#143136)
'host_data' has its own Op kind, so this handles the lowering there, it
looks exactly like the other ones we've done so far, so nothing novel
here.
host_data takes 3 clauses, 1 of which is required.
'use_device' is required, and results in an acc.use_device operation,
which then feeds into the dataOperands list on acc.host_data.
'if_present' is a simple attribute on the operand.
'if' is a condition on the operand, identical to our other handling of
'if'.
This patch handles all of these.
Commit: d8bfb4719df7a043c38962bbbd60fd3387c917b6
https://github.com/llvm/llvm-project/commit/d8bfb4719df7a043c38962bbbd60fd3387c917b6
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/src/math/generic/CMakeLists.txt
R libc/src/math/generic/exp_utils.cpp
R libc/src/math/generic/exp_utils.h
Log Message:
-----------
[libc] clean up unused exp_utils (#143181)
This file's just left over from old code, but it doesn't compile
anymore. It's never used so this patch just removes it.
Commit: 59f88a8e929b9eff97f2c37f835d9fe70d1dd0c7
https://github.com/llvm/llvm-project/commit/59f88a8e929b9eff97f2c37f835d9fe70d1dd0c7
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/src/string/CMakeLists.txt
M libc/src/string/string_utils.h
M libc/src/string/strsep.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] clean up string_utils memory functions (#143031)
The string_utils.h file previously included both memcpy and bzero. There
were no uses of bzero, and only one use of memcpy which was replaced
with __builtin_memcpy.
Also fix strsep which was broken by this change, fix a useless assert of
"sizeof(char) == sizeof(cpp::byte)", and update the bazel.
Commit: b84127bb131cee3ed2400abede345d473bb6130b
https://github.com/llvm/llvm-project/commit/b84127bb131cee3ed2400abede345d473bb6130b
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Lowering for 'deviceptr' for compute/combined constructs
This ends up being a simple clause that only adds 'acc.deviceptr' to the
dataOperands list on the compute construct operation.
Commit: 8f7e57485ee73205e108d74abb5565d5c63beaca
https://github.com/llvm/llvm-project/commit/8f7e57485ee73205e108d74abb5565d5c63beaca
Author: David Truby <david.truby at arm.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/cmake/modules/CrossCompile.cmake
Log Message:
-----------
[llvm] Fix cmake string expansion in CrossCompile.cmake (#138901)
Commit: 39bb267445ffee980c313285f09814ab12e3a847
https://github.com/llvm/llvm-project/commit/39bb267445ffee980c313285f09814ab12e3a847
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR][NFC] Add device_ptr async clause tests
Add a test to ensure that device_ptr properly respects the 'async'
functionality we added for copy/etc.
Commit: 7db847df556f9c2670046f0d067b3aa80d6b9d39
https://github.com/llvm/llvm-project/commit/7db847df556f9c2670046f0d067b3aa80d6b9d39
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/utils/perf-training/perf-helper.py
Log Message:
-----------
Filter out configuration file from compile commands (#131099)
The commands to run the compilation when printed with `-###` contain
various irrelevant lines for the perf-training. Most of them are
filtered out already but when configured with
`CLANG_CONFIG_FILE_SYSTEM_DIR` a new line like the following is
added and needs to be filtered out:
`Configuration file: /etc/clang/x86_64-redhat-linux-gnu-clang.cfg`
Commit: 47d9473e492e4f4100a719a22bd1588b8524b344
https://github.com/llvm/llvm-project/commit/47d9473e492e4f4100a719a22bd1588b8524b344
Author: vporpo <vporpodas at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
Log Message:
-----------
[SandboxVec][BottomUpVec] Fix ownership of Legality (#143018)
Fix the ownership of `Legality` member variable of BottomUpVec. It
should get created in runOnFunction() and get destroyed when the
function returns.
Commit: 5823e927494f56a024b9ede29cc70498ce8b2415
https://github.com/llvm/llvm-project/commit/5823e927494f56a024b9ede29cc70498ce8b2415
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
Log Message:
-----------
[libc] Fix missing includes after transitive dependency changed
Commit: faaae66a55dc72ae89677bcc47f6f9a2a30b4551
https://github.com/llvm/llvm-project/commit/faaae66a55dc72ae89677bcc47f6f9a2a30b4551
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
A llvm/test/Transforms/LowerTypeTests/asm.ll
Log Message:
-----------
LowerTypeTests: Precommit test for generated x86 asm.
Reviewers: fmayer
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/143189
Commit: e3c72e10751bf1c1864b93c4156cf90863aa02a1
https://github.com/llvm/llvm-project/commit/e3c72e10751bf1c1864b93c4156cf90863aa02a1
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
M llvm/test/Transforms/LowerTypeTests/asm.ll
M llvm/test/Transforms/LowerTypeTests/export-allones.ll
M llvm/test/Transforms/LowerTypeTests/export-bytearray.ll
M llvm/test/Transforms/LowerTypeTests/export-icall.ll
M llvm/test/Transforms/LowerTypeTests/export-inline.ll
M llvm/test/Transforms/LowerTypeTests/function.ll
M llvm/test/Transforms/LowerTypeTests/import.ll
M llvm/test/Transforms/LowerTypeTests/simple.ll
M llvm/test/Transforms/LowerTypeTests/simplify.ll
M llvm/test/Transforms/MergeFunc/cfi-thunk-merging.ll
M llvm/test/Transforms/SimplifyTypeTests/basic.ll
M llvm/unittests/Transforms/IPO/LowerTypeTests.cpp
Log Message:
-----------
LowerTypeTests: Shrink check size by 1 instruction on x86.
We currently generate code like this on x86 for a jump table with 5 elements,
assuming the call target is in rbx:
lea global_addr(%rip), %rax # initialize temporary rax with base address
mov %rbx, %rcx # initialize another temporary rcx for index (rbx will be used for the call, so it is still live)
sub %rax, %rcx # compute `address - base`
ror $0x3, %rcx # compute `(address - base) ror 3` i.e. index
cmp $0x4, %rcx # check index <= 4
ja .Ltrap
[...]
.Ltrap:
ud1
A more efficient instruction sequence, that only needs one temporary
register and one fewer instruction, is possible by subtracting the
address we are testing from the fixed address instead of vice versa:
lea (global_addr + 4*8)(%rip), %rax # initialize temporary rax with address of last element
sub %rbx, %rax # compute `last element - address`
ror $0x3, %rax # compute `(last element - address) ror 3` i.e. 4 - index
cmp $0x4, %rax # check 4 - index <= 4 (same as above)
ja .Ltrap
[...]
.Ltrap:
ud1
Change LowerTypeTests to generate that sequence. As a consequence, the
order of bits in the bitsets is reversed. Because it doesn't matter how we
do the subtraction on other architectures (to the best of my knowledge),
do so unconditionally.
Reviewers: fmayer, vitalybuka
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/142887
Commit: bc7f1eadbf8bd3377d8fa121f3b6072ec7601724
https://github.com/llvm/llvm-project/commit/bc7f1eadbf8bd3377d8fa121f3b6072ec7601724
Author: David Blaikie <dblaikie at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
Log Message:
-----------
Fix forward for new DWARF DW_OP enum to address warning in lldb
Commit: 107601ed063f9e92aba61ea4f2a36c372127a82a
https://github.com/llvm/llvm-project/commit/107601ed063f9e92aba61ea4f2a36c372127a82a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/canonicalize-const-to-bop.ll
Log Message:
-----------
[InstCombine] Allow min/max in constant BOp min/max folding (#142878)
Extend folding for `X Pred C2 ? X BOp C1 : C2 BOp C1` to `min/max(X, C2)
BOp C1` to allow min and max as `BOp`. This ensures a constant clamping
pattern is folded into a pair of min/max instructions. Here is a
simplified example of a case where this folding is not occurring
currently.
int clampToU8(int v) {
if (v < 0) return 0;
if (v > 255) return 255;
return v;
}
https://godbolt.org/z/78jhKPWbv
Generic proof: https://alive2.llvm.org/ce/z/cdpLYy
Commit: 16dda4d3f4051c449f59f98b69dddddf06b4648c
https://github.com/llvm/llvm-project/commit/16dda4d3f4051c449f59f98b69dddddf06b4648c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
A clang/test/CIR/CodeGen/forward-decls.cpp
A clang/test/CIR/CodeGen/forward-enum.c
Log Message:
-----------
[CIR] Add support for completing forward-declared types (#143176)
This adds the needed handling for completing record types which were
previously declared leading us to create an incomplete record type.
Commit: 34e5d8ef166228c3ea09726b2a806d066a844776
https://github.com/llvm/llvm-project/commit/34e5d8ef166228c3ea09726b2a806d066a844776
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Remove buildkite from metrics container (#143049)
Now that buildkite has been sunsetted, remove buildkite tracking from
the metrics container as it does not do anything.
Commit: a75fc765d3a5e40d02a69f21b4cf29e25cb041dc
https://github.com/llvm/llvm-project/commit/a75fc765d3a5e40d02a69f21b4cf29e25cb041dc
Author: William <113542065+saturn691 at users.noreply.github.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/docs/headers/time.rst
A libc/include/llvm-libc-macros/baremetal/CMakeLists.txt
A libc/include/llvm-libc-macros/baremetal/time-macros.h
M libc/include/llvm-libc-macros/time-macros.h
Log Message:
-----------
[libc] Add definitions to embedded AArch32/AArch64 (#142597)
Add `CLOCKS_PER_SEC` and the older `CLK_TCK`. Allows the user to define
a `__CLK_TCK` to override if necessary.
Also add an extra column for embedded AArch64 in `time.rst`
Commit: d398f476c5df35b4369dbb9009758d960b798eed
https://github.com/llvm/llvm-project/commit/d398f476c5df35b4369dbb9009758d960b798eed
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[msan] Rename '-msan-dump-strict-intrinsics' to '-msan-dump-heuristic-instructions' (#143186)
This updates the flag from https://github.com/llvm/llvm-project/pull/123381
Also expands the description of msan-dump-strict-*instructions*
Commit: 8fa440a1e05f26901d6f40ca19f78609a02b0e1f
https://github.com/llvm/llvm-project/commit/8fa440a1e05f26901d6f40ca19f78609a02b0e1f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
Log Message:
-----------
[LV] Add tests for speculatively loading ptrs with UB/poison ops.
Test cases for https://github.com/llvm/llvm-project/issues/142957.
Commit: 897b0301d2e2ff28d3976fe95b64be5a85815908
https://github.com/llvm/llvm-project/commit/897b0301d2e2ff28d3976fe95b64be5a85815908
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
Log Message:
-----------
[clang][dep-scan] Resolve lexer crash from a permutation of invalid tokens (#142452)
Sometimes, when a user writes invalid code, the minimization used for
scanning can create a stream of tokens that is invalid at lex time. This
patch protects against the case where there are valid (non-c++20) import
directives discovered in the middle of an invalid `import` declaration.
Mostly authored by: @akyrtzi
resolves: rdar://152335844
Commit: 356dc628cb4855604ef9fdb800f53afd48b3a0da
https://github.com/llvm/llvm-project/commit/356dc628cb4855604ef9fdb800f53afd48b3a0da
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
Log Message:
-----------
[libc] Missing include in RPC test
Commit: 3bbb49610e9e6013fb3aaa0e884ab9d8d9e407c9
https://github.com/llvm/llvm-project/commit/3bbb49610e9e6013fb3aaa0e884ab9d8d9e407c9
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/ashr64_reduce.ll
Log Message:
-----------
[AMDGPU][NFC] Add tests for 64-bit ashr with shifts >= 32 (#142463)
Record current results for 64-bit ashr with shifts >=32.
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 549ce80f27b228ef08a71ec1c32c29322d997825
https://github.com/llvm/llvm-project/commit/549ce80f27b228ef08a71ec1c32c29322d997825
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/srl64_reduce.ll
Log Message:
-----------
[AMDGPU][NFC] Add test for 64-bit lshr with shifts >=32 (#138281)
Record current results for 64-bit lshr with shifts >=32.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 3695d6cdf98c252af4a747af8e247b48e046721a
https://github.com/llvm/llvm-project/commit/3695d6cdf98c252af4a747af8e247b48e046721a
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M libc/src/stdio/gpu/CMakeLists.txt
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgetc.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/fputc.cpp
M libc/src/stdio/gpu/fputs.cpp
M libc/src/stdio/gpu/fread.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/fwrite.cpp
M libc/src/stdio/gpu/getc.cpp
M libc/src/stdio/gpu/getchar.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/gpu/putc.cpp
M libc/src/stdio/gpu/putchar.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/stderr.cpp
M libc/src/stdio/gpu/stdin.cpp
M libc/src/stdio/gpu/stdout.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/gpu/vprintf.cpp
Log Message:
-----------
[libc][GPU] clean up includes (#143203)
The GPU stdio functions were depending on indirect inclusion for some of
their dependencies. This patch should fix all of that.
Commit: 347186b25969adcb8621c0b21226f10e7a193f8d
https://github.com/llvm/llvm-project/commit/347186b25969adcb8621c0b21226f10e7a193f8d
Author: Nuri Amari <nuri.amari99 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
A clang/test/CodeGen/distributed-thin-lto/backend-skip.ll
A clang/test/CodeGen/distributed-thin-lto/basic.ll
A clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
A clang/test/CodeGen/distributed-thin-lto/cfi.ll
A clang/test/CodeGen/distributed-thin-lto/cs-irpgo.c
A clang/test/CodeGen/distributed-thin-lto/newpm.ll
A clang/test/CodeGen/distributed-thin-lto/objc-contract-pass.ll
A clang/test/CodeGen/distributed-thin-lto/supports-hot-cold-new.ll
R clang/test/CodeGen/thinlto-distributed-backend-skip.ll
R clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
R clang/test/CodeGen/thinlto-distributed-cfi.ll
R clang/test/CodeGen/thinlto-distributed-newpm.ll
R clang/test/CodeGen/thinlto-distributed-objc-contract-pass.ll
R clang/test/CodeGen/thinlto-distributed-supports-hot-cold-new.ll
R clang/test/CodeGen/thinlto-distributed.ll
Log Message:
-----------
Avoid Assertion Failure Using -fcs-profile-generate with distributed thin-lto (#129736)
When using `-fcs-generate-profile` with distributed thin-lto in the same
fashion we do for local thin-lto, we hit the following assertion:
https://github.com/llvm/llvm-project/blob/6041c745f32e8fd60ed24e29e7d919d8d1c87ca6/llvm/lib/Support/PGOOptions.cpp#L36
Using local thin-lto with LLD for MachO, we set the missing path
automatically to a default value: https://reviews.llvm.org/D151589. In
this fix we add the same behavior.
---------
Co-authored-by: Nuri Amari <nuriamari at fb.com>
Commit: a42bb8b57a6dcf298789ae88b36bbbba19e151fb
https://github.com/llvm/llvm-project/commit/a42bb8b57a6dcf298789ae88b36bbbba19e151fb
Author: Cameron McInally <cameron.mcinally at nyu.edu>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
A clang/include/clang/Driver/CommonArgs.h
M clang/lib/Driver/MultilibBuilder.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
R clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/CrossWindows.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cygwin.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Hurd.cpp
M clang/lib/Driver/ToolChains/InterfaceStubs.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSP430.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/NaCl.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Driver/ToolChains/VEToolchain.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/XCore.cpp
M clang/lib/Driver/ToolChains/ZOS.cpp
M clang/lib/Driver/XRayArgs.cpp
M clang/unittests/Driver/MultilibBuilderTest.cpp
M clang/unittests/Driver/MultilibTest.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/prefer-vector-width.f90
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[Driver] Move CommonArgs to a location visible by the Frontend Drivers (#142800)
This patch moves the CommonArgs utilities into a location visible by the
Frontend Drivers, so that the Frontend Drivers may share option parsing
code with the Compiler Driver. This is useful when the Frontend Drivers
would like to verify that their incoming options are well-formed and
also not reinvent the option parsing wheel.
We already see code in the Clang/Flang Drivers that is parsing and
verifying its incoming options. E.g. OPT_ffp_contract. This option is
parsed in the Compiler Driver, Clang Driver, and Flang Driver, all with
slightly different parsing code. It would be nice if the Frontend
Drivers were not required to duplicate this Compiler Driver code. That
way there is no/low maintenance burden on keeping all these parsing
functions in sync.
Along those lines, the Frontend Drivers will now have a useful mechanism
to verify their incoming options are well-formed. Currently, the
Frontend Drivers trust that the Compiler Driver is not passing back junk
in some cases. The Language Drivers may even accept junk with no error
at all. E.g.:
`clang -cc1 -mprefer-vector-width=junk test.c'
With this patch, we'll now be able to tighten up incomming options to
the Frontend drivers in a lightweight way.
---------
Co-authored-by: Cameron McInally <cmcinally at nvidia.com>
Co-authored-by: Shafik Yaghmour <shafik.yaghmour at intel.com>
Commit: 428afa62b0aa1bb0ac344cbfc62429a60c42b265
https://github.com/llvm/llvm-project/commit/428afa62b0aa1bb0ac344cbfc62429a60c42b265
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/test/CodeGen/ubsan-function-debuginfo.c
M clang/test/CodeGen/unsigned-promotion-debuginfo.c
Log Message:
-----------
[ubsan] Add more -fsanitize-annotate-debug-info checks (#141997)
This extends https://github.com/llvm/llvm-project/pull/138577 to more UBSan checks, by changing SanitizerDebugLocation (formerly SanitizerScope) to add annotations if enabled for the specified ordinals.
Annotations will use the ordinal name if there is exactly one ordinal specified in the SanitizerDebugLocation; otherwise, it will use the handler name.
Updates the tests from https://github.com/llvm/llvm-project/pull/141814.
---------
Co-authored-by: Vitaly Buka <vitalybuka at google.com>
Commit: 7b2aa02a33df2ffd59fa1c043c10ec05dc411171
https://github.com/llvm/llvm-project/commit/7b2aa02a33df2ffd59fa1c043c10ec05dc411171
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
A llvm/include/llvm/Frontend/Directive/Spelling.h
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/lib/Frontend/CMakeLists.txt
A llvm/lib/Frontend/Directive/CMakeLists.txt
A llvm/lib/Frontend/Directive/Spelling.cpp
M llvm/lib/Frontend/OpenACC/CMakeLists.txt
M llvm/lib/Frontend/OpenMP/CMakeLists.txt
M llvm/test/TableGen/directive1.td
M llvm/test/TableGen/directive2.td
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
Log Message:
-----------
[utils][TableGen] Handle versions on clause/directive spellings (#143021)
In "get<lang>DirectiveName(Kind, Version)", return the spelling that
corresponds to Version, and in "get<lang>DirectiveKindAndVersions(Name)"
return the pair {Kind, VersionRange}, where VersionRange contains the
minimum and the maximum versions that allow "Name" as a spelling. This
applies to clauses as well. In general it applies to classes that have
spellings (defined via TableGen class "Spelling").
Given a Kind and a Version, getting the corresponding spelling requires
a runtime search (which can fail in a general case). To avoid generating
the search function inline, a small additional component of
llvm/Frontent was added: LLVMFrontendDirective. The corresponding header
file also defines C++ classes "Spelling" and "VersionRange", which are
used in TableGen/DirectiveEmitter as well.
For background information see
https://discourse.llvm.org/t/rfc-alternative-spellings-of-openmp-directives/85507
Commit: 70e78be7dc3e060457d121e4ef9ee2745bb6c41e
https://github.com/llvm/llvm-project/commit/70e78be7dc3e060457d121e4ef9ee2745bb6c41e
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AMDGPU/fptrunc.v2f16.no.fast.math.ll
Log Message:
-----------
AMDGPU: Custom lower fptrunc vectors for f32 -> f16 (#141883)
The latest asics support v_cvt_pk_f16_f32 instruction. However current
implementation of vector fptrunc lowering fully scalarizes the vectors,
and the scalar conversions may not always be combined to generate the
packed one.
We made v2f32 -> v2f16 legal in
https://github.com/llvm/llvm-project/pull/139956. This work is an
extension to handle wider vectors. Instead of fully scalarization, we
split the vector to packs (v2f32 -> v2f16) to ensure the packed
conversion can always been generated.
Commit: 65077c7ac75e18f92f409c05e0cc4d929d3f2145
https://github.com/llvm/llvm-project/commit/65077c7ac75e18f92f409c05e0cc4d929d3f2145
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M lld/test/ELF/riscv-branch.s
M lld/test/ELF/riscv-undefined-weak.s
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_branch.s
R llvm/test/MC/RISCV/long-jump-disable-relax.s
A llvm/test/MC/RISCV/option-exact-long-jump-disable.s
Log Message:
-----------
[RISCV] Remove -riscv-asm-relax-branches flag (#142855)
This flag has been superseded by `.option exact`, as the test updates
show.
Given the flag was always hidden, it makes sense to me to remove it, and
move tests that required it to use `.option exact`.
Commit: b7ef3e7a8595fd5e80ed3d1ef2fe9cd7e3b63530
https://github.com/llvm/llvm-project/commit/b7ef3e7a8595fd5e80ed3d1ef2fe9cd7e3b63530
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix llvm-min-tblgen bazel build (#143213)
Broken by 7b2aa02a. Tested with:
bazelisk build \
@llvm-project//llvm:llvm-min-tblgen \
@llvm-project//llvm:FrontendOpenACC \
@llvm-project//llvm:FrontendOpenMP \
@llvm-project//llvm:TableGen
Commit: b09b1d65efd7a3d6dd4f61333a5f09c0e69b42a4
https://github.com/llvm/llvm-project/commit/b09b1d65efd7a3d6dd4f61333a5f09c0e69b42a4
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Implement lowering for 'no_create' clause for comp/comb
no_create has its own 'data-in', plus uses the 'delete' for the data-out
operation. Additionally, like all data clauses it uses the 'async'
functionality previous implemented. This patch implements no_create for
combined/compute constructs completely, and ensures that the feature is
tested.
Commit: 4eb72312e26b19f745d57bbafad3b378493bce70
https://github.com/llvm/llvm-project/commit/4eb72312e26b19f745d57bbafad3b378493bce70
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Implement 'present' lowering for compute/combined
'present' has a data-in operation acc.present, and uses 'delete' for its
data out. Otherwise it is identical to no_create.
Commit: 6a21dfaac66ffa39dc7faaec1cd7932099c052d4
https://github.com/llvm/llvm-project/commit/6a21dfaac66ffa39dc7faaec1cd7932099c052d4
Author: Nuri Amari <nuri.amari99 at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
Log Message:
-----------
[llvm-cgdata] Fix Dangling StringRefs (#143210)
Commit: 8a51fb29b6f315f1ee0ba3b0b9f0f4a4c2b51dcc
https://github.com/llvm/llvm-project/commit/8a51fb29b6f315f1ee0ba3b0b9f0f4a4c2b51dcc
Author: Wenju He <wenju.he at intel.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/unittests/Tooling/ToolingTest.cpp
Log Message:
-----------
Revert "[Clang] Add resource_dir_EQ flag to CC1Option group (#140870)" (#142509)
This reverts commit c7b8d6e1dcb0a277f95496cbc6bb27143afb80a6.
Fix check-clang CodeGenTest.TestNonAlterTest regression, see
https://github.com/llvm/llvm-project/pull/140870#issuecomment-2931610238
Commit: eed98e1493414ae9c30596b1eeb8f4a9b260e42a
https://github.com/llvm/llvm-project/commit/eed98e1493414ae9c30596b1eeb8f4a9b260e42a
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] 'attach' clause lowering for combined/compute
Attach is identical to 'present', except it generates an acc.attach and
acc.detach. This patch implements these, just like the preivous handful
of clauses.
Commit: 0c495ce9c4237f0f090b672efd94839e52cb5f18
https://github.com/llvm/llvm-project/commit/0c495ce9c4237f0f090b672efd94839e52cb5f18
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Handle function decls with MS calling conventions (#143083)
Commit: d953ca5659d60c46c6e9352b6e75bb20d35d9e1d
https://github.com/llvm/llvm-project/commit/d953ca5659d60c46c6e9352b6e75bb20d35d9e1d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[Sema] Drop const from a return type (NFC) (#143224)
Commit: 477f9f6d92a49a69b26c44cf08234f2eb68c900a
https://github.com/llvm/llvm-project/commit/477f9f6d92a49a69b26c44cf08234f2eb68c900a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Support/Windows/Path.inc
Log Message:
-----------
[llvm] Call hash_combine_range with ranges (NFC) (#143225)
We can now invoke hash_combine_range with a range.
Commit: 0ef1e69f224086e105ddaeebf2f90e7658a2fe93
https://github.com/llvm/llvm-project/commit/0ef1e69f224086e105ddaeebf2f90e7658a2fe93
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
[clang] Strip away lambdas (NFC) (#143226)
We don't need lambdas here.
Commit: 8829503f7a15ce8e6560000b9d49ec500e48ca76
https://github.com/llvm/llvm-project/commit/8829503f7a15ce8e6560000b9d49ec500e48ca76
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M llvm/lib/FuzzMutate/IRMutator.cpp
Log Message:
-----------
[FuzzMutate] Use llvm::any_of (NFC) (#143227)
Note that llvm::any_of can accommodate std::begin(Range), not just
Range.begin().
Commit: 4f304e2e7203d3deb97d20816836aae82de8b24c
https://github.com/llvm/llvm-project/commit/4f304e2e7203d3deb97d20816836aae82de8b24c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[clang] Use llvm::count (NFC) (#143228)
Commit: ca4dfca5c7b417048e074a3c4341ea9297f7086a
https://github.com/llvm/llvm-project/commit/ca4dfca5c7b417048e074a3c4341ea9297f7086a
Author: Acthinks Yang <yangzhh at mail.ustc.edu.cn>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/fcmp-select.ll
Log Message:
-----------
[InstCombine] Relax guard against FP min/max in select fold (#143144)
FCmp's commutativity predicates do not work with min/max semantics
Closes #142711
Commit: fcc82cfa9394b2bd4380acdcf0e2854caee5a47a
https://github.com/llvm/llvm-project/commit/fcc82cfa9394b2bd4380acdcf0e2854caee5a47a
Author: Weining Lu <luweining at loongson.cn>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/isel-optnone.ll
Log Message:
-----------
[LoongArch] Precommit test case to show bug in LoongArchISelDagToDag
The optimization level should not be restored into O2.
Commit: 90a52f4942961a5c32afc69d69470c6b7e5bcb8a
https://github.com/llvm/llvm-project/commit/90a52f4942961a5c32afc69d69470c6b7e5bcb8a
Author: Weining Lu <luweining at loongson.cn>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArch.h
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/isel-optnone.ll
M llvm/test/CodeGen/LoongArch/spill-ra-without-kill.ll
Log Message:
-----------
[LoongArch] Pass OptLevel to LoongArchDAGToDAGISel correctly
Like many other targets did. And see RISCV for similar fix.
Fix https://github.com/llvm/llvm-project/issues/143239
Commit: 692c5cdb56a321b0b0e97dd08cf90878cd6970fb
https://github.com/llvm/llvm-project/commit/692c5cdb56a321b0b0e97dd08cf90878cd6970fb
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/include/__type_traits/container_traits.h
M libcxx/include/__vector/container_traits.h
M libcxx/include/deque
M libcxx/include/forward_list
M libcxx/include/list
M libcxx/include/map
M libcxx/include/set
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat_helpers.h
Log Message:
-----------
[libc++] Do not call `reserve` in flat containers if underlying container is user defined (#140379)
This is brought up in the LWG reflector. We currently call `reserve` if
the underlying container has one. But the spec does not specify what
`reserve` should do for Sequence Container. So in theory if the
underlying container is user defined type and it can have a function
called `reserve` which does something completely different.
The fix is to just call `reserve` for STL containers if it has one
Commit: 3f8827eabad60e439b5d0c51a64cf89c5a5bf814
https://github.com/llvm/llvm-project/commit/3f8827eabad60e439b5d0c51a64cf89c5a5bf814
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M openmp/runtime/CMakeLists.txt
M openmp/runtime/cmake/LibompUtils.cmake
Log Message:
-----------
[OpenMP][cmake] Add SPARC support (#142364)
This patch adds SPARC infrastructure to the `openmp` `cmake` files,
matching what is done for other architectures.
Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`sparc-unknown-linux-gnu`, `sparc64-unknown-linux-gnu`,
`i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and
`x86_64-pc-linux-gnu`.
Commit: eec9431d37e22a627c78e2f345d41a9a40e0c1c0
https://github.com/llvm/llvm-project/commit/eec9431d37e22a627c78e2f345d41a9a40e0c1c0
Author: Shamshura Egor <164661612+egorshamshura at users.noreply.github.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] Added explanation why a is trivial copyable evaluated to false. (#142341)
Commit: bb9dcb27df133dd3788e7dfcd2bf31382673a2bc
https://github.com/llvm/llvm-project/commit/bb9dcb27df133dd3788e7dfcd2bf31382673a2bc
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[TableGen] Use `contains` instead of `count`. NFC. (#143156)
Commit: 432c5f2c608dfd40c4131e7e3a8282b0231b15ab
https://github.com/llvm/llvm-project/commit/432c5f2c608dfd40c4131e7e3a8282b0231b15ab
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.h
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[TableGen] Use `emplace` instead of `insert` and similar. NFC. (#143164)
Commit: bc931318a2880360f3970e1e6906adc9c90eb698
https://github.com/llvm/llvm-project/commit/bc931318a2880360f3970e1e6906adc9c90eb698
Author: Imad Aldij <os at imadij.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/simple-requirement.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Implement CWG2517 Useless restriction on use of parameter in constraint-expression (#132919)
Remove `[expr.prim.req.nested]` check which restrict that local
parameters in constraint-expressions can only appear as unevaluated
operands. This change makes the treatment of examples like `requires`
expressions and other constant expression contexts uniform, consistent
with the adoption of P2280.
References: https://cplusplus.github.io/CWG/issues/2517.html
Fixes #132825
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 5e9527b644c23eae62656aa2cb7c0dd119150125
https://github.com/llvm/llvm-project/commit/5e9527b644c23eae62656aa2cb7c0dd119150125
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/simple_phi_condition.ll
Log Message:
-----------
[InstCombine] Add/Update test for #142263 (NFC)
Commit: bf51d583e44de6c01617740caff154d0c56309d6
https://github.com/llvm/llvm-project/commit/bf51d583e44de6c01617740caff154d0c56309d6
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/IR/invalid-vector.cir
Log Message:
-----------
[CIR] Upstream ShuffleOp for VectorType (#142288)
This change adds support for the Shuffle op for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 995d74f8663edb2e20f2d2672556582a6f4cc3f1
https://github.com/llvm/llvm-project/commit/995d74f8663edb2e20f2d2672556582a6f4cc3f1
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/test/CIR/Transforms/vector-ternary-fold.cir
Log Message:
-----------
[CIR] Implement folder for VecTernaryOp (#142946)
This change adds a folder for the VecTernaryOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 23d0c7348aacdfcb145a69e533a14131bae830cc
https://github.com/llvm/llvm-project/commit/23d0c7348aacdfcb145a69e533a14131bae830cc
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M flang/lib/Lower/Support/Utils.cpp
Log Message:
-----------
[flang] Fix missing includes in lib/Lower/Support/Utils.cpp (#143196)
Fixes the build failure due to missing includes introduced in
f8dcb059ae06376b0991936026d5befb3d7b109b.
Commit: bf53a49492bfc42966fe7a1f6d7a8aa1bdeab3b0
https://github.com/llvm/llvm-project/commit/bf53a49492bfc42966fe7a1f6d7a8aa1bdeab3b0
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
Log Message:
-----------
[GISel][NFC] Use ranged-for/enumerate in a few places. (#143185)
Follow-up to https://github.com/llvm/llvm-project/pull/143113.
Commit: b1d2d7c1285b4f8a9bce3ad519164bd0351ef979
https://github.com/llvm/llvm-project/commit/b1d2d7c1285b4f8a9bce3ad519164bd0351ef979
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
Log Message:
-----------
[Clang][Parse][NFC] Use `llvm::function_ref<>` instead of `std::optional<llvm::function_ref<>>` (#142906)
There is no need to distinguish between null `optional` and null
`function_ref` in this case.
Commit: 0e2103ac5c7c62341b499dc2fb402715ccdf9021
https://github.com/llvm/llvm-project/commit/0e2103ac5c7c62341b499dc2fb402715ccdf9021
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M libc/src/math/amdgpu/CMakeLists.txt
M libc/src/math/nvptx/CMakeLists.txt
Log Message:
-----------
[libc][NFC] Remove unused CMake for gpu math
Commit: d5704097fcc2128bb8c97867e090543024a936d0
https://github.com/llvm/llvm-project/commit/d5704097fcc2128bb8c97867e090543024a936d0
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
Log Message:
-----------
Refactor clang doc comment structure (#142273)
This patch refactors CommentKind handling in clang-doc by introducing a
strongly typed enum class for better type safety and clarity. It updates
all relevant places, including YAML traits and serialization, to work
with the new enum. Additionally, it enhances the Mustache-based HTML
generation by fully supporting all comment kinds, ensuring accurate
structured rendering of comment blocks. The changes simplify future
maintenance, improve robustness by eliminating unchecked defaults, and
ensure consistency between generators.
Fixes https://github.com/llvm/llvm-project/issues/142083
Commit: 893fa062803458bee8e374e0f30e5e2225155a5c
https://github.com/llvm/llvm-project/commit/893fa062803458bee8e374e0f30e5e2225155a5c
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rv64-trampoline-cfi.ll
Log Message:
-----------
[RISC-V] Adjust trampoline code for branch control flow protection (#141949)
Trampoline will use a alternative sequence when branch CFI is on.
The stack of the test is organized as follow
```
56 $ra
44 $a0 f
36 $a1 p
32 00038067 jalr t2
28 010e3e03 ld t3, 16(t3)
24 018e3383 ld t2, 24(t3)
20 00000e17 auipc t3, 0
sp+16 00000023 lpad 0
```
Commit: 469d1034dca1d0061a68aac94c72ce022d905e4c
https://github.com/llvm/llvm-project/commit/469d1034dca1d0061a68aac94c72ce022d905e4c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/test/MC/Sparc/sparc-vis2.s
M llvm/test/MC/Sparc/sparcv9-instructions.s
Log Message:
-----------
SPARC,test: Refactor error checking
* Test line/column
* Remove copied source lines from diagnostics
Commit: b4382a2c46931b2e0fc83d3c0f710f07a9c9ed67
https://github.com/llvm/llvm-project/commit/b4382a2c46931b2e0fc83d3c0f710f07a9c9ed67
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
Log Message:
-----------
SPARC: Modernize AsmBackend
* Move implementations out-of-line to align with other backends.
* clang-format the class.
Commit: de256ac8fb33ef1d5f38be278a8a81e0cc5236eb
https://github.com/llvm/llvm-project/commit/de256ac8fb33ef1d5f38be278a8a81e0cc5236eb
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/AST/StmtObjC.h
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in StmtObjC (#143256)
Commit: 56b98449c8f047c983508b13294a9610f8df0e2b
https://github.com/llvm/llvm-project/commit/56b98449c8f047c983508b13294a9610f8df0e2b
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/TypePrinter.cpp
A clang/test/AST/ast-dump-type-callingconv.cpp
Log Message:
-----------
[clang][AST] Fix spaces in TypePrinter for some calling convs (#143160)
There needs to be a space as the first character, otherwise the printed
function prototype will have the CC attribute attached to the final `)`.
I noticed this looking at the AST for a function with
`__attribute__((device_kernel))`
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 3bf2aece835bff9de41759bb8993a32de57e0f06
https://github.com/llvm/llvm-project/commit/3bf2aece835bff9de41759bb8993a32de57e0f06
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/AST/StmtCXX.h
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in StmtCXX (#143251)
Commit: 3ebb91d3c8013b7da577bab6db249ce5bea6d6ee
https://github.com/llvm/llvm-project/commit/3ebb91d3c8013b7da577bab6db249ce5bea6d6ee
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/AST/ExprConcepts.h
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in ExprConcepts (#143252)
Commit: 6615ec6084f05e609e00025f7f31216710e765cc
https://github.com/llvm/llvm-project/commit/6615ec6084f05e609e00025f7f31216710e765cc
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/AST/ExprObjC.h
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in ExprObjC (#143254)
Commit: 7dbae40c94fc39727b847e3db0aed0cf19adc3ce
https://github.com/llvm/llvm-project/commit/7dbae40c94fc39727b847e3db0aed0cf19adc3ce
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/ParsedTemplate.h
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in ParsedTemplate (#143255)
Commit: fe3760eb031b108a954e1adc43f260aeb236c1d1
https://github.com/llvm/llvm-project/commit/fe3760eb031b108a954e1adc43f260aeb236c1d1
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
Log Message:
-----------
NVPTX: Implement printMCExpr with generic print
3d2a976197ce4060e7576fa3ce67f87fa8cff126 (2015) copied and adapted
the generic printer to reduce parentheses, which is unnecessary after #133674.
Commit: b4b86a7a3c2b2ad6cdb6c1e1041ce28ee4a63a17
https://github.com/llvm/llvm-project/commit/b4b86a7a3c2b2ad6cdb6c1e1041ce28ee4a63a17
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Dialect/Linalg/vectorization/insert-slice.mlir
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
Log Message:
-----------
[mlir][linalg] Refactor vectorization hooks to improve code reuse (#141244)
This patch refactors two vectorization hooks in Vectorization.cpp:
* `createWriteOrMaskedWrite` gains a new parameter for write indices,
aligning it with its counterpart `createReadOrMaskedRead`.
* `vectorizeAsInsertSliceOp` is updated to reuse both of the above
hooks, rather than re-implementing similar logic.
CONTEXT
-------
This is effectively a refactoring of the logic for vectorizing
`tensor.insert_slice`. Recent updates added masking support:
* https://github.com/llvm/llvm-project/pull/122927
* https://github.com/llvm/llvm-project/pull/123031
At the time, reuse of the shared `create*` hooks wasn't feasible due to
missing parameters and overly rigid assumptions. This patch resolves
that and moves us closer to a more maintainable structure.
CHANGES IN `createWriteOrMaskedWrite`
-------------------------------------
* Introduces a clear distinction between the destination tensor and the
vector to store, via named variables like `destType`/`vecToStoreType`,
`destShape`/`vecToStoreShape`, etc.
* Ensures the correct rank and shape are used for attributes like
`in_bounds`. For example, the size of the `in_bounds` attr now matches
the source vector rank, not the tensor rank.
* Drops the assumption that `vecToStoreRank == destRank` - this doesn't
hold in many real examples.
* Deduces mask dimensions from `vecToStoreShape` (vector) instead of
`destShape` (tensor). (Eventually we should not require
`inputVecSizesForLeadingDims` at all - mask shape should be inferred.)
NEW HELPER: `isMaskTriviallyFoldable`
-------------------------------------
Adds a utility to detect when masking is unnecessary. This avoids
inserting redundant masks and reduces the burden on canonicalization to
clean them up later.
Example where masking is provably unnecessary:
```mlir
%2 = vector.mask %1 {
vector.transfer_write %0, %arg1[%c0, %c0, %c0, %c0, %c0, %c0]
{in_bounds = [true, true, true]}
: vector<1x2x3xf32>, tensor<9x8x7x1x2x3xf32>
} : vector<1x2x3xi1> -> tensor<9x8x7x1x2x3xf32>
```
Also, without this hook, tests are more complicated and require more
matching.
VECTORIZATION BEHAVIOUR
-----------------------
This patch preserves the current behaviour around masking and the use
of`in_bounds` attribute. Specifically:
* `useInBoundsInsteadOfMasking` is set when no input vector sizes are
available.
* The vectorizer continues to infer vector sizes where needed.
Note: the computation of the `in_bounds` attribute is not always
correct. That
issue is tracked here:
* https://github.com/llvm/llvm-project/issues/142107
This will be addressed separately.
TEST CHANGES
-----------
Only affects vectorization of:
* `tensor.insert_slice` (now refactored to use shared hooks)
Test diffs involve additional `arith.constant` Ops due to increased
reuse of
shared helpers (which generate their own constants). This will be
cleaned up
via constant caching (see #138265).
NOTE FOR REVIEWERS
------------------
This is a fairly substantial rewrite. You may find it easier to review
`createWriteOrMaskedWrite` as a new method rather than diffing
line-by-line.
TODOs (future PRs)
------------------
Further alignment of `createWriteOrMaskedWrite` and
`createReadOrMaskedRead`:
* Move `createWriteOrMaskedWrite` next to `createReadOrMaskedRead` (in
VectorUtils.cpp)
* Make `createReadOrMaskedRead` leverage `isMaskTriviallyFoldable`.
* Extend `isMaskTriviallyFoldable` with value-bounds-analysis. See the
updated test in transform-vector.mlir for an example that would
benefit from this.
* Address #142107
(*) This method will eventually be moved out of Vectorization.cpp, which
isn't the right long-term home for it.
Commit: 97a32f2ad9ded95806db1dcfc281f64b0c1874a6
https://github.com/llvm/llvm-project/commit/97a32f2ad9ded95806db1dcfc281f64b0c1874a6
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.h
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
Log Message:
-----------
MC: Add MCSpecifierExpr to unify target MCExprs
Many targets define MCTargetExpr subclasses just to encode an expression
with a relocation specifier. Create a generic MCSpecifierExpr to be
inherited instead. Migrate M68k and SPARC as examples.
Commit: 30d8aebbe2c3bd4bdda7a7feefeb7cf7d556a458
https://github.com/llvm/llvm-project/commit/30d8aebbe2c3bd4bdda7a7feefeb7cf7d556a458
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/multi-level-implicit-pointer-conversion.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/multi-level-implicit-pointer-conversion.c
Log Message:
-----------
[clang-tidy] Add option to disable bugprone-multi-level-pointer-conversion in C code (#141209)
Sometimes a project may want to enable this check only in C++, and
disable it in C, since the patterns the check warns about are quite
common and idiomatic in C, and there are no better alternatives.
Fixes #140659
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: 24bd4e59b9e2901f8797484e7a231178d91807aa
https://github.com/llvm/llvm-project/commit/24bd4e59b9e2901f8797484e7a231178d91807aa
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Use regular phi printing for resume phis.
As discussed in https://github.com/llvm/llvm-project/pull/140405, remove
custom printing for resume-phis and update tests.
Commit: e997eb4c3951ccd43046cc2da3c7a5fd1d9319ec
https://github.com/llvm/llvm-project/commit/e997eb4c3951ccd43046cc2da3c7a5fd1d9319ec
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
Log Message:
-----------
VEMCExpr: Migrate to MCSpecifierExpr
Follow-up to 97a32f2ad9ded95806db1dcfc281f64b0c1874a6
Commit: df46140bab7a63eacbb7f4648d2d30c116b022c8
https://github.com/llvm/llvm-project/commit/df46140bab7a63eacbb7f4648d2d30c116b022c8
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
Log Message:
-----------
XtensaMCExpr: Migrate to MCSpecifierExpr
Commit: 00a1318d9ad91e0aa6253c0337131771d9222d05
https://github.com/llvm/llvm-project/commit/00a1318d9ad91e0aa6253c0337131771d9222d05
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
Log Message:
-----------
LoongArchMCExpr: Migrate to MCSpecifierExpr
Commit: 7730853fa1b955680478dc9cab69287897519765
https://github.com/llvm/llvm-project/commit/7730853fa1b955680478dc9cab69287897519765
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[SelectionDAG] Use DAG.getSelect (NFC) (#143276)
Commit: 897ccddcc30cacdfe04ddd622986b50ec963eabc
https://github.com/llvm/llvm-project/commit/897ccddcc30cacdfe04ddd622986b50ec963eabc
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format][NFC] Clean up fillRanges() in ClangFormat.cpp (#143236)
Commit: beaa98bf80ea12b08051c48b14b53f18689e80a9
https://github.com/llvm/llvm-project/commit/beaa98bf80ea12b08051c48b14b53f18689e80a9
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
Log Message:
-----------
AArch64MCExpr: Migrate to MCSpecifierExpr
Commit: 4a6b4d38943d391236afbc878477e5822685de97
https://github.com/llvm/llvm-project/commit/4a6b4d38943d391236afbc878477e5822685de97
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
Log Message:
-----------
RISCVMCExpr: Migrate to MCSpecifierExpr
Commit: cdd0a6c7812d0f94dc18060c7e29d5fd98e10106
https://github.com/llvm/llvm-project/commit/cdd0a6c7812d0f94dc18060c7e29d5fd98e10106
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
Log Message:
-----------
BOLT: Replace MCTargetExpr with MCSpecifierExpr to fix bolt-icf.test on aarch64 host
Commit: 8eac7f5a81be00da3c47484fafad3498e5c0e617
https://github.com/llvm/llvm-project/commit/8eac7f5a81be00da3c47484fafad3498e5c0e617
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
Log Message:
-----------
PPCMCExpr: Migrate to MCSpecifierExpr
Commit: 49a706d8efb1c894a56dfa574d59afd30a376fba
https://github.com/llvm/llvm-project/commit/49a706d8efb1c894a56dfa574d59afd30a376fba
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCSpecifierExpr: Make dtor defaulted
Commit: 532facc78e075255afde69f2d86f26e4d4dd4c7f
https://github.com/llvm/llvm-project/commit/532facc78e075255afde69f2d86f26e4d4dd4c7f
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-07 (Sat, 07 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
Log Message:
-----------
ARMMCExpr: Migrate to MCSpecifierExpr
Commit: 239c8ac2680fd579a09e27eb2c89ba71ae1fce36
https://github.com/llvm/llvm-project/commit/239c8ac2680fd579a09e27eb2c89ba71ae1fce36
Author: flovent <flbven at protonmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static-deducing-this.cpp
Log Message:
-----------
[clang-tidy] Fix false positives with deducing this in `readability-convert-member-functions-to-static` check (#141391)
Add check for `DeclRefExpr` which points to an explicit object
parameter.
Fixes #141381.
---------
Co-authored-by: fubowen <fubowen at protomail.com>
Co-authored-by: flovent <flbven at protomail.com>
Commit: ce270b495d32710f6e4c42b5c7f6678b1f01db60
https://github.com/llvm/llvm-project/commit/ce270b495d32710f6e4c42b5c7f6678b1f01db60
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
Log Message:
-----------
MCExpr: Move isSymbolUsedInExpression workaround to AMDGPU
This function was a workaround used to detect cyclic dependency
(properly resolved by 343428c666f9293ae260bbcf79130562b830b268).
We do not want backends to use it. However, #112251 exposed it to MCExpr
to be reused by AMDGPU. Keep the workaround within AMDGPU to prevent
other backends from accidentally relying on it.
Commit: 2f1c08215fb584a27987be74e2db48761cd29ebe
https://github.com/llvm/llvm-project/commit/2f1c08215fb584a27987be74e2db48761cd29ebe
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
Log Message:
-----------
SystemZMCExpr: Migrate to MCSpecifierExpr
Commit: 39064519cb65b5248fcb27b2fd9fa4397d518331
https://github.com/llvm/llvm-project/commit/39064519cb65b5248fcb27b2fd9fa4397d518331
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
Log Message:
-----------
AVRMCExpr: Migrate to MCSpecifierExpr
Commit: 5c76ae28940b91d358186c0afccad1fd7ac8a13e
https://github.com/llvm/llvm-project/commit/5c76ae28940b91d358186c0afccad1fd7ac8a13e
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
Log Message:
-----------
[Clang] Support constexpr asm at global scope. (#143268)
I previously failed to realize this feature existed...
Fixes #137459
Fixes #143242
Commit: ef328e97db61309e01ee10bf3bb430e1d1b4a7ed
https://github.com/llvm/llvm-project/commit/ef328e97db61309e01ee10bf3bb430e1d1b4a7ed
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
Log Message:
-----------
MipsMCExpr: Migrate to MCSpecifierExpr
Commit: 38658b54b244ced1eccbf73b1342d064524501b0
https://github.com/llvm/llvm-project/commit/38658b54b244ced1eccbf73b1342d064524501b0
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/Lanai/LanaiMCInstLower.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
Log Message:
-----------
LanaiMCExpr: Migrate to MCSpecifierExpr
Commit: 0613f8b9e49537c7493870ad971fdaf353a2a90d
https://github.com/llvm/llvm-project/commit/0613f8b9e49537c7493870ad971fdaf353a2a90d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-move/Move.h
Log Message:
-----------
[clang-move] Teach getDeclarationList to return ArrayRef (NFC) (#143278)
getDeclarationList is used only for read-only access to the array. I
don't think it's actually meant to return by value.
Commit: 9ea3972cd10e46cea0624bb149ad655301db0c6b
https://github.com/llvm/llvm-project/commit/9ea3972cd10e46cea0624bb149ad655301db0c6b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[Vectorize] Strip away lambdas (NFC) (#143279)
We don't need lambdas here.
Commit: 1cf1c21b8497832e2bc159344a20bfcc5636f39c
https://github.com/llvm/llvm-project/commit/1cf1c21b8497832e2bc159344a20bfcc5636f39c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir] Strip away lambdas (NFC) (#143280)
We don't need lambdas here.
Commit: 6edfc6ce6ced8eaa34238eb10904d6f91730f942
https://github.com/llvm/llvm-project/commit/6edfc6ce6ced8eaa34238eb10904d6f91730f942
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
Log Message:
-----------
[clang-tools-extra] Use llvm::any_of (NFC) (#143281)
Commit: 3e1931d7fea07b5cf5e4093c847382202af1e9b7
https://github.com/llvm/llvm-project/commit/3e1931d7fea07b5cf5e4093c847382202af1e9b7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
Log Message:
-----------
[Scalar] Use std::none_of (NFC) (#143282)
While I am at it, this patch replaces It with std::next(It) for clarity.
Note that It is not used after this point.
Commit: 00eb22fff99559cc97fc9b24a9dbe86b89e9beae
https://github.com/llvm/llvm-project/commit/00eb22fff99559cc97fc9b24a9dbe86b89e9beae
Author: Thorsten Klein <kleinkastel at googlemail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/namespace-comment.rst
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing-nested-namespaces.cpp
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing.cpp
Log Message:
-----------
added option `google-readability-namespace-comments.AllowNoNamespaceComments` (#124265)
New option AllowNoNamespaceComments for
`google-readability-namespace-comments.AllowNoNamespaceComments` is
added.
When true, the check will allow that no namespace comment is present. If
a namespace comment is added but it is not matching, the check will
fail. Default is `false`
Fixes #124264
Commit: 7119a0f39b64c9451dc2122dd028104068588780
https://github.com/llvm/llvm-project/commit/7119a0f39b64c9451dc2122dd028104068588780
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/CodeGen/X86/atomic-idempotent.ll
Log Message:
-----------
[AtomicExpandPass] Match isIdempotentRMW with InstcombineRMW (#142277)
Add umin, smin, umax, smax to isIdempotentRMW
Commit: 5dfb7bbaa4fc0c6f4bb7b8fb38fecade39fb8a02
https://github.com/llvm/llvm-project/commit/5dfb7bbaa4fc0c6f4bb7b8fb38fecade39fb8a02
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
[mlir][linalg] Simplify `createWriteOrMaskedWrite` (NFC) (#141567)
This patch removes `inputVecSizesForLeadingDims` from the parameter list
of `createWriteOrMaskedWrite`. That argument is unnecessary - vector
sizes can be obtained from the `vecToStore` parameter. Since this doesn't
change behavior or test results, it's marked as NFC.
Additional cleanups:
* Renamed `vectorToStore` to `vecToStore` for consistency and brevity.
* Rewrote a conditional at the end of the function to use early exit,
improving readability:
```cpp
// BEFORE:
if (maskingRequried) {
Value maskForWrite = ...;
write = maskOperation(write, maskForWrite);
}
return write;
// AFTER
if (!maskingRequried)
return write;
Value maskFroWrite = ...;
return vector::maskOperation(builder, write, maskForWrite);
```
Commit: 102dfa8a487a1c44a95a225825039d282be712a0
https://github.com/llvm/llvm-project/commit/102dfa8a487a1c44a95a225825039d282be712a0
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/fold-freeze-fmul-to-fma.ll
Log Message:
-----------
[DAGCombiner] Allow freeze to sink through fmul by adding it to AllowMultipleMaybePoisonOperands (#142250)
Allow freeze to sink through fmul by treating it as a
non-poison-generating op
when operands are not poison.
Adding `ISD::FMUL` to `AllowMultipleMaybePoisonOperands` lets DAG
combine
push freeze through fmul. This helps expose patterns like `fmul+fadd`
for `FMA` fusion.
When rebuilding the node, we drop flags like nnan/ninf/nsz that imply
poison,
but keep contract, reassoc, afn, and arcp.
Closes: https://github.com/llvm/llvm-project/issues/141622
Commit: 55c86c5f77437c15fd29936cc8ad48b2097660b3
https://github.com/llvm/llvm-project/commit/55c86c5f77437c15fd29936cc8ad48b2097660b3
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] fix formatting of `namespace-comment-check` (#143305)
Fixed formatting and codestyle issues in `namespace-comment-check`
Follow up to https://github.com/llvm/llvm-project/pull/124265.
Commit: e0b33c950031f031715e9c3905c5909f130cb4d0
https://github.com/llvm/llvm-project/commit/e0b33c950031f031715e9c3905c5909f130cb4d0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-256.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
Log Message:
-----------
Revert "[X86] Fold (add X, (srl Y, 7)) -> (sub X, (ashr Y, 7)) on vXi8 vectors" (#143303)
Reverts llvm/llvm-project#143106 as this is causing infinite loops in
#143238
Commit: 3fc216bc3b4448cd8df984e9bec41a9836a7a423
https://github.com/llvm/llvm-project/commit/3fc216bc3b4448cd8df984e9bec41a9836a7a423
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
Log Message:
-----------
[X86] Add test coverage for #143238
Commit: 07a86a525ea2f85ade9e224c200f0311fec9e433
https://github.com/llvm/llvm-project/commit/07a86a525ea2f85ade9e224c200f0311fec9e433
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/TargetOptionsImpl.cpp
Log Message:
-----------
CodeGen: Look up frame-pointer attribute once (#142902)
Instead of pre-checking if the frame-pointer attribute is present,
just query the attribute and see if it's valid.
Commit: b0ff07e0ccac9efcfaca5f59261a605c65549801
https://github.com/llvm/llvm-project/commit/b0ff07e0ccac9efcfaca5f59261a605c65549801
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang/include/clang/AST/TemplateBase.h
M clang/lib/AST/TemplateBase.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in TemplateBase (#143257)
Commit: 8a5c8eb0be699db1c9b891e6fe6adf068299b9fc
https://github.com/llvm/llvm-project/commit/8a5c8eb0be699db1c9b891e6fe6adf068299b9fc
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in AST/Type (#143258)
Commit: 73a351e7d42c1da46a915c7edb7e6697a9dea640
https://github.com/llvm/llvm-project/commit/73a351e7d42c1da46a915c7edb7e6697a9dea640
Author: Yash Solanki <67216443+yashnator at users.noreply.github.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
A llvm/test/Transforms/GVN/trunc-nuw-equality.ll
Log Message:
-----------
[llvm][GVN] Propagate `trunc nuw to i1` equalities (#143273)
This patch adds to GVN's `propagateEquality()` to reason about equality
constraints through `trunc nuw iN to i1`.
Given:
%tr = trunc nuw iN %v to i1
We can deduce that if `%tr == true`, then `%v == 1`, and if `%tr ==
false`, then `%v == 0`. This is valid because `nuw` guarantees that
truncation didn't lose unsigned bits, so `%v` must have been either 0 or
1.
The patch adds logic to propagate this information via the GVN worklist.
This enables further simplification opportunities downstream, such as
folding redundant stores or conditionals that depend on `%v`.
Includes a test case in `GVN/trunc-nuw-equality.ll`.
Resolves #142744
Commit: 89aef7e0608d927eb7613834d817b723feef4f83
https://github.com/llvm/llvm-project/commit/89aef7e0608d927eb7613834d817b723feef4f83
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M lld/COFF/MinGW.cpp
Log Message:
-----------
[LLD][Cygwin] Add libcygwin and libmsys-2.0 to exclude-from-auto-export library list (#143118)
Linking for Cygwin target always needs -lcygwin (and, -lmsys-2.0
instead for MSYS2 target) but should not auto-export from
them, same as -lmingw32 for MinGW target.
Commit: 718fd90b8a8cee30b6e491d6f78306e88ecaafbf
https://github.com/llvm/llvm-project/commit/718fd90b8a8cee30b6e491d6f78306e88ecaafbf
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M lld/test/ELF/ppc64-long-branch-pi.s
M lld/test/ELF/ppc64-relocs.s
Log Message:
-----------
ELF,test: Make tests not rely on PPC64 .TOC.
`.quad .TOC. at tocbase` leads to a R_PPC64_TOC relocation referencing 0.
GNU Assembler does not define .TOC. . Fix reliance on the .TOC. symbol.
Commit: 6baaa0afc3214263b89e5ccfc1eebc63ab82bb68
https://github.com/llvm/llvm-project/commit/6baaa0afc3214263b89e5ccfc1eebc63ab82bb68
Author: David Green <david.green at arm.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang/include/clang/Basic/arm_mve.td
M clang/test/CodeGen/arm-mve-intrinsics/vrnd.c
M llvm/include/llvm/IR/IntrinsicsARM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/test/CodeGen/Thumb2/mve-frint.ll
M llvm/test/CodeGen/Thumb2/mve-intrinsics/vrintn.ll
Log Message:
-----------
[ARM] Handle roundeven for MVE. (#142557)
Now that #141786 handles scalar and neon types, this adds MVE
definitions and legalization for llvm.roundeven intrinsics. The existing
llvm.arm.mve.vrintn are auto-upgraded to llvm.roundeven like other vrint
instructions, so should continue to work.
Commit: d34b392dade4f9f0ef981767a9a47504ba85d0af
https://github.com/llvm/llvm-project/commit/d34b392dade4f9f0ef981767a9a47504ba85d0af
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll
M llvm/test/ExecutionEngine/MCJIT/remote/eh.ll
M llvm/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll
M llvm/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-common-symbols-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll
Log Message:
-----------
[LLVM][Tests] remove %exeext from lli-child-target parameter. (#143077)
Its presence seems to actively hinder the ToolSubst mechanism that was
supposed to fill in the path to the tool, which prevented these tests
from working on Cygwin.
Commit: b1b84a629d5a6d7ed3d4f05077c1db8b6898115b
https://github.com/llvm/llvm-project/commit/b1b84a629d5a6d7ed3d4f05077c1db8b6898115b
Author: Jeremy Kun <jkun at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M mlir/include/mlir/Pass/Pass.h
M mlir/include/mlir/Pass/PassManager.h
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
M mlir/test/Pass/pipeline-options-parsing.mlir
M mlir/test/Pass/pipeline-parsing.mlir
M mlir/test/Pass/run-reproducer.mlir
M mlir/test/Transforms/composite-pass.mlir
M mlir/test/Transforms/inlining-dump-default-pipeline.mlir
Log Message:
-----------
Pretty print on -dump-pass-pipeline (#143223)
This PR makes `dump-pass-pipeline` pretty-print the dumped pipeline. For
large pipelines the current behavior produces a wall of text that is
hard to visually navigate.
For the command
```bash
mlir-opt --pass-pipeline="builtin.module(flatten-memref, expand-strided-metadata,func.func(arith-expand,func.func(affine-scalrep)))" --dump-pass-pipeline
```
Before:
```bash
Pass Manager with 3 passes:
builtin.module(flatten-memref,expand-strided-metadata,func.func(arith-expand{include-bf16=false include-f8e8m0=false},func.func(affine-scalrep)))
```
After:
```bash
Pass Manager with 3 passes:
builtin.module(
flatten-memref,
expand-strided-metadata,
func.func(
arith-expand{include-bf16=false include-f8e8m0=false},
func.func(
affine-scalrep
)
)
)
```
Another nice feature of this is that the pretty-printed string can still
be copy/pasted into `-pass-pipeline` using a quote:
```bash
$ bin/mlir-opt --dump-pass-pipeline test.mlir --pass-pipeline='
builtin.module(
flatten-memref,
expand-strided-metadata,
func.func(
arith-expand{include-bf16=false include-f8e8m0=false},
func.func(
affine-scalrep
)
)
)'
```
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 366f48890d643e15e1317ada300f2cc1be437721
https://github.com/llvm/llvm-project/commit/366f48890d643e15e1317ada300f2cc1be437721
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGenCXX/dependent-template-alias.cpp
Log Message:
-----------
[clang] AST: fix dependency calculation for TypedefTypes (#143291)
The dependency from the type sugar of the underlying type of a Typedef
were not being considered for the dependency of the TypedefType itself.
A TypedefType should be instantiation dependent if it involves
non-instantiated template parameters, even if they don't contribute to
the canonical type.
Besides, a TypedefType should be instantiation dependent if it is
declared in a dependent context, but fixing that would have performance
consequences, as otherwise non-dependent typedef declarations would need
to be transformed during instantiation as well.
This removes the workaround added in
https://github.com/llvm/llvm-project/pull/90032
Fixes https://github.com/llvm/llvm-project/issues/89774
Commit: 65d66625b3e2b8322ed99d82edabecbafcd0885b
https://github.com/llvm/llvm-project/commit/65d66625b3e2b8322ed99d82edabecbafcd0885b
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
M clang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.h
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.cpp
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.h
M clang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.h
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.h
M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.h
M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.h
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.h
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] run clang-format over `abseil` and `altera` checks. (#143314)
Commit: ce46adb8b7ce645353eccaedf31ed9765dab77bb
https://github.com/llvm/llvm-project/commit/ce46adb8b7ce645353eccaedf31ed9765dab77bb
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/android/AndroidTidyModule.cpp
M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipe2Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipeCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecSocketCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.h
M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] run clang-format over 'android', 'boost' and 'bugprone' checks (#143315)
Commit: 68070f908bb7ac5f0b5fa9722caa504ecf723f6b
https://github.com/llvm/llvm-project/commit/68070f908bb7ac5f0b5fa9722caa504ecf723f6b
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.h
M clang-tools-extra/clang-tidy/darwin/DarwinTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/TrailingReturnCheck.h
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.h
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.h
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.h
M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
M clang-tools-extra/clang-tidy/google/UsingNamespaceDirectiveCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] run clang-format over 'cert', 'cppcore', 'fuchsia',… (#143316)
… 'google' checks
Commit: 55b6c3ed17c8937a99a1b787164417157ab871b9
https://github.com/llvm/llvm-project/commit/55b6c3ed17c8937a99a1b787164417157ab871b9
Author: David Green <david.green at arm.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/dup.ll
Log Message:
-----------
[AArch64][GlobalISel] Add dup tests where load is not combined into dup. NFC
Commit: 0583297f37f94fef1bb95e173226617fdb240160
https://github.com/llvm/llvm-project/commit/0583297f37f94fef1bb95e173226617fdb240160
Author: David Green <david.green at arm.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/dup.ll
Log Message:
-----------
[AArch64][GlobalISel] Add patterns for FPR i8 G_DUP
This adds missing patterns for i8 G_DUP from FPR registers, not present from
the other fp patterns like f16/f32 etc.
Commit: 414590bae8cdd2a59979e5ae4cb297f6a1967ec5
https://github.com/llvm/llvm-project/commit/414590bae8cdd2a59979e5ae4cb297f6a1967ec5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Infer result type for ComptueReductionResult in ::execute (NFC).
Remove explicit use of underlying instruction to get type.
Commit: 9ee4b356fdfc02e61b0bd948946fa1b4f8824670
https://github.com/llvm/llvm-project/commit/9ee4b356fdfc02e61b0bd948946fa1b4f8824670
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
A llvm/test/Transforms/LoopVectorize/select-index-interleaving.ll
R llvm/test/Transforms/LoopVectorize/select-min-index.ll
A llvm/test/Transforms/LoopVectorize/select-smax-last-index.ll
A llvm/test/Transforms/LoopVectorize/select-smin-last-index.ll
A llvm/test/Transforms/LoopVectorize/select-umax-last-index.ll
A llvm/test/Transforms/LoopVectorize/select-umin-first-index.ll
A llvm/test/Transforms/LoopVectorize/select-umin-last-index.ll
Log Message:
-----------
[LV] Reorganize index select tests (NFC).
This reorganizes the test coverage for selecting the min/max index. It
adds coverage for umin,umax,smin,smax variants, including test-coverage
for interleave codegen and cost-model driven tests.
Commit: 20a6b63f1beb8b4a2ffb2ff757c687b6a071b413
https://github.com/llvm/llvm-project/commit/20a6b63f1beb8b4a2ffb2ff757c687b6a071b413
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M libcxx/include/mdspan
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M libcxx/test/std/containers/views/mdspan/extents/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dextents.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dims.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
Log Message:
-----------
[libcxx] Include __fwd/span.h in <mdspan>
This patch includes __fwd/span.h in <mdspan> so that we get the
declaration of dynamic_extent inside <mdspan>. We also clean up quite a
few tests that were manually included <span> for dynamic_extent.
This is based on feedback from #142693.
Reviewers: philnik777, ldionne
Reviewed By: philnik777
Pull Request: https://github.com/llvm/llvm-project/pull/142925
Commit: b93e4215ec88628528b5fa2bfa7774af8333c46f
https://github.com/llvm/llvm-project/commit/b93e4215ec88628528b5fa2bfa7774af8333c46f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
[CI] Use LLVM_ENABLE_RUNTIMES for runtimes builds on Linux
This patch switches us to using LLVM_ENABLE_RUNTIMES rather than using
separate runtimes builds for some reductions in CMake configuration time
and some simplification of the monolithic-linux.sh script.
Reviewers: DavidSpickett, cmtice, lnihlen, Endilll, tstellar
Reviewed By: Endilll, DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/142694
Commit: 240ff854adae4278a6f5fb232bf5f76dd9b81c69
https://github.com/llvm/llvm-project/commit/240ff854adae4278a6f5fb232bf5f76dd9b81c69
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
Log Message:
-----------
[clangd] Use llvm::find (NFC) (#143317)
Commit: 9ce8dde54cebe41fcb829b91cb2680c6ef4db0e3
https://github.com/llvm/llvm-project/commit/9ce8dde54cebe41fcb829b91cb2680c6ef4db0e3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M lld/ELF/Writer.cpp
Log Message:
-----------
[lld] Use std::none_of (NFC) (#143318)
Commit: a14de0f810a0f026220d607a015b9dece9caf9ad
https://github.com/llvm/llvm-project/commit/a14de0f810a0f026220d607a015b9dece9caf9ad
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M lldb/source/Utility/Listener.cpp
Log Message:
-----------
[lldb] Use std::none_of (NFC) (#143319)
Commit: 90428419a5dc4c13b93741afa02d3a9aa695452f
https://github.com/llvm/llvm-project/commit/90428419a5dc4c13b93741afa02d3a9aa695452f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
Log Message:
-----------
[llvm] Use std::none_of (NFC) (#143320)
Commit: f3867f900fcb834bdc77c724766553d18aed0598
https://github.com/llvm/llvm-project/commit/f3867f900fcb834bdc77c724766553d18aed0598
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/BlotMapVector.h
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Log Message:
-----------
[llvm] Use *Map::try_emplace (NFC) (#143321)
- try_emplace(Key) is shorter than insert(std::make_pair(Key, 0)).
- try_emplace performs value initialization without value parameters.
- We overwrite values on successful insertion anyway.
Commit: 4fbf67f73b8b8b7f7ff66587e212be61aed014d9
https://github.com/llvm/llvm-project/commit/4fbf67f73b8b8b7f7ff66587e212be61aed014d9
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-fmaxnum.ll
M llvm/test/CodeGen/X86/avx512fp16-fminnum.ll
Log Message:
-----------
[X86][FP16] Do not generate X86 FMIN/FMAX for FP16 when VLX not enabled (#143100)
Fixes: https://godbolt.org/z/7jYa3bWK9
Commit: c480dcddd91e3ff0707d6629e6ddac8587d9d1f1
https://github.com/llvm/llvm-project/commit/c480dcddd91e3ff0707d6629e6ddac8587d9d1f1
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Move LBREntry from DataReader to DataAggregator (#143287)
LBREntry is only used in DataAggregator.
Test Plan: NFC
Commit: dcd2ac7ef2e7f117c3407c238b5b6f6374691ad3
https://github.com/llvm/llvm-project/commit/dcd2ac7ef2e7f117c3407c238b5b6f6374691ad3
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/pre-aggregated-perf.test
Log Message:
-----------
[BOLT] Sort EntryData (#143308)
Aggregated branch data has two containers: `Data` for local branches,
and `EntryData` for external branches. Fix the omission and sort
`EntryData` to ensure stable output fdata profiles.
Test Plan: updated pre-aggregated-perf.test
Commit: 03bbd04bb7ae40dcda7b8bf1d6d09f63191503b0
https://github.com/llvm/llvm-project/commit/03bbd04bb7ae40dcda7b8bf1d6d09f63191503b0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/pre-aggregated-perf.test
Log Message:
-----------
[BOLT][NFCI] Skip validation in parseLBRSample (#143288)
Parsed branches and fall-throughs are validated in `doBranch` and
`doTrace` respectively. Simplify parseLBRSample by omitting the
validation. This also speeds up perf data processing as checks are only
done once for aggregated branches/fall-throughs and not individual LBR
entries.
Since invalid/external addresses are no longer sanitized during parsing,
sanitize them in `doBranch`.
Test Plan: updated X86/pre-aggregated-perf.test
Commit: 90beda2aba3cac34052827c560449fcb184c7313
https://github.com/llvm/llvm-project/commit/90beda2aba3cac34052827c560449fcb184c7313
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/shuffle-as-permute-and-shuffle.ll
Log Message:
-----------
[LoongArch] Lower vector_shuffle as lane permute and shuffle for lasx if possible. (#141196)
Commit: 0ed5d9aff6e72bdaf3f12bc71dbf83a5c116e8fd
https://github.com/llvm/llvm-project/commit/0ed5d9aff6e72bdaf3f12bc71dbf83a5c116e8fd
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/lib/Basic/Targets/LoongArch.h
A clang/test/CodeGen/LoongArch/bfloat-abi.c
A clang/test/CodeGen/LoongArch/bfloat-mangle.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
A llvm/test/CodeGen/LoongArch/bf16-promote.ll
A llvm/test/CodeGen/LoongArch/bf16.ll
Log Message:
-----------
[LoongArch][BF16] Add support for the __bf16 type (#142548)
The LoongArch psABI recently added __bf16 type support. Now we can
enable this new type in clang.
Currently, bf16 operations are automatically supported by promoting to
float. This patch adds bf16 support by ensuring that load extension /
truncate store operations are properly expanded.
And this commit implements support for bf16 truncate/extend on hard FP
targets. The extend operation is implemented by a shift just as in the
standard legalization. This requires custom lowering of the truncate
libcall on hard float ABIs (the normal libcall code path is used on soft
ABIs).
Commit: e27876ad2f806ed8efeb4c254949c3e5cfd82b24
https://github.com/llvm/llvm-project/commit/e27876ad2f806ed8efeb4c254949c3e5cfd82b24
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcibi-long-conditional-jump.s
M llvm/test/MC/RISCV/xqcibi-valid.s
Log Message:
-----------
[RISCV] Add compress patterns for Xqcibi branch instructions (#143095)
This patch adds patterns to compress from the 48-bit qc.e.bxxi to the 32
bit qc.bxxi branch instructions.
Commit: 392bd577e37d795224da6fefc4b621a3f117105e
https://github.com/llvm/llvm-project/commit/392bd577e37d795224da6fefc4b621a3f117105e
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
Log Message:
-----------
[clangd] Guard against trivial FunctionProtoTypeLoc when creating inlay hints (#143087)
Fixes https://github.com/llvm/llvm-project/issues/142608
Commit: d6ecd6a658103adc76cf67de64e0b5b399e6fcef
https://github.com/llvm/llvm-project/commit/d6ecd6a658103adc76cf67de64e0b5b399e6fcef
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
A llvm/test/CodeGen/X86/pr142937.ll
Log Message:
-----------
[SelectionDAG][X86] Handle `llvm.type.test` in DAGBuilder (#142939)
Closes #142937
Commit: e47abec51353848d7ee2e50e8fc3f7b275a11463
https://github.com/llvm/llvm-project/commit/e47abec51353848d7ee2e50e8fc3f7b275a11463
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M clang/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp
Log Message:
-----------
[DirectoryWatcher] Use llvm::find (NFC) (#143337)
Commit: 3dabeed837c20b0664f7772247a08d4fddab8737
https://github.com/llvm/llvm-project/commit/3dabeed837c20b0664f7772247a08d4fddab8737
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/bit.h
Log Message:
-----------
[ADT] Simplify popcount with constexpr if (NFC) (#143339)
Without this patch, we implement 4-byte and 8-byte popcount as
structs.
This patch replaces the template trick with constexpr if, putting the
entire logic in the body of popcount.
Commit: 03f616eb3acf1ae5a219ea247d9efe3cbfd41b59
https://github.com/llvm/llvm-project/commit/03f616eb3acf1ae5a219ea247d9efe3cbfd41b59
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-08 (Sun, 08 Jun 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/tools/llvm-cov/SourceCoverageViewText.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/Support/ARMAttributeParser.cpp
Log Message:
-----------
[llvm] Compare std::optional<T> to values directly (NFC) (#143340)
This patch transforms:
X && *X == Y
to:
X == Y
where X is of std::optional<T>, and Y is of T or similar.
Commit: acd264d0ace52c7fd4d10a20bd20a739040058c7
https://github.com/llvm/llvm-project/commit/acd264d0ace52c7fd4d10a20bd20a739040058c7
Author: David Green <david.green at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-rev.mir
M llvm/test/CodeGen/AArch64/arm64-neon-add-pairwise.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/shufflevector.ll
Log Message:
-----------
[AArch64][GlobalISel] Prefer DUPLANE to REV and other shuffles (#142725)
Some shuffles containing undefs can match multiple instructions, such as
<3,u,u,u> being either a duplane or a rev. This changes the order that
different shuffles are considered, so that duplane is preferred which is
simpler and more likely to lead to further combines.
Commit: c70c0a86a5b7b4c51d3be5ebbcc5cf291af4d843
https://github.com/llvm/llvm-project/commit/c70c0a86a5b7b4c51d3be5ebbcc5cf291af4d843
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/AArch64/aes-intrinsics.ll
Log Message:
-----------
[AArch64][InstCombine] Combine AES instructions with zero operands. (#142781)
We currently combine (AES (EOR (A, B)), 0) into (AES A, B) for Neon
intrinsics when the zero operand appears in the RHS of the AES
instruction.
This patch extends the combine to support AES SVE intrinsics and
the case where the zero operand appears in the LHS of the AES
instructions.
Commit: 5d3899d293e902124c3602b466031b6b799fb123
https://github.com/llvm/llvm-project/commit/5d3899d293e902124c3602b466031b6b799fb123
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/sve2-intrinsics-crypto.ll
Log Message:
-----------
[AArch64][SVE] Mark AES instructions commutable. (#142919)
We already do this for the Neon versions of the instructions,
just not for SVE.
Commit: 2f15637e04f51e3ef435c0c0d39aab0e8b933023
https://github.com/llvm/llvm-project/commit/2f15637e04f51e3ef435c0c0d39aab0e8b933023
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/fcmp-select.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Update `Ordered` when both operands are non-NaN. (#143349)
When the original predicate is ordered and both operands are non-NaN,
`Ordered` should be set to true. This variable still matters even if
both operands are non-NaN because FMF only applies to select, not fcmp.
Closes https://github.com/llvm/llvm-project/issues/143123.
Commit: f3ffee601c1746eafa9a6684541e90d182c9126e
https://github.com/llvm/llvm-project/commit/f3ffee601c1746eafa9a6684541e90d182c9126e
Author: jyli0116 <yu.li at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/arm64-rev.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GISel][AArch64] Allow PatLeafs to be imported in GISel which were previously causing warnings (#140935)
Previously PatLeafs could not be imported, causing the following
warnings to be emitted when running tblgen with
`-warn-on-skipped-patterns:`
```
/work/clean/llvm/lib/Target/AArch64/AArch64InstrInfo.td:2631:1: warning: Skipped pattern: Src pattern child has unsupported predicate
def : Pat<(i64 (mul top32Zero:$Rn, top32Zero:$Rm)),
^
```
These changes allow the patterns to now be imported successfully.
Commit: 62c9b0cab614f2d408929f9ee4280fc3c0084e08
https://github.com/llvm/llvm-project/commit/62c9b0cab614f2d408929f9ee4280fc3c0084e08
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] Fix a crash when diagnosing a non relocatable with no copy ctr (#143350)
If lookup did not find a copy constructor, it would return nulll,
leading to an assert in `cast`.
Fixes #143325
Commit: c6670fa20d434a85e167e88aa6a4f56bfc02af2f
https://github.com/llvm/llvm-project/commit/c6670fa20d434a85e167e88aa6a4f56bfc02af2f
Author: nerix <nerixdev at outlook.de>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/source/Symbol/ObjectFile.cpp
A lldb/test/Shell/ObjectFile/PECOFF/dwarf-clang.yaml
A lldb/test/Shell/ObjectFile/PECOFF/dwarf-gcc-mingw.yaml
Log Message:
-----------
[LLDB] Unify DWARF section name matching (#141344)
Different object file formats support DWARF sections (COFF, ELF, MachO,
PE/COFF, WASM). COFF and PE/COFF only matched a subset. This caused some
GCC executables produced on MinGW to have issue later on when debugging.
One example is that `.debug_rnglists` was not matched, which caused
range-extraction to fail when printing a backtrace.
This unifies the parsing of section names in
`ObjectFile::GetDWARFSectionTypeFromName`, so all file formats can use
the same naming convention. Since the prefixes are different,
`GetDWARFSectionTypeFromName` only matches the suffixes (i.e. `.debug_`
needs to be stripped before).
I added two tests to ensure the sections are correctly identified on
Windows executables.
Commit: df4b453516ebf9aa03c48c17e81112dce1c80f41
https://github.com/llvm/llvm-project/commit/df4b453516ebf9aa03c48c17e81112dce1c80f41
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/source/Breakpoint/WatchpointResource.cpp
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Use llvm::find (NFC) (#143338)
This patch should be mostly obvious, but in one place, this patch
changes:
const auto &it = std::find(...)
to:
auto it = llvm::find(...)
We do not need to bind to a temporary with const ref.
Commit: c73830878463b6d383ca0e8c1dd50842ec4489b9
https://github.com/llvm/llvm-project/commit/c73830878463b6d383ca0e8c1dd50842ec4489b9
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
[lldb][test] Remove outdated rdar link in settings test
Commit: b62488f8326c61fad05d4cd7c88e6e940d8929a4
https://github.com/llvm/llvm-project/commit/b62488f8326c61fad05d4cd7c88e6e940d8929a4
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M compiler-rt/test/lit.common.configured.in
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
M lldb/test/Unit/lit.cfg.py
M lldb/test/Unit/lit.site.cfg.py.in
Log Message:
-----------
[lldb] make lit use the same PYTHONHOME for building and testing (#143183)
When testing LLDB, we want to make sure to use the same Python as the
one we used to build it.
This patch used the CMake variable `Python3_ROOT_DIR` to set the
`PYTHONHOME` env variable in LLDB lit tests, in order to ensure of this.
Please see https://github.com/swiftlang/swift/pull/82063 for the
original issue.
Commit: bfb48363b0c9a2978be9ec2b31dcb32910e0f274
https://github.com/llvm/llvm-project/commit/bfb48363b0c9a2978be9ec2b31dcb32910e0f274
Author: Iris Shi <0.0 at owo.li>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/bfi_int.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
A llvm/test/CodeGen/RISCV/fold-masked-merge.ll
M llvm/test/CodeGen/RISCV/unfold-masked-merge-scalar-variablemask.ll
A llvm/test/CodeGen/SystemZ/fold-masked-merge.ll
M llvm/test/CodeGen/WebAssembly/simd-arith.ll
M llvm/test/CodeGen/X86/bitselect.ll
M llvm/test/CodeGen/X86/fold-masked-merge.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-vector-variablemask.ll
Log Message:
-----------
[SelectionDAG] Make `(a & x) | (~a & y) -> (a & (x ^ y)) ^ y` available for all targets (#137641)
Commit: e4447e1273616a8732e332168a53a6ac5c8798e2
https://github.com/llvm/llvm-project/commit/e4447e1273616a8732e332168a53a6ac5c8798e2
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/test/API/lang/c/forward/TestForwardDeclaration.py
M lldb/test/API/lang/cpp/forward/TestCPPForwardDeclaration.py
Log Message:
-----------
[lldb][test] Remove Windows xfail from forward declaration tests
Since https://github.com/llvm/llvm-project/pull/141344, they are
passing.
Commit: ce603a0f16209bd7eb2bd378d6a3f13fe52a1063
https://github.com/llvm/llvm-project/commit/ce603a0f16209bd7eb2bd378d6a3f13fe52a1063
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/assignment.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/resolve-names-utils.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
A flang/test/Parser/OpenMP/declare-reduction-multi.f90
A flang/test/Parser/OpenMP/declare-reduction-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-bad-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-bad-operator2.f90
A flang/test/Semantics/OpenMP/declare-reduction-dupsym.f90
M flang/test/Semantics/OpenMP/declare-reduction-error.f90
A flang/test/Semantics/OpenMP/declare-reduction-functions.f90
A flang/test/Semantics/OpenMP/declare-reduction-logical.f90
A flang/test/Semantics/OpenMP/declare-reduction-mangled.f90
A flang/test/Semantics/OpenMP/declare-reduction-modfile.f90
A flang/test/Semantics/OpenMP/declare-reduction-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-operators.f90
A flang/test/Semantics/OpenMP/declare-reduction-renamedop.f90
A flang/test/Semantics/OpenMP/declare-reduction-typeerror.f90
M flang/test/Semantics/OpenMP/declare-reduction.f90
Log Message:
-----------
[flang][openmp]Add UserReductionDetails and use in DECLARE REDUCTION (#140066)
This adds another puzzle piece for the support of OpenMP DECLARE
REDUCTION functionality.
This adds support for operators with derived types, as well as declaring
multiple different types with the same name or operator.
A new detail class for UserReductionDetials is introduced to hold the
list of types supported for a given reduction declaration.
Tests for parsing and symbol generation added.
Declare reduction is still not supported to lowering, it will generate a
"Not yet implemented" fatal error.
Fixes #141306
Fixes #97241
Fixes #92832
Fixes #66453
---------
Co-authored-by: Mats Petersson <mats.petersson at arm.com>
Commit: 8631cddd6959866ca14602b0b05841ab730c6d7d
https://github.com/llvm/llvm-project/commit/8631cddd6959866ca14602b0b05841ab730c6d7d
Author: Alex Guteniev <gutenev at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M libcxx/test/support/MinSequenceContainer.h
Log Message:
-----------
libc++ test: update MinSequenceContainer.h to make some tests pass on MSVC STL (#140287)
Per [sequence.reqmts] there are these member functions.
I did not audit if any other member functions are missing. Adding these
is enough for MSVC STL
Commit: 891a2c3c3411b9845dc869735f5428ea5d5fb304
https://github.com/llvm/llvm-project/commit/891a2c3c3411b9845dc869735f5428ea5d5fb304
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-zero-lat-movs.s
Log Message:
-----------
[AArch64] Change IssueWidth to 6 in AArch64SchedNeoverseV2.td (#142565)
I think that the issue width for neoverse-v2 CPUs is set too
high and does not properly reflect the dispatch constraints.
I tested various values of IssueWidth (16, 8 and 6) with runs
of SPEC2017 on a neoverse-v2 machine and I got the highest
overall geomean score with an issue width of 6, although it's
only a marginal 0.14% improvement. I also observed a 1-2%
improvement when testing the Gromacs application with some
workloads. Here are some notable changes in SPEC2017 ref
runtimes, i.e. has a ~0.5% change or greater ('-' means
faster):
548.exchange2: -1.7%
510.parest: -0.78%
538.imagick: -0.73%
500.perlbench: -0.57%
525.x264: -0.55%
507.cactuBSSN: -0.5%
520.omnetpp: -0.48%
511.povray: +0.57%
544.nab: +0.65%
503.bwaves: +0.68%
526.blender: +0.75%
If this patch causes any major regressions post-commit it can
be easily reverted, but I think it should be an overall
improvement.
Commit: 66911b7546f9afcf5f2b842ef0b9a39788dfef39
https://github.com/llvm/llvm-project/commit/66911b7546f9afcf5f2b842ef0b9a39788dfef39
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-256.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
Log Message:
-----------
[X86] Fold (add X, (srl Y, 7)) -> (sub X, (icmp_sgt 0, Y)) on vXi8 vectors (#143359)
Undo the vectorcombine canonicalisation as SSE has awful vXi8 shift
support, but can easily splat the MSB using the PCMPGTB(0,x) trick.
Alternative to #143106 which could cause infinite loops between srl/sra
conversions
Fixes #130549
Commit: 592e59667a04cf9a35a9b040772e08cb67902463
https://github.com/llvm/llvm-project/commit/592e59667a04cf9a35a9b040772e08cb67902463
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen] Move getSuperRegForSubReg into CodeGenRegBank. NFC. (#142979)
This method doesn't use anything from CodeGenTarget, so it seems to
belong in CodeGenRegBank.
Commit: 6b25f4439c2123402afbb2436745904166680dac
https://github.com/llvm/llvm-project/commit/6b25f4439c2123402afbb2436745904166680dac
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
A llvm/test/Transforms/InstCombine/AMDGPU/trivially-uniform.ll
Log Message:
-----------
[AMDGPU] Detect trivially uniform arguments in InstCombine (#129897)
Update one test to use an SGPR argument as the simplest way of getting a
uniform value.
Commit: c400fe24ae51de5c74f2d993c4ecfb877ef7f427
https://github.com/llvm/llvm-project/commit/c400fe24ae51de5c74f2d993c4ecfb877ef7f427
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
[AMDGPU] Update failing test after #129897
Commit: 7e00a7c0215b2043e04c365e85128969d8f25480
https://github.com/llvm/llvm-project/commit/7e00a7c0215b2043e04c365e85128969d8f25480
Author: jyli0116 <yu.li at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GlobalISel] Fixes unused variable error in testMOPredicate_MO (#143364)
Solves unused variable error in generated Global ISel code due to
changes from #140935
Commit: 251a43e19369b833bcf3b6eba7366b70d208668e
https://github.com/llvm/llvm-project/commit/251a43e19369b833bcf3b6eba7366b70d208668e
Author: Un1q32 <joey.t.reinhart at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/darwin-ld.c
Log Message:
-----------
[Clang] Link libgcc_s.1.dylib when building for macOS 10.5 and older (#141401)
Commit: 8b8cbe905b5842e93b0518667282af2dcdf3fd7f
https://github.com/llvm/llvm-project/commit/8b8cbe905b5842e93b0518667282af2dcdf3fd7f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-scalar_mask.ll
Log Message:
-----------
[X86] avx512-scalar_mask.ll - remove old FIXME comments
These were addressed by 034adf26830fb9723138b276075068125ed208a7
Commit: 4c555051d76bb8375a9d22f8ce5af32acbc6003e
https://github.com/llvm/llvm-project/commit/4c555051d76bb8375a9d22f8ce5af32acbc6003e
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Subtarget.h
Log Message:
-----------
[AArch64][Subtarget] add missing direct include of Triple.h (#143362)
`AArch64Subtarget.h` uses the complete type of `Triple`, but had only
forward declared the class, which happend to be included through the
following bottom-up path for example: "llvm/TargetParser/Triple.h"
"llvm/MC/MCSubtargetInfo.h"
"llvm/CodeGen/TargetSubtargetInfo.h"
Commit: e4060d3beab3b525b49baaa15484e3c595740a2f
https://github.com/llvm/llvm-project/commit/e4060d3beab3b525b49baaa15484e3c595740a2f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
Log Message:
-----------
[Clang][NFC] Adopt simpified `getTrailingObjects` in CIRGenFunctionInfo (#143253)
Commit: cf5e2b613d026faa6bd297f3180a76e03d3a8537
https://github.com/llvm/llvm-project/commit/cf5e2b613d026faa6bd297f3180a76e03d3a8537
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/IR/LLVMContextImpl.h
Log Message:
-----------
[KeyInstr] MDNodeKeyImpl<DILocation> skip zero values for hash (#143357)
[KeyInstr] MDNodeKeyImpl<DILocation> skip zero values for hash
Hashing AtomGroup and AtomRank substantially impacts performance whether Key
Instructions is enabled or not. We can't detect whether it's enabled here
cheaply; avoiding hashing zero values is a good approximation. This affects
Key Instruction builds too, but any potential costs incurred by messing with
the hash distribution (hash_combine(x) != hash_combine(x, 0)) appear to still
be massively outweighed by the overall compile time savings by performing this
check.
See PR for compile-time-tracker numbers.
Commit: 7b5ab28e38a0ba6cb008923b27f7d29f76fd70c4
https://github.com/llvm/llvm-project/commit/7b5ab28e38a0ba6cb008923b27f7d29f76fd70c4
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/include/clang/AST/Stmt.h
M clang/lib/AST/Stmt.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in Stmt (#143250)
Commit: f32b75658f2676acf12cf16d8ad20067e43226d3
https://github.com/llvm/llvm-project/commit/f32b75658f2676acf12cf16d8ad20067e43226d3
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/CodeGen/AMDGPU/aa-as-infer.ll
M llvm/test/Transforms/OpenMP/nested_parallelism.ll
M llvm/test/Transforms/OpenMP/remove_globalization.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
Log Message:
-----------
[Attributor] Use known non-flat AS before `getAssumedAddrSpace` (#143221)
If the underlying object already has a non-flat address space, we simply
use
that before calling `getAssumedAddrSpace`.
Partially fixes SWDEV-536263.
Commit: 939666380fba5d6db3d224fc358fd3e0f40a9b53
https://github.com/llvm/llvm-project/commit/939666380fba5d6db3d224fc358fd3e0f40a9b53
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
M llvm/test/CodeGen/RISCV/rvv/zvqdotq-sdnode.ll
Log Message:
-----------
[SDAG] Add partial_reduce_sumla node (#141267)
We have recently added the partial_reduce_smla and partial_reduce_umla
nodes to represent Acc += ext(b) * ext(b) where the two extends have to
have the same source type, and have the same extend kind.
For riscv64 w/zvqdotq, we have the vqdot and vqdotu instructions which
correspond to the existing nodes, but we also have vqdotsu which
represents the case where the two extends are sign and zero respective
(i.e. not the same type of extend).
This patch adds a partial_reduce_sumla node which has sign extension for
A, and zero extension for B. The addition is somewhat mechanical.
Commit: b3b8a097fe1d6eba4d8a125e90b04273e95e96eb
https://github.com/llvm/llvm-project/commit/b3b8a097fe1d6eba4d8a125e90b04273e95e96eb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/include/mlir/Debug/BreakpointManagers/TagBreakpointManager.h
M mlir/lib/Bytecode/Writer/IRNumbering.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/Target/LLVMIR/LoopAnnotationTranslation.cpp
M mlir/lib/Transforms/Utils/CFGToSCF.cpp
M mlir/lib/Transforms/Utils/Inliner.cpp
Log Message:
-----------
[mlir] Use *Map::try_emplace (NFC) (#143341)
- try_emplace(Key) is shorter than insert({Key, nullptr}).
- try_emplace performs value initialization without value parameters.
- We overwrite values on successful insertion anyway.
Commit: ced1f501ce8ec5dce05d577d7d41bc87b7934946
https://github.com/llvm/llvm-project/commit/ced1f501ce8ec5dce05d577d7d41bc87b7934946
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] IsElementEquivalent - pull out exact matching for same index/op. (#143367)
The types must still be vectors matching MaskSize
Commit: 64bd4d91efb2de5380c9e61ff75c970293a11886
https://github.com/llvm/llvm-project/commit/64bd4d91efb2de5380c9e61ff75c970293a11886
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/test/Transforms/OpenMP/nested_parallelism.ll
M llvm/test/Transforms/OpenMP/remove_globalization.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
Log Message:
-----------
[FIX] Add nvptx as required target for some OpenMP tests
Those tests set nvptx64 in IR but doesn't require the target. The optimization
now needs TTI such that if nvptx is not registered, it just uses whatever
default target is, which will cause the check lines mismatch.
Commit: e5fa38b02bb7c769347a90b94a76aa0accc1e819
https://github.com/llvm/llvm-project/commit/e5fa38b02bb7c769347a90b94a76aa0accc1e819
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
Log Message:
-----------
[WebKit checkers] Treat passing of a member variable which is capable of CheckedPtr as safe. (#142485)
It's safe for a member function of a class or struct to call a function
or allocate a local variable with a pointer or a reference to a member
variable since "this" pointer, and therefore all its members, will be
kept alive by its caller so recognize as such.
Commit: de961997cbfae1d01c959528a9aeb12fa8c87618
https://github.com/llvm/llvm-project/commit/de961997cbfae1d01c959528a9aeb12fa8c87618
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.cpp
Log Message:
-----------
[WebKit checkers] Add an annotation for pointer conversion. (#141277)
This PR adds the WebKit checker support for
[[clang::annotate_type("webkit.pointerconversion")]].
When this attribute is set on the return value of a function, the
function is treated as safe to call anywhere and the return value's
pointer origin is the argument.`
Commit: 18f8e2381580d1d02726b6751d61351a1d40b432
https://github.com/llvm/llvm-project/commit/18f8e2381580d1d02726b6751d61351a1d40b432
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/OpenMP/common-block.f90
M flang/test/Semantics/OpenMP/declare-target-common-block.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/offsets03.f90
M flang/test/Semantics/resolve121.f90
M flang/test/Semantics/symbol33.f90
Log Message:
-----------
[flang][OpenMP] Make static duration variables default to shared DSA (#142783)
According to the OpenMP standard, variables with static storage duration
are predetermined as shared.
Add a check when creating implicit symbols for OpenMP to fix them
erroneously getting set to firstprivate.
Fixes llvm#140732.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: bc5d8276da662111e4858eb3baa38382a5425df1
https://github.com/llvm/llvm-project/commit/bc5d8276da662111e4858eb3baa38382a5425df1
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/test/Transforms/OpenMP/remove_globalization.ll
Log Message:
-----------
[FIX] Update check lines of `llvm/test/Transforms/OpenMP/remove_globalization.ll`
Commit: cc2d5facecfe5fe31d69fd58f4f3c0bc97591229
https://github.com/llvm/llvm-project/commit/cc2d5facecfe5fe31d69fd58f4f3c0bc97591229
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/test/Dialect/SPIRV/IR/khr-cooperative-matrix-ops.mlir
Log Message:
-----------
[mlir][spirv] Make `CooperativeMatrixType` a `ShapedType` (#142784)
This is to enable `CooperativeMatrixType` to be used with
`DenseElementsAttr`, so that a `spirv.Constant` can be easily built from
`OpConstantComposite`. For example:
```mlir
%cst = spirv.Constant dense<0.000000e+00> : !spirv.coopmatrix<1x1xf32, Subgroup, MatrixAcc>
```
Constraints of arithmetic operations are changed, as
`SameOperandsAndResultType` can no longer fully verify CoopMatrices.
This is because for shaped types the verifier only checks element type
and shapes, whereas for any other arbitrary type it looks for an exact
match.
This patch does not enable the actual deserialization. This will be
done in a subsequent PR.
Commit: b896d262ebc530a92327b912b2bd5ac3b0bb0e56
https://github.com/llvm/llvm-project/commit/b896d262ebc530a92327b912b2bd5ac3b0bb0e56
Author: Guillot Tony <tony.guillot at protonmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
A clang/test/C/C23/n3006.c
M clang/www/c_status.html
Log Message:
-----------
[C23][N3006] Documented behavior of underspecified object declarations (#140911)
This PR is documenting the behavior of Clang towards underspecified
object declarations in C23 as advised by @AaronBallman.
Commit: 02f0f5c3eccd1add188d0d1fb7207c0cb14e1190
https://github.com/llvm/llvm-project/commit/02f0f5c3eccd1add188d0d1fb7207c0cb14e1190
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] Explain why a type is not replaceable. (#143265)
As a drive by fix the definition of replaceable, that did not correctly
implement https://eel.is/c++draft/class.prop#6.3
Commit: a3c7d461456f2da25c1d119b6686773f675e313e
https://github.com/llvm/llvm-project/commit/a3c7d461456f2da25c1d119b6686773f675e313e
Author: Darren Wihandi <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Implement UMod canonicalization for vector constants (#141902)
Closes #63174.
Implements this transformation pattern, which is currently only applied
to scalars, for vectors:
```
%1 = "spirv.UMod"(%0, %CONST_32) : (i32, i32) -> i32
%2 = "spirv.UMod"(%1, %CONST_4) : (i32, i32) -> i32
```
to
```
%1 = "spirv.UMod"(%0, %CONST_32) : (i32, i32) -> i32
%2 = "spirv.UMod"(%0, %CONST_4) : (i32, i32) -> i32
```
Additionally fixes and issue where patterns like this:
```
%1 = "spirv.UMod"(%0, %CONST_4) : (i32, i32) -> i32
%2 = "spirv.UMod"(%1, %CONST_32) : (i32, i32) -> i32
```
were incorrectly canonicalized to:
```
%1 = "spirv.UMod"(%0, %CONST_4) : (i32, i32) -> i32
%2 = "spirv.UMod"(%0, %CONST_32) : (i32, i32) -> i32
```
which is incorrect since `(X % A) % B` == `(X % B)` IFF A is a multiple
of B, i.e., B divides A.
Commit: 637df705e5995172005b25aed914211a57bee29b
https://github.com/llvm/llvm-project/commit/637df705e5995172005b25aed914211a57bee29b
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M offload/CMakeLists.txt
Log Message:
-----------
[Offload] Add `OFFLOAD_INCLUDE_TESTS` (#143388)
This is a cmake variable which, if set to `OFF` will disable building of
tests. It defaults to the value of `LLVM_INCLUDE_TESTS`.
Commit: 9c52b3c52eb760a52826aad1368a4b0b46d924d3
https://github.com/llvm/llvm-project/commit/9c52b3c52eb760a52826aad1368a4b0b46d924d3
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[Clang] Clarify the `[[trivial_abi]]` documentation. (#143243)
Fixes #36667
Commit: 58cce436d6002f5ffa172a80783109388957807d
https://github.com/llvm/llvm-project/commit/58cce436d6002f5ffa172a80783109388957807d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
Log Message:
-----------
[RISCV] Pass SDLoc by const reference. NFC
Commit: 4ed0ff8756cb1ed0f67cf5415a60cfbce2c6164b
https://github.com/llvm/llvm-project/commit/4ed0ff8756cb1ed0f67cf5415a60cfbce2c6164b
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/enum.cpp
Log Message:
-----------
[CIR] Add support for using enum constants (#143214)
Although support for declaring enums and using values whose type was an
enum was previously upstreamed, we didn't have support for referencing
the constant values declared in the enum. This change adds that support.
Commit: a178c06add77bb489005a0de22a3ca0ca2f1c14e
https://github.com/llvm/llvm-project/commit/a178c06add77bb489005a0de22a3ca0ca2f1c14e
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
Log Message:
-----------
[tsan] Don't symbolize stack traces if dl_iterate_phdr is not ready (#143199)
When a CHECK() fails during TSan initialization, it may segfault (e.g., https://github.com/google/sanitizers/issues/837#issuecomment-2939267531). This is because a failed CHECK() will attempt to print a symbolized stack trace, which requires dl_iterate_phdr, but the interceptor may not yet be set up.
This patch fixes the issue by not symbolizing the stack trace if the dl_iterate_phdr interceptor is not ready.
Commit: a85525f875bd53e7521c5721655eb7318ce87547
https://github.com/llvm/llvm-project/commit/a85525f875bd53e7521c5721655eb7318ce87547
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
Log Message:
-----------
[RISCV][LV] Add tests for masked interleaved access
Commit: 649020c680166af0ad822d5aa1518234d93828e4
https://github.com/llvm/llvm-project/commit/649020c680166af0ad822d5aa1518234d93828e4
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/dmr-spill.ll
M llvm/test/CodeGen/PowerPC/mmaplus-acc-spill.ll
Log Message:
-----------
[PowerPC] Change default for auto gen stxvp for cpu=future (#142826)
For cpu=future, we want to auto generate stxvp instructions by default.
Commit: 59ef2c34a12ea53bb7fa386a598f1299ccc1f8d5
https://github.com/llvm/llvm-project/commit/59ef2c34a12ea53bb7fa386a598f1299ccc1f8d5
Author: Artem Belevich <tra at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaCUDA.cpp
M clang/test/SemaCUDA/bad-attributes.cu
Log Message:
-----------
[CUDA] Disallow use of address_space(N) on CUDA device variables. (#142857)
The variables have implicit host-side shadow instances and explicit
address space attribute breaks them on the host.
Commit: 01671ff849b0761a3240bb87e8d8fc469147eae4
https://github.com/llvm/llvm-project/commit/01671ff849b0761a3240bb87e8d8fc469147eae4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] collectConcatOps - handle extract_subvector(concat_subvectors(...)) patterns (#143406)
Commit: 5d6218d311854a0b5d48ae19636f6abe1e67fc69
https://github.com/llvm/llvm-project/commit/5d6218d311854a0b5d48ae19636f6abe1e67fc69
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/mul-const-vector.ll
M llvm/test/CodeGen/PowerPC/p10-splatImm-CPload-pcrel.ll
M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
A llvm/test/CodeGen/PowerPC/splat-extend.ll
M llvm/test/CodeGen/PowerPC/vec_add_sub_doubleword.ll
M llvm/test/CodeGen/PowerPC/vector-extend-sign.ll
M llvm/test/CodeGen/PowerPC/vector-popcnt-128-ult-ugt.ll
Log Message:
-----------
[PowerPC] extend smaller splats into bigger splats (with fix) (#142194)
For pwr9, xxspltib is a byte splat with a range -128 to 127 - it can be
used with a following vector extend sign to make splats of i16, i32, or
i64 element size. For pwr8, vspltisw with a following vector extend sign
can be used to make splats of i64 elements in the range -16 to 15.
Add check for P8 to make sure the 64-bit vector ops are there.
Commit: 7f08503a3bf3acdd2a58ac712d5e95682ce583dd
https://github.com/llvm/llvm-project/commit/7f08503a3bf3acdd2a58ac712d5e95682ce583dd
Author: Umang Yadav <29876643+umangyadav at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Arith/Transforms/Passes.h
M mlir/include/mlir/IR/Builders.h
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/lib/IR/Builders.cpp
M mlir/test/Dialect/Arith/expand-ops.mlir
Log Message:
-----------
Introduce `arith.scaling_extf` and `arith.scaling_truncf` (#141965)
This PR adds `arith.scaling_truncf` and `arith.scaling_extf` operations
which supports the block quantization following OCP MXFP specs listed
here
https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf
OCP MXFP Spec comes with reference implementation here
https://github.com/microsoft/microxcaling/tree/main
Interesting piece of reference code is this method `_quantize_mx`
https://github.com/microsoft/microxcaling/blob/7bc41952de394f5cc5e782baf132e7c7542eb4e4/mx/mx_ops.py#L173.
Both `arith.scaling_truncf` and `arith.scaling_extf` are designed to be
an elementwise operation. Please see description about them in
`ArithOps.td` file for more details.
Internally,
`arith.scaling_truncf` does the
`arith.truncf(arith.divf(input/(2^scale)))`. `scale` should have
necessary broadcast, clamping, normalization and NaN propagation done
before callling into `arith.scaling_truncf`.
`arith.scaling_extf` does the `arith.mulf(2^scale, input)` after taking
care of necessary data type conversions.
CC: @krzysz00 @dhernandez0 @bjacob @pashu123 @MaheshRavishankar
@tgymnich
---------
Co-authored-by: Prashant Kumar <pk5561 at gmail.com>
Co-authored-by: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Commit: 0e4b8b8f81c97ef7374c321fd67a804dd17b4532
https://github.com/llvm/llvm-project/commit/0e4b8b8f81c97ef7374c321fd67a804dd17b4532
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/test/CodeGenCXX/tmp-md-nodes2.cpp
M flang/test/Integration/debug-local-var-2.f90
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/PassManagerImpl.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Rip out the UseNewDbgInfoFormat flag (#143207)
Start removing debug intrinsics support -- starting with the flag that
controls production of their replacement, debug records. This patch
removes the command-line-flag and with it the ability to switch back to
intrinsics. The module / function / block level "IsNewDbgInfoFormat"
flags get hardcoded to true, I'll to incrementally remove things that
depend on those flags.
Commit: c2ea9404ab86892dcca38f585e32e5e1ab57e4cd
https://github.com/llvm/llvm-project/commit/c2ea9404ab86892dcca38f585e32e5e1ab57e4cd
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Simplify finding EPResumeValue (NFC).
It should be sufficient to check that the resume phi has the correct
type, as the vector trip count as incoming value and starts at 0
otherwise. There is no need to find the middle block.
Commit: 13b1803b64b84ef4cf92dc3ca8e5e08a43bf8c60
https://github.com/llvm/llvm-project/commit/13b1803b64b84ef4cf92dc3ca8e5e08a43bf8c60
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/IR/Intrinsics.td
Log Message:
-----------
[CodeGen] Add <4096 x i32> value type (#143417)
Similar to https://github.com/llvm/llvm-project/pull/139294; just
realized we need this as well.
Commit: 5213c57cb1f0d78aad9a253b7f6a2b62ff4c7859
https://github.com/llvm/llvm-project/commit/5213c57cb1f0d78aad9a253b7f6a2b62ff4c7859
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
M clang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.h
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.h
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.h
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.h
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.h
M clang-tools-extra/clang-tidy/objc/AvoidNSErrorInitCheck.h
M clang-tools-extra/clang-tidy/objc/ForbiddenSubclassingCheck.cpp
M clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.h
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.h
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.h
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.h
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.h
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
Log Message:
-----------
[clang-tidy][NFC] run clang-format over clang-tidy checks and tool code. (#143324)
Commit: 10dc8bc519130f491d70318bd8b47555307cdc3f
https://github.com/llvm/llvm-project/commit/10dc8bc519130f491d70318bd8b47555307cdc3f
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
Log Message:
-----------
[mlir][vector] Fix for WarpOpScfForOp failure when scf.for has results that are unused. (#141853)
Currently, only the values defined outside ForOp but inside the original
WarpOp are considered "escaping values". However this is not true if the
ForOp has some unused results. In this case, corresponding IterArgs must
also be yielded by the original WarpOp. This PR adds the required code
changes to achieve this.
Commit: 7433d8ce5006bc01331e4ca6e8b1b825edfc5b4f
https://github.com/llvm/llvm-project/commit/7433d8ce5006bc01331e4ca6e8b1b825edfc5b4f
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
Log Message:
-----------
Follow up to 0e4b8b8f81c97, squash unused variable warning
Commit: 78af498035a8ab64e7b711f6b589a3b067afeba3
https://github.com/llvm/llvm-project/commit/78af498035a8ab64e7b711f6b589a3b067afeba3
Author: arysef <aryansefidi at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/lib/IR/Type.cpp
A llvm/test/Verifier/target-ext-vector-invalid.ll
A llvm/test/Verifier/target-ext-vector.ll
Log Message:
-----------
[LLVM][IR] Support target extension types in vectors (#140630)
This change is to support target extension types in vectors. The change
allows sized target extension types to opt-in to being a valid vector
element.
Allowing target extension types as vector elements will allow backends
to use vector operations such as `insertelement` and `extractelement` on
their target types with minimal changes.
RFC:
https://discourse.llvm.org/t/rfc-supporting-sized-target-extension-types-in-vector/86431
Commit: 8380a5500b84adbef0a0082671c4f964bfad9eee
https://github.com/llvm/llvm-project/commit/8380a5500b84adbef0a0082671c4f964bfad9eee
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
M llvm/test/CodeGen/AMDGPU/global_atomics.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] atomic load/store i8 in true16 mode (#143044)
Follow up patch from https://github.com/llvm/llvm-project/pull/142822.
Update other 16bit atomic load/store pattern in t16 mode
Commit: c8009797d388a89346e2116de08e9c0be17e0c2d
https://github.com/llvm/llvm-project/commit/c8009797d388a89346e2116de08e9c0be17e0c2d
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Implement CWG2496 (#142975)
https://cplusplus.github.io/CWG/issues/2496.html
We failed to diagnose the following in C++23 mode
```
struct S {
virtual void f(); // expected-note {{previous declaration is here}}
};
struct T : S {
virtual void f() &;
};
```
Commit: e7739eb6ccb775a2cfc2f68c3d2356ceeabdf94a
https://github.com/llvm/llvm-project/commit/e7739eb6ccb775a2cfc2f68c3d2356ceeabdf94a
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/X86.h
M clang/test/Preprocessor/init-x86.c
M clang/test/Preprocessor/init.c
Log Message:
-----------
[Clang] [Cygwin] wint_t is unsigned int (#143117)
On Cygwin environment, wint_t is unsigned int as shown here:
```
$ echo | gcc -m32 -xc - -E -dM | grep WINT_T
145:#define __SIZEOF_WINT_T__ 4
315:#define __WINT_TYPE__ unsigned int
```
```
$ echo | gcc -xc - -E -dM | grep WINT_T
147:#define __SIZEOF_WINT_T__ 4
317:#define __WINT_TYPE__ unsigned int
```
```
$ LANG=C gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/15/lto-wrapper.exe
Target: x86_64-pc-cygwin
(snip)
```
Commit: d659364295f6f0c41535a0c98c958cb4c896cc62
https://github.com/llvm/llvm-project/commit/d659364295f6f0c41535a0c98c958cb4c896cc62
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Support/DynamicLibrary.cpp
M llvm/lib/Support/Unix/DynamicLibrary.inc
M llvm/lib/Support/Windows/DynamicLibrary.inc
Log Message:
-----------
[Support][Cygwin] Fix handling of Process symbol lookup. (#143072)
In Unix/DynamicLibrary.inc, it was already known that Cygwin required
use of `RTLD_DEFAULT` as the `Handle` parameter to `DLSym` to search all
modules for a symbol. Unfortunately, RTLD_DEFAULT is defined as NULL, so
the existing checks of the `Process` handle meant `DLSym` would never be
called on Cygwin. Use the existing `&Invalid` sentinel instead of
`nullptr` for the `Process` handle.
Commit: 112490f06abca669eb3fe158739bf751e6024f46
https://github.com/llvm/llvm-project/commit/112490f06abca669eb3fe158739bf751e6024f46
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
Log Message:
-----------
[ConstantFolding] Add support for llvm.atan in constant folding. (#143416)
Fixes #143360
Commit: 787efa78a4a9c754a9083315dc5d073164133a4b
https://github.com/llvm/llvm-project/commit/787efa78a4a9c754a9083315dc5d073164133a4b
Author: Yifei Xu <yifei.xu at utexas.edu>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
Log Message:
-----------
[bazel] Revert "[bazel] llvm-config.h: Turn on LLVM_ENABLE_PLUGINS" as it fails TensorFlow Windows build (#143419)
Here is the error message
[3,466 / 5,762] 1 / 149 tests; [Sched] Compiling
llvm/lib/Support/BinaryStreamError.cpp ... (456 actions, 2 running)
ERROR: C:/t/g5cdusdm/external/llvm-project/llvm/BUILD.bazel:253:11:
Compiling llvm/lib/Support/ExtensibleRTTI.cpp [for tool] failed: (Exit
1): clang-cl.exe failed: error executing CppCompile command (from target
@@llvm-project//llvm:Support)
cd /d C:/t/g5cdusdm/execroot/org_tensorflow
SET INCLUDE=C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Tools\MSVC\14.42.34433\include;C:\Program
Files\Microsoft Visual
Studio\2022\Community\VC\Auxiliary\VS\include;C:\Program Files
(x86)\Windows Kits\10\include\10.0.22621.0\ucrt;C:\Program Files
(x86)\Windows Kits\10\\include\10.0.22621.0\\um;C:\Program Files
(x86)\Windows Kits\10\\include\10.0.22621.0\\shared;C:\Program Files
(x86)\Windows Kits\10\\include\10.0.22621.0\\winrt;C:\Program Files
(x86)\Windows
Kits\10\\include\10.0.22621.0\\cppwinrt;C:\tools\LLVM\lib\clang\18\include
SET PATH=C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Tools\MSVC\14.42.34433\bin\HostX64\x64;C:\Program
Files\Microsoft Visual
Studio\2022\Community\Common7\IDE\VC\VCPackages;C:\Program
Files\Microsoft Visual
Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program
Files\Microsoft Visual
Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team
Explorer;C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Current\bin\Roslyn;C:\Program Files
(x86)\Windows Kits\10\bin\10.0.22621.0\\x64;C:\Program Files
(x86)\Windows Kits\10\bin\\x64;C:\Program Files\Microsoft Visual
Studio\2022\Community\\MSBuild\Current\Bin\amd64;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program
Files\Microsoft Visual Studio\2022\Community\Common7\IDE\;C:\Program
Files\Microsoft Visual
Studio\2022\Community\Common7\Tools\;;C:\Windows\system32;C:\Program
Files\Microsoft Visual
Studio\2022\Community\Common7\IDE\VC\Linux\bin\ConnectionManagerExe
SET PWD=/proc/self/cwd
SET TEMP=C:\TMP
SET TMP=C:\TMP
SET VSLANG=1033
C:\tools\LLVM\bin\clang-cl.exe /nologo /DCOMPILER_MSVC /DNOMINMAX
/D_WIN32_WINNT=0x0601 /D_CRT_SECURE_NO_DEPRECATE
/D_CRT_SECURE_NO_WARNINGS /bigobj /Zm500 /EHsc /wd4351 /wd4291 /wd4250
/wd4996 /Iexternal/llvm-project
/Ibazel-out/x64_windows-opt-exec-ST-766941a09caf/bin/external/llvm-project
/Iexternal/llvm-project/llvm/include
/Ibazel-out/x64_windows-opt-exec-ST-766941a09caf/bin/external/llvm-project/llvm/include
/D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS
/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_NONSTDC_NO_WARNINGS
/D_SCL_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_WARNINGS /DUNICODE
/D_UNICODE /DLTDL_SHLIB_EXT=".dll" /DLLVM_PLUGIN_EXT=".dll"
/DLLVM_NATIVE_ARCH="X86"
/DLLVM_NATIVE_ASMPARSER=LLVMInitializeX86AsmParser
/DLLVM_NATIVE_ASMPRINTER=LLVMInitializeX86AsmPrinter
/DLLVM_NATIVE_DISASSEMBLER=LLVMInitializeX86Disassembler
/DLLVM_NATIVE_TARGET=LLVMInitializeX86Target
/DLLVM_NATIVE_TARGETINFO=LLVMInitializeX86TargetInfo
/DLLVM_NATIVE_TARGETMC=LLVMInitializeX86TargetMC
/DLLVM_NATIVE_TARGETMCA=LLVMInitializeX86TargetMCA
/DLLVM_HOST_TRIPLE="x86_64-pc-win32"
/DLLVM_DEFAULT_TARGET_TRIPLE="x86_64-pc-win32" /DLLVM_VERSION_MAJOR=21
/DLLVM_VERSION_MINOR=0 /DLLVM_VERSION_PATCH=0
/DLLVM_VERSION_STRING="21.0.0git" /D__STDC_LIMIT_MACROS
/D__STDC_CONSTANT_MACROS /D__STDC_FORMAT_MACROS
/DLLVM_HAS_AArch64_TARGET=1 /DLLVM_HAS_AMDGPU_TARGET=1
/DLLVM_HAS_ARM_TARGET=1 /DLLVM_HAS_NVPTX_TARGET=1
/DLLVM_HAS_PowerPC_TARGET=1 /DLLVM_HAS_RISCV_TARGET=1
/DLLVM_HAS_SystemZ_TARGET=1 /DLLVM_HAS_X86_TARGET=1 /DBLAKE3_USE_NEON=0
/DBLAKE3_NO_AVX2 /DBLAKE3_NO_AVX512 /DBLAKE3_NO_SSE2 /DBLAKE3_NO_SSE41
/showIncludes /MD /O2 /Oy- /DNDEBUG /wd4117 -D__DATE__="redacted"
-D__TIMESTAMP__="redacted" -D__TIME__="redacted"
-Wno-builtin-macro-redefined /Gy /Gw /W0 /Zc:__cplusplus
/D_USE_MATH_DEFINES /d2ReducedOptimizeHugeFunctions
-D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN32_LEAN_AND_MEAN -DNOGDI
/Zc:preprocessor /clang:-Weverything /clang:-Weverything
/d2ReducedOptimizeHugeFunctions /std:c++17
/Fobazel-out/x64_windows-opt-exec-ST-766941a09caf/bin/external/llvm-project/llvm/_objs/Support/ExtensibleRTTI.obj
/c external/llvm-project/llvm/lib/Support/ExtensibleRTTI.cpp
# Configuration:
f85b29406574d83c673497718f542456050c5649ae41eb37a803b7085e15c4ef
# Execution platform:
//tensorflow/tools/toolchains/win2022:windows_ltsc2022_clang
external/llvm-project/llvm/lib/Support/ExtensibleRTTI.cpp(12,22): error:
definition of dllimport static field not allowed
12 | char llvm::RTTIRoot::ID = 0;
| ^
external/llvm-project/llvm/include\llvm/Support/ExtensibleRTTI.h(71,7):
note: attribute is here
71 | class LLVM_ABI RTTIRoot {
| ^
external/llvm-project/llvm/include\llvm/Support/Compiler.h(205,29):
note: expanded from macro 'LLVM_ABI'
205 | #define LLVM_ABI __declspec(dllimport)
| ^
1 error generated.
Commit: 60cd76bc34901645654b5bbbc9e06cf267c1f887
https://github.com/llvm/llvm-project/commit/60cd76bc34901645654b5bbbc9e06cf267c1f887
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[CodeGen] Construct SmallVector with ArrayRef (NFC) (#143391)
Commit: 17999f01bbcda4ccdf5146cbecc562c60b2ca86e
https://github.com/llvm/llvm-project/commit/17999f01bbcda4ccdf5146cbecc562c60b2ca86e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
Log Message:
-----------
[BPF] Initialize SmallVector (NFC) (#143392)
Commit: 0f5a78516a20913eed3f5c674017e65cac149063
https://github.com/llvm/llvm-project/commit/0f5a78516a20913eed3f5c674017e65cac149063
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lld/ELF/Symbols.h
Log Message:
-----------
[lld] Use llvm::has_single_bit (NFC) (#143393)
Commit: 629aebcd1747fc9523ec838057e7c08bef52bef3
https://github.com/llvm/llvm-project/commit/629aebcd1747fc9523ec838057e7c08bef52bef3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h
Log Message:
-----------
[CodeGen] Use llvm::has_single_bit (NFC) (#143394)
Commit: 6e6ba60336fd19b046f9b375597f37065b35cbe0
https://github.com/llvm/llvm-project/commit/6e6ba60336fd19b046f9b375597f37065b35cbe0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
Log Message:
-----------
[mlir] Use llvm::max_element (NFC) (#143396)
Commit: 9fe3ede18533503fec4eb5aaeced593186c419ce
https://github.com/llvm/llvm-project/commit/9fe3ede18533503fec4eb5aaeced593186c419ce
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Use llvm::none_of (NFC) (#143398)
Commit: efc3c1ba2932539e7e25b512da9dca6c399d3500
https://github.com/llvm/llvm-project/commit/efc3c1ba2932539e7e25b512da9dca6c399d3500
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
Log Message:
-----------
[memprof] Use std::tie to implement operator< (NFC) (#143401)
Commit: 274f5a817b4c63871d780f94246806ec37736b30
https://github.com/llvm/llvm-project/commit/274f5a817b4c63871d780f94246806ec37736b30
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/binop.ll
Log Message:
-----------
[Matrix] Propagate shape information through (f)abs insts (#141704)
Commit: 6cbd91ea52cbf2b27dc92557cea64f5fd305fcf1
https://github.com/llvm/llvm-project/commit/6cbd91ea52cbf2b27dc92557cea64f5fd305fcf1
Author: David Green <david.green at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-unmergedup.mir
M llvm/test/CodeGen/AArch64/arm64-dup.ll
M llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
Log Message:
-----------
[AArch64][GlobalISel] Combine G_UNMERGE(G_DUPLANE16) -> G_DUPLANE16 (#142731)
We will generate G_UNMERGE(G_DUPLANE16) due to the legalization of
shuffle vector splats with mismatching vector sizes. The G_DUPLANE
intrinsics can handle different vector sizes (128bit and 64bit output,
for example), and we can combine away the unmerge.
Commit: 6108d50aed6190aa094c168f96899adc5621cc89
https://github.com/llvm/llvm-project/commit/6108d50aed6190aa094c168f96899adc5621cc89
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[VPlan] Add ReductionStartVector VPInstruction. (#142290)
Add a new VPInstruction::ReductionStartVector opcode to create the start
values for wide reductions. This more accurately models the start value
creation in VPlan and simplifies VPReductionPHIRecipe::execute. Down the
line it also allows removing VPReductionPHIRecipe::RdxDesc.
PR: https://github.com/llvm/llvm-project/pull/142290
Commit: f12e4f2faf404a7f44b5505b0a4c14e3a003d2d1
https://github.com/llvm/llvm-project/commit/f12e4f2faf404a7f44b5505b0a4c14e3a003d2d1
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR][NFS] Add test cases for VecShuffle with -1 index (#143304)
Add a test case for __builtin_shufflevector with -1 index, it was useful
in the incubator to catch an issue in the folder
Commit: 6559831025711a21fd1f6a4065c4f3ac53f16875
https://github.com/llvm/llvm-project/commit/6559831025711a21fd1f6a4065c4f3ac53f16875
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
A clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/class.cpp
Log Message:
-----------
[CIR] Add support for accessing members of base classes (#143195)
This change adds the support for accessing a member of a base class from
a derived class object.
Commit: 61cdba602abe67761ab2bbf12bf85710dfa963f4
https://github.com/llvm/llvm-project/commit/61cdba602abe67761ab2bbf12bf85710dfa963f4
Author: David Green <david.green at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-simd-ldst-one.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/double_reduct.ll
M llvm/test/CodeGen/AArch64/f16-instructions.ll
M llvm/test/CodeGen/AArch64/faddsub.ll
M llvm/test/CodeGen/AArch64/fcopysign.ll
M llvm/test/CodeGen/AArch64/fcvt.ll
M llvm/test/CodeGen/AArch64/fdiv.ll
M llvm/test/CodeGen/AArch64/fminimummaximum.ll
M llvm/test/CodeGen/AArch64/fminmax.ll
M llvm/test/CodeGen/AArch64/fmla.ll
M llvm/test/CodeGen/AArch64/fmul.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AArch64/fsqrt.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/llvm.exp10.ll
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/store.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
[AArch64][GlobalISel] Expand 64bit extracts to 128bit to allow more patterns (#142904)
SDAG will promote a 64bit G_EXTRACT_VECTOR_ELT to 128 to reduce the
number of duplicate lane-extract patterns needed. This patch does the
same for gisel inside regbankselect, so that selection will operate on
the larger vectors.
Most of the tests just add kill markers, but arm64-neon-v8.1a.ll shows the
lanewise patterns now being selected (which, as of this patch is now
fully producing the same code as SDAG).
Commit: d4fe522eb4ae710e90107a682911fc75f2388a87
https://github.com/llvm/llvm-project/commit/d4fe522eb4ae710e90107a682911fc75f2388a87
Author: David Peixotto <peix at meta.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/PluginManager.cpp
M lldb/source/Target/Statistics.cpp
M lldb/test/API/commands/statistics/basic/TestStats.py
A lldb/test/Shell/Commands/command-plugin-enable+disable.test
A lldb/test/Shell/Commands/command-plugin-list.test
M lldb/unittests/Core/PluginManagerTest.cpp
Log Message:
-----------
Add commands to list/enable/disable plugins (#134418)
This commit adds three new commands for managing plugins. The `list`
command will show which plugins are currently registered and their
enabled state. The `enable` and `disable` commands can be used to enable
or disable plugins.
A disabled plugin will not show up to the PluginManager when it iterates
over available plugins of a particular type.
The purpose of these commands is to provide more visibility into
registered plugins and allow users to disable plugins for experimental
perf reasons.
There are a few limitations to the current implementation
1. Only SystemRuntime and InstrumentationRuntime plugins are currently
supported. We can easily extend the existing implementation to support
more types. The scope was limited to these plugins to keep the PR size
manageable.
2. Only "statically" know plugin types are supported (i.e. those managed
by the PluginManager and not from `plugin load`). It is possibly we
could support dynamic plugins as well, but I have not looked into it
yet.
Commit: d0a1dce12610c9a732bdc54b0d0863ef77999002
https://github.com/llvm/llvm-project/commit/d0a1dce12610c9a732bdc54b0d0863ef77999002
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/test/CodeGen/X86/musttail-varargs.ll
A llvm/test/CodeGen/X86/rex-profile-test.ll
Log Message:
-----------
[llvm][X86] REX profile for UEFI (#138362)
Use the appropriate REX prefix for UEFI X86_64 target.
Commit: f9b98e386ed2b2e2885b9e6dffceb1c915c282b8
https://github.com/llvm/llvm-project/commit/f9b98e386ed2b2e2885b9e6dffceb1c915c282b8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove unused LoopMiddleBlock arg from fixReductionScalarRes (NFC)
The argument isn't used, remove it.
Commit: 9f82ac5738fced23716ac6f9c5744f99d6b6ba92
https://github.com/llvm/llvm-project/commit/9f82ac5738fced23716ac6f9c5744f99d6b6ba92
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Function.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/SandboxIR/Function.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/SystemZ/SystemZSubtarget.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
Remove GlobalObject::getAlign/setAlignment (#143188)
Currently, GlobalObject has an "alignment" property... but it's
basically nonsense: alignment doesn't mean the same thing for variables
and functions, and it's completely meaningless for ifuncs.
This "removes" (actually marking protected) the methods from
GlobalObject, adds the relevant methods to Function and GlobalVariable,
and adjusts the code appropriately.
This should make future alignment-related cleanups easier.
Commit: 4d50b405f1585ce172f87cb5f8daf3c1b4145215
https://github.com/llvm/llvm-project/commit/4d50b405f1585ce172f87cb5f8daf3c1b4145215
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
Log Message:
-----------
[libc++] Remap headers in the debug info when building the library (#143004)
The libc++ build includes a step where headers are generated. This is
required in order to preprocess some files such as the assertion handler
and the __config_site header. As a result, the library is built against
headers located inside the build directory, and the path to those
headers is what's included in the debug information of the library.
However, these headers in the build directory are usually not
persistent, which means that the debug information might end up
referring to headers that don't exist anymore. To solve this problem,
this patch uses the -fdebug-prefix-map flag supported by Clang and GCC
to remap the generated headers to the original headers in the source
directory. This provides the illusion that the library was truly built
against the in-source version of the headers.
Commit: 4a6d31f4bf0c48d8761993d397bcf458356ec78c
https://github.com/llvm/llvm-project/commit/4a6d31f4bf0c48d8761993d397bcf458356ec78c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Pass resume phi to fixReductionScalarResumeWhenVectorizing (NFC).
fixReductionScalarResumeWhenVectorizingEpilog updates the resume phis in
the scalar preheader. Instead of looking at all recipes in the middle
block and finding their resume-phi users we can iterate over all resume
phis in the scalar preheader directly.
This slightly simplifies the code and removes the need to look for the
resume phi.
Also slightly simplifies https://github.com/llvm/llvm-project/pull/141860.
Commit: 62cae4ffcb04e06765f39b5d1b92816b8dd4d56d
https://github.com/llvm/llvm-project/commit/62cae4ffcb04e06765f39b5d1b92816b8dd4d56d
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
M llvm/lib/Target/AArch64/AArch64SchedA53.td
M llvm/lib/Target/AArch64/AArch64SchedOryon.td
M llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
Log Message:
-----------
[AArch64] Fix a multitude of AArch64 typos (NFC) (#143370)
Fix a multitude of typos in the AArch64 codebase using the
https://github.com/crate-ci/typos Rust package.
Commit: 339797d75b3fd93bdb339c6b4ea826a2eeb32c26
https://github.com/llvm/llvm-project/commit/339797d75b3fd93bdb339c6b4ea826a2eeb32c26
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/utils/analyzer/requirements.txt
Log Message:
-----------
[clang][analyzer] Update python dependency versions (#143433)
We need to make sure we aren't vulnerable to
[PYSEC-2020-73](https://osv.dev/vulnerability/PYSEC-2020-73) and
[PYSEC-2019-41](https://osv.dev/vulnerability/PYSEC-2019-41).
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 28b753b185511eaaf98c5dda39bf9e44fa134212
https://github.com/llvm/llvm-project/commit/28b753b185511eaaf98c5dda39bf9e44fa134212
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
Log Message:
-----------
[Clang][NFC] Add nullptr check in InitializationSequence::InitializeFrom (#143067)
Static analysis flagged that Var could be nullptr but we were not
checking in the branch and unconditionally dereferences the pointer.
Note, code was added by 576161cb6069
Commit: 3c02150f02022292645f6238524f0401a6f5014f
https://github.com/llvm/llvm-project/commit/3c02150f02022292645f6238524f0401a6f5014f
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
Revert "[clang-format][NFC] Clean up fillRanges() in ClangFormat.cpp (#143236)"
This reverts commit 897ccddcc30cacdfe04ddd622986b50ec963eabc. It
introduced a bug when formatting multiple files in one go. When a
shorter file is passed after a longer one, a stale length from the
previous file seems to be used, triggering an "invalid length (...) is
outside the file" error.
Commit: 49049131bbfc0d1a77c4cdb2e5ea9a77f832ac27
https://github.com/llvm/llvm-project/commit/49049131bbfc0d1a77c4cdb2e5ea9a77f832ac27
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[git][NFC] add clang-tidy formatting commits to .git-blame-ignore-revs (#143438)
Commit: 6f6dc9c8ba8289e7dcdb16c33102cfd06608fa5c
https://github.com/llvm/llvm-project/commit/6f6dc9c8ba8289e7dcdb16c33102cfd06608fa5c
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/riscv.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Implement Feature Bits for B, E, H (#143436)
As defined in riscv-non-isa/riscv-c-api-doc#109.
Commit: add6acc333740542705eedd185f45f69e3d25f30
https://github.com/llvm/llvm-project/commit/add6acc333740542705eedd185f45f69e3d25f30
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/test/SemaCXX/destructor.cpp
Log Message:
-----------
NFC: stray whitespace cleanup from clang/test/SemaCXX/destructor.cpp
Commit: f5e499a3383c1e3b9f60e60151075e8d9c1c3166
https://github.com/llvm/llvm-project/commit/f5e499a3383c1e3b9f60e60151075e8d9c1c3166
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
Log Message:
-----------
Revert "[HIP] use offload wrapper for non-device-only non-rdc (#132869)" (#143432)
This breaks a lot of new driver HIP compilation. We should probably
revert this for now until we can make a fixed version.
```c++
static __global__ void print() { printf("%s\n", "foo"); }
void b();
int main() {
hipLaunchKernelGGL(print, dim3(1), dim3(1), 0, 0);
auto y = hipDeviceSynchronize();
b();
}
```
```c++
static __global__ void print() { printf("%s\n", "bar"); }
void b() {
hipLaunchKernelGGL(print, dim3(1), dim3(1), 0, 0);
auto y = hipDeviceSynchronize();
}
```
```console
$ clang++ a.hip b.hip --offload-arch=gfx1030 --offload-new-driver
$ ./a.out
foo
foo
```
```console
$ clang++ a.hip b.hip --offload-arch=gfx1030 --offload-new-driver -flto
<crash>
```
This reverts commit d54c28b9c1396fa92d9347ac1135da7907121cb8.
Commit: 55858527da9e33063b45e60fd90619df85ea6f7e
https://github.com/llvm/llvm-project/commit/55858527da9e33063b45e60fd90619df85ea6f7e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
PowerPC: Move runtime libcall configuration to RuntimeLibcallsInfo (#142542)
These should not be set in the TargetLowering constructor,
RuntimeLibcalls
needs to be accurate outside of codegen contexts.
Commit: ba7c6468a527415f330e162d7d88f0a70185e711
https://github.com/llvm/llvm-project/commit/ba7c6468a527415f330e162d7d88f0a70185e711
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
Log Message:
-----------
[AMDGPU] Fix getAsmVOP3Base SrcMods arguments. NFCI. (#143428)
Somehow we ended up with different code here and downstream
after merges, and beeing specific about SrcMods is more
correct.
Commit: a8c2b431c7bccceff11fe961fe22974826b46667
https://github.com/llvm/llvm-project/commit/a8c2b431c7bccceff11fe961fe22974826b46667
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Autogenerate dst bytesel asm. NFCI. (#143429)
Needed for future t16 support.
Commit: 4e6896244f4129a22e311f7f6290a595b6f03b75
https://github.com/llvm/llvm-project/commit/4e6896244f4129a22e311f7f6290a595b6f03b75
Author: Darren Wihandi <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definitions for GL inverse hyperbolic functions (#141720)
Adds definitions for `Asinh`, `Acosh` and `Atanh` based on [SPIR-V
extended instructions for
GLSL](https://registry.khronos.org/SPIR-V/specs/unified1/GLSL.std.450.html).
Their instruction numbers are 22, 23 and 24.
Commit: c9cf5c26d8d71bf58cb7ae759a615b6de1074e53
https://github.com/llvm/llvm-project/commit/c9cf5c26d8d71bf58cb7ae759a615b6de1074e53
Author: Lily Brown <lbrown at modular.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M mlir/include/mlir/Tools/lsp-server-support/Protocol.h
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
Log Message:
-----------
[mlir] Add window.workDoneProgress LSP capability (#143449)
Adds the capability flag for [server-initiated work-done
progress](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#serverInitiatedProgress).
Commit: d099d953ef7c9ad24512068f579cc868e1ee468f
https://github.com/llvm/llvm-project/commit/d099d953ef7c9ad24512068f579cc868e1ee468f
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lld/COFF/TypeMerger.h
M lld/ELF/DWARF.h
Log Message:
-----------
[lld] Add missing includes. (#143453)
Some inline methods in these headers require a complete type but the
corresponding include was missing.
Commit: 474db6a85257612a2e878320d0bae51cb884d4f9
https://github.com/llvm/llvm-project/commit/474db6a85257612a2e878320d0bae51cb884d4f9
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/unittests/Symbol/PostfixExpressionTest.cpp
M lldb/unittests/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpressionTests.cpp
M llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/lib/DebugInfo/DWARF/DWARFCFIProgram.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
Log Message:
-----------
[NFC] Separate high-level-dependent portions of DWARFExpression (revised) (#143170)
(Revised version of a previous, unreviewed, PR.)
Move all expression verification into its only client: DWARFVerifier.
Move all printing code (which was a mix of static and member functions)
into a separate class.
This is one in a series of refactoring PRs to separate dwarf
functionality into lower-level pieces usable without object files and
sections at build time. The code is already written this way via various
"if (section == nullptr)" and similar conditionals. So the functionality
itself is needed and exists, but only as a runtime feature. The goal of
these refactors is to remove the build-time dependencies, which will
allow the existing functionality to be used from lower-level parts of
the compiler. Particularly from lib/MC/.... More information at:
https://discourse.llvm.org/t/rfc-debuginfo-dwarf-refactor-into-to-lower-and-higher-level-libraries/86665
Commit: ce4a7c4a66c86010927e54e5bf760c5a88de5396
https://github.com/llvm/llvm-project/commit/ce4a7c4a66c86010927e54e5bf760c5a88de5396
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/LowerTypeTests/export-inline.ll
Log Message:
-----------
LowerTypeTests: Stop creating inline bitset tests on 32-bit architectures.
Tests with a 64-bit inline bitset are not only unlikely to be beneficial
on 32-bit architectures but with ThinLTO we are unable to export them
correctly, resulting in a miscompile.
Reviewers: fmayer
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/143458
Commit: b3837f139235fe943ff9b7ccef44d11d568c4b81
https://github.com/llvm/llvm-project/commit/b3837f139235fe943ff9b7ccef44d11d568c4b81
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M compiler-rt/test/cfi/CMakeLists.txt
Log Message:
-----------
cfi: Re-enable tests with lld on i386. NFCI.
Originally disabled because of #34200 but that bug has long since
been fixed.
Reviewers: fmayer
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/143459
Commit: f671e1698cbdfe02108486ae567f87eea7a05d61
https://github.com/llvm/llvm-project/commit/f671e1698cbdfe02108486ae567f87eea7a05d61
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Autogenerate bitop3 asm and dags. NFCI. (#143430)
Commit: 3e6a704b5fe33aa0e25cc482199985368a8ee6cf
https://github.com/llvm/llvm-project/commit/3e6a704b5fe33aa0e25cc482199985368a8ee6cf
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/test/Transforms/LowerTypeTests/export-inline.ll
Log Message:
-----------
Require x86 target for test.
Commit: f5733b0b859ada51ab4a1cc239ce901ea30b297f
https://github.com/llvm/llvm-project/commit/f5733b0b859ada51ab4a1cc239ce901ea30b297f
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Log Message:
-----------
[lldb][Mach-O] Fix DWARF5 debugging regression for Mach-O
A unification of the DWARF section names,
https://github.com/llvm/llvm-project/pull/141344
broke dwarf5 debugging with Mach-O files. The str_offset and
str_offset.dwo names are different in Mach-O from other object
files.
Commit: 2680afb76bea48b9635cfe1e2aee81b421b71cde
https://github.com/llvm/llvm-project/commit/2680afb76bea48b9635cfe1e2aee81b421b71cde
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
M llvm/test/CodeGen/RISCV/rvv/zvqdotq-sdnode.ll
Log Message:
-----------
[RISCV] Migrate zvqdotq reduce matching to use partial_reduce infrastructure (#142212)
This involves a codegen regression at the moment due to the issue
described in 443cdd0b, but this aligns the lowering paths for this case
and makes it less likely future bugs go undetected.
Commit: 23fd60d996195aa61a036376bde9b347cc45519a
https://github.com/llvm/llvm-project/commit/23fd60d996195aa61a036376bde9b347cc45519a
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
Log Message:
-----------
[MSAN] support vpermilvar AVX instructions (#143053)
Commit: a082f665f85b1002ab22af263eeafceca5288657
https://github.com/llvm/llvm-project/commit/a082f665f85b1002ab22af263eeafceca5288657
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
Log Message:
-----------
ARM: Start moving runtime libcall configuration out of TargetLowering (#142617)
These Module level triple checks implemented in the Subtarget are kind of
a pain and we should probably get rid of all of them in across all targets,
and stick to a consistent set of names.
Commit: 48556108f25052a106bfbe83060775bebf9b43a4
https://github.com/llvm/llvm-project/commit/48556108f25052a106bfbe83060775bebf9b43a4
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/RegisterNumber.cpp
Log Message:
-----------
[lldb][NFC] Split RegisterContextUnwind::SavedLocationForRegister (#139817)
RegisterContextUnwind::SavedLocationForRegister is around 450 lines that
first find an abstract register location (e.g. "CFA-8") for a register
by looking in the UnwindPlans. Then it evaluates the abstract register
location to create a concrete register location (e.g. "stored at address
0x...", "live in register at frame 0"). There are some complicated cases
in the first half of the method to handle return address register
architectures correctly, in particular.
Looking at the two halves, they're both exactly 226 lines long and
there's little involvement between them except for passing an abstract
register location along.
(there were some parts in the "abstract register location" code that
would set the concrete register location, unnecessarily)
It's also a complex enough method that there are some bits of code that
aren't actually doing anything at this point.
This patch adds a RegisterContextUnwind::GetAbstractRegisterLocation
method, which does the first half, and has a clearly defined return
values.
The code to convert an AbstractRegisterLocation into a
ConcreteRegisterLocation remains in SavedLocationForRegister.
It's a bit of a tricky patch to visually inspect, despite it not
changing functionality, the reorganizations and rewrites make the diff
unreadable. Nearly all the real changes are in the "find the abstract
register location" first half of the method. I think reading the new
code in its new form is the easiest way to inspect this PR. With a
defined interface between the two of what is expected, it's pretty easy
to look at the code and reason about whether it is written correctly.
(whereas before, that was very difficult, for me at least.)
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 505c550e4c12d24093f46afaa35819ab2a1a530a
https://github.com/llvm/llvm-project/commit/505c550e4c12d24093f46afaa35819ab2a1a530a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/fpcmp_ueq.ll
M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/double-fcmp.ll
M llvm/test/CodeGen/RISCV/float-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/float-fcmp.ll
M llvm/test/CodeGen/Thumb2/float-cmp.ll
M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
M llvm/test/CodeGen/X86/fpcmp-soft-fp.ll
Log Message:
-----------
DAG: Assert fcmp uno runtime calls are boolean values (#142898)
This saves 2 instructions in the ARM soft float case for fcmp ueq.
This code is written in an confusingly overly general way. The point
of getCmpLibcallCC is to express that the compiler-rt implementations
of the FP compares are different aliases around functions which may
return -1 in some cases. This does not apply to the call for unordered,
which returns a normal boolean.
Also stop overriding the default value for the unordered compare for ARM.
This was setting it to the same value as the default, which is now assumed.
Commit: ab954b11dbf7c5f0256b5a93b6c221b6e82a4f28
https://github.com/llvm/llvm-project/commit/ab954b11dbf7c5f0256b5a93b6c221b6e82a4f28
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/AST/DeclContextInternals.h
Log Message:
-----------
[clang][NFC] Refactor replaceExternalDecls to use llvm::any_of (#143275)
This patch simplifies the declaration replacement logic in
replaceExternalDecls by replacing a manual loop with an idiomatic use of
llvm::any_of. This improves code readability and aligns with common LLVM
coding style.
Commit: 4bf2de18320fc11d009e52a2a71a9fd367fd7dd6
https://github.com/llvm/llvm-project/commit/4bf2de18320fc11d009e52a2a71a9fd367fd7dd6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/bit-op-reduce-width-known-bits.ll
Log Message:
-----------
AMDGPU: Add test showing bit operations that should be reducible (#141837)
v_xor_i64_known_i32_from_range_use_out_of_block demonstrates a regression
that appears in a future patch in the IR division expansion.
We could generalize splitBinaryBitConstantOp to use known bits. I'm
not sure if it's worth it in the original example, since the pattern
seems to disappear if I optimize the division expansion. We should
probably fix the divide expand to avoid this.
Commit: 80064b6e326d0cf34bac1d09c12fc1e6abecb7af
https://github.com/llvm/llvm-project/commit/80064b6e326d0cf34bac1d09c12fc1e6abecb7af
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/bit-op-reduce-width-known-bits.ll
M llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
M llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
Log Message:
-----------
AMDGPU: Try constant fold after folding immediate (#141862)
This helps avoid some regressions in a future patch. The or 0
pattern appears in the division tests because the reduce 64-bit
bit operation to a 32-bit one with half identity value is only
implemented for constants. We could fix that by using computeKnownBits.
Additionally the pattern disappears if I optimize the IR division
expansion, so that IR should probably be emitted more optimally in
the first place.
Commit: e30cba54641d593fdc0e870cb589c7ae265703fe
https://github.com/llvm/llvm-project/commit/e30cba54641d593fdc0e870cb589c7ae265703fe
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[llvm][ADT] Add wrappers to `std::includes` (#143297)
Add `llvm::includes` that accepts a range instead of start/end iterator.
Commit: 9a894ae794f26cdd0822c4cea99e2486e3523189
https://github.com/llvm/llvm-project/commit/9a894ae794f26cdd0822c4cea99e2486e3523189
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestRawStrings.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Parse JSON outermost l_brace as braced list brace (#143327)
See
https://github.com/llvm/llvm-project/issues/65400#issuecomment-2922181979.
Commit: b9d41328c6c60c622fe5737f449e568f1ee4ec8f
https://github.com/llvm/llvm-project/commit/b9d41328c6c60c622fe5737f449e568f1ee4ec8f
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/Analysis/CFG.cpp
A clang/test/Sema/warn-unreachable_crash.cpp
Log Message:
-----------
[clang][CFG] Fix assertion failure in checkIncorrectLogicOperator (#142897)
`checkIncorrectLogicOperator` checks if an expression, for example `x !=
0 || x != 1.0`, is always true or false by comparing the two literals
`0` and `1.0`. But in case `x` is a 16-bit float, the two literals have
distinct types---16-bit float and double, respectively. Directly
comparing `APValue`s extracted from the two literals results in an
assertion failure because of their distinct types.
This commit fixes the issue by doing a conversion from the "smaller" one
to the "bigger" one. The two literals must be compatible because both of
them are comparing with `x`.
rdar://152456316
Commit: 040e9e02ccbf69bebd293a4c389948d7ecbc7bd9
https://github.com/llvm/llvm-project/commit/040e9e02ccbf69bebd293a4c389948d7ecbc7bd9
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M libcxx/include/__config
M libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__functional/function.h
M libcxx/include/__memory/addressof.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_scalar.h
M libcxx/include/deque
M libcxx/include/string
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
Log Message:
-----------
[libc++] Inline __has_feature and __has_extension uses (#133634)
Since GCC now supports `__has_feature` and `__has_extension` as well,
there isn't much of a reason to define new macros to test for the
features.
Commit: 0123ee51ef3290466c6d743aac2932b23655aa04
https://github.com/llvm/llvm-project/commit/0123ee51ef3290466c6d743aac2932b23655aa04
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
Log Message:
-----------
[alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (#143408)
Allow @property of a raw pointer when NS_REQUIRES_PROPERTY_DEFINITIONS
is specified on the interface since such an interface does not
automatically synthesize raw pointer ivars.
Also emit a warning for @property(assign) and
@property(unsafe_unretained) under ARC as well as when explicitly
synthesizing a unsafe raw pointer property.
Commit: 34b985f635a734e7e513ea2196f3010b9c3cc6ae
https://github.com/llvm/llvm-project/commit/34b985f635a734e7e513ea2196f3010b9c3cc6ae
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/xqcibm-extract.ll
Log Message:
-----------
[RISCV] Select unsigned bitfield extract for Xqcibm (#143354)
The Xqcibm Bit Manipulation extension has the `qc.extu` instruction that
can extract a subset of bits from the source register to the destination
register.
Unlike the corresponding instructions in XTHeadbb and XAndesPerf which
extract the bits between `Msb` and `Lsb`, the `qc.extu` instruction
extracts `width` bits from an offset that is determined by the `shamt`.
Commit: eccd81f20ba34f9aee41d672e0d7ac6028191b40
https://github.com/llvm/llvm-project/commit/eccd81f20ba34f9aee41d672e0d7ac6028191b40
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M libcxx/include/__functional/hash.h
Log Message:
-----------
[libc++] Simplify the implementation of std::hash (#140407)
Instead of providing full specializations of `hash` for every arithmetic
type, this moves the implementation to a base class, which is
specialized via `enable_if`s instead.
Commit: 591678bebd09f5d9c5781dd7a9cbd19cb8cd532c
https://github.com/llvm/llvm-project/commit/591678bebd09f5d9c5781dd7a9cbd19cb8cd532c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/monolithic-linux.sh
Log Message:
-----------
[CI] Explicitly compute needed runtime targets
This patch adjusts the compute_projects script to explicitly determine
what runtimes should be built and what runtimes should be tested. This
is mainly to support enabling runtimes for LLDB testing but not test
them unless we are building clang.
Reviewers: Endilll, tstellar, DavidSpickett, lnihlen
Reviewed By: DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/142695
Commit: d56ce312d0c2e5ae74476977a8952dbb3ba4c513
https://github.com/llvm/llvm-project/commit/d56ce312d0c2e5ae74476977a8952dbb3ba4c513
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/attr-trivial-abi.cpp
M clang/test/SemaObjCXX/attr-trivial-abi.mm
Log Message:
-----------
[Clang] Non-polymorphic trivially relocatable types can have [[trivial_abi]] (#143111)
Use the definition of trivially relocatable types to short-circuit some
checks for trivial_abi.
Note that this is mostly a no-op as there is a lot of overlap between
trivial_abi and trivial relocatability (ie, I can't envision a scenario
in which there would be a trivially relocatable type that would not be
eligible for trivial_abi based on its special member function... which
is good!)
Note that for bases and members, we need to check CanPassInRegister
rather than just relocation. So we do these checks first, which leads to
better diagnostics.
Commit: 6881c7d5fad8182116e41cc8fc061773afd5ec88
https://github.com/llvm/llvm-project/commit/6881c7d5fad8182116e41cc8fc061773afd5ec88
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
Log Message:
-----------
[RISCV] Don't select sh{1,2,3}add if shl doesn't have one use (#143351)
Try to fix https://github.com/llvm/llvm-project/pull/130829#pullrequestreview-2730533158.
There's no benefit if shl doesn't have one use.
Commit: 5f648c370edf5d71c471ffbabdaaa821ad05fb4b
https://github.com/llvm/llvm-project/commit/5f648c370edf5d71c471ffbabdaaa821ad05fb4b
Author: David Green <david.green at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
M clang/test/CodeGen/ptrauth-in-c-struct.c
M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
Log Message:
-----------
[AArch64] Change the coercion type of structs with pointer members. (#135064)
The aim here is to avoid a ptrtoint->inttoptr round-trip through the function
argument whilst keeping the calling convention the same. Given a struct which
is <= 128bits in size, which can only contain either 1 or 2 pointers, we
convert to a ptr or [2 x ptr] as opposed to the old coercion that uses i64 or
[2 x i64]. This helps alias analysis produce more accurate results.
Commit: bfe096760345fb040138e10a2884b95fbd812dc9
https://github.com/llvm/llvm-project/commit/bfe096760345fb040138e10a2884b95fbd812dc9
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Remove the TODO for vqdotsu. NFC.
It has been supported by #141267.
Commit: 487e757f3e587aedc1668fb9cb18a8d464913605
https://github.com/llvm/llvm-project/commit/487e757f3e587aedc1668fb9cb18a8d464913605
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-06-09 (Mon, 09 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGExprCXX.cpp
Log Message:
-----------
[clang][NFC] Remove dead PassTypeToPlacementDelete field (#143448)
The CallDeleteDuringNew::PassTypeToPlacementDelete field became unneeded
during the many refactorings of P2719 but I didn't actually remove it.
Commit: 530f5b779111034da78c3419eeda7a360c101755
https://github.com/llvm/llvm-project/commit/530f5b779111034da78c3419eeda7a360c101755
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerStore - always split 512-bit concatenated stores (#143426)
All BWI regressions have now been addressed, so remove the special case
handling.
Commit: 0c3a7725375ec583147429cc367320f0e8506847
https://github.com/llvm/llvm-project/commit/0c3a7725375ec583147429cc367320f0e8506847
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV][test] Add tests for add.uw with a constant
Commit: 77347d6513de6a6f5dee8ade76e0a0ad1552c12b
https://github.com/llvm/llvm-project/commit/77347d6513de6a6f5dee8ade76e0a0ad1552c12b
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
R llvm/test/tools/llvm-rc/Inputs/tag-accelerators-ascii-alt.rc
M llvm/test/tools/llvm-rc/Inputs/tag-accelerators.rc
M llvm/test/tools/llvm-rc/tag-accelerators.test
M llvm/tools/llvm-rc/ResourceFileWriter.cpp
Log Message:
-----------
[llvm-rc] Allow ALT on non-virtkey accelerators (#143374)
While
https://learn.microsoft.com/en-us/windows/win32/menurc/accelerators-resource
specifies that ALT only applies to virtkeys, this doesn't seem to be the
case in reality.
https://learn.microsoft.com/en-us/windows/win32/menurc/using-keyboard-accelerators
contains an example that uses this combination:
"B", ID_ACCEL5, ALT ; ALT_SHIFT+B
Also Microsoft also includes such cases in their repo of test cases:
https://github.com/microsoft/Windows-classic-samples/blob/263dd514ad215d0a40d1ec44b4df84b30ec11dcf/Samples/Win7Samples/begin/sdkdiff/sdkdiff.rc#L161-L164
Also MS rc.exe doesn't warn/error about this. However if applying SHIFT
or CONTROL on a non-virtkey accelerator, MS rc.exe does produce this
warning:
warning RC4203 : SHIFT or CONTROL used without VIRTKEY
Hence, keep the checks for SHIFT and CONTROL, but remove the checks for
ALT, which seems to have been incorrect.
This fixes one aspect of
https://github.com/llvm/llvm-project/issues/143157.
Commit: ecc8b29eda2acc517170e9dde212986ad677cc68
https://github.com/llvm/llvm-project/commit/ecc8b29eda2acc517170e9dde212986ad677cc68
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR][NFC] Use actual operand name in adaptor-obtained operands (#143028)
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1661
Commit: 20e8de9c8f4cf54c6c57535428c987d921861034
https://github.com/llvm/llvm-project/commit/20e8de9c8f4cf54c6c57535428c987d921861034
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
Log Message:
-----------
[InstCombine] Support nested GEPs in OptimizePointerDifference (#142958)
Currently OptimizePointerDifference() only handles single GEPs with a
common base, not GEP chains. This patch generalizes the support to
nested GEPs with a common base.
Finding the common base is a bit annoying because we want to stop as
soon as possible and not recurse into common GEP prefixes.
This helps avoids regressions from
https://github.com/llvm/llvm-project/pull/137297.
Commit: e5ff7055beb116f103f030d992fadea49c994511
https://github.com/llvm/llvm-project/commit/e5ff7055beb116f103f030d992fadea49c994511
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
Log Message:
-----------
[LoopPeel] Use loop guards when checking if last iter can be peeled. (#142605)
Apply loop guards to BTC before checking if the last iteration should be
peeled off. This also adds an assert to make sure applying the guards
does not pessimize the results. I checked on a large test set and it did
not trigger there, but it adds an additional guard to catch potential
cases where loop-guards pessimize results.
Peels ~15% more loops.
PR: https://github.com/llvm/llvm-project/pull/142605
Commit: 6a8464b1251ae6cf01eb3af34441e3ce714a5542
https://github.com/llvm/llvm-project/commit/6a8464b1251ae6cf01eb3af34441e3ce714a5542
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
R llvm/test/CodeGen/X86/avx512fp16-cvt-novl.ll
A llvm/test/CodeGen/X86/avx512fp16-novl.ll
Log Message:
-----------
[X86][FP16] Do not generate X86 FMIN/FMAX for FP16 when VLX not enabled, part 2 (#143483)
Fixes: https://godbolt.org/z/eYTxeqE48
Commit: f0d05b973b0d09521aad00d3aec36e4478626cc2
https://github.com/llvm/llvm-project/commit/f0d05b973b0d09521aad00d3aec36e4478626cc2
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/IR/LLVMContextImpl.h
Log Message:
-----------
[NFC][DebugInfo] Make MDNodeKeyImpl<DILocation>::Column 16 bits (#143399)
Column is limited to 16 bits in several places in the compiler:
DebugInfoMetadata.cpp#L87, LLParser.cpp#L4706, and more
Slight compile time improvement due to reducing `hash_combine` workload
in `MDNodeKeyImpl<DILocation>::getHashValue()`.
Positively affects compile time regardless of whether Key Instructions
is enabled. See PR for numbers.
Commit: 4cafd28b7dd92080103d11cccc78d9a2f01e1242
https://github.com/llvm/llvm-project/commit/4cafd28b7dd92080103d11cccc78d9a2f01e1242
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
R lld/test/COFF/lto-late-arm.ll
Log Message:
-----------
[lld] Delete lto-late-arm.ll
This test is failing on a couple of bots and on premerge after
a082f665f85b1002ab22af263eeafceca5288657.
That patch configures the relevant libcalls for ARM in RuntimeLibCalls.
This causes __rt_sdiv to get pulled into the LTO preopt IR. This should
happen for other builtins as well, which means that the original issue
that the patch introducing this patch intended to diagnose should no
longer exist.
The compiler generated calls to builtins mentioned in
7f9a0048fa3fb5513c09731a7f82a851b0bcd609 should always have definitions,
assuming they are available in the link and will not only get pulled in
late if lazily loading symbols from archives. We otherwise get the
standard diagnostic if they are not.
Commit: 823750d873dff1d03865900042fc9b58e0f7f9c3
https://github.com/llvm/llvm-project/commit/823750d873dff1d03865900042fc9b58e0f7f9c3
Author: Q <60785373+StarryCSF at users.noreply.github.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
A flang/test/Fir/FirToSCF/if.fir
Log Message:
-----------
[flang][fir] Add fir.if -> scf.if and add filecheck test file (#142965)
This commmit is a supplement for
https://github.com/llvm/llvm-project/pull/140374.
RFC:https://discourse.llvm.org/t/rfc-add-fir-affine-optimization-fir-pass-pipeline/86190/6
---------
Co-authored-by: ZhiQiang Fan <zhiqiang.fan at terapines.com>
Commit: 68870161e5d827d84f9cba30f741c31c4ff0be4f
https://github.com/llvm/llvm-project/commit/68870161e5d827d84f9cba30f741c31c4ff0be4f
Author: Paul Trojahn <paul.trojahn at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
Log Message:
-----------
AMDGPU Mark permlane instructions as convergent (#142962)
Not sure if this is the right place to add this, but without explicitly
setting it as convergent, the permlanex16 instruction in the test sinks
into the second block.
Co-authored-by: Paul Trojahn <paul.trojahn at amd.com>
Commit: 054646f335e8fbec1305c27af4d98227791ecf9f
https://github.com/llvm/llvm-project/commit/054646f335e8fbec1305c27af4d98227791ecf9f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[X86] commuteInstructionImpl - assert that only MOVSDrr is being commuted to SHUFPDrri
Noticed while preparing for #142972
Commit: e65d32316646e6203a3f4d4c9921edcddbb1c57d
https://github.com/llvm/llvm-project/commit/e65d32316646e6203a3f4d4c9921edcddbb1c57d
Author: David Rivera <davidriverg at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
Log Message:
-----------
[clang-tidy] Improve integer comparison by matching valid expressions outside implicitCastExpr (#134188)
Aims to fix #127471
Covered the edge case where an int expression is not necessarily
directly wrapped around an 'ImplicitCastExpr' which seemed to be a
requirement in 'use-integer-sign-comparison.cpp' check to trigger.
**For instance**:
```cpp
#include <vector>
bool f() {
std::vector<int> v;
unsigned int i = 0;
return i >= v.size();
}
```
Commit: 9312d5beb37208f30118ec7bc42737b1ecead086
https://github.com/llvm/llvm-project/commit/9312d5beb37208f30118ec7bc42737b1ecead086
Author: Brandon Wu <songwu0813 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/Basic/riscv_andes_vector.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/zvfhmin-error.c
M clang/test/Sema/rvv-required-features-invalid.c
M clang/test/Sema/zvk-invalid-features.c
M clang/test/Sema/zvk-invalid-zvknha.c
M clang/test/Sema/zvk-target-attributes.c
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[llvm][RISCV] Handle required features of intrinsic correctly (#143062)
Current approach generates intrinsic records when users specify
corresponding required features by using command line option.
However it's not able to handle features passed by using target
attributes correctly where each function might have different
features.
This patch resolves this by generating all of intrinsic records which
carry the required features in their function declaration using
attribute and check the required extensions in CheckBuiltinFunctionCall.
This should fix
[56592](https://github.com/llvm/llvm-project/issues/56592),
[134962](https://github.com/llvm/llvm-project/issues/134962) and
[121603](https://github.com/llvm/llvm-project/issues/121603)
Commit: 80ea5f46df3e365a0a2112889bb91732167b6214
https://github.com/llvm/llvm-project/commit/80ea5f46df3e365a0a2112889bb91732167b6214
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/monolithic-linux.sh
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI] Migrate to runtimes build
This patch migrates the premerge pipeline to use LLVM_ENABLE_RUNTIMES to
build libc and compiler-rt.
Reviewers: DavidSpickett, tstellar, cmtice, lnihlen
Reviewed By: DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/142696
Commit: f03d1b0aeb15920e3e948445efd425aad60548bd
https://github.com/llvm/llvm-project/commit/f03d1b0aeb15920e3e948445efd425aad60548bd
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/sub-gep.ll
Log Message:
-----------
[InstCombine] Add extra flag-preservation tests for sub of gep (NFC)
Commit: c450dd7e8398ffa2c17ae80a21a965bc74fc94dd
https://github.com/llvm/llvm-project/commit/c450dd7e8398ffa2c17ae80a21a965bc74fc94dd
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M openmp/libompd/test/lit.site.cfg.in
M openmp/runtime/test/lit.cfg
M openmp/runtime/test/lit.site.cfg.in
M openmp/tools/archer/tests/lit.cfg
M openmp/tools/archer/tests/lit.site.cfg.in
M openmp/tools/multiplex/tests/lit.cfg
M openmp/tools/multiplex/tests/lit.site.cfg.in
Log Message:
-----------
[OpenMP][test] Support target= in tests (#142380)
LLVM is moving towards the `target=<target triple RE>` syntax in `XFAIL:
` etc., and I'll need the same in a subsequent patch.
This patch adds the necessary infrastructure.
Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`sparc-unknown-linux-gnu`, `sparc64-unknown-linux-gnu`,
`i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and
`x86_64-pc-linux-gnu`.
Commit: 45f57ee573a8b066e72f93cccc852ff395e99178
https://github.com/llvm/llvm-project/commit/45f57ee573a8b066e72f93cccc852ff395e99178
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/MC/AArch64/SME2p1/directive-arch-negative.s
M llvm/test/MC/AArch64/SME2p1/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SVE2p1/aesd.s
M llvm/test/MC/AArch64/SVE2p1/aesdimc.s
M llvm/test/MC/AArch64/SVE2p1/aese.s
M llvm/test/MC/AArch64/SVE2p1/aesemc.s
M llvm/test/MC/AArch64/SVE2p1/directive-arch-negative.s
M llvm/test/MC/AArch64/SVE2p1/pmlal.s
M llvm/test/MC/AArch64/SVE2p1/pmull.s
Log Message:
-----------
[AArch64] Fix FEAT_SVE_AES2 instructions to depend on SVE2 not SVE2P1 (#142389)
Change instructions to only require `(SVE2 or SSVE-AES) and SVE-AES2` to
be consistent with the fact that `+ssve-aes` only implies `+sme2` and
not `+sme2p1`.
Commit: 6ec48b449fb60a766d4faf185613f1b4a8638bfa
https://github.com/llvm/llvm-project/commit/6ec48b449fb60a766d4faf185613f1b4a8638bfa
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
[lldb] Use 1 based row and column for statusline (#143385)
I can't find a proper source for this but many materials say that ANSI
rows and columns start at 1 not 0.
https://www2.math.upenn.edu/~kazdan/210/computer/ansi.html is as good as
I can get:
```
<row> is a number from 1 through 25 that specifies the row to which the cursor is to be moved.
<col> is a number from 1 through 80 that specifies the column to which the cursor is to be moved.
```
0 does work in Windows terminal and Linux terminals, but we might as
well be correct and it's one less thing to reason about when auditing
this code.
>From what I read, some terminals correct 0 back to 1 and some treat 0 as
a missing argument, which also defaults to 1.
Commit: 9b282afb8ac1c810da684591c27faf6117e62e3b
https://github.com/llvm/llvm-project/commit/9b282afb8ac1c810da684591c27faf6117e62e3b
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive-with-duplicate-member-filenames.test
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive.test
Log Message:
-----------
[JITLink] [test] Extend preexisting MinGW XFAILs to new tests (#142375)
This extends the preexisting XFAILs from
4c642b62b99fa128c180f28278637b32be5e5576 to these new tests from
6fa8657a622173c177d863b763550de4d388f73c.
Commit: f715ff4a9d63c00d6903ec876870e6111b50f2d1
https://github.com/llvm/llvm-project/commit/f715ff4a9d63c00d6903ec876870e6111b50f2d1
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive-with-duplicate-member-filenames.test
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive.test
M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
Log Message:
-----------
[JITLink] [test] Generalize UNSUPPORTED markings for Windows/arm64 (#142377)
Don't needlessly specify the vendor field as "pc"; in MinGW
configurations, the vendor field is often "w64".
Commit: 902d6894f55a769d810032e3c056e597886f03fc
https://github.com/llvm/llvm-project/commit/902d6894f55a769d810032e3c056e597886f03fc
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive.test
Log Message:
-----------
[JITLink] [test] Add a trailing newline to a test file. NFC.
Otherwise, this shows up as an unrelated diff after editing the
file in some editors (like vim).
Commit: a59a8ae1a9de8225a4b297f537cd73a80ca6f050
https://github.com/llvm/llvm-project/commit/a59a8ae1a9de8225a4b297f537cd73a80ca6f050
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
M compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
M compiler-rt/lib/builtins/arm/aeabi_dcmp.S
M compiler-rt/lib/builtins/arm/aeabi_fcmp.S
M compiler-rt/lib/builtins/arm/aeabi_idivmod.S
M compiler-rt/lib/builtins/arm/aeabi_ldivmod.S
M compiler-rt/lib/builtins/arm/aeabi_memcpy.S
M compiler-rt/lib/builtins/arm/aeabi_memmove.S
M compiler-rt/lib/builtins/arm/aeabi_memset.S
M compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
M compiler-rt/lib/builtins/arm/aeabi_uldivmod.S
M compiler-rt/lib/builtins/assembly.h
Log Message:
-----------
[compiler-rt][ARM] Add missing PACBTI support to assembly aeabi functions (#142400)
Some of the aeabi functions were missing PACBTI support. The lack of it
resulted in exceptions at runtime if the running environment had PAC
and/or BTI enabled.
This patch adds this support. This involves the addition of PACBTI
instructions, depending on whether each of these features is enabled,
plus the saving and restoring of the PAC code that resides in r12. Some
of the common code has been put in preprocessor macros to reduce
duplication, but not all, especially since some register saving and
restoring is very specific to each context.
Commit: 356bd6e94c26f963131af21d56542697162fc70b
https://github.com/llvm/llvm-project/commit/356bd6e94c26f963131af21d56542697162fc70b
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-novl.ll
Log Message:
-----------
[X86][FP16] Bitcast v8f16/v16f16 to vXi8 to use vXi8 vselect (#143484)
Fixes: https://godbolt.org/z/fbPYzjxTs
Commit: d61a06e25533efd940296ab9dbd122f3797714de
https://github.com/llvm/llvm-project/commit/d61a06e25533efd940296ab9dbd122f3797714de
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definition for GL Log2 (#143409)
Commit: 95b5b6801ce4c08e1bc92616321cd4127e7c0957
https://github.com/llvm/llvm-project/commit/95b5b6801ce4c08e1bc92616321cd4127e7c0957
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
A lldb/test/Shell/Expr/TestObjCxxEnumConflict.test
Log Message:
-----------
[lldb][test] Add test for handling conflicting Objective-C NS_OPTIONS typedefs
Add test that checks whether the expression evaluator can handle
the `NS_ENUM`/`NS_OPTIONS` typedefs from Objective-C `CoreFoundation`.
In the test, `module.h` mimicks the `NS_OPTIONS` typedef from `CoreFoundation`.
The `ClangModulesDeclVendor` currently compiles modules as
C++, so the `MyInt` Clang decl in the module will be a `TypedefType`,
while the DWARF AST parser will produce an `EnumType` (since that's what
the debug-info says). When the `ASTImporter` imports these decls into the
scratch AST, it will fail to re-use one or the other decl because they
aren't structurally equivalent (one is a typedef, the other an enum),
so we end up with two conflicting `MyInt` declarations in the scratch AST
and the expression fails to run due to ambiguity in name lookup.
rdar://151022173
Commit: 7e471c1fd0c4de4656cfaac39e247d207e987510
https://github.com/llvm/llvm-project/commit/7e471c1fd0c4de4656cfaac39e247d207e987510
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/CMakeLists.txt
M lldb/cmake/modules/AddLLDB.cmake
M lldb/source/API/CMakeLists.txt
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Core/CMakeLists.txt
M lldb/source/DataFormatters/CMakeLists.txt
M lldb/source/Expression/CMakeLists.txt
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Initialization/CMakeLists.txt
M lldb/source/Interpreter/CMakeLists.txt
M lldb/source/Interpreter/Interfaces/CMakeLists.txt
M lldb/source/Symbol/CMakeLists.txt
M lldb/source/Target/CMakeLists.txt
M lldb/source/Utility/CMakeLists.txt
M lldb/source/ValueObject/CMakeLists.txt
M lldb/source/Version/CMakeLists.txt
Log Message:
-----------
[lldb/cmake] Use ADDITIONAL_HEADER(_DIR)?S (#142587)
Replace (questionable) header globs with an explicit argument supported
by llvm_add_library.
Commit: fb054e6cf2b138835301966abc7ac94af92261c3
https://github.com/llvm/llvm-project/commit/fb054e6cf2b138835301966abc7ac94af92261c3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] splitAndLowerShuffle - split a v8f32 bitcast from v8i32 operands as 2 v4i32 shuffles (#143493)
AVX1 performs v8i32 shuffles as bitcast v8f32, but if we split these back to v4f32 instead of peeking through the bitcasts, we can lose track of the original domain.
Fixes an issue I noticed working on #142972 where we were using v4f32 blends instead of v8i16 resulting in a lot of domain crossing.
Its also helps avoid unnecessary use of VINSERTPS nodes which can be tricky to commute or concatenate back to 256-bit vectors.
Commit: f2fede609592aec085cdd1546b8763c22c407b82
https://github.com/llvm/llvm-project/commit/f2fede609592aec085cdd1546b8763c22c407b82
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
A libcxx/docs/ABIGuarantees.rst
M libcxx/docs/UserDocumentation.rst
M libcxx/docs/VendorDocumentation.rst
M libcxx/docs/index.rst
M libcxx/include/__configuration/abi.h
Log Message:
-----------
[libc++] Document our ABI guarantees and what ABI flags exist to modify these guarantees (#132615)
Commit: 5471d933af193eb2be4992428271cdcc7013599b
https://github.com/llvm/llvm-project/commit/5471d933af193eb2be4992428271cdcc7013599b
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/test/module_dependencies.test
Log Message:
-----------
Disable clangd/test/module_dependencies.test on Windows
The test fails (sometimes); see discussion on https://github.com/llvm/llvm-project/pull/142828
Commit: 5e0e6a0dd6d52fdc4b6bc6603074f4c93e3e42b9
https://github.com/llvm/llvm-project/commit/5e0e6a0dd6d52fdc4b6bc6603074f4c93e3e42b9
Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M mlir/test/lib/Dialect/TestIRDLToCpp/CMakeLists.txt
Log Message:
-----------
[MLIR] Use mlir_target_link_libraries with MLIRTestIRDLToCppDialect (#143435)
Replace LINK_LIBS with mlir_target_link_libraries.
Fixes #143246.
Suggested-by: Nikita Popov <npopov at redhat.com>
Commit: c0f8145cbc177a6c86ce959e3b5d7a760680c140
https://github.com/llvm/llvm-project/commit/c0f8145cbc177a6c86ce959e3b5d7a760680c140
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
Log Message:
-----------
[RISCV] Simplify and remove unrelated testcases in reassoc-shl-addi-add.ll. NFC.
Commit: 39a7664fc10d7634f0f8b8a320366221450cc790
https://github.com/llvm/llvm-project/commit/39a7664fc10d7634f0f8b8a320366221450cc790
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Select (add/or C, x) -> (add.uw C|0xffffffff00000000, x) (#143375)
Emits fewer instructions for certain constants.
Commit: a08bf50ccf95ab89a5e1252be87c4cf093ce3b60
https://github.com/llvm/llvm-project/commit/a08bf50ccf95ab89a5e1252be87c4cf093ce3b60
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
Log Message:
-----------
[RISCV][NFC] Update the comments in RISCVMatInt.h (#143402)
Only a subset of used instructions was listed, which could be confusing.
Also, QC_E_LI uses all 32 bits of Imm.
Commit: f43aaf90df6153f39c6cfd3471fec5dea1a0b650
https://github.com/llvm/llvm-project/commit/f43aaf90df6153f39c6cfd3471fec5dea1a0b650
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/Utils/LowerVectorIntrinsics.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
Log Message:
-----------
[NFC][LLVM] Refactor IRBuilder::Create{VScale,ElementCount,TypeSize}. (#142803)
CreateVScale took a scaling parameter that had a single use outside of
IRBuilder with all other callers having to create a redundant
ConstantInt. To work round this some code perferred to use
CreateIntrinsic directly.
This patch simplifies CreateVScale to return a call to the llvm.vscale()
intrinsic and nothing more. As well as simplifying the existing call
sites I've also migrated the uses of CreateIntrinsic.
Whilst IRBuilder used CreateVScale's scaling parameter as part of the
implementations of CreateElementCount and CreateTypeSize, I have
follow-on work to switch them to the NUW varaiety and thus they would
stop using CreateVScale's scaling as well. To prepare for this I have
moved the multiplication and constant folding into the implementations
of CreateElementCount and CreateTypeSize.
As a final step I have replaced some callers of CreateVScale with
CreateElementCount where it's clear from the code they wanted the
latter.
Commit: 5955f3e848bc7da4f2e9748249891f6e926b6375
https://github.com/llvm/llvm-project/commit/5955f3e848bc7da4f2e9748249891f6e926b6375
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lldb/source/Host/windows/ProcessRunLock.cpp
Log Message:
-----------
[lldb][Widows] Remove unused WriteTryLock function
Unused since d792094c26dc6b40136f1e6c2e393c041062e371.
[2571/6469] Building CXX object tools/lldb/sourc...iles/lldbHost.dir/windows/ProcessRunLock.cpp.obj
C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/llvm-project/lldb/source/Host/windows/ProcessRunLock.cpp(31,13): warning: unused function 'WriteTryLock' [-Wunused-function]
31 | static bool WriteTryLock(lldb::rwlock_t rwlock) {
| ^~~~~~~~~~~~
1 warning generated.
Commit: 4fb81f11cea0fce9f1f5409fcd55ae3aba70d368
https://github.com/llvm/llvm-project/commit/4fb81f11cea0fce9f1f5409fcd55ae3aba70d368
Author: MaggieYingYi <29144504+MaggieYingYi at users.noreply.github.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/ignored-pch.cpp
A clang/test/PCH/Inputs/ignored-pch.h
A clang/test/PCH/ignored-pch.c
Log Message:
-----------
[Frontend][PCH]-Add support for ignoring PCH options (-ignore-pch). (#142409)
Visual Studio has an argument to ignore all PCH related switches. clang-cl has also support option /Y-. Having the same option in clang would be helpful. This commit is to add support for ignoring PCH options (-ignore-pch).
The commit includes:
1. Implement -ignore-pch as a Driver option.
2. Add a Driver test and a PCH test.
3. Add a section of -ignore-pch to user manual.
4. Add a release note for the new option '-ignore-pch'.
Code reviewed by: Matheus Izvekov <mizvekov at gmail.com>
Commit: acc43db9aa2e67f30f804a7604f9375a181780fc
https://github.com/llvm/llvm-project/commit/acc43db9aa2e67f30f804a7604f9375a181780fc
Author: hev <wangrui at loongson.cn>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
Log Message:
-----------
[LoongArch] Convert vector mask to `vXi1` using `[X]VMSKLTZ` (#142978)
This patch adds a DAG combine optimization that transforms `BITCAST`
nodes converting vector masks into `vXi1` types via the `[X]VMSKLTZ`
instructions.
Commit: d019d05ff063dbf12b6288940dd02807d633b721
https://github.com/llvm/llvm-project/commit/d019d05ff063dbf12b6288940dd02807d633b721
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2p2-intrinsics.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Add isel for i8/i16 sve.compact intrinsics. (#143139)
The i8/i16 instruction variants are available for:
* normal functions using sve2p2
* streaming functions using sme2p2
Commit: dbec6e424a6b356959ac800c2b7a8d4ab74e9862
https://github.com/llvm/llvm-project/commit/dbec6e424a6b356959ac800c2b7a8d4ab74e9862
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
Log Message:
-----------
[AArch64] Add AArch64 SVE lowering for usdot (#143403)
Commit: 6582d7d348c14b0e8be98d651b5d6e49d20beedb
https://github.com/llvm/llvm-project/commit/6582d7d348c14b0e8be98d651b5d6e49d20beedb
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
A clang/test/CodeGenHLSL/builtins/wave_get_lane_count.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
Log Message:
-----------
[HLSL] Add WaveGetLaneCount() intrinsic to FE (#143127)
This commit adds code to lower WaveGetLaneCount() into the SPV or DXIL
intrinsic. The backends will then need to lower the intrinsic into
proper SPIR-V/DXIL.
Related to #99159
Commit: 59e4d0b34d6737c40a9d7cf4c5dd9dcaa651dd74
https://github.com/llvm/llvm-project/commit/59e4d0b34d6737c40a9d7cf4c5dd9dcaa651dd74
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/test/HLFIR/as_expr-codegen-polymorphic.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
A flang/test/HLFIR/declare-alloc-target.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/HLFIR/reshape-lowering.fir
M flang/test/Lower/HLFIR/assumed-rank-entry.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/polymorphic-expressions.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/volatile-allocatable.f90
Log Message:
-----------
[flang][hlfir] ensure hlfir.declare result box attributes are consistent (#143137)
Prevent hlfir.declare output to be fir.box/class values with the
heap/pointer attribute to ensure the runtime descriptor attributes are
in line with the Fortran attributes for the entities being declared
(only fir.ref<box/class> can be ALLOCATABLE/POINTERS).
This fixes a bug where an associated entity inside a SELECT TYPE was being
unexpectedly reallocated inside assign runtime because the selector was allocatable
and this attribute was not properly removed when creating the descriptor
for the associated entity (that does not inherit the ALLOCATABLE/POINTER
attribute according to Fortran 2023 section 11.1.3.3).
Commit: ee3f50939dcbf0798cd02df22c222153d0942d39
https://github.com/llvm/llvm-project/commit/ee3f50939dcbf0798cd02df22c222153d0942d39
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
Log Message:
-----------
[bazel] Turn on LLVM_ENABLE_PLUGINS on posix
Since #141650, `LLVM_ABI inline` has had different linkage regarding
to LLVM_ENABLE_PLUGINS.
This was introduced in 8830e3802a92 (llvmorg-21-init-14426-g8830e3802a92)
but reverted in #143419 due to breakage of msvc build.
Commit: 6f231165072ec8a4f725056c6deccce3c1a21f09
https://github.com/llvm/llvm-project/commit/6f231165072ec8a4f725056c6deccce3c1a21f09
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
A llvm/test/CodeGen/SPIRV/ExecutionMode_Vertex.ll
Log Message:
-----------
[SPIR-V] Add Vertex execution model (#142369)
Adds backend handling of the vertex shader type compiling from HLSL.
Fixes #136961
Commit: bb531ffcccb1dcc874db1675ec291c9d6f75dad6
https://github.com/llvm/llvm-project/commit/bb531ffcccb1dcc874db1675ec291c9d6f75dad6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[DAG] getNode - assert that INSERT_VECTOR_ELT operand types are legal (#143502)
Helped track down a typo in the X86ISD::CVTPH2PS lowering.
Commit: 535b24d10723c63f99324cc247ad38b1ffe798d7
https://github.com/llvm/llvm-project/commit/535b24d10723c63f99324cc247ad38b1ffe798d7
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
A flang/test/Lower/volatile-openmp2.f03
Log Message:
-----------
[flang][openmp] Propagate volatile on reduction variables (#142435)
Reference types were being constructed from openmp private clauses without propagating volatility.
Fix this by checking the volatility of the original variable and add a test.
Commit: c3057de024b70be6c1bc95a2aba49eb288d69a91
https://github.com/llvm/llvm-project/commit/c3057de024b70be6c1bc95a2aba49eb288d69a91
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix bugprone-argument-comment warnings. NFC.
Commit: c34351c92ae6979ccd549403fe97bc7cc2d1ff5b
https://github.com/llvm/llvm-project/commit/c34351c92ae6979ccd549403fe97bc7cc2d1ff5b
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M lld/MachO/DriverUtils.cpp
Log Message:
-----------
Revert "[lld] check cache before real_path in loadDylib (#140791)"
This is causing use-after-frees due to references getting invalidating
after the loadedDylibs map grows, see comments on the PR.
This reverts commit 475a8a47ead32755bb1377d361afbd1928880e14.
Commit: bf60aa1c551ef5de62fd1d1cdcbff58cba55cacd
https://github.com/llvm/llvm-project/commit/bf60aa1c551ef5de62fd1d1cdcbff58cba55cacd
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/include/flang/Common/enum-class.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Driver/disable-diagnostic.f90
M flang/test/Driver/werror-wrong.f90
M flang/test/Driver/wextra-ok.f90
M flang/unittests/Common/CMakeLists.txt
A flang/unittests/Common/EnumClassTests.cpp
A flang/unittests/Common/FortranFeaturesTest.cpp
Log Message:
-----------
[flang][cli] Add diagnostic flags to the CLI (#142022)
This change allows the flang CLI to accept `-W[no-]<feature>` flags matching the clang syntax and enable and disable usage and language feature warnings.
Commit: 65d530193e286a392844586af4b0037e4be41126
https://github.com/llvm/llvm-project/commit/65d530193e286a392844586af4b0037e4be41126
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/SPIRV/ExecutionMode_Fragment.ll
Log Message:
-----------
[SPIR-V] Add Fragment execution model (#141787)
This commits allows the fragment execution model to be set using the
hlsl.shader attribute.
Fixes #136962
Commit: b21be0e440f18605b5ffbe9d0c44a55a50b91b4e
https://github.com/llvm/llvm-project/commit/b21be0e440f18605b5ffbe9d0c44a55a50b91b4e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] scalarizeExtEltFP - don't assume setcc result pre-legalisation will be vXi1
Another fold may have generated the setcc using getSetCCResultType
Encountered this while investigating topological sorting of dag nodes
Commit: bf1fe6eb3312c5608c96135405a6654f789a6c79
https://github.com/llvm/llvm-project/commit/bf1fe6eb3312c5608c96135405a6654f789a6c79
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] Reintroduce TODO for translation of linear clause (#143531)
Reintroduce a TODO for linear clause translation unless corner issues
(like linear variables being entities other than `alloca`, and support
for linear variables of types other than integer) are solved.
Commit: 99f6cb89352f7491e8cd3cc58c6d1ba687c99b27
https://github.com/llvm/llvm-project/commit/99f6cb89352f7491e8cd3cc58c6d1ba687c99b27
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/BPF/BTFDebug.h
Log Message:
-----------
[BPF] Use heterogeneous lookup with std::map (NFC) (#143395)
Commit: b27ab06a3d3f7f37496c5fa4dc367a3be0a8498d
https://github.com/llvm/llvm-project/commit/b27ab06a3d3f7f37496c5fa4dc367a3be0a8498d
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/sub-gep.ll
Log Message:
-----------
[InstCombine] Preserve flags for difference of gep chains (#143488)
When expanding the offset of a GEP chain via a series of adds, try to
preserve the nsw/nuw flags based on inbounds/nuw. This is a followup to
https://github.com/llvm/llvm-project/pull/142958.
Proof: https://alive2.llvm.org/ce/z/8HiFYY (note that preserving nsw in
the nusw case is not valid)
Commit: 326429022ff8c9275c7c49fed095ab1310dabca2
https://github.com/llvm/llvm-project/commit/326429022ff8c9275c7c49fed095ab1310dabca2
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Target/SPIRV/constant.mlir
Log Message:
-----------
[mlir][spirv] Deserialize OpConstantComposite of type Cooperative Matrix (#142786)
Depends on #142784.
Commit: cde1035a2fc6d472168ce6c6e117f16c76c5bbc4
https://github.com/llvm/llvm-project/commit/cde1035a2fc6d472168ce6c6e117f16c76c5bbc4
Author: Cameron McInally <cameron.mcinally at nyu.edu>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
A flang/test/Driver/mrecip.f90
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/mrecip.ll
A mlir/test/Target/LLVMIR/mrecip.mlir
Log Message:
-----------
[flang] Add support for -mrecip[=<list>] (#143418)
This patch adds support for the -mrecip command line option. The parsing
of this options is equivalent to Clang's and it is implemented by
setting the "reciprocal-estimates" function attribute.
Also move the ParseMRecip(...) function to CommonArgs, so that Flang is
able to make use of it as well.
---------
Co-authored-by: Cameron McInally <cmcinally at nvidia.com>
Commit: e295b0ce757efc50af47915f5997152bda269e66
https://github.com/llvm/llvm-project/commit/e295b0ce757efc50af47915f5997152bda269e66
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/test/Lower/OpenMP/atomic-privatize.f90
M flang/test/Lower/OpenMP/sections-predetermined-private.f90
Log Message:
-----------
[flang][OpenMP] Fix detecting nested OpenMP constructs (#143383)
Recognize privatizing OpenMP constructs, and only exclude symbols from
non-privatizing ones.
Commit: 3eb9b7dbbd785673b88420dac87264cf79e432a3
https://github.com/llvm/llvm-project/commit/3eb9b7dbbd785673b88420dac87264cf79e432a3
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
A llvm/test/MC/RISCV/rv32-relaxation-xqci.s
Log Message:
-----------
[RISCV] Implement Relaxation for Xqcilb Jumps (#142702)
Commit: 713702109a02cb340224cc7c086dcf0f371db45b
https://github.com/llvm/llvm-project/commit/713702109a02cb340224cc7c086dcf0f371db45b
Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
A llvm/include/llvm/CGData/CGDataPatchItem.h
M llvm/include/llvm/CGData/CodeGenData.h
M llvm/include/llvm/CGData/CodeGenData.inc
M llvm/include/llvm/CGData/CodeGenDataWriter.h
M llvm/include/llvm/CGData/StableFunctionMapRecord.h
M llvm/lib/CGData/CodeGenData.cpp
M llvm/lib/CGData/CodeGenDataReader.cpp
M llvm/lib/CGData/CodeGenDataWriter.cpp
M llvm/lib/CGData/StableFunctionMapRecord.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/test/tools/llvm-cgdata/empty.test
M llvm/test/tools/llvm-cgdata/error.test
M llvm/test/tools/llvm-cgdata/merge-combined-funcmap-hashtree.test
M llvm/test/tools/llvm-cgdata/merge-funcmap-archive.test
M llvm/test/tools/llvm-cgdata/merge-funcmap-concat.test
M llvm/test/tools/llvm-cgdata/merge-funcmap-double.test
M llvm/test/tools/llvm-cgdata/merge-funcmap-single.test
M llvm/unittests/CGData/StableFunctionMapRecordTest.cpp
Log Message:
-----------
[CGData] Make an option to skip reading Names into StableFunctionMap (#142095)
Names are used for debugging purpose and have no impact on codegen. For
a non-trivial project, reading them consumes a lot of memory and slows
down the compilation significantly. This patch adds a field in the
indexed CGData to remember the total size of Names, and creates a
command-line option to skip reading Names by advancing the pointer when
deserializing the indexed CGData.
Commit: b299049e0257ccc3bb35e896197ead7d197f7781
https://github.com/llvm/llvm-project/commit/b299049e0257ccc3bb35e896197ead7d197f7781
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/metrics/metrics.py
M .ci/monolithic-linux.sh
M .git-blame-ignore-revs
M .github/workflows/premerge.yaml
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/test/X86/pre-aggregated-perf.test
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-move/Move.h
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
M clang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
M clang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.h
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.cpp
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.h
M clang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.h
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.h
M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.h
M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.h
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.h
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/clang-tidy/android/AndroidTidyModule.cpp
M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipe2Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipeCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecSocketCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.h
M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.h
M clang-tools-extra/clang-tidy/darwin/DarwinTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/TrailingReturnCheck.h
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.h
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.h
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.h
M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
M clang-tools-extra/clang-tidy/google/UsingNamespaceDirectiveCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.h
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.h
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.h
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.h
M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.h
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.h
M clang-tools-extra/clang-tidy/objc/AvoidNSErrorInitCheck.h
M clang-tools-extra/clang-tidy/objc/ForbiddenSubclassingCheck.cpp
M clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.h
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.h
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.h
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.h
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.h
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.h
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
A clang-tools-extra/clangd/test/module_dependencies.test
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/multi-level-implicit-pointer-conversion.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/namespace-comment.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-trailing-return-type.rst
M clang-tools-extra/test/clang-doc/templates.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/multi-level-implicit-pointer-conversion.c
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing-nested-namespaces.cpp
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx14.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-wrong-config.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static-deducing-this.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
M clang/bindings/python/clang/cindex.py
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtCXX.h
M clang/include/clang/AST/StmtObjC.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/riscv_andes_vector.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/MissingFeatures.h
A clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/ParsedTemplate.h
M clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaPseudoObject.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/Formula.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
A clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/MultilibBuilder.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
R clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/CrossWindows.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cygwin.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Hurd.cpp
M clang/lib/Driver/ToolChains/InterfaceStubs.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSP430.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/NaCl.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Driver/ToolChains/VEToolchain.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/XCore.cpp
M clang/lib/Driver/ToolChains/ZOS.cpp
M clang/lib/Driver/XRayArgs.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Headers/amxmovrstransposeintrin.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_spirv.h
M clang/lib/Headers/movrsintrin.h
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/Checker.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
A clang/test/AST/ast-dump-type-callingconv.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
A clang/test/C/C23/n3006.c
M clang/test/C/C2y/n3353.c
M clang/test/CIR/CodeGen/class.cpp
A clang/test/CIR/CodeGen/complex.cpp
A clang/test/CIR/CodeGen/deferred-fn-defs.cpp
A clang/test/CIR/CodeGen/enum.cpp
A clang/test/CIR/CodeGen/forward-decls.cpp
A clang/test/CIR/CodeGen/forward-enum.c
M clang/test/CIR/CodeGen/namespace.cpp
A clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGenOpenACC/combined-copy.c
A clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/compute-copy.c
A clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
A clang/test/CIR/CodeGenOpenACC/host_data.c
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
A clang/test/CIR/IR/complex.cir
A clang/test/CIR/IR/invalid-complex.cir
M clang/test/CIR/IR/invalid-vector.cir
A clang/test/CIR/Transforms/vector-ternary-fold.cir
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/simple-requirement.cpp
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
A clang/test/CodeGen/LoongArch/bfloat-abi.c
A clang/test/CodeGen/LoongArch/bfloat-mangle.cpp
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/zvfhmin-error.c
M clang/test/CodeGen/arm-mve-intrinsics/vrnd.c
M clang/test/CodeGen/builtins-nvptx.c
A clang/test/CodeGen/distributed-thin-lto/backend-skip.ll
A clang/test/CodeGen/distributed-thin-lto/basic.ll
A clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
A clang/test/CodeGen/distributed-thin-lto/cfi.ll
A clang/test/CodeGen/distributed-thin-lto/cs-irpgo.c
A clang/test/CodeGen/distributed-thin-lto/newpm.ll
A clang/test/CodeGen/distributed-thin-lto/objc-contract-pass.ll
A clang/test/CodeGen/distributed-thin-lto/supports-hot-cold-new.ll
M clang/test/CodeGen/ptrauth-in-c-struct.c
R clang/test/CodeGen/thinlto-distributed-backend-skip.ll
R clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
R clang/test/CodeGen/thinlto-distributed-cfi.ll
R clang/test/CodeGen/thinlto-distributed-newpm.ll
R clang/test/CodeGen/thinlto-distributed-objc-contract-pass.ll
R clang/test/CodeGen/thinlto-distributed-supports-hot-cold-new.ll
R clang/test/CodeGen/thinlto-distributed.ll
M clang/test/CodeGen/ubsan-function-debuginfo.c
M clang/test/CodeGen/unsigned-promotion-debuginfo.c
M clang/test/CodeGenCXX/dependent-template-alias.cpp
M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/tmp-md-nodes2.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
A clang/test/CodeGenHLSL/builtins/wave_get_lane_count.hlsl
M clang/test/Driver/darwin-ld.c
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
A clang/test/Driver/ignored-pch.cpp
M clang/test/Misc/target-invalid-cpu-note/riscv.c
A clang/test/PCH/Inputs/ignored-pch.h
A clang/test/PCH/ignored-pch.c
M clang/test/Preprocessor/init-x86.c
M clang/test/Preprocessor/init.c
M clang/test/Sema/rvv-required-features-invalid.c
A clang/test/Sema/warn-unreachable_crash.cpp
M clang/test/Sema/zvk-invalid-features.c
M clang/test/Sema/zvk-invalid-zvknha.c
M clang/test/Sema/zvk-target-attributes.c
M clang/test/SemaCUDA/bad-attributes.cu
M clang/test/SemaCXX/attr-trivial-abi.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/destructor.cpp
A clang/test/SemaCXX/gh139818.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
M clang/test/SemaObjCXX/attr-trivial-abi.mm
M clang/test/SemaTemplate/concepts.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/scan-build/bin/scan-build
M clang/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp
M clang/unittests/Driver/MultilibBuilderTest.cpp
M clang/unittests/Driver/MultilibTest.cpp
M clang/unittests/Format/FormatTestRawStrings.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/analyzer/requirements.txt
M clang/utils/perf-training/perf-helper.py
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
M compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
M compiler-rt/lib/builtins/arm/aeabi_dcmp.S
M compiler-rt/lib/builtins/arm/aeabi_fcmp.S
M compiler-rt/lib/builtins/arm/aeabi_idivmod.S
M compiler-rt/lib/builtins/arm/aeabi_ldivmod.S
M compiler-rt/lib/builtins/arm/aeabi_memcpy.S
M compiler-rt/lib/builtins/arm/aeabi_memmove.S
M compiler-rt/lib/builtins/arm/aeabi_memset.S
M compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
M compiler-rt/lib/builtins/arm/aeabi_uldivmod.S
M compiler-rt/lib/builtins/assembly.h
M compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/lit.common.configured.in
M flang/include/flang/Common/enum-class.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/MutableBox.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopyIn.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/assignment.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names-utils.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Driver/disable-diagnostic.f90
A flang/test/Driver/mrecip.f90
M flang/test/Driver/prefer-vector-width.f90
M flang/test/Driver/werror-wrong.f90
M flang/test/Driver/wextra-ok.f90
A flang/test/Fir/FirToSCF/if.fir
M flang/test/Fir/box-offset-codegen.fir
M flang/test/Fir/box-offset.fir
M flang/test/Fir/invalid.fir
M flang/test/HLFIR/as_expr-codegen-polymorphic.fir
M flang/test/HLFIR/as_expr-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
A flang/test/HLFIR/declare-alloc-target.fir
M flang/test/HLFIR/element-codegen-issue-118922.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
A flang/test/HLFIR/inline-hlfir-copy-in.fir
A flang/test/HLFIR/opt-bufferization-elemental-assign-shape.fir
A flang/test/HLFIR/opt-bufferization-tonto.fir
M flang/test/HLFIR/reshape-lowering.fir
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Lower/HLFIR/assumed-rank-entry.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/polymorphic-expressions.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Lower/OpenMP/atomic-privatize.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
M flang/test/Lower/OpenMP/sections-predetermined-private.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/volatile-allocatable.f90
A flang/test/Lower/volatile-openmp2.f03
A flang/test/Parser/OpenMP/declare-reduction-multi.f90
A flang/test/Parser/OpenMP/declare-reduction-operator.f90
M flang/test/Semantics/OpenMP/common-block.f90
A flang/test/Semantics/OpenMP/declare-reduction-bad-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-bad-operator2.f90
A flang/test/Semantics/OpenMP/declare-reduction-dupsym.f90
M flang/test/Semantics/OpenMP/declare-reduction-error.f90
A flang/test/Semantics/OpenMP/declare-reduction-functions.f90
A flang/test/Semantics/OpenMP/declare-reduction-logical.f90
A flang/test/Semantics/OpenMP/declare-reduction-mangled.f90
A flang/test/Semantics/OpenMP/declare-reduction-modfile.f90
A flang/test/Semantics/OpenMP/declare-reduction-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-operators.f90
A flang/test/Semantics/OpenMP/declare-reduction-renamedop.f90
A flang/test/Semantics/OpenMP/declare-reduction-typeerror.f90
M flang/test/Semantics/OpenMP/declare-reduction.f90
M flang/test/Semantics/OpenMP/declare-target-common-block.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/offsets03.f90
M flang/test/Semantics/resolve121.f90
M flang/test/Semantics/symbol33.f90
M flang/test/Transforms/lower-repack-arrays.fir
M flang/unittests/Common/CMakeLists.txt
A flang/unittests/Common/EnumClassTests.cpp
A flang/unittests/Common/FortranFeaturesTest.cpp
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/docs/headers/time.rst
A libc/include/llvm-libc-macros/baremetal/CMakeLists.txt
A libc/include/llvm-libc-macros/baremetal/time-macros.h
M libc/include/llvm-libc-macros/time-macros.h
M libc/src/math/amdgpu/CMakeLists.txt
R libc/src/math/amdgpu/acos.cpp
R libc/src/math/amdgpu/acosf.cpp
R libc/src/math/amdgpu/acosh.cpp
R libc/src/math/amdgpu/acoshf.cpp
R libc/src/math/amdgpu/asin.cpp
R libc/src/math/amdgpu/asinf.cpp
R libc/src/math/amdgpu/asinh.cpp
R libc/src/math/amdgpu/asinhf.cpp
R libc/src/math/amdgpu/atan.cpp
R libc/src/math/amdgpu/atan2.cpp
R libc/src/math/amdgpu/atan2f.cpp
R libc/src/math/amdgpu/atanf.cpp
R libc/src/math/amdgpu/atanh.cpp
R libc/src/math/amdgpu/atanhf.cpp
R libc/src/math/amdgpu/cos.cpp
R libc/src/math/amdgpu/cosf.cpp
R libc/src/math/amdgpu/cosh.cpp
R libc/src/math/amdgpu/coshf.cpp
R libc/src/math/amdgpu/declarations.h
R libc/src/math/amdgpu/erf.cpp
R libc/src/math/amdgpu/erff.cpp
R libc/src/math/amdgpu/exp.cpp
R libc/src/math/amdgpu/exp10.cpp
R libc/src/math/amdgpu/exp10f.cpp
R libc/src/math/amdgpu/exp2.cpp
R libc/src/math/amdgpu/exp2f.cpp
R libc/src/math/amdgpu/expf.cpp
R libc/src/math/amdgpu/expm1.cpp
R libc/src/math/amdgpu/expm1f.cpp
R libc/src/math/amdgpu/fdim.cpp
R libc/src/math/amdgpu/fdimf.cpp
M libc/src/math/amdgpu/frexp.cpp
M libc/src/math/amdgpu/frexpf.cpp
R libc/src/math/amdgpu/hypot.cpp
R libc/src/math/amdgpu/hypotf.cpp
R libc/src/math/amdgpu/ilogb.cpp
R libc/src/math/amdgpu/ilogbf.cpp
M libc/src/math/amdgpu/ldexp.cpp
M libc/src/math/amdgpu/ldexpf.cpp
M libc/src/math/amdgpu/lgamma.cpp
M libc/src/math/amdgpu/lgamma_r.cpp
M libc/src/math/amdgpu/llrint.cpp
M libc/src/math/amdgpu/llrintf.cpp
R libc/src/math/amdgpu/log.cpp
R libc/src/math/amdgpu/log10.cpp
R libc/src/math/amdgpu/log10f.cpp
R libc/src/math/amdgpu/log1p.cpp
R libc/src/math/amdgpu/log1pf.cpp
R libc/src/math/amdgpu/log2.cpp
R libc/src/math/amdgpu/log2f.cpp
R libc/src/math/amdgpu/logb.cpp
R libc/src/math/amdgpu/logbf.cpp
R libc/src/math/amdgpu/logf.cpp
M libc/src/math/amdgpu/lrint.cpp
M libc/src/math/amdgpu/lrintf.cpp
R libc/src/math/amdgpu/nextafter.cpp
R libc/src/math/amdgpu/nextafterf.cpp
R libc/src/math/amdgpu/platform.h
R libc/src/math/amdgpu/powf.cpp
R libc/src/math/amdgpu/powi.cpp
R libc/src/math/amdgpu/powif.cpp
R libc/src/math/amdgpu/remquo.cpp
R libc/src/math/amdgpu/remquof.cpp
M libc/src/math/amdgpu/scalbn.cpp
M libc/src/math/amdgpu/scalbnf.cpp
R libc/src/math/amdgpu/sin.cpp
R libc/src/math/amdgpu/sincos.cpp
R libc/src/math/amdgpu/sincosf.cpp
R libc/src/math/amdgpu/sinf.cpp
R libc/src/math/amdgpu/sinh.cpp
R libc/src/math/amdgpu/sinhf.cpp
R libc/src/math/amdgpu/tan.cpp
R libc/src/math/amdgpu/tanf.cpp
R libc/src/math/amdgpu/tanh.cpp
R libc/src/math/amdgpu/tanhf.cpp
M libc/src/math/amdgpu/tgamma.cpp
M libc/src/math/amdgpu/tgammaf.cpp
M libc/src/math/generic/CMakeLists.txt
R libc/src/math/generic/exp_utils.cpp
R libc/src/math/generic/exp_utils.h
M libc/src/math/nvptx/CMakeLists.txt
R libc/src/math/nvptx/acos.cpp
R libc/src/math/nvptx/acosf.cpp
R libc/src/math/nvptx/acosh.cpp
R libc/src/math/nvptx/acoshf.cpp
R libc/src/math/nvptx/asin.cpp
R libc/src/math/nvptx/asinf.cpp
R libc/src/math/nvptx/asinh.cpp
R libc/src/math/nvptx/asinhf.cpp
R libc/src/math/nvptx/atan.cpp
R libc/src/math/nvptx/atan2.cpp
R libc/src/math/nvptx/atan2f.cpp
R libc/src/math/nvptx/atanf.cpp
R libc/src/math/nvptx/atanh.cpp
R libc/src/math/nvptx/atanhf.cpp
R libc/src/math/nvptx/cos.cpp
R libc/src/math/nvptx/cosf.cpp
R libc/src/math/nvptx/cosh.cpp
R libc/src/math/nvptx/coshf.cpp
R libc/src/math/nvptx/declarations.h
R libc/src/math/nvptx/erf.cpp
R libc/src/math/nvptx/erff.cpp
R libc/src/math/nvptx/exp.cpp
R libc/src/math/nvptx/exp10.cpp
R libc/src/math/nvptx/exp10f.cpp
R libc/src/math/nvptx/exp2.cpp
R libc/src/math/nvptx/exp2f.cpp
R libc/src/math/nvptx/expf.cpp
R libc/src/math/nvptx/expm1.cpp
R libc/src/math/nvptx/expm1f.cpp
R libc/src/math/nvptx/fdim.cpp
R libc/src/math/nvptx/fdimf.cpp
R libc/src/math/nvptx/frexp.cpp
R libc/src/math/nvptx/frexpf.cpp
R libc/src/math/nvptx/hypot.cpp
R libc/src/math/nvptx/hypotf.cpp
R libc/src/math/nvptx/ilogb.cpp
R libc/src/math/nvptx/ilogbf.cpp
R libc/src/math/nvptx/ldexp.cpp
R libc/src/math/nvptx/ldexpf.cpp
M libc/src/math/nvptx/lgamma.cpp
M libc/src/math/nvptx/lgamma_r.cpp
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
R libc/src/math/nvptx/log.cpp
R libc/src/math/nvptx/log10.cpp
R libc/src/math/nvptx/log10f.cpp
R libc/src/math/nvptx/log1p.cpp
R libc/src/math/nvptx/log1pf.cpp
R libc/src/math/nvptx/log2.cpp
R libc/src/math/nvptx/log2f.cpp
R libc/src/math/nvptx/logb.cpp
R libc/src/math/nvptx/logbf.cpp
R libc/src/math/nvptx/logf.cpp
M libc/src/math/nvptx/lrint.cpp
R libc/src/math/nvptx/lrintf.cpp
R libc/src/math/nvptx/nextafter.cpp
R libc/src/math/nvptx/nextafterf.cpp
R libc/src/math/nvptx/nvptx.h
R libc/src/math/nvptx/powf.cpp
R libc/src/math/nvptx/powi.cpp
R libc/src/math/nvptx/powif.cpp
R libc/src/math/nvptx/remquo.cpp
R libc/src/math/nvptx/remquof.cpp
R libc/src/math/nvptx/scalbn.cpp
R libc/src/math/nvptx/scalbnf.cpp
R libc/src/math/nvptx/sin.cpp
R libc/src/math/nvptx/sincos.cpp
R libc/src/math/nvptx/sincosf.cpp
R libc/src/math/nvptx/sinf.cpp
R libc/src/math/nvptx/sinh.cpp
R libc/src/math/nvptx/sinhf.cpp
R libc/src/math/nvptx/tan.cpp
R libc/src/math/nvptx/tanf.cpp
R libc/src/math/nvptx/tanh.cpp
R libc/src/math/nvptx/tanhf.cpp
M libc/src/math/nvptx/tgamma.cpp
M libc/src/math/nvptx/tgammaf.cpp
M libc/src/stdio/gpu/CMakeLists.txt
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgetc.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/fputc.cpp
M libc/src/stdio/gpu/fputs.cpp
M libc/src/stdio/gpu/fread.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/fwrite.cpp
M libc/src/stdio/gpu/getc.cpp
M libc/src/stdio/gpu/getchar.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/gpu/putc.cpp
M libc/src/stdio/gpu/putchar.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/stderr.cpp
M libc/src/stdio/gpu/stdin.cpp
M libc/src/stdio/gpu/stdout.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/gpu/vprintf.cpp
M libc/src/string/CMakeLists.txt
M libc/src/string/string_utils.h
M libc/src/string/strsep.cpp
M libc/src/strings/CMakeLists.txt
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
M libc/test/utils/FPUtil/CMakeLists.txt
M libclc/clc/lib/generic/geometric/clc_dot.cl
A libclc/clc/lib/generic/geometric/clc_dot.inc
M libclc/opencl/lib/generic/geometric/dot.cl
A libcxx/docs/ABIGuarantees.rst
M libcxx/docs/UserDocumentation.rst
M libcxx/docs/VendorDocumentation.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__config
M libcxx/include/__configuration/abi.h
M libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__memory/addressof.h
M libcxx/include/__type_traits/container_traits.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_scalar.h
M libcxx/include/__vector/container_traits.h
M libcxx/include/deque
M libcxx/include/forward_list
M libcxx/include/list
M libcxx/include/map
M libcxx/include/mdspan
M libcxx/include/set
M libcxx/include/string
M libcxx/include/unordered_map
M libcxx/include/unordered_set
A libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.compile.pass.cpp
R libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat_helpers.h
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M libcxx/test/std/containers/views/mdspan/extents/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dextents.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dims.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
M libcxx/test/support/MinSequenceContainer.h
M lld/COFF/MinGW.cpp
M lld/COFF/TypeMerger.h
M lld/ELF/Config.h
M lld/ELF/DWARF.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/MachO/DriverUtils.cpp
R lld/test/COFF/lto-late-arm.ll
M lld/test/ELF/ppc64-long-branch-pi.s
M lld/test/ELF/ppc64-relocs.s
M lld/test/ELF/riscv-branch.s
A lld/test/ELF/riscv-feature-zicfilp-func-sig.s
A lld/test/ELF/riscv-feature-zicfilp-unlabeled.s
A lld/test/ELF/riscv-feature-zicfiss.s
M lld/test/ELF/riscv-undefined-weak.s
M lldb/CMakeLists.txt
M lldb/cmake/modules/AddLLDB.cmake
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/source/API/CMakeLists.txt
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Breakpoint/WatchpointResource.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/DataFormatters/CMakeLists.txt
M lldb/source/Expression/CMakeLists.txt
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Host/windows/ProcessRunLock.cpp
M lldb/source/Initialization/CMakeLists.txt
M lldb/source/Interpreter/CMakeLists.txt
M lldb/source/Interpreter/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Symbol/CMakeLists.txt
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/CMakeLists.txt
M lldb/source/Target/Process.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/RegisterNumber.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/Utility/Listener.cpp
M lldb/source/ValueObject/CMakeLists.txt
M lldb/source/Version/CMakeLists.txt
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/lang/c/forward/TestForwardDeclaration.py
M lldb/test/API/lang/cpp/decl-from-submodule/TestDeclFromSubmodule.py
M lldb/test/API/lang/cpp/forward/TestCPPForwardDeclaration.py
A lldb/test/Shell/Commands/command-plugin-enable+disable.test
A lldb/test/Shell/Commands/command-plugin-list.test
A lldb/test/Shell/Expr/TestObjCxxEnumConflict.test
A lldb/test/Shell/ObjectFile/PECOFF/dwarf-clang.yaml
A lldb/test/Shell/ObjectFile/PECOFF/dwarf-gcc-mingw.yaml
M lldb/test/Shell/Settings/TestFrameFormatName.test
M lldb/test/Shell/Settings/TestFrameFunctionInlined.test
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
M lldb/test/Unit/lit.cfg.py
M lldb/test/Unit/lit.site.cfg.py.in
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/EventHelper.h
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/ProtocolUtils.cpp
M lldb/tools/lldb-dap/ProtocolUtils.h
M lldb/unittests/Core/PluginManagerTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp
M lldb/unittests/Symbol/PostfixExpressionTest.cpp
M lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
R lldb/unittests/SymbolFile/DWARF/SymbolFileDWARFDebugMapTests.cpp
M lldb/unittests/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpressionTests.cpp
M llvm/cmake/modules/CrossCompile.cmake
M llvm/docs/CommandGuide/lit.rst
M llvm/docs/CommandGuide/llvm-addr2line.rst
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/include/KaleidoscopeJIT.h
M llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/LLJITWithGDBRegistrationListener.cpp
M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
M llvm/include/llvm/ADT/MapVector.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/bit.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
A llvm/include/llvm/CGData/CGDataPatchItem.h
M llvm/include/llvm/CGData/CodeGenData.h
M llvm/include/llvm/CGData/CodeGenData.inc
M llvm/include/llvm/CGData/CodeGenDataWriter.h
M llvm/include/llvm/CGData/StableFunctionMapRecord.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h
A llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractorSimple.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVOptions.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
A llvm/include/llvm/DebugInfo/LogicalView/Core/LVSourceLanguage.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/DebugInfoSupport.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/PerfSharedStructs.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.h
M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
A llvm/include/llvm/Frontend/Directive/Spelling.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsARM.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsLoongArch.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/PassManagerImpl.h
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Function.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/DebugCounter.h
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CFG.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CGData/CodeGenData.cpp
M llvm/lib/CGData/CodeGenDataReader.cpp
M llvm/lib/CGData/CodeGenDataWriter.cpp
M llvm/lib/CGData/StableFunctionMapRecord.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetOptionsImpl.cpp
M llvm/lib/DebugInfo/DWARF/CMakeLists.txt
M llvm/lib/DebugInfo/DWARF/DWARFCFIProgram.cpp
R llvm/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
A llvm/lib/DebugInfo/LogicalView/Core/LVSourceLanguage.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFOptions.td
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
M llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
M llvm/lib/Frontend/CMakeLists.txt
A llvm/lib/Frontend/Directive/CMakeLists.txt
A llvm/lib/Frontend/Directive/Spelling.cpp
M llvm/lib/Frontend/OpenACC/CMakeLists.txt
M llvm/lib/Frontend/OpenMP/CMakeLists.txt
M llvm/lib/FuzzMutate/IRMutator.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/StringTableBuilder.cpp
M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
M llvm/lib/ObjCopy/MachO/MachOReader.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/MachOEmitter.cpp
M llvm/lib/ObjectYAML/MachOYAML.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/SandboxIR/Function.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Support/DynamicLibrary.cpp
M llvm/lib/Support/Unix/DynamicLibrary.inc
M llvm/lib/Support/Unix/Threading.inc
M llvm/lib/Support/Windows/DynamicLibrary.inc
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedA53.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/AArch64SchedOryon.td
M llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/BPF/BTFDebug.h
M llvm/lib/Target/CSKY/CSKYInstrAlias.td
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiMCInstLower.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
M llvm/lib/Target/LoongArch/LoongArch.h
M llvm/lib/Target/LoongArch/LoongArchExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.h
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZSubtarget.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
M llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86MachineFunctionInfo.h
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/IPO/StripSymbols.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/ObjCARC/BlotMapVector.h
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/lib/Transforms/Utils/LowerVectorIntrinsics.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Analysis/BasicAA/captures.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2_lse128.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc3.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8_1a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector-widen-crash.ll
A llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-unmergedup.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-build-vector-to-dup.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-rev.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/arm64-dup.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
M llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
M llvm/test/CodeGen/AArch64/arm64-neon-add-pairwise.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div-cte.ll
M llvm/test/CodeGen/AArch64/arm64-neon-simd-ldst-one.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-rev.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
M llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bswap.ll
A llvm/test/CodeGen/AArch64/build-vector-dup-simd.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/ctlz.ll
M llvm/test/CodeGen/AArch64/cttz.ll
M llvm/test/CodeGen/AArch64/darwinpcs-tail.ll
M llvm/test/CodeGen/AArch64/double_reduct.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/f16-instructions.ll
M llvm/test/CodeGen/AArch64/faddsub.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fcopysign.ll
M llvm/test/CodeGen/AArch64/fcvt.ll
M llvm/test/CodeGen/AArch64/fdiv.ll
M llvm/test/CodeGen/AArch64/fminimummaximum.ll
M llvm/test/CodeGen/AArch64/fminmax.ll
M llvm/test/CodeGen/AArch64/fmla.ll
M llvm/test/CodeGen/AArch64/fmul.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AArch64/freeze.ll
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/fsqrt.ll
M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
M llvm/test/CodeGen/AArch64/i128_with_overflow.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/llvm.exp10.ll
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/phi.ll
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/rem.ll
M llvm/test/CodeGen/AArch64/scavenge-large-call.ll
M llvm/test/CodeGen/AArch64/select_cc.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/shufflevector.ll
M llvm/test/CodeGen/AArch64/store.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-frame-offests-crash.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-crypto.ll
A llvm/test/CodeGen/AArch64/sve2p2-intrinsics.ll
A llvm/test/CodeGen/AArch64/tail-call-stack-args.ll
M llvm/test/CodeGen/AArch64/trunc.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
M llvm/test/CodeGen/AArch64/xtn.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
M llvm/test/CodeGen/AArch64/zext.ll
M llvm/test/CodeGen/AMDGPU/aa-as-infer.ll
A llvm/test/CodeGen/AMDGPU/ashr64_reduce.ll
M llvm/test/CodeGen/AMDGPU/bfi_int.ll
A llvm/test/CodeGen/AMDGPU/bit-op-reduce-width-known-bits.ll
M llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
M llvm/test/CodeGen/AMDGPU/fold-freeze-fmul-to-fma.ll
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
M llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.v2f16.no.fast.math.ll
M llvm/test/CodeGen/AMDGPU/global_atomics.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
A llvm/test/CodeGen/AMDGPU/srl64_reduce.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/ARM/fpcmp_ueq.ll
M llvm/test/CodeGen/DirectX/flatten-array.ll
M llvm/test/CodeGen/DirectX/flatten-bug-117273.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/scalar-bug-117273.ll
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
A llvm/test/CodeGen/LoongArch/bf16-promote.ll
A llvm/test/CodeGen/LoongArch/bf16.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-minmax.ll
A llvm/test/CodeGen/LoongArch/isel-optnone.ll
M llvm/test/CodeGen/LoongArch/lasx/shuffle-as-permute-and-shuffle.ll
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
M llvm/test/CodeGen/LoongArch/spill-ra-without-kill.ll
M llvm/test/CodeGen/MIR/AMDGPU/virtreg-uses-unallocatable-class.mir
M llvm/test/CodeGen/Mips/jumptable_labels.ll
A llvm/test/CodeGen/NVPTX/pm-event.ll
M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/dmr-spill.ll
M llvm/test/CodeGen/PowerPC/mmaplus-acc-spill.ll
M llvm/test/CodeGen/PowerPC/mul-const-vector.ll
M llvm/test/CodeGen/PowerPC/p10-splatImm-CPload-pcrel.ll
M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
A llvm/test/CodeGen/PowerPC/splat-extend.ll
M llvm/test/CodeGen/PowerPC/vec_add_sub_doubleword.ll
M llvm/test/CodeGen/PowerPC/vector-extend-sign.ll
M llvm/test/CodeGen/PowerPC/vector-popcnt-128-ult-ugt.ll
M llvm/test/CodeGen/RISCV/add_sext_shl_constant.ll
M llvm/test/CodeGen/RISCV/add_shl_constant.ll
M llvm/test/CodeGen/RISCV/and-shl.ll
M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/double-fcmp.ll
M llvm/test/CodeGen/RISCV/float-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/float-fcmp.ll
A llvm/test/CodeGen/RISCV/fold-masked-merge.ll
M llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
M llvm/test/CodeGen/RISCV/rv32xandesperf.ll
A llvm/test/CodeGen/RISCV/rv64-trampoline-cfi.ll
M llvm/test/CodeGen/RISCV/rv64xandesperf.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
A llvm/test/CodeGen/RISCV/rvv/pr141907.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
M llvm/test/CodeGen/RISCV/rvv/zvqdotq-sdnode.ll
M llvm/test/CodeGen/RISCV/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/RISCV/xqcibm-extract.ll
A llvm/test/CodeGen/SPIRV/ExecutionMode_Fragment.ll
A llvm/test/CodeGen/SPIRV/ExecutionMode_Vertex.ll
A llvm/test/CodeGen/SystemZ/fold-masked-merge.ll
M llvm/test/CodeGen/Thumb2/float-cmp.ll
M llvm/test/CodeGen/Thumb2/mve-frint.ll
M llvm/test/CodeGen/Thumb2/mve-intrinsics/vrintn.ll
M llvm/test/CodeGen/WebAssembly/simd-arith.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
A llvm/test/CodeGen/X86/apx/push2-pop2-disabled-with-small-stack-alignment.ll
M llvm/test/CodeGen/X86/atomic-idempotent.ll
M llvm/test/CodeGen/X86/avx512-scalar_mask.ll
R llvm/test/CodeGen/X86/avx512fp16-cvt-novl.ll
M llvm/test/CodeGen/X86/avx512fp16-fmaxnum.ll
M llvm/test/CodeGen/X86/avx512fp16-fminnum.ll
A llvm/test/CodeGen/X86/avx512fp16-novl.ll
M llvm/test/CodeGen/X86/bitselect.ll
M llvm/test/CodeGen/X86/fold-masked-merge.ll
M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
M llvm/test/CodeGen/X86/fpcmp-soft-fp.ll
M llvm/test/CodeGen/X86/musttail-varargs.ll
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/pr142513.ll
A llvm/test/CodeGen/X86/pr142937.ll
M llvm/test/CodeGen/X86/pr62145.ll
A llvm/test/CodeGen/X86/rex-profile-test.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/X86/unfold-masked-merge-vector-variablemask.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-256.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vl.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive-with-duplicate-member-filenames.test
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive.test
M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_branch.s
M llvm/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll
M llvm/test/ExecutionEngine/MCJIT/remote/eh.ll
M llvm/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll
M llvm/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-common-symbols-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-remote.ll
M llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/MC/AArch64/SME2p1/directive-arch-negative.s
M llvm/test/MC/AArch64/SME2p1/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SVE2p1/aesd.s
M llvm/test/MC/AArch64/SVE2p1/aesdimc.s
M llvm/test/MC/AArch64/SVE2p1/aese.s
M llvm/test/MC/AArch64/SVE2p1/aesemc.s
M llvm/test/MC/AArch64/SVE2p1/directive-arch-negative.s
M llvm/test/MC/AArch64/SVE2p1/pmlal.s
M llvm/test/MC/AArch64/SVE2p1/pmull.s
R llvm/test/MC/RISCV/long-jump-disable-relax.s
A llvm/test/MC/RISCV/option-exact-long-jump-disable.s
A llvm/test/MC/RISCV/rv32-relaxation-xqci.s
M llvm/test/MC/RISCV/xqcibi-long-conditional-jump.s
M llvm/test/MC/RISCV/xqcibi-relocations.s
M llvm/test/MC/RISCV/xqcibi-valid.s
M llvm/test/MC/RISCV/xqcilb-relocations.s
M llvm/test/MC/RISCV/xqcili-relocations.s
M llvm/test/MC/Sparc/sparc-vis2.s
M llvm/test/MC/Sparc/sparcv9-instructions.s
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/test/TableGen/directive1.td
M llvm/test/TableGen/directive2.td
M llvm/test/TableGen/trydecode-emission.td
M llvm/test/TableGen/trydecode-emission2.td
M llvm/test/TableGen/trydecode-emission3.td
M llvm/test/TableGen/trydecode-emission4.td
M llvm/test/Transforms/Attributor/nofpclass.ll
A llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-reg-does-not-geps.ll
A llvm/test/Transforms/GVN/captures.ll
A llvm/test/Transforms/GVN/trunc-nuw-equality.ll
M llvm/test/Transforms/InstCombine/AArch64/aes-intrinsics.ll
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
A llvm/test/Transforms/InstCombine/AMDGPU/trivially-uniform.ll
M llvm/test/Transforms/InstCombine/canonicalize-const-to-bop.ll
M llvm/test/Transforms/InstCombine/fcmp-select.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/select-and-or.ll
M llvm/test/Transforms/InstCombine/simple_phi_condition.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
A llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
M llvm/test/Transforms/LoopUnroll/unroll-and-peel-last-iteration.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
A llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
A llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
A llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
A llvm/test/Transforms/LoopVectorize/select-index-interleaving.ll
R llvm/test/Transforms/LoopVectorize/select-min-index.ll
A llvm/test/Transforms/LoopVectorize/select-smax-last-index.ll
A llvm/test/Transforms/LoopVectorize/select-smin-last-index.ll
A llvm/test/Transforms/LoopVectorize/select-umax-last-index.ll
A llvm/test/Transforms/LoopVectorize/select-umin-first-index.ll
A llvm/test/Transforms/LoopVectorize/select-umin-last-index.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/binop.ll
M llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
A llvm/test/Transforms/LowerTypeTests/asm.ll
M llvm/test/Transforms/LowerTypeTests/export-allones.ll
M llvm/test/Transforms/LowerTypeTests/export-bytearray.ll
M llvm/test/Transforms/LowerTypeTests/export-icall.ll
M llvm/test/Transforms/LowerTypeTests/export-inline.ll
M llvm/test/Transforms/LowerTypeTests/function.ll
M llvm/test/Transforms/LowerTypeTests/import.ll
M llvm/test/Transforms/LowerTypeTests/simple.ll
M llvm/test/Transforms/LowerTypeTests/simplify.ll
M llvm/test/Transforms/MemProfContextDisambiguation/duplicate-context-ids.ll
M llvm/test/Transforms/MemProfContextDisambiguation/tailcall-nonunique.ll
M llvm/test/Transforms/MergeFunc/cfi-thunk-merging.ll
M llvm/test/Transforms/OpenMP/nested_parallelism.ll
M llvm/test/Transforms/OpenMP/remove_globalization.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/SimplifyTypeTests/basic.ll
A llvm/test/Verifier/target-ext-vector-invalid.ll
A llvm/test/Verifier/target-ext-vector.ll
M llvm/test/tools/llvm-cgdata/empty.test
M llvm/test/tools/llvm-cgdata/error.test
M llvm/test/tools/llvm-cgdata/merge-combined-funcmap-hashtree.test
M llvm/test/tools/llvm-cgdata/merge-funcmap-archive.test
M llvm/test/tools/llvm-cgdata/merge-funcmap-concat.test
M llvm/test/tools/llvm-cgdata/merge-funcmap-double.test
M llvm/test/tools/llvm-cgdata/merge-funcmap-single.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/02-coff-logical-lines.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/03-coff-incorrect-lexical-scope-typedef.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/04-coff-missing-nested-enumerators.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/05-coff-incorrect-lexical-scope-variable.test
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/06-coff-full-logical-view.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/02-dwarf-logical-lines.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/03-dwarf-incorrect-lexical-scope-typedef.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/04-dwarf-missing-nested-enumerators.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/05-dwarf-incorrect-lexical-scope-variable.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/06-dwarf-full-logical-view.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/pr-57040-ignored-DW_FORM_implicit_const.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/pr-57040-incorrect-function-compare.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/02-wasm-logical-lines.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/03-wasm-incorrect-lexical-scope-typedef.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/04-wasm-missing-nested-enumerators.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/05-wasm-incorrect-lexical-scope-variable.test
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/06-wasm-full-logical-view.test
M llvm/test/tools/llvm-debuginfo-analyzer/cmdline.test
A llvm/test/tools/llvm-dwarfdump/X86/DW_OP_GNU_implicit_pointer.yaml
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-zero-lat-movs.s
R llvm/test/tools/llvm-rc/Inputs/tag-accelerators-ascii-alt.rc
M llvm/test/tools/llvm-rc/Inputs/tag-accelerators.rc
M llvm/test/tools/llvm-rc/tag-accelerators.test
M llvm/test/tools/llvm-symbolizer/symbol-search.test
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
M llvm/tools/llvm-cov/SourceCoverageViewText.cpp
M llvm/tools/llvm-debuginfo-analyzer/Options.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/tools/llvm-rc/ResourceFileWriter.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
M llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/CGData/StableFunctionMapRecordTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
M llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp
M llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp
M llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/Support/ARMAttributeParser.cpp
M llvm/unittests/Transforms/IPO/LowerTypeTests.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.h
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/LogicalView/BUILD.gn
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/display.py
M llvm/utils/lit/tests/Inputs/max-retries-per-test/allow-retries-no-test_retry_attempts/test.py
M llvm/utils/lit/tests/Inputs/max-retries-per-test/allow-retries-test_retry_attempts/test.py
M llvm/utils/lit/tests/Inputs/max-retries-per-test/no-allow-retries-test_retry_attempts/lit.cfg
M llvm/utils/lit/tests/allow-retries.py
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Debug/BreakpointManagers/TagBreakpointManager.h
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Arith/Transforms/Passes.h
M mlir/include/mlir/Dialect/ArmSVE/CMakeLists.txt
A mlir/include/mlir/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.h
A mlir/include/mlir/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.td
A mlir/include/mlir/Dialect/ArmSVE/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/ArmSVE/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/include/mlir/Pass/Pass.h
M mlir/include/mlir/Pass/PassManager.h
M mlir/include/mlir/Tools/lsp-server-support/Protocol.h
M mlir/lib/Bytecode/Writer/IRNumbering.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
M mlir/lib/Dialect/ArmSVE/CMakeLists.txt
A mlir/lib/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.cpp
A mlir/lib/Dialect/ArmSVE/TransformOps/CMakeLists.txt
M mlir/lib/Dialect/ArmSVE/Transforms/CMakeLists.txt
A mlir/lib/Dialect/ArmSVE/Transforms/LowerContractionToSVEI8MMPattern.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/Tensor/Extensions/AllExtensions.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/Interfaces/ViewLikeInterface.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
M mlir/lib/Reducer/OptReductionPass.cpp
M mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/LoopAnnotationTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
M mlir/lib/Transforms/Utils/CFGToSCF.cpp
M mlir/lib/Transforms/Utils/Inliner.cpp
M mlir/test/Conversion/GPUToSPIRV/reductions.mlir
M mlir/test/Dialect/Arith/expand-ops.mlir
M mlir/test/Dialect/Linalg/vectorization/insert-slice.mlir
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Dialect/SPIRV/IR/khr-cooperative-matrix-ops.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Transform/test-pass-application.mlir
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-smmla.mlir
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-summla.mlir
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-ummla.mlir
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-usmmla.mlir
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
M mlir/test/Pass/pipeline-options-parsing.mlir
M mlir/test/Pass/pipeline-parsing.mlir
M mlir/test/Pass/run-reproducer.mlir
A mlir/test/Target/LLVMIR/Import/mrecip.ll
A mlir/test/Target/LLVMIR/mrecip.mlir
A mlir/test/Target/LLVMIR/openmp-barrier-cancel.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
M mlir/test/Target/SPIRV/constant.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
M mlir/test/Transforms/composite-pass.mlir
M mlir/test/Transforms/inlining-dump-default-pipeline.mlir
M mlir/test/lib/Dialect/TestIRDLToCpp/CMakeLists.txt
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
M mlir/unittests/Analysis/Presburger/QuasiPolynomialTest.cpp
M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp
M offload/CMakeLists.txt
M offload/liboffload/API/Kernel.td
M offload/liboffload/API/Memory.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/test/lit.cfg
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/device_code/noargs.c
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M openmp/libompd/test/lit.site.cfg.in
M openmp/runtime/CMakeLists.txt
M openmp/runtime/cmake/LibompUtils.cmake
M openmp/runtime/test/lit.cfg
M openmp/runtime/test/lit.site.cfg.in
M openmp/tools/archer/tests/lit.cfg
M openmp/tools/archer/tests/lit.site.cfg.in
M openmp/tools/multiplex/tests/lit.cfg
M openmp/tools/multiplex/tests/lit.site.cfg.in
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/kparzysz/spr/a04-atomic-one
Compare: https://github.com/llvm/llvm-project/compare/7515f07b4a49...b299049e0257
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