[all-commits] [llvm/llvm-project] 5ac616: [AArch64] Improve lowering of GPR zeroing in copyP...
Ryotaro Kasuga via All-commits
all-commits at lists.llvm.org
Tue Oct 21 02:19:59 PDT 2025
Branch: refs/heads/users/kasuga-fj/da-option-to-select-routine
Home: https://github.com/llvm/llvm-project
Commit: 5ac616f3327e0d5a7871b92c91b17fd021b35d0d
https://github.com/llvm/llvm-project/commit/5ac616f3327e0d5a7871b92c91b17fd021b35d0d
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-copy-phys-zero-reg.mir
Log Message:
-----------
[AArch64] Improve lowering of GPR zeroing in copyPhysReg (#163059)
This patch pivots GPR32 and GPR64 zeroing into distinct branches to
simplify the code an improve the lowering.
Zeroing GPR moves are now handled differently than non-zeroing ones.
Zero source registers WZR and XZR do not require register annotations of
undef, implicit and kill. The non-zeroing source now cannot process WZR
removing the ternary expression. This patch also moves GPR64 logic right
after GPR32 for better organization.
Commit: 565e9fa1956802f9c4aefe2dea9a1061f52667b0
https://github.com/llvm/llvm-project/commit/565e9fa1956802f9c4aefe2dea9a1061f52667b0
Author: Matthias Springer <me at m-sp.org>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/docs/DialectConversion.md
Log Message:
-----------
[mlir][docs] Add documentation for No-rollback Conversion Driver (#164071)
Add documentation for the no-rollback conversion driver. Also improve
the documentation of the old rollback driver. In particular: which
modifications are performed immediately and which are delayed.
Commit: ee50839700af4800a2d72702a5583b72e1ffb81e
https://github.com/llvm/llvm-project/commit/ee50839700af4800a2d72702a5583b72e1ffb81e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/ptrtoaddr.ll
Log Message:
-----------
[InstSimplify] Support ptrtoaddr in simplifyCastInst()
Handle ptrtoaddr the same way as ptrtoint. The fold already only
operates on the index/address bits.
Commit: 154138c25f358ed812eafc2880225c3d88221e8a
https://github.com/llvm/llvm-project/commit/154138c25f358ed812eafc2880225c3d88221e8a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/div-like-mixed-with-undefs.ll
Log Message:
-----------
[SLP]Do not pack div-like copyable values
If a main instruction in the copyables is a div-like instruction, the
compiler cannot pack duplicates, extending with poisons, these
instructions, being vectorize, will result in undefined behavior.
Fixes #164185
Commit: 74d77dc2ec2f93c151bd98687799ed90e9bea849
https://github.com/llvm/llvm-project/commit/74d77dc2ec2f93c151bd98687799ed90e9bea849
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CodeGenTypeCache.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
Log Message:
-----------
[Clang][NFC] Rename UnqualPtrTy to DefaultPtrTy (#163207)
`UnqualPtrTy` didn't always match `llvm::PointerType::getUnqual`:
sometimes it returned a pointer that is not in address space 0 (notably
for SPIRV).
Since `UnqualPtrTy` was used as the "generic" or "default" pointer type,
this patch renames it to `DefaultPtrTy` to avoid confusion with LLVM's
`PointerType::getUnqual`.
Commit: 2e7afb11706e474af6801e63daa8085479cdd08d
https://github.com/llvm/llvm-project/commit/2e7afb11706e474af6801e63daa8085479cdd08d
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
R llvm/test/Transforms/InstCombine/ptrtoaddr.ll
A llvm/test/Transforms/InstSimplify/ptrtoaddr.ll
Log Message:
-----------
[InstCombine] Move ptrtoaddr tests to InstSimplify (NFC)
All the existing tests test code either in ConstantFolding or
InstSimplify, so move them to use -passes=instsimplify instead of
-passes=instcombine. This makes sure we keep InstSimplify coverage
even if there are subsuming InstCombine folds.
This requires writing some of the constant folding tests in a
different way, as InstSimplify does not try to re-fold already
existing constant expressions.
Commit: 32de3b9ef9e7e8debc14416e968456ca13b48bea
https://github.com/llvm/llvm-project/commit/32de3b9ef9e7e8debc14416e968456ca13b48bea
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/test/lit.cfg.py
Log Message:
-----------
Revert "Reapply "[Clang] Enable lit internal shell by default""
This reverts commit 1943c9e9b9de4b920fb4ed9352f5721407fc01c7.
This took out quite a few buildbots. Some of the Z3 test cases are failing
and enabling this is causing some LLVM tests to begin failing.
Commit: 3590a912daba875e0f2019039b8372501f13453c
https://github.com/llvm/llvm-project/commit/3590a912daba875e0f2019039b8372501f13453c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/include/flang/Lower/OpenMP/Clauses.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Parser/OpenMP/requires.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Frontend support for DEVICE_SAFESYNC (#163560)
Add parsing and semantic checks for DEVICE_SAFESYNC clause. No lowering.
Commit: 907335c00c283e72373d4dd1b86bd057357c7f01
https://github.com/llvm/llvm-project/commit/907335c00c283e72373d4dd1b86bd057357c7f01
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRAttributes.cpp
Log Message:
-----------
[mlir:python] Prevent crash in DenseElementsAttr. (#163564)
This PR fixes a crash in the `bf_getbuffer` implementation of
`PyDenseElementsAttribute` that occurred when an element type was not
supported, such as `bf16`. I believe that supportion `bf16` is not
possible with that protocol but that's out of the scope of this PR.
Previsouly, the code raised an `std::exception` out of `bf_getbuffer`
that nanobind does not catch (see also pybind/pybind11#3336). The PR
makes the function catch all `std::exception`s and manually raises a
Python exception instead.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: 0731f18ba9caee809bca43a67d0a4893a147011e
https://github.com/llvm/llvm-project/commit/0731f18ba9caee809bca43a67d0a4893a147011e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll
Log Message:
-----------
[SCEV] Add extra test coverage with URem & AddRec guards.
Add test with urem guard with non-constant divisor and AddRec guards.
Extra test coverage for https://github.com/llvm/llvm-project/pull/163021
Commit: 941d2fdb947f6613607ca03b1b15218fbaccd9a4
https://github.com/llvm/llvm-project/commit/941d2fdb947f6613607ca03b1b15218fbaccd9a4
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[acc][mlir] Add 'if-condition' to 'atomic' operations. (#164003)
OpenACC 3.4 includes the ability to add an 'if' to an atomic operation.
>From the change log:
`Added the if clause to the atomic construct to enable conditional
atomic operations based867
on the parallelism strategy employed`
In 2.12, the C/C++ grammar is changed to say:
`#pragma acc atomic [ atomic-clause ] [ if( condition ) ] new-line`
With corresponding changes to the Fortran standard
This patch adds support to this for the dialect, so that Clang can use
it soon.
Commit: c0d731e7594a89cc49b00155ca4917c2d90db241
https://github.com/llvm/llvm-project/commit/c0d731e7594a89cc49b00155ca4917c2d90db241
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-unstructured.f90
Log Message:
-----------
[flang][OpenACC] add TODO for unstructured loops in acc loop directives (#163972)
The lowering of `!$acc loop` loops with an early exit currently ends-up
"duplicating" the control flow in the acc.loop and inside it as explicit
control flow (as if each iteration executes each iteration until the
early exit).
Add a TODO for now.
Commit: c7da79e0a10bd79c4e3b8ac494b6d5710fe70c07
https://github.com/llvm/llvm-project/commit/c7da79e0a10bd79c4e3b8ac494b6d5710fe70c07
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/unittests/DAP/TestBase.cpp
Log Message:
-----------
[lldb] Remove a redundant call to std::unique_ptr<T>::get (NFC) (#164191)
Commit: 385ea0dbc132300ee6c716f77ad1de42918687d3
https://github.com/llvm/llvm-project/commit/385ea0dbc132300ee6c716f77ad1de42918687d3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Move and clarify names of prev/next divisor helpers (NFC).
Move getPreviousSCEVDivisibleByDivisor from a lambda to a static
function and clarify the name (DividesBy -> DivisibleBy).
Split off refactoring from https://github.com/llvm/llvm-project/pull/163021.
Commit: 7d356e901b85b9cc0998690ec01f8f3c005329d8
https://github.com/llvm/llvm-project/commit/7d356e901b85b9cc0998690ec01f8f3c005329d8
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-early-ifcvt.ll
M llvm/test/CodeGen/AArch64/peephole-csel.ll
Log Message:
-----------
[AArch64] Convert `CSEL(X, 1)` into `CSINC(X, XZR)` in early-ifcvt (#162993)
Early if conversion can create instruction sequences such as
```
mov x1, #1
csel x0, x1, x2, eq
```
which could be simplified into the following instead
```
csinc x0, x2, xzr, ne
```
One notable example that generates code like this is `cmpxchg weak`.
This is fixed by handling an immediate value of 1 as `add(wzr, 1)` so
that the addition can be folded into CSEL by using CSINC instead.
Commit: fbc2d06c54d03c97053c79b81ad92aeed252a576
https://github.com/llvm/llvm-project/commit/fbc2d06c54d03c97053c79b81ad92aeed252a576
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
Log Message:
-----------
[NFC][SPIRV] Remove useless static_cast (#164239)
Commit: b9f9b3b7eb3cc5e93fabcf68068bce5cedc21639
https://github.com/llvm/llvm-project/commit/b9f9b3b7eb3cc5e93fabcf68068bce5cedc21639
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
Log Message:
-----------
[SPIRV][NFC] Use DenseMap's lookup instead of find (#164237)
[lookup](https://llvm.org/doxygen/classllvm_1_1DenseMapBase.html#a0b2ca98dc28c61793ff5c90d23e5f14e)
does a find and returns the default if no matching element was found.
Commit: c8cf3937e7cb017be6e07512ccd63c126c639d61
https://github.com/llvm/llvm-project/commit/c8cf3937e7cb017be6e07512ccd63c126c639d61
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Analysis/MLInlineAdvisor.cpp
A llvm/test/Transforms/Inline/ML/recursive.ll
Log Message:
-----------
[mlgo][inliner] Handle recursive cases when skipping non-cold functions (#164099)
The `MLInlineAdvisor` currently skips over recursive cases, except that when we delegate to the default policy for non-cold functions, that policy could allow such inlining. The code updating internal state afterwards needs to handle that case.
Fix for https://issues.chromium.org/issues/369637577#comment14
Commit: 6dda3b1848435a62bdb84edb6474e69369ce6e8c
https://github.com/llvm/llvm-project/commit/6dda3b1848435a62bdb84edb6474e69369ce6e8c
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/lib/Semantics/check-omp-loop.cpp
M flang/test/Semantics/OpenMP/combined-constructs.f90
M flang/test/Semantics/OpenMP/do05.f90
M flang/test/Semantics/OpenMP/linear-iter.f90
M flang/test/Semantics/OpenMP/nested-distribute.f90
Log Message:
-----------
[flang][OpenMP]: Allow orphaned distribute construct (#163546)
If there is a call inside a TEAMS construct, and that call contains a
DISTRIBUTE construct, the DISTRIBUTE region is considered to be enclosed
by the TEAMS region (based on the dynamic extent of the construct).
Currently, Flang diagnoses this as an error, which is incorrect.
For eg :
```
subroutine f
!$omp distribute
do i = 1, 100
...
end do
end subroutine
subroutine g
!$omp teams
call f ! this call is ok, distribute enclosed by teams
!$omp end teams
end subroutine
```
This patch adjusts the nesting check for the OpenMP DISTRIBUTE
directive. It retains the error for DISTRIBUTE directives that are
incorrectly nested lexically but downgrades it to a warning for orphaned
directives to allow dynamic nesting, such as when a subroutine with
DISTRIBUTE is called from within a TEAMS region.
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: 2ec549ad119a9c9979fbaa1af2acf3726028bdea
https://github.com/llvm/llvm-project/commit/2ec549ad119a9c9979fbaa1af2acf3726028bdea
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
A llvm/test/Transforms/GVNSink/ptrtoaddr.ll
Log Message:
-----------
[GVNSink] Add support for ptrtoaddr
Commit: 4a5dbd5633d80fafc7750c8d42462e7922cc0a46
https://github.com/llvm/llvm-project/commit/4a5dbd5633d80fafc7750c8d42462e7922cc0a46
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
Log Message:
-----------
[lldb-dap][NFC] avoid copy in launch process (#164243)
Commit: 5a983921c29f6da73e1d841665a9be6720eca66f
https://github.com/llvm/llvm-project/commit/5a983921c29f6da73e1d841665a9be6720eca66f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/lib/Dialect/Quant/IR/TypeParser.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in TypeParser.cpp (NFC)
Commit: cceca04ae380bc0d3d8bde83d3753640709fa7e5
https://github.com/llvm/llvm-project/commit/cceca04ae380bc0d3d8bde83d3753640709fa7e5
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/test/Transforms/SpeculativeExecution/spec-casts.ll
Log Message:
-----------
[SpeculativeExecution] Generate test checks (NFC)
Also replace the undef values with function arguments.
Commit: 80b311a9443f46826ed3a9a0003b83771bd53124
https://github.com/llvm/llvm-project/commit/80b311a9443f46826ed3a9a0003b83771bd53124
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/test/Transforms/SpeculativeExecution/spec-casts.ll
Log Message:
-----------
[SpeculativeExecution] Add support for ptrtoaddr
Commit: c332952ed06a9e74dfd1a416fba3ba536c55661c
https://github.com/llvm/llvm-project/commit/c332952ed06a9e74dfd1a416fba3ba536c55661c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/test/AST/ByteCode/c.c
Log Message:
-----------
[clang][bytecode] Check param types against function prototype (#163920)
If the type of the ParmVarDecl and the parameter type from the
FunctionProtoType don't match, we're in for trouble. Just reject those
functions.
Fixes #163568
Commit: 2ecf1221560cfd320626cc8c78cec08cd353c722
https://github.com/llvm/llvm-project/commit/2ecf1221560cfd320626cc8c78cec08cd353c722
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
A mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h
M mlir/lib/Dialect/OpenACC/CMakeLists.txt
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
A mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCUtilsTest.cpp
Log Message:
-----------
[mlir][acc] Add utilities for acc dialect (#164022)
Created new OpenACC utilities library (MLIROpenACCUtils) containing
helper functions for region analysis, value usage checking, default
attribute lookup, and type categorization. Includes comprehensive unit
tests and refactors existing getEnclosingComputeOp function into the new
library.
Commit: 77ade8905fe2102255ebb84de905f376043b68c5
https://github.com/llvm/llvm-project/commit/77ade8905fe2102255ebb84de905f376043b68c5
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
Log Message:
-----------
[NFC] Use F->isDeclaration instead of (*F).isDeclaration (#164238)
Commit: 38372df53fd7f6c8bd8c46bf720b676e12f481d9
https://github.com/llvm/llvm-project/commit/38372df53fd7f6c8bd8c46bf720b676e12f481d9
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
Log Message:
-----------
[clang][analyzer] Add SyntaxRunningTime per-entry-point metric (#163341)
Per-entry-point metrics are captured during the path-sensitive analysis
time. For that reason, it is not trivial to add the syntax-only analysis
time as it runs in a separate stage. Luckily syntax-only analysis is
done before path-senstivie analysis.
I use the function summary field to keep the syntax-only anlaysis time
once syntax analysis is done, and then forward it to the per-EP metrics
snapshot during the path-sensitive analysis.
Note that some of the entry points that were analyzed by syntax-only
rules may be missing in the CSV export if they were never analyzed by
path-sensitive rules. Conversely, if a function is analyzed with
path-sensitive analysis but not syntax-only analysis, its
`SyntaxRunningTime` will be empty.
--
CPP-7099
Commit: 66b7d38faf81c43a061a1f591a38645f312cb21e
https://github.com/llvm/llvm-project/commit/66b7d38faf81c43a061a1f591a38645f312cb21e
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[NFC][SPIRV] Use hasLocalLinkage instead of hasInternalLinkage or hasPrivateLinkage (#164236)
Commit: 4e882805dc8ec7fd80bb1b9e1e533b858decc8fc
https://github.com/llvm/llvm-project/commit/4e882805dc8ec7fd80bb1b9e1e533b858decc8fc
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
Log Message:
-----------
[NFC][SPIRV] Use hasLocalLinage instead of manual comparison against InteralLinkage/PrivateLinkage (#164240)
Same as https://github.com/llvm/llvm-project/pull/164236, but I found this one later.
Commit: d86da4efee20cc11cd8f3a46f2483379cea6eca5
https://github.com/llvm/llvm-project/commit/d86da4efee20cc11cd8f3a46f2483379cea6eca5
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/unittests/Driver/MultilibBuilderTest.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M lld/ELF/ScriptParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/unittests/ADT/StringSwitchTest.cpp
Log Message:
-----------
[ADT] Prepare for deprecation of StringSwitch cases with 4+ args. NFC. (#164173)
Update `.Cases` and `.CasesLower` with 4+ args to use the
`initializer_list` overload. The deprecation of these functions will
come in a separate PR.
For more context, see: https://github.com/llvm/llvm-project/pull/163405.
Commit: 2d550b98cac5faff715ed2f3f6078eb1e27288f5
https://github.com/llvm/llvm-project/commit/2d550b98cac5faff715ed2f3f6078eb1e27288f5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/test/Analysis/z3-crosscheck-max-attempts.cpp
M clang/test/Analysis/z3/D83660.c
Log Message:
-----------
[Clang] Make Z3 Tests Work with Internal Shell
These tests were setting environment variables, which needs to be done
explicitly with env when using the internal shell.
Commit: 8c826066e91a53a71322c178e8dec7d5ebf9db2e
https://github.com/llvm/llvm-project/commit/8c826066e91a53a71322c178e8dec7d5ebf9db2e
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/test/Preprocessor/predefined-arch-macros.c
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86] Remove USER_MSR from DMR (#164232)
Per Intel Architecture Instruction Set Extensions Programming Reference
rev. 59 (https://cdrdv2.intel.com/v1/dl/getContent/671368), table 1-2,
DMR doesn't support USER_MSR (URDMSR and UWRMSR instructions)
Commit: 5a112dedff3be9485940dfe5b14b574b08a0d9a1
https://github.com/llvm/llvm-project/commit/5a112dedff3be9485940dfe5b14b574b08a0d9a1
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/include/mlir-c/Target/LLVMIR.h
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/CAPI/Target/LLVMIR.cpp
M mlir/python/CMakeLists.txt
M mlir/test/python/dialects/llvm.py
Log Message:
-----------
[MLIR][Python] expose translate_module_to_llvmir (#163881)
This PR exposes `translate_module_to_llvmir` in the Python bindings.
Commit: 3d94f837f7270d50fcb7aed64fe31dc39bd77fb0
https://github.com/llvm/llvm-project/commit/3d94f837f7270d50fcb7aed64fe31dc39bd77fb0
Author: Julian Nagele <j.nagele at apple.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
Log Message:
-----------
[X86] Update test to not iterate past array boundaries. (#163991)
This test has loop iterating past (`61`) the array boundaries (`58`). So
far this didn't seem to matter, but recently with this change
https://github.com/llvm/llvm-project/pull/155253 the constraint
elimination in swift has been able to figure this out and is
transforming the loop into an infinite one like this
```
*** IR Dump After ConstraintEliminationPass on test_known_trip_count ***
define void @test_known_trip_count() local_unnamed_addr {
entry:
br label %for.body
for.body: ; preds = %entry, %for.body
%indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
%arrayidx = getelementptr inbounds nuw double, ptr @b, i64 %indvars.iv
%0 = load double, ptr %arrayidx, align 8
%arrayidx2 = getelementptr inbounds nuw double, ptr @c, i64 %indvars.iv
%1 = load double, ptr %arrayidx2, align 8
%add = fadd double %0, %1
%arrayidx4 = getelementptr inbounds nuw double, ptr @a, i64 %indvars.iv
store double %add, ptr %arrayidx4, align 8
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
br i1 false, label %exit, label %for.body
exit: ; preds = %for.body
ret void
}%
```
causing the test to fail. This is trying to address the root cause here.
Commit: 6b83e6896c7fba52730da52d0f370b4f3b52af0d
https://github.com/llvm/llvm-project/commit/6b83e6896c7fba52730da52d0f370b4f3b52af0d
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
Log Message:
-----------
[gsymutil] Fix how invalid LLVM_stmt_seq is set and used (#164015)
Previously, invalid offset is set to UINT64_MAX, this is not right when
DWARF32, which leads to incorrect debug into in GSYM, the branch:
```
if (StmtSeqVal != UNIT64_MAX)
StmtSeqOffset = StmtSeqVal;
```
will always be true.
In this PR, [commit
1](https://github.com/llvm/llvm-project/pull/164015/commits/b1983d671e0fd3b1f23627d7fc124550f183ebcc)
sets up a test that demonstrates the problem, [commit
2](https://github.com/llvm/llvm-project/pull/164015/commits/0d58ce4695c7909252a7d343f242b895ea128b52)
fixes it.
[Diffing commit 1 and
2](https://github.com/llvm/llvm-project/pull/164015/commits/0d58ce4695c7909252a7d343f242b895ea128b52#diff-019bdbc9922ad34fdfbcb524a9805f5af26c432540e76b87a6a5f73d9e0e853aL44)
in this PR shows how after the PR the symbolicated line number changed
from function definition to function body
Commit: af4fbcaed7acb58119f67c0055e80accdd2b70dc
https://github.com/llvm/llvm-project/commit/af4fbcaed7acb58119f67c0055e80accdd2b70dc
Author: ddubov100 <155631080+ddubov100 at users.noreply.github.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/test/Dialect/SCF/for-loop-peeling-front.mlir
M mlir/test/Dialect/SCF/for-loop-peeling.mlir
Log Message:
-----------
[mlir][SCF] Fix UB adjustment during `scf.for` loop peeling
Currently when peeling the first iteration, any mentioning of UB within the loop body is replaced with the new UB in the peeled out first iteration. This introduces a bug in the following scenario: Operations inside of the loop that intentionally use the original UB are incorrectly updated.
Commit: 7152d4e2541696ccbd6074c6961720cbc5fd580b
https://github.com/llvm/llvm-project/commit/7152d4e2541696ccbd6074c6961720cbc5fd580b
Author: Brad Smith <brad at comstyle.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/Driver/Distro.h
M clang/lib/Driver/Distro.cpp
Log Message:
-----------
[clang] Updates for support for Ubuntu, Debian and RHEL (#162796)
Remove support for long unsupported Ubuntu, Debian and RHEL.
Add support for RHEL 8, 9 and 10 and recognize Rocky and AlmaLinux
as RHEL.
Commit: e25e43a9d9cffb36986dd5cfa0cf9b22638963d9
https://github.com/llvm/llvm-project/commit/e25e43a9d9cffb36986dd5cfa0cf9b22638963d9
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
Log Message:
-----------
[AArch64] Remove trailing whitespace in IntrinsicsAArch64.td (NFC) (#164267)
Commit: a5bab28de7b44df77fe45709f89a96a2b68dd0a8
https://github.com/llvm/llvm-project/commit/a5bab28de7b44df77fe45709f89a96a2b68dd0a8
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
Log Message:
-----------
[NFC][SPIRV] Move common SPIRV::LinkageType deduction code to a helper in SPIRVUtils (#164248)
There was some repeated code that was used to deduce the
SPIRV::LinkageType from a GlobalVariable/Function.
At several related parts of the code we also had functions taking 2
parameters:
a 'hasLinkage' bool, and a 'LinkageType'. This is error-prone since the
later parameter's meaning depends on the first. This patch also merges
these
two options into a single `std::optional<SPIRV::LinkageType>`.
Commit: 58dd7a60939e1dfc7fe4ff956cbef93d6f14e451
https://github.com/llvm/llvm-project/commit/58dd7a60939e1dfc7fe4ff956cbef93d6f14e451
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/docs/CodingStandards.rst
Log Message:
-----------
[LLVM][CodingStandard] Extend namespace qualifier rule to variables/classes (#163588)
Extend CS rule to use namespace qualifiers to define previously declared
functions to variables and classes as well.
Commit: 2bcb42fdbb295551f5fd8060f37daf955eeed451
https://github.com/llvm/llvm-project/commit/2bcb42fdbb295551f5fd8060f37daf955eeed451
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/WindowsDriver/MSVCPaths.cpp
Log Message:
-----------
[NFC][LLVM] Namespace cleanup in MSCVPaths (#163779)
This adopts use of namespace qualifiers to define previously declared
functions as per LLVM CS:
https://llvm.org/docs/CodingStandards.html#use-namespace-qualifiers-to-implement-previously-declared-functions
Commit: 6683f9bf0f9774fb4d8218a6ae973791a634057c
https://github.com/llvm/llvm-project/commit/6683f9bf0f9774fb4d8218a6ae973791a634057c
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/tools/llvm-config/llvm-config.cpp
Log Message:
-----------
[NFC][LLVM] Code cleanup in llvm-config.cpp (#163993)
- Fix function names to conform to LLVM CS and mark local function
static.
- Use range for loops to simplify code.
- use `interleave` instead of manual loops to print lists.
Commit: 39128b9ec401ecf140a7b4c3f19eb0b7e7062c9d
https://github.com/llvm/llvm-project/commit/39128b9ec401ecf140a7b4c3f19eb0b7e7062c9d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.h
M llvm/tools/opt/opt.cpp
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
[NFC][LLVM] Code cleanup in `opt` (#164077)
- Use namespace qualifiers to define variables declared in `llvm`
namespace.
- move file local `TimeTracerRAII` struct into anonymous namespace.
- Use explicit types in a few places.
- Convert the loop over `PassList` to a range for loop.
Commit: 6eb1ddf6eae2b8c2ed5e2c1a426b9e6586e91745
https://github.com/llvm/llvm-project/commit/6eb1ddf6eae2b8c2ed5e2c1a426b9e6586e91745
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/tools/llvm-xray/func-id-helper.h
M llvm/tools/llvm-xray/trie-node.h
M llvm/tools/llvm-xray/xray-account.cpp
M llvm/tools/llvm-xray/xray-account.h
M llvm/tools/llvm-xray/xray-color-helper.h
M llvm/tools/llvm-xray/xray-converter.cpp
M llvm/tools/llvm-xray/xray-converter.h
M llvm/tools/llvm-xray/xray-extract.cpp
M llvm/tools/llvm-xray/xray-graph-diff.cpp
M llvm/tools/llvm-xray/xray-graph-diff.h
M llvm/tools/llvm-xray/xray-graph.cpp
M llvm/tools/llvm-xray/xray-graph.h
M llvm/tools/llvm-xray/xray-registry.cpp
M llvm/tools/llvm-xray/xray-registry.h
M llvm/tools/llvm-xray/xray-stacks.cpp
Log Message:
-----------
[NFC][LLVM] Code cleanup in `llvm-xray` (#164080)
- Use nested namespace definitions in header files.
- Mark file local function static and enclods file local structs in
anonymous namespace.
- Drop some unnecessary namespace qualifiers.
Commit: 61ba312f5d1d217c64391d7addb761f2fbd3f11e
https://github.com/llvm/llvm-project/commit/61ba312f5d1d217c64391d7addb761f2fbd3f11e
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Upstream support ComplexType as return type (#164072)
Upstream support ComplexType as a function return type
Issue #141365
Commit: cd05383a462672c1c6bab9bbef1bbbe1be616aa3
https://github.com/llvm/llvm-project/commit/cd05383a462672c1c6bab9bbef1bbbe1be616aa3
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
A clang/test/CIR/CodeGen/agg-expr-lvalue.c
M clang/test/CIR/CodeGen/compound_literal.cpp
Log Message:
-----------
[CIR] Add Aggregate Expression LValue Visitors (#163410)
This patch implements visitors for MemberExpr, UnaryDeref,
StringLiteral and CompoundLiteralExpr inside aggregate
expressions.
Commit: e6a1aff5916447630e9ec0e8a90594ca1ee7a1be
https://github.com/llvm/llvm-project/commit/e6a1aff5916447630e9ec0e8a90594ca1ee7a1be
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M compiler-rt/lib/builtins/gcc_personality_v0.c
M libcxxabi/include/__cxxabi_config.h
M libcxxabi/src/cxa_exception.cpp
M libcxxabi/src/cxa_exception.h
M libcxxabi/src/cxa_personality.cpp
M libunwind/include/__libunwind_config.h
M libunwind/include/libunwind.h
M libunwind/src/AddressSpace.hpp
M libunwind/src/CompactUnwinder.hpp
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/Registers.hpp
M libunwind/src/UnwindCursor.hpp
M libunwind/src/UnwindLevel1.c
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
M libunwind/src/libunwind.cpp
Log Message:
-----------
[runtimes][PAC] Harden unwinding when possible (#143230)
This hardens the unwinding logic and datastructures on systems
that support pointer authentication.
The approach taken to hardening is to harden the schemas of as many
high value fields in the myriad structs as possible, and then also
explicitly qualify local variables referencing privileged or security
critical values.
This does introduce ABI linkage between libcxx, libcxxabi, and
libunwind but those are in principle separate from the OS itself
so we've kept the schema definitions in the library specific headers
rather than ptrauth.h
Commit: aac8a0d041c153afbedac0e8e100cb8d937de4d8
https://github.com/llvm/llvm-project/commit/aac8a0d041c153afbedac0e8e100cb8d937de4d8
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Implement VisitCXXDefaultArgExpr for ComplexType (#164079)
Implement CXXDefaultArgExpr support for ComplexType
Issue https://github.com/llvm/llvm-project/issues/141365
Commit: 3afbda091a049e1f9f593546f52da0946ac03931
https://github.com/llvm/llvm-project/commit/3afbda091a049e1f9f593546f52da0946ac03931
Author: Shawn K <kimshawn02 at icloud.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/smmintrin.h
M clang/test/CodeGen/X86/sse41-builtins.c
Log Message:
-----------
[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow SSE41 phminposuw intrinsic to be used in constexp (#163041)
Fix #161336
Commit: 725a2971762a82d4b1213185570f5e3e8701b2bc
https://github.com/llvm/llvm-project/commit/725a2971762a82d4b1213185570f5e3e8701b2bc
Author: Shawn K <kimshawn02 at icloud.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
Log Message:
-----------
[Headers][X86] Allow MMX/SSE/AVX MOVMSK intrinsics to be used in constexpr (#161914)
Fix #154520
Commit: babecd41a84e182584da240d49f3405c25fbac8c
https://github.com/llvm/llvm-project/commit/babecd41a84e182584da240d49f3405c25fbac8c
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
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/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/CodeGen/opaque.cpp
A clang/test/CIR/CodeGen/ternary-throw.cpp
M clang/test/CIR/CodeGen/ternary.cpp
Log Message:
-----------
[CIR] Add support for ternary operator as lvalue (#163580)
Added support for ConditionalOperator, BinaryConditionalOperator and
OpaqueValueExpr as lvalue.
Implemented support for ternary operators with one branch being a throw
expression. This required weakening the requirement that the true and
false regions of the ternary operator must terminate with a `YieldOp`.
Instead the true and false regions are now allowed to terminate with an
`UnreachableOp` and no `YieldOp` gets emitted when the block throws.
Commit: 737e1162a5904d4f0953d7c55c07e829db59da0c
https://github.com/llvm/llvm-project/commit/737e1162a5904d4f0953d7c55c07e829db59da0c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
Log Message:
-----------
[LLVM][Docs] Remove Stray %T Substitution
This were all removed in #160028, but I apparently missed this one
instance in the documentation. Remove it given that it no longer works.
Commit: 7a5446f85bcce58c5185b62b79cc350d2f89fcab
https://github.com/llvm/llvm-project/commit/7a5446f85bcce58c5185b62b79cc350d2f89fcab
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A .ci/premerge_advisor_explain.py
M .ci/utils.sh
Log Message:
-----------
[CI] Add Initial Wiring for Premerge Advisor Explanations (#164132)
This patch adds a new script, premerge_advisor_explain.py that requests
test failure explanations from the premerge advisor. For now it just
prints them out to STDOUT. This allows for testing of the entire system
by looking at failure explanations in failed jobs before we do the rest
of the wiring to enable the premerge advisor to write out comments.
Commit: e10afe01ec7c79f45f62d9a42b07a7d984bdc345
https://github.com/llvm/llvm-project/commit/e10afe01ec7c79f45f62d9a42b07a7d984bdc345
Author: SeongJaePark <111725324+SeongjaeP at users.noreply.github.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/avx512dqintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512vldqintrin.h
M clang/lib/Headers/avx512vlintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512dq-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vldq-builtins.c
Log Message:
-----------
[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow AVX/AVX512 subvector extraction intrinsics to be used in constexpr #157712 (#162836)
**This PR supersedes and replaces PR #158853**
The original branch diverged too far from the main branch, resulting in
significant merge conflicts that were difficult to resolve cleanly. To
provide a clean and reviewable history, this new PR was created by
cherry-picking the necessary commits onto a fresh branch based on the
latest `main`.
---
*(Original Description)*
This patch enables the use of AVX/AVX512 subvector extraction intrinsics
within `constexpr` functions. This is achieved by implementing the
evaluation logic for these intrinsics in
`VectorExprEvaluator::VisitCallExpr` and `InterpretBuiltin`.
The original discussion and review comments can be found in the previous
pull request for context: #158853
Fixes #157712
Commit: d37141776f6b6d0116f4566d4ee56b29ecdc7d0e
https://github.com/llvm/llvm-project/commit/d37141776f6b6d0116f4566d4ee56b29ecdc7d0e
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-lastuse-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
A llvm/test/CodeGen/AMDGPU/memory-legalizer-lds-dma-volatile-and-nontemporal.ll
Log Message:
-----------
[AMDGPU] Enable volatile and non-temporal for loads to LDS (#153244)
The primary purpose of this commit is to enable marking loads to LDS
(global.load.lds, buffer.*.load.lds) volatile (using bit 31 of the aux
as with normal buffer loads) and to ensure that their !nontemporal
annotations translate to appropriate settings of te cache control bits.
However, in the process of implementing this feature, we also fixed
- Incorrect handling of buffer loads to LDS in GlobalISel
- Updating the handling of volatile on buffers in SIMemoryLegalizer:
previously, the mapping of address spaces would cause volatile on buffer
loads to be silently dropped on at least gfx10.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: ac0bc20c94738a473522a1c7b7ea37ab180a769a
https://github.com/llvm/llvm-project/commit/ac0bc20c94738a473522a1c7b7ea37ab180a769a
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
M clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
Log Message:
-----------
[OpenACC][CIR] Reduction combiner lowering for min/max (#163656)
These two are lowered as if they are the expression: LHS = (LHS < RHS )
? RHS : LHS;
and
LHS = (LHS < RHS ) ? LHS : RHS;
This patch generates these expressions and ensures they are properly
emitted into IR.
Note: this is dependent on
https://github.com/llvm/llvm-project/pull/163580
and cannot be merged until that one is (or the tests will fail).
Commit: 5c86520eb3f223de7a383ed696ace59978b98261
https://github.com/llvm/llvm-project/commit/5c86520eb3f223de7a383ed696ace59978b98261
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV] Remove shiftop/shiftopw PatFrags. NFC (#164050)
Replace with PatGprShiftMaskXLen/PatGprShiftMask32 or using the
ShiftMaskXLen/ShiftMask32 ComplexPattern direclty in patterns.
This avoids various casts that were need to make a ComplexPattern work
inside of a PatFrag.
Commit: ad582e383369fc32fffb016be68b1ba7812f2325
https://github.com/llvm/llvm-project/commit/ad582e383369fc32fffb016be68b1ba7812f2325
Author: Michal R <vad.sol at proton.me>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/BPF/BTFDebug.cpp
A llvm/test/CodeGen/BPF/BTF/variant-part.ll
Log Message:
-----------
[BPF] Support for `DW_TAG_variant_part` in BTF generation (#155783)
Variant part, represented by `DW_TAG_variant_part` is a structure with a
discriminant and different variants, from which only one can be active
and valid at the same time. The discriminant is the main difference
between variant parts and unions represented by `DW_TAG_union` type.
Variant parts are used by Rust enums, which look like:
```rust
pub enum MyEnum {
First { a: u32, b: i32 },
Second(u32),
}
```
This type's debug info is the following `DICompositeType` with
`DW_TAG_structure_type` tag:
```llvm
!4 = !DICompositeType(tag: DW_TAG_structure_type, name: "MyEnum",
scope: !2, file: !5, size: 96, align: 32, flags: DIFlagPublic,
elements: !6, templateParams: !16,
identifier: "faba668fd9f71e9b7cf3b9ac5e8b93cb")
```
With one element being also a `DICompositeType`, but with
`DW_TAG_variant_part` tag:
```llvm
!6 = !{!7}
!7 = !DICompositeType(tag: DW_TAG_variant_part, scope: !4, file: !5,
size: 96, align: 32, elements: !8, templateParams: !16,
identifier: "e4aee046fc86d111657622fdcb8c42f7", discriminator: !21)
```
Which has a discriminator:
```llvm
!21 = !DIDerivedType(tag: DW_TAG_member, scope: !4, file: !5,
baseType: !13, size: 32, align: 32, flags: DIFlagArtificial)
```
Which then holds different variants as `DIDerivedType` elements with
`DW_TAG_member` tag:
```llvm
!8 = !{!9, !17}
!9 = !DIDerivedType(tag: DW_TAG_member, name: "First", scope: !7,
file: !5, baseType: !10, size: 96, align: 32, extraData: i32 0)
!10 = !DICompositeType(tag: DW_TAG_structure_type, name: "First",
scope: !4, file: !5, size: 96, align: 32, flags: DIFlagPublic,
elements: !11, templateParams: !16,
identifier: "cc7748c842e275452db4205b190c8ff7")
!11 = !{!12, !14}
!12 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !10,
file: !5, baseType: !13, size: 32, align: 32, offset: 32,
flags: DIFlagPublic)
!13 = !DIBasicType(name: "u32", size: 32, encoding: DW_ATE_unsigned)
!14 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !10,
file: !5, baseType: !15, size: 32, align: 32, offset: 64,
flags: DIFlagPublic)
!15 = !DIBasicType(name: "i32", size: 32, encoding: DW_ATE_signed)
!16 = !{}
!17 = !DIDerivedType(tag: DW_TAG_member, name: "Second", scope: !7,
file: !5, baseType: !18, size: 96, align: 32, extraData: i32 1)
!18 = !DICompositeType(tag: DW_TAG_structure_type, name: "Second",
scope: !4, file: !5, size: 96, align: 32, flags: DIFlagPublic,
elements: !19, templateParams: !16,
identifier: "a2094b1381f3082d504fbd0903aa7c06")
!19 = !{!20}
!20 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !18,
file: !5, baseType: !13, size: 32, align: 32, offset: 32,
flags: DIFlagPublic)
```
BPF backend was assuming that all the elements of any `DICompositeType`
have tag `DW_TAG_member` and are instances of `DIDerivedType`. However,
the single element of the outer composite type `!4` has tag
`DW_TAG_variant_part` and is an instance of `DICompositeType`. The
unconditional call of `cast<DIDerivedType>` on all elements was causing
an assertion failure when any Rust code with enums was compiled to the
BPF target.
Fix that by:
* Handling `DW_TAG_variant_part` in `visitStructType`.
* Replacing unconditional call of `cast<DIDerivedType>` over
`DICompositeType` elements with a `switch` statement, handling both
`DW_TAG_member` and `DW_TAG_variant_part` and casting the element to an
appropriate type (`DIDerivedType` or `DICompositeType`).
Fixes: https://github.com/llvm/llvm-project/issues/155778
Commit: c01a22363034b98a21affde44b1b45ba5d022c71
https://github.com/llvm/llvm-project/commit/c01a22363034b98a21affde44b1b45ba5d022c71
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/include/lldb/API/SBMutex.h
M lldb/source/API/SBMutex.cpp
M lldb/unittests/API/SBMutexTest.cpp
Log Message:
-----------
[lldb] Add try_lock to SBMutex (#164109)
Add `try_lock` to confirm to Lockable, which is necessary to use it with
`std::scoped_lock`.
Commit: c0073a9170aaa4f3504f7cdf20758176bcb14ac1
https://github.com/llvm/llvm-project/commit/c0073a9170aaa4f3504f7cdf20758176bcb14ac1
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M .github/workflows/pr-code-lint.yml
Log Message:
-----------
[GitHub][CI] Run clang-tidy in dedicated container (#164290)
Tested in https://github.com/llvm/llvm-project/pull/160193.
Commit: a39704f496b25816fdafc8136c9eccd08df135a1
https://github.com/llvm/llvm-project/commit/a39704f496b25816fdafc8136c9eccd08df135a1
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[NFC] Add myself to CODEOWNERS for AMD dialects (#164289)
Having taken on a maintainer role for these dialects, make it official
with a CODEOWNERS entry.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 894eaf481542adefde861a7e39f769f21d3f4fa4
https://github.com/llvm/llvm-project/commit/894eaf481542adefde861a7e39f769f21d3f4fa4
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/StringSwitch.h
Log Message:
-----------
[ADT] Deprecate StringSwitch Cases with 4+ args. NFC. (#164276)
Suggest the `initializer_list` overload instead.
4+ args is an arbitrary number that allows for incremental deprecation
without having too update too many call sites.
For more context, see https://github.com/llvm/llvm-project/pull/163117.
Commit: 7e1f79c9935fe86b072119fdbb01ee25a80060e6
https://github.com/llvm/llvm-project/commit/7e1f79c9935fe86b072119fdbb01ee25a80060e6
Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Add more llvm tools (#163228)
Adding llvm-ir2vec, llvm-ctxprof-util (and llvm-sim) in the Bazel
configs. llvm-ctxprof-util and llvm-ir2vec are used in several LIT unit
tests, and the missing binary is causing unit test failures.
llvm-ctxprof-util:
https://github.com/llvm/llvm-project/blob/15cde999d47c3edc7647faf5fd967f5d5d88416a/llvm/test/Analysis/CtxProfAnalysis/flatten-icp.ll#L2
llvm-ir2vec:
https://github.com/llvm/llvm-project/blob/55d4e92c8821d5543469118a76fe38db866377b7/llvm/utils/mlgo-utils/IR2Vec/generateTriplets.py#L60
llvm-sim:
https://github.com/llvm/llvm-project/blob/894eaf481542adefde861a7e39f769f21d3f4fa4/llvm/test/lit.cfg.py#L268
Commit: 628404105b170a19273d74a5e7d9c6e3470fe58b
https://github.com/llvm/llvm-project/commit/628404105b170a19273d74a5e7d9c6e3470fe58b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/bit.h
M llvm/include/llvm/Support/MathExtras.h
M llvm/unittests/ADT/BitTest.cpp
Log Message:
-----------
[ADT] Add llvm::countr_zero_constexpr (#164188)
This patch implements llvm::countr_zero_constexpr, a constexpr version
of llvm::countr_zero, in terms of llvm::popcount while making
llvm::popcount a constexpr function at the same time.
The new function is intended to serve as a marker. When we switch to
C++20, we will most likely go through functions in llvm/ADT/bit.h and
replace them with their counterparts from <bit>. With
llvm::countr_zero_constexpr, we can easily replace its use with
std::countr_zero.
This patch reimplements ConstantLog2 in terms of the new function.
Commit: ef87da06326e879ba74d0935673a8c18d0e69825
https://github.com/llvm/llvm-project/commit/ef87da06326e879ba74d0935673a8c18d0e69825
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVGLCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/gl-canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Remove invalid canon pattern for GL.Length (#164301)
This rewrite does not preserve numerics: for example, we'd expect the
maximum fp value to yield Inf instead of identity.
`GL.Length` does not allow for fast math flags, so we need to remove
this. Special cases (constants) can be handled via a folder if someone
wants to implement one.
Commit: c683f215e56bd12167eb7bf7e77473b7fad20def
https://github.com/llvm/llvm-project/commit/c683f215e56bd12167eb7bf7e77473b7fad20def
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/Headers/__clang_hip_runtime_wrapper.h
A clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
Log Message:
-----------
[NFC][Clang][AMDGPU] Fix upstream and downstream difference (#164304)
These two files were left during the upstream of the corresponding
feature.
Commit: c375c414cb41a1e4a00f5a4673087c3430e83242
https://github.com/llvm/llvm-project/commit/c375c414cb41a1e4a00f5a4673087c3430e83242
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/docs/Dialects/GPU.md
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/python/mlir/dialects/gpu/__init__.py
M mlir/test/python/dialects/gpu/dialect.py
Log Message:
-----------
[mlir][python] Add Pythonic wrappers for gpu ops (#163883)
Add builders on the Python side that match builders in the C++ side, add tests for launching GPU kernels and regions, and correct some small documentation mistakes. This reflects the API decisions already made in the func dialect's Python bindings and makes use of the GPU dialect's bindings work more similar to C++ interface.
Commit: c318f82a4ad4c91401daa177b8c8ab546901bb4d
https://github.com/llvm/llvm-project/commit/c318f82a4ad4c91401daa177b8c8ab546901bb4d
Author: Björn Schäpers <bjoern at hazardy.de>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Respect ColumnLimit while aligning multiline expressions (#163863)
Before the patch the added test case would indent the function and
moving its second line beyond the column limit.
Fixes #68122.
Commit: d4af5e6b0b4fef49c3277d4a13d279dfcc4e155a
https://github.com/llvm/llvm-project/commit/d4af5e6b0b4fef49c3277d4a13d279dfcc4e155a
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/lit.cfg.py
M clang-tools-extra/include-cleaner/test/Unit/lit.cfg.py
M clang-tools-extra/test/Unit/lit.cfg.py
M clang/test/Unit/lit.cfg.py
M llvm/utils/lit/tests/Inputs/googletest-cmd-wrapper/lit.cfg
M polly/test/Unit/lit.cfg
Log Message:
-----------
[Unittest][Cygwin] Set $PATH when running unittests (#163947)
As the Cygwin platform requires $PATH to be set in order to run
unittests, do the same as for the regular Windows target.
Commit: f37b4459f050514542d755172855dc75ddda33f2
https://github.com/llvm/llvm-project/commit/f37b4459f050514542d755172855dc75ddda33f2
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member.cpp
A offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member_ref.cpp
A offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member_ref_with_map.cpp
A offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member_with_map.cpp
A offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member.cpp
A offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref.cpp
A offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref_with_map.cpp
A offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_with_map.cpp
Log Message:
-----------
[NFC][OpenMP] Add small class-member use_device_ptr/addr unit tests. (#164039)
Two of the tests are currently asserting, and two are emitting
unexpected results.
The asserting tests will be fixed using the ATTACH-style codegen from
#153683.
The other two involve `use_device_addr` on byrefs, and need more
follow-up codegen changes, that have been noted in a FIXME comment.
Commit: 13498bc1d16005774a62b3dd04f1d2e5dd887674
https://github.com/llvm/llvm-project/commit/13498bc1d16005774a62b3dd04f1d2e5dd887674
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/lit.cfg.py
M clang-tools-extra/include-cleaner/test/Unit/lit.cfg.py
Log Message:
-----------
[clang-tools-extra][Unittest] Fix wrong reference to CMake configuration variable (#164147)
`@SHLIBDIR@` is replaced by CMake's configuration function, so it must
be in `lit.site.cfg.py.in` but not `lit.cfg.py`. `lit.cfg.py` must
reference variables in generated `lit.site.cfg.py`.
We didn't notice this problem because it only affects Windows (including
MinGW and Cygwin) that are configured with either
LLVM_LINK_LLVM_DYLIB=ON or BUILD_SHARED=ON.
Commit: be9c083cf7ec7dc9b6e93f29981d7b7e71273241
https://github.com/llvm/llvm-project/commit/be9c083cf7ec7dc9b6e93f29981d7b7e71273241
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/CAS/OnDiskDataAllocator.h
A llvm/include/llvm/CAS/OnDiskGraphDB.h
A llvm/include/llvm/CAS/OnDiskKeyValueDB.h
M llvm/lib/CAS/CMakeLists.txt
M llvm/lib/CAS/OnDiskCommon.cpp
M llvm/lib/CAS/OnDiskCommon.h
M llvm/lib/CAS/OnDiskDataAllocator.cpp
A llvm/lib/CAS/OnDiskGraphDB.cpp
A llvm/lib/CAS/OnDiskKeyValueDB.cpp
M llvm/unittests/CAS/CASTestConfig.cpp
M llvm/unittests/CAS/CASTestConfig.h
M llvm/unittests/CAS/CMakeLists.txt
A llvm/unittests/CAS/OnDiskCommonUtils.h
A llvm/unittests/CAS/OnDiskGraphDBTest.cpp
A llvm/unittests/CAS/OnDiskKeyValueDBTest.cpp
Log Message:
-----------
[CAS] Add OnDiskGraphDB and OnDiskKeyValueDB (#114102)
Add OnDiskGraphDB and OnDiskKeyValueDB that can be used to implement
ObjectStore and ActionCache respectively. Those are on-disk persistent
storage that build upon OnDiskTrieHashMap and implements key functions
that are required by LLVMCAS interfaces.
This abstraction layer defines how the objects are hashed and stored on
disk. OnDiskKeyValueDB is a basic OnDiskTrieHashMap while OnDiskGraphDB
also defines:
* How objects of various size are store on disk and are referenced by
the trie nodes.
* How to store the references from one stored object to another object
that is referenced.
In addition to basic APIs for ObjectStore and ActionCache, other
advances database configuration features can be implemented in this
layer without exposing to the users of the LLVMCAS interface. For
example, OnDiskGraphDB has a faulty in function to fetch data from an
upstream OnDiskGraphDB if the data is missing.
Commit: 5cd9f0f655ac2ab9da4fbd049fbcba6eb0d793b9
https://github.com/llvm/llvm-project/commit/5cd9f0f655ac2ab9da4fbd049fbcba6eb0d793b9
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/include/flang/Parser/tools.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/tools.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang] Move parse tree tool to Parser/tools.h (#163998)
Move the parse tree utility function
semantics::getDesignatorNameIfDataRef to Parser/tools.h and rename it to
comply with the local style.
Commit: c3d905ec4b8c02978feeb6d21a5dadb95d2df098
https://github.com/llvm/llvm-project/commit/c3d905ec4b8c02978feeb6d21a5dadb95d2df098
Author: Levi Zim <rsworktech at outlook.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/config.bzl
Log Message:
-----------
[bazel] Add riscv64 linux platform (#163781)
This fixes a build error when building tensorflow on riscv64 linux.
Commit: 9e9d67dc9c4788d39da3c5612565d6e603015715
https://github.com/llvm/llvm-project/commit/9e9d67dc9c4788d39da3c5612565d6e603015715
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[debugserver][NFC] Fix unused variable warning
This variable is only read from.
Commit: 670fb3e7683c1fc83bcfff04bb15488617ff2a34
https://github.com/llvm/llvm-project/commit/670fb3e7683c1fc83bcfff04bb15488617ff2a34
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A llvm/include/llvm/CodeGen/MIRFSDiscriminatorOptions.h
M llvm/lib/CodeGen/MIRFSDiscriminator.cpp
M llvm/lib/CodeGen/MIRSampleProfile.cpp
Log Message:
-----------
[NFC][LLVM][CodeGen] Create header file for MIRFSDiscriminator options (#163438)
Extract extern variable declaration into a header per
https://discourse.llvm.org/t/rfc-cs-changes-for-standalone-variables/88581
Commit: cd67ca2f11f79d2ce08807682b571ca04dab0996
https://github.com/llvm/llvm-project/commit/cd67ca2f11f79d2ce08807682b571ca04dab0996
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A lldb/test/API/tools/lldb-dap/invalidated-event/Makefile
A lldb/test/API/tools/lldb-dap/invalidated-event/TestDAP_invalidatedEvent.py
A lldb/test/API/tools/lldb-dap/invalidated-event/main.cpp
A lldb/test/API/tools/lldb-dap/invalidated-event/other.h
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/Protocol/ProtocolEvents.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Send an Invalidated event on thread stack change. (#163976)
When the user send `thread return <expr>` command this changes the stack
length but the UI does not update.
Send stack invalidated event to the client to update the stack.
Commit: e8b255df1bb41411c3908b205779ba28264d5c2e
https://github.com/llvm/llvm-project/commit/e8b255df1bb41411c3908b205779ba28264d5c2e
Author: Fateme Hosseini <quic_fhossein at quicinc.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/Hexagon.h
A llvm/lib/Target/Hexagon/HexagonQFPOptimizer.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
A llvm/test/CodeGen/Hexagon/qfp-conv.ll
A llvm/test/CodeGen/Hexagon/qfp-enabled.ll
A llvm/test/CodeGen/Hexagon/qfp-remove-kill.mir
A llvm/test/CodeGen/Hexagon/qfp-subreg-bug.mir
A llvm/test/CodeGen/Hexagon/qfpopt-rem-conv-add.ll
A llvm/test/CodeGen/Hexagon/vect/qfp-mix.mir
A llvm/test/CodeGen/Hexagon/vect/qfp-zeroinit.mir
A llvm/test/CodeGen/Hexagon/vect/unique-vreg-def.ll
Log Message:
-----------
Hexagon QFP Optimizer (#163843)
Co-authored-by: Rahul Utkoor <quic_rutkoor at quicinc.com>
Co-authored-by: Brendon Cahoon <bcahoon at quicinc.com>
Co-authored-by: abhikran <abhikran at codeaurora.org>
Co-authored-by: Sumanth Gundapaneni <sgundapa at quicinc.com>
Co-authored-by: Ikhlas Ajbar <iajbar at quicinc.com>
Co-authored-by: Anirudh Sundar <quic_sanirudh at quicinc.com>
Co-authored-by: Yashas Andaluri <quic_yandalur at quicinc.com>
Co-authored-by: quic-santdas <quic_santdas at quicinc.com>
Commit: fcb1a82811490ca581b4db484a2b67be86650a84
https://github.com/llvm/llvm-project/commit/fcb1a82811490ca581b4db484a2b67be86650a84
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M libcxx/utils/compare-benchmarks
Log Message:
-----------
[libc++] Fix off-by-one error in compare-benchmarks script
That led us to overwrite the data of the last row with the geomean.
Commit: 46ab6c6fd3e6068a1f8f2935c17c09a3046180f9
https://github.com/llvm/llvm-project/commit/46ab6c6fd3e6068a1f8f2935c17c09a3046180f9
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
Log Message:
-----------
[FlowSensitive] [Optional] Fix absl::in_place (#163897)
The mock was not accurate, absl defines in_place[_t] as an alias to
std::in_place[_t].
Commit: dfe48e77e6f4e0459ee530f5fea820d6c7a24aa0
https://github.com/llvm/llvm-project/commit/dfe48e77e6f4e0459ee530f5fea820d6c7a24aa0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/CUDA/cuda-cloc.cuf
Log Message:
-----------
[flang][cuda] Update c_loc with device variable to get host address (#164317)
Bypass the declare op because it is rewritten in CUFOpConversion and
will only provide the device address. c_loc is expected to have the host
address of a device address to be used in API like `cudaMemcpyToSymbol`
so we need to provide the address of op directly.
Commit: 803883c6622685f342b546165ddce412cb057a8b
https://github.com/llvm/llvm-project/commit/803883c6622685f342b546165ddce412cb057a8b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang-rt/lib/cuda/kernel.cpp
Log Message:
-----------
[flang][cuda][rt] Canonicalize block size values (#164321)
Set block size x and y to 1024 if the given value is higher. Set block z
to 64 if the given value is higher.
Commit: 35b9f204490cd0101100878effe05ef5116b3099
https://github.com/llvm/llvm-project/commit/35b9f204490cd0101100878effe05ef5116b3099
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
Log Message:
-----------
[LV] Check for TruncInsts in canTruncateToMinimalBitwidth.
TruncInst must truncate at most to their destination. Return false if
MinBWs contains a destination size > the trunc result type size.
Fixes https://github.com/llvm/llvm-project/issues/162688.
Commit: ca4df68aaa8243f202a643f4f172fe2f5bceaf71
https://github.com/llvm/llvm-project/commit/ca4df68aaa8243f202a643f4f172fe2f5bceaf71
Author: Thurston Dang <thurston at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sme-aarch64-svcount-mini.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sme-aarch64-svcount.ll
Log Message:
-----------
[msan][test] Add tests for target("aarch64.svcount") (#164315)
target("aarch64.svcount") is not properly supported by MSan, and will
lead to a crash:
```
fatal error: error in backend: Cannot implicitly convert a scalable size to a fixed-width size in `TypeSize::operator ScalarTy()`
```
This commit adds two test cases: a full test case for tracking any
future improvements to the instrumentation (and also showing the crash),
and a manually reduced test case to show the crash.
Forked from llvm/test/CodeGen/AArch64/sme-aarch64-svcount.ll
Commit: dc718313ecb7cb382cb3c788380e388f7ce4551c
https://github.com/llvm/llvm-project/commit/dc718313ecb7cb382cb3c788380e388f7ce4551c
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] use workspaceFolder in vscode configurations. (#164320)
`workspaceRoot` was deprecated in [september 2017
release](https://code.visualstudio.com/updates/v1_17#_workspacefolder-in-launchjson-and-tasksjson)
Commit: 437cad9121939344c8c12efec5fcb0929e9fb444
https://github.com/llvm/llvm-project/commit/437cad9121939344c8c12efec5fcb0929e9fb444
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 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/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/struct.cpp
Log Message:
-----------
[CIR] Upstream aggregate binary assign handling (#163877)
This upstreams the implementation for handling binary assignment
involving aggregate types.
Commit: ac65da0f861412afa5927196b51166269cf79ddf
https://github.com/llvm/llvm-project/commit/ac65da0f861412afa5927196b51166269cf79ddf
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A mlir/test/Target/SPIRV/function-decorations-asserts.mlir
M mlir/test/Target/SPIRV/function-decorations.mlir
Log Message:
-----------
[mlir][spirv][test] Fork test to allow testing with assertions enabled (#164319)
This way, testing with --debug flag can correctly specify that it
requires assertions.
This is a fix for #164098
Commit: 32b534b1927089bffe71b8f6560a31a567a2b87b
https://github.com/llvm/llvm-project/commit/32b534b1927089bffe71b8f6560a31a567a2b87b
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
Log Message:
-----------
[lldb][doc NFC] fix typeo in reason:watchpoint desc
Commit: e7f370f910701b6c67d41dab80e645227692c58b
https://github.com/llvm/llvm-project/commit/e7f370f910701b6c67d41dab80e645227692c58b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-parent-multi-copyables.ll
Log Message:
-----------
[SLP] Check all copyable children for non-schedulable parent nodes
If the parent node is non-schedulable and it includes several copies of
the same instruction, its operand might be replaced by the copyable
nodes in multiple children nodes, and if the instruction is commutative,
they can be used in different operands. The compiler shall consider this
opportunity, taking into account that non-copyable children are
scheduled only ones for the same parent instruction.
Fixes #164242
Commit: c8c86efbbb55e51597c1bd8feb2e947bc0de3422
https://github.com/llvm/llvm-project/commit/c8c86efbbb55e51597c1bd8feb2e947bc0de3422
Author: Lang Hames <lhames at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
A llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
Log Message:
-----------
[ORC] Replace ORC's baked-in dependence tracking with WaitingOnGraph. (#163027)
WaitingOnGraph tracks waiting-on relationships between nodes (intended
to represent symbols in an ORC program) in order to identify nodes that
are *Ready* (i.e. are not waiting on any other nodes) or have *Failed*
(are waiting on some node that cannot be produced).
WaitingOnGraph replaces ORC's baked-in data structures that were
tracking the same information (EmissionDepUnit, EmissionDepUnitInfo,
...). Isolating this information in a separate data structure simplifies
the code, allows us to unit test it, and simplifies performance testing.
The WaitingOnGraph uses several techniques to improve performance
relative to the old data structures, including symbol coalescing
("SuperNodes") and symbol keys that don't perform unnecessary reference
counting (NonOwningSymbolStringPtr).
This commit includes unit tests for common dependence-tracking issues
that have led to ORC bugs in the past.
Commit: 13ca8723d1bfc9ae0b8983e936e9575e440cbee1
https://github.com/llvm/llvm-project/commit/13ca8723d1bfc9ae0b8983e936e9575e440cbee1
Author: Lang Hames <lhames at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
R llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
R llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
Log Message:
-----------
Revert "[ORC] Replace ORC's baked-in dependence tracking ... (#163027)"
Reverts commit c8c86efbbb55e51597c1bd8feb2e947bc0de3422 while I investigate bot
failures, e.g. https://lab.llvm.org/buildbot/#/builders/187/builds/12743.
Commit: cc88a3b8df21a04b688fccbdf239bd8329283100
https://github.com/llvm/llvm-project/commit/cc88a3b8df21a04b688fccbdf239bd8329283100
Author: Reid Kleckner <rnk at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add dep for MLIR 5a112de (#164331)
Commit: c9124a1b0853899bdd22d267124551ec4d720a23
https://github.com/llvm/llvm-project/commit/c9124a1b0853899bdd22d267124551ec4d720a23
Author: jimingham <jingham at apple.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h
M lldb/source/Breakpoint/BreakpointLocationCollection.cpp
M lldb/source/Target/StopInfo.cpp
A lldb/test/API/functionalities/breakpoint/callback_deletes_breakpoints/Makefile
A lldb/test/API/functionalities/breakpoint/callback_deletes_breakpoints/TestCallbackDeletesBreakpoints.py
A lldb/test/API/functionalities/breakpoint/callback_deletes_breakpoints/main.c
Log Message:
-----------
Fix a potential use-after-free in StopInfoBreakpoint. (#163471)
StopInfoBreakpoint keeps a BreakpointLocationCollection for all the
breakpoint locations at the BreakpointSite that was hit. It is also
lives through the time a given thread is stopped, so there are plenty of
opportunities for one of the owning breakpoints to get deleted.
But BreakpointLocations don't keep their owner Breakpoints alive, so if
the BreakpointLocationCollection can live past when some code gets a
chance to delete an owner breakpoint, and then you ask that location for
some breakpoint information, it will access freed memory.
This wasn't a problem before PR #158128 because the StopInfoBreakpoint
just kept the BreakpointSite that was hit, and when you asked it
questions, it relooked up that list. That was not great, however,
because if you hit breakpoints 5 & 6, deleted 5 and then asked which
breakpoints got hit, you would just get 6. For that and other reasons
that PR changed to storing a BreakpointLocationCollection of the
breakpoints that were hit. That's better from a UI perspective but
caused this potential problem.
I fix it by adding a variant of the BreakpointLocationCollection that
also holds onto a shared pointer to the Breakpoints that own the
locations that were hit, thus keeping them alive till the
StopInfoBreakpoint goes away.
This fixed the ASAN assertion. I also added a test that works harder to
cause trouble by deleting breakpoints during a stop.
Commit: 750d81ab992f838106f0bce816f08c1abda2ac3d
https://github.com/llvm/llvm-project/commit/750d81ab992f838106f0bce816f08c1abda2ac3d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
Log Message:
-----------
[lldb][ValueObject][NFC] Remove unused SyntheticChildrenFrontEnd member (#164249)
These `IsValid`/`SetValid` APIs are only ever used from 1 data-formatter
in the Swift LLDB fork. Since all the APIs on
`SyntheticChildrenFrontEnd` are meant to be overriden, there is no good
way to enforce calling `IsValid` from the base. And we should just let
that 1 data-formatter manage its own `IsValid` state.
Commit: 0833b48760efb72318952f1f0eb4cbd45eb941f4
https://github.com/llvm/llvm-project/commit/0833b48760efb72318952f1f0eb4cbd45eb941f4
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
M clang/lib/Analysis/FlowSensitive/Models/CMakeLists.txt
A clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTest.cpp
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.h
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/Models/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
Reapply "[FlowSensitive] [StatusOr] [2/N] Add minimal model" (#164040) (#164305)
This reverts commit eed8d3aa4aa6efe01fcf7bd56015b671f5f18e29.
Commit: f0f2f71c8d2bacb9d41b37fdf2a23fbbc73fb601
https://github.com/llvm/llvm-project/commit/f0f2f71c8d2bacb9d41b37fdf2a23fbbc73fb601
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] fix typos in RenamerCheck (#164338)
Commit: f3805fc187705a322a07ed832f153c442d00d495
https://github.com/llvm/llvm-project/commit/f3805fc187705a322a07ed832f153c442d00d495
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][NFC] fix typos in ReleaseNotes (#164339)
Commit: e32f08f4e45f4c39dcd029b32dc0ed3673357656
https://github.com/llvm/llvm-project/commit/e32f08f4e45f4c39dcd029b32dc0ed3673357656
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rv64zbs.ll
Log Message:
-----------
[RISCV] Use shiftMaskXLen for one of the BCLR patterns. (#164206)
This allows us to remove AND from the shift amount when DAG combine
has replaced (not (shl 1, X)) with (rotl -2, X). SimplifyDemandedBits
will often simplify the rotl case on its own, but not if the masked
shift amount has multiple users.
Commit: 896d546cf3924779066a311d21e04a3dd1f1f428
https://github.com/llvm/llvm-project/commit/896d546cf3924779066a311d21e04a3dd1f1f428
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
AMDGPU: Refactor three-address conversion (NFC) (#162558)
Extract the core of the instruction rewriting into an implementation
method, and unify the update of live variables / intervals updates in
its caller.
This is intended to help make future changes to three-address conversion
more robust.
Commit: de21b0d62ebf072675ec8fe178db0d4ebd0da10d
https://github.com/llvm/llvm-project/commit/de21b0d62ebf072675ec8fe178db0d4ebd0da10d
Author: Jim Lin <jim at andestech.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use CONCAT_VECTORS instead of INSERT_SUBVECTOR. NFC. (#164226)
Commit: 005ec78b71c8790a58cb1124e8ca2fcf47a880a0
https://github.com/llvm/llvm-project/commit/005ec78b71c8790a58cb1124e8ca2fcf47a880a0
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
Log Message:
-----------
[AArch64][CostModel] Add constraints on which partial reductions are (#163728)
natively supported on Neon and SVE
PR #158641 refined and refactored the cost model for partial reductions.
While doing so, it missed out on certain constraints. Specifically,
cases like i32 -> i64 partial reduce are not natively supported. This
patch adds back the condition/constraint that was present before PR
#158641
Commit: 8521ffdfaaf43057219b6f83d4a0c744ab3e66a6
https://github.com/llvm/llvm-project/commit/8521ffdfaaf43057219b6f83d4a0c744ab3e66a6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
R llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-parent-multi-copyables.ll
Log Message:
-----------
Revert "[SLP] Check all copyable children for non-schedulable parent nodes"
This reverts commit e7f370f910701b6c67d41dab80e645227692c58b to fix
buildbots https://lab.llvm.org/buildbot/#/builders/213/builds/1056.
Commit: 9173846640767d3bb2f0d8402c91a9b3b043668f
https://github.com/llvm/llvm-project/commit/9173846640767d3bb2f0d8402c91a9b3b043668f
Author: Lang Hames <lhames at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
A llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
Log Message:
-----------
Reapply "[ORC] Replace ORC's baked-in dependence ... (#163027)" with … (#164340)
…fixes.
This reapplies c8c86efbbb5, which was reverted in 13ca8723d1b due to bot
failures. Those failures were compilation errors exposed when LLVM is
built with LLVM_ENABLE_EXPENSIVE_CHECKS=On. They have been fixed in this
commit.
Commit: f3a60cf8dd602958f706c11db66e401257364be7
https://github.com/llvm/llvm-project/commit/f3a60cf8dd602958f706c11db66e401257364be7
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
A llvm/test/CodeGen/Hexagon/insert-big.ll
Log Message:
-----------
[Hexagon] Incorrect MIR after "hexinsert" pass (#164021)
The "hexinsert" pass tries to replace bitfield operations with Hexagon
`insert` instructions. To limit memory usage, there is a limit on the
internal table size. When the limit is reached, the state is not
correctly cleaned up so defs from from new `insert` instructions are not
deleted after processing the basic block. Later, these defs can be
incorrectly used in other basic blocks even they are not reachable. Then
compiler will crash with:
*** Bad machine code: Virtual register defs don't dominate all uses. ***
Fixes: #163774
Commit: b74801ad8790e35eeaa03bf2359683f3378269c5
https://github.com/llvm/llvm-project/commit/b74801ad8790e35eeaa03bf2359683f3378269c5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/test/TableGen/RuntimeLibcallEmitter.td
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
TableGen: Use IfDefEmitter (#164209)
Commit: 9c3ed5a389ce04c78d9738c3a7537ff9c702f420
https://github.com/llvm/llvm-project/commit/9c3ed5a389ce04c78d9738c3a7537ff9c702f420
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] remove unused function (#164351)
Commit: 69d97a6531bb36d620775159308915884b26eae6
https://github.com/llvm/llvm-project/commit/69d97a6531bb36d620775159308915884b26eae6
Author: ShivaChen <32083954+ShivaChen at users.noreply.github.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
Log Message:
-----------
[mlir][tosa] Remove Tosa MulOp Commutative attribute (#163312)
The patch motivates by following cases in Tosa Conformance Test.
conformance/operators/ew_binary/mul/mul_21x44_i8_perm0_shift0_dyn
conformance/operators/ew_binary/mul/mul_44x57_i16_perm0_shift0_dyn
conformance/operators/ew_binary/mul/mul_52x31_i32_perm0_shift8_dyn
Shift operand could be non-constant when dynamic extension enabled. With
Commutative attribute, all the operands would be treated as commutative.
Shift operand could be reordered with one of the MulOp inputs
incorrectly in above cases.
Would there have better way to fix the issue?
Commit: 0da6cca6c34dfc0faf969a4abf4daa53c1d16d5a
https://github.com/llvm/llvm-project/commit/0da6cca6c34dfc0faf969a4abf4daa53c1d16d5a
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
A clang/test/SemaTemplate/GH164330.cpp
Log Message:
-----------
[clang] fix handling of packs in TransformSubstNonTypeTemplateParmExpr (#164350)
Since this regression was never released, there are no release notes.
Fixes #164330
Commit: 378e4ed1acf94ee911e2ccfda0045ac3fdc9e291
https://github.com/llvm/llvm-project/commit/378e4ed1acf94ee911e2ccfda0045ac3fdc9e291
Author: timon-ul <timon.ulrich at advantest.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/Index.cpp
M clang-tools-extra/clangd/index/Index.h
M clang-tools-extra/clangd/index/MemIndex.cpp
M clang-tools-extra/clangd/index/MemIndex.h
M clang-tools-extra/clangd/index/Merge.cpp
M clang-tools-extra/clangd/index/Merge.h
M clang-tools-extra/clangd/index/ProjectAware.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/Dex.h
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/Service.proto
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
Log Message:
-----------
[clangd] Show callers of base functions in incomingCalls (#163024)
If call hierarchy incoming calls is invoked on a virtual function, clangd
now returns the callers of base functions as well.
The patch also introduces a protocol extension to annotate such calls
differently (as they may or may not actually call the target function),
so that clients can visualize these callers differently if they wish.
Commit: 7a5435351d7cc26e6e3d7d66c3b5317e217521bf
https://github.com/llvm/llvm-project/commit/7a5435351d7cc26e6e3d7d66c3b5317e217521bf
Author: Wenju He <wenju.he at intel.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libclc/clc/lib/generic/math/clc_nan.inc
Log Message:
-----------
[libclc] Fix double NAN_MASK in __clc_nan (#163522)
0x7ff0000000000000 is +inf. Change it to quiet nan 0x7ff8000000000000.
Commit: d10af9d39805fb05d7e36cc815ce19014f6b4dae
https://github.com/llvm/llvm-project/commit/d10af9d39805fb05d7e36cc815ce19014f6b4dae
Author: Brad Smith <brad at comstyle.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M openmp/runtime/src/z_Linux_asm.S
Log Message:
-----------
[OpenMP][AArch64] Enable BTI and PAC support on OpenBSD (#164337)
Commit: af6fa77a351e64563ef8abe4af2ab65e6aa669fa
https://github.com/llvm/llvm-project/commit/af6fa77a351e64563ef8abe4af2ab65e6aa669fa
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUBarrierLatency.cpp
A llvm/lib/Target/AMDGPU/AMDGPUBarrierLatency.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
A llvm/test/CodeGen/AMDGPU/schedule-barrier-latency.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
Log Message:
-----------
[AMDGPU] Add DAG mutation to improve scheduling before barriers (#142716)
Add scheduler DAG mutation to add data dependencies between atomic
fences and preceding memory reads. This allows some modelling of the
impact an atomic fence can have on outstanding memory accesses.
This is beneficial when a fence would cause wait count insertion, as
more instructions will be scheduled before the fence hiding memory
latency.
Commit: 467a0c30a4458b2155f658123ee802ecb91942de
https://github.com/llvm/llvm-project/commit/467a0c30a4458b2155f658123ee802ecb91942de
Author: Jim Lin <jim at andestech.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Remove remapping Zfinx register classes to GPR class in getRegForInlineAsmConstraint. (#164352)
The codegen for Zfinx has been supported. So we don't need to remap
Zfinx register classes to GPR class.
Commit: e0bc38226c903937faaef9766b76bda9e8f0cb5d
https://github.com/llvm/llvm-project/commit/e0bc38226c903937faaef9766b76bda9e8f0cb5d
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/lib/Optimizer/Dialect/MIF/CMakeLists.txt
Log Message:
-----------
[flang] Fix standalone build regression from #161179 (#164309)
Fix incorrect linking and dependencies introduced in #161179 that break
standalone builds of Flang.
Signed-off-by: Michał Górny <mgorny at gentoo.org>
Commit: e4f3e9a3d1a3d78675fb3daa16cb6e97405f6627
https://github.com/llvm/llvm-project/commit/e4f3e9a3d1a3d78675fb3daa16cb6e97405f6627
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Remove magic constants from V_PK_ADD_F32 pattern. NFC (#164335)
Commit: 07d47c792b980746ab1ff5ea3f346c87b024bd51
https://github.com/llvm/llvm-project/commit/07d47c792b980746ab1ff5ea3f346c87b024bd51
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
M llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-barriers.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-cluster.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
Log Message:
-----------
[AMDGPU] Update code sequence for CU-mode Release Fences in GFX10+ (#161638)
They were previously optimized to not emit any waitcnt, which is
technically correct because there is no reordering of operations at
workgroup scope in CU mode for GFX10+.
This breaks transitivity however, for example if we have the following
sequence of events in one thread:
- some stores
- store atomic release syncscope("workgroup")
- barrier
then another thread follows with
- barrier
- load atomic acquire
- store atomic release syncscope("agent")
It does not work because, while the other thread sees the stores, it
cannot release them at the wider scope. Our release fences aren't strong
enough to "wait" on stores from other waves.
We also cannot strengthen our release fences any further to allow for
releasing other wave's stores because only GFX12 can do that with
`global_wb`. GFX10-11 do not have the writeback instruction.
It'd also add yet another level of complexity to code sequences, with
both acquire/release having CU-mode only alternatives.
Lastly, acq/rel are always used together. The price for synchronization
has to be paid either at the acq, or the rel. Strengthening the releases
would just make the memory model more complex but wouldn't help
performance.
So the choice here is to streamline the code sequences by making CU and
WGP mode emit almost identical (vL0 inv is not needed in CU mode) code
for release (or stronger) atomic ordering.
This also removes the `vm_vsrc(0)` wait before barriers. Now that the
release fence in CU mode is strong enough, it is no longer needed.
Supersedes #160501
Solves SC1-6454
Commit: ec26f219acce77fb9b3d52abd31b0e639e788514
https://github.com/llvm/llvm-project/commit/ec26f219acce77fb9b3d52abd31b0e639e788514
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/ptrtoaddr.ll
Log Message:
-----------
[InstSimplify] Support ptrtoaddr in simplifyGEPInst() (#164262)
This adds support for ptrtoaddr in the `ptradd p, ptrtoaddr(p2) -
ptrtoaddr(p) -> p2` fold.
This fold requires that p and p2 have the same underlying object
(otherwise the provenance may not be the same).
The argument I would like to make here is that because the underlying
objects are the same (and the pointers in the same address space), the
non-address bits of the pointer must be the same. Looking at some
specific cases of underlying object relationship:
* phi/select: Trivially true.
* getelementptr: Only modifies address bits, non-address bits must
remain the same.
* addrspacecast round-trip cast: Must preserve all bits because we
optimize such round-trip casts away.
* non-interposable global alias: I'm a bit unsure about this one, but I
guess the alias and the aliasee must have the same non-address bits?
* various intrinsics like launder.invariant.group, ptrmask. I think
these all either preserve all pointer bits (like the invariant.group
ones) or at least the non-address bits (like ptrmask). There are some
interesting cases like amdgcn.make.buffer.rsrc, but those are cross
address-space.
-----
There is a second `gep (gep p, C), (sub 0, ptrtoint(p)) -> C` transform
in this function, which I am not extending to handle ptrtoaddr, adding
negative tests instead. This transform is overall dubious for provenance
reasons, but especially dubious with ptrtoaddr, as then we don't have
the guarantee that provenance of `p` has been exposed.
Commit: db478ba75d342c4926685a90206bfb630c39f19e
https://github.com/llvm/llvm-project/commit/db478ba75d342c4926685a90206bfb630c39f19e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/test/CodeGen/Hexagon/insert-big.ll
Log Message:
-----------
[Hexagon] Add REQUIRES: asserts to test
This test uses -debug-only, so needs an assertion-enabled build.
Commit: 34c6fa3071227166390849161180ab321c27035f
https://github.com/llvm/llvm-project/commit/34c6fa3071227166390849161180ab321c27035f
Author: David Green <david.green at arm.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
Log Message:
-----------
[AArch64] Combing scalar_to_reg into DUP if the DUP already exists (#160499)
If we already have a dup(x) as part of the DAG along with a
scalar_to_vec(x), we can re-use the result of the dup to the
scalar_to_vec(x).
Commit: 1bf7ed27c1929152d876f9965895fd87ec8ccee4
https://github.com/llvm/llvm-project/commit/1bf7ed27c1929152d876f9965895fd87ec8ccee4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/CAS/OnDiskGraphDB.h
M llvm/lib/CAS/OnDiskGraphDB.cpp
Log Message:
-----------
[CAS] OnDiskGraphDB - fix MSVC "not all control paths return a value" warnings. NFC. (#164369)
Commit: 253e43590842bffcc6950cc517a7f89cafe5ec69
https://github.com/llvm/llvm-project/commit/253e43590842bffcc6950cc517a7f89cafe5ec69
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__hash_table
M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_range.pass.cpp
M libcxx/test/std/containers/unord/unord.multiset/erase_range.pass.cpp
Log Message:
-----------
Reapply "[libc++] Optimize __hash_table::erase(iterator, iterator)" (#162850)
This reapplication fixes the use after free caused by not properly
updating the bucket list in one case.
Original commit message:
Instead of just calling the single element `erase` on every element of
the range, we can combine some of the operations in a custom
implementation. Specifically, we don't need to search for the previous
node or re-link the list every iteration. Removing this unnecessary work
results in some nice performance improvements:
```
-----------------------------------------------------------------------------------------------------------------------
Benchmark old new
-----------------------------------------------------------------------------------------------------------------------
std::unordered_set<int>::erase(iterator, iterator) (erase half the container)/0 457 ns 459 ns
std::unordered_set<int>::erase(iterator, iterator) (erase half the container)/32 995 ns 626 ns
std::unordered_set<int>::erase(iterator, iterator) (erase half the container)/1024 18196 ns 7995 ns
std::unordered_set<int>::erase(iterator, iterator) (erase half the container)/8192 124722 ns 70125 ns
std::unordered_set<std::string>::erase(iterator, iterator) (erase half the container)/0 456 ns 461 ns
std::unordered_set<std::string>::erase(iterator, iterator) (erase half the container)/32 1183 ns 769 ns
std::unordered_set<std::string>::erase(iterator, iterator) (erase half the container)/1024 27827 ns 18614 ns
std::unordered_set<std::string>::erase(iterator, iterator) (erase half the container)/8192 266681 ns 226107 ns
std::unordered_map<int, int>::erase(iterator, iterator) (erase half the container)/0 455 ns 462 ns
std::unordered_map<int, int>::erase(iterator, iterator) (erase half the container)/32 996 ns 659 ns
std::unordered_map<int, int>::erase(iterator, iterator) (erase half the container)/1024 15963 ns 8108 ns
std::unordered_map<int, int>::erase(iterator, iterator) (erase half the container)/8192 136493 ns 71848 ns
std::unordered_multiset<int>::erase(iterator, iterator) (erase half the container)/0 454 ns 455 ns
std::unordered_multiset<int>::erase(iterator, iterator) (erase half the container)/32 985 ns 703 ns
std::unordered_multiset<int>::erase(iterator, iterator) (erase half the container)/1024 16277 ns 9085 ns
std::unordered_multiset<int>::erase(iterator, iterator) (erase half the container)/8192 125736 ns 82710 ns
std::unordered_multimap<int, int>::erase(iterator, iterator) (erase half the container)/0 457 ns 454 ns
std::unordered_multimap<int, int>::erase(iterator, iterator) (erase half the container)/32 1091 ns 646 ns
std::unordered_multimap<int, int>::erase(iterator, iterator) (erase half the container)/1024 17784 ns 7664 ns
std::unordered_multimap<int, int>::erase(iterator, iterator) (erase half the container)/8192 127098 ns 72806 ns
```
This reverts commit acc3a6234a91369b818fdd6482ded0ac32d8ffa6.
Commit: 8da0df49568206544f64eea890e51354d04187cd
https://github.com/llvm/llvm-project/commit/8da0df49568206544f64eea890e51354d04187cd
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen] List the indices of sub-operands (#163723)
Some instances of the `Operand` class used in Tablegen instruction
definitions expand to a cluster of multiple operands at the MC layer,
such as complex addressing modes involving base + offset + shift, or
clusters of operands describing conditional Arm instructions or
predicated MVE instructions. There's currently no convenient way for C++
code to know the offset of one of those sub-operands from the start of
the cluster: instead it just hard-codes magic numbers like `index+2`,
which is hard to read and fragile.
This patch adds an extra piece of output to `InstrInfoEmitter` to define
those instruction offsets, based on the name of the `Operand` class
instance in Tablegen, and the names assigned to the sub-operands in the
`MIOperandInfo` field. For example, if target Foo were to define
def Bar : Operand {
let MIOperandInfo = (ops GPR:$first, i32imm:$second);
// ...
}
then the new constants would be `Foo::SUBOP_Bar_first` and
`Foo::SUBOP_Bar_second`, defined as 0 and 1 respectively.
As an example, I've converted some magic numbers related to the MVE
predication operand types (`vpred_n` and its superset `vpred_r`) to use
the new named constants in place of the integer literals they previously
used. This is more verbose, but also clearer, because it explains why
the integer is chosen instead of what its value is.
Commit: f188c97cc193773071b0b61ebf214705fb84189e
https://github.com/llvm/llvm-project/commit/f188c97cc193773071b0b61ebf214705fb84189e
Author: Daniel Sanders <daniel_l_sanders at apple.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
M lldb/test/API/functionalities/gdb_remote_client/TestContinue.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteLoad.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
Log Message:
-----------
[lldb] Add bidirectional packetLog to gdbclientutils.py (#162176)
While debugging the tests for #155000 I found it helpful to have both
sides
of the simulated gdb-rsp traffic rather than just the responses so I've
extended
the packetLog in MockGDBServerResponder to record traffic in both
directions.
Tests have been updated accordingly
Commit: 00092f9bdd1d5037a5f4c8f3059e31e32aee6e8d
https://github.com/llvm/llvm-project/commit/00092f9bdd1d5037a5f4c8f3059e31e32aee6e8d
Author: Keshav Vinayak Jha <31160700+keshavvinayak01 at users.noreply.github.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[MLIR] [Vector] Added canonicalizer for folding from_elements + transpose (#161841)
## Description
Adds a new canonicalizer that folds
`vector.from_elements(vector.transpose))` => `vector.from_elements`.
This canonicalization reorders the input elements for
`vector.from_elements`, adjusts the output shape to match the effect of
the transpose op and eliminating its need.
## Testing
Added a 2D vector lit test that verifies the working of the rewrite.
---------
Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>
Commit: ab789beffdf68c65722203250d3094c15466459f
https://github.com/llvm/llvm-project/commit/ab789beffdf68c65722203250d3094c15466459f
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
A llvm/test/Analysis/DependenceAnalysis/monotonicity-cast.ll
A llvm/test/Analysis/DependenceAnalysis/monotonicity-delinearize.ll
A llvm/test/Analysis/DependenceAnalysis/monotonicity-invariant.ll
A llvm/test/Analysis/DependenceAnalysis/monotonicity-no-wrap-flags.ll
A llvm/test/Analysis/DependenceAnalysis/non-monotonic.ll
Log Message:
-----------
[DA] Add initial support for monotonicity check (#162280)
The dependence testing functions in DA assume that the analyzed AddRec
does not wrap over the entire iteration space. For AddRecs that may
wrap, DA should conservatively return unknown dependence. However, no
validation is currently performed to ensure that this condition holds,
which can lead to incorrect results in some cases.
This patch introduces the notion of *monotonicity* and a validation
logic to check whether a SCEV is monotonic. The monotonicity check
classifies the SCEV into one of the following categories:
- Unknown: Nothing is known about the monotonicity of the SCEV.
- Invariant: The SCEV is loop-invariant.
- MultivariateSignedMonotonic: The SCEV doesn't wrap in a signed sense
for any iteration of the loops in the loop nest.
The current validation logic basically searches an affine AddRec
recursively and checks whether the `nsw` flag is present. Notably, it is
still unclear whether we should also have a category for unsigned
monotonicity.
The monotonicity check is still under development and disabled by
default for now. Since such a check is necessary to make DA sound, it
should be enabled by default once the functionality is sufficient.
Split off from #154527.
Commit: aafd29cf26713ef6e9edd9fc5bc27baad08980d7
https://github.com/llvm/llvm-project/commit/aafd29cf26713ef6e9edd9fc5bc27baad08980d7
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
A .ci/premerge_advisor_explain.py
M .ci/utils.sh
M .github/CODEOWNERS
M .github/workflows/pr-code-lint.yml
M bolt/lib/Rewrite/RewriteInstance.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/Index.cpp
M clang-tools-extra/clangd/index/Index.h
M clang-tools-extra/clangd/index/MemIndex.cpp
M clang-tools-extra/clangd/index/MemIndex.h
M clang-tools-extra/clangd/index/Merge.cpp
M clang-tools-extra/clangd/index/Merge.h
M clang-tools-extra/clangd/index/ProjectAware.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/Dex.h
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/Service.proto
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/lit.cfg.py
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/include-cleaner/test/Unit/lit.cfg.py
M clang-tools-extra/test/Unit/lit.cfg.py
A clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
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/include/clang/Driver/Distro.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Analysis/FlowSensitive/Models/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
A clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CodeGenTypeCache.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/Driver/Distro.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Headers/__clang_hip_runtime_wrapper.h
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512dqintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512vldqintrin.h
M clang/lib/Headers/avx512vlintrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/test/AST/ByteCode/c.c
M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
M clang/test/Analysis/z3-crosscheck-max-attempts.cpp
M clang/test/Analysis/z3/D83660.c
A clang/test/CIR/CodeGen/agg-expr-lvalue.c
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/compound_literal.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/opaque.cpp
M clang/test/CIR/CodeGen/struct.cpp
A clang/test/CIR/CodeGen/ternary-throw.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512dq-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vldq-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/X86/sse41-builtins.c
A clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
A clang/test/SemaTemplate/GH164330.cpp
M clang/test/Unit/lit.cfg.py
M clang/test/lit.cfg.py
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTest.cpp
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.h
M clang/unittests/Driver/MultilibBuilderTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M compiler-rt/lib/builtins/gcc_personality_v0.c
M flang-rt/lib/cuda/kernel.cpp
M flang/include/flang/Lower/OpenMP/Clauses.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/tools.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Dialect/MIF/CMakeLists.txt
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/tools.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Lower/CUDA/cuda-cloc.cuf
M flang/test/Lower/OpenACC/acc-unstructured.f90
M flang/test/Parser/OpenMP/requires.f90
M flang/test/Semantics/OpenMP/combined-constructs.f90
M flang/test/Semantics/OpenMP/do05.f90
M flang/test/Semantics/OpenMP/linear-iter.f90
M flang/test/Semantics/OpenMP/nested-distribute.f90
M libclc/clc/lib/generic/math/clc_nan.inc
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__hash_table
M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_range.pass.cpp
M libcxx/test/std/containers/unord/unord.multiset/erase_range.pass.cpp
M libcxx/utils/compare-benchmarks
M libcxxabi/include/__cxxabi_config.h
M libcxxabi/src/cxa_exception.cpp
M libcxxabi/src/cxa_exception.h
M libcxxabi/src/cxa_personality.cpp
M libunwind/include/__libunwind_config.h
M libunwind/include/libunwind.h
M libunwind/src/AddressSpace.hpp
M libunwind/src/CompactUnwinder.hpp
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/Registers.hpp
M libunwind/src/UnwindCursor.hpp
M libunwind/src/UnwindLevel1.c
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
M libunwind/src/libunwind.cpp
M lld/ELF/ScriptParser.cpp
M lldb/docs/resources/lldbgdbremote.md
M lldb/include/lldb/API/SBMutex.h
M lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
M lldb/source/API/SBMutex.cpp
M lldb/source/Breakpoint/BreakpointLocationCollection.cpp
M lldb/source/Target/StopInfo.cpp
A lldb/test/API/functionalities/breakpoint/callback_deletes_breakpoints/Makefile
A lldb/test/API/functionalities/breakpoint/callback_deletes_breakpoints/TestCallbackDeletesBreakpoints.py
A lldb/test/API/functionalities/breakpoint/callback_deletes_breakpoints/main.c
M lldb/test/API/functionalities/gdb_remote_client/TestContinue.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteLoad.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
A lldb/test/API/tools/lldb-dap/invalidated-event/Makefile
A lldb/test/API/tools/lldb-dap/invalidated-event/TestDAP_invalidatedEvent.py
A lldb/test/API/tools/lldb-dap/invalidated-event/main.cpp
A lldb/test/API/tools/lldb-dap/invalidated-event/other.h
M lldb/tools/debugserver/source/RNBRemote.cpp
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/RequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
M lldb/tools/lldb-dap/package.json
M lldb/unittests/API/SBMutexTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CodingStandards.rst
M llvm/docs/CommandGuide/lit.rst
M llvm/include/llvm/ADT/StringSwitch.h
M llvm/include/llvm/ADT/bit.h
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/CAS/OnDiskDataAllocator.h
A llvm/include/llvm/CAS/OnDiskGraphDB.h
A llvm/include/llvm/CAS/OnDiskKeyValueDB.h
A llvm/include/llvm/CodeGen/MIRFSDiscriminatorOptions.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
A llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/Support/MathExtras.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/MLInlineAdvisor.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/CAS/CMakeLists.txt
M llvm/lib/CAS/OnDiskCommon.cpp
M llvm/lib/CAS/OnDiskCommon.h
M llvm/lib/CAS/OnDiskDataAllocator.cpp
A llvm/lib/CAS/OnDiskGraphDB.cpp
A llvm/lib/CAS/OnDiskKeyValueDB.cpp
M llvm/lib/CodeGen/MIRFSDiscriminator.cpp
M llvm/lib/CodeGen/MIRSampleProfile.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/lib/Target/AMDGPU/AMDGPUBarrierLatency.cpp
A llvm/lib/Target/AMDGPU/AMDGPUBarrierLatency.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/Hexagon.h
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
A llvm/lib/Target/Hexagon/HexagonQFPOptimizer.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/WindowsDriver/MSVCPaths.cpp
A llvm/test/Analysis/DependenceAnalysis/monotonicity-cast.ll
A llvm/test/Analysis/DependenceAnalysis/monotonicity-delinearize.ll
A llvm/test/Analysis/DependenceAnalysis/monotonicity-invariant.ll
A llvm/test/Analysis/DependenceAnalysis/monotonicity-no-wrap-flags.ll
A llvm/test/Analysis/DependenceAnalysis/non-monotonic.ll
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/arm64-copy-phys-zero-reg.mir
M llvm/test/CodeGen/AArch64/arm64-early-ifcvt.ll
M llvm/test/CodeGen/AArch64/peephole-csel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-lastuse-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-barriers.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
A llvm/test/CodeGen/AMDGPU/memory-legalizer-lds-dma-volatile-and-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-cluster.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
A llvm/test/CodeGen/AMDGPU/schedule-barrier-latency.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
A llvm/test/CodeGen/BPF/BTF/variant-part.ll
A llvm/test/CodeGen/Hexagon/insert-big.ll
A llvm/test/CodeGen/Hexagon/qfp-conv.ll
A llvm/test/CodeGen/Hexagon/qfp-enabled.ll
A llvm/test/CodeGen/Hexagon/qfp-remove-kill.mir
A llvm/test/CodeGen/Hexagon/qfp-subreg-bug.mir
A llvm/test/CodeGen/Hexagon/qfpopt-rem-conv-add.ll
A llvm/test/CodeGen/Hexagon/vect/qfp-mix.mir
A llvm/test/CodeGen/Hexagon/vect/qfp-zeroinit.mir
A llvm/test/CodeGen/Hexagon/vect/unique-vreg-def.ll
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rv64zbs.ll
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sme-aarch64-svcount-mini.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sme-aarch64-svcount.ll
M llvm/test/TableGen/RuntimeLibcallEmitter.td
A llvm/test/Transforms/GVNSink/ptrtoaddr.ll
A llvm/test/Transforms/Inline/ML/recursive.ll
R llvm/test/Transforms/InstCombine/ptrtoaddr.ll
A llvm/test/Transforms/InstSimplify/ptrtoaddr.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/div-like-mixed-with-undefs.ll
M llvm/test/Transforms/SpeculativeExecution/spec-casts.ll
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
M llvm/tools/llvm-config/llvm-config.cpp
M llvm/tools/llvm-xray/func-id-helper.h
M llvm/tools/llvm-xray/trie-node.h
M llvm/tools/llvm-xray/xray-account.cpp
M llvm/tools/llvm-xray/xray-account.h
M llvm/tools/llvm-xray/xray-color-helper.h
M llvm/tools/llvm-xray/xray-converter.cpp
M llvm/tools/llvm-xray/xray-converter.h
M llvm/tools/llvm-xray/xray-extract.cpp
M llvm/tools/llvm-xray/xray-graph-diff.cpp
M llvm/tools/llvm-xray/xray-graph-diff.h
M llvm/tools/llvm-xray/xray-graph.cpp
M llvm/tools/llvm-xray/xray-graph.h
M llvm/tools/llvm-xray/xray-registry.cpp
M llvm/tools/llvm-xray/xray-registry.h
M llvm/tools/llvm-xray/xray-stacks.cpp
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.h
M llvm/tools/opt/opt.cpp
M llvm/tools/opt/optdriver.cpp
M llvm/unittests/ADT/BitTest.cpp
M llvm/unittests/ADT/StringSwitchTest.cpp
M llvm/unittests/CAS/CASTestConfig.cpp
M llvm/unittests/CAS/CASTestConfig.h
M llvm/unittests/CAS/CMakeLists.txt
A llvm/unittests/CAS/OnDiskCommonUtils.h
A llvm/unittests/CAS/OnDiskGraphDBTest.cpp
A llvm/unittests/CAS/OnDiskKeyValueDBTest.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/Models/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
M llvm/utils/lit/tests/Inputs/googletest-cmd-wrapper/lit.cfg
M mlir/docs/DialectConversion.md
M mlir/docs/Dialects/GPU.md
M mlir/include/mlir-c/Target/LLVMIR.h
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
A mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/CAPI/Target/LLVMIR.cpp
M mlir/lib/Dialect/OpenACC/CMakeLists.txt
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
A mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
M mlir/lib/Dialect/Quant/IR/TypeParser.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVGLCanonicalization.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/dialects/gpu/__init__.py
M mlir/test/Dialect/OpenACC/ops.mlir
M mlir/test/Dialect/SCF/for-loop-peeling-front.mlir
M mlir/test/Dialect/SCF/for-loop-peeling.mlir
M mlir/test/Dialect/SPIRV/Transforms/gl-canonicalize.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
A mlir/test/Target/SPIRV/function-decorations-asserts.mlir
M mlir/test/Target/SPIRV/function-decorations.mlir
M mlir/test/python/dialects/gpu/dialect.py
M mlir/test/python/dialects/llvm.py
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCUtilsTest.cpp
A offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member.cpp
A offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member_ref.cpp
A offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member_ref_with_map.cpp
A offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member_with_map.cpp
A offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member.cpp
A offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref.cpp
A offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref_with_map.cpp
A offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_with_map.cpp
M openmp/runtime/src/z_Linux_asm.S
M polly/test/Unit/lit.cfg
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/kasuga-fj/da-option-to-select-routine
Compare: https://github.com/llvm/llvm-project/compare/71f34cf6a90c...aafd29cf2671
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