[all-commits] [llvm/llvm-project] bfde14: [NFC][AMDGPU] Update and.ll test and automate chec...
Diana Picus via All-commits
all-commits at lists.llvm.org
Thu Jun 26 02:06:30 PDT 2025
Branch: refs/heads/users/rovka/whole-wave-funcs
Home: https://github.com/llvm/llvm-project
Commit: bfde1477617f6c35e5218bb8dbcf7b3905ce0cdd
https://github.com/llvm/llvm-project/commit/bfde1477617f6c35e5218bb8dbcf7b3905ce0cdd
Author: Chris Jackson <chris.jackson at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/and.ll
Log Message:
-----------
[NFC][AMDGPU] Update and.ll test and automate check line generation (#145371)
- Convert the test to use update_llc_test_checks.py.
- Use different check prefixes for the different -mcpu options.
- Remove unused xnack 'off' flag.
Commit: 4d2b79b04a9ebd6c678c465c9a4b1f311ccfbfc2
https://github.com/llvm/llvm-project/commit/4d2b79b04a9ebd6c678c465c9a4b1f311ccfbfc2
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb] Fix build for #145017
Mid-flight collision with #145293.
Commit: e8976e92f655f8c358081ffae01e10ea159cd37d
https://github.com/llvm/llvm-project/commit/e8976e92f655f8c358081ffae01e10ea159cd37d
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/Lex/Lexer.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/TokenLexer.h
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Lex/TokenLexer.cpp
Log Message:
-----------
[clang][Preprocessor] Add peekNextPPToken, makes look ahead next token without side-effects (#143898)
This PR introduce a new function `peekNextPPToken`. It's an extension of
`isNextPPTokenLParen` and can makes look ahead one token in preprocessor
without side-effects.
It's also the 1st part of
https://github.com/llvm/llvm-project/pull/107168 and it was used to look
ahead next token then determine whether current lexing pp directive is
one of pp-import or pp-module directive.
At the start of phase 4 an import or module token is treated as starting
a directive and are converted to their respective keywords iff:
- After skipping horizontal whitespace are
- at the start of a logical line, or
- preceded by an export at the start of the logical line.
- Are followed by an identifier pp token (before macro expansion), or
- <, ", or : (but not ::) pp tokens for import, or
- ; for module
Otherwise the token is treated as an identifier.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: b8769104f1ef7c040b6733e736f550eea0d97442
https://github.com/llvm/llvm-project/commit/b8769104f1ef7c040b6733e736f550eea0d97442
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Address follow-up suggestions for #128061.
Adjust naming and add argument comments as suggested.
Commit: fa5d7c926f5f571397eb1981649198136f1d6a92
https://github.com/llvm/llvm-project/commit/fa5d7c926f5f571397eb1981649198136f1d6a92
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/runInTerminal/main.c
Log Message:
-----------
[lldb][lldb-dap] Fix runInTerminal test program on Windows
Commit: ddecfa696c4929ac364053f3eef66fefe4873448
https://github.com/llvm/llvm-project/commit/ddecfa696c4929ac364053f3eef66fefe4873448
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
A clang/test/DebugInfo/KeyInstructions/atomic.c
Log Message:
-----------
[KeyInstr][Clang] Atomic ops atoms (#141624)
This patch is part of a stack that teaches Clang to generate Key
Instructions metadata for C and C++.
The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be
removed.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 1dc46d45fcf7869f7e8edc5315aec6158f77966e
https://github.com/llvm/llvm-project/commit/1dc46d45fcf7869f7e8edc5315aec6158f77966e
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
M llvm/test/DebugInfo/Generic/assignment-tracking/codegenprepare/sunk-addr.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/shared-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/do-not-remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/loop-vectorize/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/phi.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/single-block-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/single-store-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/store-to-part-of-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/optnone.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant-fwd-scan-linked.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/salvage-value.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/alloca-single-slice.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/complex.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/fail-fragment.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/rewrite.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/split-pre-fragmented-store-2.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/split-pre-fragmented-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
M llvm/test/DebugInfo/Generic/inline-alloca-ordering.ll
M llvm/test/DebugInfo/Generic/inline-dbg-values.ll
M llvm/test/Transforms/CallSiteSplitting/callsite-split-preserve-debug.ll
M llvm/test/Transforms/LoopDeletion/diundef.ll
M llvm/test/Transforms/LoopRotate/dbgvalue.ll
M llvm/test/Transforms/LoopRotate/delete-dbg-values.ll
M llvm/test/Transforms/Util/Debugify/loc-only.ll
Log Message:
-----------
[RemoveDIs] Fix rotten --implicit-check-not lines (#144711)
Commit: 8f4da2cbf055ec7b9b66d757afcba1b942385874
https://github.com/llvm/llvm-project/commit/8f4da2cbf055ec7b9b66d757afcba1b942385874
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
A mlir/test/Transforms/make-composed-folded-affine-apply.mlir
M mlir/test/lib/Transforms/TestTransformsOps.cpp
M mlir/test/lib/Transforms/TestTransformsOps.td
Log Message:
-----------
[mlir][affine] Fix min simplification in makeComposedAffineApply (#145376)
This patch fixes a bug discovered in the
`affine::makeComposedFoldedAffineApply` function when `composeAffineMin
== true`. The bug happened because the simplification assumed the
symbols appearing in the `affine.apply` op corresponded to symbols in
the `affine.min` op, and that's not always the case. For example:
```mlir
#map = affine_map<()[s0, s1] -> (s1)>
#map1 = affine_map<()[s0, s1] -> (s0 ceildiv s1)>
module {
func.func @min_max_full_simplify() -> index {
%0 = test.value_with_bounds {max = 64 : index, min = 32 : index}
%1 = test.value_with_bounds {max = 64 : index, min = 32 : index}
%2 = affine.min #map()[%0, %1]
%3 = affine.apply #map1()[%2, %0]
return %3 : index
}
}
```
This patch also introduces the test `make_composed_folded_affine_apply`
transform operation to test this simplification. It also adds tests
ensuring we get correct behavior.
---------
Co-authored-by: Nicolas Vasilache <nico.vasilache at amd.com>
Commit: db72f6cbe6344581e98c2aa2ef7f82c04c74d3d7
https://github.com/llvm/llvm-project/commit/db72f6cbe6344581e98c2aa2ef7f82c04c74d3d7
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
Log Message:
-----------
[RemoveDIs][NFC] Remove dbg intrinsic handling code from AssignmentTrackingAnalysis (#144674)
See PR for breakdown into individual commits.
Commit: 825ad86aea5016f0466347862c8f6d23894ddc5a
https://github.com/llvm/llvm-project/commit/825ad86aea5016f0466347862c8f6d23894ddc5a
Author: David Green <david.green at arm.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/double_reduct.ll
M llvm/test/CodeGen/Thumb2/mve-doublereduct.ll
Log Message:
-----------
[DAG] Fold nested add(add(reduce(a), b), add(reduce(c), d)) (#115150)
This patch reassociates `add(add(vecreduce(a), b), add(vecreduce(c),
d))` into `add(vecreduce(add(a, c)), add(b, d))`, to combine the
reductions into a single node. This comes up after unrolling vectorized
loops.
There is another small change to move reassociateReduction inside fadd
outside of a AllowNewConst block, as new constants will not be created
and it should be OK to perform the combine later after legalization.
Commit: 352baa386c10ef62ef190023e5b6a3434e84dc1f
https://github.com/llvm/llvm-project/commit/352baa386c10ef62ef190023e5b6a3434e84dc1f
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/test/Transforms/DCE/dbg-value-removal.ll
Log Message:
-----------
[RemoveDIs] Resolve RemoveRedundantDbgInstrs fwd scan FIXME (#144718)
These FIXMEs were added to keep the dbg_record implementation identical to the
dbg intrinsic versions, which have since been removed. I don't think there's any
reason for the old behaviour; my understanding is it was a minor bug no one got
round to fixing.
I've upgraded the test to be written with dbg_records while I'm here.
Commit: 9aebfde1e70cbc1e1ac5b9d5d31352a88eea834b
https://github.com/llvm/llvm-project/commit/9aebfde1e70cbc1e1ac5b9d5d31352a88eea834b
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M flang/lib/Semantics/check-directive-structure.h
M flang/test/Semantics/OpenMP/do05-positivecase.f90
Log Message:
-----------
[flang] Allow `cycle` in `target teams distribute [simd]` (#145462)
flang incorrectly issues a semantic erorr when a `cycle` statement is
used inside a `target teams distribute [simd]` associated loop. This is
not prevented by the spec, therefore this PR allows such construct.
Commit: 478583214410305fbaaafd78f5c4d0899b260522
https://github.com/llvm/llvm-project/commit/478583214410305fbaaafd78f5c4d0899b260522
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M offload/DeviceRTL/CMakeLists.txt
Log Message:
-----------
[Offload] Fix cmake warning (#145488)
Cmake was unhappy that there was no space between arguments, now it
is.
Commit: 9f3931b659f628111f0a8484eef952d82e6474c1
https://github.com/llvm/llvm-project/commit/9f3931b659f628111f0a8484eef952d82e6474c1
Author: Darren Wihandi <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/fmed3.ll
Log Message:
-----------
[AMDGPU] Fold fmed3 when inputs include infinity (#144824)
Commit: db4dc88d06a501e11f147b693bfe420d8fc40e1f
https://github.com/llvm/llvm-project/commit/db4dc88d06a501e11f147b693bfe420d8fc40e1f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - remove unnecessary bitcast handling. (#145496)
We already aggressively fold extract_subvector(bitcast()) -> bitcast(extract_subvector())
Commit: 6fe8543a2a15a2dc793790605b56d865b70c64ea
https://github.com/llvm/llvm-project/commit/6fe8543a2a15a2dc793790605b56d865b70c64ea
Author: Balázs Benics <108414871+balazs-benics-sonarsource at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
Log Message:
-----------
[analyzer][docs] Mention perfetto for visualizing trace JSONs (#145500)
Commit: e04c938cc08a90ae60440ce22d072ebc69d67ee8
https://github.com/llvm/llvm-project/commit/e04c938cc08a90ae60440ce22d072ebc69d67ee8
Author: Balázs Benics <108414871+balazs-benics-sonarsource at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/test/Analysis/PR38208.c
Log Message:
-----------
[analyzer][NFC] Add xrefs to a test case that has poor git blame (#145501)
Commit: 9186df9b088f425182c58c7eee23645a77d7591c
https://github.com/llvm/llvm-project/commit/9186df9b088f425182c58c7eee23645a77d7591c
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
A llvm/test/Transforms/Inline/simplify-crosscallsite.ll
Log Message:
-----------
[InlineCost] Simplify extractvalue across callsite (#145054)
Motivation: When using libc++, `std::bitset<64>::count()` doesn't
optimize to a single popcount instruction on AArch64, because we fail to
inline the library code completely. Inlining fails, because the internal
bit_iterator struct is passed as a [2 x i64] %arg value on AArch64. The
value is built using insertvalue instructions and only one of the array
entries is constant. If we know that this entry is constant, we can
prove that half the function becomes dead. However, InlineCost only
considers operands for simplification if they are Constants, which %arg
is not. Without this simplification the function is too expensive to
inline.
Therefore, we had to teach InlineCost to support non-Constant simplified values
(PR #145083). Now, we enable this for extractvalue, because we want to simplify
the extractvalue with the insertvalues from the caller function. This is enough to
get bitset::count fully optimized.
There are similar opportunities we can explore for BinOps in the future
(e.g. cmp eq %arg1, %arg2 when the caller passes the same value into
both arguments), but we need to be careful here, because InstSimplify
isn't completely safe to use with operands owned by different functions.
Commit: 3e98d2b0311e0ccc213a28324d723bf93fe0e5b3
https://github.com/llvm/llvm-project/commit/3e98d2b0311e0ccc213a28324d723bf93fe0e5b3
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lldb/tools/lldb-server/lldb-gdbserver.cpp
Log Message:
-----------
[lldb] Fix windows build for #145293
Commit: b77c7138a8724e5ca86ef018ef70fb9ee707c529
https://github.com/llvm/llvm-project/commit/b77c7138a8724e5ca86ef018ef70fb9ee707c529
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lld/include/lld/Common/BPSectionOrdererBase.inc
Log Message:
-----------
[lld][BP] Fix duplicate section size measurment (#145384)
Commit: 75cf826849713c00829cdf657e330e24c1a2fd03
https://github.com/llvm/llvm-project/commit/75cf826849713c00829cdf657e330e24c1a2fd03
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/test/DebugInfo/KeyInstructions/atomic.c
Log Message:
-----------
[KeyInstr][Clang] Fix atomic ops atoms test
Fixup test added in #141624 (ddecfa696c4929ac364053f3eef66fefe4873448).
Commit: 68f09370f99f1c079827f1d1e2e5774d8d2c90e3
https://github.com/llvm/llvm-project/commit/68f09370f99f1c079827f1d1e2e5774d8d2c90e3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/IR/Module.cpp
Log Message:
-----------
[Module] Use getDeclarationIfExists() (NFC)
Don't insert declarations in order to immediately remove them
again.
Commit: 8fec6d11777ad29c55f8104fc11504cadba3fc22
https://github.com/llvm/llvm-project/commit/8fec6d11777ad29c55f8104fc11504cadba3fc22
Author: David <davidgmbb at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/include/llvm-c/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/tools/llvm-c-test/debuginfo.c
Log Message:
-----------
llvm-c: Introduce 'LLVMDISubprogramReplaceType' (#143461)
The C API does not provide a way to replace the subroutine type after
creating a subprogram. This functionality is useful for creating a
subroutine type composed of types which have the subprogram as scope
Commit: 6dad1e87fb7a8de7033a315f5dd5d7c95dab32f6
https://github.com/llvm/llvm-project/commit/6dad1e87fb7a8de7033a315f5dd5d7c95dab32f6
Author: Nicolas Vasilache <nico.vasilache at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Log Message:
-----------
[mlir][transform][Linalg] NFC - DCE unused options in PadTilingInterfaceOptions
Commit: 63f30d7d820c76f3227f5905311fadfe9d208f93
https://github.com/llvm/llvm-project/commit/63f30d7d820c76f3227f5905311fadfe9d208f93
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/include/mlir/Dialect/MLProgram/IR/MLProgramOps.td
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
M mlir/unittests/Pass/AnalysisManagerTest.cpp
M mlir/unittests/Pass/PassManagerTest.cpp
M mlir/unittests/Transforms/DialectConversion.cpp
Log Message:
-----------
[mlir] Migrate away from {TypeRange,ValueRange}(std::nullopt) (NFC) (#145445)
ArrayRef has a constructor that accepts std::nullopt. This
constructor dates back to the days when we still had llvm::Optional.
Since the use of std::nullopt outside the context of std::optional is
kind of abuse and not intuitive to new comers, I would like to move
away from the constructor and eventually remove it.
This patch migrates away from TypeRagne(std::nullopt) and
ValueRange(std::nullopt).
Commit: 08513281bd141d6d3b620b9a0e9466f7c6c2c927
https://github.com/llvm/llvm-project/commit/08513281bd141d6d3b620b9a0e9466f7c6c2c927
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M bolt/test/perf2bolt/X86/perf2bolt-spe.test
Log Message:
-----------
[BOLT][test] Drop toolname from X86/perf2bolt-spe.test (#145515)
Commit: 7a4b3925598c07f5b4523a701ba6c34e483078d6
https://github.com/llvm/llvm-project/commit/7a4b3925598c07f5b4523a701ba6c34e483078d6
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Support/Windows/Process.inc
Log Message:
-----------
[Support] Remove an outdated MinGW workaround (#145294)
mingw-w64 has had the _HEAPOK define since the initial commits in 2007;
unclear when/where it was added for mingw.org headers, but it does seem
to exist there as well (at least in versions from 2011).
This workaround stems from 53fbecce6e8b7d1f024e3dc6df4160fe9a577ff1 from
2004 - it is no longer relevant today.
Commit: bd96918f01cfd7642a20a4a5bb0e7d10ad7f2360
https://github.com/llvm/llvm-project/commit/bd96918f01cfd7642a20a4a5bb0e7d10ad7f2360
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Support/Unix/Threading.inc
Log Message:
-----------
[LLVM][Support][Cygwin] Add threading support for Cygwin host (#145314)
Cygwin environment has pthread functionality but LLVM integration
doesn't care it nor provide fallback.
Using Linux integration for Cygwin works fine.
Commit: 12ba75145efe3ada44374036d7d5b5e94e855283
https://github.com/llvm/llvm-project/commit/12ba75145efe3ada44374036d7d5b5e94e855283
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/sme2-intrinsics-fclamp.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qcvtn.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-sclamp.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-uclamp.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-crypto.ll
A llvm/test/CodeGen/AArch64/sve2-intrinsics-rax1.ll
A llvm/test/CodeGen/AArch64/sve2-intrinsics-sm4.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-fclamp.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-qcvtn.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-sclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uclamp.ll
M llvm/test/CodeGen/AArch64/sve2p2-intrinsics.ll
Log Message:
-----------
[NFC][LLVM][SME] Seperate streaming mode only intrinsic tests.
Commit: fba63e3281e7658f67fcbdeb6a7bd7c3391ee736
https://github.com/llvm/llvm-project/commit/fba63e3281e7658f67fcbdeb6a7bd7c3391ee736
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/TableGen/StringMatcher.cpp
M llvm/lib/TableGen/StringToOffsetTable.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[NFC][TableGen] Use ArrayRef instead of const vector reference (#145323)
- Use `ArrayRef` instead of `SmallVector` reference in a few places.
- Drop redundant `llvm::` in a few places.
Commit: 2767ff49955fc3749d79738820285f152fb55ee9
https://github.com/llvm/llvm-project/commit/2767ff49955fc3749d79738820285f152fb55ee9
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
Log Message:
-----------
[CIR][NFC] Upstream computeVolatileBitfields (#145414)
This PR upstreams functionality for computing volatile bitfields when
the target follows the AAPCS ABI. The implementation matches the one in
the incubator, so no tests are included as the feature is not yet fully
implemented (NYI).
Commit: 4847bd5ae40d59d4d6eb78ed048bc51a6ca00161
https://github.com/llvm/llvm-project/commit/4847bd5ae40d59d4d6eb78ed048bc51a6ca00161
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][acc] Add support for data clause modifiers (#144806)
The OpenACC data clause operations have been updated to support the
OpenACC 3.4 data clause modifiers. This includes ensuring verifiers
check that only supported ones are used on relevant operations.
In order to support a seamless update from encoding the modifiers in the
data clause to this attribute, the following considerations were made:
- Ensure that modifier builders which do not take modifier are still
available.
- All data clause enum values are left in place until a complete
transition is made to the new modifiers.
Commit: b581f9d056babadf55098b9d5d100271621b90db
https://github.com/llvm/llvm-project/commit/b581f9d056babadf55098b9d5d100271621b90db
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/HLSL.cpp
A clang/test/Driver/HLSL/dxc_fvk_layout.hlsl
M clang/test/Driver/dxc_fspv_extension.hlsl
Log Message:
-----------
[HLSL] Add option for VK layouts (#145327)
We add the options to the driver, so that the one option that is being
implemented at this time can be used. Issue an error for the other
options.
When we start to implement the other options, we will have to figure out
how to pass which option is active to clang.
Part of but does not complete:
https://github.com/llvm/llvm-project/issues/136956
https://github.com/llvm/llvm-project/issues/136959
https://github.com/llvm/llvm-project/issues/136958
Commit: 43d042b350af8ee8c7401d6b102df68d6c176b5a
https://github.com/llvm/llvm-project/commit/43d042b350af8ee8c7401d6b102df68d6c176b5a
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
Revert "[clang][scan-deps] Add option to disable caching stat failures" (#145528)
Reverts llvm/llvm-project#144000
First buildbot failure:
https://lab.llvm.org/buildbot/#/builders/164/builds/11064
Commit: b0ef9125347cbaea031273feb72ac0d6bc74ddee
https://github.com/llvm/llvm-project/commit/b0ef9125347cbaea031273feb72ac0d6bc74ddee
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Passes.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Passes.td
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
R mlir/test/Dialect/Mesh/backward-sharding-propagation.mlir
R mlir/test/Dialect/Mesh/forward-backward-sharding-propagation.mlir
R mlir/test/Dialect/Mesh/forward-sharding-propagation.mlir
Log Message:
-----------
Revert "[mlir][mesh] adding option for traversal order in sharding propagation" (#145531)
Reverts llvm/llvm-project#144079
Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/164/builds/11140
Commit: 4359e55838cd29d4aa344f15543f725da25e940f
https://github.com/llvm/llvm-project/commit/4359e55838cd29d4aa344f15543f725da25e940f
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M offload/liboffload/API/Common.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Offload] Properly report errors when jit compiling (#145498)
Previously, if a binary failed to load due to failures when jit
compiling, the function would return success with nullptr. Now it
returns a new plugin error, `COMPILE_FAILURE`.
Commit: bb2bd5fb01c1750d10d77196db4653c14037815e
https://github.com/llvm/llvm-project/commit/bb2bd5fb01c1750d10d77196db4653c14037815e
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M mlir/include/mlir/Query/Matcher/Marshallers.h
M mlir/include/mlir/Query/Matcher/MatchFinder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
M mlir/include/mlir/Query/Matcher/SliceMatchers.h
M mlir/include/mlir/Query/Matcher/VariantValue.h
M mlir/lib/Query/Matcher/CMakeLists.txt
R mlir/lib/Query/Matcher/MatchersInternal.cpp
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/VariantValue.cpp
M mlir/lib/Query/Query.cpp
R mlir/test/mlir-query/backward-slice-union.mlir
A mlir/test/mlir-query/complex-test.mlir
R mlir/test/mlir-query/forward-slice-by-predicate.mlir
R mlir/test/mlir-query/logical-operator-test.mlir
R mlir/test/mlir-query/slice-function-extraction.mlir
M mlir/tools/mlir-query/mlir-query.cpp
Log Message:
-----------
Revert "[mlir] Improve mlir-query by adding matcher combinators" (#145534)
Reverts llvm/llvm-project#141423
Commit: da5c442550a3823fff05c14300c1664d0fbf68c8
https://github.com/llvm/llvm-project/commit/da5c442550a3823fff05c14300c1664d0fbf68c8
Author: uthmanna <114300283+uthmanna at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/test/tools/llvm-cov/Inputs/binary-formats.canonical.json
M llvm/test/tools/llvm-cov/mcdc-export-json.test
M llvm/tools/llvm-cov/CoverageExporterJson.cpp
Log Message:
-----------
Reland "[llvm-cov] Export decision coverage to output json (#144335)" (#145325)
Tests fixed
This commit adds decision coverage counts derived from MC/DC test vector execution to the JSON output of llvm-cov, as discussed here: [Missing Decision Coverage (DC) in output json](https://discourse.llvm.org/t/missing-decision-coverage-dc-in-output-json/86783) with @evodius96
Commit: 559218f7ee78f77d32c14cd14a56b799167596f5
https://github.com/llvm/llvm-project/commit/559218f7ee78f77d32c14cd14a56b799167596f5
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/sve2p2-intrinsics.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-ext.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-flogb.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-frint-frecpx-fsqrt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-rev.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-urecpe-ursqrte-sqabs-sqneg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-uscvtf.ll
Log Message:
-----------
[NFC][LLVM][SVE2p2] Add RUN lines to fully verify codegen predicates.
Commit: 6a8899cee7131c7678d72f29cc080bc6f1d3a124
https://github.com/llvm/llvm-project/commit/6a8899cee7131c7678d72f29cc080bc6f1d3a124
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/RootSignatures-AST.hlsl
M clang/test/SemaHLSL/RootSignature-resource-ranges-err.hlsl
M clang/test/SemaHLSL/RootSignature-resource-ranges.hlsl
Log Message:
-----------
[HLSL][RootSignature] Enable resource range analysis for remaining `RootElement`s (#145109)
As implemented previously
https://github.com/llvm/llvm-project/pull/140962.
We now have a validation pass to ensure that there is no overlap in the
register ranges of the associated resources. However, in the previous
pr, for the sake of brevity, we only "collected `RangeInfo`" for Root
Descriptors. This means the analysis is not run on any other
`RootElement` type.
This pr simply implements the collection of `RangeInfo` for the
remaining types so that the analysis is run account for all
`RootElement` types.
Additionally, we improve the diagnostics message to display `unbounded`
ranges.
Part 3 of and Resolves
https://github.com/llvm/llvm-project/issues/129942.
Commit: e175ecff936287823b5443d7b2d443fc6569f31f
https://github.com/llvm/llvm-project/commit/e175ecff936287823b5443d7b2d443fc6569f31f
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/CMakeLists.txt
M llvm/docs/InterfaceExportAnnotations.rst
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/PseudoSourceValue.h
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/ProfileData/SampleProfWriter.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/Error.h
M llvm/include/llvm/Support/FileSystem.h
M llvm/include/llvm/Support/JSON.h
M llvm/include/llvm/Support/Path.h
M llvm/include/llvm/Support/PrettyStackTrace.h
M llvm/include/llvm/XRay/InstrumentationMap.h
M llvm/include/llvm/XRay/Trace.h
Log Message:
-----------
[llvm] revisions to `LLVM_ABI` export macro definitions (#144598)
## Purpose
Simplify the logic used to define `LLVM_ABI` and related macros,
eliminate the `LLVM_ABI_FRIEND` macro, and update the `LLVM_ABI` macro
to always resolve to `__attribute__((visibility("default")))` when
building LLVM as a shared library for ELF or Mach-O targets.
## Background
Previously, `LLVM_ABI` was defined to the C++ style attribute
`[[gnu::visibility("default")]]` when compiling with gcc, which has more
restrictions on its placement. Of note, the C++ style attributes cannot
decorate `friend` functions and must not appear after `extern` on
variable declarations.
Documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
- Define a new CMake config value,
`LLVM_ENABLE_LLVM_EXPORT_ANNOTATIONS`, which is implicitly set whenever
`LLVM_BUILD_LLVM_DYLIB`, `LLVM_BUILD_SHARED_LIBS`, or
`LLVM_ENABLE_PLUGINS` is set. Add it as a `#cmakedefine` to
llvm-config.h so its definition is available to projects building
against LLVM as required so clients see `__declspec(dllimport)` on
Windows.
- Gate the `LLVM_ABI` macro definitions in Compiler.h behind the new
`LLVM_ENABLE_LLVM_EXPORT_ANNOTATIONS` definition. This is
simpler/cleaner, but should be equivalent to the previous logic.
- Maintain `LLVM_BUILD_STATIC` as an override to be used by specific
targets that don't want to build against the DLL/shared library, such as
tablegen.
- For ELF and Mach-O targets, directly define `LLVM_ABI` as
`__attribute__((visibility("default")))` instead of
`LLVM_ATTRIBUTE_VISIBILITY_DEFAULT`, which resolves to C++ style
`[[gnu::visibility("default")]]` when compiling with gcc.
- Remove the `LLVM_ABI_FRIEND` macro and replace all usages of it with
`LLVM_ABI`.
- Update the documentation for exporting friend functions to no longer
reference `LLVM_ABI_FRIEND`.
## Validation
- Built as static lib with clang and gcc on Linux.
- Built as static with clang-cl and MSVC on Windows.
- Built as shared lib with clang and gcc on Linux (+ additional local
changes not yet merged).
- Built as DLL with clang-cl and MSVC on Windows (+ additional local
changes not yet merged).
---------
Co-authored-by: SquallATF <squallatf at gmail.com>
Commit: 26d318e4a9437f95b6a2e7abace5f2b867c88a3e
https://github.com/llvm/llvm-project/commit/26d318e4a9437f95b6a2e7abace5f2b867c88a3e
Author: sivadeilra <ardavis at microsoft.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGen/X86/ms-secure-hotpatch-bad-file.c
A clang/test/CodeGen/X86/ms-secure-hotpatch-cpp.cpp
A clang/test/CodeGen/X86/ms-secure-hotpatch-eh.cpp
A clang/test/CodeGen/X86/ms-secure-hotpatch-globals.c
A clang/test/CodeGen/X86/ms-secure-hotpatch-lto.c
A clang/test/CodeGen/X86/ms-secure-hotpatch.c
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/InitializePasses.h
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/TargetPassConfig.cpp
A llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
M llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
M llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
A llvm/test/CodeGen/X86/ms-secure-hotpatch-attr.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-bad-file.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-direct-global-access.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-functions-file.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-functions-list.ll
M llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
Log Message:
-----------
Add support for Windows Secure Hot-Patching (#138972)
This PR adds some of the support needed for Windows hot-patching.
Windows implements a form of hot-patching. This allows patches to be
applied to Windows apps, drivers, and the kernel, without rebooting or
restarting any of these components. Hot-patching is a complex technology
and requires coordination between the OS, compilers, linkers, and
additional tools.
This PR adds support to Clang and LLVM for part of the hot-patching
process. It enables LLVM to generate the required code changes and to
generate CodeView symbols which identify hot-patched functions. The PR
provides new command-line arguments to Clang which allow developers to
identify the list of functions that need to be hot-patched. This PR also
allows LLVM to directly receive the list of functions to be modified, so
that language front-ends which have not yet been modified (such as Rust)
can still make use of hot-patching.
This PR:
* Adds a `MarkedForWindowsHotPatching` LLVM function attribute. This
attribute indicates that a function should be _hot-patched_. This
generates a new CodeView symbol, `S_HOTPATCHFUNC`, which identifies any
function that has been hot-patched. This attribute also causes accesses
to global variables to be indirected through a `_ref_*` global variable.
This allows hot-patched functions to access the correct version of a
global variable; the hot-patched code needs to access the variable in
the _original_ image, not the patch image.
* Adds a `AllowDirectAccessInHotPatchFunction` LLVM attribute. This
attribute may be placed on global variable declarations. It indicates
that the variable may be safely accessed without the `_ref_*`
indirection.
* Adds two Clang command-line parameters: `-fms-hotpatch-functions-file`
and `-fms-hotpatch-functions-list`. The `-file` flag may point to a text
file, which contains a list of functions to be hot-patched (one function
name per line). The `-list` flag simply directly identifies functions to
be patched, using a comma-separated list. These two command-line
parameters may also be combined; the final set of functions to be
hot-patched is the union of the two sets.
* Adds similar LLVM command-line parameters:
`--ms-hotpatch-functions-file` and `--ms-hotpatch-functions-list`.
* Adds integration tests for both LLVM and Clang.
* Adds support for dumping the new `S_HOTPATCHFUNC` CodeView symbol.
Although the flags are redundant between Clang and LLVM, this allows
additional languages (such as Rust) to take advantage of hot-patching
support before they have been modified to generate the required
attributes.
Credit to @dpaoliello, who wrote the original form of this patch.
Commit: b3c53025aa163c1c554cd12f0286a65d5788ae86
https://github.com/llvm/llvm-project/commit/b3c53025aa163c1c554cd12f0286a65d5788ae86
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
R clang/test/CIR/IR/invalid-vector-create-wrong-size.cir
R clang/test/CIR/IR/invalid-vector-create-wrong-type.cir
R clang/test/CIR/IR/invalid-vector-shift-wrong-result-type.cir
R clang/test/CIR/IR/invalid-vector-shuffle-dyn-wrong-operands.cir
R clang/test/CIR/IR/invalid-vector-shuffle-wrong-index.cir
R clang/test/CIR/IR/invalid-vector-zero-size.cir
M clang/test/CIR/IR/invalid-vector.cir
M clang/test/CIR/Transforms/vector-splat.cir
Log Message:
-----------
[CIR][NFC] Merge vector type invalid tests and update names (#145238)
- Merge all vector-type invalid tests into one file.
- Update the names of the functions in the invalid test
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 70bedc74b91a659572ef57d1395409820a20b279
https://github.com/llvm/llvm-project/commit/70bedc74b91a659572ef57d1395409820a20b279
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
A clang/test/CIR/CodeGen/complex-builtins.cpp
Log Message:
-----------
[CIR] Upstream ChooseExpr for ComplexType (#145163)
This change adds support for ChooseExpr for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: c8a9579ff9f663ef62e782c1f67ac5b57d1a0b1f
https://github.com/llvm/llvm-project/commit/c8a9579ff9f663ef62e782c1f67ac5b57d1a0b1f
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
Log Message:
-----------
[mlir][xegpu] Add support for distributing `gpu.barrier` (#145434)
Commit: fcd82f9cf3b64d8959afed4569259163da3a5afd
https://github.com/llvm/llvm-project/commit/fcd82f9cf3b64d8959afed4569259163da3a5afd
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/include/llvm/Support/MathExtras.h
Log Message:
-----------
MathExtras: Make some templates constexpr NFC (#145522)
so that they can be evaluated at compiler time (we can see these values
in hover via clangd).
Commit: d80766152c496ca7a0991486e35aa8ed52d0e422
https://github.com/llvm/llvm-project/commit/d80766152c496ca7a0991486e35aa8ed52d0e422
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M libcxx/include/bitset
M libcxx/test/std/utilities/template.bitset/bitset.members/to_ullong.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/to_ulong.pass.cpp
Log Message:
-----------
[libc++] Fix bitset conversion functions and refactor constructor (#121348)
This patch addresses several implementation issues in `bitset`'s
conversion functions `to_ullong` and `to_ulong`, and refactors its
converting constructor `__bitset(unsigned long long __v)` to a more
generic and elegant implementation.
Commit: 85d250c96ee166fa5989e45f3dd22e688c3699c1
https://github.com/llvm/llvm-project/commit/85d250c96ee166fa5989e45f3dd22e688c3699c1
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/test/Driver/cl-include.c
M lld/COFF/Driver.cpp
M lld/test/COFF/winsysroot.test
Log Message:
-----------
Use the Windows SDK arguments over the environment (#144805)
If any of the Windows SDK (and MSVC)-related argument is passed in the
command line, they should take priority over the environment variables
like `INCLUDE` or `LIB` set by vcvarsall from the Visual Studio
Developer Environment on Windows.
These changes ensure that all of the arguments related to VC Tools and
the Windows SDK cause the driver to ignore the environment.
Commit: f6973baf289abf2eda5bbad41bdce1a80b05f051
https://github.com/llvm/llvm-project/commit/f6973baf289abf2eda5bbad41bdce1a80b05f051
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Split out parsePerfData (#145248)
Commit: cc756716cf69a16701f0dfeb583127ea4124533b
https://github.com/llvm/llvm-project/commit/cc756716cf69a16701f0dfeb583127ea4124533b
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
A mlir/include/mlir/Support/StateStack.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Support/CMakeLists.txt
A mlir/lib/Support/StateStack.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Log Message:
-----------
[mlir][NFC] Move LLVM::ModuleTranslation::SaveStack to a shared header (#144897)
This is so that we can re-use the same code in Flang.
Commit: cb4fb3aa18885d34512fc93f7aa26e9145a47e56
https://github.com/llvm/llvm-project/commit/cb4fb3aa18885d34512fc93f7aa26e9145a47e56
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Sema/SemaARM.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[NFC] Move areCompatibleSveTypes etc. from ASTContext to SemaARM. (#145429)
In preparation for making these functions interact with the current
context; see #144611.
Commit: a84891698a2a13780d3804686ebf31d3639dd6a4
https://github.com/llvm/llvm-project/commit/a84891698a2a13780d3804686ebf31d3639dd6a4
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/fold-phi-arg-gep-to-phi-negative.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/vector_gep1-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vector_gep1.ll
Log Message:
-----------
[instcombine] Scalarize operands of vector geps if possible (#145402)
If we have a gep with vector indices which were splats (either constants
or shuffles), prefer the scalar form of the index. If all operands are
scalarizable, then prefer a scalar gep with splat following.
This does loose some information about undef/poison lanes, but I'm not
sure that's significant versus the number of downstream transformations
which get confused by having to manual scalarize operands.
Commit: 7d2293d1d95379bbdbb6446b088219ac06b97e1e
https://github.com/llvm/llvm-project/commit/7d2293d1d95379bbdbb6446b088219ac06b97e1e
Author: Ross Kirsling <ross.kirsling at sony.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/InstCombine/sub-after-sle-is-non-negative.ll
Log Message:
-----------
[InstCombine] KnownBits::isNonNegative should recognize `b - a` after `a <= b` (#145105)
Alive2: https://alive2.llvm.org/ce/z/an9npN
Fixes #142283.
Commit: 3bc1fc6493240b457f5b04281c28759a6ee1b6e0
https://github.com/llvm/llvm-project/commit/3bc1fc6493240b457f5b04281c28759a6ee1b6e0
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/EmulateInstruction.h
M lldb/source/Core/EmulateInstruction.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
M lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.cpp
M lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.h
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.cpp
M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.h
A lldb/test/API/riscv/step/Makefile
A lldb/test/API/riscv/step/TestSoftwareStep.py
A lldb/test/API/riscv/step/branch.c
A lldb/test/API/riscv/step/incomplete_sequence_without_lr.c
A lldb/test/API/riscv/step/incomplete_sequence_without_sc.c
A lldb/test/API/riscv/step/main.c
M lldb/unittests/Instruction/LoongArch/TestLoongArchEmulator.cpp
Log Message:
-----------
[lldb][RISCV] fix LR/SC atomic sequence handling in lldb-server (#127505)
lldb-server had limited support for single-stepping through the lr/sc
atomic sequence. This patch enhances that support for all possible
atomic sequences.
Commit: f18cfb9108fda51c7c8233c32b4e2193a0a13766
https://github.com/llvm/llvm-project/commit/f18cfb9108fda51c7c8233c32b4e2193a0a13766
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenPGO.cpp
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[InstrProf] Factor out getRecord() and use NamedInstrProfRecord (#145417)
Factor out code in `populateCounters()` and `populateCoverage()` used to
grab the record into `PGOUseFunc::getRecord()` to reduce code
duplication. And return `NamedInstrProfRecord` in `getInstrProfRecord()`
to avoid an unnecessary cast. No functional change is intented.
Commit: 7377410ddaf2932643849f918ceaff851917f5b5
https://github.com/llvm/llvm-project/commit/7377410ddaf2932643849f918ceaff851917f5b5
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/FuzzMutate/IRMutator.cpp
M llvm/unittests/FuzzMutate/StrategiesTest.cpp
Log Message:
-----------
[FuzzMutate] Properly handle intrinsics and avoid illegal code genertion (#145495)
This PR addresses issues related to the `amdgcn_cs_chain` intrinsic:
1. Ensures the intrinsic's special attribute and calling convention
requirements are not violated by the mutator.
2. Enforces the necessary unreachable statement following this type of
intrinsic, preventing the fuzzer from generating invalid code.
Commit: 353f75410a19328c57a2c91969e239a1f3c33a02
https://github.com/llvm/llvm-project/commit/353f75410a19328c57a2c91969e239a1f3c33a02
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
Log Message:
-----------
[LLDB] Add SI_USER and SI_KERNEL to Linux signals (#144800)
@dmpots and I were investigating a crash when he was developing LLDB
earlier. When I loaded the core I was surprised to see LLDB didn't have
information for the SI_CODE. Upon inspection we had an si_code of `128`,
which is the decimal of SI_KERNEL at `0x80`.
These were overlooked in my last addition of the negative si_codes, and
this patch adds SI_USER and SI_KERNEL to the list, covering us for all
the codes available to all signals.
[Linux reference
link](https://github.com/torvalds/linux/blob/74b4cc9b8780bfe8a3992c9ac0033bf22ac01f19/include/uapi/asm-generic/siginfo.h#L175)

I kept the code naming the same as what is defined in the Linux source
code. SI_KERNEL to my understanding usually indicates something went
awry in the Kernel itself, but I think adding that additional detail
would not be helpful to most users. @DavidSpickett I'd appreciate your
insight into that.
Commit: 8b0d112478cec296517660c1c741b8e97aeaf684
https://github.com/llvm/llvm-project/commit/8b0d112478cec296517660c1c741b8e97aeaf684
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/TokenLexer.cpp
A clang/test/Preprocessor/macro_paste_identifier_ucn.c
Log Message:
-----------
[Clang][Preprocessor] Expand UCNs in macro concatenation (#145351)
Fixs https://github.com/llvm/llvm-project/issues/145240.
The UCN in preprocessor pasted identifier not resolved to unicode, it
may cause the following issue:
```c
#define CAT(a,b) a##b
char foo\u00b5;
char*p = &CAT(foo, \u00b5); // error: use of undeclared identifier 'foo\u00b5'
```
The real identifier after paste is `fooµ`. This PR fix this issue in
`TokenLexer::pasteTokens`, if there has any UCN in pasting tokens, the
final pasted token should have a Token::HasUCN flag. Then
`Preprocessor::LookUpIdentifierInfo` will expand UCNs in this token.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 0e9e1ce146252c1503d9969c4a5fcd433f3c2181
https://github.com/llvm/llvm-project/commit/0e9e1ce146252c1503d9969c4a5fcd433f3c2181
Author: Balázs Benics <108414871+balazs-benics-sonarsource at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
Log Message:
-----------
[analyzer][NFC] Make SymExpr::classof methods constexpr (#145526)
This should enable more powerful type metaprograms.
Split from #144327
Commit: 7150b2c76a7102f089eb8b81d704773f2eb7c307
https://github.com/llvm/llvm-project/commit/7150b2c76a7102f089eb8b81d704773f2eb7c307
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splice.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
Log Message:
-----------
[RISCV] Optimize vp.splice with 0 offset. (#145533)
We can skip the slidedown if the offset is 0.
Commit: 418b409df8538bdf1b4865556607c220dc139fa8
https://github.com/llvm/llvm-project/commit/418b409df8538bdf1b4865556607c220dc139fa8
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/test/CIR/CodeGen/ctor.cpp
Log Message:
-----------
[CIR] Add support for member initialization from constructors (#144583)
Upstream the code to handle member variable initialization in a
constructor. At this point only simple scalar values (including members
of anonymous unions) are handled.
Commit: 0c50971460cb4ff808990ade61e2d5688b9b9d73
https://github.com/llvm/llvm-project/commit/0c50971460cb4ff808990ade61e2d5688b9b9d73
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M mlir/lib/Transforms/SymbolDCE.cpp
M mlir/test/Transforms/test-symbol-dce.mlir
Log Message:
-----------
[mlir] Walk nested non-symbol table ops in symbol dce (#143353)
The previous code was effectively that a symbol is dead if was not
nested in sequence of SymbolTables. But one can have operations that one
cannot delete/DCE that refers to symbols which one could delete which
resulted in symbol-dce deleting symbols that are still referenced and
the resulting IR being invalid. This changes it so that all operations
inside non SymbolTable op are considered to find nested SymbolTable ops.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 4b4782bc868bcca7a92f1253529f148eb61cb628
https://github.com/llvm/llvm-project/commit/4b4782bc868bcca7a92f1253529f148eb61cb628
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/Driver/ToolChains/Clang.cpp
R clang/test/CodeGen/X86/ms-secure-hotpatch-bad-file.c
R clang/test/CodeGen/X86/ms-secure-hotpatch-cpp.cpp
R clang/test/CodeGen/X86/ms-secure-hotpatch-eh.cpp
R clang/test/CodeGen/X86/ms-secure-hotpatch-globals.c
R clang/test/CodeGen/X86/ms-secure-hotpatch-lto.c
R clang/test/CodeGen/X86/ms-secure-hotpatch.c
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/InitializePasses.h
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/TargetPassConfig.cpp
R llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
M llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
M llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
R llvm/test/CodeGen/X86/ms-secure-hotpatch-attr.ll
R llvm/test/CodeGen/X86/ms-secure-hotpatch-bad-file.ll
R llvm/test/CodeGen/X86/ms-secure-hotpatch-direct-global-access.ll
R llvm/test/CodeGen/X86/ms-secure-hotpatch-functions-file.ll
R llvm/test/CodeGen/X86/ms-secure-hotpatch-functions-list.ll
M llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
Log Message:
-----------
Revert "Add support for Windows Secure Hot-Patching" (#145553)
Reverts llvm/llvm-project#138972
Commit: 9291ad1c96918e3c53d6e7f0affd7b258bdaa4bd
https://github.com/llvm/llvm-project/commit/9291ad1c96918e3c53d6e7f0affd7b258bdaa4bd
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/builtin_call.cpp
Log Message:
-----------
[CIR] Add support for __builtin_expect (#144726)
This patch adds support for the `__builtin_expect` and
`__builtin_expect_with_probability` builtin functions.
Commit: 8763d2968d47f03679eef234d99905ee63077f59
https://github.com/llvm/llvm-project/commit/8763d2968d47f03679eef234d99905ee63077f59
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
A clang/test/CIR/CodeGen/bitfield-union.c
Log Message:
-----------
[CIR] Add support for bitfields in unions (#145096)
This PR introduces support for bitfields inside unions in CIR.
Commit: f8ed45611b75ecac1d459aa6ae3b7051d435abe6
https://github.com/llvm/llvm-project/commit/f8ed45611b75ecac1d459aa6ae3b7051d435abe6
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/CMakeLists.txt
M llvm/docs/CMake.rst
R pstl/.clang-format
R pstl/CMakeLists.txt
R pstl/CREDITS.txt
R pstl/LICENSE.TXT
R pstl/README.md
R pstl/cmake/ParallelSTLConfig.cmake.in
R pstl/docs/ReleaseNotes.rst
R pstl/include/__pstl_algorithm
R pstl/include/__pstl_config_site.in
R pstl/include/__pstl_execution
R pstl/include/__pstl_memory
R pstl/include/__pstl_numeric
R pstl/include/pstl/internal/algorithm_fwd.h
R pstl/include/pstl/internal/algorithm_impl.h
R pstl/include/pstl/internal/execution_defs.h
R pstl/include/pstl/internal/execution_impl.h
R pstl/include/pstl/internal/glue_algorithm_defs.h
R pstl/include/pstl/internal/glue_algorithm_impl.h
R pstl/include/pstl/internal/glue_execution_defs.h
R pstl/include/pstl/internal/glue_memory_defs.h
R pstl/include/pstl/internal/glue_memory_impl.h
R pstl/include/pstl/internal/glue_numeric_defs.h
R pstl/include/pstl/internal/glue_numeric_impl.h
R pstl/include/pstl/internal/memory_impl.h
R pstl/include/pstl/internal/numeric_fwd.h
R pstl/include/pstl/internal/numeric_impl.h
R pstl/include/pstl/internal/omp/parallel_for.h
R pstl/include/pstl/internal/omp/parallel_for_each.h
R pstl/include/pstl/internal/omp/parallel_invoke.h
R pstl/include/pstl/internal/omp/parallel_merge.h
R pstl/include/pstl/internal/omp/parallel_reduce.h
R pstl/include/pstl/internal/omp/parallel_scan.h
R pstl/include/pstl/internal/omp/parallel_stable_partial_sort.h
R pstl/include/pstl/internal/omp/parallel_stable_sort.h
R pstl/include/pstl/internal/omp/parallel_transform_reduce.h
R pstl/include/pstl/internal/omp/parallel_transform_scan.h
R pstl/include/pstl/internal/omp/util.h
R pstl/include/pstl/internal/parallel_backend.h
R pstl/include/pstl/internal/parallel_backend_omp.h
R pstl/include/pstl/internal/parallel_backend_serial.h
R pstl/include/pstl/internal/parallel_backend_tbb.h
R pstl/include/pstl/internal/parallel_backend_utils.h
R pstl/include/pstl/internal/parallel_impl.h
R pstl/include/pstl/internal/pstl_config.h
R pstl/include/pstl/internal/unseq_backend_simd.h
R pstl/include/pstl/internal/utils.h
R pstl/test/CMakeLists.txt
R pstl/test/pstl/header_inclusion_order_algorithm_0.pass.cpp
R pstl/test/pstl/header_inclusion_order_algorithm_1.pass.cpp
R pstl/test/pstl/header_inclusion_order_memory_0.pass.cpp
R pstl/test/pstl/header_inclusion_order_memory_1.pass.cpp
R pstl/test/pstl/header_inclusion_order_numeric_0.pass.cpp
R pstl/test/pstl/header_inclusion_order_numeric_1.pass.cpp
R pstl/test/pstl/version.pass.cpp
R pstl/test/std/algorithms/alg.merge/inplace_merge.pass.cpp
R pstl/test/std/algorithms/alg.merge/merge.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/copy_move.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/fill.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/generate.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/remove.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/remove_copy.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/replace.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/replace_copy.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/rotate_copy.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/swap_ranges.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/transform_binary.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/transform_unary.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/unique.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/unique_copy_equal.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/adjacent_find.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/all_of.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/any_of.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/count.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/equal.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/find.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/find_first_of.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/find_if.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/for_each.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/mismatch.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/none_of.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/nth_element.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp
R pstl/test/std/algorithms/alg.sorting/alg.heap.operations/is_heap.pass.cpp
R pstl/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
R pstl/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp
R pstl/test/std/algorithms/alg.sorting/alg.set.operations/includes.pass.cpp
R pstl/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp
R pstl/test/std/algorithms/alg.sorting/is_sorted.pass.cpp
R pstl/test/std/algorithms/alg.sorting/partial_sort.pass.cpp
R pstl/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp
R pstl/test/std/algorithms/alg.sorting/sort.pass.cpp
R pstl/test/std/lit.local.cfg
R pstl/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp
R pstl/test/std/numerics/numeric.ops/reduce.pass.cpp
R pstl/test/std/numerics/numeric.ops/scan.fail.cpp
R pstl/test/std/numerics/numeric.ops/scan.pass.cpp
R pstl/test/std/numerics/numeric.ops/transform_reduce.pass.cpp
R pstl/test/std/numerics/numeric.ops/transform_scan.pass.cpp
R pstl/test/std/utilities/memory/specialized.algorithms/uninitialized_construct.pass.cpp
R pstl/test/std/utilities/memory/specialized.algorithms/uninitialized_copy_move.pass.cpp
R pstl/test/std/utilities/memory/specialized.algorithms/uninitialized_fill_destroy.pass.cpp
R pstl/test/support/pstl_test_config.h
R pstl/test/support/stdlib/algorithm
R pstl/test/support/stdlib/execution
R pstl/test/support/stdlib/memory
R pstl/test/support/stdlib/numeric
R pstl/test/support/utils.h
Log Message:
-----------
Remove PSTL from the top-level monorepo (#143717)
The RFC for this removal can be found at:
https://discourse.llvm.org/t/rfc-removing-pstl/86807
Note, libc++ still supports PSTL. That support is integrated directly
into the libc++ source tree.
There is no release note for this removal because it's not really clear
that this was user-facing facilities or where such a release note should
live.
Commit: 2b938769c60f42631a46a6629083d17bc46f57ef
https://github.com/llvm/llvm-project/commit/2b938769c60f42631a46a6629083d17bc46f57ef
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86PfmCounters.td
A llvm/lib/Target/X86/X86SchedLunarlakeP.td
A llvm/test/tools/llvm-mca/X86/LunarlakeP/independent-load-stores.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/partially-overlapping-groups.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-aes.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-avx1.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-avx2.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-avxgfni.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-avxvnni.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-bmi2.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-clflushopt.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-clwb.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-cmov.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-cmpxchg.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-f16c.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-fma.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-fsgsbase.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-gfni.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-lea.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-lzcnt.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-mmx.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-movbe.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-pclmul.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-popcnt.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-prefetchw.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-rdrand.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-rdseed.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-sse1.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-sse2.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-sse3.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-sse41.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-sse42.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-ssse3.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-vaes.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-vpclmulqdq.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-x86_32.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-x86_64.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-x87.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-xsave.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/zero-idioms.s
Log Message:
-----------
[X86][CodeGen] Add Scheduling Model for LNL-P (#139446)
With this patch, we introduce scheduling model for Lunarlake P-core.
This Scheduling model is generated by tool developed by Intel Engineer
@HaohaiWen
Available here https://github.com/HaohaiWen/schedtool
Data Sources:
- Intel SDM
https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html
- Alderlake Scheduling Model and Uops-info table for unchanged entries
from previous generations.
Commit: 09b43a5a862f453aabd95ec01e0b53c46ca3e340
https://github.com/llvm/llvm-project/commit/09b43a5a862f453aabd95ec01e0b53c46ca3e340
Author: Samira Bakon <bazuzi at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/StorageLocation.h
Log Message:
-----------
[clang][dataflow] Expose simple access to child StorageLocation presence. (#145520)
`getChild` does not offer this knowledge, and a map lookup is
significantly cheaper than iteration over `children()`.
Commit: c74ed8a0d3cadf4dfe84d6c9b282823439c8ca00
https://github.com/llvm/llvm-project/commit/c74ed8a0d3cadf4dfe84d6c9b282823439c8ca00
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
Log Message:
-----------
[AMDGPU][Scheduler] Support for rematerializing SGPRs and AGPRs (#140036)
This adds the ability to rematerialize SGPRs and AGPRs to the
scheduler's `PreRARematStage`, which can currently only rematerialize
ArchVGPRs. This also fixes a small potential issue in the stage where,
in case of spilling, the target occupancy could be set to a lower than
expected value when the function had either one of the "amdgpu-num-sgpr"
or "amdgpu-num-vgpr" attributes set.
Commit: 8f7f48a97ea53161e046eeb52a8020f228d79a00
https://github.com/llvm/llvm-project/commit/8f7f48a97ea53161e046eeb52a8020f228d79a00
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M mlir/include/mlir/Support/StateStack.h
Log Message:
-----------
[flang][OpenMP][NFC] remove globals with mlir::StateStack (#144898)
Idea suggested by @skatrak
Commit: 90828e00a09c4e6687d93d1bd6cb24f29e9a8bb5
https://github.com/llvm/llvm-project/commit/90828e00a09c4e6687d93d1bd6cb24f29e9a8bb5
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/builtin_printf.cpp
M clang/test/CIR/CodeGen/deferred-defs.cpp
M clang/test/CIR/CodeGen/namespace.cpp
M clang/test/CIR/CodeGen/static-vars.c
M clang/test/CIR/CodeGen/static-vars.cpp
M clang/test/CIR/CodeGen/string-literals.c
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/global-var-linkage.cpp
Log Message:
-----------
[CIR] Restore the underscore in dso_local (#145551)
The CIR handling of `dso_local` for globals was upstreamed without the
underscore, making it inconsistent with the incubator and LLVM IR. This
change restores the underscore.
Commit: 0b8f3cc6b7dca4da6ba1a987adf87ee8ac1fe7d0
https://github.com/llvm/llvm-project/commit/0b8f3cc6b7dca4da6ba1a987adf87ee8ac1fe7d0
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M libcxx/include/complex
M libcxx/test/std/numerics/complex.number/complex.tuple/tuple_element.compile.pass.cpp
M libcxx/test/std/numerics/complex.number/complex.tuple/tuple_size.compile.pass.cpp
Log Message:
-----------
[libc++] Fix no-localisation CI failure on <complex> (#145213)
Commit: 23b0564800f6308ae4b54f0fbf60759ab8f7eb80
https://github.com/llvm/llvm-project/commit/23b0564800f6308ae4b54f0fbf60759ab8f7eb80
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
A lldb/test/API/lang/objc/class-without-methods/Makefile
A lldb/test/API/lang/objc/class-without-methods/Point.h
A lldb/test/API/lang/objc/class-without-methods/Point.m
A lldb/test/API/lang/objc/class-without-methods/TestObjCClassWithoutMethods.py
A lldb/test/API/lang/objc/class-without-methods/main.m
Log Message:
-----------
[lldb] Fix AppleObjCDeclVendor for classes which have no methods (#145452)
Fix the rare case where an ObjC class has ivars but no methods. The fix is to not early
return when a class has no method list.
Commit: 52b27c2bd627c4b83d94b945748faf237cc28a3c
https://github.com/llvm/llvm-project/commit/52b27c2bd627c4b83d94b945748faf237cc28a3c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M libcxx/include/fstream
Log Message:
-----------
[libc++] Refactor basic_filebuf::overflow() (#144793)
Refactor the function to streamline the logic so it matches the
specification in [filebuf.virtuals] more closely. In particular, avoid
modifying the put area pointers when we loop around after a partial
codecvt conversion.
Note that we're technically not up-to-spec in this implementation, since
the Standard says that we shouldn't try more than once after a partial
codecvt conversion. However, this refactoring attempts not to change any
functionality.
Commit: 21423c7fdceed315979f950ef2b1674e0f2743cb
https://github.com/llvm/llvm-project/commit/21423c7fdceed315979f950ef2b1674e0f2743cb
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/test/CodeGen/DirectX/firstbithigh.ll
M llvm/test/CodeGen/DirectX/firstbitlow.ll
Log Message:
-----------
[DirectX] Make firstbithigh intrinsic use first arg as overload type (#145401)
Sibling to https://github.com/llvm/llvm-project/pull/145350 part of
https://github.com/llvm/llvm-project/issues/144966
firstbituhigh and firstbitshigh should use the first arg for overloads
instead of the return type since the return is always i32
Commit: ffdfe94a2b41cb38342617855d4187a38f5e22b8
https://github.com/llvm/llvm-project/commit/ffdfe94a2b41cb38342617855d4187a38f5e22b8
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Add //mlir:DialectUtils to TestTransforms for #145376 (#145557)
PR https://github.com/llvm/llvm-project/pull/145376 added #include
"mlir/Dialect/Utils/StaticValueUtils.h" to
mlir/test/lib/Transforms/TestTransformsOps.cpp . This change fixes the
build file.
Commit: 52fee553a5412370638ba61b2c9c481ca0e1315a
https://github.com/llvm/llvm-project/commit/52fee553a5412370638ba61b2c9c481ca0e1315a
Author: p-x9 <chi.iosdev at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.def
Log Message:
-----------
[DWARF] Fix redundant DW_AT_ prefix in HANDLE_DW_AT definition for `INTEL_other_endian` (#145336)
The prefix 'DW_AT_' is automatically added by macro expansion in
consumers of Dwarf.def. Having it explicitly in the macro argument
results in duplicated naming such as DW_AT_DW_AT_INTEL_other_endian.
Commit: 9e33cb22f991fb25d606d89c0e5a13a3ebed52fe
https://github.com/llvm/llvm-project/commit/9e33cb22f991fb25d606d89c0e5a13a3ebed52fe
Author: Dave Bartolomeo <dave_bart+dbartol at outlook.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/test/CodeGen/pragma-comment.c
Log Message:
-----------
Fix `pragma-comment.c` test failing on false match (#145455)
Sometimes the forbidden text `foo` or `bar` could appear in the Clang
version string metadata. Treating the version string as a `CHECK-LABEL:`
prevents this.
Fixes #145453
Commit: de2ec228c03c3072782b6fbcb43388a4556b90b2
https://github.com/llvm/llvm-project/commit/de2ec228c03c3072782b6fbcb43388a4556b90b2
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
A clang/test/Analysis/getline-unixapi-invalid-signatures.c
Log Message:
-----------
[analyzer] Fix crash when modelling 'getline' function in checkers (#145229)
Fixes #144884
Commit: b8ea65025dc68eab516f3e3dfc94d7c0a4a1b912
https://github.com/llvm/llvm-project/commit/b8ea65025dc68eab516f3e3dfc94d7c0a4a1b912
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Mapper.h
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
Log Message:
-----------
[clang-doc] document global variables (#145070)
Visit and map VarDecls to document variables declared in namespace scope.
Commit: 5ff6c8e843722afb90331ed8f7dc43193dcd0cc0
https://github.com/llvm/llvm-project/commit/5ff6c8e843722afb90331ed8f7dc43193dcd0cc0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
Log Message:
-----------
[RISCV] Add Zvfh scalable vector vp.splice tests. NFC
Commit: de569ad6b845310335c37e19105e41f201c45dd9
https://github.com/llvm/llvm-project/commit/de569ad6b845310335c37e19105e41f201c45dd9
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add //mlir:IR to Support for #144897 (#145569)
PR https://github.com/llvm/llvm-project/pull/144897 added #include
"mlir/IR/Visitors.h" to mlir/include/mlir/Support/StateStack.h. This
change fixes the build file.
Commit: cd46354dbd10820158edabe14dbd49d9f9010722
https://github.com/llvm/llvm-project/commit/cd46354dbd10820158edabe14dbd49d9f9010722
Author: SingleAccretion <62474226+SingleAccretion at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssembly.h
M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/test/CodeGen/WebAssembly/PR40172.ll
M llvm/test/CodeGen/WebAssembly/PR41841.ll
A llvm/test/CodeGen/WebAssembly/debug-code-stackification.ll
M llvm/test/CodeGen/WebAssembly/pr51651.ll
M llvm/test/CodeGen/WebAssembly/signext-zeroext-callsite.ll
M llvm/test/CodeGen/WebAssembly/suboptimal-compare.ll
Log Message:
-----------
[WebAssembly] Enable a limited amount of stackification for debug code (#136510)
This change is a step towards fixing one long-standing problem with
LLVM's debug WASM codegen: excessive use of locals. One local for each
temporary value in IR (roughly speaking).
This has a lot of problems:
1) It makes it easy to hit engine limitations of 50K locals with certain
code patterns and large functions.
2) It makes for larger binaries that are slower to load and slower to
compile to native code.
3) It makes certain compilation strategies (spill all WASM locals to
stack, for example) for debug code excessively expensive and makes debug
WASM code either run very slow, or be less debuggable.
4) It slows down LLVM itself.
This change addresses these partially by running a limited version of
the stackification pass for unoptimized code, one that gets rid of the
most 'obviously' unnecessary locals.
Care needs to be taken to not impact LLVM's ability to produce high
quality debug variable locations with this pass. To that end:
1) We only allow stackification when it doesn't require moving any
instructions.
2) We disable stackification of any locals that are used in
DEBUG_VALUEs, or as a frame base.
I have verified on a moderately large example that the baseline and the
diff produce the same kinds (local/global/stack) of locations, and the
only differences are due to the shifting of instruction offsets, with
many local.[get|set]s not being present anymore.
Even with this quite conservative approach, the results are pretty good:
1) 30% reduction in raw code size, up to 10x reduction in the number of
locals for select large methods (~1000 => ~100).
2) ~10% reduction in instructions retired for an "llc -O0" run on a
moderately sized input.
Commit: ce4d21494764b69246540d4efb9a7631ad6dfe72
https://github.com/llvm/llvm-project/commit/ce4d21494764b69246540d4efb9a7631ad6dfe72
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
Log Message:
-----------
AMDGPU: Remove MTBUF instructions from gfx1250 support (#145563)
Commit: 280f60ed6d99cda3a26138d6df103e6d2a58490a
https://github.com/llvm/llvm-project/commit/280f60ed6d99cda3a26138d6df103e6d2a58490a
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
Log Message:
-----------
[CIR] Fix NYI AAPCS bit-fields by skipping unsupported case (#145560)
This PR addresses the error mentioned in
https://github.com/llvm/llvm-project/pull/145067#issuecomment-3001104015,
which occurs on ARM when handling an unsupported bit-field case. The
patch removes the error and replaces it with an assert, marking the
missing feature.
Commit: 4d21da002a056c64231fb89ee9e4eba90080e9bb
https://github.com/llvm/llvm-project/commit/4d21da002a056c64231fb89ee9e4eba90080e9bb
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
[mlir] Return vectorized values instead of replacing (#144158)
Updates the linalg::vectorize function to return a
`FailureOr<VectorizationResult>` containing the values to replace the
original operation, instead of directly replacing the original
operation. This aligns better with the style of transforms used with the
TilingInterface, and gives more control to users over the lowering,
since it allows for additional transformation of the IR before
replacement.
There was already a `VectorizationResult` defined, which was used for
the internal vectorize implementation using `CustomVectorizationHook`s,
so the old struct is renamed to `VectorizationHookResult`.
Note for integration: The replacement of the original operation is now
the responsibility of the caller, so wherever `linalg::vectorize` is
used, the caller must also do
`rewriter.replaceOp(vectorizeResults->replacements)`.
---------
Signed-off-by: Max Dawkins <max.dawkins at gmail.com>
Commit: f624ba2d9d2143a0c2679ee9792cf455f965adec
https://github.com/llvm/llvm-project/commit/f624ba2d9d2143a0c2679ee9792cf455f965adec
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/parallel_ast_print.cpp
M clang/test/OpenMP/parallel_num_threads_messages.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[OpenMP][clang] 6.0: parsing/sema for num_threads 'strict' modifier (#145490)
Implement parsing and semantic analysis support for the optional
'strict' modifier of the num_threads clause. This modifier has been
introduced in OpenMP 6.0, section 12.1.2.
Note: this is basically 1:1 https://reviews.llvm.org/D138328.
Commit: fe0568389d68eb828a2591fd519711694f8c1543
https://github.com/llvm/llvm-project/commit/fe0568389d68eb828a2591fd519711694f8c1543
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx1250.mir
Log Message:
-----------
[AMDGPU] Require aligned VGPRs for gfx1250 (#145561)
Commit: 2b5141189f7b2c4289dace9a18108594ecf244b4
https://github.com/llvm/llvm-project/commit/2b5141189f7b2c4289dace9a18108594ecf244b4
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing comma to BUILD.bazel (#145573)
Commit: b171ebbfffcd4b8d923734dd0fc077b02a6fe3f7
https://github.com/llvm/llvm-project/commit/b171ebbfffcd4b8d923734dd0fc077b02a6fe3f7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
Log Message:
-----------
[lldb] Defend against infinite recursion in GetClassDescriptor (#145396)
We defend against a direct cycle where a base class ValueObject is its
own parent, but not against a longer base cycle. This cycle requires
that some value's Type includes a base class, and that base class is in
a class hierarchy that cycles back to the original base class.
I wrote a test case that creates a cycle in the class hierarchy by
dynamically overwriting the superclass of an object, but I can't
reproduce the crash. I can't think of any other way to make a real
object that behaves that way. Maybe is a type system problem in making
up the type for whatever type we're trying to ingest here.
While unsatisfying, without a reproducer this is the best we can do for
now.
rdar://140293233
Commit: c3e25e7fc463932d763a0405e8d44151e8679b66
https://github.com/llvm/llvm-project/commit/c3e25e7fc463932d763a0405e8d44151e8679b66
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Add VPInst::getNumOperandsForOpcode, use to verify in ctor (NFC) (#142284)
Add a new getNumOperandsForOpcode helper to determine the number of
operands from the opcode. For now, it is used to verify the number
operands at VPInstruction construction.
It returns -1 for a few opcodes where the number of operands cannot be
determined (GEP, Switch, PHI, Call).
This can also be used in a follow-up to determine if a VPInstruction is
masked based on the number of arguments.
PR: https://github.com/llvm/llvm-project/pull/142284
Commit: 3187d4da24adad5f31589c25b88f5e34f97dd52b
https://github.com/llvm/llvm-project/commit/3187d4da24adad5f31589c25b88f5e34f97dd52b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/test/Verifier/assume-bundles.ll
Log Message:
-----------
[Verifier] Add additional tests for dereferenceable assumptions.
Commit: e1cd450c8f7ca1815364b6b0a275be71eea39860
https://github.com/llvm/llvm-project/commit/e1cd450c8f7ca1815364b6b0a275be71eea39860
Author: Princeton Ferro <pferro at nvidia.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions-approx.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fexp2.ll
M llvm/test/CodeGen/NVPTX/flog2.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/ldg-invariant.ll
M llvm/test/CodeGen/NVPTX/load-store-vectors.ll
M llvm/test/CodeGen/NVPTX/load-with-non-coherent-cache.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
M llvm/test/CodeGen/NVPTX/param-load-store.ll
M llvm/test/CodeGen/NVPTX/reduction-intrinsics.ll
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
M llvm/test/CodeGen/NVPTX/shift-opt.ll
M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
M llvm/test/CodeGen/NVPTX/vector-loads.ll
Log Message:
-----------
[NVPTX] fold movs into loads and stores (#144581)
Fold movs into loads and stores by increasing the number of return
values or operands. For example:
```
L: v2f16,ch = Load [p]
e0 = extractelt L, 0
e1 = extractelt L, 1
consume(e0, e1)
```
...becomes...
```
L: f16,f16,ch = LoadV2 [p]
consume(L:0, L:1)
```
Commit: e615544e2bd11ceaf10841f8c07e6137d87e9814
https://github.com/llvm/llvm-project/commit/e615544e2bd11ceaf10841f8c07e6137d87e9814
Author: Jaden Angella <ajaden at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.h
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
M mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/CMakeLists.txt
A mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
A mlir/test/Dialect/EmitC/wrap_emitc_func_in_class.mlir
A mlir/test/Dialect/EmitC/wrap_emitc_func_in_class_noAttr.mlir
Log Message:
-----------
[mlir][EmitC] Add pass to wrap a func in class (#141158)
Goal: Enable using C++ classes to AOT compile models for MLGO.
This commit introduces a transformation pass that converts standalone
`emitc.func` operations into `emitc.class `structures to support
class-based C++ code generation for MLGO.
Transformation details:
- Wrap `emitc.func @func_name` into `emitc.class @Myfunc_nameClass`
- Converts function arguments to class fields with preserved attributes
- Transforms function body into an `execute()` method with no arguments
- Replaces argument references with `get_field` operations
Before: emitc.func @Model(%arg0, %arg1, %arg2) with direct argument
access
After: emitc.class with fields and execute() method using get_field
operations
This enables generating C++ classes that can be instantiated and
executed as self-contained model objects for AOT compilation workflows.
Commit: 3413aa83f356f0424477658b9295734fdf914552
https://github.com/llvm/llvm-project/commit/3413aa83f356f0424477658b9295734fdf914552
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
Log Message:
-----------
Revert "[AMDGPU] Implement IR variant of isFMAFasterThanFMulAndFAdd (… (#145580)
…#121465)"
This reverts commit 211bcf67aadb1175af382f55403ae759177281c7.
Commit: 3a71884ab1a508aed6e3e2fd79a83e7d70f34784
https://github.com/llvm/llvm-project/commit/3a71884ab1a508aed6e3e2fd79a83e7d70f34784
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
A flang/test/Lower/OpenMP/target-data-if-false.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[flang][OpenMP] Map device pointers on host device as well (#145562)
Given a TARGET DATA construct with USE_DEVICE_PTR(x) and IF(FALSE), the
compiler will crash if `x` was used in the body. The cause of the crash
is that the MLIR->LLVM codegen tries to look up the translated value of
x, but one had not been mapped.
Given an IF clause, the translation will generate an if-then-else
construct, with the "else" block corresponding to the false condition,
i.e. the host device playing the role of the target device. In that
block, still process the USE_DEVICE_ADDR/USE_DEVICE_PTR clauses, which
will cause the translation mappings to be created.
Fixes https://github.com/llvm/llvm-project/issues/145558
Commit: 830b2c842e78945de0d2dbd1b58ed74b977fd5f4
https://github.com/llvm/llvm-project/commit/830b2c842e78945de0d2dbd1b58ed74b977fd5f4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[LV] Replace redundant ExtractLastElement of reduction result (NFC).
Replace redundant ExtractLastElement VPInstructions early. This is NFC,
as the VPInstruction computing the final result is vector-to-scalar,
producing a single scalar already. This enables follow-up changes to
model more aspects of reductions directly in VPlan.
Commit: aa3c5d0297e4e5fca2e6316d5430d752122969c9
https://github.com/llvm/llvm-project/commit/aa3c5d0297e4e5fca2e6316d5430d752122969c9
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/EmulateInstruction.h
M lldb/source/Core/EmulateInstruction.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
M lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.cpp
M lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.h
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.cpp
M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.h
R lldb/test/API/riscv/step/Makefile
R lldb/test/API/riscv/step/TestSoftwareStep.py
R lldb/test/API/riscv/step/branch.c
R lldb/test/API/riscv/step/incomplete_sequence_without_lr.c
R lldb/test/API/riscv/step/incomplete_sequence_without_sc.c
R lldb/test/API/riscv/step/main.c
M lldb/unittests/Instruction/LoongArch/TestLoongArchEmulator.cpp
Log Message:
-----------
Revert "[lldb][RISCV] fix LR/SC atomic sequence handling in lldb-server" (#145597)
Reverts llvm/llvm-project#127505 because
`riscv/step/TestSoftwareStep.py` is failing on the bots.
Commit: fe8a26263a123be61f4c1badee1d234f02469060
https://github.com/llvm/llvm-project/commit/fe8a26263a123be61f4c1badee1d234f02469060
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
Log Message:
-----------
AMDGPU: Remove Formatted MUBUF instructions from gfx1250 support (#145590)
Commit: 770d0b028aa8e55e5d913d0f7bce527d3facdcd6
https://github.com/llvm/llvm-project/commit/770d0b028aa8e55e5d913d0f7bce527d3facdcd6
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
Log Message:
-----------
[DirectX] Fix order of `v2::DescriptorRange` (#145555)
As pointed in #145438, the order of elements in `v2::DescriptorRange` is
wrong according to the root signature file format. This changes the
order and updates the code and test to continue to pass.
Closes: #145438
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: 7e3af676312ba9716f05600e47a6f5897307c4ff
https://github.com/llvm/llvm-project/commit/7e3af676312ba9716f05600e47a6f5897307c4ff
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lldb/unittests/Protocol/ProtocolMCPTest.cpp
Log Message:
-----------
[lldb] Add more tests MCP protocol types
Add unit testing for the different message types.
Commit: ebdd5a04f5d6114c06130aa12d62ebd2ed6ebcb8
https://github.com/llvm/llvm-project/commit/ebdd5a04f5d6114c06130aa12d62ebd2ed6ebcb8
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
Log Message:
-----------
AMDGPU: Add checks to verify that gfx1250 no longer supports vimage instructions (#145602)
These vimage instructios are guarded by HasImageInsts, and the related code is already in the main.
Commit: 0a3c5c42a17858722f66da14897c37be3ed41dba
https://github.com/llvm/llvm-project/commit/0a3c5c42a17858722f66da14897c37be3ed41dba
Author: sivadeilra <arlie.davis at microsoft.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGen/X86/ms-secure-hotpatch-bad-file.c
A clang/test/CodeGen/X86/ms-secure-hotpatch-cpp.cpp
A clang/test/CodeGen/X86/ms-secure-hotpatch-eh.cpp
A clang/test/CodeGen/X86/ms-secure-hotpatch-globals.c
A clang/test/CodeGen/X86/ms-secure-hotpatch-lto.c
A clang/test/CodeGen/X86/ms-secure-hotpatch.c
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/InitializePasses.h
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/TargetPassConfig.cpp
A llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
M llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
M llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
A llvm/test/CodeGen/X86/ms-secure-hotpatch-attr.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-bad-file.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-direct-global-access.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-functions-file.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-functions-list.ll
M llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
Log Message:
-----------
Add support for Windows Secure Hot-Patching (redo) (#145565)
(This is a re-do of #138972, which had a minor warning in `Clang.cpp`.)
This PR adds some of the support needed for Windows hot-patching.
Windows implements a form of hot-patching. This allows patches to be
applied to Windows apps, drivers, and the kernel, without rebooting or
restarting any of these components. Hot-patching is a complex technology
and requires coordination between the OS, compilers, linkers, and
additional tools.
This PR adds support to Clang and LLVM for part of the hot-patching
process. It enables LLVM to generate the required code changes and to
generate CodeView symbols which identify hot-patched functions. The PR
provides new command-line arguments to Clang which allow developers to
identify the list of functions that need to be hot-patched. This PR also
allows LLVM to directly receive the list of functions to be modified, so
that language front-ends which have not yet been modified (such as Rust)
can still make use of hot-patching.
This PR:
* Adds a `MarkedForWindowsHotPatching` LLVM function attribute. This
attribute indicates that a function should be _hot-patched_. This
generates a new CodeView symbol, `S_HOTPATCHFUNC`, which identifies any
function that has been hot-patched. This attribute also causes accesses
to global variables to be indirected through a `_ref_*` global variable.
This allows hot-patched functions to access the correct version of a
global variable; the hot-patched code needs to access the variable in
the _original_ image, not the patch image.
* Adds a `AllowDirectAccessInHotPatchFunction` LLVM attribute. This
attribute may be placed on global variable declarations. It indicates
that the variable may be safely accessed without the `_ref_*`
indirection.
* Adds two Clang command-line parameters: `-fms-hotpatch-functions-file`
and `-fms-hotpatch-functions-list`. The `-file` flag may point to a text
file, which contains a list of functions to be hot-patched (one function
name per line). The `-list` flag simply directly identifies functions to
be patched, using a comma-separated list. These two command-line
parameters may also be combined; the final set of functions to be
hot-patched is the union of the two sets.
* Adds similar LLVM command-line parameters:
`--ms-hotpatch-functions-file` and `--ms-hotpatch-functions-list`.
* Adds integration tests for both LLVM and Clang.
* Adds support for dumping the new `S_HOTPATCHFUNC` CodeView symbol.
Although the flags are redundant between Clang and LLVM, this allows
additional languages (such as Rust) to take advantage of hot-patching
support before they have been modified to generate the required
attributes.
Credit to @dpaoliello, who wrote the original form of this patch.
Commit: a93eb14e858819696386166082845cde13cd5eee
https://github.com/llvm/llvm-project/commit/a93eb14e858819696386166082845cde13cd5eee
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/include/llvm-c/lto.h
M llvm/include/llvm/LTO/legacy/LTOModule.h
A llvm/test/LTO/AArch64/module-asm.ll
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/lto/lto.cpp
M llvm/tools/lto/lto.exports
Log Message:
-----------
[LTO][Legacy] Add new C APIs to query undefined symbols in assembly (#145413)
Add new APIs to legacy LTO C API to surface undefined symbols that
parsed from assembly. This information is needed by thin LTO to figure
out the symbols not to dead strip, while such information is
automatically forwarded in full LTO already. Linker needs to fetch the
information and adds the undefs from assembly to MustPreserveSymbols
list just like treating undefs from a non-LTO object file.
Resolves: https://github.com/llvm/llvm-project/issues/29340
Commit: 1b71ea411a9d36705663b1724ececbdfec7cc98c
https://github.com/llvm/llvm-project/commit/1b71ea411a9d36705663b1724ececbdfec7cc98c
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/msan/msan_interface_internal.h
A compiler-rt/test/msan/msan_print_shadow_on_outlined_check.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/with-call-type-size.ll
Log Message:
-----------
[msan] Automatically print shadow for failing outlined checks (#145107)
A commonly used aid for debugging MSan reports is `__msan_print_shadow()`, which requires manual app code annotations (typically of the variable in the UUM report or nearby). This is in contrast to ASan, which automatically prints out the shadow map when a check fails.
This patch changes MSan to print the shadow that failed an outlined check (checks are outlined per function after the `-msan-instrumentation-with-call-threshold` is exceeded) if verbosity >= 1. Note that we do not print out the shadow map of "neighboring" variables because this is technically infeasible; see "Caveat" below.
This patch can be easier to use than `__msan_print_shadow()` because this does not require manual app code annotations. Additionally, due to optimizations, `__msan_print_shadow()` calls can sometimes spuriously affect whether a variable is initialized.
As a side effect, this patch also enables outlined checks for arbitrary-sized shadows (vs. the current hardcoded handlers for {1,2,4,8}-byte shadows).
Caveat: the shadow does not necessarily correspond to an individual user variable, because MSan instrumentation may combine and/or truncate multiple shadows prior to emitting a check that the mangled shadow is zero (e.g., `convertShadowToScalar()`, `handleSSEVectorConvertIntrinsic()`, `materializeInstructionChecks()`). OTOH it is arguably a strength that this feature emit the shadow that directly matters for the MSan check, but which cannot be obtained using the MSan API.
Commit: 46d33b6102f2266405123cf497d037f2e6b9a08c
https://github.com/llvm/llvm-project/commit/46d33b6102f2266405123cf497d037f2e6b9a08c
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/MC/AMDGPU/gfx10_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx10_unsupported_sdwa.s
A llvm/test/MC/AMDGPU/gfx9_asm_vop2_features.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop2_dpp8.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx9_vop2_features.txt
Log Message:
-----------
[AMDGPU][MC] Allow dpp in v_pk_fmac_f16 for GFX9 and GFX10 (#144782)
Allows dpp in v_pk_fmac_f16 for GFX9, and both dpp and dpp8 for GFX10.
Commit: 9e3bb5bb91ced634585aa3b31366537152cc98f5
https://github.com/llvm/llvm-project/commit/9e3bb5bb91ced634585aa3b31366537152cc98f5
Author: qxy11 <qxy11 at meta.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Target/Statistics.h
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Target/Statistics.cpp
M lldb/test/API/commands/statistics/basic/TestStats.py
A lldb/test/API/commands/statistics/basic/baz.cpp
A lldb/test/API/commands/statistics/basic/third.cpp
Log Message:
-----------
Reland "[lldb] Add count for number of DWO files loaded in statistics #144424" (#145572)
This relands changes in #144424 for adding a count of DWO files
parsed/loaded and the total number of DWO files.
The previous PR was reverted in #145494 due to the newly added unit
tests failing on Windows and MacOS CIs since these platforms don't
support DWO. This change add an additional
`@add_test_categories(["dwo"])` to the new tests to
[skip](https://github.com/llvm/llvm-project/blob/cd46354dbd10820158edabe14dbd49d9f9010722/lldb/packages/Python/lldbsuite/test/test_categories.py#L56)
these tests on Windows/MacOS.
Original PR: #144424
### Testing
Ran unit tests
```
$ bin/lldb-dotest -p TestStats.py llvm-project/lldb/test/API/commands/statistics/basic/
----------------------------------------------------------------------
Ran 24 tests in 211.391s
OK (skipped=3)
```
Commit: 9702d37062a3bee4e658434da10e703fc2250ee0
https://github.com/llvm/llvm-project/commit/9702d37062a3bee4e658434da10e703fc2250ee0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-float.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
Log Message:
-----------
[RISCV] Support scalable vector vp.reverse/splice with Zvfhmin/Zvfbfmin. (#145588)
Commit: 48a21e69159a7e6698cde380f6d64274c6569f29
https://github.com/llvm/llvm-project/commit/48a21e69159a7e6698cde380f6d64274c6569f29
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/branch-opt.mir
Log Message:
-----------
[RISCV] Fix a correctness issue in optimizeCondBranch. Prevent optimizing compare with x0. NFC (#145440)
We were incorrectly changing -1 to 0 for unsigned compares in case 1.
The comment incorrectly said UINT64_MAX is bigger than INT64_MAX, but
we were doing a signed compare and UINT64_MAX is smaller than INT64_MAX
in signed space.
Prevent changing 0 constants since we can use x0. The test cases
for these are contrived to use addi rd, x0, 0. We're more likely
to have a COPY from x0 which we already don't optimize for other
reasons.
Check if registers are virtual before calling hasOneUse. The use count
for physical registers is meaningless.
Commit: 51d1385cdf5e9508dd02a8283443afdd01641a1a
https://github.com/llvm/llvm-project/commit/51d1385cdf5e9508dd02a8283443afdd01641a1a
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
[clang Dependency Scanning] Enhance File Caching Diagnostics (#144105)
`DependencyScanningFileSystemSharedCache` can currently report
out-of-date negatively stat cached paths. This PR enhances the reporting
with two modifications.
1. The reported path are now null terminated char arrays instead of
`StringRef`s. This way the API's user can avoid copying `StringRef`s to
other containers because the char arrays can be used directly.
2. The API now reports out-of-date cache entry due to file size changes.
Specifically, we check each file's cached size against the size of the
same file on the underlying FS. If the sizes are different, diagnostics
will be reported.
rdar://152247357
Commit: d06c2efd67e54193017606cba315facbd50167a4
https://github.com/llvm/llvm-project/commit/d06c2efd67e54193017606cba315facbd50167a4
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_err.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] Support v_lshl_add_u64 in gfx1250 (#145591)
It also brings in some DPP changes needed to define it.
Commit: 5eb5f0d8760c6b757c1da22682b5cf722efee489
https://github.com/llvm/llvm-project/commit/5eb5f0d8760c6b757c1da22682b5cf722efee489
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/msan/msan_interface_internal.h
R compiler-rt/test/msan/msan_print_shadow_on_outlined_check.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/with-call-type-size.ll
Log Message:
-----------
Revert "[msan] Automatically print shadow for failing outlined checks" (#145611)
Reverts llvm/llvm-project#145107
Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/51/builds/18512)
Commit: f37d944152ab177e923112871b97e84530aa7057
https://github.com/llvm/llvm-project/commit/f37d944152ab177e923112871b97e84530aa7057
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
A llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll
Log Message:
-----------
[AArch64][SME] Use reportFatalUsageError rather than assert (NFC) (#145491)
Fixes #144351
Commit: c84d620d4d3fe240a75b962c7c9ce6772b15548d
https://github.com/llvm/llvm-project/commit/c84d620d4d3fe240a75b962c7c9ce6772b15548d
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/include/llvm/WindowsDriver/MSVCPaths.h
M llvm/include/llvm/WindowsManifest/WindowsManifestMerger.h
Log Message:
-----------
[llvm] annotate WindowsDriver and WIndowsManifest interfaces for DLL export (#145567)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the WindowsDriver and
WindowsManifest interfaces. The annotations currently have no meaningful
impact on the LLVM build; however, they are a prerequisite to support an
LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
These changes were generated automatically using the [Interface
Definition Scanner (IDS)](https://github.com/compnerd/ids) tool,
followed formatting with `git clang-format`.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 5ae00a7ce228207c799e39735a7d6ccd2d408d9a
https://github.com/llvm/llvm-project/commit/5ae00a7ce228207c799e39735a7d6ccd2d408d9a
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/include/llvm/Telemetry/Telemetry.h
M llvm/include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h
M llvm/include/llvm/ToolDrivers/llvm-lib/LibDriver.h
Log Message:
-----------
[llvm] annotate remaining Telemetry and ToolDrivers interfaces for DLL export (#145369)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the remaining Telemetry and
ToolDrivers interfaces that were missed in, or modified since, previous
patches. The annotations currently have no meaningful impact on the LLVM
build; however, they are a prerequisite to support an LLVM Windows DLL
(shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS:
- Add `#include "llvm/Support/Compiler.h"` to files where it was not
automatically added by IDS because there were no pre-existing include
statements.
- Add default ctor and delete the copy ctor and copy assignment operator
in the `Telemetry::Manager` class. This is required because the class is
now annotated with `LLVM_ABI` and cannot otherwise be fully instantiated
for export.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 3574560b6b3c336397bf4f1198b920e8c4d24bc2
https://github.com/llvm/llvm-project/commit/3574560b6b3c336397bf4f1198b920e8c4d24bc2
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/Support/ConvertUTF.h
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/include/llvm/Support/ProgramStack.h
M llvm/include/llvm/Support/TextEncoding.h
M llvm/include/llvm/Support/Timer.h
Log Message:
-----------
[llvm] annotate remaining Support and ADT library interfaces for DLL export (#145354)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the remaining LLVM Support
and ADT interfaces that were missed in, or modified since, previous
patches. The annotations currently have no meaningful impact on the LLVM
build; however, they are a prerequisite to support an LLVM Windows DLL
(shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS:
- Annotate the private method `IEEEFloat::addOrSubtractSignificand` with
`LLVM_ABI` because it is used by a unit test friend class.
- Annotate several `friend` function declarations with `LLVM_ABI_FRIEND`
since the corresponding function declarations are annotated with
`LLVM_ABI` (required by MSVC).
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 87ce754e98473220d63674316459ca84bf12376f
https://github.com/llvm/llvm-project/commit/87ce754e98473220d63674316459ca84bf12376f
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFCFIPrinter.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFCFIProgram.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSourceLanguage.h
Log Message:
-----------
[llvm] annotate remaining BinaryFormat and DebugInfo library interfaces for DLL export (#145364)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the remaining LLVM
BinaryFormat and DebugInfo interfaces that were missed in, or modified
since, previous patches. The annotations currently have no meaningful
impact on the LLVM build; however, they are a prerequisite to support an
LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
These changes were generated automatically using the [Interface
Definition Scanner (IDS)](https://github.com/compnerd/ids) tool,
followed formatting with `git clang-format`.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 52fbefb281ea59f061d5ce3725d57ae60640c71f
https://github.com/llvm/llvm-project/commit/52fbefb281ea59f061d5ce3725d57ae60640c71f
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
A clang/test/ClangScanDeps/modules-full-named-modules.cppm
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][clang-scan-deps] Add named modules to format 'experimental-full' (#145221)
Commit: e93a0d0d1ed790173e23247fa2833cdac30b8268
https://github.com/llvm/llvm-project/commit/e93a0d0d1ed790173e23247fa2833cdac30b8268
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/AST/Decl.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/RootSignatures-AST.hlsl
A clang/test/Driver/dxc_hlsl-rootsig-ver.hlsl
M llvm/include/llvm/BinaryFormat/DXContainer.h
Log Message:
-----------
[HLSL][RootSignature] Add `fdx-rootsignature-version` option to specify root signature version (#144813)
This pr provides the ability to specify the root signature version as a
compiler option and to retain this in the root signature decl.
It also updates the methods to serialize the version when dumping the
declaration and to output the version when generating the metadata.
- Update `DXContainer.hI` to define the root signature versions
- Update `Options.td` and `LangOpts.h` to define the
`fdx-rootsignature-version` compiler option
- Update `Options.td` to provide an alias `force-rootsig-ver` in
clang-dxc
- Update `Decl.[h|cpp]` and `SeamHLSL.cpp` so that `RootSignatureDecl`
will retain its version type
- Updates `CGHLSLRuntime.cpp` to generate the extra metadata field
- Add tests to illustrate
Resolves https://github.com/llvm/llvm-project/issues/126557.
Note: this does not implement validation based on versioning.
https://github.com/llvm/llvm-project/issues/129940 is required to
retrieve the version and use it for validations.
Commit: a451fff1ad43fe2f49fb8029055baa31d504487c
https://github.com/llvm/llvm-project/commit/a451fff1ad43fe2f49fb8029055baa31d504487c
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M flang/lib/Frontend/FrontendActions.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
Log Message:
-----------
[llvm] fix extern cl::opt definitions for DLL export (#145374)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch ensures a few `cl::opt` declarations
are properly annotated with `LLVM_ABI`. The annotations currently have
no meaningful impact on the LLVM build; however, they are a prerequisite
to support an LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
- Remove local `extern` declarations of `llvm::PrintPipelinePasses`
because it is already correctly declared with an `LLVM_ABI` annotation
in `llvm\Passes\PassBuilder.h`. Leaving these declarations results in a
gcc compile warning unless they are also annotated with `LLVM_ABI`.
- Similarly, remove local `extern` declarations of
`ProfileSummaryCutoffHot` and `UseContextLessSummary` from
`llvm/tools/llvm-profgen/ProfileGenerator.cpp` since they are declared
with `LLVM_ABI` in `llvm\ProfileData\ProfileCommon.h`.
- Explicitly annotate the extern declaration of `ProfileCorrelate` in
`clang/lib/CodeGen/BackendUtil.cpp` since it is not declared in a
header. The definition of `ProfileCorrelate` in
`llvm\lib\Transforms\Instrumentation\InstrProfiling.cpp` is already
annotated with `LLVM_ABI`.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: c04e804a3117910d564a6982bed75f369d8a3467
https://github.com/llvm/llvm-project/commit/c04e804a3117910d564a6982bed75f369d8a3467
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
Log Message:
-----------
[lldb] Eliminate check for HasLoadedSections (NFC) (#145366)
We can omit the call to Target::HasLoadedSections as
Address::HasLoadedSections already "does the right thing" and returns
LLDB_INVALID_ADDRESS if no sections are loaded.
Commit: e6d6bb52980e8b2deef51499ba7b39261f0a7c5b
https://github.com/llvm/llvm-project/commit/e6d6bb52980e8b2deef51499ba7b39261f0a7c5b
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
Log Message:
-----------
AMDGPU: Remove s_waitcnt from gfx1250 support (#145620)
Also add checks to verify that ds_bvh_stack ops, s_wait_samplecnt and s_wait_bvhcnt are no longer supported by gfx1250 (these instructions depend on vimage support).
Commit: 3140333872f6e54693397882dead2c1387c91189
https://github.com/llvm/llvm-project/commit/3140333872f6e54693397882dead2c1387c91189
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Support span creation from std::initializer_list and begin/end pairs (#145311)
Support safe construction of `std::span` from `begin` and `end` calls on
hardened containers or views or `std::initializer_list`s.
For example, the following code is safe:
```
void create(std::initializer_list<int> il) {
std::span<int> input{ il.begin(), il.end() }; // no warn
}
```
rdar://152637380
Commit: dbb3e7d1162dcb5d03937935f00ed7987b66213b
https://github.com/llvm/llvm-project/commit/dbb3e7d1162dcb5d03937935f00ed7987b66213b
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
A clang/unittests/AllClangUnitTests.cpp
M clang/unittests/CMakeLists.txt
Log Message:
-----------
[clang] Register all LLVM targets in AllClangUnitTest main (#144428)
Addresses feedback in
https://github.com/llvm/llvm-project/pull/134196#issuecomment-2970715875
Makes the tests less sensitive to target registration from unrelated
test fixtures by registering everything up front.
Commit: f608716b098687f67c981f96d1adff324e41e486
https://github.com/llvm/llvm-project/commit/f608716b098687f67c981f96d1adff324e41e486
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.h
Log Message:
-----------
[LLVM][TableGen] Minor cleanup in CGIOperandList (#142721)
- Change `hadOperandNamed` to return index as std::optional and rename
it to `findOperandNamed`.
- Change `SubOperandAlias` to return std::optional and rename it to
`findSubOperandAlias`.
Commit: ed5f8f238d68811ad5eabcdb0248bcd65ab81960
https://github.com/llvm/llvm-project/commit/ed5f8f238d68811ad5eabcdb0248bcd65ab81960
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
A llvm/test/TableGen/DecoderEmitterFnTable.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[LLVM][DecoderEmitter] Add option to use function table in decodeToMCInst (#144814)
Add option `use-fn-table-in-decode-to-mcinst` to use a table of function
pointers instead of a switch case in the generated `decodeToMCInst`
function.
When the number of switch cases in this function is large, the generated
code takes a long time to compile in release builds. Using a table of
function pointers instead improves the compile time significantly (~3x
speedup in compiling the code in a downstream target). This option will
allow targets to opt into this mode if they desire for better build
times.
Tested with `check-llvm-mc` with the option enabled by default.
Commit: 30922f740e47c1372cff2c2635e5e2158e5e63cf
https://github.com/llvm/llvm-project/commit/30922f740e47c1372cff2c2635e5e2158e5e63cf
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
Log Message:
-----------
Move relocation specifier constants to AArch64::
Rename these relocation specifier constants, aligning with the naming
convention used by other targets (`S_` instead of `VK_`).
* ELF/COFF: AArch64MCExpr::VK_ => AArch64::S_ (VK_ABS/VK_PAGE_ABS are
also used by Mach-O as a hack)
* Mach-O: AArch64MCExpr::M_ => AArch64::S_MACHO_
* shared: AArch64MCExpr::None => AArch64::S_None
Apologies for the churn following the recent rename in #132595. This
change ensures consistency after introducing MCSpecifierExpr to replace
MCTargetSpecifier subclasses.
Pull Request: https://github.com/llvm/llvm-project/pull/144633
Commit: 3de2af3ef56c66de2f20695fc8854684095f5d50
https://github.com/llvm/llvm-project/commit/3de2af3ef56c66de2f20695fc8854684095f5d50
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
Log Message:
-----------
AMDGPU: Remove export and related instructions from gfx1250 support (#145624)
Commit: c85466dcd485d4a1320eec9cbf32bd47ff90464f
https://github.com/llvm/llvm-project/commit/c85466dcd485d4a1320eec9cbf32bd47ff90464f
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/msan/msan_interface_internal.h
A compiler-rt/test/msan/msan_print_shadow_on_outlined_check.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/with-call-type-size.ll
Log Message:
-----------
Reapply "[msan] Automatically print shadow for failing outlined checks" (#145611) (#145615)
This reverts commit 5eb5f0d8760c6b757c1da22682b5cf722efee489 i.e.,
relands 1b71ea411a9d36705663b1724ececbdfec7cc98c.
Test case was failing on aarch64 because the long double type is
implemented differently on x86 vs aarch64. This reland restricts the
test to x86.
----
Original CL description:
A commonly used aid for debugging MSan reports is
`__msan_print_shadow()`, which requires manual app code annotations
(typically of the variable in the UUM report or nearby). This is in
contrast to ASan, which automatically prints out the shadow map when a
check fails.
This patch changes MSan to print the shadow that failed an outlined
check (checks are outlined per function after the
`-msan-instrumentation-with-call-threshold` is exceeded) if verbosity >=
1. Note that we do not print out the shadow map of "neighboring"
variables because this is technically infeasible; see "Caveat" below.
This patch can be easier to use than `__msan_print_shadow()` because
this does not require manual app code annotations. Additionally, due to
optimizations, `__msan_print_shadow()` calls can sometimes spuriously
affect whether a variable is initialized.
As a side effect, this patch also enables outlined checks for
arbitrary-sized shadows (vs. the current hardcoded handlers for
{1,2,4,8}-byte shadows).
Caveat: the shadow does not necessarily correspond to an individual user
variable, because MSan instrumentation may combine and/or truncate
multiple shadows prior to emitting a check that the mangled shadow is
zero (e.g., `convertShadowToScalar()`,
`handleSSEVectorConvertIntrinsic()`, `materializeInstructionChecks()`).
OTOH it is arguably a strength that this feature emit the shadow that
directly matters for the MSan check, but which cannot be obtained using
the MSan API.
Commit: 505906bff6ddf9813666f0404fb604a2b6e02722
https://github.com/llvm/llvm-project/commit/505906bff6ddf9813666f0404fb604a2b6e02722
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] do not legalize t16 operand during user scan (#145450)
The legalize t16 operand function could insert a reg_sequence which
modify the user list of the targetted register, and we should not call
it in the middle of an user list iteration
Commit: 77af8bff97a0b20dac9ff9a95385d036da7d8ba5
https://github.com/llvm/llvm-project/commit/77af8bff97a0b20dac9ff9a95385d036da7d8ba5
Author: Lance Wang <lancewang at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
A mlir/include/mlir/IR/StateStack.h
R mlir/include/mlir/Support/StateStack.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/IR/CMakeLists.txt
A mlir/lib/IR/StateStack.cpp
M mlir/lib/Support/CMakeLists.txt
R mlir/lib/Support/StateStack.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir]Moves the StateStack to IR folder from Support folder. (#145598)
[MLIR] Fix circular dependency introduced in In
https://github.com/llvm/llvm-project/pull/144897. This PR is to break
the dependency. by moving StateStack to IR folder
This commit resolves a circular dependency issue between mlir/Support
and mlir/IR:
- Move StateStack.h and StateStack.cpp from Support to IR folder
- Update CMakeLists.txt files to reflect the new locations
- Update Bazel BUILD file to maintain correct dependencies
- Update includes in affected files (flang, Target/LLVMIR)
The circular dependency was caused by StateStack.h depending on
IR/Visitors.h
while other IR files depended on Support. Moving StateStack to IR
eliminates
this cycle while maintaining proper separation of concerns.
Commit: 948cc91188e5a2d60917ff5bc953987a80a3949c
https://github.com/llvm/llvm-project/commit/948cc91188e5a2d60917ff5bc953987a80a3949c
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/Headers/prfchwintrin.h
M clang/lib/Headers/xmmintrin.h
Log Message:
-----------
Reapply "[Win/X86] Make _m_prefetch[w] builtins to avoid winnt.h conflicts (#115099)" (#138360)
This reverts commit 83ff9d4a34b1e579dd809759d13b70b8837f0cde.
Don't change the builtin signature of _mm_prefetch this time.
Commit: 901e1390c9778a191256335d37802bc631c2d183
https://github.com/llvm/llvm-project/commit/901e1390c9778a191256335d37802bc631c2d183
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/arm64-fp-contract-zero.ll
M llvm/test/CodeGen/AMDGPU/fdot2.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
M llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
A llvm/test/CodeGen/X86/dag-combiner-fma-folding.ll
M llvm/test/CodeGen/X86/sqrt-fastmath-mir.ll
M llvm/test/CodeGen/X86/sqrt-fastmath.ll
Log Message:
-----------
[SelectionDAG] Remove UnsafeFPMath check in `visitFADDForFMACombine` (#127770)
As requested in #127488, remove reference to `Options.UnsafeFPMath`,
which should be obsolete and `AllowFPOpFusion` also handles it.
Commit: deb3464192647501ee1ba8431ffad6aa4c68ef00
https://github.com/llvm/llvm-project/commit/deb3464192647501ee1ba8431ffad6aa4c68ef00
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcicm-valid.s
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[RISCV] Add Tied operands in Xqcicm instructions and changes to handle a single tied operand in source DAG and instruction (#145538)
Tied Operands change is required for adding codegen patterns for
Qualcomm uC Xqcicm instructions
which will be done in a follow-up PR. This change leads to one of
instructions getting compressed even
when it shouldn't be. This case was not covered in #143660. Added
changes to correctly handle this case.
Commit: 08b8d467d4253373e77a075c03e25281dee8ad15
https://github.com/llvm/llvm-project/commit/08b8d467d4253373e77a075c03e25281dee8ad15
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
A llvm/test/CodeGen/AMDGPU/wait-xcnt.mir
Log Message:
-----------
[AMDGPU][GFX1250] Insert S_WAIT_XCNT for SMEM and VMEM load-stores (#145566)
This patch tracks the register operands of both VMEM (FLAT, MUBUF,
MTBUF) and SMEM load-store operations and inserts a S_WAIT_XCNT
instruction with sufficient wait-count before potentially redefining
them. For VMEM instructions, XNACK is returned in the same order as
they were issued and hence non-zero counter values can be inserted.
However, SMEM execution is out-of-order and so is their XNACK reception.
Thus, only zero counter value can be inserted to capture SMEM dependencies.
Commit: 494a74882b2664c99dda3c4c456a33ab2cc4c376
https://github.com/llvm/llvm-project/commit/494a74882b2664c99dda3c4c456a33ab2cc4c376
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
A lld/ELF/Arch/TargetImpl.h
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Options.td
M lld/ELF/Relocations.cpp
M lld/ELF/Target.h
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
A lld/test/ELF/aarch64-branch-to-branch.s
A lld/test/ELF/x86-64-branch-to-branch.s
Log Message:
-----------
Reapply "ELF: Add branch-to-branch optimization."
Fixed assertion failure when reading .eh_frame sections, and added
.eh_frame sections to tests.
This reverts commit 1e95349dbe329938d2962a78baa0ec421e9cd7d1.
Original commit message follows:
When code calls a function which then immediately tail calls another
function there is no need to go via the intermediate function. By
branching directly to the target function we reduce the program's working
set for a slight increase in runtime performance.
Normally it is relatively uncommon to have functions that just tail call
another function, but with LLVM control flow integrity we have jump tables
that replace the function itself as the canonical address. As a result,
when a function address is taken and called directly, for example after
a compiler optimization resolves the indirect call, or if code built
without control flow integrity calls the function, the call will go via
the jump table.
The impact of this optimization was measured using a large internal
Google benchmark. The results were as follows:
CFI enabled: +0.1% ± 0.05% queries per second
CFI disabled: +0.01% queries per second [not statistically significant]
The optimization is enabled by default at -O2 but may also be enabled
or disabled individually with --{,no-}branch-to-branch.
This optimization is implemented for AArch64 and X86_64 only.
lld's runtime performance (real execution time) after adding this
optimization was measured using firefox-x64 from lld-speed-test [1]
with ldflags "-O2 -S" on an Apple M2 Ultra. The results are as follows:
```
N Min Max Median Avg Stddev
x 512 1.2264546 1.3481076 1.2970261 1.2965788 0.018620888
+ 512 1.2561196 1.3839965 1.3214632 1.3209327 0.019443971
Difference at 95.0% confidence
0.0243538 +/- 0.00233202
1.87831% +/- 0.179859%
(Student's t, pooled s = 0.0190369)
```
[1] https://discourse.llvm.org/t/improving-the-reproducibility-of-linker-benchmarking/86057
Reviewers: zmodem, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/145579
Commit: 2550a637a12710b53a4d939232228ba959d33ea3
https://github.com/llvm/llvm-project/commit/2550a637a12710b53a4d939232228ba959d33ea3
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/DSDIRInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
Log Message:
-----------
AMDGPU: Remove LDS-direct(param)-loads and VINTERP ops from gfx1250 support (#145631)
Commit: 13a9b86f627934ccf898e85f86e2a0a0df5f85da
https://github.com/llvm/llvm-project/commit/13a9b86f627934ccf898e85f86e2a0a0df5f85da
Author: Wenju He <wenju.he at intel.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M libclc/clc/include/clc/clcmacro.h
R libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
R libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
M libclc/clc/include/clc/math/clc_pown.h
M libclc/clc/include/clc/math/clc_rootn.h
A libclc/clc/include/clc/shared/binary_decl_with_int_second_arg.inc
A libclc/clc/include/clc/shared/binary_def_with_int_second_arg.inc
M libclc/clc/lib/generic/math/clc_copysign.cl
M libclc/opencl/include/clc/opencl/math/ldexp.h
M libclc/opencl/include/clc/opencl/math/ldexp.inc
M libclc/opencl/include/clc/opencl/math/pown.h
M libclc/opencl/include/clc/opencl/math/rootn.h
M libclc/opencl/lib/clspv/math/fma.cl
M libclc/opencl/lib/generic/common/degrees.cl
M libclc/opencl/lib/generic/common/radians.cl
M libclc/opencl/lib/generic/math/fma.cl
M libclc/opencl/lib/generic/math/ldexp.cl
M libclc/opencl/lib/generic/math/mad.cl
M libclc/opencl/lib/generic/math/nextafter.cl
M libclc/opencl/lib/generic/math/pown.cl
M libclc/opencl/lib/generic/math/rootn.cl
M libclc/opencl/lib/spirv/math/fma.cl
Log Message:
-----------
[NFC][libclc] Replace and delete _CLC_DEFINE_UNARY/BINARY/TERNARY_BUILTIN macros (#145458)
Also delete unused _CLC_DEFINE_BINARY_BUILTIN_WITH_SCALAR_SECOND_ARG,
_CLC_DEFINE_UNARY_BUILTIN_FP16 and _CLC_DEFINE_BINARY_BUILTIN_FP16.
llvm-diff shows no change to nvptx64--nvidiacl.bc and amdgcn--amdhsa.bc
Commit: 888f84f72c07dfad8f266d907799c4060835a960
https://github.com/llvm/llvm-project/commit/888f84f72c07dfad8f266d907799c4060835a960
Author: David Green <david.green at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/special-reg.ll
Log Message:
-----------
[ARM] Return the correct chain when expanding READ_REGISTER (#145237)
This prevents it CSEing multiple nodes together from "volatile"
registers as they would end up with the same chain. The new chain out
should be the chain from the new READ_REGISTER node.
Fixes #144845
Commit: 0512d119fdf019b7c56e58f89b094ee5928b0a07
https://github.com/llvm/llvm-project/commit/0512d119fdf019b7c56e58f89b094ee5928b0a07
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb] Clean up GDBRemoteCommunication::StartDebugserverProcess (#145021)
The function was extremely messy in that it, depending on the set of
arguments, it could either modify the Connection object in `this` or
not. It had a lot of arguments, with each call site passing a different
combination of null values. This PR:
- packs "url" and "comm_fd" arguments into a variant as they are
mutually exclusive
- removes the (surprising) "null url *and* null comm_fd" code path which
is not used as of https://github.com/llvm/llvm-project/pull/145017
- marks the function as `static` to make it clear it (now) does not
operate on the `this` object.
Depends on #145017
Commit: a0ce3e691c199145b55b6a7f86468b438eb14264
https://github.com/llvm/llvm-project/commit/a0ce3e691c199145b55b6a7f86468b438eb14264
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/Serialization/ASTWriterStmt.cpp
A clang/test/Modules/pr118137.cppm
Log Message:
-----------
[C++20] [Modules] Avoid crash with calls to (this auto) syntax
Due to we didn't consider (this, auto) information when setting abbrev
for calls, we use incorrect format for calls, which cause crashes.
From
https://github.com/llvm/llvm-project/issues/118137
Commit: c3c923c8d62c1e85fe396a499c921c8a475bb86d
https://github.com/llvm/llvm-project/commit/c3c923c8d62c1e85fe396a499c921c8a475bb86d
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
A llvm/test/CodeGen/X86/GlobalISel/llvm.sincos.mir
M llvm/test/CodeGen/X86/llvm.sincos.ll
Log Message:
-----------
[X86][GlobalISel] Enable SINCOS with libcall mapping (#142438)
Commit: 34bfa4e7898ce2338d805c4065bf0d33681d20c0
https://github.com/llvm/llvm-project/commit/34bfa4e7898ce2338d805c4065bf0d33681d20c0
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
Log Message:
-----------
[RISCV] Fix incorrect chapter number in comment in RISCVSchedSiFive7.td. NFC.
Commit: 01b288fe6a1e627954329198ed5641f2bf55ee8d
https://github.com/llvm/llvm-project/commit/01b288fe6a1e627954329198ed5641f2bf55ee8d
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Improve QualifierAlignment in guessing macros (#145468)
Fixes #145388
Commit: d95f46ca84d754b6368dfd256969273148c98d14
https://github.com/llvm/llvm-project/commit/d95f46ca84d754b6368dfd256969273148c98d14
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
Log Message:
-----------
[IR] Fix incorrect writeonly on llvm.allow.ubsan/runtime.check (#145492)
These intrinsics introduced in #84850 are currently marked as
`memory(inaccessiblemem: write)`. This is not correct for the intended
purpose of allowing per-block decisions, as such calls may get DCEd
across control-flow boundaries (which will start actually happening with
#145474).
Use `memory(inaccessiblemem: readwrite)` instead, just like all the
other control-flow sensitive intrinsics.
Commit: 956bab0381e90accdfd767aabe44b0c25055c87d
https://github.com/llvm/llvm-project/commit/956bab0381e90accdfd767aabe44b0c25055c87d
Author: Kunqiu Chen <camsyn at foxmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
A compiler-rt/test/tsan/java_heap_init2.cpp
A compiler-rt/test/tsan/munmap_clear_shadow.c
Log Message:
-----------
[TSan] Add 2 test cases related to incomplete shadow cleanup in unmap (#145472)
Once part of PR #144648, follow the reviewer's advice and split into
this separate PR.
`unmap` works at page granularity, but supports an arbitrary non-zero
size as an argument, which results in possible shadow undercleaning in
the existing TSan implementation when `size % kShadowCell != 0`.
This change introduces two test cases to verify the shadow cleaning
effect in `unmap`.
- java_heap_init2.cpp: Imitating java_heap_init cpp, verify the
incomplete cleaning of meta
- munmap_clear_shadow.c: verify the incomplete cleaning of shadow
Commit: 5238f06f723482d1c058d800fb438c507e41b5d9
https://github.com/llvm/llvm-project/commit/5238f06f723482d1c058d800fb438c507e41b5d9
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
A llvm/test/CodeGen/ARM/ifcvt_unanalyzable_fallthrough.mir
Log Message:
-----------
[IfConversion] Pre-commit testcase for !HasFallThrough bug. NFC
Adding a test case showing that we can't assume that
!HasFallThrough implies that there is no fallthrough exit
in case analyzeBranch returned true (true == "could not analyze").
Commit: 7c38ee26d44124c93dc1553cde36837928c96d41
https://github.com/llvm/llvm-project/commit/7c38ee26d44124c93dc1553cde36837928c96d41
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/test/Transforms/FunctionAttrs/initializes.ll
M llvm/test/Transforms/FunctionAttrs/nosync.ll
Log Message:
-----------
[FunctionAttrs][IR] Fix memory attr inference for volatile mem intrinsics (#122926)
Per LangRef volatile operations can read and write inaccessible memory:
> any volatile operation can read and/or modify state which is not
> accessible via a regular load or store in this module
Model this by adding inaccessible memory effects in getMemoryEffects()
if the operation is volatile.
In the future, we should model volatile using operand bundles instead.
Fixes https://github.com/llvm/llvm-project/issues/120932.
Commit: 237b8de2c0d9ee50c6a744e95c0706c8cdea70e1
https://github.com/llvm/llvm-project/commit/237b8de2c0d9ee50c6a744e95c0706c8cdea70e1
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/IfConversion.cpp
M llvm/test/CodeGen/ARM/ifcvt_unanalyzable_fallthrough.mir
Log Message:
-----------
[IfConversion] Fix bug related to !HasFallThrough (#145471)
We can not trust that !HasFallThrough implies that there is not
fallthrough exit in cases when analyzeBranch failed.
Adding a new blockNeverFallThrough helper to make the tests on
!HasFallThrough safe by also checking IsBrAnalyzable. We also
try to prove no-fallthrough by inspecting the successor list. If
the textual successor isn't in the successor list we know that
there is no fallthrough.
The bug has probably been around for years. Found it when
working on an out-of-tree target.
Commit: 31545ca5f467fb0860ed3d09313451d547e41f5d
https://github.com/llvm/llvm-project/commit/31545ca5f467fb0860ed3d09313451d547e41f5d
Author: Tobias Hieta <tobias at hieta.se>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/docs/HowToReleaseLLVM.rst
Log Message:
-----------
[Docs] Incorporate the recent discussed changes to release process (#145285)
* Move up the date 2 weeks
* Make RC3 required
* Add more releases to the table to align with the release every two
weeks RFC.
This has been discussed in the following RFCs:
https://discourse.llvm.org/t/rfc-llvm-releases-every-two-weeks/84245
https://discourse.llvm.org/t/rfc-updating-and-aligning-the-llvm-release-process-before-llvm-21/86493
Commit: aeaf319b8c2207eb747079529f28d44d54bf1fd5
https://github.com/llvm/llvm-project/commit/aeaf319b8c2207eb747079529f28d44d54bf1fd5
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/test/HLFIR/declare-codegen.fir
Log Message:
-----------
[flang] avoid useless rebox of polymorphic scalars (#145507)
Do not create new descriptor for polymorphic scalars when lowering
hlfir.declare.
hlfir.declare of box/class is lowered to a fir.rebox to ensure that
local lower bounds and descriptor attributes (Pointer/Allocatable/None)
are properly set-up in the descriptor associated to the symbol.
For polymorphic scalar, this created a useless temporary descriptor.
This was breaking invalid code #145256 that violates OPTIONAL usage
rules. I am not fixing it primarily to support this invalid code, but
rather because it is dumb to create a useless fir.rebox.
Commit: d32239b461ed61646c40e94970f5eac34aa84680
https://github.com/llvm/llvm-project/commit/d32239b461ed61646c40e94970f5eac34aa84680
Author: Lang Hames <lhames at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
Log Message:
-----------
[ORC] Move UnsupportedExecutorProcessControl into unittests.
The UnsupportedExecutorProcessControl implementation is only used in unit
tests, so move it out of the public headers.
Commit: d12fb1fc3714627ec526ca95f0e0896ea137abb5
https://github.com/llvm/llvm-project/commit/d12fb1fc3714627ec526ca95f0e0896ea137abb5
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Log Message:
-----------
[WebAssembly] Refactor PerformSETCCCombine (#144875)
Extract the logic into a templated helper function.
Commit: 4ac4726d00644f6c6b0e2de1df0d00deed0015bf
https://github.com/llvm/llvm-project/commit/4ac4726d00644f6c6b0e2de1df0d00deed0015bf
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Format some print forms.NFC (#144644)
Commit: 17c5c19902a8b9270687186098e66565afbef64b
https://github.com/llvm/llvm-project/commit/17c5c19902a8b9270687186098e66565afbef64b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
R llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
M llvm/test/Verifier/assume-bundles.ll
Log Message:
-----------
[Verifier] Always verify all assume bundles. (#145586)
For some reason, some of the checks for specific assumbe bundle elements
exit early if the check pass, meaning we don't verify other entries.
Replace the early returns with early continues.
This also requires removing some tests that are currently rejected. They will
be added back as part of https://github.com/llvm/llvm-project/pull/128436.
PR: https://github.com/llvm/llvm-project/pull/145586
Commit: 4f9adb6889419a556ae972119c23c842e7bf4092
https://github.com/llvm/llvm-project/commit/4f9adb6889419a556ae972119c23c842e7bf4092
Author: Matthias Springer <me at m-sp.org>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][vector] Relax operand type restrictions for `vector.splat` (#145517)
The vector type allows element types that implement the
`VectorElementTypeInterface`. `vector.splat` should allow any element
type that is supported by the vector type.
Commit: 3b251cd675fb8e4910cd4fb217c92dcc6c722eee
https://github.com/llvm/llvm-project/commit/3b251cd675fb8e4910cd4fb217c92dcc6c722eee
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
A mlir/test/Dialect/ArmSVE/legalize-transfer-read.mlir
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/transfer-read-scalable-non-trailing.mlir
Log Message:
-----------
[MLIR] Legalize certain `vector.transfer_read` ops of scalable vectors (#143146)
This patch adds a transform of `transfer_read` operation to change the
vector type to one that can be mapped to an LLVM type. This is done by
collapsing trailing dimensions so we obtain a vector type with a single
trailing scalable dimension.
Commit: ecff028a96626357d17d4e4fdce824a7da89ec1c
https://github.com/llvm/llvm-project/commit/ecff028a96626357d17d4e4fdce824a7da89ec1c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Log Message:
-----------
[LV] Update test after 4ac4726d00.
Update missed test checks after #144644.
Commit: ad87d951c94f045389b2e424c2d2a1505c593b85
https://github.com/llvm/llvm-project/commit/ad87d951c94f045389b2e424c2d2a1505c593b85
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-overflow.c
Log Message:
-----------
[clang] Fix __builtin_mul_overflow for big _BitInts (#145497)
For long enough _BitInt types we use different types for memory,
storing-loading and other operations. Makes sure it is correct for mixed
sign __builtin_mul_overflow cases. Using pointer element type as a
result type doesn't work, because it will be "in-memory" type which is
usually bigger than "operations" type and that caused crashes because
clang was trying to emit trunc to a bigger type.
Fixes https://github.com/llvm/llvm-project/issues/144771
Commit: d0469d1d3c31e919dba97637ac7ab063c44118e5
https://github.com/llvm/llvm-project/commit/d0469d1d3c31e919dba97637ac7ab063c44118e5
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
R mlir/include/mlir/IR/StateStack.h
M mlir/include/mlir/IR/Visitors.h
A mlir/include/mlir/Support/StateStack.h
A mlir/include/mlir/Support/WalkResult.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/IR/CMakeLists.txt
R mlir/lib/IR/StateStack.cpp
M mlir/lib/Support/CMakeLists.txt
A mlir/lib/Support/StateStack.cpp
Log Message:
-----------
[mlir] Move WalkResult to Support (#145649)
This also enables moving StateStack, both are relatively generic helper
structs not tied to IR.
Commit: 88297cca8f8cf2917ee683f7a2545aed9f8517b5
https://github.com/llvm/llvm-project/commit/88297cca8f8cf2917ee683f7a2545aed9f8517b5
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/convergence-laneops.ll
Log Message:
-----------
[AMDGPU] Correct -mcpu processor name in test (#145493)
Commit: f2f4b557aa7a957898c15dac3c2edd32f06581df
https://github.com/llvm/llvm-project/commit/f2f4b557aa7a957898c15dac3c2edd32f06581df
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/variant
M libcxx/test/std/utilities/variant/variant.relops/relops.pass.cpp
M libcxx/test/std/utilities/variant/variant.relops/relops_bool_conv.verify.cpp
M libcxx/test/support/test_comparisons.h
Log Message:
-----------
[libc++] P2944R3: Constrained comparisions - `variant` (#141396)
This is a follow-up and depends on #139368 being merged first.
Implements [P2944R3](https://wg21.link/P2944R3) partially, which adds
constrained comparisons to `std::variant`
Closes #136769
Depends on #139368
# References
[variant.relops](https://wg21.link/variant.relops)
Commit: 0f01cd52891421bd0283b2bf14b968a857321d7f
https://github.com/llvm/llvm-project/commit/0f01cd52891421bd0283b2bf14b968a857321d7f
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/test/CodeGen/X86/isel-fabs-x87.ll
M llvm/test/CodeGen/X86/isel-fabs.ll
Log Message:
-----------
[X86][GlobalIsel] support G_FABS (#136718)
Adds support for G_FABS for f80.
---------
Co-authored-by: mattarde <mattarde at intel.com>
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 32febe60f36441f8a139b4119a99d17285ca0b4b
https://github.com/llvm/llvm-project/commit/32febe60f36441f8a139b4119a99d17285ca0b4b
Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Sema/SemaPPC.cpp
A clang/test/CodeGen/PowerPC/builtins-bcd-transform.c
A clang/test/Sema/builtins-bcd-transform.c
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/lib/Target/PowerPC/PPCInstrAltivec.td
A llvm/test/CodeGen/PowerPC/builtins-bcd-transform.ll
Log Message:
-----------
[PowerPC] Support for Packed BCD conversion builtins (#142723)
Support the following packed BCD builtins for PowerPC.
```
__builtin_national2packed - Conversion of National format to Packed decimal format.
__builtin_packed2national - Conversion of Packed decimal format to national format.
__builtin_packed2zoned - Conversion of Packed decimal format to Zoned decimal format.
__builtin_zoned2packed - Conversion of Zoned decimal format to Packed decimal format.
```
### Prototypes:
`vector unsigned char __builtin_national2packed(vector unsigned char a,
unsigned char b);`
`vector unsigned char __builtin_packed2zoned(vector unsigned char,
unsigned char);`
`vector unsigned char __builtin_zoned2packed(vector unsigned char,
unsigned char);`
The condition for the 2nd parameter is consistent over all the 3
prototypes (0 or 1 only).
`vector unsigned char __builtin_packed2national(vector unsigned char);`
Co-authored-by: himadhith <himadhith.v at ibm.com>
Co-authored-by: Tony Varghese <tonypalampalliyil at gmail.com>
Commit: 29f8dca0853cf414f73148bb607b4b1c82dd6c5f
https://github.com/llvm/llvm-project/commit/29f8dca0853cf414f73148bb607b4b1c82dd6c5f
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for e93a0d0d1ed790173e23247fa2833cdac30b8268
Commit: 20a72083fdff012b6ec45c38475f49c7f2a3dc56
https://github.com/llvm/llvm-project/commit/20a72083fdff012b6ec45c38475f49c7f2a3dc56
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
M bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
Log Message:
-----------
[BOLT] Gadget scanner: improve handling of unreachable basic blocks (#136183)
Instead of refusing to analyze an instruction completely when it is
unreachable according to the CFG reconstructed by BOLT, use pessimistic
assumption of register state when possible. Nevertheless, unreachable
basic blocks found in optimized code likely means imprecise CFG
reconstruction, thus report a warning once per function.
Commit: 97b8cec789fe3b8558a6d2b7fac269c5606ab4a3
https://github.com/llvm/llvm-project/commit/97b8cec789fe3b8558a6d2b7fac269c5606ab4a3
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
Log Message:
-----------
[lldb][lldb-dap] Skip runInTerminalWithObjectEnv test on Windows
It is failing on our Windows on Arm bot:
AssertionError: False is not true : launch failed (Unimplemented)
Given that all the others are skipped on Windows, I assume this
failure is expected too.
Commit: 3a3d1bf4a39bbbe1cfdc56ab9eeeb13cb438348a
https://github.com/llvm/llvm-project/commit/3a3d1bf4a39bbbe1cfdc56ab9eeeb13cb438348a
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M lldb/include/lldb/Target/MemoryTagManager.h
M lldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.cpp
M lldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.h
M lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py
A lldb/test/API/linux/aarch64/mte_core_file/core.mte.notags
M lldb/test/API/linux/aarch64/mte_core_file/main.c
M lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
Log Message:
-----------
[lldb][AArch64] Handle core file tag segments missing tag data (#145338)
In the same way that memory regions may be known from a core file but
not readable, tag segments can also have no content. For example:
```
$ readelf --segments core
<...>
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
<...>
LOAD 0x0000000000002000 0x0000ffff93899000 0x0000000000000000
0x0000000000000000 0x0000000000001000 RW 0x1000
<...>
LOPROC+0x2 0x0000000000008000 0x0000ffff93899000 0x0000000000000000
0x0000000000000000 0x0000000000001000 0x0
```
This happens if you have a restricted coredump filter or size limit.
The area of virtual memory this segment covers is 0x1000, or 4096 bytes
aka one tagged page. It's FileSiz would normally be 0x80. Tags are
packed 2 per byte and granules are 16 bytes. 4096 / 16 / 2 = 128 or
0x80.
But here it has no data, and in theory a corrupt file might have some
data but not all. This triggered an assert in
UnpackTagsFromCoreFileSegment and crashed lldb.
To fix this I have made UnpackTagsFromCoreFileSegment return an expected
and returned an error in this case instead of asserting. This will be
seen by the user, as shown in the added API test.
Commit: 5d2ece14378ef00b569e5f29034a0236d735da44
https://github.com/llvm/llvm-project/commit/5d2ece14378ef00b569e5f29034a0236d735da44
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/test/CodeGen/X86/shift-i512.ll
M llvm/test/CodeGen/X86/x86-64-double-shifts-var.ll
Log Message:
-----------
[X86] Allow znver3/4/5 targets to use double-shift instructions by default (#132720)
While still not as fast as Intel targets, recent AMD znver3 + later CPUs
are not as microcoded+bottlenecked as previous AMD targets (now only
~2cy rthroughput) which improves on the expanded 3*shift+not+or sequence
we expand to as an alternative.
Noticed while triaging #132601
Commit: 22ee837ec0ae5c097fa8e2cf49bfc504664f5ebe
https://github.com/llvm/llvm-project/commit/22ee837ec0ae5c097fa8e2cf49bfc504664f5ebe
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/test/Fir/convert-to-llvm.fir
Log Message:
-----------
[flang][NFC] do not copy fields in fir::RecordType::getTypeList (#145530)
For historical reason, `fir::RecordType::getTypeList` was returning an
std::vector, causing the entire field list to be copied when called.
It is called a lot indirectly in all type helpers, which themselves are
called a lot in derived type heavy code like WRF.
The `fir::hasDynamicType` helper is also called a lot, and it can just
check for length parameters to avoid looping on all derived type
components in most cases.
Commit: 4efb61850b590941a8da51057d3a63782864f44c
https://github.com/llvm/llvm-project/commit/4efb61850b590941a8da51057d3a63782864f44c
Author: Chuanqi Xu <chuanqi.xcq at alibaba-inc.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
A clang/test/Modules/template-declare.cppm
Log Message:
-----------
[C++20] [Modules] Handling template declare with debug info
It looks an overlook that debug info can't play well with
explicit template instantiation. Tested in donwstream for years. I just
forgot to upstream it.
Commit: 1060d8910f1299e7736be8a419ca0c16b9a391eb
https://github.com/llvm/llvm-project/commit/1060d8910f1299e7736be8a419ca0c16b9a391eb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
Log Message:
-----------
[TTI] improveShuffleKindFromMask - pull out repeated Mask.size() calls. NFC.
Commit: d223832a588880d5704c91ffb60f564f17bebdff
https://github.com/llvm/llvm-project/commit/d223832a588880d5704c91ffb60f564f17bebdff
Author: Mihir Patil <93171064+0xMihir at users.noreply.github.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/include/mlir/IR/EnumAttr.td
M mlir/test/IR/attribute.mlir
M mlir/test/lib/Dialect/Test/TestEnumDefs.td
M mlir/tools/mlir-tblgen/EnumsGen.cpp
Log Message:
-----------
[TableGen] Use getValue instead of getInt for enum attributes (#144030)
Fixes #144005
getInt is deprecated. We can instead compare APInt for the predicate and
getZExtValue to return the underlying data.
Commit: 36a060a4e51b09f4cd6dc41bc8d82c8dd22084df
https://github.com/llvm/llvm-project/commit/36a060a4e51b09f4cd6dc41bc8d82c8dd22084df
Author: Lang Hames <lhames at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
Log Message:
-----------
[ORC] Sink DynamicLibrary.h header include into ExecutorProcessControl.cpp.
This include is only used for implementation, so shouldn't be in the public
header.
Commit: a8a2c6fa882d8e3956cd189ff9f654bf91ced4b1
https://github.com/llvm/llvm-project/commit/a8a2c6fa882d8e3956cd189ff9f654bf91ced4b1
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
M bolt/test/binary-analysis/AArch64/gs-pauth-authentication-oracles.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M bolt/test/binary-analysis/AArch64/gs-pauth-signing-oracles.s
Log Message:
-----------
[BOLT] Gadget scanner: fix LR to be safe in leaf functions without CFG (#141824)
After a label in a function without CFG information, use a reasonably
pessimistic estimation of register state (assume that any register that
can be clobbered in this function was actually clobbered) instead of the
most pessimistic "all registers are unsafe". This is the same estimation
as used by the dataflow variant of the analysis when the preceding
instruction is not known for sure.
Without this, leaf functions without CFG information are likely to have
false positive reports about non-protected return instructions, as
1) LR is unlikely to be signed and authenticated in a leaf function and
2) LR is likely to be used by a return instruction near the end of the
function and
3) the register state is likely to be reset at least once during the
linear scan through the function
Commit: eeb206d688b70da9e40a0caf4e4838c4bb54584f
https://github.com/llvm/llvm-project/commit/eeb206d688b70da9e40a0caf4e4838c4bb54584f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/test/CodeGen/SystemZ/vec-max-min-zerosplat.ll
Log Message:
-----------
[SystemZ] vec-max-min-zerosplat.ll - regenerate checks
Reduces codegen diff in #145298
Commit: 992f0d12255a4a9ae18e45f09700097cbd3739b5
https://github.com/llvm/llvm-project/commit/992f0d12255a4a9ae18e45f09700097cbd3739b5
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/test/CodeGen/logb_scalbn.c
Log Message:
-----------
[Clang][SPIRV][AMDGPU] Override `supportsLibCall` for AMDGCNSPIRV (#143814)
The `supportsLibCall` predicate is used to select whether some math builtins get expanded in the FE or they get lowered into libcalls. The default implementation unconditionally returns true, which is problematic for AMDGCN-flavoured SPIRV, as AMDGPU does not support any libcalls at the moment. This change overrides the predicate in order to reflect this and correctly do the expected FE expansion when targeting AMDGCN-flavoured SPIRV.
Commit: 9fde72e729874450563eab8f2b0454cfeac57a48
https://github.com/llvm/llvm-project/commit/9fde72e729874450563eab8f2b0454cfeac57a48
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll
Log Message:
-----------
[AArch64] Use `-filetype=null` in test (NFC) (#145662)
Commit: 6f47f4b9e58f7d982814026f5e31e78bf2abae52
https://github.com/llvm/llvm-project/commit/6f47f4b9e58f7d982814026f5e31e78bf2abae52
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/test/CodeGen/Mips/msa/compare_float.ll
Log Message:
-----------
[MIPS][MSA] compare_float.ll - regenerate checks
Reduces codegen diff in #145298
Commit: 892a263106af217c9d2c9d021a821c8531ad3559
https://github.com/llvm/llvm-project/commit/892a263106af217c9d2c9d021a821c8531ad3559
Author: David Truby <david.truby at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M flang/docs/ReleaseNotes.md
Log Message:
-----------
[flang] Add release note for compiler-rt dependency on AArch64 (#145547)
Commit: 630d55cce45f8b409367914ef372047c8c43c511
https://github.com/llvm/llvm-project/commit/630d55cce45f8b409367914ef372047c8c43c511
Author: dianqk <dianqk at dianqk.net>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
A llvm/test/MC/X86/gotpcrel-non-globals.ll
Log Message:
-----------
[AsmPrinter] Always emit global equivalents if there is non-global uses (#145648)
A case found from https://github.com/rust-lang/rust/issues/142752:
https://llvm.godbolt.org/z/T7ce9saWh.
We should emit `@bar_0` for the following code:
```llvm
target triple = "x86_64-unknown-linux-gnu"
@rel_0 = private unnamed_addr constant [1 x i32] [
i32 trunc (i64 sub (i64 ptrtoint (ptr @bar_0 to i64), i64 ptrtoint (ptr @rel_0 to i64)) to i32)]
@bar_0 = internal unnamed_addr constant ptr @foo_0, align 8
@foo_0 = external global ptr, align 8
define void @foo(ptr %arg0) {
store ptr @bar_0, ptr %arg0, align 8
ret void
}
```
Commit: 54953b922d114de5a539f32071650d9a8ab6d78c
https://github.com/llvm/llvm-project/commit/54953b922d114de5a539f32071650d9a8ab6d78c
Author: Dave Bartolomeo <dave_bartolomeo at apple.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/test/CodeGen/pragma-comment.c
Log Message:
-----------
Handle vendor string in match for clang version string (#145612)
#145455 failed to account for the optional "vendor string" that precedes
the `clang version` in the Clang version string metadata. I just updated
it to use a regex to allow arbitrary content before the `clang version`.
Tested this both with and without a vendor string, and it seems to work
as expected.
Commit: b991b21874ed3250ebf02606e0845c2eba4b1949
https://github.com/llvm/llvm-project/commit/b991b21874ed3250ebf02606e0845c2eba4b1949
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
Triple: Add BridgeOS to isOSDarwin (#145636)
This fixes a TODO and avoids a special case. Also required
hacking up a few cases to avoid asserting in codegen; it's not
confidence inspiring that there is only one codegen test using
a bridgeos triple and its specifically for the exp10 libcall
names.
This also changes the behavior, losing an extra leading _ in the
emitted name matching the other apple outputs. I have no idea if
this is right or not. IMO it's someone from apple's problem to fix
it and add appropriate test coverage, or we can rip all references
to BridgeOS out from upstream.
Commit: 9e8152b51491c8f6c5ab7d7ffee258ea11650991
https://github.com/llvm/llvm-project/commit/9e8152b51491c8f6c5ab7d7ffee258ea11650991
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Cleanup darwin exp10 case (#145638)
Add a predicate function following the example of __sincos_stret
Commit: 62d36857b542e13e7a0af6d60869d084e1110ac0
https://github.com/llvm/llvm-project/commit/62d36857b542e13e7a0af6d60869d084e1110ac0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Cleanup darwin bzero configuration (#145639)
Write this in a more predicate-apply style instead of the
switch.
Commit: 46b97a836a8990d10a707ee033fd094ec93d21ad
https://github.com/llvm/llvm-project/commit/46b97a836a8990d10a707ee033fd094ec93d21ad
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
Log Message:
-----------
Fix signed/unsigned comparison warning. NFC.
Commit: 0036beeeefd1fc0023600c726a86b3c722ed2623
https://github.com/llvm/llvm-project/commit/0036beeeefd1fc0023600c726a86b3c722ed2623
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
[bazel] Port e175ecff936287823b5443d7b2d443fc6569f31f
Commit: 14e280e44e05446f7df3ef634b52b29e2c74e513
https://github.com/llvm/llvm-project/commit/14e280e44e05446f7df3ef634b52b29e2c74e513
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
Log Message:
-----------
[lldb-dap][test] Skip TestDAP_runInTerminal/TestDAP_restart_runInTerminal on ASAN
These fail with on the macOS ASAN CI with following error:
```
07:10:31 ======================================================================
07:10:31 FAIL: test_runInTerminalWithObjectEnv (TestDAP_runInTerminal.TestDAP_runInTerminal)
07:10:31 Tests the "runInTerminal" reverse request. It makes sure that the IDE can
07:10:31 ----------------------------------------------------------------------
07:10:31 Traceback (most recent call last):
07:10:31 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/lldb/packages/Python/lldbsuite/test/decorators.py", line 149, in wrapper
07:10:31 return func(*args, **kwargs)
07:10:31 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py", line 83, in test_runInTerminalWithObjectEnv
07:10:31 self.build_and_launch(program, runInTerminal=True, env={"FOO": "BAR"})
07:10:31 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py", line 488, in build_and_launch
07:10:31 return self.launch(program, **kwargs)
07:10:31 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py", line 470, in launch
07:10:31 self.assertTrue(
07:10:31 AssertionError: False is not true : launch failed (process exited during launch or attach)
07:10:31 Config=arm64-/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/lldb-build/bin/clang
```
These fail ever since they were enabled in https://github.com/llvm/llvm-project/pull/144954.
Skip these again when testing with ASAN.
Commit: 8e4fb4beada4ca34a2775512964ebe478967049d
https://github.com/llvm/llvm-project/commit/8e4fb4beada4ca34a2775512964ebe478967049d
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-deinterleave4.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleave4.ll
M llvm/test/Transforms/InterleavedAccess/RISCV/interleaved-accesses.ll
Log Message:
-----------
[IA] Remove recursive [de]interleaving support (#143875)
Now that the loop vectorizer emits just a single
llvm.vector.[de]interleaveN intrinsic after #141865, we can remove the
need to recognise recursively [de]interleaved intrinsics.
No in-tree target currently has instructions to emit an interleaved
access with a factor > 8, and I'm not aware of any other passes that
will emit recursive interleave patterns, so this code is effectively
dead.
Some tests have been converted from the recursive form to a single
intrinsic, and some others were deleted that are no longer needed, e.g.
to do with the recursive tree.
This closes off the work started in #139893.
Commit: 97fdc237ddda7565c7c902cc4fc764f73e70686b
https://github.com/llvm/llvm-project/commit/97fdc237ddda7565c7c902cc4fc764f73e70686b
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
Log Message:
-----------
[NFC] [Modules] Adding profiling points to template lookups in serializer
Commit: c941bee75d252ac9a9787dd0594959d890ddb073
https://github.com/llvm/llvm-project/commit/c941bee75d252ac9a9787dd0594959d890ddb073
Author: eleviant <56861949+eleviant at users.noreply.github.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/test/API/commands/command/script_alias/TestCommandScriptAlias.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
Log Message:
-----------
[lldb] Fix qEcho message handling. (#145675)
This fixes issues found in e066f35c6981c720e3a7e5883efc40c861b3b7, which
was later reverted. The problem was with "k" message which was sent with
sync_on_timeout flag set to true, so lldb was waiting for response,
which is currently not being sent by lldb-server. Not waiting for
response at all seems to be not a solution, because on MAC OS X lldb
waits for response from "k" to gracefully kill inferior.
Commit: 7fcd2ca2efc7e812ed66c6d1e7d923d0eeb57f83
https://github.com/llvm/llvm-project/commit/7fcd2ca2efc7e812ed66c6d1e7d923d0eeb57f83
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
Log Message:
-----------
[lldb-dap][test] Import skipIfAsan decorator
```
Traceback (most recent call last):
File "/home/worker/2.0.1/lldb-x86_64-debian/llvm-project/lldb/test/API/dotest.py", line 8, in <module>
lldbsuite.test.run_suite()
File "/home/worker/2.0.1/lldb-x86_64-debian/llvm-project/lldb/packages/Python/lldbsuite/test/dotest.py", line 1064, in run_suite
visit("Test", dirpath, filenames)
File "/home/worker/2.0.1/lldb-x86_64-debian/llvm-project/lldb/packages/Python/lldbsuite/test/dotest.py", line 706, in visit
visit_file(dir, name)
File "/home/worker/2.0.1/lldb-x86_64-debian/llvm-project/lldb/packages/Python/lldbsuite/test/dotest.py", line 649, in visit_file
module = __import__(base)
^^^^^^^^^^^^^^^^
File "/home/worker/2.0.1/lldb-x86_64-debian/llvm-project/lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py", line 14, in <module>
class TestDAP_runInTerminal(lldbdap_testcase.DAPTestCaseBase):
File "/home/worker/2.0.1/lldb-x86_64-debian/llvm-project/lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py", line 29, in TestDAP_runInTerminal
@skipIfAsan
^^^^^^^^^^
NameError: name 'skipIfAsan' is not defined
```
Commit: 7ff0d28f2e1ab9bbaa12c0a98d96aed0d4b638e1
https://github.com/llvm/llvm-project/commit/7ff0d28f2e1ab9bbaa12c0a98d96aed0d4b638e1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
Triple: Remove redundant member initializers (#145661)
These are already initialized in the field definitions.
Commit: 8231dd71cb7dce489f4499a4e4f0ec149e858087
https://github.com/llvm/llvm-project/commit/8231dd71cb7dce489f4499a4e4f0ec149e858087
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
A flang/test/Lower/OpenMP/target-data-skip-mapper-calls.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
M mlir/test/Target/LLVMIR/omptargetdata-nowait-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-data-target-device.mlir
Log Message:
-----------
[flang][OpenMP] Skip runtime mapping with no offload targets (#145594)
When no offload targets are specified flang will avoid offloading for
"target" constructs, but not "target data" constructs. This patch makes
the behavior consistent across all offload-related operations.
While ignoring "target" may produce semantically incorrect code, it may
still be a useful debugging tool.
--
This reinstates commits 6ba1955 and 349f8d6, reverted due to compilation
failures in the gfortran test suite. These build problems were caused by
an unrelated issue (https://github.com/llvm/llvm-project/issues/145558)
which is now fixed.
Ref: https://github.com/llvm/llvm-project/pull/144534
Commit: bb7242477c2f36195b53018b58a77f1dc12ffb06
https://github.com/llvm/llvm-project/commit/bb7242477c2f36195b53018b58a77f1dc12ffb06
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCSchedule.h
M llvm/lib/MC/MCSchedule.cpp
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/test/TableGen/CompressWriteLatencyEntry.td
M llvm/test/TableGen/InvalidMCSchedClassDesc.td
M llvm/tools/llvm-exegesis/lib/Analysis.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[MC] Use StringTable to reduce dynamic relocations (#144202)
Dynamic relocations are expensive on ELF/Linux platforms because they
are applied in userspace on process startup. Therefore, it is worth
optimizing them to make PIE and PIC dylib builds faster. In +asserts
builds (non-NDEBUG), nikic identified these schedule class name string
pointers as the leading source of dynamic relocations. [1]
This change uses llvm::StringTable and the StringToOffsetTable TableGen
helper to turn the string pointers into 32-bit offsets into a separate
character array.
The number of dynamic relocations is reduced by ~60%:
❯ llvm-readelf --dyn-relocations lib/libLLVM.so | wc -l
381376 # before
155156 # after
The test suite time is modestly affected, but I'm running on a shared
noisy workstation VM with a ton of cores:
https://gist.github.com/rnk/f38882c2fe2e63d0eb58b8fffeab69de
Testing Time: 100.88s # before
Testing Time: 78.50s. # after
Testing Time: 96.25s. # before again
I haven't used any fancy hyperfine/denoising tools, but I think the
result is clearly visible and we should ship it.
[1] https://gist.github.com/nikic/554f0a544ca15d5219788f1030f78c5a
Commit: 2db3cc4f34703f94b1c9bd5304f3e493315e4f2d
https://github.com/llvm/llvm-project/commit/2db3cc4f34703f94b1c9bd5304f3e493315e4f2d
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Analysis/CostModel/AArch64/segmented-shufflevector-patterns.ll
M llvm/test/CodeGen/AArch64/sve2p1-vector-shuffles.ll
Log Message:
-----------
[AArch64][CostModel] Lower cost of dupq (SVE2.1) (#144918)
With codegen in place to match shuffles to dupq, we can now lower the
cost to something reasonable.
Commit: d3ed84ed67176e52f67f7c14fe6792a14154e94f
https://github.com/llvm/llvm-project/commit/d3ed84ed67176e52f67f7c14fe6792a14154e94f
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-nested-task-target-parallel.mlir
Log Message:
-----------
[Utils][mlir] Fix interaction between CodeExtractor and OpenMPIRBuilder (#145051)
CodeExtractor can currently erroneously insert an alloca into a
different function than it inserts its users into, in cases where code
is being extracted out of a function that has already been outlined. Add
an assertion that the two blocks being inserted into are actually in the
same function.
Add a check to findAllocaInsertPoint in OpenMP to LLVMIR translation to
prevent the aforementioned scenario from happening.
OpenMPIRBuilder relies on a callback mechanism to fix-up a module later
on during the finaliser step. In some cases this results in the module
being invalid prior to the finalise step running. Remove calls to
verifyModule wrapped in LLVM_DEBUG from CodeExtractor, as the presence
of those results in the compiler crashing with -mllvm -debug due to
premature module verification where it would not crash without -debug.
Call ompBuilder->finalize() the end of mlir::translateModuleToLLVMIR, in
order to make sure the module has actually been finalized prior to
trying to verify it.
Resolves https://github.com/llvm/llvm-project/issues/138102.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 3ef796b981f1d388b272866873089ae01ee26ee6
https://github.com/llvm/llvm-project/commit/3ef796b981f1d388b272866873089ae01ee26ee6
Author: Ross Kirsling <ross.kirsling at sony.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] Diagnose unsatisfied `std::is_assignable`. (#144836)
Part of the work for #141911.
Checking `is_assignable<T, U>` boils down to checking the
well-formedness of `declval<T>() = declval<U>()`; this PR recycles logic
from EvaluateBinaryTypeTrait in order to produce the relevant
diagnostics.
Commit: 006037675c10b20d33a2a3c273bf3cdb8b0a252c
https://github.com/llvm/llvm-project/commit/006037675c10b20d33a2a3c273bf3cdb8b0a252c
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-debug-map-link-loc.mlir
Log Message:
-----------
[mlir][OpenMP] Use correct debug location with link clause. (#145026)
Please see the following program.
```
module test_0
INTEGER :: sp = 1
!$omp declare target link(sp)
end module test_0
program main
use test_0
integer :: new_len
!$omp target map(tofrom:new_len) map(tofrom:sp)
new_len = sp
!$omp end target
print *, new_len
print *, sp
end program
```
When compiled with
`flang -g -O0 -fopenmp --offload-arch=gfx1100`
will fail the compilation with the following error:
`dbg attachment points at wrong subprogram for function`
The reason is that with the `link` clause on `!$omp declare target`, an
extra load instruction is inserted. But the debug location was not
updated before insertion which caused an invalid location to be attached
to the instruction.
Commit: d7b936b633f3b30477fee4d9ec38497d7af9b42b
https://github.com/llvm/llvm-project/commit/d7b936b633f3b30477fee4d9ec38497d7af9b42b
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/test/OpenMP/declare_mapper_messages.c
M clang/test/OpenMP/declare_target_messages.cpp
M clang/test/OpenMP/declare_variant_clauses_messages.cpp
M clang/test/OpenMP/target_data_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/OpenMPDirectiveNameTest.cpp
Log Message:
-----------
[OpenMP] Add directive spellings introduced in OpenMP 6.0 (#141772)
For background information see
https://discourse.llvm.org/t/rfc-alternative-spellings-of-openmp-directives/85507
Commit: 4bb5e48fb9337e8e04a15f9403c4757272fd0979
https://github.com/llvm/llvm-project/commit/4bb5e48fb9337e8e04a15f9403c4757272fd0979
Author: hev <wangrui at loongson.cn>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchFloat64InstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
A llvm/test/CodeGen/LoongArch/calling-conv-ilp32d.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-f.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/double-convert.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll
Log Message:
-----------
[LoongArch] Add codegen support for ILP32D calling convention (#141539)
This patch adds codegen support for the calling convention defined by
the ILP32D ABI, which passes `f64` values using a soft-float mechanism.
Similar to RISC-V, it introduces pseudo-instructions to construct an
`f64` value from a pair of `i32`s, and to split an `f64` into two `i32`
values.
Commit: d16f42d1e227169cace475e7715779b8dadb79c2
https://github.com/llvm/llvm-project/commit/d16f42d1e227169cace475e7715779b8dadb79c2
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/roundtrip.mlir
M mlir/test/Dialect/Linalg/transform-tile-and-winograd-rewrite.mlir
M mlir/test/Dialect/Linalg/transform-tile-winograd.mlir
M mlir/test/Dialect/Linalg/transform-winograd-conv2d.mlir
M mlir/test/Dialect/Linalg/winograd-conv2d-rewrite.mlir
M mlir/test/Dialect/Linalg/winograd-conv2d.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Log Message:
-----------
[mlir][linalg] Constrain the parameters m, r in Winograd ops (#144657)
We only support fixed set of minimum filtering algorithm for Winograd
Conv2D decomposition. Instead of letting users specify any integer,
define a fixed set of enumeration values for the parameters of minimum
filtering algorithm.
Commit: 01174ff2babece33c9cb72452befaff835b82de8
https://github.com/llvm/llvm-project/commit/01174ff2babece33c9cb72452befaff835b82de8
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
Remove unneeded checks for null; NFC (#145686)
At the start of the case for `tok::colon`, we do an early return if
`Prev` is null. Nothing else within that case modifies the value of
`Prev`, so the checks for null are unnecessary and were confusing
static analysis tools.
Commit: 77618a9253d22ed9010eef561dcff68b61c39115
https://github.com/llvm/llvm-project/commit/77618a9253d22ed9010eef561dcff68b61c39115
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
Delete copy constructor/assignment; NFC (#145689)
This is an RAII object and static analysis was flagging it for not
following the rule of three (or five).
Commit: 31bf9348fa10fc95c4a86ef81485652152bf9906
https://github.com/llvm/llvm-project/commit/31bf9348fa10fc95c4a86ef81485652152bf9906
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
A mlir/test/Target/LLVMIR/nvvm/elect.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Add an explicit mask operand to elect.sync (#145509)
This patch adds a mask operand to elect.sync explicitly.
When provided, this overrides the default value of 0xffffffff.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: e99d8bb0dcc5c41268714ad083f6b2924b789cf7
https://github.com/llvm/llvm-project/commit/e99d8bb0dcc5c41268714ad083f6b2924b789cf7
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll
M llvm/test/CodeGen/PowerPC/all-atomics.ll
M llvm/test/CodeGen/PowerPC/atomics-regression.ll
M llvm/test/CodeGen/PowerPC/loop-comment.ll
Log Message:
-----------
[PowerPC] eliminate RLWINM instruction following LBARX as possible (#144089)
LBARX loads a byte from memory into a register, automatically setting
the remaining bits of the register to zero. If a subsequent RLWINM
instruction is used to clear those same bits (which LBARX has already
set to zero), the RLWINM is redundant and can be eliminated.
these redundant clear instructions are introduced by 85a9f2e14859b.
Commit: 183ff08b32ff9d33542317818f54458e20d54ee4
https://github.com/llvm/llvm-project/commit/183ff08b32ff9d33542317818f54458e20d54ee4
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[libclc] Add missing deps for LLVM_ENABLE_RUNTIMES. (#145684)
When libclc is built using LLVM_ENABLE_RUNTIMES, we need all tools to be
available before starting the runtime build. Add the missing deps for
this.
Commit: e90ab0e34277cb3e4ef1e468518c30322f9d2c65
https://github.com/llvm/llvm-project/commit/e90ab0e34277cb3e4ef1e468518c30322f9d2c65
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/unittests/Serialization/SourceLocationEncodingTest.cpp
Log Message:
-----------
[Serialization] Remove delta encoding optimization (#145670)
See the discussion in https://github.com/llvm/llvm-project/pull/145529.
This will slightly increase the PCM size (~5%), some data (in-memory
preamble size in clangd):
- SemaExpr.cpp: 77MB -> 80MB
- FindTarget.cpp: 71MB -> 75MB
Commit: 0870c8838ba20edc0fb7efe60a0ee301bf01d209
https://github.com/llvm/llvm-project/commit/0870c8838ba20edc0fb7efe60a0ee301bf01d209
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M offload/liboffload/API/Program.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
[Offload] Add an `unloadBinary` interface to PluginInterface (#143873)
This allows removal of a specific Image from a Device, rather than
requiring all image data to outlive the device they were created for.
This is required for `ol_program_handle_t`s, which now specify the
lifetime of the buffer used to create the program.
Commit: 2bf0ff3254a9d42536537ddae0af9bf35c838a09
https://github.com/llvm/llvm-project/commit/2bf0ff3254a9d42536537ddae0af9bf35c838a09
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/var-permute-256.ll
Log Message:
-----------
[X86] var-permute-256.ll - add missing check prefixes for AVX512F/DQ only targets
Commit: 41457bc9d2b58558002a6c1f860b940c99fd62f4
https://github.com/llvm/llvm-project/commit/41457bc9d2b58558002a6c1f860b940c99fd62f4
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
Log Message:
-----------
[NFC][AsmPrinter] Rework/add comments (#145587)
- Add a comment explaining TrackedRegs cache in handleNewDebugValue
- Remove a comment which is not meaningful since
https://reviews.llvm.org/D4919
- Expand the subject of a comment to match the code it describes
Commit: fd3cc204de96728991837259ba3959dd69a235b6
https://github.com/llvm/llvm-project/commit/fd3cc204de96728991837259ba3959dd69a235b6
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v3bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v3f16.ll
M llvm/test/CodeGen/X86/vec_int_to_fp.ll
Log Message:
-----------
[SelectionDAG] Fold undemanded operand to UNDEF for VECTOR_SHUFFLE (#145524)
Always let SimplifyDemandedVectorElts fold either side of a
VECTOR_SHUFFLE to UNDEF if no elements are demanded from that side.
For a single use this could be done by SimplifyDemandedVectorElts
already, but in case the operand had multiple uses we did not eliminate
the use.
Commit: d76fdf7f536c45adc08bdbeaf8b78439d604faf5
https://github.com/llvm/llvm-project/commit/d76fdf7f536c45adc08bdbeaf8b78439d604faf5
Author: wieDasDing <6884440+dingxiangfei2009 at users.noreply.github.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/Index.h
A clang/test/Index/inline-assembly.c
M clang/tools/c-index-test/c-index-test.c
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/libclang.map
Log Message:
-----------
[clang-c] introduce queries on GCC-style inline assembly statements (#143424)
[Discourse
link](https://discourse.llvm.org/t/a-small-proposal-for-extraction-of-inline-assembly-block-information/86658)
We strive for exposing such information using existing stable ABIs. In
doing so, queries are limited to what the original source holds or the
LLVM IR `asm` block would expose in connection with attributes that the
queries are concerned.
These APIs opens new opportunities for `rust-bindgen` to translate
inline assemblies in reasonably cases into Rust inline assembly blocks,
which would further aid better interoperability with other existing
code.
---------
Signed-off-by: Xiangfei Ding <dingxiangfei2009 at protonmail.ch>
Commit: 022e1e99f3b017ac1baf8b65f5a48212c5fca2ae
https://github.com/llvm/llvm-project/commit/022e1e99f3b017ac1baf8b65f5a48212c5fca2ae
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/ops.mlir
Log Message:
-----------
[mlir][memref]: Fix Bug in GlobalOp Verifier (#144900)
When comparing the type of the initializer in a `memref::GlobalOp`
against its result only consider the element type and the shape. Other
attributes such as memory space should be ignored since comparing these
between tensors and memrefs doesn't make sense and constructing a memref
in a specific memory space with a tensor that has no such attribute
should be valid.
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: b8bda9d446e756f1ec722a06d604a654b472e581
https://github.com/llvm/llvm-project/commit/b8bda9d446e756f1ec722a06d604a654b472e581
Author: flovent <flbven at protonmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
A clang/test/Analysis/lambda-convert-to-func-ptr.cpp
Log Message:
-----------
[clang][analyzer] Correctly handle lambda-converted function pointers (#144906)
For lambdas that are converted to C function pointers,
```
int (*ret_zero)() = []() { return 0; };
```
clang will generate conversion method like:
```
CXXConversionDecl implicit used constexpr operator int (*)() 'int (*() const noexcept)()' inline
-CompoundStmt
-ReturnStmt
-ImplicitCastExpr 'int (*)()' <FunctionToPointerDecay>
-DeclRefExpr 'int ()' lvalue CXXMethod 0x5ddb6fe35b18 '__invoke' 'int ()'
-CXXMethodDecl implicit used __invoke 'int ()' static inline
-CompoundStmt (empty)
```
Based on comment in Sema, `__invoke`'s function body is left empty
because it's will be filled in CodeGen, so in AST analysis phase we
should get lambda's `operator()` directly instead of calling `__invoke`
itself.
Commit: e64f5dd948478505a790e339525847c71eb1eb24
https://github.com/llvm/llvm-project/commit/e64f5dd948478505a790e339525847c71eb1eb24
Author: Samira Bakon <bazuzi at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/StorageLocation.h
Log Message:
-----------
Revert "[clang][dataflow] Expose simple access to child StorageLocation presence." (#145710)
Reverts llvm/llvm-project#145520
Exposed function is no longer needed and side-stepped the intended
contract that the present children are the same set returned by
`getModeledFields()` and presence shouldn't need to be queried for
arbitrary fields.
Commit: a945fb1481e01f9631fde5f6174276532c33fc98
https://github.com/llvm/llvm-project/commit/a945fb1481e01f9631fde5f6174276532c33fc98
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/Serialization/SourceLocationEncoding.h
Log Message:
-----------
[clang] NFC, move the SourceLocationEncoding.h header guard to the begining of the file
Commit: b8e8ff3dd6698335a73ff808e39021ec5d1478ea
https://github.com/llvm/llvm-project/commit/b8e8ff3dd6698335a73ff808e39021ec5d1478ea
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] Implement diagnostics for why is_empty is false (#145044)
Expands on https://github.com/llvm/llvm-project/issues/141911
Commit: 096cad59dff5718924882f1a5c775cab49e888a9
https://github.com/llvm/llvm-project/commit/096cad59dff5718924882f1a5c775cab49e888a9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/unittests/Serialization/SourceLocationEncodingTest.cpp
Log Message:
-----------
[Serialization] Fix a warning
This patch fixes:
clang/unittests/Serialization/SourceLocationEncodingTest.cpp:39:34:
error: unused variable 'Biggest' [-Werror,-Wunused-const-variable]
Commit: c9910d5ef8b7622ce2568a01073d912370f6d3fc
https://github.com/llvm/llvm-project/commit/c9910d5ef8b7622ce2568a01073d912370f6d3fc
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/docs/SourceLevelDebugging.rst
Log Message:
-----------
[LangRef] Clarify definition of fragments (#145582)
Try to give a more complete description of what we call a "fragment",
and how debug records interact when fragments are involved.
Commit: fb6882719a51eec051de4629a7e6bb00f0f715db
https://github.com/llvm/llvm-project/commit/fb6882719a51eec051de4629a7e6bb00f0f715db
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
Triple: Remove workaround for gcc 4.0.3 (#145660)
Use the Twine version instead of manually building a string
Commit: 050f6283eeaa4fafcd43a8cda8be27ea460a1f28
https://github.com/llvm/llvm-project/commit/050f6283eeaa4fafcd43a8cda8be27ea460a1f28
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
Log Message:
-----------
[AMDGPU] Drop const from return types (NFC) (#145640)
We don't need const on these return types.
Commit: 817c097887e0388a737bcb16110db39fdf06b973
https://github.com/llvm/llvm-project/commit/817c097887e0388a737bcb16110db39fdf06b973
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
Log Message:
-----------
[Analysis] Drop const from a return type (NFC) (#145641)
We do not need const on a return type.
Commit: 75de95ddd28f1273779721ffff1b0cde28352931
https://github.com/llvm/llvm-project/commit/75de95ddd28f1273779721ffff1b0cde28352931
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Option/Arg.cpp
Log Message:
-----------
[Option] Use llvm::interlaved (NFC) (#145642)
Note that llvm::interleaved constructs a string with the elements from
a given range with a given separator.
Commit: 020fefb6af01307680d37f14d94a5c55f38640a9
https://github.com/llvm/llvm-project/commit/020fefb6af01307680d37f14d94a5c55f38640a9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/unsupported-image-sample.ll
Log Message:
-----------
AMDGPU: Avoid report_fatal_error in image intrinsic lowering (#145201)
Commit: 10edc3df99f798f29ae829af2bc9fc6103ceb403
https://github.com/llvm/llvm-project/commit/10edc3df99f798f29ae829af2bc9fc6103ceb403
Author: Ming Yan <ming.yan at terapines.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splice.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
Log Message:
-----------
[RISCV] Try to optimize `vp.splice` to `vslide1up`. (#144871)
Fold (vp.splice (insert_elt poison, scalar, 0), vec, 0, mask, 1, vl)
to (vslide1up vec, scalar, mask, vl).
Fold (vp.splice (splat_vector scalar), vec, 0, mask, 1, vl)
to (vslide1up vec, scalar, mask, vl).
Commit: 36819eaed124d6a7339a151b6172cd543fe3579a
https://github.com/llvm/llvm-project/commit/36819eaed124d6a7339a151b6172cd543fe3579a
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-objdump.rst
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
A llvm/test/tools/llvm-objdump/ELF/AArch64/symbolize-operands-executable.yaml
A llvm/test/tools/llvm-objdump/ELF/AArch64/symbolize-operands-relocatable.s
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump] Support --symbolize-operand on AArch64
Similar to the existing implementations for X86 and PPC, support
symbolizing branch targets for AArch64. Do not omit the address for ADRP
as the target is typically not at an intended location.
Pull Request: https://github.com/llvm/llvm-project/pull/145009
Commit: ea1e18157133422175bd47778c4e5b7dfc306688
https://github.com/llvm/llvm-project/commit/ea1e18157133422175bd47778c4e5b7dfc306688
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmNeon/Transforms.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/ArmNeon/TransformOps/ArmNeonVectorTransformOps.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/CMakeLists.txt
A mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToNeonI8MMPattern.cpp
R mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LowerContractionToSVEI8MMPattern.cpp
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
Log Message:
-----------
[MLIR][AArch64] Lower `vector.contract` with mixed signed/unsigned arguments to Neon FEAT_I8MM (#144698)
Commit: 287b24e1899eb6ce62eb9daef5a24faae5e66c1e
https://github.com/llvm/llvm-project/commit/287b24e1899eb6ce62eb9daef5a24faae5e66c1e
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M compiler-rt/lib/asan/asan_descriptions.cpp
Log Message:
-----------
[asan] Implement address sanitizer on AIX: address descriptions (#138891)
Adapt address description logic for AIX.
Issue: https://github.com/llvm/llvm-project/issues/138916
Commit: 77a3ae5845dad0afadd2bfb3b810e374d888a024
https://github.com/llvm/llvm-project/commit/77a3ae5845dad0afadd2bfb3b810e374d888a024
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M flang/include/flang/Support/OpenMP-features.h
M flang/test/Driver/bbc-openmp-version-macro.f90
M flang/test/Driver/flang-openmp-version-macro.f90
Log Message:
-----------
[flang][OpenMP] Remove recognition of versions 3.0 and older (#145708)
The oldest supported version is now 3.1. In terms of semantic analysis
the compiler treats all versions <= 4.5 identically, and there is no
plan to add version-specific checks for older versions.
See discourse thread:
https://discourse.llvm.org/t/rfc-remove-openmp-versions-prior-to-3-1/86901
Commit: 2dfcc30e3800aea9ea745a095ac4570329732476
https://github.com/llvm/llvm-project/commit/2dfcc30e3800aea9ea745a095ac4570329732476
Author: David Green <david.green at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
Log Message:
-----------
[AArch64] Add tests for inefficient LD1lanePost. NFC
Commit: c3b160bcaa7dd5b5564ae8868fb33e7ba6169283
https://github.com/llvm/llvm-project/commit/c3b160bcaa7dd5b5564ae8868fb33e7ba6169283
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt
M llvm/test/MC/RISCV/rv32c-invalid.s
Log Message:
-----------
[RISCV] Remove -mattr=+no-rvc-hints (#145138)
As far as I know binutils does not have a similar option and I don't
know of a reason we shouldn't accept the RVC hint instructions.
The wording in the spec in the past suggested that maybe these
weren't valid instruction names, but that's been modified recently.
Commit: 60285d98efa64331b0b5470abe7e2077c34c7ce1
https://github.com/llvm/llvm-project/commit/60285d98efa64331b0b5470abe7e2077c34c7ce1
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/lib/asan/CMakeLists.txt
A compiler-rt/lib/asan/asan.link_with_main_exec.txt
A compiler-rt/lib/asan/asan_cxx.link_with_main_exec.txt
Log Message:
-----------
[asan] Implement address sanitizer on AIX: build configuration (#139583)
Update asan build configuration for AIX:
- Adds import lists
- Guards shared library code
Issue: #138916
---------
Co-authored-by: Hubert Tong <hubert.reinterpretcast at gmail.com>
Commit: 81e07996aa8b818ec72c110ac98a98a450de4aee
https://github.com/llvm/llvm-project/commit/81e07996aa8b818ec72c110ac98a98a450de4aee
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts] don't crash when printing messages at end of block (#145694)
Commit: 8202c94cec415400ee49ab287628261809542fed
https://github.com/llvm/llvm-project/commit/8202c94cec415400ee49ab287628261809542fed
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark-masked-loads-consecutive-loads-same-ptr.ll
Log Message:
-----------
[CostModel][X86] getMaskedMemoryOpCost - widening masks must compute the cost of the full width insert_subvector across multiple legal vectors (#145693)
The memory value and mask value types might legalise differently - e.g. a v64i32 might split into 4 x v16i32 / 8 x v8i32 but the mask might legalize as 1 x v64i8 / 2 x v32i8 etc.
If the legalised value type has been split, then we must ensure we compute the cost for the entire mask value type and let getShuffleCost handle any legalisation, not assume that only a single trailing split mask will require widening.
Commit: 46ee7f1908f467d8feb5617e097c88be1401296c
https://github.com/llvm/llvm-project/commit/46ee7f1908f467d8feb5617e097c88be1401296c
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M libclc/clc/lib/generic/math/clc_pow.inc
M libclc/clc/lib/generic/math/clc_pown.inc
M libclc/clc/lib/generic/math/clc_powr.inc
M libclc/clc/lib/generic/math/clc_rootn.inc
Log Message:
-----------
[libclc] Avoid out-of-range float-to-int. (#145698)
For a kernel such as
kernel void foo(__global double3 *z) {
double3 x = {0.6631661088,0.6612268107,0.1513627528};
int3 y = {-1980459213,-660855407,615708204};
*z = pown(x, y);
}
we were not storing anything to z, because the implementation of pown
relied on an floating-point-to-integer conversion where the
floating-point value was outside of the integer's range. Although in
LLVM IR we permit that operation so long as we end up ignoring its
result -- that is the general rule for poison -- one thing we are not
permitted to do is have conditional branches that depend on it, and
through the call to __clc_ldexp, we did have that.
To fix this, rather than changing expv at the end to INFINITY/0, we can
change v at the start to values that we know will produce INFINITY/0
without performing such out-of-range conversions.
Tested with
clang --target=nvptx64 -S -O3 -o - test.cl \
-Xclang -mlink-builtin-bitcode \
-Xclang runtimes/runtimes-bins/libclc/nvptx64--.bc
A grep showed that this exact same code existed in three more places, so
I changed it there too, though I did not do a broader search for other
similar code that potentially has the same problem.
Commit: c08502defe47d71d3e0beecee8ca040279c4dff9
https://github.com/llvm/llvm-project/commit/c08502defe47d71d3e0beecee8ca040279c4dff9
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td
M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/TransformDebugExtensionOps.td
A mlir/python/mlir/dialects/transform/debug.py
A mlir/test/python/dialects/transform_debug_ext.py
Log Message:
-----------
[MLIR][Transform] expose transform.debug extension in Python (#145550)
Removes the Debug... prefix on the ops in tablegen, in line with pretty
much all other Transform-dialect extension ops. This means that the ops
in Python look like
`debug.EmitParamAsRemarkOp`/`debug.emit_param_as_remark` instead of
`debug.DebugEmitParamAsRemarkOp`/`debug.debug_emit_param_as_remark`.
Commit: c92b580d6308ded02b491d71dda9427edf6f7ed0
https://github.com/llvm/llvm-project/commit/c92b580d6308ded02b491d71dda9427edf6f7ed0
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/ArmSME/vector-legalization.mlir
M mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
Log Message:
-----------
[mlir][ArmSME] Remove `ConvertIllegalShapeCastOpsToTransposes` (#139706)
As a follow-up to PR #135841 (see discussion for background), this patch
removes the `ConvertIllegalShapeCastOpsToTransposes` pattern from the SME
legalization pass. This change unblocks folding for ShapeCastOp involving
scalable vectors.
Originally, the `ConvertIllegalShapeCastOpsToTransposes` pattern was introduced
to rewrite certain `vector.shape_cast` ops that could not be lowered otherwise.
Based on local end-to-end testing, this workaround is no longer required, and
the pattern can now be safely removed.
This patch also removes a special case from `ShapeCastOp::fold`, simplifying
the fold logic.
As a side effect of removing `ConvertIllegalShapeCastOpsToTransposes`, we lose
the mechanism that enabled lowering of certain ops like:
```mlir
%res = vector.transfer_read %mem[%a, %b] (...) :
memref<?x?xf32>, vector<[4]x1xf32>
```
Previously, such cases were handled by:
* Rewriting a nearby `vector.shape_cast` to a `vector.transpose` (via
`ConvertIllegalShapeCastOpsToTransposes`)
* Then lowering the result with `LiftIllegalVectorTransposeToMemory`.
This patch introduces a new dedicated pattern,
`LowerColumnTransferReadToLoops`, that directly handles illegal
`vector.transfer_read` ops involving leading scalable dimensions.
Commit: a76448c27de2fc110c0fe2dac9120d225aee6d39
https://github.com/llvm/llvm-project/commit/a76448c27de2fc110c0fe2dac9120d225aee6d39
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
Log Message:
-----------
[Clang] Fix replaceability/relocatability computation (#145655)
for eligible classes with user provided constructor or `operator=`
Fixes #144232
Commit: 029823a84de90e3245d20e238509e13704ea5123
https://github.com/llvm/llvm-project/commit/029823a84de90e3245d20e238509e13704ea5123
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[Clang][NFC] Clean up OpenMP offload toolchain generation (#145549)
Summary:
Small cleanup prior to some larger changes in this area. I want to move
the offload arch detection to be done solely here.
This might change the order the targets show up in but shouldn't affect
anything else. Will look into that.
Commit: 3e337bc30802e28c14b5b5d253204ebb463f4d3e
https://github.com/llvm/llvm-project/commit/3e337bc30802e28c14b5b5d253204ebb463f4d3e
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Add a stub unloadBinaryImpl for host device (#145716)
Commit: 9a7720ad2f96fc5911be3ed2c53ec2bdf6fbd9a6
https://github.com/llvm/llvm-project/commit/9a7720ad2f96fc5911be3ed2c53ec2bdf6fbd9a6
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/IR/invalid-complex.cir
A clang/test/CIR/Transforms/complex-real-fold.cir
Log Message:
-----------
[CIR] Upstream __real__ for ComplexType (#144261)
This change adds support for __real__ for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: dd47b845a62cdaf4a1b0aba354cd80a4eabd9570
https://github.com/llvm/llvm-project/commit/dd47b845a62cdaf4a1b0aba354cd80a4eabd9570
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Handle Trailing Whitespace After Line Continuation (P2223R2) (#145243)
Fixes #145226.
Implement
[P2223R2](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2223r2.pdf)
in clang-format to correctly handle cases where a backslash '\\' is
followed by trailing whitespace before the newline.
Previously, `clang-format` failed to properly detect and handle such
cases, leading to misformatted code.
With this, `clang-format` matches the behavior already implemented in
Clang's lexer and `DependencyDirectivesScanner.cpp`, which allow
trailing whitespace after a line continuation in any C++ standard.
Commit: 9b307ebdd051524f97b59e30e001e4dd5c193b78
https://github.com/llvm/llvm-project/commit/9b307ebdd051524f97b59e30e001e4dd5c193b78
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Update deps from #144657 (#145726)
https://github.com/llvm/llvm-project/pull/144657 added #include
"mlir/Dialect/Linalg/IR/LinalgEnums.td" to
mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td, so
we update the deps
Commit: 5a194c1fd97b10fdbdbd8ada85372d978c9ff3c4
https://github.com/llvm/llvm-project/commit/5a194c1fd97b10fdbdbd8ada85372d978c9ff3c4
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/count-zeroes.ll
Log Message:
-----------
[msan] Sharpen instrumentation of Intrinsic::{ctlz,cttz} (#145609)
The current instrumentation of Intrinsic::{ctlz,cttz} has false positives. For example, consider `ctlz(0001 11??)` whereby `0` and `1` denotes initialized bits (with concrete values of 0 and 1 respectively) and `?` denotes an uninitialized bit. The result (of 3) is well-defined and the shadow ought to be fully initialized, but the current instrumentation marks it as fully uninitialized.
This patch improves the fidelity of the instrumentation by comparing the number of leading (for ctlz; trailing for cttz) zeros in the concrete value and the shadow.
This patch also renames the function from 'handleCountZeroes' to 'handleLeadingTrailingCountZeros', to clarify that the intrinsics handled do not count all the zeros (unlike `llvm.ctpop`, which counts all the 1s).
Commit: b4f4af7ebb91e7af99dac9cb9f73fbfc1c63b18e
https://github.com/llvm/llvm-project/commit/b4f4af7ebb91e7af99dac9cb9f73fbfc1c63b18e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/fopenmp-version.F90
Log Message:
-----------
[flang][OpenMP] Verify that N in -fopenmp-version=N is valid (#145725)
For historical versions that are unsupported, emit a warning and assume
the currently default version.
For values of N that are not integers or that don't correspond to any
OpenMP version (old or newer), emit an error.
Commit: 532c15a718d1a1d4492f213ff7c142cf93126ff6
https://github.com/llvm/llvm-project/commit/532c15a718d1a1d4492f213ff7c142cf93126ff6
Author: Spenser Bauman <spenser at modular.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
Log Message:
-----------
[mlir][linalg] Fix module dependency issue due to unused import (#145727)
This include introduces a dependency for LinalgTransforms on
LinalgTransformOps, which is unspecified in the module dependencies, and
would produce a cyclic dependency if it were specified.
The include is unused in WinogradConv2D.cpp, so this change removes it.
Commit: 86026ee623cd9f02f4277a1f1ff0589b1b16fb30
https://github.com/llvm/llvm-project/commit/86026ee623cd9f02f4277a1f1ff0589b1b16fb30
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
Log Message:
-----------
[clang-tidy] Warn about misuse of sizeof operator in loops. (#143205)
The sizeof operator misuses in loop conditionals can be a source of
bugs. The common misuse is attempting to retrieve the number of elements
in the array by using the sizeof expression and forgetting to divide the
value by the sizeof the array elements. This results in an incorrect
computation of the array length and requires a warning from the sizeof
checker.
Example:
```
int array[20];
void test_for_loop() {
// Needs warning.
for(int i = 0; i < sizeof(array); i++) {
array[i] = i;
}
}
void test_while_loop() {
int count = 0;
// Needs warning.
while(count < sizeof(array)) {
array[count] = 0;
count = count + 2;
}
}
```
rdar://151403083
---------
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: 2a35414e9888f80a6c7073a503b0a7a13635a71a
https://github.com/llvm/llvm-project/commit/2a35414e9888f80a6c7073a503b0a7a13635a71a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[Transforms] Use range-based for loops (NFC) (#145252)
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: df79c40c988a707d8458952df04afe82f77ffb0f
https://github.com/llvm/llvm-project/commit/df79c40c988a707d8458952df04afe82f77ffb0f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
Log Message:
-----------
[clang-tidy Fix a warning
This patch fixes:
clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp:371:26:
error: variable 'E' set but not used
[-Werror,-Wunused-but-set-variable]
Commit: 0556a2aa187b86c28a9441aec3e98b9780a2c9ee
https://github.com/llvm/llvm-project/commit/0556a2aa187b86c28a9441aec3e98b9780a2c9ee
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/unittests/ADT/ArrayRefTest.cpp
Log Message:
-----------
[ArrayRef] Provide constructors from any type with a data() member (#145735)
The assumption here is that if data() returns a pointer and size()
exists it's something representing contiguous storage.
Modeled after the behavior of C++20 std::span and enables two-way
conversion between std::span (or really any span-like type) and
ArrayRef. Add a unit test that verifies this if std::span is around.
This also means we can get rid of specific conversions for std::vector
and SmallVector.
Commit: 585ed213a8594c15324ea4bffc3ea2128eac50c8
https://github.com/llvm/llvm-project/commit/585ed213a8594c15324ea4bffc3ea2128eac50c8
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/Token.h
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/Preprocessor.cpp
Log Message:
-----------
[NFC][Clang][Preprocessor] Refine the implementation of isNextPPTokenOneOf (#145546)
This PR follow the
suggestion(https://github.com/llvm/llvm-project/pull/143898#discussion_r2164253141)
to refine the implementation of `Preprocessor::isNextPPToken`, also use
C++ fold expression to refine `Token::isOneOf`. We don't need `bool
isOneOf(tok::TokenKind K1, tok::TokenKind K2) const` anymore.
In order to reduce the impact, specificed `TokenKind` is still passed to
`Token::isOneOf` and `Preprocessor::isNextPPTokenOneOf` as function
parameters.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: e4da49f0183bb5b39263f0c94e12dd9e8d05bf27
https://github.com/llvm/llvm-project/commit/e4da49f0183bb5b39263f0c94e12dd9e8d05bf27
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/IR/invalid-complex.cir
A clang/test/CIR/Transforms/complex-imag-fold.cir
Log Message:
-----------
[CIR] Upstream __imag__ for ComplexType (#144262)
This change adds support for `__imag__` for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: 1276a5b368493cc73ef0febee35a6591b92464d5
https://github.com/llvm/llvm-project/commit/1276a5b368493cc73ef0febee35a6591b92464d5
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR] Upstream support for builtin_vectorelements (#144877)
Add support for `__builtin_vectorelements`
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 1e45ea12db5e4ce545576270f846aa0bc06c5680
https://github.com/llvm/llvm-project/commit/1e45ea12db5e4ce545576270f846aa0bc06c5680
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/align-load.c
M clang/test/CIR/CodeGen/align-store.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/binop.cpp
M clang/test/CIR/CodeGen/builtin_call.cpp
M clang/test/CIR/CodeGen/builtin_printf.cpp
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/cast.cpp
M clang/test/CIR/CodeGen/class.cpp
M clang/test/CIR/CodeGen/cmp.cpp
M clang/test/CIR/CodeGen/comma.c
M clang/test/CIR/CodeGen/compound_assign.cpp
M clang/test/CIR/CodeGen/ctor.cpp
M clang/test/CIR/CodeGen/dso-local.c
M clang/test/CIR/CodeGen/forrange.cpp
M clang/test/CIR/CodeGen/if.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/int-to-bool.cpp
M clang/test/CIR/CodeGen/linkage-spec.cpp
M clang/test/CIR/CodeGen/local-vars.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/namespace.cpp
M clang/test/CIR/CodeGen/nullptr-init.cpp
M clang/test/CIR/CodeGen/string-literals.c
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/switch.cpp
M clang/test/CIR/CodeGen/switch_flat_op.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/typedef.c
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGenOpenACC/combined-copy.c
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/compute-copy.c
M clang/test/CIR/CodeGenOpenACC/data.c
M clang/test/CIR/CodeGenOpenACC/host_data.c
M clang/test/CIR/CodeGenOpenACC/init.c
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
M clang/test/CIR/CodeGenOpenACC/set.c
M clang/test/CIR/CodeGenOpenACC/shutdown.c
M clang/test/CIR/CodeGenOpenACC/wait.c
M clang/test/CIR/IR/array.cir
M clang/test/CIR/IR/binassign.cir
M clang/test/CIR/IR/call.cir
M clang/test/CIR/IR/cast.cir
M clang/test/CIR/IR/cmp.cir
M clang/test/CIR/IR/func.cir
M clang/test/CIR/IR/invalid-call.cir
M clang/test/CIR/IR/ternary.cir
M clang/test/CIR/IR/unary.cir
M clang/test/CIR/IR/vector.cir
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CIR/Transforms/complex-create-fold.cir
M clang/test/CIR/Transforms/hoist-allocas.cir
M clang/test/CIR/Transforms/if.cir
M clang/test/CIR/Transforms/loop.cir
M clang/test/CIR/Transforms/scope.cir
M clang/test/CIR/Transforms/select.cir
M clang/test/CIR/Transforms/switch.cir
M clang/test/CIR/Transforms/ternary-fold.cir
M clang/test/CIR/Transforms/ternary.cir
M clang/test/CIR/Transforms/vector-cmp-fold.cir
M clang/test/CIR/Transforms/vector-create-fold.cir
M clang/test/CIR/Transforms/vector-shuffle-dynamic-fold.cir
M clang/test/CIR/Transforms/vector-shuffle-fold.cir
M clang/test/CIR/Transforms/vector-ternary-fold.cir
A clang/test/CIR/func-linkage.cpp
M clang/test/CIR/func-simple.cpp
M clang/test/CIR/mlprint.c
Log Message:
-----------
[CIR] Add support for function linkage and visibility (#145600)
This change adds support for function linkage and visibility and related
attributes. Most of the test changes are generalizations to allow
'dso_local' to be accepted where we aren't specifically testing for it.
Some tests based on CIR inputs have been updated to add 'private' to
function declarations where required by newly supported interfaces.
The dso-local.c test has been updated to add specific tests for
dso_local being set correctly, and a new test, func-linkage.cpp tests
other linkage settings.
This change sets `comdat` correctly in CIR, but it is not yet applied to
functions when lowering to LLVM IR. That will be handled in a later
change.
Commit: 357297c0f2839ffb3c6b814ab3276580c7eae90d
https://github.com/llvm/llvm-project/commit/357297c0f2839ffb3c6b814ab3276580c7eae90d
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M bolt/include/bolt/Core/BinarySection.h
Log Message:
-----------
[bolt] Fix the build after 0556a2aa187b86c28a9441aec3e98b9780a2c9ee
StringRef now implictly converts into ArrayRef<char>.
Commit: 487581b826a5339410aaf306eafedc7b806b25e3
https://github.com/llvm/llvm-project/commit/487581b826a5339410aaf306eafedc7b806b25e3
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Utility/XcodeSDK.cpp
Log Message:
-----------
[lldb][darwin] force BuiltinHeadersInSystemModules to be always false (#144913)
`SDKSupportsBuiltinModules` always returns true on newer versions of
Darwin based OS. The only way for this call to return `false` would be
to have a version mismatch between lldb and the SDK (recent lldb
manually installed on macOS 14 for instance).
This patch removes this check and hardcodes the value of
`BuiltinHeadersInSystemModules` to `false`.
Commit: 3b90597c2ceaae86608214f6b62b43e55823102b
https://github.com/llvm/llvm-project/commit/3b90597c2ceaae86608214f6b62b43e55823102b
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Verifier.cpp
A llvm/test/DebugInfo/dynamic-bitfield.ll
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/DebugTypeODRUniquingTest.cpp
Log Message:
-----------
Non constant size and offset in DWARF (#141106)
In Ada, a record type can have a non-constant size, and a field can
appear at a non-constant bit offset in a record.
To support this, this patch changes DIType to record the size and offset
using metadata, rather than plain integers. In addition to a constant
offset, both DIVariable and DIExpression are now supported here.
One thing of note in this patch is the choice of how exactly to
represent a non-constant bit offset, with the difficulty being that
DWARF 5 does not support this. DWARF 3 did have a way to support a
non-constant byte offset, combined with a constant bit offset within the
byte, but this was deprecated in DWARF 4 and removed from DWARF 5.
This patch takes a simple approach: a DWARF extension allowing the use
of an expression with DW_AT_data_bit_offset. There is a corresponding
DWARF issue, see https://dwarfstd.org/issues/250501.1.html. The main
reason for this approach is that it keeps API simplicity: just a single
value is needed, rather than having separate data describing the byte
offset and the bit within the byte.
Commit: 626be98c354480b8c78b88402be5aec1144d9834
https://github.com/llvm/llvm-project/commit/626be98c354480b8c78b88402be5aec1144d9834
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Log Message:
-----------
[mlir] Remove dependency on LinalgTransformOps.h from #144657 (#145749)
https://github.com/llvm/llvm-project/pull/144657 added #include
"mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h" to
mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp, though it is not
in use
Commit: 369cbcc1a21ab07ea6ca142a3b87c75d0a1b2014
https://github.com/llvm/llvm-project/commit/369cbcc1a21ab07ea6ca142a3b87c75d0a1b2014
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M lldb/unittests/Host/CMakeLists.txt
Log Message:
-----------
[lldb] include `LLVMTargetParser` in `LINK_COMPONENTS` (#145606)
## Purpose
Fix duplicate symbol definition errors when building LLDB `HostTests`
against a LLVM Windows DLL.
## Background
When building LLDB `HostTests` against LLVM built as a Windows DLL,
compilation fails due to multiple duplicate symbol definition errors.
This is because symbols are both exported by the LLVM Windows DLL and
the `LLVMTargetParser` library.
## Overview
The issue is resolved by adding `LLVMTargetParser` (e.g. `TargetParser`)
to `LINK_COMPONENTS`, which adds it to `LLVM_LINK_COMPONENTS`, rather
than `LINK_LIBS`, which links directly against the library. This change
makes it behave correctly when linking against a static or dynamic LLVM.
Commit: 5f8e7ed5a38c79f67e79ccc6b57454e6f38a758a
https://github.com/llvm/llvm-project/commit/5f8e7ed5a38c79f67e79ccc6b57454e6f38a758a
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/test/Dialect/Linalg/hoisting.mlir
Log Message:
-----------
[mlir][linalg][nfc] Split hoisting tests into dedicated test functions (#145234)
Refactors the `@hoist_vector_transfer_pairs` test function in
`hoisting.mlir` into smaller, focused test functions - each covering a
specific `vector.transfer_read`/`vector.transfer_write` pair.
This makes it easier to identify which edge cases are tested, spot
duplication, and write more targeted and readable check lines, with less
surrounding noise.
This refactor also helped identify some issues with the original
`@hoist_vector_transfer_pairs` test:
* Input variables `%val` and `%cmp` were unused.
* There were no check lines for reads from `memref5`.
**Note for reviewers (current and future):**
This PR is split into small, incremental, and self-contained commits. It
should be easier to follow the changes by reviewing those commits
individually, rather than reading the full squashed diff. However, this
will be merged as a single commit to avoid adding unnecessary history
noise in-tree.
Commit: 70333de6cfa76d2e0e36720d6065edd501a3ad8a
https://github.com/llvm/llvm-project/commit/70333de6cfa76d2e0e36720d6065edd501a3ad8a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/test/CodeGenCUDA/bf16.cu
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/alias.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/byval-const-global.ll
M llvm/test/CodeGen/NVPTX/call-with-alloca-buffer.ll
M llvm/test/CodeGen/NVPTX/combine-mad.ll
M llvm/test/CodeGen/NVPTX/convergent-mir-call.ll
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fma.ll
M llvm/test/CodeGen/NVPTX/forward-ld-param.ll
M llvm/test/CodeGen/NVPTX/fp128-storage-type.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/indirect_byval.ll
M llvm/test/CodeGen/NVPTX/ldparam-v4.ll
M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/NVPTX/misched_func_call.ll
M llvm/test/CodeGen/NVPTX/naked-fn-with-frame-pointer.ll
M llvm/test/CodeGen/NVPTX/param-add.ll
M llvm/test/CodeGen/NVPTX/param-load-store.ll
M llvm/test/CodeGen/NVPTX/param-overalign.ll
M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
M llvm/test/CodeGen/NVPTX/shift-opt.ll
M llvm/test/CodeGen/NVPTX/st-param-imm.ll
M llvm/test/CodeGen/NVPTX/store-undef.ll
M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
M llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
M llvm/test/CodeGen/NVPTX/unreachable.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/nvptx-basic.ll.expected
Log Message:
-----------
[NVPTX] Consolidate and cleanup various NVPTXISD nodes (NFC) (#145581)
This change consolidates and cleans up various NVPTXISD target-specific
nodes in order to simplify SDAG ISel. While there are some whitespace
changes in the emitted PTX it is otherwise a non-functional change.
NVPTXISD::Wrapper - This node was used to wrap external-symbol and
global-address nodes. It is redundant and has been removed. Instead we
use the non-target versions of these nodes and convert them
appropriately during ISel.
NVPTXISD::CALL - Much of the family of nodes used to represent a PTX
call instruction have been replaced by this new single node. It
corresponds to a single instruction and is therefore much simpler to
create and lower.
Commit: d760f97387878ed858273d3adc206ce4dca760f6
https://github.com/llvm/llvm-project/commit/d760f97387878ed858273d3adc206ce4dca760f6
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] Implement diagnostics for why `std::is_standard_layout` is false (#144161)
Commit: 28f6f870617fa327bd7bc87eb32c70571c8233aa
https://github.com/llvm/llvm-project/commit/28f6f870617fa327bd7bc87eb32c70571c8233aa
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir] Migrate away from std::nullopt (NFC) (#145523)
ArrayRef has a constructor that accepts std::nullopt. This
constructor dates back to the days when we still had llvm::Optional.
Since the use of std::nullopt outside the context of std::optional is
kind of abuse and not intuitive to new comers, I would like to move
away from the constructor and eventually remove it.
This patch migrates away from std::nullopt in favor of ArrayRef<T>()
where we use perfect forwarding. Note that {} would be ambiguous for
perfect forwarding to work.
Commit: c873e5f87d84bab700a297af8cdb76b2bd3ece88
https://github.com/llvm/llvm-project/commit/c873e5f87d84bab700a297af8cdb76b2bd3ece88
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/Interfaces/TilingInterface.td
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/Tensor/Transforms/SwapExtractSliceWithProducerPatterns.cpp
M mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
Log Message:
-----------
[mlir][TilingInterface] Handle multi operand consumer fusion. (#145193)
For consumer fusion cases of this form
```
%0:2 = scf.forall .. shared_outs(%arg0 = ..., %arg0 = ...) {
tensor.parallel_insert_slice ... into %arg0
tensor.parallel_insert_slice ... into %arg1
}
%1 = linalg.generic ... ins(%0#0, %0#1)
```
the current consumer fusion that handles one slice at a time cannot fuse
the consumer into the loop, since fusing along one slice will create and
SSA violation on the other use from the `scf.forall`. The solution is to
allow consumer fusion to allow considering multiple slices at once. This
PR changes the `TilingInterface` methods related to consumer fusion,
i.e.
- `getTiledImplementationFromOperandTile`
- `getIterationDomainFromOperandTile`
to allow fusion while considering multiple operands. It is upto the
`TilingInterface` implementation to return an error if a list of tiles
of the operands cannot result in a consistent implementation of the
tiled operation.
The Linalg operation implementation of `TilingInterface` has been
modified to account for these changes and allow cases where operand
tiles that can result in a consistent tiling implementation are handled.
---------
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 20f56d140909a01c74e9981835373eaab6021af9
https://github.com/llvm/llvm-project/commit/20f56d140909a01c74e9981835373eaab6021af9
Author: Larry Meadows <lmeadows at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/DemangleTestCases.inc
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/Testing/Demangle/DemangleTestCases.inc
Log Message:
-----------
[libc++abi] Fix C++ demangling for _BitInt type (#143466)
The front-end expects _BitInt to be available for substitution; ensure DB<n> is
added to Subs in ItaniumDemangle.h. Also add a test case to libc++abi and
sync the files to llvm/include/llvm.
Commit: 1c56d101a2140b14dec62097849493ed2ea6cc7f
https://github.com/llvm/llvm-project/commit/1c56d101a2140b14dec62097849493ed2ea6cc7f
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
M libc/test/src/__support/wchar/utf32_to_8_test.cpp
Log Message:
-----------
[libc] Added isValidState to CharacterConverter class to ensure a provided mbstate is valid (#145564)
Added isValidState to CharacterConverter class to ensure a provided
mbstate is valid
Commit: a75279e4a5b5d2d87d0d8e0408abf9e2cacbc5e0
https://github.com/llvm/llvm-project/commit/a75279e4a5b5d2d87d0d8e0408abf9e2cacbc5e0
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
R mlir/test/Target/LLVMIR/omptarget-debug-map-link-loc.mlir
Log Message:
-----------
Revert "[mlir][OpenMP] Use correct debug location with link clause." (#145768)
Reverts llvm/llvm-project#145026
Caused a CI failure on
https://lab.llvm.org/buildbot/#/builders/169/builds/12504.
Commit: 7aeb1a1fd8bd8d376cd58d3341c739be8f3ac4a7
https://github.com/llvm/llvm-project/commit/7aeb1a1fd8bd8d376cd58d3341c739be8f3ac4a7
Author: sivadeilra <arlie.davis at microsoft.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/test/CodeGen/X86/ms-secure-hotpatch-bad-file.c
M clang/test/CodeGen/X86/ms-secure-hotpatch-cpp.cpp
M clang/test/CodeGen/X86/ms-secure-hotpatch-eh.cpp
M clang/test/CodeGen/X86/ms-secure-hotpatch-globals.c
M clang/test/CodeGen/X86/ms-secure-hotpatch-lto.c
M clang/test/CodeGen/X86/ms-secure-hotpatch.c
Log Message:
-----------
Fix Solaris buildbot (#145737)
#145565 broke the Solaris buildbot, due to a subtlety in how
command-lines are parsed, which is different between Windows and
non-Windows platforms. The fix is to use `--` to force passing the rest
of args without interpretation. This is similar to existing tests for
`%clang_cl`, such as
`clang/test/CodeGen/debug-info-codeview-buildinfo.c`.
Currently, CI jobs for PRs do not detect this problem. Fixing that is
tracked in issue #145713.
Commit: aec88679db5f5ac61616e0accc264008690a8ccc
https://github.com/llvm/llvm-project/commit/aec88679db5f5ac61616e0accc264008690a8ccc
Author: Larry Meadows <lmeadows at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M openmp/runtime/src/kmp_lock.cpp
A openmp/runtime/test/ompt/misc/lock_double_destroy.cpp
Log Message:
-----------
[OpenMP] avoid segv for a lock that has already been destroyed (#145625)
This can happen in static destructors when called after the
runtime is already shutdown (e.g., by ompt_finalize_tool). Even
though it is technically an error to call omp_destroy_lock after
shutdown, the application doesn't necessarily know that omp_destroy_lock
was already called. This is safe becaues all indirect locks are
destoryed in __kmp_cleanup_indirect_user_locks so the return
value will always be valid or a nullptr, not garbage.
Commit: d9a7b1647984dd6f7059069fcffe23dc1d1438b1
https://github.com/llvm/llvm-project/commit/d9a7b1647984dd6f7059069fcffe23dc1d1438b1
Author: Adam Glass <adamglass at spottedfoobar.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/Headers/intrin.h
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
Log Message:
-----------
InterlockedAdd_*, InterlockedAdd64_* support for AArch64 (#145607)
This PR adds support for InterlockedAdd_{acq, nf, rel}, and
InterlockedAdd64_{acq, nf, rel} for Aarch64.
Commit: 1abe1aa7b2b4a35f8f8497a8a051cfba7d311131
https://github.com/llvm/llvm-project/commit/1abe1aa7b2b4a35f8f8497a8a051cfba7d311131
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp
Log Message:
-----------
[llvm] annotate remaining Analysis library interfaces for DLL export (#145359)
Commit: 5781d526ecf2af81472451c70bc71c3b1fb7da46
https://github.com/llvm/llvm-project/commit/5781d526ecf2af81472451c70bc71c3b1fb7da46
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/COFF.h
M llvm/include/llvm/Frontend/Directive/Spelling.h
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
M llvm/include/llvm/TargetParser/TargetParser.h
Log Message:
-----------
[llvm] annotate remaining ExecutionEngine, Frontend, and TargetParser interfaces for DLL export (#145367)
Commit: 3b8ac7a22c649d42e748b93d67ac237a85524328
https://github.com/llvm/llvm-project/commit/3b8ac7a22c649d42e748b93d67ac237a85524328
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M openmp/runtime/src/kmp_alloc.cpp
M openmp/runtime/src/kmp_csupport.cpp
M openmp/runtime/src/kmp_tasking.cpp
Log Message:
-----------
[OpenMP] Fix various alignment issues (#142376)
When running the `openmp` testsuite on 32-bit SPARC, several tests
`FAIL` apparently randomly, but always with the same kind of error:
```
# error: command failed with exit status: -11
```
The tests die with `SIGBUS`, as can be seen in `truss` output:
```
26461/1: Incurred fault #5, FLTACCESS %pc = 0x00010EAC
26461/1: siginfo: SIGBUS BUS_ADRALN addr=0x0013D12C
26461/1: Received signal #10, SIGBUS [default]
26461/1: siginfo: SIGBUS BUS_ADRALN addr=0x0013D12C
```
i.e. the code is trying an unaligned access which cannot work on SPARC,
a strict-alignment target which enforces natural alignment on access.
This explains the apparent randomness of the failures: if the memory
happens to be aligned appropriately, the tests work, but fail if not.
A `Debug` build reveals much more:
- `__kmp_alloc` currently aligns to `sizeof(void *)`, which isn't enough
on strict-alignment targets when the data are accessed as types
requiring larger alignment. Therefore, this patch increases `alignment`
to `SizeQuant`.
- 32-bit Solaris/sparc `libc` guarantees 8-byte alignment from `malloc`,
so this patch adjusts `SizeQuant` to match.
- There's a `SIGBUS` in
```
__kmpc_fork_teams (loc=0x112f8, argc=0,
microtask=0x16cc8
<__omp_offloading_ffbc020a_4b1abe_main_l9_debug__.omp_outlined>)
at openmp/runtime/src/kmp_csupport.cpp:573
573 *(kmp_int64 *)(&this_thr->th.th_teams_size) = 0L;
```
Casting to a pointer to a type requiring 64-bit alignment when that
isn't guaranteed is wrong. Instead, this patch uses `memset` instead.
- There's another `SIGBUS` in
```
0xfef8cb9c in __kmp_taskloop_recur (loc=0x10cb8, gtid=0, task=0x23cd00,
lb=0x23cd18, ub=0x23cd20, st=1, ub_glob=499, num_tasks=100, grainsize=5,
extras=0, last_chunk=0, tc=500, num_t_min=20,
codeptr_ra=0xfef8dbc8 <__kmpc_taskloop(ident_t*, int, kmp_task_t*, int,
kmp_uint64*, kmp_uint64*, kmp_int64, int, int, kmp_uint64, void*)+240>,
task_dup=0x0)
at openmp/runtime/src/kmp_tasking.cpp:5147
5147 p->st = st;
```
`p->st` doesn't currently guarantee the 8-byte alignment required by
`kmp_int64 st`. `p` is set in
```
__taskloop_params_t *p = (__taskloop_params_t *)new_task->shareds;
```
but `shareds_offset` is currently aligned to `sizeof(void *)` only.
Increasing it to `sizeof(kmp_uint64)` to match its use fixes the
`SIGBUS`.
With these fixes I get clean `openmp` test results on 32-bit SPARC (both
Solaris and Linux), with one unrelated exception.
Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`sparc-unknown-linux-gnu`, `sparc64-unknown-linux-gnu`,
`i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and
`x86_64-pc-linux-gnu`.
Commit: 7dfcced079e3e7962cbbf780ebf4a472fbf4baf3
https://github.com/llvm/llvm-project/commit/7dfcced079e3e7962cbbf780ebf4a472fbf4baf3
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/CMakeLists.txt
R clang/bindings/python/tests/CMakeLists.txt
R clang/bindings/python/tests/__init__.py
R clang/bindings/python/tests/cindex/INPUTS/a.inc
R clang/bindings/python/tests/cindex/INPUTS/b.inc
R clang/bindings/python/tests/cindex/INPUTS/compile_commands.json
R clang/bindings/python/tests/cindex/INPUTS/header1.h
R clang/bindings/python/tests/cindex/INPUTS/header2.h
R clang/bindings/python/tests/cindex/INPUTS/header3.h
R clang/bindings/python/tests/cindex/INPUTS/hello.cpp
R clang/bindings/python/tests/cindex/INPUTS/include.cpp
R clang/bindings/python/tests/cindex/INPUTS/parse_arguments.c
R clang/bindings/python/tests/cindex/INPUTS/testfile.c
R clang/bindings/python/tests/cindex/__init__.py
R clang/bindings/python/tests/cindex/test_access_specifiers.py
R clang/bindings/python/tests/cindex/test_cdb.py
R clang/bindings/python/tests/cindex/test_code_completion.py
R clang/bindings/python/tests/cindex/test_comment.py
R clang/bindings/python/tests/cindex/test_cursor.py
R clang/bindings/python/tests/cindex/test_cursor_kind.py
R clang/bindings/python/tests/cindex/test_diagnostics.py
R clang/bindings/python/tests/cindex/test_enums.py
R clang/bindings/python/tests/cindex/test_exception_specification_kind.py
R clang/bindings/python/tests/cindex/test_file.py
R clang/bindings/python/tests/cindex/test_index.py
R clang/bindings/python/tests/cindex/test_lib.py
R clang/bindings/python/tests/cindex/test_linkage.py
R clang/bindings/python/tests/cindex/test_location.py
R clang/bindings/python/tests/cindex/test_rewrite.py
R clang/bindings/python/tests/cindex/test_source_range.py
R clang/bindings/python/tests/cindex/test_tls_kind.py
R clang/bindings/python/tests/cindex/test_token_kind.py
R clang/bindings/python/tests/cindex/test_tokens.py
R clang/bindings/python/tests/cindex/test_translation_unit.py
R clang/bindings/python/tests/cindex/test_type.py
R clang/bindings/python/tests/cindex/util.py
M clang/test/CMakeLists.txt
A clang/test/bindings/python/bindings.sh
A clang/test/bindings/python/lit.local.cfg
A clang/test/bindings/python/tests/__init__.py
A clang/test/bindings/python/tests/cindex/INPUTS/a.inc
A clang/test/bindings/python/tests/cindex/INPUTS/b.inc
A clang/test/bindings/python/tests/cindex/INPUTS/compile_commands.json
A clang/test/bindings/python/tests/cindex/INPUTS/header1.h
A clang/test/bindings/python/tests/cindex/INPUTS/header2.h
A clang/test/bindings/python/tests/cindex/INPUTS/header3.h
A clang/test/bindings/python/tests/cindex/INPUTS/hello.cpp
A clang/test/bindings/python/tests/cindex/INPUTS/include.cpp
A clang/test/bindings/python/tests/cindex/INPUTS/parse_arguments.c
A clang/test/bindings/python/tests/cindex/INPUTS/testfile.c
A clang/test/bindings/python/tests/cindex/__init__.py
A clang/test/bindings/python/tests/cindex/test_access_specifiers.py
A clang/test/bindings/python/tests/cindex/test_cdb.py
A clang/test/bindings/python/tests/cindex/test_code_completion.py
A clang/test/bindings/python/tests/cindex/test_comment.py
A clang/test/bindings/python/tests/cindex/test_cursor.py
A clang/test/bindings/python/tests/cindex/test_cursor_kind.py
A clang/test/bindings/python/tests/cindex/test_diagnostics.py
A clang/test/bindings/python/tests/cindex/test_enums.py
A clang/test/bindings/python/tests/cindex/test_exception_specification_kind.py
A clang/test/bindings/python/tests/cindex/test_file.py
A clang/test/bindings/python/tests/cindex/test_index.py
A clang/test/bindings/python/tests/cindex/test_lib.py
A clang/test/bindings/python/tests/cindex/test_linkage.py
A clang/test/bindings/python/tests/cindex/test_location.py
A clang/test/bindings/python/tests/cindex/test_rewrite.py
A clang/test/bindings/python/tests/cindex/test_source_range.py
A clang/test/bindings/python/tests/cindex/test_tls_kind.py
A clang/test/bindings/python/tests/cindex/test_token_kind.py
A clang/test/bindings/python/tests/cindex/test_tokens.py
A clang/test/bindings/python/tests/cindex/test_translation_unit.py
A clang/test/bindings/python/tests/cindex/test_type.py
A clang/test/bindings/python/tests/cindex/util.py
Log Message:
-----------
[clang][python][test] Move python binding tests to lit framework (#142948)
As discussed in PR #142353, the current testsuite of the `clang` Python
bindings has several issues:
- If `libclang.so` cannot be loaded into `python` to run the testsuite,
the whole `ninja check-all` aborts.
- The result of running the testsuite isn't report like the `lit`-based
tests, rendering them almost invisible.
- The testsuite is disabled in a non-obvious way (`RUN_PYTHON_TESTS`) in
`tests/CMakeLists.txt`, which again doesn't show up in the test results.
All these issues can be avoided by integrating the Python bindings tests
with `lit`, which is what this patch does:
- The actual test lives in `clang/test/bindings/python/bindings.sh` and
is run by `lit`.
- The current `clang/bindings/python/tests` directory (minus the
now-superfluous `CMakeLists.txt`) is moved into the same directory.
- The check if `libclang` is loadable (originally from PR #142353) is
now handled via a new `lit` feature, `libclang-loadable`.
- The various ways to disable the tests have been turned into `XFAIL`s
as appropriate. This isn't complete and not completely tested yet.
- It keeps the `check-clang-python` target for use by the Clang Python
CI.
Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and
`x86_64-pc-linux-gnu`.
Commit: b6b08117bdb48765a0eef71b8434b9341257d06e
https://github.com/llvm/llvm-project/commit/b6b08117bdb48765a0eef71b8434b9341257d06e
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Simplify S_WAIT_XCNT insertion. NFC. (#145682)
Commit: f8b906ef0f7bb1d73795b68e8fb0c459f36c8209
https://github.com/llvm/llvm-project/commit/f8b906ef0f7bb1d73795b68e8fb0c459f36c8209
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
Log Message:
-----------
[CIR][NFC] Sort the 'Misc' section of MissingFeatures (#145750)
This sorts the 'Misc' section of the MissingFeatures.h file
lexicographically. The goal is to reduce the number of merge conflicts
we're having with this file. Currently, we've been adding new entries at
the end of this section and getting very frequent conflicts as a result.
If we instead insert new entries lexicographically, they shouldn't
conflict nearly as often.
Commit: ad0fba211cc98ce2677a77cc4511bd1751ea9e68
https://github.com/llvm/llvm-project/commit/ad0fba211cc98ce2677a77cc4511bd1751ea9e68
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/MachineDomTreeUpdater.cpp
M llvm/lib/CodeGen/MachineDominators.cpp
M llvm/lib/CodeGen/MachineLoopInfo.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/CodeGen/MachinePostDominators.cpp
M llvm/lib/CodeGen/RegAllocScore.cpp
Log Message:
-----------
[llvm] annotate remaining CodeGen and CodeGenTypes library interfaces for DLL export (#145361)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the remaining LLVM CodeGen
and CodeGenTypes library interfaces that were missed in, or modified
since, previous patches. The annotations currently have no meaningful
impact on the LLVM build; however, they are a prerequisite to support an
LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS:
- Explicitly instantiate `CallLowering::setArgFlags` template method
instances in `CodeGen/GlobalISel/CallLowering.h` and annotate them with
`LLVM_ABI`. These methods are already explicitly instantiated in
`lib/CodeGen/GlobalISel/CallLowering.cpp` but were not `extern` declared
in the header.
- Annotate several explicit template instantiations with
`LLVM_EXPORT_TEMPLATE`.
- Include `llvm/CodeGen/Passes.h` from
`llvm/lib/CodeGen/GlobalMergeFunctions.cpp` to pick up the declaration
of `llvm::createGlobalMergeFuncPass` with the `LLVM_ABI` annotation
(instead of adding `LLVM_ABI` to the function definition in this file)
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 473f992c1f145f9fb003ecb5519cc40de0070025
https://github.com/llvm/llvm-project/commit/473f992c1f145f9fb003ecb5519cc40de0070025
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add the support for `v_cvt_f32_bf16` on gfx1250 (#145632)
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 4a31f7f8ea776383d72350cb5ce74ce13ee15431
https://github.com/llvm/llvm-project/commit/4a31f7f8ea776383d72350cb5ce74ce13ee15431
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
M llvm/test/Transforms/InstSimplify/ConstProp/calls.ll
Log Message:
-----------
[ConstantFold] Special case atan +/-0.0 (#143962)
C's Annex F specifies that atan +/-0.0 returns the input value;
however, this behavior is optional and host C libraries may behave
differently. This change applies the Annex F behavior to constant
folding by LLVM.
Ref:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/atan.html
Commit: bc905417d953381400278577c1fa0d87ff92a6c4
https://github.com/llvm/llvm-project/commit/bc905417d953381400278577c1fa0d87ff92a6c4
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/test/bindings/python/tests/cindex/test_file.py
Log Message:
-----------
[libclang/python][NFC] Fix formatting in test_file (#145773)
Commit: fcbfff193e96037aa8131af91cefee2888d3de72
https://github.com/llvm/llvm-project/commit/fcbfff193e96037aa8131af91cefee2888d3de72
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
Log Message:
-----------
AMDGPU: Remove floating point dot4 and dot2 from gfx1250 support (#145751)
We have FeatureDot9Insts for dot2 and FeatureDot11Insts for dot4. And
gfx1250 does not support these two features. So everything was in place
except that we need to copy SubtargetPredicate from pseudo to real for
VOP3_DPP8_t16.
Commit: 62f8281e0842c9cefc847e1e22ec559a1a36f017
https://github.com/llvm/llvm-project/commit/62f8281e0842c9cefc847e1e22ec559a1a36f017
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll
A llvm/test/Verifier/branch-weight.ll
M mlir/test/Target/LLVMIR/Import/import-failure.ll
Log Message:
-----------
[IR][PGO] Verify invalid `MD_prof` metadata on instructions (#145576)
This PR places the validation of `MD_prof` instruction metadata in the Verifier.
Commit: 0c359d747daa97197d17d2c48d7964d49f7f1b98
https://github.com/llvm/llvm-project/commit/0c359d747daa97197d17d2c48d7964d49f7f1b98
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/CMakeLists.txt
A clang/bindings/python/tests/CMakeLists.txt
A clang/bindings/python/tests/__init__.py
A clang/bindings/python/tests/cindex/INPUTS/a.inc
A clang/bindings/python/tests/cindex/INPUTS/b.inc
A clang/bindings/python/tests/cindex/INPUTS/compile_commands.json
A clang/bindings/python/tests/cindex/INPUTS/header1.h
A clang/bindings/python/tests/cindex/INPUTS/header2.h
A clang/bindings/python/tests/cindex/INPUTS/header3.h
A clang/bindings/python/tests/cindex/INPUTS/hello.cpp
A clang/bindings/python/tests/cindex/INPUTS/include.cpp
A clang/bindings/python/tests/cindex/INPUTS/parse_arguments.c
A clang/bindings/python/tests/cindex/INPUTS/testfile.c
A clang/bindings/python/tests/cindex/__init__.py
A clang/bindings/python/tests/cindex/test_access_specifiers.py
A clang/bindings/python/tests/cindex/test_cdb.py
A clang/bindings/python/tests/cindex/test_code_completion.py
A clang/bindings/python/tests/cindex/test_comment.py
A clang/bindings/python/tests/cindex/test_cursor.py
A clang/bindings/python/tests/cindex/test_cursor_kind.py
A clang/bindings/python/tests/cindex/test_diagnostics.py
A clang/bindings/python/tests/cindex/test_enums.py
A clang/bindings/python/tests/cindex/test_exception_specification_kind.py
A clang/bindings/python/tests/cindex/test_file.py
A clang/bindings/python/tests/cindex/test_index.py
A clang/bindings/python/tests/cindex/test_lib.py
A clang/bindings/python/tests/cindex/test_linkage.py
A clang/bindings/python/tests/cindex/test_location.py
A clang/bindings/python/tests/cindex/test_rewrite.py
A clang/bindings/python/tests/cindex/test_source_range.py
A clang/bindings/python/tests/cindex/test_tls_kind.py
A clang/bindings/python/tests/cindex/test_token_kind.py
A clang/bindings/python/tests/cindex/test_tokens.py
A clang/bindings/python/tests/cindex/test_translation_unit.py
A clang/bindings/python/tests/cindex/test_type.py
A clang/bindings/python/tests/cindex/util.py
M clang/test/CMakeLists.txt
R clang/test/bindings/python/bindings.sh
R clang/test/bindings/python/lit.local.cfg
R clang/test/bindings/python/tests/__init__.py
R clang/test/bindings/python/tests/cindex/INPUTS/a.inc
R clang/test/bindings/python/tests/cindex/INPUTS/b.inc
R clang/test/bindings/python/tests/cindex/INPUTS/compile_commands.json
R clang/test/bindings/python/tests/cindex/INPUTS/header1.h
R clang/test/bindings/python/tests/cindex/INPUTS/header2.h
R clang/test/bindings/python/tests/cindex/INPUTS/header3.h
R clang/test/bindings/python/tests/cindex/INPUTS/hello.cpp
R clang/test/bindings/python/tests/cindex/INPUTS/include.cpp
R clang/test/bindings/python/tests/cindex/INPUTS/parse_arguments.c
R clang/test/bindings/python/tests/cindex/INPUTS/testfile.c
R clang/test/bindings/python/tests/cindex/__init__.py
R clang/test/bindings/python/tests/cindex/test_access_specifiers.py
R clang/test/bindings/python/tests/cindex/test_cdb.py
R clang/test/bindings/python/tests/cindex/test_code_completion.py
R clang/test/bindings/python/tests/cindex/test_comment.py
R clang/test/bindings/python/tests/cindex/test_cursor.py
R clang/test/bindings/python/tests/cindex/test_cursor_kind.py
R clang/test/bindings/python/tests/cindex/test_diagnostics.py
R clang/test/bindings/python/tests/cindex/test_enums.py
R clang/test/bindings/python/tests/cindex/test_exception_specification_kind.py
R clang/test/bindings/python/tests/cindex/test_file.py
R clang/test/bindings/python/tests/cindex/test_index.py
R clang/test/bindings/python/tests/cindex/test_lib.py
R clang/test/bindings/python/tests/cindex/test_linkage.py
R clang/test/bindings/python/tests/cindex/test_location.py
R clang/test/bindings/python/tests/cindex/test_rewrite.py
R clang/test/bindings/python/tests/cindex/test_source_range.py
R clang/test/bindings/python/tests/cindex/test_tls_kind.py
R clang/test/bindings/python/tests/cindex/test_token_kind.py
R clang/test/bindings/python/tests/cindex/test_tokens.py
R clang/test/bindings/python/tests/cindex/test_translation_unit.py
R clang/test/bindings/python/tests/cindex/test_type.py
R clang/test/bindings/python/tests/cindex/util.py
Log Message:
-----------
Revert "Move python binding tests to lit framework (#142948)" (#145774)
This reverts commit 7dfcced079e3e7962cbbf780ebf4a472fbf4baf3 since it
casued a buildfailure:
https://lab.llvm.org/buildbot/#/builders/46/builds/19019
Commit: 2db0289abe17f4200320a620ad331d870198241f
https://github.com/llvm/llvm-project/commit/2db0289abe17f4200320a620ad331d870198241f
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wctomb.cpp
A libc/src/wchar/wctomb.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wctomb_test.cpp
Log Message:
-----------
[libc] Implemented wctomb (#145554)
Implemented wctomb by calling internal wcrtomb function
Added tests
Commit: e8abdfc88ffed632750fe0fd7deafb577e902bd6
https://github.com/llvm/llvm-project/commit/e8abdfc88ffed632750fe0fd7deafb577e902bd6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/ProtocolServer.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/Commands/CommandObjectProtocolServer.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/ProtocolServer.cpp
M lldb/source/Plugins/Protocol/MCP/Protocol.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Tool.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.h
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
Log Message:
-----------
[lldb] Make MCP server instance global (#145616)
Rather than having one MCP server per debugger, make the MCP server
global and pass a debugger id along with tool invocations that require
one. This PR also adds a second tool to list the available debuggers
with their targets so the model can decide which debugger instance to
use.
Commit: 6fd182a3bb287e9ddb144952c16773552e18a335
https://github.com/llvm/llvm-project/commit/6fd182a3bb287e9ddb144952c16773552e18a335
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-reverse-float.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-reverse-int.ll
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-reverser-float.ll
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-reverser-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splice.ll
Log Message:
-----------
[RISCV] Support fixed vector vp.reverse/splice with Zvfhmin/Zvfbfmin. (#145596)
Fix the names of some tests I accidentally misspelled.
Commit: ff23ee40d6af8d2befa622c91f654a9ca2670660
https://github.com/llvm/llvm-project/commit/ff23ee40d6af8d2befa622c91f654a9ca2670660
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.f16.fp8.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_cvt_pk_f16_fp8` on gfx1250 (#145747)
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: ce1c1a0e6d6b8dcae19a2b51e01246dd8850691f
https://github.com/llvm/llvm-project/commit/ce1c1a0e6d6b8dcae19a2b51e01246dd8850691f
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.f16.fp8.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_cvt_pk_f16_bf8` on gfx1250 (#145753)
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: a8ef75e758982d8e66790ffe26fcc6f1d9648e88
https://github.com/llvm/llvm-project/commit/a8ef75e758982d8e66790ffe26fcc6f1d9648e88
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
A llvm/test/CodeGen/DirectX/strip-rootsignatures.ll
Log Message:
-----------
[DirectX] Strip `dx.rootsignatures` metadata during `dxil-prepare` (#145746)
The `dx.rootsignatures` metadata is not recognized in DXIL, so failure
to remove this will cause validation errors.
This metadata is parsed (within `RootSignatureAnalysisWrapper`) into its
binary format. As such, once it has been used to construct the binary
form, it can be safely discarded without loss of information.
This pr ensures that the dxil prepare pass will depend and preserve on
the root signature analysis so that it runs before the metadata is
removed.
- Update `DXILPrepare.cpp` to preserve and depend on
`RootSignatureAnalysisWrapper`
- Update test to demonstrate order is correct
- Provide test-case to demonstrate the metadata is removed
Resolves https://github.com/llvm/llvm-project/issues/145437.
----------
Co-authored-by: Justin Bogner <mail at justinbogner.com>
Commit: 38aec4f1f422daf522e50204b794e9c071e5c61f
https://github.com/llvm/llvm-project/commit/38aec4f1f422daf522e50204b794e9c071e5c61f
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
A llvm/test/CodeGen/DirectX/issue-145408-gep-struct-fix.ll
Log Message:
-----------
[DirectX] Limit GEP transformations to Arrays (#145758)
fixes #145408
Before we see the GEP we already have transformed Allocas that get
passed the `isArrayOfVectors`.
The bug is because we are trying to transform a gep for struct of arrays
when we should only be transforming arrays.
The problem with our `visitGetElementPtrInst` is that it was doing
transformations for all allocas when it should be limiting it to the
alloca of array cases. Technically we would have liked to make sure it
was an array of vectors cases but by the time we see the GEP the type
has been changed by replace all uses. There should not be a problem with
looking at all Arrays since DXILDataScalarization does not change any
indicies.
Commit: c72507d431495dea5b7ee7065eea70451e9bc8d8
https://github.com/llvm/llvm-project/commit/c72507d431495dea5b7ee7065eea70451e9bc8d8
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
Log Message:
-----------
[FIX] Add type definition into test case `clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl`
Commit: 17f91a26fff27597bac5166a7ee92b57bbe9ef09
https://github.com/llvm/llvm-project/commit/17f91a26fff27597bac5166a7ee92b57bbe9ef09
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 run lines to gfx12_dasm_vop3_dpp8.txt. NFC. (#145778)
Commit: bd86fc9252384f4b3174f07a615ffe371788584b
https://github.com/llvm/llvm-project/commit/bd86fc9252384f4b3174f07a615ffe371788584b
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M libc/src/__support/wchar/CMakeLists.txt
M libc/src/__support/wchar/mbrtowc.cpp
M libc/src/__support/wchar/wcrtomb.cpp
M libc/src/wchar/mbrtowc.cpp
M libc/src/wchar/wcrtomb.cpp
M libc/test/src/wchar/CMakeLists.txt
M libc/test/src/wchar/mbrtowc_test.cpp
M libc/test/src/wchar/wcrtomb_test.cpp
Log Message:
-----------
[libc] Error fixes for mbrtowc and wcrtomb (#145785)
Invalid mbstate_t should set errno to EINVAL.
Changed Error return for the internal functions and added tests for the
public functions.
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 79da5fecdb70639ba8092fc801894ed0869157de
https://github.com/llvm/llvm-project/commit/79da5fecdb70639ba8092fc801894ed0869157de
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
Log Message:
-----------
[CIR][NFC] Remove duplicate code (#145790)
This change removes a bit of code that was left as an artifact of a
previous "not yet implemented" state. The implementation is in place,
but the code to report an NYI diagnostic was left behind.
Commit: ac29858e2d7fd8fc6d638eec5358ecb033ebf9c3
https://github.com/llvm/llvm-project/commit/ac29858e2d7fd8fc6d638eec5358ecb033ebf9c3
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
Log Message:
-----------
AMDGPU: Remove global_atomic_ordered_add_b64 from gfx1250 support (#145781)
Commit: ff0dcc461474cd2cda0190490721139fa962c633
https://github.com/llvm/llvm-project/commit/ff0dcc461474cd2cda0190490721139fa962c633
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/CAPI/Dialect/Linalg.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-linalg-ods-gen/test-linalg-ods-yaml-gen.yaml
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
Log Message:
-----------
[MLIR][Linalg] Harden parsing Linalg named ops (#145337)
This thread through proper error handling / reporting capabilities to
avoid hitting llvm_unreachable while parsing linalg ops.
Fixes #132755
Fixes #132740
Fixes #129185
Commit: 7381d816f31c2c2c46653c58220a88f632768b5e
https://github.com/llvm/llvm-project/commit/7381d816f31c2c2c46653c58220a88f632768b5e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M lldb/include/lldb/Target/Platform.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
Log Message:
-----------
[lldb][NFC] remove the ResolveSDKPathFromDebugInfo method (#145744)
This patch is part of an effort to remove the
`ResolveSDKPathFromDebugInfo` method, and more specifically the variant
which takes a `Module` as argument.
This PR should be merged after
https://github.com/llvm/llvm-project/pull/144913.
Commit: 472c9141f9d0970a89e18ab5cb61a4f4078b9945
https://github.com/llvm/llvm-project/commit/472c9141f9d0970a89e18ab5cb61a4f4078b9945
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/issue139317-bad-opsel-reg-sequence-fold.ll
M llvm/test/CodeGen/AMDGPU/si-fold-operands-subreg-imm.gfx942.mir
M llvm/test/CodeGen/AMDGPU/si-fold-operands-subreg-imm.mir
Log Message:
-----------
AMDGPU: Fix tracking subreg defs when folding through reg_sequence (#140608)
We weren't fully respecting the type of a def of an immediate vs.
the type at the use point. Refactor the folding logic to track the
value to fold, as well as a subregister to apply to the underlying
value. This is similar to how PeepholeOpt tracks subregisters (though
only for pure copy-like instructions, no constants).
Fixes #139317
Commit: e1f224b99a9147d76d3ebd18867f76f2235ab07d
https://github.com/llvm/llvm-project/commit/e1f224b99a9147d76d3ebd18867f76f2235ab07d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
Log Message:
-----------
AMDGPU: Handle folding vector splats of inline split f64 inline immediates (#140878)
Recognize a reg_sequence with 32-bit elements that produce a 64-bit
splat value. This enables folding f64 constants into mfma operands
Commit: 3d51490622883a197bd40bf3c1e2962d032ea3c9
https://github.com/llvm/llvm-project/commit/3d51490622883a197bd40bf3c1e2962d032ea3c9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/MC/RISCV/rvv/xsfvfwmacc.s
Log Message:
-----------
[RISCV] Fix typo in the description of xsfvfwmaccqqq. (#145771)
Commit: 00f6d6ab66a7c7caf74562eea442653919a79dd9
https://github.com/llvm/llvm-project/commit/00f6d6ab66a7c7caf74562eea442653919a79dd9
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/docs/CodingStandards.rst
Log Message:
-----------
[NFC][CodingStandard] Require``[[maybe_unused]]`` for unused variables in asserts (#142850)
Require using attribute `[[maybe_unused]` for assert-only variables that
may be unused in non-assert enabled builds to suppress unused variable
warnings.
---------
Co-authored-by: James Henderson <James.Henderson at sony.com>
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 82cbd68504e6206ec40a5b41ea14aa6a4988e6fe
https://github.com/llvm/llvm-project/commit/82cbd68504e6206ec40a5b41ea14aa6a4988e6fe
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/ProfDataUtils.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/MDBuilder.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/ProfileData/InstrProf.cpp
Log Message:
-----------
[NFC][PGO] Use constants rather than free strings for metadata labels (#145721)
Commit: a5baf5302adfdfc3f5db50f58b3fe68eaf9ae34e
https://github.com/llvm/llvm-project/commit/a5baf5302adfdfc3f5db50f58b3fe68eaf9ae34e
Author: Amy Huang <akhuang at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
Add modified runtimes back to runtimes_to_{test|build} (#145805)
Add libc back into the runtimes_to_test since other runtimes were
removed.
Commit: 19797500d85cf37327a09caf29244ad0dda679fc
https://github.com/llvm/llvm-project/commit/19797500d85cf37327a09caf29244ad0dda679fc
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Sanitizers.h
Log Message:
-----------
[NFC] [sanitizer] fix inaccurate comment (#145809)
Commit: f63bc84b0d2a66131b8e0f69905b6aad90793fd4
https://github.com/llvm/llvm-project/commit/f63bc84b0d2a66131b8e0f69905b6aad90793fd4
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/test/API/macosx/simulator/Makefile
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
R lldb/test/API/macosx/simulator/hello.c
A lldb/test/API/macosx/simulator/hello.cpp
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
Log Message:
-----------
[lldb] Fix FindProcessImpl() for iOS simulators (#139174)
# Benefit
This patch fixes:
1. After `platform select ios-simulator`, `platform process list` will
now print processes which are running in the iOS simulator. Previously,
no process will be listed.
2. After `platform select ios-simulator`, `platform attach --name
<name>` will succeed. Previously, it will error out saying no process is
found.
# Several bugs that is being fixed
1. During the process listing, add `aarch64` to the list of CPU types
for which iOS simulators are checked for.
2. Given a candidate process, when checking for simulators, the original
code will find the desired environment variable (`SIMULATOR_UDID`) and
set the OS to iOS, but then the immediate next environment variable will
set it back to macOS.
3. For processes running on simulator, set the triple's `Environment` to
`Simulator`, so that such processes can pass the filtering [in this
line](https://fburl.com/8nivnrjx). The original code leave it as the
default `UnknownEnvironment`.
# Manual test
**With this patch:**
```
royshi-mac-home ~/public_llvm/build % bin/lldb
(lldb) platform select ios-simulator
(lldb) platform process list
240 matching processes were found on "ios-simulator"
PID PARENT USER TRIPLE NAME
====== ====== ========== ============================== ============================
40511 28844 royshi arm64-apple-ios-simulator FocusPlayground // my toy iOS app running on simulator
... // omit
28844 1 royshi arm64-apple-ios-simulator launchd_sim
(lldb) process attach --name FocusPlayground
Process 40511 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
frame #0: 0x0000000104e3cb70 libsystem_kernel.dylib`mach_msg2_trap + 8
libsystem_kernel.dylib`mach_msg2_trap:
-> 0x104e3cb70 <+8>: ret
... // omit
```
**Without this patch:**
```
$ bin/lldb
(lldb) platform select ios-simulator
(lldb) platform process list
error: no processes were found on the "ios-simulator" platform
(lldb) process attach --name FocusPlayground
error: attach failed: could not find a process named FocusPlayground
```
# Unittest
See PR.
Commit: 2b2bd51f3b35f00a8e58add1fe9db1113ada4c37
https://github.com/llvm/llvm-project/commit/2b2bd51f3b35f00a8e58add1fe9db1113ada4c37
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/module/cooperative_groups.f90
A flang/test/Lower/CUDA/cuda-cooperative.cuf
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Inline this_grid call for cooperative groups (#145796)
Commit: c539ec0db53ac850d121f1420fc9da72a5bf8891
https://github.com/llvm/llvm-project/commit/c539ec0db53ac850d121f1420fc9da72a5bf8891
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
Log Message:
-----------
[mlir][vector] Add support for vector extract/insert_strided_slice in vector distribution. (#145421)
This PR adds initial support for `vector.extract_strided_slice` and
`vector.insert_strided_slice` ops in vector distribution.
Commit: b413bea4355e51e3f3ff248b7d62b4d5d712c743
https://github.com/llvm/llvm-project/commit/b413bea4355e51e3f3ff248b7d62b4d5d712c743
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/fsanitize.c
Log Message:
-----------
[NFC] [sanitizer] get rid of references to fsanitize-top-hot (#145810)
That flag does not exist.
Commit: 0faa181434cf959110651fe974bef31e7390eba8
https://github.com/llvm/llvm-project/commit/0faa181434cf959110651fe974bef31e7390eba8
Author: Lang Hames <lhames at gmail.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/include/KaleidoscopeJIT.h
M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericMemoryAccess.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
A llvm/include/llvm/ExecutionEngine/Orc/InProcessMemoryAccess.h
A llvm/include/llvm/ExecutionEngine/Orc/MemoryAccess.h
A llvm/include/llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
A llvm/lib/ExecutionEngine/Orc/InProcessMemoryAccess.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
A llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericMemoryAccessTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ExecutionSessionWrapperFunctionCallsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/SharedMemoryMapperTest.cpp
Log Message:
-----------
[ORC] Extract MemoryAccess from ExecutorProcessControl, break up header. (#145671)
This moves the MemoryAccess interface out of the ExecutorProcessControl
class and splits implementation classes InProcessMemoryManager and
SelfExecutorProcessControl out of ExecutorProcessControl.h and into
their own headers.
Commit: 36fbc6a8d23c2a2d9de55f4c8dbd0325fd4fce38
https://github.com/llvm/llvm-project/commit/36fbc6a8d23c2a2d9de55f4c8dbd0325fd4fce38
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
Log Message:
-----------
[MLIR][XeGPU] Remove the transpose attribute from Gather/Scatter ops and Cleanup the documents (#145389)
Commit: 09b52653781fb81691cac5641753308a4b157781
https://github.com/llvm/llvm-project/commit/09b52653781fb81691cac5641753308a4b157781
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
Log Message:
-----------
[RISCV] Decrease the capacity of SmallVector to 6. NFC. (#145650)
The maximum usage of these SmallVectors is only 6 elements.
Commit: 63b14b3f2bf6abd96d9a6cf0cec9e9447b7a3744
https://github.com/llvm/llvm-project/commit/63b14b3f2bf6abd96d9a6cf0cec9e9447b7a3744
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/test/Sema/rvv-required-features-invalid.c
Log Message:
-----------
[RISCV] Add missing required features for Zvfbfmin intrinsics (#145646)
Although `checkRVVTypeSupport` can prevent the use of bf16 vector types
without Zvfbfmin, the required features for Zvfbfmin intrinsics may
still be needed if bf16 vector types can someday be enabled by other
extensions.
Commit: 0529a346007cecab95c6820a60cb3e4e36f34990
https://github.com/llvm/llvm-project/commit/0529a346007cecab95c6820a60cb3e4e36f34990
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/TokenLexer.h
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/unittests/Lex/LexerTest.cpp
Log Message:
-----------
[clang][Preprocessor] Handle the first pp-token in EnterMainSourceFile (#145244)
Depends on [[clang][Preprocessor] Add peekNextPPToken, makes look ahead
next token without
side-effects](https://github.com/llvm/llvm-project/pull/143898).
This PR fix the performance regression that introduced in
https://github.com/llvm/llvm-project/pull/144233.
The original PR(https://github.com/llvm/llvm-project/pull/144233) handle
the first pp-token in the main source file in the macro
definition/expansion and `Lexer::Lex`, but the lexer is almost always on
the hot path, we may hit a performance regression. In this PR, we handle
the first pp-token in `Preprocessor::EnterMainSourceFile`.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 2f9eee849f7d7414c447d26625517edc34437138
https://github.com/llvm/llvm-project/commit/2f9eee849f7d7414c447d26625517edc34437138
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M clang/include/clang/Basic/riscv_andes_vector.td
M clang/lib/Sema/SemaRISCV.cpp
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vfncvtbf16s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vfwcvtsbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vfncvtbf16s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vfwcvtsbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vfncvtbf16s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vfwcvtsbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vfncvtbf16s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vfwcvtsbf16.c
A clang/test/Sema/rvv-andes-required-features-invalid.c
Log Message:
-----------
[RISCV] Implement intrinsics for XAndesVBFHCVT (#145634)
This patch implements clang intrinsic support for XAndesVBFHCVT.
The clang intrinsicis for XAndesVBFHCVT is similar to Zvfbfmin, but it
doesn't have mask variants.
The document for the intrinsics can be found at:
https://github.com/andestech/andes-vector-intrinsic-doc/tree/ast-v5_4_0-release-v5/auto-generated/andes-v5
Co-authored-by: Tony Chuan-Yue Yuan <yuan593 at andestech.com>
Commit: 46c8cc7e517275e17176fcfb32776d84aeee1e38
https://github.com/llvm/llvm-project/commit/46c8cc7e517275e17176fcfb32776d84aeee1e38
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
Log Message:
-----------
[libc] Enable all f16 math functions on the GPU (#145813)
Summary:
This patch adds all the new f16 math functions to the GPU build. These
should all pass except exp2m1f16 on AMDGPU for some reason. I'll
investigate that later.
Commit: 16e712e7c308569a8420d322a77bc696bfd3fcb6
https://github.com/llvm/llvm-project/commit/16e712e7c308569a8420d322a77bc696bfd3fcb6
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/access-non-generic.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/chain-different-as.ll
M llvm/test/CodeGen/NVPTX/demote-vars.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i1-load-lower.ll
M llvm/test/CodeGen/NVPTX/i128-ld-st.ll
M llvm/test/CodeGen/NVPTX/jump-table.ll
M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
M llvm/test/CodeGen/NVPTX/lower-alloca.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/NVPTX/param-align.ll
M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll
M llvm/test/CodeGen/NVPTX/reg-types.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
Log Message:
-----------
[NVPTX] Allow directly storing immediates to improve readability (#145552)
Allow directly storing an immediate instead of requiring that it first
be moved into a register. This makes for more compact and readable PTX.
An approach similar to this (using a ComplexPattern) this could be used
for most PTX instructions to avoid the need for `_[ri]+` variants and
boiler-plate.
Commit: 13e06403b4ed7eb2482893c3663761e7b5abbf63
https://github.com/llvm/llvm-project/commit/13e06403b4ed7eb2482893c3663761e7b5abbf63
Author: Pete Chou <petechou at gmail.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Log Message:
-----------
[GlobalISel] Remove dead code. (NFC) (#145811)
LegalizerHelper::lowerMemCpyFamily only execpts G_MEMCPY, G_MEMMOVE, and
G_MMSET.
Commit: e2cc82b1777c3a5a2b66d9de60bb0eece8d55283
https://github.com/llvm/llvm-project/commit/e2cc82b1777c3a5a2b66d9de60bb0eece8d55283
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
Log Message:
-----------
[NFC] [LowerAllowCheck] use InstIterator (#145817)
Commit: 3f3282cee87f307afe58c899f03df3a882846290
https://github.com/llvm/llvm-project/commit/3f3282cee87f307afe58c899f03df3a882846290
Author: Alan Li <me at alanli.org>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
A mlir/test/Conversion/AMDGPUToROCDL/transpose_load.mlir
A mlir/test/Conversion/AMDGPUToROCDL/transpose_load_reject.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[AMDGPU] Adding AMDGPU dialect wrapper for ROCDL transpose loads. (#145395)
* 1-to-1 mapping wrapper op.
* Direct lowering from AMDGPU wrapper to ROCDL intrinsics.
Commit: 117ed65c072020a0f95afbc47ff2ef5a6a50612a
https://github.com/llvm/llvm-project/commit/117ed65c072020a0f95afbc47ff2ef5a6a50612a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang-format][NFC] Remove a redundant check for null
Missed by #145686
Commit: ae05dbbb04ef46895d3d8473b107d52e9c7822d4
https://github.com/llvm/llvm-project/commit/ae05dbbb04ef46895d3d8473b107d52e9c7822d4
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/undef-handling-crash-in-ra.ll
Log Message:
-----------
[NFC][AMDGPU] Add a test that can cause backend crash (#145777)
The crash was reported downstream, but it has been fixed in upstream by
2bada417c1f06361f4b7a992224bfb8e32d55ca6.
This PR is to add the test case upstream. Note that there are some UBs
in the
IRs, such as load/store from/to a nullptr. The crash would not be
reproducible
if any of them is changed to something else.
Commit: 5b5e95ceb8d68f709a3c6fee5cf8c09d74c32d51
https://github.com/llvm/llvm-project/commit/5b5e95ceb8d68f709a3c6fee5cf8c09d74c32d51
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/xqcisls.ll
Log Message:
-----------
[RISCV] Add more test cases for Xqcisls scaled load store instructions. NFC
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: cca44e030ddd74c365fdd6b82946e61efa41dee2
https://github.com/llvm/llvm-project/commit/cca44e030ddd74c365fdd6b82946e61efa41dee2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Explicitly check for supported opcodes in optimizeCondBranch. NFC (#145622)
We don't support any of the immediate branches in this function yet so
explicitly exclude them rather than relying on isReg to return false.
Remove use of AnalyzeBranch. It doesn't help us much. Part of the code
was already getting the operands directly and it just complicated
creating a new branch.
I also inlined the modifyBranch function so we could use addReg on
BuildMI.
Commit: 3ee8dabcc0162f00e23b21e8f7975030327f9167
https://github.com/llvm/llvm-project/commit/3ee8dabcc0162f00e23b21e8f7975030327f9167
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[CMake] Fix for #144598: Move LLVM_ENABLE_LLVM_EXPORT_ANNOTATIONS backwards
`LLVM_ENABLE_PLUGINS` is not set on the fresh run.
Commit: 8b7fc6487d568ef4f9f7029748e2ec179e0dc1dc
https://github.com/llvm/llvm-project/commit/8b7fc6487d568ef4f9f7029748e2ec179e0dc1dc
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/wasm-32bit-tombstone.s
Log Message:
-----------
[llvm-debuginfo-analyzer] Fix crash with WebAssembly dead code (#141616)
https://github.com/llvm/llvm-project/issues/136772
Incorrect handling of 'tombstone' value for WebAssembly.
llvm-debuginfo-analyzer already uses the tombstone approach
to identify dead code. Currently, the tombstone value is
evaluated as std::numeric_limits<uint64_t>::max(). Which is
wrong as it does not take into account the 'Address Byte Size'
from the Compile Unit header.
Commit: 4cb8308ee9cb88734d82462f82a05b2a47ed6d24
https://github.com/llvm/llvm-project/commit/4cb8308ee9cb88734d82462f82a05b2a47ed6d24
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add-unsupported.ll
Log Message:
-----------
AMDGPU: Avoid report_fatal_error for unsupported ds_ordered_count (#145172)
Commit: 49847148d4b1e4139833766aedb843a40a147039
https://github.com/llvm/llvm-project/commit/49847148d4b1e4139833766aedb843a40a147039
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
A bolt/test/X86/zero-density.s
Log Message:
-----------
[BOLT] Fix density for jump-through functions (#145619)
Address the issue that stems from how the density is computed.
Binary *function* density is the ratio of its total dynamic number of
executed bytes over the static size in bytes. The meaning of it is the
amount of dynamic profile information relative to its static size.
Binary *profile* density is the minimum *function* density among *well-
-profiled* functions, taken as functions covering p99 samples, or, in
other words, excluding functions in the tail 1% of samples. p99 is an
arbitrary cutoff. The meaning of profile density is the *minimum amount
of profile information per function* to be able to optimize the program
well. The threshold for profile density is set empirically.
The dynamically executed bytes are taken directly from LBR fall-throughs
and for LBRs recorded in trampoline functions, such as
```
000000001a941ec0 <Sleef_expf8_u10>:
1a941ec0: jmpq *0x37b911fa(%rip) # <pnt_expf8_u10>
1a941ec6: nopw %cs:(%rax,%rax)
```
the fall-through has zero length:
```
# Branch Target NextBranch Count
T 1b171cf6 1a941ec0 1a941ec0 568562
```
But it's not correct to say this function has zero executed bytes, just
the size of the next branch is not included in the fall-through.
If such functions have non-trivial sample count, they will fall in p99
samples, and cause the profile density to be zero.
To solve this, we can either:
1. Include fall-through end jump size into executed bytes:
is logically sound but technically challenging: the size needs to
come from disassembly (expensive), and the threshold need to be
reevaluated with updated definition of binary function density.
2. Exclude pass-through functions from density computation:
follows the intent of profile density which is to set the amount of
profile information needed to optimize the function well. Single
instruction pass-through functions don't need samples many times
the size to be optimized well.
Go with option 2 as a reasonable compromise.
Test Plan: added bolt/test/X86/zero-density.s
Commit: ce8f1600d042726312b80ff7e80b26cd03e99c8f
https://github.com/llvm/llvm-project/commit/ce8f1600d042726312b80ff7e80b26cd03e99c8f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/CodeGen/RISCV/xqcisls.ll
Log Message:
-----------
[RISCV] Use SelectAddrRegRegScale for Xqcisls instructions. (#145608)
This reuses code from XTHeadMemIdex. This saves ~500 bytes from the isel
table and provides more flexibility in what patterns can be matched.
Commit: a6e524276e2c0596162a9635e0aa87a5ba145409
https://github.com/llvm/llvm-project/commit/a6e524276e2c0596162a9635e0aa87a5ba145409
Author: Chuanqi Xu <chuanqi.xcq at alibaba-inc.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/no-transitive-decl-change-4.cppm
Log Message:
-----------
[Modules] Add merged Files to UsedModuleFiles
This is needed by no casacading chanegs feature. A BMI of a module
interface needs to merge the hash value of all the module files that
the users can touched actually.
Commit: c8243251cb25f3c171df16ff24ecbb39fbf68d4c
https://github.com/llvm/llvm-project/commit/c8243251cb25f3c171df16ff24ecbb39fbf68d4c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-25 (Wed, 25 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
Log Message:
-----------
[RISCV] Remove separate immediate condition codes from RISCVCC. NFC (#145762)
This wasn't scalable and made the RISCVCC enum effectively just
a different way of spelling the branch opcodes.
This patch reduces RISCVCC back down to 6 enum values. The primary user
is select pseudoinstructions which now share the same encoding across
all
vendor extensions. The select opcode and condition code are used to
determine the branch opcode when expanding the pseudo.
The Cond SmallVector returned by analyzeBranch now returns the opcode
instead of the RISCVCC. reverseBranchCondition now works directly on
opcodes. getOppositeBranchCondition is also retained.
Stacked on #145622
Commit: fff720d6419b92be068ac4f3ac7e8333a781ee20
https://github.com/llvm/llvm-project/commit/fff720d6419b92be068ac4f3ac7e8333a781ee20
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M clang/lib/Lex/PPMacroExpansion.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/MC/MCDisassembler/Disassembler.h
M llvm/lib/MC/MCSectionELF.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/lib/Object/ArchiveWriter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/TargetParser/CSKYTargetParser.cpp
M llvm/lib/TargetParser/LoongArchTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/TargetParser/Unix/Host.inc
Log Message:
-----------
Triple: Forward declare Twine and remove include (#145685)
Commit: 9ccf613b34263ad0fd3fb3155aeb2ac9df3df952
https://github.com/llvm/llvm-project/commit/9ccf613b34263ad0fd3fb3155aeb2ac9df3df952
Author: Matthias Springer <me at m-sp.org>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Store per-pattern IR modifications in separate state (#145319)
This commit adds extra state to `ConversionPatternRewriterImpl` to store
all modified / newly-created operations and moved / newly-created blocks
in separate lists on a per-pattern basis.
This is in preparation of the One-Shot Dialect Conversion refactoring:
the new driver will no longer maintain a list of all IR rewrites, so
information about newly-created operations (which is needed to trigger
recursive legalization) must be retained in a different data structure.
This commit is also expected to improve the performance of the existing
driver. The previous implementation iterated over all new IR
modifications and then filtered them by type. It also required an
additional pointer indirection (through `std::unique_ptr<IRRewrite>`) to
retrieve the operation/block pointer.
Commit: 5fb0ae1a5b5849cddeaf2f3e3fe64f45282d74d4
https://github.com/llvm/llvm-project/commit/5fb0ae1a5b5849cddeaf2f3e3fe64f45282d74d4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/docs/AliasAnalysis.rst
M llvm/include/llvm/Pass.h
M llvm/include/llvm/PassAnalysisSupport.h
M llvm/lib/IR/Pass.cpp
Log Message:
-----------
[LegacyPM] Remove unused getAdjustedAnalysisPointer() method (NFC) (#145738)
This never actually gets overridden and always returns this, so drop it.
Noticed this looking into why the pass vtables are so huge.
Commit: d46a69cab4e371a6dad38db637dde0c1d245f0ea
https://github.com/llvm/llvm-project/commit/d46a69cab4e371a6dad38db637dde0c1d245f0ea
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
Log Message:
-----------
[PredicateInfo] Use BumpPtrAllocator for predicates (NFC) (#145692)
Currently predicates are allocated on the heap and tracked with an
intrusive list. Use a bump pointer allocator instead, which is more
efficient. The list is no longer needed, as we don't have to track
predicates for freeing.
The bump pointer allocator is provided as a parameter for PredicateInfo
to allow reusing the same allocator for all functions during IPSCCP.
Commit: 96ed2abadf90b22a0fa3ccabf7888445218b575e
https://github.com/llvm/llvm-project/commit/96ed2abadf90b22a0fa3ccabf7888445218b575e
Author: David Blaikie <dblaikie at gmail.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
A llvm/test/DebugInfo/X86/dynamic-bitfield.ll
R llvm/test/DebugInfo/dynamic-bitfield.ll
Log Message:
-----------
[DebugInfo] Specify x86_64 triple for test (#145797)
Most DWARF tests aren't totally architecture portable anyway - so let's
just put this in x86.
Commit: 418c5de19bbda6cc4dfdd8625465e2385561d75f
https://github.com/llvm/llvm-project/commit/418c5de19bbda6cc4dfdd8625465e2385561d75f
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
R llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
R llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
M llvm/utils/gn/secondary/llvm/lib/Target/PowerPC/MCTargetDesc/BUILD.gn
Log Message:
-----------
PowerPC: Move PPCMCExpr into PPCMCAsmInfo
to align with targets that have made the transition.
Commit: c91cbafad2119cace85499e8d231b8e5737f3b41
https://github.com/llvm/llvm-project/commit/c91cbafad2119cace85499e8d231b8e5737f3b41
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/unittests/Analysis/AliasAnalysisTest.cpp
M llvm/unittests/Analysis/BasicAliasAnalysisTest.cpp
M llvm/unittests/Analysis/DDGTest.cpp
M llvm/unittests/Analysis/IVDescriptorsTest.cpp
M llvm/unittests/Analysis/LoadsTest.cpp
M llvm/unittests/Analysis/LoopInfoTest.cpp
M llvm/unittests/Analysis/LoopNestTest.cpp
M llvm/unittests/Analysis/MemorySSATest.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
M llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
M llvm/unittests/SandboxIR/UtilsTest.cpp
M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
M llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
M llvm/unittests/Transforms/Utils/LoopRotationUtilsTest.cpp
M llvm/unittests/Transforms/Utils/LoopUtilsTest.cpp
M llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
M llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SeedCollectorTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
TargetLibraryInfo: Delete default TargetLibraryInfoImpl constructor (#145826)
It should not be possible to construct one without a triple. It would
also be nice to delete TargetLibraryInfoWrapperPass, but that is more
difficult.
Commit: 402480325b4eb405a4df7dcb088be3d2d0d56791
https://github.com/llvm/llvm-project/commit/402480325b4eb405a4df7dcb088be3d2d0d56791
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/wait-xcnt.mir
Log Message:
-----------
[AMDGPU] More tests for S_WAIT_XCNT insertion (#145681)
Commit: 7e67307fea97a7d25c094a37d4496f2e1d7c5299
https://github.com/llvm/llvm-project/commit/7e67307fea97a7d25c094a37d4496f2e1d7c5299
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
Log Message:
-----------
AArch64: Remove deprecated AArch64MCExpr::Specifier
Remove unneeded uses and replace the rest with AArch64::Specifier.
Commit: 8b55129d46c964c57dfa81ed948069fa30741273
https://github.com/llvm/llvm-project/commit/8b55129d46c964c57dfa81ed948069fa30741273
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/wasm-32bit-tombstone.s
Log Message:
-----------
[llvm-debuginfo-analyzer] Fix incorrect REQUIRES in WebAssembly test case (#145848)
Fixes an incorrect 'REQUIRES' in test case.
The correct value should be:
REQUIRES: webassembly-registered-target
Commit: 28aa871dd43428798daf567a668491fbb2714565
https://github.com/llvm/llvm-project/commit/28aa871dd43428798daf567a668491fbb2714565
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
R llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
Log Message:
-----------
AArch64: Remove AArch64MCExpr.h
Commit: 215e61c08847cd74affe8f90996733f7218c29ad
https://github.com/llvm/llvm-project/commit/215e61c08847cd74affe8f90996733f7218c29ad
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AArch64/cpa-selectiondag.ll
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
A llvm/test/CodeGen/AMDGPU/ptradd-sdag-undef-poison.ll
Log Message:
-----------
[AMDGPU][SDAG] Add ISD::PTRADD DAG combines (#142739)
This patch focuses on generic DAG combines, plus an AMDGPU-target-specific one
that is closely connected.
The generic DAG combine is based on a part of PR #105669 by rgwott, which was
adapted from work by jrtc27, arichardson, davidchisnall in the CHERI/Morello
LLVM tree. I added some parts and removed several disjuncts from the
reassociation condition:
- `isNullConstant(X)`, since there are address spaces where 0 is a perfectly
normal value that shouldn't be treated specially,
- `(YIsConstant && ZOneUse)` and `(N0OneUse && ZOneUse && !ZIsConstant)`, since
they cause regressions in AMDGPU.
For SWDEV-516125.
Commit: 616816468bd27e4d018d834567046cf80907b021
https://github.com/llvm/llvm-project/commit/616816468bd27e4d018d834567046cf80907b021
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
Log Message:
-----------
[AMDGPU][SDAG] Add test for ISD::PTRADD handling in SelectionDAGAddressAnalysis (#142777)
Pre-committing test to show improvements in a follow-up PR.
Commit: c225d6dee01175855de12d358e74734e0c328d7b
https://github.com/llvm/llvm-project/commit/c225d6dee01175855de12d358e74734e0c328d7b
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
Log Message:
-----------
[AMDGPU][SDAG] Handle ISD::PTRADD in SelectionDAGAddressAnalysis (#142778)
This is used in a bunch of memory-related transforms.
For SWDEV-516125.
Commit: 78b7f6a03d0f32f37e619dce8557cd1df1898944
https://github.com/llvm/llvm-project/commit/78b7f6a03d0f32f37e619dce8557cd1df1898944
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
A clang/test/Sema/deep_recursion.c
Log Message:
-----------
[Sema] Avoid deep recursion in AnalyzeImplicitConversions (#145734)
The function already exposes a work list to avoid deep recursion, this
commit starts utilizing it in a helper that could also lead to a deep
recursion.
We have observed this crash on `clang/test/C/C99/n590.c` with our
internal builds that enable aggressive optimizations and hit the limit
earlier than default release builds of Clang.
See the added test for an example with a deeper recursion that used to
crash in upstream Clang before this change with the following stack
trace:
```
#0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/local/google/home/ibiryukov/code/llvm-project/llvm/lib/Support/Unix/Signals.inc:804:13
#1 llvm::sys::RunSignalHandlers() /usr/local/google/home/ibiryukov/code/llvm-project/llvm/lib/Support/Signals.cpp:106:18
#2 SignalHandler(int, siginfo_t*, void*) /usr/local/google/home/ibiryukov/code/llvm-project/llvm/lib/Support/Unix/Signals.inc:0:3
#3 (/lib/x86_64-linux-gnu/libc.so.6+0x3fdf0)
#4 AnalyzeImplicitConversions(clang::Sema&, clang::Expr*, clang::SourceLocation, bool) /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:12772:0
#5 CheckCommaOperand /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:0:3
#6 AnalyzeImplicitConversions /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:12644:7
#7 AnalyzeImplicitConversions(clang::Sema&, clang::Expr*, clang::SourceLocation, bool) /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:12776:5
#8 CheckCommaOperand /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:0:3
#9 AnalyzeImplicitConversions /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:12644:7
#10 AnalyzeImplicitConversions(clang::Sema&, clang::Expr*, clang::SourceLocation, bool) /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:12776:5
#11 CheckCommaOperand /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:0:3
#12 AnalyzeImplicitConversions /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:12644:7
#13 AnalyzeImplicitConversions(clang::Sema&, clang::Expr*, clang::SourceLocation, bool) /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:12776:5
#14 CheckCommaOperand /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:0:3
#15 AnalyzeImplicitConversions /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:12644:7
#16 AnalyzeImplicitConversions(clang::Sema&, clang::Expr*, clang::SourceLocation, bool) /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:12776:5
#17 CheckCommaOperand /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:0:3
#18 AnalyzeImplicitConversions /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:12644:7
#19 AnalyzeImplicitConversions(clang::Sema&, clang::Expr*, clang::SourceLocation, bool) /usr/local/google/home/ibiryukov/code/llvm-project/clang/lib/Sema/SemaChecking.cpp:12776:5
... 700+ more stack frames.
```
Commit: f070c74e354356d5af271505b9304c3a8d4d0a26
https://github.com/llvm/llvm-project/commit/f070c74e354356d5af271505b9304c3a8d4d0a26
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
Log Message:
-----------
[AMDGPU][SDAG] Tests for target-specific ISD::PTRADD combines (#143672)
Pre-committing tests to show improvements in a follow-up PR.
Commit: 0e268791c5618b1cfedc73e51cf362d62400241c
https://github.com/llvm/llvm-project/commit/0e268791c5618b1cfedc73e51cf362d62400241c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
Log Message:
-----------
[SpeculativeJIT] Add missing include
Fix examples after 0faa181434cf959110651fe974bef31e7390eba8.
Commit: 7289b6789ef3297f8de30a9d94c7dabc6c35931e
https://github.com/llvm/llvm-project/commit/7289b6789ef3297f8de30a9d94c7dabc6c35931e
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M libc/src/__support/macros/optimization.h
M libc/src/string/memory_utils/CMakeLists.txt
A libc/src/string/memory_utils/arm/inline_memcpy.h
M libc/src/string/memory_utils/inline_memcpy.h
M libc/src/string/memory_utils/utils.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Improve memcpy for ARM Cortex-M supporting unaligned accesses. (#144872)
This implementation has been compiled with the [pigweed toolchain](https://pigweed.dev/toolchain.html) and tested on:
- Raspberry Pi Pico 2 with the following options\
`--target=armv8m.main-none-eabi`
`-march=armv8m.main+fp+dsp`
`-mcpu=cortex-m33`
- Raspberry Pi Pico with the following options\
`--target=armv6m-none-eabi`
`-march=armv6m`
`-mcpu=cortex-m0+`
They both compile down to a little bit more than 200 bytes and are between 2 and 10 times faster than byte per byte copies.
For best performance the following options can be set in the `libc/config/baremetal/arm/config.json`
```
{
"codegen": {
"LIBC_CONF_KEEP_FRAME_POINTER": {
"value": false
}
},
"general": {
"LIBC_ADD_NULL_CHECKS": {
"value": false
}
}
}
```
Commit: a8998fa06261890cec330a3c0bf9b2652c692aa1
https://github.com/llvm/llvm-project/commit/a8998fa06261890cec330a3c0bf9b2652c692aa1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector][nfc] Move vector.splat test (#145699)
Moves a test for vector.splat so that all invalid tests are grouped
together and easy to find.
Commit: d681c73a04bc2213d408ee5e2498af2c796859e3
https://github.com/llvm/llvm-project/commit/d681c73a04bc2213d408ee5e2498af2c796859e3
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M bolt/utils/nfc-check-setup.py
Log Message:
-----------
[BOLT] Create marker for source changes in nfc-mode testing. (#142931)
Currently NFC tests only trigger when the llvm-bolt binary itself
changes.
This patch adds `--check-bolt-sources`, which scans git output for any
modifications under bolt/, excluding:
- bolt/docs
- bolt/utils/docker
- bolt/utils/dot2html
If any matching files change between versions, a `.llvm-bolt.changes`
marker is created. Buildbots can then use this marker to trigger in-tree
tests.
Commit: 249f074b2253caccccd86f11f53c43fd8349f21a
https://github.com/llvm/llvm-project/commit/249f074b2253caccccd86f11f53c43fd8349f21a
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
Log Message:
-----------
[BOLT][AArch64] Make gs-pacret-autiasp.s deterministic (#145527)
In gs-pacret-autiasp.s, the undefined call `bl g` causes inconsistent
basic block splitting: in some platforms BOLT emits two blocks, on some
others one.
Defining a dummy `g` symbol forces a single basic block everywhere.
Commit: 1b914e15cf217797949b01c9b91df1fdfaa6db19
https://github.com/llvm/llvm-project/commit/1b914e15cf217797949b01c9b91df1fdfaa6db19
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M lldb/test/API/commands/command/script_alias/TestCommandScriptAlias.py
Log Message:
-----------
[lldb][test] Remove debug code from TestCommandScriptAlias.py
Also fixes our Windows on Arm bot.
Commit: 9903c1936a5d174cfc7d38f77f40ed460e344db6
https://github.com/llvm/llvm-project/commit/9903c1936a5d174cfc7d38f77f40ed460e344db6
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
A clang/test/Sema/attr-nonstring_safe.c
Log Message:
-----------
[-Wunterminated-string-initialization] Handle C string literals ending with explicit '\0' (#143487)
In C, a char array needs no "nonstring" attribute, if its initializer is
a string literal that 1) explicitly ends with '\0' and 2) fits in the
array after a possible truncation.
For example
`char a[4] = "ABC\0"; // fine, needs no "nonstring" attr`
rdar://152506883
Commit: d2ca10ab75bd431fafe2a1072b983901178c7224
https://github.com/llvm/llvm-project/commit/d2ca10ab75bd431fafe2a1072b983901178c7224
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
A llvm/test/CodeGen/AArch64/sve-indexed-arithmetic.ll
Log Message:
-----------
[AArch64] Match indexed forms of fmul/fmla/fmls (#144892)
Matches dupq segmented lane splats in one of the operands of the
fmul/fmla/fmls instructions, and uses the indexed form.
Commit: e9e25f02e6e10c75224aad646bdd1705f1d9d8b1
https://github.com/llvm/llvm-project/commit/e9e25f02e6e10c75224aad646bdd1705f1d9d8b1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][vector] Restrict vector.insert/vector.extract to disallow 0-d vectors (#121458)
This patch enforces a restriction in the Vector dialect: the non-indexed
operands of `vector.insert` and `vector.extract` must no longer be 0-D
vectors. In other words, rank-0 vector types like `vector<f32>` are
disallowed as the source or result.
EXAMPLES
--------
The following are now **illegal** (note the use of `vector<f32>`):
```mlir
%0 = vector.insert %v, %dst[0, 0] : vector<f32> into vector<2x2xf32>
%1 = vector.extract %src[0, 0] : vector<f32> from vector<2x2xf32>
```
Instead, use scalars as the source and result types:
```mlir
%0 = vector.insert %v, %dst[0, 0] : f32 into vector<2x2xf32>
%1 = vector.extract %src[0, 0] : f32 from vector<2x2xf32>
```
Note, this change serves three goals. These are summarised below.
## 1. REDUCED AMBIGUITY
By enforcing scalar-only semantics when the result (`vector.extract`)
or source (`vector.insert`) are rank-0, we eliminate ambiguity
in interpretation. Prior to this patch, both `f32` and `vector<f32>`
were accepted.
## 2. MATCH IMPLEMENTATION TO DOCUMENTATION
The current behaviour contradicts the documented intent. For example,
`vector.extract` states:
> Degenerates to an element type if n-k is zero.
This patch enforces that intent in code.
## 3. ENSURE SYMMETRY BETWEEN INSERT AND EXTRACT
With the stricter semantics in place, it’s natural and consistent to
make `vector.insert` behave symmetrically to `vector.extract`, i.e.,
degenerate the source type to a scalar when n = 0.
NOTES FOR REVIEWERS
-------------------
1. Main change is in "VectorOps.cpp", where stricter type checks are
implemented.
2. Test updates in "invalid.mlir" and "ops.mlir" are minor cleanups to
remove now-illegal examples.
2. Lowering changes in "VectorToSCF.cpp" are the main trade-off: we now
require an additional `vector.extract` when a preceding
`vector.transfer_read` generates a rank-0 vector.
RELATED RFC
-----------
*
https://discourse.llvm.org/t/rfc-should-we-restrict-the-usage-of-0-d-vectors-in-the-vector-dialect
Commit: a16126844750a04faec6ee49f90227a8013ca2a7
https://github.com/llvm/llvm-project/commit/a16126844750a04faec6ee49f90227a8013ca2a7
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/freeze.ll
Log Message:
-----------
[InstCombine] Add test for freeze of GEP with recurrence offset (NFC) (#145541)
The freeze should be pushed through the GEP to the ptr like in:
https://godbolt.org/z/jrcozT8rz
Commit: 741e1ca3b33146538a3a33c26d3e992ac65dac08
https://github.com/llvm/llvm-project/commit/741e1ca3b33146538a3a33c26d3e992ac65dac08
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/noclobber-barrier.ll
Log Message:
-----------
[AMDGPU] upgrade test to use auto-generated llc checks (#145832)
This makes it easier to fix the failure in #145720
Commit: d144eb1d8cd3abdaec23c902aa3e5a129c9827ef
https://github.com/llvm/llvm-project/commit/d144eb1d8cd3abdaec23c902aa3e5a129c9827ef
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Initialization.h
M clang/lib/Sema/SemaCast.cpp
M clang/test/AST/ast-dump-expr.cpp
Log Message:
-----------
[Clang] Back out the source location workaround for CXXConstructExpr (#145260)
This removes the workaround introduced in 3e1a9cf3b8 and 1ba7dc38d.
The workaround overwrote the right parenthesis location of the sub
expression, which could be wrong when a CXXTemporaryObjectExpr occurs
within a nested expression, e.g. `A(A(1, 2))`.
To completely take it down, we now propagate the left parenthesis source
location throughout SemaCast, such that the ParenOrBraceRange can be
properly set at the point of its creation.
Fixes https://github.com/llvm/llvm-project/issues/143711
Commit: a666b2d9f7164a00b6374fc84c2d98e1b3ee0503
https://github.com/llvm/llvm-project/commit/a666b2d9f7164a00b6374fc84c2d98e1b3ee0503
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-06-26 (Thu, 26 Jun 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/X86/zero-density.s
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
M bolt/test/binary-analysis/AArch64/gs-pauth-authentication-oracles.s
M bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M bolt/test/binary-analysis/AArch64/gs-pauth-signing-oracles.s
M bolt/test/perf2bolt/X86/perf2bolt-spe.test
M bolt/utils/nfc-check-setup.py
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Mapper.h
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
M clang-tools-extra/test/clang-doc/json/namespace.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang/bindings/python/tests/cindex/test_file.py
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/Sanitizers.h
M clang/include/clang/Basic/riscv_andes_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Lex/Lexer.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Lex/TokenLexer.h
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/SemaARM.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/intrin.h
M clang/lib/Headers/prfchwintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Lex/TokenLexer.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/AST/HLSL/RootSignatures-AST.hlsl
M clang/test/AST/ast-dump-expr.cpp
M clang/test/Analysis/PR38208.c
A clang/test/Analysis/getline-unixapi-invalid-signatures.c
A clang/test/Analysis/lambda-convert-to-func-ptr.cpp
M clang/test/CIR/CodeGen/align-load.c
M clang/test/CIR/CodeGen/align-store.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/binop.cpp
A clang/test/CIR/CodeGen/bitfield-union.c
M clang/test/CIR/CodeGen/builtin_call.cpp
M clang/test/CIR/CodeGen/builtin_printf.cpp
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/cast.cpp
M clang/test/CIR/CodeGen/class.cpp
M clang/test/CIR/CodeGen/cmp.cpp
M clang/test/CIR/CodeGen/comma.c
A clang/test/CIR/CodeGen/complex-builtins.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/compound_assign.cpp
M clang/test/CIR/CodeGen/ctor.cpp
M clang/test/CIR/CodeGen/deferred-defs.cpp
M clang/test/CIR/CodeGen/dso-local.c
M clang/test/CIR/CodeGen/forrange.cpp
M clang/test/CIR/CodeGen/if.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/int-to-bool.cpp
M clang/test/CIR/CodeGen/linkage-spec.cpp
M clang/test/CIR/CodeGen/local-vars.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/namespace.cpp
M clang/test/CIR/CodeGen/nullptr-init.cpp
M clang/test/CIR/CodeGen/static-vars.c
M clang/test/CIR/CodeGen/static-vars.cpp
M clang/test/CIR/CodeGen/string-literals.c
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/switch.cpp
M clang/test/CIR/CodeGen/switch_flat_op.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/typedef.c
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGenOpenACC/combined-copy.c
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/compute-copy.c
M clang/test/CIR/CodeGenOpenACC/data.c
M clang/test/CIR/CodeGenOpenACC/host_data.c
M clang/test/CIR/CodeGenOpenACC/init.c
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
M clang/test/CIR/CodeGenOpenACC/set.c
M clang/test/CIR/CodeGenOpenACC/shutdown.c
M clang/test/CIR/CodeGenOpenACC/wait.c
M clang/test/CIR/IR/array.cir
M clang/test/CIR/IR/binassign.cir
M clang/test/CIR/IR/call.cir
M clang/test/CIR/IR/cast.cir
M clang/test/CIR/IR/cmp.cir
M clang/test/CIR/IR/func.cir
M clang/test/CIR/IR/invalid-call.cir
M clang/test/CIR/IR/invalid-complex.cir
R clang/test/CIR/IR/invalid-vector-create-wrong-size.cir
R clang/test/CIR/IR/invalid-vector-create-wrong-type.cir
R clang/test/CIR/IR/invalid-vector-shift-wrong-result-type.cir
R clang/test/CIR/IR/invalid-vector-shuffle-dyn-wrong-operands.cir
R clang/test/CIR/IR/invalid-vector-shuffle-wrong-index.cir
R clang/test/CIR/IR/invalid-vector-zero-size.cir
M clang/test/CIR/IR/invalid-vector.cir
M clang/test/CIR/IR/ternary.cir
M clang/test/CIR/IR/unary.cir
M clang/test/CIR/IR/vector.cir
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CIR/Transforms/complex-create-fold.cir
A clang/test/CIR/Transforms/complex-imag-fold.cir
A clang/test/CIR/Transforms/complex-real-fold.cir
M clang/test/CIR/Transforms/hoist-allocas.cir
M clang/test/CIR/Transforms/if.cir
M clang/test/CIR/Transforms/loop.cir
M clang/test/CIR/Transforms/scope.cir
M clang/test/CIR/Transforms/select.cir
M clang/test/CIR/Transforms/switch.cir
M clang/test/CIR/Transforms/ternary-fold.cir
M clang/test/CIR/Transforms/ternary.cir
M clang/test/CIR/Transforms/vector-cmp-fold.cir
M clang/test/CIR/Transforms/vector-create-fold.cir
M clang/test/CIR/Transforms/vector-shuffle-dynamic-fold.cir
M clang/test/CIR/Transforms/vector-shuffle-fold.cir
M clang/test/CIR/Transforms/vector-splat.cir
M clang/test/CIR/Transforms/vector-ternary-fold.cir
A clang/test/CIR/func-linkage.cpp
M clang/test/CIR/func-simple.cpp
M clang/test/CIR/global-var-linkage.cpp
M clang/test/CIR/mlprint.c
A clang/test/ClangScanDeps/modules-full-named-modules.cppm
A clang/test/CodeGen/PowerPC/builtins-bcd-transform.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vfncvtbf16s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vfwcvtsbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vfncvtbf16s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vfwcvtsbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vfncvtbf16s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vfwcvtsbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vfncvtbf16s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vfwcvtsbf16.c
A clang/test/CodeGen/X86/ms-secure-hotpatch-bad-file.c
A clang/test/CodeGen/X86/ms-secure-hotpatch-cpp.cpp
A clang/test/CodeGen/X86/ms-secure-hotpatch-eh.cpp
A clang/test/CodeGen/X86/ms-secure-hotpatch-globals.c
A clang/test/CodeGen/X86/ms-secure-hotpatch-lto.c
A clang/test/CodeGen/X86/ms-secure-hotpatch.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/builtins-overflow.c
M clang/test/CodeGen/logb_scalbn.c
M clang/test/CodeGen/pragma-comment.c
M clang/test/CodeGenCUDA/bf16.cu
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
A clang/test/DebugInfo/KeyInstructions/atomic.c
A clang/test/Driver/HLSL/dxc_fvk_layout.hlsl
M clang/test/Driver/cl-include.c
M clang/test/Driver/dxc_fspv_extension.hlsl
A clang/test/Driver/dxc_hlsl-rootsig-ver.hlsl
M clang/test/Driver/fsanitize.c
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Index/inline-assembly.c
A clang/test/Modules/no-transitive-decl-change-4.cppm
A clang/test/Modules/pr118137.cppm
A clang/test/Modules/template-declare.cppm
M clang/test/OpenMP/declare_mapper_messages.c
M clang/test/OpenMP/declare_target_messages.cpp
M clang/test/OpenMP/declare_variant_clauses_messages.cpp
M clang/test/OpenMP/parallel_ast_print.cpp
M clang/test/OpenMP/parallel_num_threads_messages.cpp
M clang/test/OpenMP/target_data_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
A clang/test/Preprocessor/macro_paste_identifier_ucn.c
A clang/test/Sema/attr-nonstring_safe.c
A clang/test/Sema/builtins-bcd-transform.c
A clang/test/Sema/deep_recursion.c
A clang/test/Sema/rvv-andes-required-features-invalid.c
M clang/test/Sema/rvv-required-features-invalid.c
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
M clang/test/SemaHLSL/RootSignature-resource-ranges-err.hlsl
M clang/test/SemaHLSL/RootSignature-resource-ranges.hlsl
M clang/tools/c-index-test/c-index-test.c
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/libclang.map
A clang/unittests/AllClangUnitTests.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Serialization/SourceLocationEncodingTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/lib/asan/CMakeLists.txt
A compiler-rt/lib/asan/asan.link_with_main_exec.txt
A compiler-rt/lib/asan/asan_cxx.link_with_main_exec.txt
M compiler-rt/lib/asan/asan_descriptions.cpp
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/msan/msan_interface_internal.h
A compiler-rt/test/msan/msan_print_shadow_on_outlined_check.cpp
A compiler-rt/test/tsan/java_heap_init2.cpp
A compiler-rt/test/tsan/munmap_clear_shadow.c
M flang/docs/ReleaseNotes.md
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Support/OpenMP-features.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Semantics/check-directive-structure.h
A flang/module/cooperative_groups.f90
M flang/test/Driver/bbc-openmp-version-macro.f90
M flang/test/Driver/flang-openmp-version-macro.f90
A flang/test/Driver/fopenmp-version.F90
M flang/test/Fir/convert-to-llvm.fir
M flang/test/HLFIR/declare-codegen.fir
A flang/test/Lower/CUDA/cuda-cooperative.cuf
A flang/test/Lower/OpenMP/target-data-if-false.f90
A flang/test/Lower/OpenMP/target-data-skip-mapper-calls.f90
M flang/test/Semantics/OpenMP/do05-positivecase.f90
M flang/tools/f18/CMakeLists.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/__support/macros/optimization.h
M libc/src/__support/wchar/CMakeLists.txt
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
M libc/src/__support/wchar/mbrtowc.cpp
M libc/src/__support/wchar/wcrtomb.cpp
M libc/src/string/memory_utils/CMakeLists.txt
A libc/src/string/memory_utils/arm/inline_memcpy.h
M libc/src/string/memory_utils/inline_memcpy.h
M libc/src/string/memory_utils/utils.h
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/mbrtowc.cpp
M libc/src/wchar/wcrtomb.cpp
A libc/src/wchar/wctomb.cpp
A libc/src/wchar/wctomb.h
M libc/test/src/__support/wchar/utf32_to_8_test.cpp
M libc/test/src/wchar/CMakeLists.txt
M libc/test/src/wchar/mbrtowc_test.cpp
M libc/test/src/wchar/wcrtomb_test.cpp
A libc/test/src/wchar/wctomb_test.cpp
M libclc/clc/include/clc/clcmacro.h
R libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
R libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
M libclc/clc/include/clc/math/clc_pown.h
M libclc/clc/include/clc/math/clc_rootn.h
A libclc/clc/include/clc/shared/binary_decl_with_int_second_arg.inc
A libclc/clc/include/clc/shared/binary_def_with_int_second_arg.inc
M libclc/clc/lib/generic/math/clc_copysign.cl
M libclc/clc/lib/generic/math/clc_pow.inc
M libclc/clc/lib/generic/math/clc_pown.inc
M libclc/clc/lib/generic/math/clc_powr.inc
M libclc/clc/lib/generic/math/clc_rootn.inc
M libclc/opencl/include/clc/opencl/math/ldexp.h
M libclc/opencl/include/clc/opencl/math/ldexp.inc
M libclc/opencl/include/clc/opencl/math/pown.h
M libclc/opencl/include/clc/opencl/math/rootn.h
M libclc/opencl/lib/clspv/math/fma.cl
M libclc/opencl/lib/generic/common/degrees.cl
M libclc/opencl/lib/generic/common/radians.cl
M libclc/opencl/lib/generic/math/fma.cl
M libclc/opencl/lib/generic/math/ldexp.cl
M libclc/opencl/lib/generic/math/mad.cl
M libclc/opencl/lib/generic/math/nextafter.cl
M libclc/opencl/lib/generic/math/pown.cl
M libclc/opencl/lib/generic/math/rootn.cl
M libclc/opencl/lib/spirv/math/fma.cl
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/bitset
M libcxx/include/complex
M libcxx/include/fstream
M libcxx/include/variant
M libcxx/test/std/numerics/complex.number/complex.tuple/tuple_element.compile.pass.cpp
M libcxx/test/std/numerics/complex.number/complex.tuple/tuple_size.compile.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/to_ullong.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/to_ulong.pass.cpp
M libcxx/test/std/utilities/variant/variant.relops/relops.pass.cpp
M libcxx/test/std/utilities/variant/variant.relops/relops_bool_conv.verify.cpp
M libcxx/test/support/test_comparisons.h
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/DemangleTestCases.inc
M lld/COFF/Driver.cpp
M lld/ELF/Arch/AArch64.cpp
A lld/ELF/Arch/TargetImpl.h
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Options.td
M lld/ELF/Relocations.cpp
M lld/ELF/Target.h
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
M lld/include/lld/Common/BPSectionOrdererBase.inc
M lld/test/COFF/winsysroot.test
A lld/test/ELF/aarch64-branch-to-branch.s
A lld/test/ELF/x86-64-branch-to-branch.s
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/ProtocolServer.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Target/MemoryTagManager.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Commands/CommandObjectProtocolServer.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/ProtocolServer.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
M lldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.cpp
M lldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Protocol/MCP/Protocol.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Tool.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Target/Statistics.cpp
M lldb/source/Utility/XcodeSDK.cpp
M lldb/test/API/commands/statistics/basic/TestStats.py
A lldb/test/API/commands/statistics/basic/baz.cpp
A lldb/test/API/commands/statistics/basic/third.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
A lldb/test/API/lang/objc/class-without-methods/Makefile
A lldb/test/API/lang/objc/class-without-methods/Point.h
A lldb/test/API/lang/objc/class-without-methods/Point.m
A lldb/test/API/lang/objc/class-without-methods/TestObjCClassWithoutMethods.py
A lldb/test/API/lang/objc/class-without-methods/main.m
M lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py
A lldb/test/API/linux/aarch64/mte_core_file/core.mte.notags
M lldb/test/API/linux/aarch64/mte_core_file/main.c
M lldb/test/API/macosx/simulator/Makefile
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
R lldb/test/API/macosx/simulator/hello.c
A lldb/test/API/macosx/simulator/hello.cpp
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/main.c
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
M lldb/tools/lldb-server/lldb-gdbserver.cpp
M lldb/unittests/Host/CMakeLists.txt
M lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/Protocol/ProtocolMCPTest.cpp
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
M llvm/CMakeLists.txt
M llvm/docs/AliasAnalysis.rst
M llvm/docs/CMake.rst
M llvm/docs/CodingStandards.rst
M llvm/docs/CommandGuide/llvm-objdump.rst
M llvm/docs/HowToReleaseLLVM.rst
M llvm/docs/InterfaceExportAnnotations.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SourceLevelDebugging.rst
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/include/KaleidoscopeJIT.h
M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm-c/lto.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/PseudoSourceValue.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFCFIPrinter.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFCFIProgram.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSourceLanguage.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/ExecutionEngine/Orc/COFF.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericMemoryAccess.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
A llvm/include/llvm/ExecutionEngine/Orc/InProcessMemoryAccess.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
A llvm/include/llvm/ExecutionEngine/Orc/MemoryAccess.h
A llvm/include/llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
M llvm/include/llvm/Frontend/Directive/Spelling.h
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/include/llvm/IR/ProfDataUtils.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LTO/legacy/LTOModule.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/MC/MCSchedule.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Pass.h
M llvm/include/llvm/PassAnalysisSupport.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/SampleProfWriter.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/ConvertUTF.h
M llvm/include/llvm/Support/Error.h
M llvm/include/llvm/Support/FileSystem.h
M llvm/include/llvm/Support/JSON.h
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/include/llvm/Support/MathExtras.h
M llvm/include/llvm/Support/Path.h
M llvm/include/llvm/Support/PrettyStackTrace.h
M llvm/include/llvm/Support/ProgramStack.h
M llvm/include/llvm/Support/TextEncoding.h
M llvm/include/llvm/Support/Timer.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Telemetry/Telemetry.h
M llvm/include/llvm/Testing/Demangle/DemangleTestCases.inc
M llvm/include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h
M llvm/include/llvm/ToolDrivers/llvm-lib/LibDriver.h
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
M llvm/include/llvm/WindowsDriver/MSVCPaths.h
M llvm/include/llvm/WindowsManifest/WindowsManifestMerger.h
M llvm/include/llvm/XRay/InstrumentationMap.h
M llvm/include/llvm/XRay/Trace.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/IfConversion.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/MachineDomTreeUpdater.cpp
M llvm/lib/CodeGen/MachineDominators.cpp
M llvm/lib/CodeGen/MachineLoopInfo.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/CodeGen/MachinePostDominators.cpp
M llvm/lib/CodeGen/RegAllocScore.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
A llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
M llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
M llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
A llvm/lib/ExecutionEngine/Orc/InProcessMemoryAccess.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
A llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/FuzzMutate/IRMutator.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/MDBuilder.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/Pass.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/MC/MCDisassembler/Disassembler.h
M llvm/lib/MC/MCSchedule.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/lib/Object/ArchiveWriter.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/Option/Arg.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/Support/Unix/Threading.inc
M llvm/lib/Support/Windows/Process.inc
M llvm/lib/TableGen/StringMatcher.cpp
M llvm/lib/TableGen/StringToOffsetTable.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
R llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSDIRInstructions.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchFloat64InstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
R llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
R llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCInstrAltivec.td
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/WebAssembly/WebAssembly.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86PfmCounters.td
A llvm/lib/Target/X86/X86SchedLunarlakeP.td
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/TargetParser/CSKYTargetParser.cpp
M llvm/lib/TargetParser/LoongArchTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/TargetParser/Unix/Host.inc
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
A llvm/test/Analysis/CostModel/AArch64/segmented-shufflevector-patterns.ll
M llvm/test/CodeGen/AArch64/arm64-fp-contract-zero.ll
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
M llvm/test/CodeGen/AArch64/cpa-selectiondag.ll
M llvm/test/CodeGen/AArch64/double_reduct.ll
M llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-fclamp.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qcvtn.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-sclamp.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-uclamp.ll
A llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll
A llvm/test/CodeGen/AArch64/sve-indexed-arithmetic.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-crypto.ll
A llvm/test/CodeGen/AArch64/sve2-intrinsics-rax1.ll
A llvm/test/CodeGen/AArch64/sve2-intrinsics-sm4.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-fclamp.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-qcvtn.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-sclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-vector-shuffles.ll
M llvm/test/CodeGen/AArch64/sve2p2-intrinsics.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-ext.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-flogb.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-frint-frecpx-fsqrt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-rev.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-urecpe-ursqrte-sqabs-sqneg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-uscvtf.ll
A llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/and.ll
M llvm/test/CodeGen/AMDGPU/convergence-laneops.ll
M llvm/test/CodeGen/AMDGPU/fdot2.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
A llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
M llvm/test/CodeGen/AMDGPU/issue139317-bad-opsel-reg-sequence-fold.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.f16.fp8.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add-unsupported.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/noclobber-barrier.ll
M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
A llvm/test/CodeGen/AMDGPU/ptradd-sdag-undef-poison.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v3bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v3f16.ll
M llvm/test/CodeGen/AMDGPU/si-fold-operands-subreg-imm.gfx942.mir
M llvm/test/CodeGen/AMDGPU/si-fold-operands-subreg-imm.mir
A llvm/test/CodeGen/AMDGPU/undef-handling-crash-in-ra.ll
M llvm/test/CodeGen/AMDGPU/unsupported-image-sample.ll
A llvm/test/CodeGen/AMDGPU/wait-xcnt.mir
A llvm/test/CodeGen/ARM/ifcvt_unanalyzable_fallthrough.mir
M llvm/test/CodeGen/ARM/special-reg.ll
M llvm/test/CodeGen/DirectX/firstbithigh.ll
M llvm/test/CodeGen/DirectX/firstbitlow.ll
A llvm/test/CodeGen/DirectX/issue-145408-gep-struct-fix.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
A llvm/test/CodeGen/DirectX/strip-rootsignatures.ll
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
A llvm/test/CodeGen/LoongArch/calling-conv-ilp32d.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-f.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/double-convert.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll
M llvm/test/CodeGen/Mips/msa/compare_float.ll
M llvm/test/CodeGen/NVPTX/access-non-generic.ll
M llvm/test/CodeGen/NVPTX/alias.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions-approx.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/byval-const-global.ll
M llvm/test/CodeGen/NVPTX/call-with-alloca-buffer.ll
M llvm/test/CodeGen/NVPTX/chain-different-as.ll
M llvm/test/CodeGen/NVPTX/combine-mad.ll
M llvm/test/CodeGen/NVPTX/convergent-mir-call.ll
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
M llvm/test/CodeGen/NVPTX/demote-vars.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fexp2.ll
M llvm/test/CodeGen/NVPTX/flog2.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
M llvm/test/CodeGen/NVPTX/fma.ll
M llvm/test/CodeGen/NVPTX/forward-ld-param.ll
M llvm/test/CodeGen/NVPTX/fp128-storage-type.ll
M llvm/test/CodeGen/NVPTX/i1-load-lower.ll
M llvm/test/CodeGen/NVPTX/i128-ld-st.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/indirect_byval.ll
M llvm/test/CodeGen/NVPTX/jump-table.ll
M llvm/test/CodeGen/NVPTX/ldg-invariant.ll
M llvm/test/CodeGen/NVPTX/ldparam-v4.ll
M llvm/test/CodeGen/NVPTX/load-store-vectors.ll
M llvm/test/CodeGen/NVPTX/load-with-non-coherent-cache.ll
M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
M llvm/test/CodeGen/NVPTX/lower-alloca.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
M llvm/test/CodeGen/NVPTX/misched_func_call.ll
M llvm/test/CodeGen/NVPTX/naked-fn-with-frame-pointer.ll
M llvm/test/CodeGen/NVPTX/param-add.ll
M llvm/test/CodeGen/NVPTX/param-align.ll
M llvm/test/CodeGen/NVPTX/param-load-store.ll
M llvm/test/CodeGen/NVPTX/param-overalign.ll
M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll
M llvm/test/CodeGen/NVPTX/reduction-intrinsics.ll
M llvm/test/CodeGen/NVPTX/reg-types.ll
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
M llvm/test/CodeGen/NVPTX/shift-opt.ll
M llvm/test/CodeGen/NVPTX/st-param-imm.ll
M llvm/test/CodeGen/NVPTX/store-undef.ll
M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
M llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
M llvm/test/CodeGen/NVPTX/unreachable.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/NVPTX/vector-loads.ll
M llvm/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll
M llvm/test/CodeGen/PowerPC/all-atomics.ll
M llvm/test/CodeGen/PowerPC/atomics-regression.ll
A llvm/test/CodeGen/PowerPC/builtins-bcd-transform.ll
M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
M llvm/test/CodeGen/PowerPC/loop-comment.ll
M llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
M llvm/test/CodeGen/RISCV/branch-opt.mir
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-reverse-float.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-reverse-int.ll
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-reverser-float.ll
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-reverser-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splice.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-float.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/xqcisls.ll
M llvm/test/CodeGen/SystemZ/vec-max-min-zerosplat.ll
M llvm/test/CodeGen/Thumb2/mve-doublereduct.ll
M llvm/test/CodeGen/WebAssembly/PR40172.ll
M llvm/test/CodeGen/WebAssembly/PR41841.ll
A llvm/test/CodeGen/WebAssembly/debug-code-stackification.ll
M llvm/test/CodeGen/WebAssembly/pr51651.ll
M llvm/test/CodeGen/WebAssembly/signext-zeroext-callsite.ll
M llvm/test/CodeGen/WebAssembly/suboptimal-compare.ll
A llvm/test/CodeGen/X86/GlobalISel/llvm.sincos.mir
A llvm/test/CodeGen/X86/dag-combiner-fma-folding.ll
M llvm/test/CodeGen/X86/isel-fabs-x87.ll
M llvm/test/CodeGen/X86/isel-fabs.ll
M llvm/test/CodeGen/X86/llvm.sincos.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-attr.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-bad-file.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-direct-global-access.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-functions-file.ll
A llvm/test/CodeGen/X86/ms-secure-hotpatch-functions-list.ll
M llvm/test/CodeGen/X86/shift-i512.ll
M llvm/test/CodeGen/X86/sqrt-fastmath-mir.ll
M llvm/test/CodeGen/X86/sqrt-fastmath.ll
M llvm/test/CodeGen/X86/var-permute-256.ll
M llvm/test/CodeGen/X86/vec_int_to_fp.ll
M llvm/test/CodeGen/X86/x86-64-double-shifts-var.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/codegenprepare/sunk-addr.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/shared-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/do-not-remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/loop-vectorize/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/phi.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/single-block-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/single-store-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/store-to-part-of-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/optnone.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant-fwd-scan-linked.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/salvage-value.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/alloca-single-slice.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/complex.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/fail-fragment.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/rewrite.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/split-pre-fragmented-store-2.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/split-pre-fragmented-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
M llvm/test/DebugInfo/Generic/inline-alloca-ordering.ll
M llvm/test/DebugInfo/Generic/inline-dbg-values.ll
A llvm/test/DebugInfo/X86/dynamic-bitfield.ll
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
M llvm/test/Instrumentation/MemorySanitizer/count-zeroes.ll
M llvm/test/Instrumentation/MemorySanitizer/with-call-type-size.ll
A llvm/test/LTO/AArch64/module-asm.ll
M llvm/test/MC/AMDGPU/gfx10_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx10_unsupported_sdwa.s
A llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop1_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
A llvm/test/MC/AMDGPU/gfx9_asm_vop2_features.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop2_dpp8.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx9_vop2_features.txt
M llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt
M llvm/test/MC/RISCV/rv32c-invalid.s
M llvm/test/MC/RISCV/rvv/xsfvfwmacc.s
M llvm/test/MC/RISCV/xqcicm-valid.s
A llvm/test/MC/X86/gotpcrel-non-globals.ll
M llvm/test/TableGen/CompressWriteLatencyEntry.td
A llvm/test/TableGen/DecoderEmitterFnTable.td
M llvm/test/TableGen/InvalidMCSchedClassDesc.td
M llvm/test/Transforms/CallSiteSplitting/callsite-split-preserve-debug.ll
M llvm/test/Transforms/DCE/dbg-value-removal.ll
M llvm/test/Transforms/FunctionAttrs/initializes.ll
M llvm/test/Transforms/FunctionAttrs/nosync.ll
M llvm/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll
A llvm/test/Transforms/Inline/simplify-crosscallsite.ll
M llvm/test/Transforms/InstCombine/AMDGPU/fmed3.ll
M llvm/test/Transforms/InstCombine/fold-phi-arg-gep-to-phi-negative.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
A llvm/test/Transforms/InstCombine/sub-after-sle-is-non-negative.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/vector_gep1-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vector_gep1.ll
M llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
M llvm/test/Transforms/InstSimplify/ConstProp/calls.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-deinterleave4.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleave4.ll
M llvm/test/Transforms/InterleavedAccess/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopDeletion/diundef.ll
M llvm/test/Transforms/LoopRotate/dbgvalue.ll
M llvm/test/Transforms/LoopRotate/delete-dbg-values.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
R llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark-masked-loads-consecutive-loads-same-ptr.ll
M llvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll
M llvm/test/Transforms/Util/Debugify/loc-only.ll
M llvm/test/Verifier/assume-bundles.ll
A llvm/test/Verifier/branch-weight.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/nvptx-basic.ll.expected
M llvm/test/tools/llvm-cov/Inputs/binary-formats.canonical.json
M llvm/test/tools/llvm-cov/mcdc-export-json.test
A llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/wasm-32bit-tombstone.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/independent-load-stores.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/partially-overlapping-groups.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-aes.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-avx1.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-avx2.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-avxgfni.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-avxvnni.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-bmi2.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-clflushopt.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-clwb.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-cmov.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-cmpxchg.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-f16c.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-fma.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-fsgsbase.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-gfni.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-lea.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-lzcnt.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-mmx.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-movbe.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-pclmul.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-popcnt.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-prefetchw.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-rdrand.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-rdseed.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-sse1.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-sse2.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-sse3.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-sse41.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-sse42.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-ssse3.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-vaes.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-vpclmulqdq.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-x86_32.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-x86_64.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-x87.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/resources-xsave.s
A llvm/test/tools/llvm-mca/X86/LunarlakeP/zero-idioms.s
A llvm/test/tools/llvm-objdump/ELF/AArch64/symbolize-operands-executable.yaml
A llvm/test/tools/llvm-objdump/ELF/AArch64/symbolize-operands-relocatable.s
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-c-test/debuginfo.c
M llvm/tools/llvm-cov/CoverageExporterJson.cpp
M llvm/tools/llvm-exegesis/lib/Analysis.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
M llvm/tools/lto/lto.cpp
M llvm/tools/lto/lto.exports
M llvm/unittests/ADT/ArrayRefTest.cpp
M llvm/unittests/Analysis/AliasAnalysisTest.cpp
M llvm/unittests/Analysis/BasicAliasAnalysisTest.cpp
M llvm/unittests/Analysis/DDGTest.cpp
M llvm/unittests/Analysis/IVDescriptorsTest.cpp
M llvm/unittests/Analysis/LoadsTest.cpp
M llvm/unittests/Analysis/LoopInfoTest.cpp
M llvm/unittests/Analysis/LoopNestTest.cpp
M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp
M llvm/unittests/Analysis/MemorySSATest.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
M llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericMemoryAccessTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ExecutionSessionWrapperFunctionCallsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/SharedMemoryMapperTest.cpp
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/OpenMPDirectiveNameTest.cpp
M llvm/unittests/FuzzMutate/StrategiesTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/DebugTypeODRUniquingTest.cpp
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/SandboxIR/UtilsTest.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
M llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
M llvm/unittests/Transforms/Utils/LoopRotationUtilsTest.cpp
M llvm/unittests/Transforms/Utils/LoopUtilsTest.cpp
M llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
M llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SeedCollectorTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.h
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/gn/secondary/llvm/lib/Target/PowerPC/MCTargetDesc/BUILD.gn
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/ArmNeon/Transforms.h
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.h
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
M mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/MLProgram/IR/MLProgramOps.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Passes.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Passes.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/include/mlir/IR/EnumAttr.td
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/Visitors.h
M mlir/include/mlir/Interfaces/TilingInterface.td
M mlir/include/mlir/Query/Matcher/Marshallers.h
M mlir/include/mlir/Query/Matcher/MatchFinder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
M mlir/include/mlir/Query/Matcher/SliceMatchers.h
M mlir/include/mlir/Query/Matcher/VariantValue.h
A mlir/include/mlir/Support/StateStack.h
A mlir/include/mlir/Support/WalkResult.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/CAPI/Dialect/Linalg.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/ArmNeon/TransformOps/ArmNeonVectorTransformOps.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/CMakeLists.txt
A mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToNeonI8MMPattern.cpp
R mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LowerContractionToSVEI8MMPattern.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/CMakeLists.txt
A mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/lib/Dialect/Tensor/Transforms/SwapExtractSliceWithProducerPatterns.cpp
M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Query/Matcher/CMakeLists.txt
R mlir/lib/Query/Matcher/MatchersInternal.cpp
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/VariantValue.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Support/CMakeLists.txt
A mlir/lib/Support/StateStack.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
M mlir/lib/Transforms/SymbolDCE.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/TransformDebugExtensionOps.td
A mlir/python/mlir/dialects/transform/debug.py
A mlir/test/Conversion/AMDGPUToROCDL/transpose_load.mlir
A mlir/test/Conversion/AMDGPUToROCDL/transpose_load_reject.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
M mlir/test/Dialect/ArmSME/vector-legalization.mlir
A mlir/test/Dialect/ArmSVE/legalize-transfer-read.mlir
A mlir/test/Dialect/EmitC/wrap_emitc_func_in_class.mlir
A mlir/test/Dialect/EmitC/wrap_emitc_func_in_class_noAttr.mlir
M mlir/test/Dialect/Linalg/hoisting.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/roundtrip.mlir
M mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
M mlir/test/Dialect/Linalg/transform-tile-and-winograd-rewrite.mlir
M mlir/test/Dialect/Linalg/transform-tile-winograd.mlir
M mlir/test/Dialect/Linalg/transform-winograd-conv2d.mlir
M mlir/test/Dialect/Linalg/winograd-conv2d-rewrite.mlir
M mlir/test/Dialect/Linalg/winograd-conv2d.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/ops.mlir
R mlir/test/Dialect/Mesh/backward-sharding-propagation.mlir
R mlir/test/Dialect/Mesh/forward-backward-sharding-propagation.mlir
R mlir/test/Dialect/Mesh/forward-sharding-propagation.mlir
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
M mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
M mlir/test/IR/attribute.mlir
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/transfer-read-scalable-non-trailing.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
M mlir/test/Target/LLVMIR/Import/import-failure.ll
A mlir/test/Target/LLVMIR/nvvm/elect.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
M mlir/test/Target/LLVMIR/omptargetdata-nowait-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-data-target-device.mlir
A mlir/test/Target/LLVMIR/openmp-nested-task-target-parallel.mlir
A mlir/test/Transforms/make-composed-folded-affine-apply.mlir
M mlir/test/Transforms/test-symbol-dce.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
M mlir/test/lib/Dialect/Test/TestEnumDefs.td
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
M mlir/test/lib/Transforms/TestTransformsOps.cpp
M mlir/test/lib/Transforms/TestTransformsOps.td
M mlir/test/mlir-linalg-ods-gen/test-linalg-ods-yaml-gen.yaml
R mlir/test/mlir-query/backward-slice-union.mlir
A mlir/test/mlir-query/complex-test.mlir
R mlir/test/mlir-query/forward-slice-by-predicate.mlir
R mlir/test/mlir-query/logical-operator-test.mlir
R mlir/test/mlir-query/slice-function-extraction.mlir
A mlir/test/python/dialects/transform_debug_ext.py
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
M mlir/tools/mlir-query/mlir-query.cpp
M mlir/tools/mlir-tblgen/EnumsGen.cpp
M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
M mlir/unittests/Pass/AnalysisManagerTest.cpp
M mlir/unittests/Pass/PassManagerTest.cpp
M mlir/unittests/Transforms/DialectConversion.cpp
M offload/DeviceRTL/CMakeLists.txt
M offload/liboffload/API/Common.td
M offload/liboffload/API/Program.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M openmp/runtime/src/kmp_alloc.cpp
M openmp/runtime/src/kmp_csupport.cpp
M openmp/runtime/src/kmp_lock.cpp
M openmp/runtime/src/kmp_tasking.cpp
A openmp/runtime/test/ompt/misc/lock_double_destroy.cpp
R pstl/.clang-format
R pstl/CMakeLists.txt
R pstl/CREDITS.txt
R pstl/LICENSE.TXT
R pstl/README.md
R pstl/cmake/ParallelSTLConfig.cmake.in
R pstl/docs/ReleaseNotes.rst
R pstl/include/__pstl_algorithm
R pstl/include/__pstl_config_site.in
R pstl/include/__pstl_execution
R pstl/include/__pstl_memory
R pstl/include/__pstl_numeric
R pstl/include/pstl/internal/algorithm_fwd.h
R pstl/include/pstl/internal/algorithm_impl.h
R pstl/include/pstl/internal/execution_defs.h
R pstl/include/pstl/internal/execution_impl.h
R pstl/include/pstl/internal/glue_algorithm_defs.h
R pstl/include/pstl/internal/glue_algorithm_impl.h
R pstl/include/pstl/internal/glue_execution_defs.h
R pstl/include/pstl/internal/glue_memory_defs.h
R pstl/include/pstl/internal/glue_memory_impl.h
R pstl/include/pstl/internal/glue_numeric_defs.h
R pstl/include/pstl/internal/glue_numeric_impl.h
R pstl/include/pstl/internal/memory_impl.h
R pstl/include/pstl/internal/numeric_fwd.h
R pstl/include/pstl/internal/numeric_impl.h
R pstl/include/pstl/internal/omp/parallel_for.h
R pstl/include/pstl/internal/omp/parallel_for_each.h
R pstl/include/pstl/internal/omp/parallel_invoke.h
R pstl/include/pstl/internal/omp/parallel_merge.h
R pstl/include/pstl/internal/omp/parallel_reduce.h
R pstl/include/pstl/internal/omp/parallel_scan.h
R pstl/include/pstl/internal/omp/parallel_stable_partial_sort.h
R pstl/include/pstl/internal/omp/parallel_stable_sort.h
R pstl/include/pstl/internal/omp/parallel_transform_reduce.h
R pstl/include/pstl/internal/omp/parallel_transform_scan.h
R pstl/include/pstl/internal/omp/util.h
R pstl/include/pstl/internal/parallel_backend.h
R pstl/include/pstl/internal/parallel_backend_omp.h
R pstl/include/pstl/internal/parallel_backend_serial.h
R pstl/include/pstl/internal/parallel_backend_tbb.h
R pstl/include/pstl/internal/parallel_backend_utils.h
R pstl/include/pstl/internal/parallel_impl.h
R pstl/include/pstl/internal/pstl_config.h
R pstl/include/pstl/internal/unseq_backend_simd.h
R pstl/include/pstl/internal/utils.h
R pstl/test/CMakeLists.txt
R pstl/test/pstl/header_inclusion_order_algorithm_0.pass.cpp
R pstl/test/pstl/header_inclusion_order_algorithm_1.pass.cpp
R pstl/test/pstl/header_inclusion_order_memory_0.pass.cpp
R pstl/test/pstl/header_inclusion_order_memory_1.pass.cpp
R pstl/test/pstl/header_inclusion_order_numeric_0.pass.cpp
R pstl/test/pstl/header_inclusion_order_numeric_1.pass.cpp
R pstl/test/pstl/version.pass.cpp
R pstl/test/std/algorithms/alg.merge/inplace_merge.pass.cpp
R pstl/test/std/algorithms/alg.merge/merge.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/copy_move.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/fill.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/generate.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/remove.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/remove_copy.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/replace.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/replace_copy.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/rotate_copy.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/swap_ranges.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/transform_binary.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/transform_unary.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/unique.pass.cpp
R pstl/test/std/algorithms/alg.modifying.operations/unique_copy_equal.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/adjacent_find.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/all_of.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/any_of.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/count.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/equal.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/find.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/find_first_of.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/find_if.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/for_each.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/mismatch.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/none_of.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/nth_element.pass.cpp
R pstl/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp
R pstl/test/std/algorithms/alg.sorting/alg.heap.operations/is_heap.pass.cpp
R pstl/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
R pstl/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp
R pstl/test/std/algorithms/alg.sorting/alg.set.operations/includes.pass.cpp
R pstl/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp
R pstl/test/std/algorithms/alg.sorting/is_sorted.pass.cpp
R pstl/test/std/algorithms/alg.sorting/partial_sort.pass.cpp
R pstl/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp
R pstl/test/std/algorithms/alg.sorting/sort.pass.cpp
R pstl/test/std/lit.local.cfg
R pstl/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp
R pstl/test/std/numerics/numeric.ops/reduce.pass.cpp
R pstl/test/std/numerics/numeric.ops/scan.fail.cpp
R pstl/test/std/numerics/numeric.ops/scan.pass.cpp
R pstl/test/std/numerics/numeric.ops/transform_reduce.pass.cpp
R pstl/test/std/numerics/numeric.ops/transform_scan.pass.cpp
R pstl/test/std/utilities/memory/specialized.algorithms/uninitialized_construct.pass.cpp
R pstl/test/std/utilities/memory/specialized.algorithms/uninitialized_copy_move.pass.cpp
R pstl/test/std/utilities/memory/specialized.algorithms/uninitialized_fill_destroy.pass.cpp
R pstl/test/support/pstl_test_config.h
R pstl/test/support/stdlib/algorithm
R pstl/test/support/stdlib/execution
R pstl/test/support/stdlib/memory
R pstl/test/support/stdlib/numeric
R pstl/test/support/utils.h
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
Merge branch 'main' into users/rovka/whole-wave-funcs
Compare: https://github.com/llvm/llvm-project/compare/0eb6c66ac49d...a666b2d9f716
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