[all-commits] [llvm/llvm-project] 1407f5: [mlir] Canonicalize extract_slice(unpack) (#133777)
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Thu Apr 3 10:21:16 PDT 2025
Branch: refs/heads/users/alexey-bataev/spr/slpinitial-support-for-maskedloads-compress-and-maskedinterleaved
Home: https://github.com/llvm/llvm-project
Commit: 1407f5bee9aa8e2a8a4fcab63ab0a3030a8b0dcf
https://github.com/llvm/llvm-project/commit/1407f5bee9aa8e2a8a4fcab63ab0a3030a8b0dcf
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir] Canonicalize extract_slice(unpack) (#133777)
Canonicalizes a chain of `linalg.unpack -> tensor.extract_slice` into a
`linalg.unpack` with reduced dest sizes. This will only happen when the
unpack op's only user is a non rank-reducing slice with zero offset and
unit strides.
---------
Signed-off-by: Max Dawkins <max.dawkins at gmail.com>
Signed-off-by: Max Dawkins <maxdawkins19 at gmail.com>
Co-authored-by: Max Dawkins <maxdawkins19 at gmail.com>
Commit: ac0649a75a60743faa16b77396db617587d45fea
https://github.com/llvm/llvm-project/commit/ac0649a75a60743faa16b77396db617587d45fea
Author: Mark Danial <mark.danial at ibm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[OpenMP] [AIX] Add missing } in openmp/runtime/src/z_Linux_util.cpp (#133973)
Changes from https://github.com/llvm/llvm-project/pull/133034 removed a
`}` presumably accidentally that are causing failures in the AIX flang
bot.
Commit: 23fb048ce35f672d8db3f466a2522354bbce66e5
https://github.com/llvm/llvm-project/commit/23fb048ce35f672d8db3f466a2522354bbce66e5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
[CI] Fix Monolithic Linux Build in Ubuntu 24.04 (#133628)
This patch fixes the monolithic linux build in Ubuntu 24.04. Newer
versions of debian/ubuntu pass a warning when installing packages at the
system level using pip as it interferes with system package manager
installed python packages. We do not use any system package manager
installed python packages, so we just ignore the warning (that is an
error without passing the flag) by passing the --break-system-packages
flag.
Commit: 4a73c99329ed36712a6faa8e37aa895cfeac23ce
https://github.com/llvm/llvm-project/commit/4a73c99329ed36712a6faa8e37aa895cfeac23ce
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Serialization/ASTWriterDecl.cpp
Log Message:
-----------
[clang][Modules] Fix the Size of `RecordDecl`'s `BitCodeAbbrevOp` (#133500)
https://github.com/llvm/llvm-project/pull/102040/files#diff-125f472e690aa3d973bc42aa3c5d580226c5c47661551aca2889f960681aa64dR2477
added 1 bit to `RecordDecl`'s serialization format, but did not
increment its abbreviation size.
This can lead to rare cases where a record may overflow if the
`RecordDecl`'s `getArgPassingRestrictions()` returns something bigger
than 1 (see
[here](https://github.com/llvm/llvm-project/blob/b3f01a6aa45b00240cec1c64286b85d7ba87e2af/clang/lib/Serialization/ASTWriterDecl.cpp#L688)).
rdar://143763558
Commit: 782e0cef762c1346396eb7dd75462f842be350e3
https://github.com/llvm/llvm-project/commit/782e0cef762c1346396eb7dd75462f842be350e3
Author: David Peixotto <peix at meta.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/intelpt/intelpt_testcase.py
M lldb/source/Target/ProcessTrace.cpp
M lldb/test/API/commands/trace/TestTraceDumpFunctionCalls.py
M lldb/test/API/commands/trace/TestTraceEvents.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/TestTraceStartStop.py
M lldb/test/API/commands/trace/TestTraceTSC.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/unittests/Process/CMakeLists.txt
A lldb/unittests/Process/ProcessTraceTest.cpp
Log Message:
-----------
[lldb] Fix intel trace plugin tests (#133826)
The tests for the
[intel-pt](https://github.com/llvm/llvm-project/blob/348374028970c956f2e49ab7553b495d7408ccd9/lldb/docs/use/intel_pt.rst)
trace plugin were failing for multiple reasons.
On machines where tracing is supported many of the tests were crashing
because of a nullptr dereference. It looks like the `core_file`
parameter in `ProcessTrace::CreateInstance` was once ignored, but was
changed to always being dereferenced. This caused the tests to fail even
when tracing was supported.
On machines where tracing is not supported we would still run tests that
attempt to take a trace. These would obviously fail because the required
hardware is not present. Note that some of the tests simply read
serialized json as trace files which does not require any special
hardware.
This PR fixes these two issues by guarding the pointer dereference and
then skipping unsupported tests on machines. With these changes the
trace tests pass on both types of machines.
We also add a new unit test to validate that a process can be created
with a nullptr core_file through the generic process trace plugin path.
Commit: ce296f1ebac896d03bdb783d9c5d3c93ab76f1ac
https://github.com/llvm/llvm-project/commit/ce296f1ebac896d03bdb783d9c5d3c93ab76f1ac
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Exclude gn changes from running premerge (#133623)
These changes are mostly pushed by the gnsyncbot directly to main and
thus don't go through a PR, but we still test on main to see if main is
broken. Given these touch llvm/, they end up burning a decent amount of
testing time for no real benefit, so I think it makes sense to exclude
them from premerge testing explicitly.
Commit: 9f3d8e8fb8d389176e12c06de59cce3fd1ab8db2
https://github.com/llvm/llvm-project/commit/9f3d8e8fb8d389176e12c06de59cce3fd1ab8db2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/Transforms/loop.cir
Log Message:
-----------
[CIR] Upstream support for while and do..while loops (#133157)
This adds basic support for while and do..while loops. Support for break
and continue are left for a subsequent patch.
Commit: 3c7a0e6c826b8bcfa4ec6154fd4247658ca3a03f
https://github.com/llvm/llvm-project/commit/3c7a0e6c826b8bcfa4ec6154fd4247658ca3a03f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/atomics.ll
Log Message:
-----------
[NVPTX] Cleanup and refactor atomic lowering (#133781)
Cleanup lowering of atomic instructions and intrninsics. The TableGen
changes are primarily a refactor, though sub variants are now lowered
via operation legalization, potentially allowing for more DAG
optimization.
Commit: dc17429ae6961a6783371dcf6749eea657b5446a
https://github.com/llvm/llvm-project/commit/dc17429ae6961a6783371dcf6749eea657b5446a
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Sema/DeclSpec.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/tools/libclang/CIndex.cpp
M libcxx/test/std/containers/sequences/array/array.overview/nttp.verify.cpp
M libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.verify.cpp
M libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.verify.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
Log Message:
-----------
[clang] improved preservation of template keyword (#133610)
Commit: adba14acea99cc6a17d837763a3248c9d4a2fadf
https://github.com/llvm/llvm-project/commit/adba14acea99cc6a17d837763a3248c9d4a2fadf
Author: Matthias Braun <matze at braunis.de>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
Stop using __attribute__((retain)) in GCC builds (#133793)
GCC sometimes produces warnings about `__attribute__((retain))` despite
`__has_attribute(retain)` being 1. See:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99587
The amount of users who benefit from the attribute is probably very
small compared to the amount of `-Werror` enabled builds or the desire
to keep `-Wattributes` enabled in the LLVM build. So for now drop usage
of the `retain` attribute in GCC builds.
Commit: 537b6541e8067d7ef7aa38791989fca6303b7fdf
https://github.com/llvm/llvm-project/commit/537b6541e8067d7ef7aa38791989fca6303b7fdf
Author: Amy Huang <akhuang at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Fix libc BUILD.bazel after commit 8741412 (#133980)
Recent changes add dependencies to some atan functions. Edit bazel build
file to look more like the CMake file.
See
https://github.com/llvm/llvm-project/commit/8741412bdfc0a60719f116add7d828694ef48c02
Commit: ec59313c0416018dc008c586478b825fe42bf323
https://github.com/llvm/llvm-project/commit/ec59313c0416018dc008c586478b825fe42bf323
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
Log Message:
-----------
[EquivalenceClasses] Use range-based for loops (NFC).
Commit: bb179c483aa2f709a4e53a8c8860f90b8e2e6f47
https://github.com/llvm/llvm-project/commit/bb179c483aa2f709a4e53a8c8860f90b8e2e6f47
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/stop.cpp
M flang/include/flang/Runtime/stop.h
Log Message:
-----------
[flang][rt] Allow ReportFatalUserError to be build on device (#133979)
Commit: 16603d838c0dfa6881f9b8118c5a0b5ac2789752
https://github.com/llvm/llvm-project/commit/16603d838c0dfa6881f9b8118c5a0b5ac2789752
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
Log Message:
-----------
[HLSL] Add SPIR-V target type for RWStructuredBuffers (#133468)
This PR adds the target type for main storage for HLSL raw buffer types.
It does not handle the counter variables that are associated with those
buffers.
This is implementing part of
https://github.com/llvm/wg-hlsl/blob/main/proposals/0018-spirv-resource-representation.md.
We do not handle other HLSL raw buffer types.
Commit: 96d60c00e5ed5bddedad0eab83a089957a9cf388
https://github.com/llvm/llvm-project/commit/96d60c00e5ed5bddedad0eab83a089957a9cf388
Author: AdityaK <hiraditya at msn.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/test/Dialect/SPIRV/IR/function-decorations.mlir
Log Message:
-----------
[mlir][spirv] Verify matching of entry block arguments and function signature (#133167)
Fixes: #132894
Commit: 5ffd9bdb50b5753bbf668e4eab3647dfb46cd0d6
https://github.com/llvm/llvm-project/commit/5ffd9bdb50b5753bbf668e4eab3647dfb46cd0d6
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
Log Message:
-----------
[cmake] Refactor clang unittest cmake (#133545)
Pass all the dependencies into add_clang_unittest. This is consistent
with how it is done for LLDB. I borrowed the same named argument list
structure from add_lldb_unittest. This is a necessary step towards
consolidating unit tests into fewer binaries, but seems like a good
refactoring in its own right.
Commit: b6edd25f1787fe7deb4491462227719fb7bda5b1
https://github.com/llvm/llvm-project/commit/b6edd25f1787fe7deb4491462227719fb7bda5b1
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang][intrinsics] NFC: make comment consistent (#133972)
Just makes this named argument comment consistent with all the others in
the file.
Commit: 86e66d2820ff50d56544d7350761adbfe27aa164
https://github.com/llvm/llvm-project/commit/86e66d2820ff50d56544d7350761adbfe27aa164
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/tools/clang-sycl-linker/BUILD.gn
Log Message:
-----------
[gn] port 7003f7d23aeca
Commit: e55164ae1098bbf8ceb87b83a4b282b08bb7bef9
https://github.com/llvm/llvm-project/commit/e55164ae1098bbf8ceb87b83a4b282b08bb7bef9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Use AsmToken::getEndLoc(). NFC
Commit: 676755561d5a2f074411ad289fed55c977571a32
https://github.com/llvm/llvm-project/commit/676755561d5a2f074411ad289fed55c977571a32
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
A clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Parse/CMakeLists.txt
A clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
A clang/unittests/Parse/CMakeLists.txt
A clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
A llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
Reland "[HLSL][RootSignature] Implement parsing of a DescriptorTable with empty clauses" (#133958)
This pr relands https://github.com/llvm/llvm-project/pull/133302.
It resolves two issues:
- Linking error during build,
[here](https://github.com/llvm/llvm-project/pull/133302#issuecomment-2767259848).
There was a missing dependency for `clangLex` for the
`ParseHLSLRootSignatureTest.cpp` unit testing. This library was added to
the dependencies to resolve the error. It wasn't caught previously as
the library was transitively linked in most build environments
- Warning of unused declaration,
[here](https://github.com/llvm/llvm-project/pull/133302#issuecomment-2767091368).
There was a usability line in `LexHLSLRootSignature.h` of the form
`using TokenKind = enum RootSignatureToken::Kind` which causes this
error. The declaration is removed from the header file to be used
locally in the `.cpp` files that use it.
Notably, the original pr would also exposed `clang::hlsl::TokenKind` to
everywhere it was included, which had a name clash with
`tok::TokenKind`. This is another motivation to change to the proposed
resolution.
---------
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: e0c8fc793c2a6142ce86575290fe7933812b6f36
https://github.com/llvm/llvm-project/commit/e0c8fc793c2a6142ce86575290fe7933812b6f36
Author: Florian Mayer <fmayer at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
A compiler-rt/test/sanitizer_common/TestCases/Linux/getservent_r.cpp
M compiler-rt/test/sanitizer_common/lit.common.cfg.py
Log Message:
-----------
Reapply "[sanitizer] intercept getservent_r, getservbyname_r, getservbyport_r" (#133358) (#133528)
This reverts commit 52d7f14a895eb8669d72cd02754e5586de3e61d8.
Commit: 69f59d59cb02c06f1fac93ea5b19c2df9a684109
https://github.com/llvm/llvm-project/commit/69f59d59cb02c06f1fac93ea5b19c2df9a684109
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
Log Message:
-----------
[mlir][IR] Delete `match` and `rewrite` functions (#130259)
The `match` and `rewrite` functions have been deprecated in #130031.
This commit deletes them entirely.
Note for LLVM integration: Update your patterns to use `matchAndRewrite`
instead of separate `match` / `rewrite`.
Commit: 7b2b3faeb1d82148872720e254cc34b3e6d48b31
https://github.com/llvm/llvm-project/commit/7b2b3faeb1d82148872720e254cc34b3e6d48b31
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Parse/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/Parse/BUILD.gn
Log Message:
-----------
[gn build] Port 676755561d5a (ParseTests)
Commit: c8764f0c655b2edb139896ecbb9f5bfd932fbe4b
https://github.com/llvm/llvm-project/commit/c8764f0c655b2edb139896ecbb9f5bfd932fbe4b
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/source/Target/Target.cpp
M lldb/test/API/commands/target/stop-hooks/TestStopHooks.py
Log Message:
-----------
Fix handling of auto_continue for stop hooks (#129622)
Follow-up fix discussed here:
https://github.com/llvm/llvm-project/pull/129578#issuecomment-2695838042
---------
Co-authored-by: Jim Ingham <jingham at apple.com>
Commit: 749535ba2808e133682074f712ac6829335f8875
https://github.com/llvm/llvm-project/commit/749535ba2808e133682074f712ac6829335f8875
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Use tablegen HasOneUse. NFC (#133974)
Commit: 07504afc42bd295ca290c8c462869759b97e0fdc
https://github.com/llvm/llvm-project/commit/07504afc42bd295ca290c8c462869759b97e0fdc
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/libc_assert.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Stop depending on .cpp files in libcxx_shared_headers library. (#133999)
Fix two instances of libcxx_shared_headers depending on .cpp files (in
Bazel build):
* Don't depend on exit syscall in LIBC_ASSERT implementation. This
dependency is not used, since LIBC_ASSERT always uses system <assert.h>
in the overlay mode, which is the only mode supported by Bazel.
* Don't depend on libc_errno in str-to-float and str-to-integer
conversions. We only need the ERANGE value, which can be obtained from
the proxy header instead.
Commit: d53555499f85b7aedb765c66d6f3850c7bc6126d
https://github.com/llvm/llvm-project/commit/d53555499f85b7aedb765c66d6f3850c7bc6126d
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
Log Message:
-----------
[lldb] Prefer PointerType::get with LLVMContext over Type (NFC) (#133869)
Part of #123569
Commit: d72be157823d41e7eaf457cc37ea99c07431a25c
https://github.com/llvm/llvm-project/commit/d72be157823d41e7eaf457cc37ea99c07431a25c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
Revert "[CI] Fix Monolithic Linux Build in Ubuntu 24.04 (#133628)"
This reverts commit 23fb048ce35f672d8db3f466a2522354bbce66e5.
This broke the new premerge system as it appears the pip installations within
the CI image do not support this option. Buildkite was unaffected.
Commit: 1a4dc189ad26ced9d9a74e40fa50b7d81428edba
https://github.com/llvm/llvm-project/commit/1a4dc189ad26ced9d9a74e40fa50b7d81428edba
Author: Petr Sumbera <sumbera at volny.cz>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M openmp/runtime/CMakeLists.txt
M openmp/runtime/cmake/LibompGetArchitecture.cmake
M openmp/runtime/cmake/config-ix.cmake
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_platform.h
M openmp/runtime/src/kmp_runtime.cpp
Log Message:
-----------
[OpenMP] allow openmp build for sparc (#133239)
Commit: 2f25345670081f1ca460ea3f42a0585ef3f1e877
https://github.com/llvm/llvm-project/commit/2f25345670081f1ca460ea3f42a0585ef3f1e877
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaCXXScopeSpec.cpp
Log Message:
-----------
[clang] fix missing initialization msan failure
fixes msan failure reported here: https://lab.llvm.org/buildbot/#/builders/94/builds/5821/steps/17/logs/stdio
This was a regression introduced here: https://github.com/llvm/llvm-project/pull/133610
Commit: ad1ca5f4a2bc09f99fd82e5444f5da37c2985e97
https://github.com/llvm/llvm-project/commit/ad1ca5f4a2bc09f99fd82e5444f5da37c2985e97
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
M clang/unittests/AST/SourceLocationTest.cpp
Log Message:
-----------
[clang] Concepts: support pack expansions for type constraints (#132626)
This reverts an earlier attempt
(adb0d8ddceb143749c519d14b8b31b481071da77 and
50e5411e4247421fd606f0a206682fcdf0303ae3) to support these expansions,
which was limited to type arguments and which subverted the purpose
of SubstTemplateTypeParmType.
This propagates the ArgumentPackSubstitutionIndex along with the
AssociatedConstraint, so that the pack expansion works, without
needing any new transforms or otherwise any changes to the template
instantiation process.
This keeps the tests from the reverted commits, and adds a few more
showing the new solution also works for NTTPs.
Fixes https://github.com/llvm/llvm-project/issues/131798
Commit: e25187bc3e1459b4eee6d0acd4e46b475a347f5d
https://github.com/llvm/llvm-project/commit/e25187bc3e1459b4eee6d0acd4e46b475a347f5d
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
A llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
A llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fminimumnum.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/fminimumnum.ll
A llvm/test/Transforms/SLPVectorizer/X86/fminimumnum.ll
Log Message:
-----------
LLVM/Test: Add vectorizing testcases for fminimumnum and fminimumnum (#133843)
Vectorizing of fminimumnum and fminimumnum have not support yet. Let's
add the testcase for it now, and we will update the testcase when we
support it.
Commit: ae8dd63681bf93b04ff8a29e3cbbd152bd97c5c7
https://github.com/llvm/llvm-project/commit/ae8dd63681bf93b04ff8a29e3cbbd152bd97c5c7
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Add interface and lowering for all_sync (#134001)
Commit: 46968310cb837e4b32859edef2107080b828b117
https://github.com/llvm/llvm-project/commit/46968310cb837e4b32859edef2107080b828b117
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
R llvm/test/CodeGen/LoongArch/fix-tle-le-sym-type.ll
A llvm/test/MC/LoongArch/Relocations/relocation-specifier.s
Log Message:
-----------
[LoongArch] Move fix-tle-le-sym-type test to test/MC. NFC (#133839)
Commit: 222297b02034914499458cfa4772c412ea35573d
https://github.com/llvm/llvm-project/commit/222297b02034914499458cfa4772c412ea35573d
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
Log Message:
-----------
[mlir] Use Region::hasOneBlock (NFC) (#133879)
Commit: 55ac652745c6ec94477b1862018f477748faad15
https://github.com/llvm/llvm-project/commit/55ac652745c6ec94477b1862018f477748faad15
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-operand-bundles-convergencectrl.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
Log Message:
-----------
llvm-reduce: Do not delete convergencectrl in operand-bundles (#133858)
The IR verifier will fail if there are any convergent calls without
a convergencectrl bundle, if there are any convergencectrl bundles.
With the current verifier rules, we would need to drop all the instances
of convergencectrl in the function as a set, and strip all the
convergence
token intrinsics. As such, I think it would be more appropriate to have
a
separate convergence reduction pass.
Commit: 97dcbdef6089175c45e14fcbcf5c88b10233a79a
https://github.com/llvm/llvm-project/commit/97dcbdef6089175c45e14fcbcf5c88b10233a79a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
Log Message:
-----------
Revert "[clang-format] Handle C++ keywords in other languages better (#132941)"
This reverts commit ab7cee8a0ecf29fdb47c64c8d431a694d63390d2 which had
formatting errors.
Commit: 03a791f70364921ec3d3b7de8ddc6be8279c2fba
https://github.com/llvm/llvm-project/commit/03a791f70364921ec3d3b7de8ddc6be8279c2fba
Author: dpalermo <dan.palermo at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
Log Message:
-----------
Revert "[cmake] Refactor clang unittest cmake" (#134022)
Reverts llvm/llvm-project#133545
This change is breaking several buildbots as well as developer's builds.
Reverting to allow people to make progress.
Commit: d40bab359c408b0084cd3c115213205050401a9e
https://github.com/llvm/llvm-project/commit/d40bab359c408b0084cd3c115213205050401a9e
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/test/Analysis/DataFlow/test-liveness-analysis.mlir
Log Message:
-----------
[mlir][liveness] fix bugs in liveness analysis (#133416)
This patch fixes the following bugs:
- In SparseBackwardAnalysis, the setToExitState function should
propagate changes if it modifies the lattice. Previously, this issue was
masked because multi-block scenarios were not tested, and the traversal
order of backward data flow analysis starts from the end of the program.
- The method in liveness analysis for determining whether the
non-forwarded operand in branch/region branch operations is live is
incorrect, which may cause originally live variables to be marked as not
live.
Commit: 0cfabd37df9940346f3bf8a4d74c19e1f48a00e9
https://github.com/llvm/llvm-project/commit/0cfabd37df9940346f3bf8a4d74c19e1f48a00e9
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/MC/RISCV/insn_xqci-invalid.s
A llvm/test/MC/RISCV/insn_xqci.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
Log Message:
-----------
[RISCV] Add Xqci Insn Formats (#132986)
Commit: adbe9e20bf157fda89a8896d3832dc9e3cd4351c
https://github.com/llvm/llvm-project/commit/adbe9e20bf157fda89a8896d3832dc9e3cd4351c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/simplify-conditionals-already-constant-brcond.ll
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
Log Message:
-----------
llvm-reduce: Skip setting br conditions on already constant branches (#133841)
If we are trying to simplify branch conditions to true, ignore branches
already set to a constant true. If we are simplifying to constant false,
ignore the already constant false cases. This saves steps in this edge
case, and avoids the side effect of running simplifycfg on blocks we
did not intend to modify.
Commit: 23d894e0a3cf5cbc1ac754761da4f82608e14747
https://github.com/llvm/llvm-project/commit/23d894e0a3cf5cbc1ac754761da4f82608e14747
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
Log Message:
-----------
llvm-reduce: Fix comment typo
Commit: 68fb7a5a1d203dde7badf67031bdd9eb650eef5d
https://github.com/llvm/llvm-project/commit/68fb7a5a1d203dde7badf67031bdd9eb650eef5d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
R llvm/test/MC/RISCV/insn_xqci-invalid.s
R llvm/test/MC/RISCV/insn_xqci.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
Log Message:
-----------
Revert "[RISCV] Add Xqci Insn Formats (#132986)"
This reverts commit 0cfabd37df9940346f3bf8a4d74c19e1f48a00e9.
Multiple builtbot failures have been reported:
https://github.com/llvm/llvm-project/pull/132986
Commit: e060acbd3b0fe362b81b7edd8741eee854aa3d99
https://github.com/llvm/llvm-project/commit/e060acbd3b0fe362b81b7edd8741eee854aa3d99
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Sema] Use llvm::erase_if (NFC) (#134017)
Commit: cc10896fa2cc4096387f5cff09c23ff22deabd97
https://github.com/llvm/llvm-project/commit/cc10896fa2cc4096387f5cff09c23ff22deabd97
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
Log Message:
-----------
[SandboxVectorizer] Use llvm::erase (NFC) (#134018)
Commit: 86c382514e68b9b58a6cad266d99ca0a1ba1c856
https://github.com/llvm/llvm-project/commit/86c382514e68b9b58a6cad266d99ca0a1ba1c856
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[Target] Construct SmallVector with ArrayRef (NFC) (#134019)
Commit: d760dbe6ebcf87c82aea7b1adb10d41e65c57830
https://github.com/llvm/llvm-project/commit/d760dbe6ebcf87c82aea7b1adb10d41e65c57830
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
Log Message:
-----------
[mlir] Remove extraneous calls to make_range (NFC) (#134020)
Commit: f1025c0e8752057dc19b922040055d81ce3b6f31
https://github.com/llvm/llvm-project/commit/f1025c0e8752057dc19b922040055d81ce3b6f31
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
Log Message:
-----------
[mlir] Construct SmallVector with ArrayRef (NFC) (#134023)
Commit: 28b300d546948baf4396c3467507dea8b9e34881
https://github.com/llvm/llvm-project/commit/28b300d546948baf4396c3467507dea8b9e34881
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
Log Message:
-----------
[lldb] Update ScriptInterpreterLua::LoadScriptingModule
Update the ScriptInterpreterLua::LoadScriptingModule signature after the
TargetSP argument was added in #133290.
Commit: e020fc18959a71c75257dd89ce3d6c86eb388043
https://github.com/llvm/llvm-project/commit/e020fc18959a71c75257dd89ce3d6c86eb388043
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/predicate-patfags.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Directly use SDNode functions to implement HasOneUse and HasNoUse. NFC (#133976)
The SDValue functions we were calling wrap SDNode functions we can call
directly.
Commit: 9d06e0879b5600b19cd8cebd98e4f92b5e62400f
https://github.com/llvm/llvm-project/commit/9d06e0879b5600b19cd8cebd98e4f92b5e62400f
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaBase.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/Misc/show-diag-options.c
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[Clang] [NFC] Introduce a helper for emitting compatibility diagnostics (#132348)
This is a follow-up to #132129.
Currently, only `Parser` and `SemaBase` get a `DiagCompat()` helper; I’m
planning to keep refactoring compatibility warnings and add more helpers
to other classes as needed. I also refactored a single parser compat
warning just to make sure everything works properly when diagnostics
across multiple components (i.e. Sema and Parser in this case) are
involved.
Commit: a2ca2f3f10002da61e9860d0ce11e0272482baba
https://github.com/llvm/llvm-project/commit/a2ca2f3f10002da61e9860d0ce11e0272482baba
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
Log Message:
-----------
[CIR] Fix cir-canonicalize pass upstreaming issues. NFC
- Fix typos in 'RemoveEmptyScope' pattern rewriting and combine 'match'
and 'rewrite' into 'matchAndRewrite' as they are deprecated.
Commit: 076397ff3217cf45fd08024dd7bcd2bc8fb229ab
https://github.com/llvm/llvm-project/commit/076397ff3217cf45fd08024dd7bcd2bc8fb229ab
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaBase.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/Misc/show-diag-options.c
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Revert "[Clang] [NFC] Introduce a helper for emitting compatibility diagnostics" (#134036)
Reverts llvm/llvm-project#132348
Some tests are failing and I still need to figure out what is going on
here.
Commit: 964650b69e57d5e9e6102a4b400c8da16f6a1e27
https://github.com/llvm/llvm-project/commit/964650b69e57d5e9e6102a4b400c8da16f6a1e27
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-operands-target-ext-ty.ll
M llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperands.h
Log Message:
-----------
llvm-reduce: Add reduceOperandsToPoison reduction (#132862)
For now use it only for TargetExtTypes, which do not always support
zero initializers.
Commit: c47023dceb11fcb06c2405ea11eca10ea1139aa0
https://github.com/llvm/llvm-project/commit/c47023dceb11fcb06c2405ea11eca10ea1139aa0
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/CodeGenCXX/pragma-loop.cpp
Log Message:
-----------
[clang][CodeGen] Make pragma-loop test more rboust (NFC) (#133707)
pragma-loop.cpp contains tests for loop metadata generated by pragma
directives. These tests didn't work as (perhaps) expected. This is
because the regex `.*` consumes multiple elements in the metadata. For
example, there was a check directive like this.
```
// CHECK: ![[LOOP_9]] = distinct !{![[LOOP_9]], ![[WIDTH_8:.*]], ![[FIXED_VEC]], ...}
```
In the above case, `[[WIDTH_8]]` would have been expected to match a
node like `[[WIDTH_8]] = !{!"llvm.loop.vectorize.width", i32 8}`.
However, since there is no check directive to verify the contents of
`[[WIDTH_8]]`, the regex `.*` consumed more than one element. There were
other similar cases.
This patch fixes the problem by not using regex matcher in the metadata
content (except for follow-up metadata). Instead, it uses string
variables whose contents are validated elsewhere.
Related:
https://github.com/llvm/llvm-project/pull/131985#discussion_r2014369699
Commit: 528e408b94cd093e582de8352acebf85a41f5d56
https://github.com/llvm/llvm-project/commit/528e408b94cd093e582de8352acebf85a41f5d56
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
Log Message:
-----------
[LoopInterchange] Add an option to control the cost heuristics applied (#133664)
LoopInterchange has several heuristic functions to determine if
exchanging two loops is profitable or not. Whether or not to use each
heuristic and the order in which to use them were fixed, but #125830
allows them to be changed internally at will. This patch adds a new
option to control them via the compiler option.
The previous patch also added an option to prioritize the vectorization
heuristic. This patch also removes it to avoid conflicts between it and
the newly introduced one, e.g., both
`-loop-interchange-prioritize-vectorization=1` and
`-loop-interchange-profitabilities='cache,vectorization'` are specified.
Commit: 09e19cfacfe5478a69f19014156deb384e5163c7
https://github.com/llvm/llvm-project/commit/09e19cfacfe5478a69f19014156deb384e5163c7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-operands-alloca.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
Log Message:
-----------
llvm-reduce: Do not reduce alloca array sizes to 0 (#132864)
Fixes #64340
Commit: 536fe74aaac437e147fc64dada6af8aab79a8b54
https://github.com/llvm/llvm-project/commit/536fe74aaac437e147fc64dada6af8aab79a8b54
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
M llvm/test/MC/RISCV/xqcibm-invalid.s
M llvm/test/MC/RISCV/xqcibm-valid.s
Log Message:
-----------
[RISCV] Modify register type of extd* Xqcibm instructions (#134027)
The v0.8 spec specifies that rs1 cannot be x31 (t6) since these
instructions operate on a pair of registers (rs1 and rs1 + 1) with no wrap
around.
The latest spec can be found here:
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.8.0
Commit: 730e8a4a59a5398f61c526eb00eb409e9306d19c
https://github.com/llvm/llvm-project/commit/730e8a4a59a5398f61c526eb00eb409e9306d19c
Author: nawrinsu <nawrin.sultana at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_alloc.cpp
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_settings.cpp
A openmp/runtime/test/api/omp_alloc_hwloc.c
Log Message:
-----------
[OpenMP] Add memory allocation using hwloc (#132843)
This patch adds support for memory allocation using hwloc. To enable
memory allocation using hwloc, env KMP_TOPOLOGY_METHOD=hwloc needs to be
used. If hwloc is not supported/available, allocation will fallback to
default path.
Commit: 5d364481e36871584affa54c58a803a936b9a5d6
https://github.com/llvm/llvm-project/commit/5d364481e36871584affa54c58a803a936b9a5d6
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/docs/DoConcurrentConversionToOpenMP.md
M flang/docs/index.md
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Optimizer/OpenMP/Passes.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
A flang/include/flang/Optimizer/OpenMP/Utils.h
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
A flang/test/Driver/do_concurrent_to_omp_cli.f90
A flang/test/Transforms/DoConcurrent/basic_host.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang][OpenMP] Upstream first part of `do concurrent` mapping (#126026)
This PR starts the effort to upstream AMD's internal implementation of
`do concurrent` to OpenMP mapping. This replaces #77285 since we
extended this WIP quite a bit on our fork over the past year.
An important part of this PR is a document that describes the current
status downstream, the upstreaming status, and next steps to make this
pass much more useful.
In addition to this document, this PR also contains the skeleton of the
pass (no useful transformations are done yet) and some testing for the
added command line options.
This looks like a huge PR but a lot of the added stuff is documentation.
It is also worth noting that the downstream pass has been validated on
https://github.com/BerkeleyLab/fiats. For the CPU mapping, this achived
performance speed-ups that match pure OpenMP, for GPU mapping we are
still working on extending our support for implicit memory mapping and
locality specifiers.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026 (this PR)
- https://github.com/llvm/llvm-project/pull/127595
- https://github.com/llvm/llvm-project/pull/127633
- https://github.com/llvm/llvm-project/pull/127634
- https://github.com/llvm/llvm-project/pull/127635
Commit: 8a691cc6157b2c3bc91af767eb1154d7a715562a
https://github.com/llvm/llvm-project/commit/8a691cc6157b2c3bc91af767eb1154d7a715562a
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
Log Message:
-----------
[MS][clang] Make sure vector deleting dtor calls correct operator delete (#133950)
During additional testing I spotted that vector deleting dtor calls
operator delete, not operator delete[] when performing array deletion.
This patch fixes that.
Commit: bd788dbf516be98044254336f54b72d077f69771
https://github.com/llvm/llvm-project/commit/bd788dbf516be98044254336f54b72d077f69771
Author: Harmen Stoppels <me at harmenstoppels.nl>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/bin/.hipVersion
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/include/hip/hip_runtime.h
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/asanrtl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/hip.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ockl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_400.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_500.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1010.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1011.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1012.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_803.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_900.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_908.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ocml.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/opencl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/bin/.keep
M clang/test/Driver/rocm-detect.hip
Log Message:
-----------
[AMDGPU] Remove detection of hip runtime for Spack (#133263)
There is special logic to detect the hip runtime when llvm is installed
with Spack. It works by matching the install prefix of llvm against
`llvm-amdgpu-*` followed by effectively globbing for
```
<llvm dir>/../hip-x.y.z-*/
```
and checking there is exactly one such directory.
I would suggest to remove autodetection for the following reasons:
1. In the Spack ecosystem it's by design that every package lives in
its own prefix, and can only know where its dependencies are
installed, it has no clue what its dependents are and where they are
installed. This heuristic detection breaks that invariant, since `hip`
is a dependent of `llvm`, and can be surprising to Spack users.
2. The detection can lead to false positives, since users can be using
an llvm installed "upstream" with their own build of hip locally, and
they may not realize that clang is picking up upstream hip instead of
their local copy.
3. It only works if the directory name is `llvm-amdgpu-*` which happens
to be the name of AMD's fork of `llvm`, so it makes no sense that
this code lives in the main LLVM repo for which the Spack package
name is `llvm`. Feels wrong that LLVM knows about Spack package
names, which can change over time.
4. Users can change the install directory structure, meaning that this
detection is not robust under config changes in Spack.
Commit: cde2ea377d457e272ce1572d588643e5ee533c30
https://github.com/llvm/llvm-project/commit/cde2ea377d457e272ce1572d588643e5ee533c30
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
Log Message:
-----------
llvm-reduce: Defer a shouldKeep call in operand reduction (#133387)
Ideally shouldKeep is only called in contexts that will successfully
do something.
Commit: 41d718b1cf3db952a79c5598dba2e3379ee88efa
https://github.com/llvm/llvm-project/commit/41d718b1cf3db952a79c5598dba2e3379ee88efa
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/loop_nest_test.f90
Log Message:
-----------
[flang][OpenMP] Upstream `do concurrent` loop-nest detection. (#127595)
Upstreams the next part of do concurrent to OpenMP mapping pass (from
AMD's ROCm implementation). See
https://github.com/llvm/llvm-project/pull/126026 for more context.
This PR add loop nest detection logic. This enables us to discover
muli-range do concurrent loops and then map them as "collapsed" loop
nests to OpenMP.
This is a follow up for
https://github.com/llvm/llvm-project/pull/126026, only the latest commit
is relevant.
This is a replacement for
https://github.com/llvm/llvm-project/pull/127478 using a
`/user/<username>/<branchname>` branch.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026
- https://github.com/llvm/llvm-project/pull/127595 (this PR)
- https://github.com/llvm/llvm-project/pull/127633
- https://github.com/llvm/llvm-project/pull/127634
- https://github.com/llvm/llvm-project/pull/127635
Commit: 10c6ebc42711fa12ff790f3462cbce0e02538ab7
https://github.com/llvm/llvm-project/commit/10c6ebc42711fa12ff790f3462cbce0e02538ab7
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaBase.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/Misc/show-diag-options.c
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Reapply "[Clang] [NFC] Introduce a helper for emitting compatibility diagnostics (#132348)" (#134043)
This reapplies #132348 with a fix to the python bindings tests, reverting
https://github.com/llvm/llvm-project/commit/076397ff3217cf45fd08024dd7bcd2bc8fb229ab.
Commit: 9356091a98c24718572f99b51553838ed664b67a
https://github.com/llvm/llvm-project/commit/9356091a98c24718572f99b51553838ed664b67a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
A llvm/test/CodeGen/PowerPC/global-merge-llvm-metadata.ll
Log Message:
-----------
[GlobalMerge][PPC] Don't merge globals in llvm.metadata section (#131801)
The llvm.metadata section is not emitted and has special semantics. We
should not merge globals in it, similarly to how we already skip merging
of `llvm.xyz` globals.
Fixes https://github.com/llvm/llvm-project/issues/131394.
Commit: dd19e7eaaa63bc96d99cdb7a3e7cce95589aec8d
https://github.com/llvm/llvm-project/commit/dd19e7eaaa63bc96d99cdb7a3e7cce95589aec8d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_cbrt.inc
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_cbrt.cl
A libclc/clc/lib/generic/math/clc_cbrt.inc
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/generic/lib/math/cbrt.cl
M libclc/generic/lib/math/tables.cl
Log Message:
-----------
[libclc] Move cbrt to the CLC library; vectorize (#133940)
Commit: 8107b430edb38dc798fe4e710df13d4b2e98acfb
https://github.com/llvm/llvm-project/commit/8107b430edb38dc798fe4e710df13d4b2e98acfb
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
Log Message:
-----------
[VPlan] Simplify select c, x, x -> x (#133731)
As noted in 1a9358c090d0507be21c5e9b2d97a23ef1de8ab0, some
simplifications can produce a redundant select where the true and false
operands are the same, which this patch removes.
The is_fpclass test was changed so the condition wasn't made dead.
Commit: 3f8bfc9f7fc788af63e52b5e804a2d6ab92321ac
https://github.com/llvm/llvm-project/commit/3f8bfc9f7fc788af63e52b5e804a2d6ab92321ac
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/basic_device.mlir
M flang/test/Transforms/DoConcurrent/basic_host.f90
A flang/test/Transforms/DoConcurrent/basic_host.mlir
A flang/test/Transforms/DoConcurrent/non_const_bounds.f90
A flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
Log Message:
-----------
[flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (#127633)
Upstreams one more part of the ROCm `do concurrent` to OpenMP mapping
pass. This PR add support for converting simple loops to the equivalent
OpenMP constructs on the host: `omp parallel do`. Towards that end, we
have to collect more information about loop nests for which we add new
utils in the `looputils` name space.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026
- https://github.com/llvm/llvm-project/pull/127595
- https://github.com/llvm/llvm-project/pull/127633 (this PR)
- https://github.com/llvm/llvm-project/pull/127634
- https://github.com/llvm/llvm-project/pull/127635
Commit: 9b2fd1a6ec935b2e31bb2b6fda82b7377b9bbf79
https://github.com/llvm/llvm-project/commit/9b2fd1a6ec935b2e31bb2b6fda82b7377b9bbf79
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/include/flang/Support/LangOptions.def
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/bbc-openmp-version-macro.f90
M flang/test/Driver/flang-openmp-version-macro.f90
M flang/test/Lower/OpenMP/rtl-flags.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang][OpenMP] Bump default OpenMP version to 3.1 (#133745)
Precise OpenMP standards support information is being documented in
#132707
Flang now has good support for OpenMP Version 3.1 and earlier.
Commit: e0f8898e1d432ab4fdcaf353bf87a1d3cf36491a
https://github.com/llvm/llvm-project/commit/e0f8898e1d432ab4fdcaf353bf87a1d3cf36491a
Author: Miro Hrončok <miro at hroncok.cz>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/opt-viewer/optrecord.py
Log Message:
-----------
Avoid a race condition in opt-viewer/optrecord (#131214)
See https://bugzilla.redhat.com/2336915
See https://reviews.llvm.org/D41784?id=
See
https://github.com/androm3da/optviewer-demo/issues/4#issuecomment-718787822
Fixes https://github.com/llvm/llvm-project/issues/62403.
The race condition happened when the demangler_proc was being set. The
locking mechanism itself happened too late.
This way, the lock always exists (to avoid a race when creating it) and
is always used when *creating* demangler_proc.
Commit: 54385f5ebe5ee998ca4dd59a19bb98144a77db63
https://github.com/llvm/llvm-project/commit/54385f5ebe5ee998ca4dd59a19bb98144a77db63
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/operands-to-args.ll
Log Message:
-----------
llvm-reduce: Increase operands-to-args test coverage (#133853)
This wasn't checking the output for all functions.
--match-full-lines is also particularly hazardous for the
interestingness checks for avoiding asserts and broken IR.
Also add tests for some of the filtered function user types.
This wasn't covered, and is overly conservative.
Commit: 2426ac647f33451a92833ab752d74d16ab3330ed
https://github.com/llvm/llvm-project/commit/2426ac647f33451a92833ab752d74d16ab3330ed
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] Add demanded elts for v8f32 VPERMV node
Based off #133923 - test to ensure the VPERMV node as only the lower 128-bit source elements are demanded.
Commit: 7d441d9892295a6eb8aaf481e1715f039f6f224f
https://github.com/llvm/llvm-project/commit/7d441d9892295a6eb8aaf481e1715f039f6f224f
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/test/Conversion/MathToVCIX/math-to-vcix.mlir
M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
Log Message:
-----------
[mlir] Use `dyn_cast` instead of `cast` in MathToVCIX conversion (#134047)
Fixes #131093.
Commit: ef56b5371294d0c4368b52d4f164f6aa07e1aa4d
https://github.com/llvm/llvm-project/commit/ef56b5371294d0c4368b52d4f164f6aa07e1aa4d
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
Log Message:
-----------
[flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (#127634)
Adds support for converting mulit-range loops to OpenMP (on the host
only for now). The changes here "prepare" a loop nest for collapsing by
sinking iteration variables to the innermost `fir.do_loop` op in the
nest.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026
- https://github.com/llvm/llvm-project/pull/127595
- https://github.com/llvm/llvm-project/pull/127633
- https://github.com/llvm/llvm-project/pull/127634 (this PR)
- https://github.com/llvm/llvm-project/pull/127635
Commit: f066d7504e736f7dc8bee3b9c514a86e229fd622
https://github.com/llvm/llvm-project/commit/f066d7504e736f7dc8bee3b9c514a86e229fd622
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/exit-count-samesign.ll
M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
M llvm/test/Transforms/IndVarSimplify/iv-ext-samesign.ll
A llvm/test/Transforms/IndVarSimplify/pr126409.ll
Log Message:
-----------
[Reland][SCEV] teach isImpliedViaOperations about samesign (#133711)
This patch relands https://github.com/llvm/llvm-project/pull/124270.
Closes https://github.com/llvm/llvm-project/issues/126409.
The root cause is that we incorrectly preserve the samesign flag after
truncating operands of an icmp:
https://alive2.llvm.org/ce/z/4NE9gS
---------
Co-authored-by: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Commit: d7afafdbc464e65c56a0a1d77bad426aa7538306
https://github.com/llvm/llvm-project/commit/d7afafdbc464e65c56a0a1d77bad426aa7538306
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Return *const* UnwindPlan pointers from FuncUnwinders (#133247)
These plans are cached and accessed from multiple threads. Modifying
them would be a Bad Idea(tm).
Commit: a13a51b91fcb2797cc5a16bd8bc7ad714bb15df6
https://github.com/llvm/llvm-project/commit/a13a51b91fcb2797cc5a16bd8bc7ad714bb15df6
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/set-wave-priority.ll
Log Message:
-----------
[AMDGPU][NPM] Port AMDGPUSetWavePriority to NPM (#130064)
Commit: 5bbcc765cc431d8cf6c9011ac283da373d9d4f46
https://github.com/llvm/llvm-project/commit/5bbcc765cc431d8cf6c9011ac283da373d9d4f46
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-estimateNodesPermuteCost.ll
Log Message:
-----------
[SLP][REVEC] getNumElements should not be used as VF when REVEC is enabled. (#134031)
Commit: 53f3031005f78b384845eaf770ec4aac54cae4c3
https://github.com/llvm/llvm-project/commit/53f3031005f78b384845eaf770ec4aac54cae4c3
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Headers/stdint.h
M clang/test/C/drs/dr209.c
M clang/test/Preprocessor/stdint.c
Log Message:
-----------
[C99] Fix definitions of INTn_C macros (#133916)
C99 introduced macros of the form `INTn_C(v)` which expand to a signed
or unsigned integer constant with the specified value `v` and the type
`int_leastN_t`. Clang's initial implementation of these macros used
token pasting to form the integer constants, but this means that users
cannot define a macro named `L`, `U`, `UL`, etc before including
`<stdint.h>` (in freestanding mode, where Clang's header is being used)
because that could form invalid token pasting results. The new
definitions now use the predefined `__INTn_C` macros instead of using
token pasting. This matches the behavior of GCC.
Fixes #85995
Commit: 7c4009f21b877769a5d3cd5c4d0bd0fb75c9c588
https://github.com/llvm/llvm-project/commit/7c4009f21b877769a5d3cd5c4d0bd0fb75c9c588
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
Log Message:
-----------
[AMDGPU] AMDGPUSetWavePriority: Remove unused variable NFC (#134069)
Fixes a13a51b91fcb2797cc5a16bd8bc7ad714bb15df6 (#130064)
Commit: 574e43dffd7a97d32f996df58b1787ad5158529c
https://github.com/llvm/llvm-project/commit/574e43dffd7a97d32f996df58b1787ad5158529c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCast.cpp
M clang/test/C/C23/n3042.c
Log Message:
-----------
[C23] Allow casting from a null pointer constant to nullptr_t (#133742)
C23 allows a cast of a null pointer constant to nullptr_t. e.g.,
(nullptr_t)0 or (nullptr_t)(void *)0.
Fixes #133644
Commit: 3cc7148fe054e225671f6741d0fe4583486af8a4
https://github.com/llvm/llvm-project/commit/3cc7148fe054e225671f6741d0fe4583486af8a4
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Update for #134043
Commit: a0b75b9d990d834a814f1585a21705da558e43d3
https://github.com/llvm/llvm-project/commit/a0b75b9d990d834a814f1585a21705da558e43d3
Author: Lyle Dean <dean at lyle.dev>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaCXX/warn-base-type-qualifiers.cpp
Log Message:
-----------
[Clang] add emit -Wignored-base-class-qualifiers diagnostic for cv-qualified base classes (#132116)
Split diagnosing base class qualifiers from the ``-Wignored-Qualifiers``
diagnostic group into a new ``-Wignored-base-class-qualifiers``
diagnostic group (which is grouped under ``-Wignored-qualifiers``).
Fixes #131935
Commit: 14335be0780d369f4aa2403ee986bac3d436872f
https://github.com/llvm/llvm-project/commit/14335be0780d369f4aa2403ee986bac3d436872f
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[Clang][NFC] Minor constraint satisfaction checking cleanup (#134059)
We had a weird, incorrect, "ConstraintEvaluator" object that was not
useful for anything, so I removed that.
I also changed the CheckConstraintSatisfaction overload that just took
an Expr* as this did not make much sense at all.
Satisfaction checking is still fairly wrong,
we do not follow the standard that requires we only substitute into the
mapping of the normal form, so we produce errors for incorrect
substitution into concepts id, even though we should not.
Commit: cf976bfdeba21405e1674c6dd09940773b2275ef
https://github.com/llvm/llvm-project/commit/cf976bfdeba21405e1674c6dd09940773b2275ef
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
Log Message:
-----------
[LoopInterchange] Add tests for the vectorization profitability (NFC) (#133665)
There is a problem with the current profitability check for
vectorization in LoopInterchange. There are both false positives and
false negatives. The former means that the heuristic may say that "an
exchange is necessary to vectorize the innermost loop" even though it's
already possible. The latter means that the heuristic may miss a case
where an exchange is necessary to vectorize the innermost loop. Note
that this is not a dependency analysis problem. This is caused by
incorrect handling of the dependency matrix in the profitability check,
so these problems can occur even if the analysis is accurate (no
overestimation).
This patch adds tests to clarify the cases that should be fixed. The
root cause of these cases is that the heuristic doesn't handle the
direction of a dependency correctly.
Commit: 842785adf7349f07a91320d49ff8a10971e04409
https://github.com/llvm/llvm-project/commit/842785adf7349f07a91320d49ff8a10971e04409
Author: dianqk <dianqk at dianqk.net>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
Log Message:
-----------
[MachineInstr] Remove the code that was accidentally added in #132536 (NFC)
Commit: c309abd92553191c404f2dc13f637bcfd53033f9
https://github.com/llvm/llvm-project/commit/c309abd92553191c404f2dc13f637bcfd53033f9
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/Directives.md
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Integration/unroll_and_jam.f90
M flang/test/Integration/vector-always.f90
M flang/test/Lower/unroll_and_jam.f90
M flang/test/Lower/vector-always.f90
M flang/test/Parser/compiler-directives.f90
Log Message:
-----------
[flang] Implement !DIR$ NOVECTOR and !DIR$ NOUNROLL[_AND_JAM] (#133885)
Hi,
This patch implements support for the following directives :
- `!DIR$ NOUNROLL_AND_JAM` to disable unrolling and jamming on a DO
LOOP.
- `!DIR$ NOUNROLL` to disable unrolling on a DO LOOP.
- `!DIR$ NOVECTOR` to disable vectorization on a DO LOOP.
Commit: 2b7daaf9678181959982b219db0af106f4ef8e3e
https://github.com/llvm/llvm-project/commit/2b7daaf9678181959982b219db0af106f4ef8e3e
Author: Maxim Zhukov <mussitantesmortem at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/CodeGen/sanitize-coverage.c
M clang/test/Driver/fsanitize-coverage.c
Log Message:
-----------
[sanitizer][CFI] Add support to build CFI with sanitize-coverage (#131296)
Added ability to build together with -fsanitize=cfi and
-fsanitize-coverage=trace-cmp at the same time.
Commit: 581f8bccb529ad9c60e231c44b01a2f9b3ce79b6
https://github.com/llvm/llvm-project/commit/581f8bccb529ad9c60e231c44b01a2f9b3ce79b6
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[clang][OpenMP] Fix bug #62099 - use hash value when inode ID cannot be determined (#131646)
When creating the name of an outlined region, Clang uses the file's
inode ID to generate a unique name. When the file does not exist, this
causes a fatal abort of the compiler. This PR switches to a has value
that is used instead.
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: 2a90631841284ba538029975e59876bb2e1714af
https://github.com/llvm/llvm-project/commit/2a90631841284ba538029975e59876bb2e1714af
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/docs/Dialects/SPIR-V.md
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Target/SPIRV/selection.mlir
Log Message:
-----------
[mlir][spirv] Allow yielding values from selection regions (#133702)
There are cases in SPIR-V shaders where values need to be yielded from
the selection region to make valid MLIR. For example (part of the SPIR-V
shader decompiled to GLSL):
```
bool _115
if (_107)
{
// ...
float _200 = fma(...);
// ...
_115 = _200 < _174;
}
else
{
_115 = _107;
}
bool _123;
if (_115)
{
// ...
float _213 = fma(...);
// ...
_123 = _213 < _174;
}
else
{
_123 = _115;
}
````
This patch extends `mlir.selection` so it can return values.
`mlir.merge` is used as a "yield" operation. This allows to maintain a
compatibility with code that does not yield any values, as well as, to
maintain an assumption that `mlir.merge` is the only operation in the
merge block of the selection region.
Commit: d8d561a3881b08026a0566ff692fdd5b0e032b95
https://github.com/llvm/llvm-project/commit/d8d561a3881b08026a0566ff692fdd5b0e032b95
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libcxx/.clang-format
M libcxx/include/__atomic/support/c11.h
M libcxx/include/__config
Log Message:
-----------
[libc++][NFC] Remove _LIBCPP_DISABLE_EXTENSION_WARNINGS (#133693)
We only use `_LIBCPP_DISABLE_EXTENSION_WARNINGS` in a single place while
we use extensions all over the place. The warnings are already disabled,
since libc++'s headers are system headers, so this shouldn't be in any
way observable by users.
Commit: 666df54ea6c3d9cb735fc2fcaf1a4802e675f8d0
https://github.com/llvm/llvm-project/commit/666df54ea6c3d9cb735fc2fcaf1a4802e675f8d0
Author: مهدي شينون (Mehdi Chinoune) <mehdi.chinoune at hotmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/lib/Evaluate/intrinsics-library.cpp
Log Message:
-----------
[flang] Fold double bessel functions on Windows. (#130253)
There are no functions for `float`.
see:
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn
Commit: de6c9096ba5d186c0ebe11bae76425af70959232
https://github.com/llvm/llvm-project/commit/de6c9096ba5d186c0ebe11bae76425af70959232
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
Log Message:
-----------
[flang][OpenMP] Handle "loop-local values" in `do concurrent` nests (#127635)
Extends `do concurrent` mapping to handle "loop-local values". A
loop-local value is one that is used exclusively inside the loop but
allocated outside of it. This usually corresponds to temporary values
that are used inside the loop body for initialzing other variables for
example. After collecting these values, the pass localizes them to the
loop nest by moving their allocations.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026
- https://github.com/llvm/llvm-project/pull/127595
- https://github.com/llvm/llvm-project/pull/127633
- https://github.com/llvm/llvm-project/pull/127634
- https://github.com/llvm/llvm-project/pull/127635 (this PR)
Commit: c51b24c36a4e447216ae93799720eaf2869e6242
https://github.com/llvm/llvm-project/commit/c51b24c36a4e447216ae93799720eaf2869e6242
Author: David Green <david.green at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/div.ll
Log Message:
-----------
[AArch64] Use getVectorInstrCost in div cost
The costs of ExtractElement and InsertElement should be obtained via
getVectorInstrCost.
Commit: 8a0f694381cece71f1b974f65f3121020522d6f1
https://github.com/llvm/llvm-project/commit/8a0f694381cece71f1b974f65f3121020522d6f1
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/lib/Lower/PFTBuilder.cpp
Log Message:
-----------
[flang] Legacy ASSIGN statement target processing (#133737)
Like other target statements, the statement associated with the label in
a legacy ASSIGN statement could be inside a construct. Constructs
containing such a target must therefore be marked as unstructured,
fairly similar to how targets are processed in `markBranchTarget`.
Commit: 200b589a1b3a0e12cd9950a897949f3e89534929
https://github.com/llvm/llvm-project/commit/200b589a1b3a0e12cd9950a897949f3e89534929
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
Log Message:
-----------
[mlir][spirv] Fix ambiguous conversion between SmallVector and TypeRange (#134087)
This address buildbot failures caused by #133702.
Commit: 87bebd37ffe08c4911d9636ab09cb1406d7ac677
https://github.com/llvm/llvm-project/commit/87bebd37ffe08c4911d9636ab09cb1406d7ac677
Author: Vy Nguyen <vyng at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
Log Message:
-----------
[LLDB][NFC]Move fields that might be referenced in scope-exit to beginning (#133785)
Details: The ScopedDiscpatcher's dtor may reference these fields so we
need the fields' dtor to be be invoked *after* the dispatcher's.
Commit: d51525ba36017507fe95ce48e9670b6f4b267016
https://github.com/llvm/llvm-project/commit/d51525ba36017507fe95ce48e9670b6f4b267016
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_lgamma.h
A libclc/clc/include/clc/math/clc_lgamma_r.h
A libclc/clc/include/clc/math/clc_tgamma.h
A libclc/clc/include/clc/math/unary_def_via_fp32.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_lgamma.cl
A libclc/clc/lib/generic/math/clc_lgamma.inc
A libclc/clc/lib/generic/math/clc_lgamma_r.cl
A libclc/clc/lib/generic/math/clc_lgamma_r.inc
A libclc/clc/lib/generic/math/clc_tgamma.cl
M libclc/generic/include/clc/math/lgamma_r.h
R libclc/generic/include/clc/math/lgamma_r.inc
M libclc/generic/lib/math/lgamma.cl
M libclc/generic/lib/math/lgamma_r.cl
R libclc/generic/lib/math/lgamma_r.inc
M libclc/generic/lib/math/tgamma.cl
Log Message:
-----------
[libclc] Move lgamma, lgamma_r & tgamma to CLC library (#134053)
Also enable half-precision variants of tgamma, which were previously
missing.
Note that unlike recent work, these builtins are not vectorized as part
of this commit. Ultimately all three call into lgamma_r, which has heavy
control flow (including switch statements) that would be difficult to
vectorize. Additionally the lgamma_r algorithm is copyrighted to SunPro
so may need a rewrite in the future anyway.
There are no codegen changes (to non-SPIR-V targets) with this commit,
aside from the new half builtins.
Commit: f186041553f9ab2d49510c6690bb4faf96457d4a
https://github.com/llvm/llvm-project/commit/f186041553f9ab2d49510c6690bb4faf96457d4a
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_cosh.h
A libclc/clc/include/clc/math/clc_sinh.h
A libclc/clc/include/clc/math/clc_tanh.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_cosh.cl
A libclc/clc/lib/generic/math/clc_cosh.inc
A libclc/clc/lib/generic/math/clc_sinh.cl
A libclc/clc/lib/generic/math/clc_sinh.inc
M libclc/clc/lib/generic/math/clc_tables.cl
A libclc/clc/lib/generic/math/clc_tanh.cl
A libclc/clc/lib/generic/math/clc_tanh.inc
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/tanh.cl
Log Message:
-----------
[libclc] Move sinh, cosh & tanh to the CLC library (#134063)
This commit also vectorizes the builtins.
Commit: 65ed35393cc8a3b896d794ab316e0357d907efff
https://github.com/llvm/llvm-project/commit/65ed35393cc8a3b896d794ab316e0357d907efff
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[IR] Add helper `CmpPredicate::dropSameSign` (#134071)
Address review comment
https://github.com/llvm/llvm-project/pull/133711#discussion_r2024519641
Commit: 48a4b14cb65d56ec3bbb473887c31d251092c83c
https://github.com/llvm/llvm-project/commit/48a4b14cb65d56ec3bbb473887c31d251092c83c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/whole-registers-compare.ll
Log Message:
-----------
[SLP]Fix whole vector registers calculations for compares
Need to check that the calculated number of the elements is not larger
than the original number of scalars to prevent a compiler crash.
Fixes #134013
Commit: f99072bd8c6b479badfda0a8affd4964b26af4f7
https://github.com/llvm/llvm-project/commit/f99072bd8c6b479badfda0a8affd4964b26af4f7
Author: yonghong-song <yhs at fb.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/CodeGen/attr-btf_type_tag-similar-type.c
M clang/test/CodeGen/attr-btf_type_tag-typedef-field.c
Log Message:
-----------
[Clang][BPF] Add tests for btf_type_tag c2x-style attributes (#133666)
For btf_type_tag implementation, in order to have the same results with
clang (__attribute__((btf_type_tag("...")))), gcc intends to use c2x
syntax '[[...]]'. Clang also supports similar c2x syntax. Currently, the
clang selftest contains the following five tests:
```
attr-btf_type_tag-func.c
attr-btf_type_tag-similar-type.c
attr-btf_type_tag-var.c
attr-btf_type_tag-func-ptr.c
attr-btf_type_tag-typedef-field.c
```
Tests attr-btf_type_tag-func.c and attr-btf_type_tag-var.c already have
c2x syntax test.
Test attr-btf_type_tag-func-ptr.c does not support c2x syntax when
'__attribute__((...))' is replaced with with '[[...]]'. This should not
be an issue since we do not have use cases for function pointer yet.
This patch added '[[...]]' syntax for
```
attr-btf_type_tag-similar-type.c
attr-btf_type_tag-typedef-field.c
```
Commit: 3843dfeaf71a310d77a8c481dcea207a685fde8e
https://github.com/llvm/llvm-project/commit/3843dfeaf71a310d77a8c481dcea207a685fde8e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
Log Message:
-----------
[X86] Add demanded elts test coverage for vXi16 VPERMW nodes
Requested for #133923
Commit: ffaaaceaa1cfaa7103196cc7f307ffcb61d73558
https://github.com/llvm/llvm-project/commit/ffaaaceaa1cfaa7103196cc7f307ffcb61d73558
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
Log Message:
-----------
[RISCV] Add test for vmv.s.x into a zeroinitializer vector. NFC
This is generated by the loop vectorizer for out-of-loop add
reductions with some starting value
Commit: e6c2fdc90fe40edeb2e2ce85a24fc88b82644b29
https://github.com/llvm/llvm-project/commit/e6c2fdc90fe40edeb2e2ce85a24fc88b82644b29
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libcxx/include/__vector/vector_bool.h
A libcxx/test/std/containers/sequences/vector.bool/small_allocator_size.pass.cpp
Log Message:
-----------
[libc++] Fix ambiguous call to std::max in vector<bool> (#119801)
Closes #121713.
Commit: 2b7fe90a016ed402a1e52d4e13b6112c206369ea
https://github.com/llvm/llvm-project/commit/2b7fe90a016ed402a1e52d4e13b6112c206369ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.cpp
Log Message:
-----------
llvm-reduce: Avoid worklist in simplify-instruction (#134066)
Commit: c132bd6885a67c7684c8847244a41f4038154c6c
https://github.com/llvm/llvm-project/commit/c132bd6885a67c7684c8847244a41f4038154c6c
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
Log Message:
-----------
[RISCV] Add test for vmv.s.x of an immediate into a zeroinitializer vector. NFC
The immediate version of ffaaaceaa1cfaa7103196cc7f307ffcb61d73558
Commit: ee60f7c7a4e4e400918c83decb6cd498aff94012
https://github.com/llvm/llvm-project/commit/ee60f7c7a4e4e400918c83decb6cd498aff94012
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/include/lldb/Utility/UUID.h
M lldb/source/Core/Telemetry.cpp
M lldb/source/Utility/UUID.cpp
M lldb/unittests/Utility/UUIDTest.cpp
Log Message:
-----------
[lldb] Hoist UUID generation into the UUID class (#133662)
Hoist UUID generation into the UUID class and add a trivial unit test.
This also changes the telemetry code to drop the double underscore if we
failed to generate a UUID and subsequently logs to the Host instead of
Object log channel.
Commit: 04676c61604bc81062581719dadf070ab0b19385
https://github.com/llvm/llvm-project/commit/04676c61604bc81062581719dadf070ab0b19385
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
M clang/test/CXX/class/p2-0x.cpp
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/warn-final-dtor-non-final-class.cpp
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Revert "Enable unnecessary-virtual-specifier by default" (#134105)
Reverts llvm/llvm-project#133265
This causes the whole libc++ CI to fail, since we're not building
against a compiler built from current trunk. Specifically, the CMake
changes causes some feature detection to fail, resulting in CMake
being unable to configure libc++.
Commit: 7dce16a0e56789d2a1052317ae2a1328e6071a00
https://github.com/llvm/llvm-project/commit/7dce16a0e56789d2a1052317ae2a1328e6071a00
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[docs][GitHub] Update docs for stacked PRs (#132424)
Commit: 84cb08e11866dda721e9a1b5a39c4e963fc36c32
https://github.com/llvm/llvm-project/commit/84cb08e11866dda721e9a1b5a39c4e963fc36c32
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/unittests/Target/LLVM/SerializeROCDLTarget.cpp
Log Message:
-----------
[MLIR][AMDGPU] Bump to COV6 (#133849)
We already bump to COV6 by default in the front-end and backend. This PR
is for MLIR.
Note that COV6 requires ROCm 6.3+.
Commit: f7591ee161bc3ebd139b330e74263b26dc5608fb
https://github.com/llvm/llvm-project/commit/f7591ee161bc3ebd139b330e74263b26dc5608fb
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
Log Message:
-----------
[LV] Exercise type-mismatch with RT-check conflict rdx (#130295)
The test suite of LoopVectorize suffers from a coverage hole when types
mismatch, and runtime checks are needed, with a conflict redux. Fix this
coverage hole by adding tests.
Commit: 00122bb56b81592d8be66dd06c43a94be7c88c9c
https://github.com/llvm/llvm-project/commit/00122bb56b81592d8be66dd06c43a94be7c88c9c
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/induction-unroll-novec.ll
Log Message:
-----------
[LV] Regen a test with UTC (#134076)
Commit: 6f959a46c0225b99b1d4342eb01999f6cf2961b8
https://github.com/llvm/llvm-project/commit/6f959a46c0225b99b1d4342eb01999f6cf2961b8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/source/Utility/UUID.cpp
Log Message:
-----------
[lldb] uint8_t -> unsigned short in std::independent_bits_engine
According to [1], the template parameter must be cv-unqualified and one
of unsigned short, unsigned int, unsigned long, or unsigned long long.
Should fix the following MSVC error:
error: static assertion failed due to requirement
'_Is_any_of_v<unsigned char, unsigned short, unsigned int, unsigned
long, unsigned long long>': invalid template argument for
independent_bits_engine: N4659
[1] https://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine
Commit: e84b57dfbf36626205d6cd4c8007a3e511b7a296
https://github.com/llvm/llvm-project/commit/e84b57dfbf36626205d6cd4c8007a3e511b7a296
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lld/ELF/ScriptParser.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/linkerscript/nocrossrefs.test
M lld/test/ELF/linkerscript/overlay.test
Log Message:
-----------
[LLD][ELF] Support OVERLAY NOCROSSREFS (#133807)
This allows NOCROSSREFS to be specified in OVERLAY linker script
descriptions. This is a particularly useful part of the OVERLAY syntax,
since it's very rarely possible for one overlay section to sensibly
reference another.
Closes #128790
Commit: 8b67f362583db5f9ace7238bcc174ec6cd11527f
https://github.com/llvm/llvm-project/commit/8b67f362583db5f9ace7238bcc174ec6cd11527f
Author: Fehr Mathieu <mathieu.fehr at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Dialect/Arith/expand-ops.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-arith-expand-ceildivsi.mlir
Log Message:
-----------
[mlir] [arith] Fix ceildivsi lowering in arith-expand (#133774)
This fixes the current lowering of `arith.ceildivsi` in the arith-expand
pass, which was previously incorrect. The new version is based on the
lowering of `arith.floordivsi`, and will not introduce new undefined
behavior or poison during the lowering. It also replaces one division
with a multiplication.
The previous lowering of `ceildivsi(n, m)` was the following:
```
x = (m > 0) ? -1 : 1
(n*m>0) ? ((n+x) / m) + 1 : - (-n / m)
```
This caused two problems:
* In the case where `n` is INT_MIN and `m` is positive, the result would
be poison instead of an actual value
* In the case where `n` is INT_MAX and `m` is `-1`, this would trigger
undefined behavior, while the original code wouldn't. This is because
`n+x` would be equal to `INT_MIN` (`INT_MAX + 1`), so the `(n+x) / m`
division would overflow and trigger UB.
Commit: 4a4d41e723a0dd794043066eb5609f5eb0547948
https://github.com/llvm/llvm-project/commit/4a4d41e723a0dd794043066eb5609f5eb0547948
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/Driver/Inputs/SYCL/bar.ll
M clang/test/Driver/Inputs/SYCL/baz.ll
M clang/test/Driver/Inputs/SYCL/foo.ll
M clang/test/Driver/Inputs/SYCL/libsycl.ll
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[SYCL][SPIR-V Backend][clang-sycl-linker] Add SPIR-V backend support inside clang-sycl-linker (#133967)
This PR does the following:
1. Use SPIR-V backend to do LLVM to SPIR-V translation inside
clang-sycl-linker
2. Remove llvm-spirv translator from clang-sycl-linker Currently, no
SPIR-V extensions are enabled for SYCL compilation flow. This will be
updated in subsequent commits.
Thanks
Note: This is one of the many PRs being introduced to add SYCL
programming model support to LLVM
([RFC](https://discourse.llvm.org/t/rfc-add-sycl-programming-model-support/50812)).
---------
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: ddc48fefe389789f64713b5924a03fb2b7961ef3
https://github.com/llvm/llvm-project/commit/ddc48fefe389789f64713b5924a03fb2b7961ef3
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libclc/CMakeLists.txt
A libclc/clc/include/clc/math/clc_native_exp10.h
A libclc/clc/include/clc/math/clc_native_powr.h
A libclc/clc/include/clc/math/clc_native_tan.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_native_exp10.cl
A libclc/clc/lib/generic/math/clc_native_exp10.inc
A libclc/clc/lib/generic/math/clc_native_powr.cl
A libclc/clc/lib/generic/math/clc_native_powr.inc
A libclc/clc/lib/generic/math/clc_native_tan.cl
A libclc/clc/lib/generic/math/clc_native_tan.inc
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/lib/math/native_exp10.cl
R libclc/generic/lib/math/native_exp10.inc
M libclc/generic/lib/math/native_powr.cl
R libclc/generic/lib/math/native_powr.inc
M libclc/generic/lib/math/native_tan.cl
R libclc/generic/lib/math/native_tan.inc
Log Message:
-----------
[libclc] Move native_(exp10|powr|tan) to CLC library (#134080)
These are the three remaining native builtins not yet ported.
There are elementwise versions of exp10 and tan which correspond to the
intrinsics, which may be preferable to the current versions which route
through other native builtins. Those could be changed in a follow-up if
desired.
Commit: efca37fda55ade9fd079c932ad14ab59c3bfecbc
https://github.com/llvm/llvm-project/commit/efca37fda55ade9fd079c932ad14ab59c3bfecbc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-reduce.rst
M llvm/tools/llvm-reduce/llvm-reduce.cpp
Log Message:
-----------
llvm-reduce: Change exit code for uninteresting inputs (#134021)
This makes it easier to reduce llvm-reduce with llvm-reduce to filter
cases where the input reduced too much.
Not sure if it's possible to test the exit code in lit.
Commit: 340f06a8d4919b7a2d1bb8fca7ff40245e016f55
https://github.com/llvm/llvm-project/commit/340f06a8d4919b7a2d1bb8fca7ff40245e016f55
Author: AdityaK <hiraditya at msn.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
A mlir/test/Dialect/Shape/fold-div.mlir
Log Message:
-----------
Fix: bail out when divisor is zero (#133518)
Fixes: #131279
Commit: 74ec038ffb34575ee93fa313cd0ea0db0c0a7e0a
https://github.com/llvm/llvm-project/commit/74ec038ffb34575ee93fa313cd0ea0db0c0a7e0a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
Log Message:
-----------
[OMPIRBuilder] Don't include MemorySSAUpdater.h (NFC)
This header does not use MemorySSA in any way -- it was just using
a typedef from it. Write out the type instead.
Commit: fa2a6d68c6f35e478af3425760ae39e866049eee
https://github.com/llvm/llvm-project/commit/fa2a6d68c6f35e478af3425760ae39e866049eee
Author: Ryan Buchner <92571492+bababuck at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/select-constant-xor.ll
Log Message:
-----------
[CodeGenPrepare][RISCV] Combine (X ^ Y) and (X == Y) where appropriate (#130922)
Fixes #130510.
In RISCV, modify the folding of (X ^ Y == 0) -> (X == Y) to account for
cases where the (X ^ Y) will be re-used.
If a constant is being used for the XOR before a branch, ensure that it
is small enough to fit within a 12-bit immediate field. Otherwise, the
equality check is more efficient than the check against 0, see the
following:
```
# %bb.0:
lui a1, 5
addiw a1, a1, 1365
xor a0, a0, a1
beqz a0, .LBB0_2
# %bb.1:
ret
.LBB0_2:
```
```
# %bb.0:
lui a1, 5
addiw a1, a1, 1365
beq a0, a1, .LBB0_2
# %bb.1:
xor a0, a0, a1
ret
.LBB0_2:
```
Similarly, if the XOR is between 1 and a size one integer, we should
still fold away the XOR since that comparison can be optimized as a
comparison against 0.
```
# %bb.0:
slt a0, a0, a1
xor a0, a0, 1
beqz a0, .LBB0_2
# %bb.1:
ret
.LBB0_2:
```
```
# %bb.0:
slt a0, a0, a1
bnez a0, .LBB0_2
# %bb.1:
xor a0, a0, 1
ret
.LBB0_2:
```
One question about my code is that I used a hard-coded value for the
width of a RISCV ALU immediate. Do you know of a way that I can gather
this from the `context`, I was unable to devise one.
Commit: 711b15d179b3bf861eceb75e30cb9a39d1d88857
https://github.com/llvm/llvm-project/commit/711b15d179b3bf861eceb75e30cb9a39d1d88857
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
Log Message:
-----------
[RISCV] Mark subvector extracts from index 0 as cheap (#134101)
Previously we only marked fixed length vector extracts as cheap, so this
extends it to any extract at index 0 which should just be a subreg
extract.
This allows extracts of i1 vectors to be considered for DAG combines,
but also scalable vectors too.
This causes some slight improvements with large legalized fixed-length
vectors, but the underlying motiviation for this is to actually prevent
an unprofitable DAG combine on a scalable vector in an upcoming patch.
Commit: b6e2df54c4c0de6786f98ec5feb8223aa7677dc9
https://github.com/llvm/llvm-project/commit/b6e2df54c4c0de6786f98ec5feb8223aa7677dc9
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
Log Message:
-----------
[MC] Move some member variables from AsmParser to MCAsmParser
to eliminate some virtual functions and avoid duplication
between AsmParser/MasmParser.
Commit: d7724c8ea313e5d64ef35102958213dcd98f53ea
https://github.com/llvm/llvm-project/commit/d7724c8ea313e5d64ef35102958213dcd98f53ea
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/AST/StmtOpenACC.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/AST/ast-print-openacc-atomic-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/SemaOpenACC/atomic-construct-ast.cpp
M clang/test/SemaOpenACC/atomic-construct.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] allow 'if' clause on 'atomic' construct
This was added in OpenACC PR #511 in the 3.4 branch. From an AST/Sema
perspective this is pretty trivial as the infrastructure for 'if'
already exists, however the atomic construct needed to be taught to take
clauses. This patch does that and adds some testing to do so.
Commit: dde0be9d9709f7c983443327024fc5983a9b18d1
https://github.com/llvm/llvm-project/commit/dde0be9d9709f7c983443327024fc5983a9b18d1
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof-left.ll
A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof-right.ll
Log Message:
-----------
[Metadata] Handle memprof, callsite merging when one is missing. (#132106)
For memprof and callsite metadata we want to pick one deterministically
and keep that even if one of them may be missing.
Commit: c18994c7cdf68dfbb35c998909aa837169bb0c25
https://github.com/llvm/llvm-project/commit/c18994c7cdf68dfbb35c998909aa837169bb0c25
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-hoist.ll
A llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-sink.ll
Log Message:
-----------
[Metadata] Preserve MD_prof when merging instructions when one is missing. (#132433)
Preserve branch weight metadata when merging instructions if one of the
instructions is missing metadata. This is similar in behaviour to what
we do today for other types of metadata such as mmra, memprof and
callsite metadata.
Commit: aa33c095617400a23a2b814c4defeb12e7761639
https://github.com/llvm/llvm-project/commit/aa33c095617400a23a2b814c4defeb12e7761639
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
Log Message:
-----------
[flang] Fix a warning
This patch fixes:
flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp:184:18: error:
unused variable 'loc' [-Werror,-Wunused-variable]
Commit: a3ac318e5f8668ec5b79dd86639881dfb2e88b69
https://github.com/llvm/llvm-project/commit/a3ac318e5f8668ec5b79dd86639881dfb2e88b69
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/test/API/functionalities/thread/finish-from-empty-func/TestEmptyFuncThreadStepOut.py
Log Message:
-----------
[lldb] Skip test with older version of clang
Commit: 4688719cf5a9b86508be8c93832e43f2fef4533f
https://github.com/llvm/llvm-project/commit/4688719cf5a9b86508be8c93832e43f2fef4533f
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Fix flaky failure and add REQUIRES (#134125)
This should fix failures caused by
https://github.com/llvm/llvm-project/pull/133967
Attn: @sarnex
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: a57023b6a04849f9133d83bdcd006808702d5f66
https://github.com/llvm/llvm-project/commit/a57023b6a04849f9133d83bdcd006808702d5f66
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
Log Message:
-----------
Add missing include for llvm::Error after 74ec038ffb34575ee93fa313cd0ea0db0c0a7e0a
Commit: 540dd89778e1ce54d6e064f9196434b8775b5f4f
https://github.com/llvm/llvm-project/commit/540dd89778e1ce54d6e064f9196434b8775b5f4f
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
Revert "[clang-sycl-linker] Fix flaky failure and add REQUIRES" (#134127)
Reverts llvm/llvm-project#134125
Commit: 0375ef07c3e05e972e723779c5ca142130961e5e
https://github.com/llvm/llvm-project/commit/0375ef07c3e05e972e723779c5ca142130961e5e
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/test/CodeGenOpenCL/builtins-amdgcn-cvt-off-f32-i4.cl
A clang/test/SemaOpenCL/builtins-amdgcn-cvt-off-f32-i4-err.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.off.f32.i4.ll
A llvm/test/Transforms/InstCombine/AMDGPU/simplify-amdgcn.cvt.off.f32.i4.ll
Log Message:
-----------
[Clang][AMDGPU] Add __builtin_amdgcn_cvt_off_f32_i4 (#133741)
This built-in maps to `V_CVT_OFF_F32_I4` which treats its input as
a 4-bit signed integer and returns `0.0625f * src`.
SWDEV-518861
Commit: beae0e9f1a7c16e5603e443d51a7155e0c713b04
https://github.com/llvm/llvm-project/commit/beae0e9f1a7c16e5603e443d51a7155e0c713b04
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx942.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx942-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-global-load-lds-err.cl
M flang/test/Lower/OpenMP/target_cpu_features.f90
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.lds.err.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll
Log Message:
-----------
[AMDGPU] Use a target feature to enable __builtin_amdgcn_global_load_lds on gfx9/10 (#133055)
This patch introduces the `vmem-to-lds-load-insts` target feature, which
can be used to enable builtins `__builtin_amdgcn_global_load_lds` and
`__builtin_amdgcn_raw_ptr_buffer_load_lds` on platforms which have this
feature.
This feature is only available on gfx9/10.
A limitation of using a common target feature for both builtins is that
we could have made `__builtin_amdgcn_raw_ptr_buffer_load_lds` available
on gfx6,7,8.
Commit: 32dff270603bb2ea0f0002bf57d29c71319736d6
https://github.com/llvm/llvm-project/commit/32dff270603bb2ea0f0002bf57d29c71319736d6
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Fix flaky failure and add REQUIRES (Try #2) (#134130)
This should fix failures caused by
https://github.com/llvm/llvm-project/pull/133967
Attn: @sarnex
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: f475ccd3794ebce22950b707ad390fae7e235b46
https://github.com/llvm/llvm-project/commit/f475ccd3794ebce22950b707ad390fae7e235b46
Author: Amy Huang <akhuang at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Fix to the libc BUILD.bazel file after changing atan_utils.h deps. (#134128)
Additional fix for libc BUILD.bazel after commit 8741412 (#133980)
This seems to match libc/src/math/generic/CMakeLists.txt.
Commit: 843ef77dc22afd1923b891acd4c46c8f8c8c93ae
https://github.com/llvm/llvm-project/commit/843ef77dc22afd1923b891acd4c46c8f8c8c93ae
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/matched-nodes-updated.ll
Log Message:
-----------
[SLP]Update mapping between values and their matching entries upon selection
Need to update the mapping between gathered values and their matching
entries, if the list of the entries is updated and only some of them are
selected for final shuffling.
Fixes #134085
Commit: 60efed3f2025cc9612570487dba5cb299ee28167
https://github.com/llvm/llvm-project/commit/60efed3f2025cc9612570487dba5cb299ee28167
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/builtins/dot.hlsl
Log Message:
-----------
[HLSL] Update __builtin_hlsl_dot builtin Sema Checking to fix error when passed an array literal 1u.xxxx (#133941)
update dot builtin sema checking and codegen
new test
fix tests
Closes #133659
Commit: 3bdf9a08804a5b424fd32fef3b0089f3a6db839d
https://github.com/llvm/llvm-project/commit/3bdf9a08804a5b424fd32fef3b0089f3a6db839d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/test/CodeGen/WebAssembly/cfi.ll
M llvm/test/TableGen/GlobalISelCombinerEmitter/type-inference.td
M llvm/test/Transforms/LowerTypeTests/function-disjoint.ll
M llvm/test/Transforms/LowerTypeTests/nonstring.ll
M llvm/test/tools/llvm-split/preserve-locals.ll
M llvm/test/tools/llvm-split/scc-const-alias.ll
M llvm/test/tools/llvm-split/scc-global-alias.ll
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[EquivalenceClasses] Use SmallVector for deterministic iteration order. (#134075)
Currently iterators over EquivalenceClasses will iterate over std::set,
which guarantees the order specified by the comperator. Unfortunately in
many cases, EquivalenceClasses are used with pointers, so iterating over
std::set of pointers will not be deterministic across runs.
There are multiple places that explicitly try to sort the equivalence
classes before using them to try to get a deterministic order
(LowerTypeTests, SplitModule), but there are others that do not at the
moment and this can result at least in non-determinstic value naming in
Float2Int.
This patch updates EquivalenceClasses to keep track of all members via a
extra SmallVector and removes code from LowerTypeTests and SplitModule
to sort the classes before processing.
Overall it looks like compile-time slightly decreases in most cases, but
close to noise:
https://llvm-compile-time-tracker.com/compare.php?from=7d441d9892295a6eb8aaf481e1715f039f6f224f&to=b0c2ac67a88d3ef86987e2f82115ea0170675a17&stat=instructions
PR: https://github.com/llvm/llvm-project/pull/134075
Commit: c87dc2b7d4ac0131cb97f096be522a50a4b3068b
https://github.com/llvm/llvm-project/commit/c87dc2b7d4ac0131cb97f096be522a50a4b3068b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
Log Message:
-----------
[lldb-dap] Speed up TestDAP_Progress (#134048)
While trying to make progress on #133782, I noticed that
TestDAP_Progress was taking 90 seconds to complete. This patch brings
that down to 10 seocnds by making the following changes:
1. Don't call `wait_for_event` with a 15 second timeout. By the time we
call this, all progress events have been emitted, which means that we're
just sitting there until we hit the timeout.
2. Don't use 10 steps (= 10 seconds) for indeterminate progress. We have
two indeterminate progress tests so that's 6 seconds instead of 20.
3. Don't launch the process over and over. Once we have a dap session,
we can clear the progress vector and emit new progress events.
Commit: 6f1347d57bdaed75b73b2013a96a4a69c8969ebe
https://github.com/llvm/llvm-project/commit/6f1347d57bdaed75b73b2013a96a4a69c8969ebe
Author: ofri frishman <ofri4321 at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
M mlir/test/Dialect/Tensor/bubble-up-extract-slice-op.mlir
Log Message:
-----------
[MLIR] Bubble up tensor.extract_slice through tensor.collapse_shape (#131982)
Add a pattern that bubbles up tensor.extract_slice through
tensor.collapse_shape.
The pattern is registered in a pattern population function that is used
by the transform op
transform.apply_patterns.tensor.bubble_up_extract_slice and by the
tranform op transform.structured.fuse as a cleanup pattern.
This pattern enables tiling and fusing op chains which contain
tensor.collapse_shape if added as a cleanup pattern of tile and fuse
utility.
Without this pattern that would not be possible, as
tensor.collapse_shape does not implement the tiling interface. This is
an additional pattern to the one added in PR #126898
Commit: fb0e7b5f161118a24eeef39b05882f6950be43c0
https://github.com/llvm/llvm-project/commit/fb0e7b5f161118a24eeef39b05882f6950be43c0
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/bswap.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/icmp.i16.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.alignbyte.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
A llvm/test/CodeGen/AMDGPU/true16-fold.mir
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] Implement sgpr folding in true16 (#128929)
We haven't implemented 16 bit SGPRs. Currently allow 32-bit SGPRs to be
folded into True16 bit instructions taking 16 bit values. Also use
sgpr_32 when Imm is copied to spgr_lo16 so it could be further folded.
This improves generated code quality.
Commit: c59d3a268444b14c2db0fdea7e4bd929bb30630b
https://github.com/llvm/llvm-project/commit/c59d3a268444b14c2db0fdea7e4bd929bb30630b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__config
Log Message:
-----------
[libc++] Add visibility annotations to the std namespace with GCC (#133233)
This allows us to remove the need for `_LIBCPP_TEMPLATE_VIS` and fixes a
bunch of missing annotations for RTTI when used across dylib boundaries.
`_LIBCPP_TEMPLATE_VIS` itself will be removed in a separate patch, since
it touches a lot of code.
This patch is a no-op for Clang. Only GCC is affected.
Commit: 2026873fb8a1f654aa920cd5ea8074e55053973b
https://github.com/llvm/llvm-project/commit/2026873fb8a1f654aa920cd5ea8074e55053973b
Author: David Peixotto <peix at meta.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/source/Core/PluginManager.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/PluginManagerTest.cpp
Log Message:
-----------
Add enable/disable api for SystemRuntime plugins (#133794)
This commit adds support for enabling and disabling plugins by name. The
changes are made generically in the `PluginInstances` class, but
currently we only expose the ability to SystemRuntime plugins. Other
plugins types can be added easily.
We had a few design goals for how disabled plugins should work
1. Plugins that are disabled should still be visible to the system. This
allows us to dynamically enable and disable plugins and report their
state to the user.
2. Plugin order should be stable across disable and enable changes. We
want avoid changing the order of plugin lookup. When a plugin is
re-enabled it should return to its original slot in the creation order.
3. Disabled plugins should not appear in PluginManager operations.
Clients should be able to assume that only enabled plugins will be
returned from the PluginManager.
For the implementation we modify the plugin instance to maintain a bool
of its enabled state. Existing clients external to the Instances class
expect to iterate over only enabled instance so we skip over disabed
instances in the query and snapshot apis. This way the client does not
have to manually check which instances are enabled.
Commit: 564e04b703dc5df062f862e32c00bf1a1716f96f
https://github.com/llvm/llvm-project/commit/564e04b703dc5df062f862e32c00bf1a1716f96f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
A flang/test/Semantics/OpenMP/declare-target-function-name-with-symbols.f90
Log Message:
-----------
[flang][OpenMP] Use function symbol on DECLARE TARGET (#134107)
Consider:
```
function foo()
!$omp declare target(foo) ! This `foo` was a function-result symbol
...
end
```
When resolving symbols, for this case use the symbol corresponding to
the function instead of the symbol corresponding to the function result.
Currently, this will result in an error:
```
error: A variable that appears in a DECLARE TARGET directive must be
declared in the scope of a module or have the SAVE attribute, either
explicitly or implicitly
```
Commit: df9e5ae5b40c4d245d904a2565e46f5b7ab9c7c8
https://github.com/llvm/llvm-project/commit/df9e5ae5b40c4d245d904a2565e46f5b7ab9c7c8
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shl-bo.ll
M llvm/test/Transforms/InstCombine/shl-twice-constant.ll
M llvm/test/Transforms/InstCombine/sub.ll
Log Message:
-----------
[InstCombine] Match scalable splats in m_ImmConstant (#132522)
#118806 fixed an infinite loop in FoldShiftByConstant that could occur
when the shift amount was a ConstantExpr.
However this meant that FoldShiftByConstant no longer kicked in for
scalable vectors because scalable splats are represented by
ConstantExprs.
This fixes it by allowing scalable splats of non-ConstantExprs in
m_ImmConstant, which also fixes a few other test cases where scalable
splats were being missed.
But I'm also hoping that UseConstantIntForScalableSplat will eventually
remove the need for this.
I noticed this when trying to reverse a combine on RISC-V in #132245,
and saw that the resulting vector and scalar forms were different.
---------
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: 2bee24632f38699f1af8fdf4daa5b28053c7ae5f
https://github.com/llvm/llvm-project/commit/2bee24632f38699f1af8fdf4daa5b28053c7ae5f
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/include/mlir/Interfaces/SideEffectInterfaceBase.td
Log Message:
-----------
[mlir][bugfix] Fix erroneous condition in `getEffectsOnResource` (#133638)
This patch corrects an invalid condition in `getEffectsOnResource` used
to identify relevant "resources":
```cpp
return it.getResource() != resource;
```
The current implementation assumes that only one instance of each
resource will exist, so comparing raw pointers is both safe and
sufficient. This assumption stems from constructs like:
```cpp
static DerivedResource *get() {
static DerivedResource instance;
return &instance;
}
```
i.e., resource instances returned via static singleton methods.
However, as discussed in
* https://github.com/llvm/llvm-project/issues/129216,
this assumption breaks in practice — notably on macOS (Apple Silicon)
when built with:
* `-DBUILD_SHARED_LIBS=On`.
In such cases, multiple instances of the same logical resource may exist
across shared library boundaries, leading to incorrect behavior and
causing failures in tests like:
* test/Dialect/Transform/check-use-after-free.mlir
This patch replaces the pointer comparison with a comparison based on
resource identity:
```cpp
return it.getResource()->getResourceID() != resource->getResourceID();
```
This approach aligns better with the intent of `getEffectsOnResource`,
which is to:
```cpp
/// Collect all of the effect instances that operate on the provided
/// resource (...)
```
Fixes #129216
Commit: bb8a7a7349f9842e587cb43b2a81b3d46c1e70ef
https://github.com/llvm/llvm-project/commit/bb8a7a7349f9842e587cb43b2a81b3d46c1e70ef
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-wait-construct.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
M clang/test/SemaOpenACC/combined-construct-wait-clause.c
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct-wait-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-clause.c
A clang/test/SemaOpenACC/no-empty-pqr-list.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenACC/wait-construct-ast.cpp
Log Message:
-----------
[OpenACC] Implement 'pqr-list' has at least one 1 item.
OpenACC Github PR#499 defines the pqr-list as having at least 1 item. We
already handle that for all but 'wait', so this patch just does the work
to add it for 'wait', plus adds tests.
Commit: 554859c73688ec11786a060613989d1a333991bb
https://github.com/llvm/llvm-project/commit/554859c73688ec11786a060613989d1a333991bb
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/VE/VETargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[TTI] Make isLegalMasked{Load,Store} take an address space (#134006)
In order to facilitate targets that only support masked loads/stores
on certain address spaces (AMDGPU will support them in an upcoming
patch, but only for address space 7), add an AddressSpace parameter
to isLegalMaskedLoad and isLegalMaskedStore
Commit: 51d1c7288662ea801b07133fd2d22aff6bac50e2
https://github.com/llvm/llvm-project/commit/51d1c7288662ea801b07133fd2d22aff6bac50e2
Author: Abhinav Kumar <96587705+kr-2003 at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libc/src/__support/CPP/type_traits/is_signed.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/test/src/__support/CPP/type_traits_test.cpp
Log Message:
-----------
[libc] Added support for fixed-points in ``is_signed`` and ``is_unsigned``. (#133371)
Fixes #133365
## Changes Done
- Changed the signed checking to
```cpp
struct is_signed : bool_constant<((is_fixed_point<T> || is_arithmetic_v<T>) && (T(-1) < T(0)))>
```
in ``/libc/src/__support/CPP/type_traits/is_signed.h``. Added check for
fixed-points.
- But, got to know that this will fail for ``unsigned _Fract`` or any
unsigned fixed-point because ``unsigned _Fract`` can’t represent -1 in
T(-1), while ``unsigned int`` can handle it via wrapping.
- That's why I explicity added ``is_signed`` check for ``unsigned``
fixed-points.
- Same changes to ``/libc/src/__support/CPP/type_traits/is_unsigned.h``.
- Added tests for ``is_signed`` and ``is_unsigned``.
Commit: a8585654c2be671d78206666223dae28fe3ac511
https://github.com/llvm/llvm-project/commit/a8585654c2be671d78206666223dae28fe3ac511
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/utils/revert_checker.py
Log Message:
-----------
[llvm][utils] skip revert-checking reverts across branches (#134108)
e2ba1b6ffde4ec607342b1b746d1b57f0f04390a references that it reverts a
commit that's not a parent of e2ba1b6ffde4ec607342b1b746d1b57f0f04390a.
Functionally, this can (and demonstrably does) work(*), but from the
standpoint of the revert checker, it's nonsense. Print a `logging.error`
when it's detected.
Tested by running the revert checker against a commit range that
includes the aforementioned commit; the logging.error was fired
appropriately.
(*) - the specifics here are:
- the _SHA_ that was referenced was on a non-main branch, but
- the commit from the non-main branch was merged into the non-main
branch from main
- ...so the _functional_ commit being reverted was originally landed on
main, but the _SHA_ referenced from main was from a branch that was cut
before the reverted-commit was landed on main
Commit: a1b0b4997e1744827ae8c066f677e416c0b6f16d
https://github.com/llvm/llvm-project/commit/a1b0b4997e1744827ae8c066f677e416c0b6f16d
Author: vporpo <vporpodas at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
Log Message:
-----------
[SandboxVec][NFC] Replace std::regex with llvm::Regex (#134110)
Commit: 4b67c53e206ea13963acb2452d681aa744344018
https://github.com/llvm/llvm-project/commit/4b67c53e206ea13963acb2452d681aa744344018
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use recipe debug loc instead of instr DLs in more cases (NFC)
Update both VPInterleaveRecipe and VPReplicateRecipe codegen to use
debug location directly from the recipe, not the underlying instruction.
This removes another dependency on underlying instructions.
Commit: 38937ac24cc91653c2984e112d548955cb442484
https://github.com/llvm/llvm-project/commit/38937ac24cc91653c2984e112d548955cb442484
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Check line and column for errors in rv(32/64)zcmp-invalid.s. NFC
Same for the Xqccmp version.
Commit: 066787b9bdc4ec5ae7e365b651f37840fd5bb2b5
https://github.com/llvm/llvm-project/commit/066787b9bdc4ec5ae7e365b651f37840fd5bb2b5
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/AMDGPU/true16-fold.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] fold clamp update for true16 (#128919)
Check through COPY for possible clamp folding for v_mad_mixhi_f16 isel
Commit: db21ae7803333032e466ead0c2a29c6760739936
https://github.com/llvm/llvm-project/commit/db21ae7803333032e466ead0c2a29c6760739936
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Support any_sync and ballot_sync (#134135)
Commit: 42b3f91fd6c850492f6f899d6a0f12ccb948aa1a
https://github.com/llvm/llvm-project/commit/42b3f91fd6c850492f6f899d6a0f12ccb948aa1a
Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir] Vectorize tensor.pad with low padding for unit dims (#133808)
We currently do not have masked vectorization support for tenor.pad with
low padding. However, we can allow this in the special case where the
result dimension after padding is a unit dim. The reason is when we
actually have a low pad on a unit dim, the input size of that dimension
will be (or should be for correct IR) dynamically zero and hence we will
create a zero mask which is correct. If the low pad is dynamically zero
then the lowering is correct as well.
---------
Signed-off-by: Nirvedh <nirvedh at gmail.com>
Commit: 81601cf3ab5dd09635c0b3025004c3cfc146498d
https://github.com/llvm/llvm-project/commit/81601cf3ab5dd09635c0b3025004c3cfc146498d
Author: Chris B <chris.bieneman at me.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[Docs] Clarify that `reassoc` isn't just for reassociation (#133168)
The `reassoc` fast-math flag allows a much wider array of algebraic
transformations than just strictly reassociations. In some cases it does
commutations, distributions, and folds away redundant inverse
operations...
While it might make sense to fix the flag naming at some point, in the
meantime we should at least have the docs be accurate to avoid
confusion.
Commit: 380defd4b3cd980d8b2031136a02764182eaa85b
https://github.com/llvm/llvm-project/commit/380defd4b3cd980d8b2031136a02764182eaa85b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Update VPInterleaveRecipe to take debug loc directly as arg (NFC)
Commit: 76fa9530c9ac7f81a49b840556f51f4838efbfe1
https://github.com/llvm/llvm-project/commit/76fa9530c9ac7f81a49b840556f51f4838efbfe1
Author: Theo de Magalhaes <theodemagalhaes at icloud.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/RecordLayoutBuilder.cpp
A clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
A clang/test/SemaCXX/windows-Wpadded.cpp
Log Message:
-----------
[clang] add support for -Wpadded on Windows (#130182)
Implements the -Wpadded warning for --target=x86_64-windows-msvc etc.
Fixes #61702 .
Commit: acc6bcdc504ad2e8c09a628dc18de0067f7344b8
https://github.com/llvm/llvm-project/commit/acc6bcdc504ad2e8c09a628dc18de0067f7344b8
Author: Sami Tolvanen <samitolvanen at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/patchable-function-entry-section.c
M clang/test/Driver/fpatchable-function-entry.c
M clang/test/Sema/patchable-function-entry-attr.c
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/X86/patchable-function-entry.ll
M llvm/test/Verifier/invalid-patchable-function-entry.ll
Log Message:
-----------
Support alternative sections for patchable function entries (#131230)
With -fpatchable-function-entry (or the patchable_function_entry
function attribute), we emit records of patchable entry locations to the
__patchable_function_entries section. Add an additional parameter to the
command line option that allows one to specify a different default
section name for the records, and an identical parameter to the function
attribute that allows one to override the section used.
The main use case for this change is the Linux kernel using prefix NOPs
for ftrace, and thus depending on__patchable_function_entries to locate
traceable functions. Functions that are not traceable currently disable
entry NOPs using the function attribute, but this creates a
compatibility issue with -fsanitize=kcfi, which expects all indirectly
callable functions to have a type hash prefix at the same offset from
the function entry.
Adding a section parameter would allow the kernel to distinguish between
traceable and non-traceable functions by adding entry records to
separate sections while maintaining a stable function prefix layout for
all functions. LKML discussion:
https://lore.kernel.org/lkml/Y1QEzk%2FA41PKLEPe@hirez.programming.kicks-ass.net/
Commit: 8100bd58a3fc87576bf6d57f79e6bd70e10b83d3
https://github.com/llvm/llvm-project/commit/8100bd58a3fc87576bf6d57f79e6bd70e10b83d3
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M openmp/runtime/src/dllexports
M openmp/runtime/src/include/omp.h.var
M openmp/runtime/src/include/omp_lib.F90.var
M openmp/runtime/src/include/omp_lib.h.var
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_alloc.cpp
M openmp/runtime/src/kmp_ftn_entry.h
M openmp/runtime/src/kmp_ftn_os.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_stub.cpp
A openmp/runtime/test/api/omp60_memory_routines.c
Log Message:
-----------
[OpenMP] 6.0 (TR11) Memory Management Update (#97106)
TR11 introduced changes to support target memory management in a unified
way by defining a series of API routines and additional traits. Host
runtime is oblivious to how actual memory resources are mapped when
using the new API routines, so it can only support how the composed
memory space is maintained, and the offload backend must handle which
memory resources are actually used to allocate memory from the memory
space.
Here is summary of the implementation.
* Implemented 12 API routines to get/mainpulate memory space/allocator.
* Memory space composed with a list of devices has a state with resource
description, and runtime is responsible for maintaining the allocated
memory space objects.
* Defined interface with offload runtime to access memory resource list,
and to redirect calls to omp_alloc/omp_free since it requires
backend-specific information.
* Value of omp_default_mem_space changed from 0 to 99, and
omp_null_mem_space took the value 0 as defined in the language.
* New allocator traits were introduced, but how to use them is up to the
offload backend.
* Added basic tests for the new API routines.
Commit: 93d3775da8810e1542873b1cdcec2ea142704561
https://github.com/llvm/llvm-project/commit/93d3775da8810e1542873b1cdcec2ea142704561
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/test/API/lang/objc/tagged-pointer/TestTaggedPointerCmd.py
Log Message:
-----------
[lldb] Fix tagged-pointer info address parsing (#134123)
Change `objc tagged-pointer info` to call
`OptionArgParser::ToRawAddress`.
Previously `ToAddress` was used, but it calls `FixCodeAddress`, which
can erroneously mutate the bits of a tagged pointer.
Commit: 990a086d9da0bc2fd53a6a4c95ecbbe23a297a83
https://github.com/llvm/llvm-project/commit/990a086d9da0bc2fd53a6a4c95ecbbe23a297a83
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/__support/CPP/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after 51d1c7288662ea801b07133fd2d22aff6bac50e2
Commit: f302f35526553abcb46dab278c4494c3d01deb45
https://github.com/llvm/llvm-project/commit/f302f35526553abcb46dab278c4494c3d01deb45
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
R clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/Misc/diag-template-diffing-cxx11.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
Log Message:
-----------
[clang] Track final substitution for Subst* AST nodes (#132748)
Commit: dedb632b833f14ef28c6f8a7f5e8983c1be60fa9
https://github.com/llvm/llvm-project/commit/dedb632b833f14ef28c6f8a7f5e8983c1be60fa9
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-options.hip
Log Message:
-----------
[HIP] Claim `--offload-compress` for `-M` (#133456)
Cmake automatically generates dependency files with all compilation
options provided by users. When users use `--offload-compress` for HIP
compilation, it causes warnings when cmake generates dependency files.
Claim this option to suppress warnings.
Commit: 3f7ca8826776f32526e948b89816db492435f2e2
https://github.com/llvm/llvm-project/commit/3f7ca8826776f32526e948b89816db492435f2e2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
Log Message:
-----------
[lldb-dap] Add progress events to the packet list (#134157)
Before #134048, TestDAP_Progress relied on wait_for_event to block until
the progressEnd came in. However, progress events were not added to the
packet list, so this call would always time out. This PR makes it so
that packets are added to the packet list, and you can block on them.
Commit: c57b9c233a87f37e034445596ed09260cc6b23f5
https://github.com/llvm/llvm-project/commit/c57b9c233a87f37e034445596ed09260cc6b23f5
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/unary.cpp
A clang/test/CIR/IR/unary.cir
Log Message:
-----------
[CIR] Generate the nsw flag correctly for unary ops (#133815)
A previous checkin used a workaround to generate the nsw flag where
needed for unary ops. This change upstreams a subsequent change that was
made in the incubator to generate the flag correctly.
Commit: 1edb6b0af1c47f88aa5c230a1a2b769eeb3c30aa
https://github.com/llvm/llvm-project/commit/1edb6b0af1c47f88aa5c230a1a2b769eeb3c30aa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Fix crash in parseZcmpStackAdj if token is not an integer.
Commit: 40a0e3430442c7ec72e84063ea4b679700d4c3d8
https://github.com/llvm/llvm-project/commit/40a0e3430442c7ec72e84063ea4b679700d4c3d8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Use location of negative sign if present for error in parseZcmpStackAdj
As far as the user is concerned the negative sign and the number
are a single value so the error should point to the beginning.
Commit: be3abfc00f37d07c641b3e2f93eef5d1a446af8e
https://github.com/llvm/llvm-project/commit/be3abfc00f37d07c641b3e2f93eef5d1a446af8e
Author: Jeremy Day <jeremy at thebrowser.company>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
Log Message:
-----------
[lldb] Clear thread name container before writing UTF8 bytes (#134150)
`llvm::convertUTF16ToUTF8String` opens with an assertion that the output
container is empty:
https://github.com/llvm/llvm-project/blob/3bdf9a08804a5b424fd32fef3b0089f3a6db839d/llvm/lib/Support/ConvertUTFWrapper.cpp#L83-L84
It's not clear to me why this function requires the output container to
be empty instead of just overwriting it, but the callsite in
`TargetThreadWindows::GetName` may reuse the container without clearing
it out first, resulting in an assertion failure:
```
# Child-SP RetAddr Call Site
00 000000d2`44b8ea48 00007ff8`beefc12e ntdll!NtTerminateProcess+0x14
01 000000d2`44b8ea50 00007ff8`bcf518ab ntdll!RtlExitUserProcess+0x11e
02 000000d2`44b8ea80 00007ff8`bc0e0143 KERNEL32!ExitProcessImplementation+0xb
03 000000d2`44b8eab0 00007ff8`bc0e4c49 ucrtbase!common_exit+0xc7
04 000000d2`44b8eb10 00007ff8`bc102ae6 ucrtbase!abort+0x69
05 000000d2`44b8eb40 00007ff8`bc102cc1 ucrtbase!common_assert_to_stderr<wchar_t>+0x6e
06 000000d2`44b8eb80 00007fff`b8e27a80 ucrtbase!wassert+0x71
07 000000d2`44b8ebb0 00007fff`b8b821e1 liblldb!llvm::convertUTF16ToUTF8String+0x30 [D:\r\_work\swift-build\swift-build\SourceCache\llvm-project\llvm\lib\Support\ConvertUTFWrapper.cpp @ 88]
08 000000d2`44b8ec30 00007fff`b83e9aa2 liblldb!lldb_private::TargetThreadWindows::GetName+0x1b1 [D:\r\_work\swift-build\swift-build\SourceCache\llvm-project\lldb\source\Plugins\Process\Windows\Common\TargetThreadWindows.cpp @ 198]
09 000000d2`44b8eca0 00007ff7`2a3c3c14 liblldb!lldb::SBThread::GetName+0x102 [D:\r\_work\swift-build\swift-build\SourceCache\llvm-project\lldb\source\API\SBThread.cpp @ 432]
0a 000000d2`44b8ed70 00007ff7`2a3a5ac6 lldb_dap!lldb_dap::CreateThread+0x1f4 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\JSONUtils.cpp @ 877]
0b 000000d2`44b8ef10 00007ff7`2a3b0ab5 lldb_dap!`anonymous namespace'::request_threads+0xa6 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\lldb-dap.cpp @ 3906]
0c 000000d2`44b8f010 00007ff7`2a3b0fe8 lldb_dap!lldb_dap::DAP::HandleObject+0x1c5 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\DAP.cpp @ 796]
0d 000000d2`44b8f130 00007ff7`2a3a8b96 lldb_dap!lldb_dap::DAP::Loop+0x78 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\DAP.cpp @ 812]
0e 000000d2`44b8f1d0 00007ff7`2a4b5fbc lldb_dap!main+0x1096 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\lldb-dap.cpp @ 5319]
0f (Inline Function) --------`-------- lldb_dap!invoke_main+0x22 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 78]
10 000000d2`44b8fb80 00007ff8`bcf3e8d7 lldb_dap!__scrt_common_main_seh+0x10c [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
11 000000d2`44b8fbc0 00007ff8`beefbf6c KERNEL32!BaseThreadInitThunk+0x17
12 000000d2`44b8fbf0 00000000`00000000 ntdll!RtlUserThreadStart+0x2c
```
This stack trace was captured from the lldb distributed in the Swift
toolchain. The issue is easy to reproduce by resuming from a breakpoint
twice in VS Code.
I've verified that clearing out the container here fixes the assertion
failure.
Commit: ffed17624eb14a52c1db890e4e8e195dbe5f19b6
https://github.com/llvm/llvm-project/commit/ffed17624eb14a52c1db890e4e8e195dbe5f19b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Correct the error location for the X26 check in parseRegListCommon.
We should point to the start of the reglist not the closing parenthesis.
I also moved the check after we finishing parsing the closing brace.
The diagnostic mentions '{ra, s0-s10} or {x1, x8-x9, x18-x26}' so we
should be sure that's what we parsed.
Commit: f68a5185d0959929bd0b0249a8128d0720315dab
https://github.com/llvm/llvm-project/commit/f68a5185d0959929bd0b0249a8128d0720315dab
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll
Log Message:
-----------
Allow this test to pass when the source is on a read-only filesystem (#134179)
llc attempts to create an empty file in the current directory, but it
can't do that on a read-only file system. Send that empty-output to
stdout, which prevents this failure.
Commit: 7559c64c5e97d9f33563f1c6afcfd7f7aac01046
https://github.com/llvm/llvm-project/commit/7559c64c5e97d9f33563f1c6afcfd7f7aac01046
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/test/tools/llvm-reduce/reduce-functions-blockaddress-wrong-function.ll
Log Message:
-----------
CloneModule: Map global initializers after mapping the function (#134082)
Commit: b55bab229228218341e2f24fc8529c7aaab51e2f
https://github.com/llvm/llvm-project/commit/b55bab229228218341e2f24fc8529c7aaab51e2f
Author: David Peixotto <peix at meta.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/unittests/Core/PluginManagerTest.cpp
Log Message:
-----------
[lldb] Fix plugin manager test failure on windows (#134173)
This is an attempt to fix a test failure from #133794 when running on
windows builds. I suspect we are running into a case where the
[ICF](https://learn.microsoft.com/en-us/cpp/build/reference/opt-optimizations?view=msvc-170)
optimization kicks in and combines the CreateSystemRuntimePlugin*
functions into a single address. This means that we cannot uniquely
unregister the plugin based on its create function address.
The fix is have each create function return a different (bogus) value.
Commit: e5809f01720b9d016f940bc132278f2f2adf0665
https://github.com/llvm/llvm-project/commit/e5809f01720b9d016f940bc132278f2f2adf0665
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/CMakeLists.txt
Log Message:
-----------
[LLVM] Only build the GPU loader utility if it has LLVM-libc (#134141)
Summary:
There were some discussions about this being included by default. I need
to fix this up and codify the use of LLVM libc inside of LLVM. For now,
just turn it off unless the user requested the `libc` GPU stuff. This
matches the old behavior.
Commit: 749c20b3e0b88792c10d7709874f3ae374e8170e
https://github.com/llvm/llvm-project/commit/749c20b3e0b88792c10d7709874f3ae374e8170e
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/utils/lit/tests/Inputs/test-data/dummy_format.py
M llvm/utils/lit/tests/Inputs/test-data/metrics.ini
M llvm/utils/lit/tests/test-data.py
M llvm/utils/lit/tests/test-output.py
Log Message:
-----------
[LIT] Add a test for lit.Test.toMetricValue. NFC
Commit: fb7135ec5239a45b43fae6206f7409fd77c50b9f
https://github.com/llvm/llvm-project/commit/fb7135ec5239a45b43fae6206f7409fd77c50b9f
Author: Ankur Ahir <69181589+Ankur-0429 at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
Log Message:
-----------
[Clang] fixed clang frontend crash with friend class declaration and overload == (#133878)
Commit: 02467f9e2100d451b52bc63abc9c94829d7b83f4
https://github.com/llvm/llvm-project/commit/02467f9e2100d451b52bc63abc9c94829d7b83f4
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
A llvm/test/ThinLTO/X86/ctxprof-separate-module.ll
Log Message:
-----------
[ctxprof] Option to move a whole tree to its own module (#133992)
Modules may contain a mix of functions that participate or don't participate in callgraphs covered by a contextual profile. We currently have been importing all the functions under a context root in the module defining that root, but if the other functions there are covered by flat profiles, the result is difficult to reason about.
This patch allows moving everything under a context root (and that root) in its own module. For now, we expect a module with a filename matching the GUID of the function be present in the set of modules known by the linker. This mechanism can be improved in a later patch.
Subsequent patches will handle implementing "move" instead of "import" semantics for the root function (because we want to make sure only one version of the root exists - so the optimizations we perform are actually the ones being observed at runtime).
Commit: d59b2c4def9fe187317c20f96cc76eda09bc68a0
https://github.com/llvm/llvm-project/commit/d59b2c4def9fe187317c20f96cc76eda09bc68a0
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
Log Message:
-----------
[ctxprof][nfc] Make `computeImportForFunction` a member of `ModuleImportsManager` (#134011)
Commit: ff0c2fbd8eb66688746476a7ec850fb5afb4d588
https://github.com/llvm/llvm-project/commit/ff0c2fbd8eb66688746476a7ec850fb5afb4d588
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/absd.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/absd.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for vector absolute difference (#132898)
Commit: 18c43d01fc61648369fef50999e7df62b3ec292f
https://github.com/llvm/llvm-project/commit/18c43d01fc61648369fef50999e7df62b3ec292f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A lldb/test/Shell/DAP/TestHelp.test
R lldb/test/Shell/DAP/TestOptions.test
A lldb/test/Shell/DAP/TestVersion.test
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Add a -v/--version command line argument (#134114)
Add a -v/--version command line argument to print the version of both
the lldb-dap binary and the liblldb it's linked against.
This is motivated by me trying to figure out which lldb-dap I had in my
PATH.
Commit: 94dbe5e405a1e8c9ed1462947e2d5a8e45113d47
https://github.com/llvm/llvm-project/commit/94dbe5e405a1e8c9ed1462947e2d5a8e45113d47
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Remove extra whitespace in the PadOp example (#134113)
Trivial cleanup change.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 4fe0d742752c55d5d10b48620aab30fd81db6645
https://github.com/llvm/llvm-project/commit/4fe0d742752c55d5d10b48620aab30fd81db6645
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating braces (#134039)
Fix #133873
Commit: 4986a7964858979d00f0c9a98d13db555d8a6f0d
https://github.com/llvm/llvm-project/commit/4986a7964858979d00f0c9a98d13db555d8a6f0d
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/test/TableGen/MacroFusion.td
M llvm/utils/TableGen/Common/PredicateExpander.cpp
Log Message:
-----------
[TableGen] Emit `llvm::is_contained` for `CheckOpcode` predicate (#134057)
When the list is large, using `llvm::is_contained` is of higher
performance than a sequence of comparisons. When the list is small,
the `llvm::is_contained` can be inlined and unrolled, which has the
same effect as using a sequence of comparisons.
And the generated code is more readable.
Commit: dcc2182bce3d2ef0e0a991664c51b4b3bfcf7197
https://github.com/llvm/llvm-project/commit/dcc2182bce3d2ef0e0a991664c51b4b3bfcf7197
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
Log Message:
-----------
[Clang] Fix a lambda pattern comparison mismatch after ecc7e6ce4 (#133863)
In ecc7e6ce4, we tried to inspect the `LambdaScopeInfo` on stack to
recover the instantiating lambda captures. However, there was a mismatch
in how we compared the pattern declarations of lambdas: the constraint
instantiation used a tailored `getPatternFunctionDecl()` which is
localized in SemaLambda that finds the very primal template declaration
of a lambda, while `FunctionDecl::getTemplateInstantiationPattern` finds
the latest template pattern of a lambda. This difference causes issues
when lambdas are nested, as we always want the primary template
declaration.
This corrects that by moving `Sema::addInstantiatedCapturesToScope` from
SemaConcept to SemaLambda, allowing it to use the localized version of
`getPatternFunctionDecl`.
It is also worth exploring to coalesce the implementation of
`getPatternFunctionDecl` with
`FunctionDecl::getTemplateInstantiationPattern`. But I’m leaving that
for the future, as I’d like to backport this fix (ecc7e6ce4 made the
issue more visible in clang 20, sorry!), and changing Sema’s ABI would
not be suitable in that regards. Hence, no release note.
Fixes https://github.com/llvm/llvm-project/issues/133719
Commit: 6a46c6c865270ceb01bcaef4a2e4c8df56a8800a
https://github.com/llvm/llvm-project/commit/6a46c6c865270ceb01bcaef4a2e4c8df56a8800a
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
Ensure KnownBits passed when calculating from range md has right size (#132985)
KnownBits passed to computeKnownBitsFromRangeMetadata must have the same
bit width as the range metadata bit width. Otherwise the calculated
results will be incorrect.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 4e40c7c4bd66d98f529a807dbf410dc46444f4ca
https://github.com/llvm/llvm-project/commit/4e40c7c4bd66d98f529a807dbf410dc46444f4ca
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
Log Message:
-----------
[lldb][debugserver] Save and restore the SVE/SME register state (#134184)
debugserver isn't saving and restoring the SVE/SME register state around
inferior function calls.
Making arbitrary function calls while in Streaming SVE mode is generally
a poor idea because a NEON instruction can be hit and crash the
expression execution, which is how I missed this, but they should be
handled correctly if the user knows it is safe to do.
rdar://146886210
Commit: 3140d51cf3984e83f6480efc6a6f06e4567e7486
https://github.com/llvm/llvm-project/commit/3140d51cf3984e83f6480efc6a6f06e4567e7486
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/bitcode-uselistorder.ll
Log Message:
-----------
llvm-reduce: Remove unsupported from bitcode uselistorder test (#134185)
This was disabled due to flakiness but I'm currently unable to
reproduce.
I'm nervous the original issue still exists. However, I downgraded the
tripped
assert in 8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d to a warning since
the same
assert can trigger for illegitimate reasons.
Fixes #64157
Commit: e3c0565b74b1f5122ab4dbabc3e941924e116330
https://github.com/llvm/llvm-project/commit/e3c0565b74b1f5122ab4dbabc3e941924e116330
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
Log Message:
-----------
Reapply "[cmake] Refactor clang unittest cmake" (#134195)
This reapplies 5ffd9bdb50b57 (#133545) with fixes.
The BUILD_SHARED_LIBS=ON build was fixed by adding missing LLVM
dependencies to the InterpTests binary in
unittests/AST/ByteCode/CMakeLists.txt .
Commit: b8d8405238387ddd92450d6a3ad84350254e76a3
https://github.com/llvm/llvm-project/commit/b8d8405238387ddd92450d6a3ad84350254e76a3
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/include/lldb/API/SBModule.h
M lldb/source/API/SBModule.cpp
Log Message:
-----------
[LLDB] Expose checking if the symbol file exists/is loaded via SBModule (#134163)
The motivation for this patch is that in Statistics.cpp we [check to see
if the module symfile is
loaded](https://github.com/llvm/llvm-project/blob/990a086d9da0bc2fd53a6a4c95ecbbe23a297a83/lldb/source/Target/Statistics.cpp#L353C60-L353C75)
to calculate how much debug info has been loaded. I have an external
utility that only wants to look at the loaded debug info, which isn't
exposed by the SBAPI.
Commit: 499827318971a7d540a2b928f43d782e63762a47
https://github.com/llvm/llvm-project/commit/499827318971a7d540a2b928f43d782e63762a47
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/MC/RISCV/insn_xqci-invalid.s
A llvm/test/MC/RISCV/insn_xqci.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
Log Message:
-----------
Reland [RISCV] Add Xqci Insn Formats (#134134)
This adds the following instruction formats from the Xqci Spec:
- QC.EAI
- QC.EI
- QC.EB
- QC.EJ
- QC.ES
The update to the THead test is because the largest number of operands
for a valid instruction has been bumped by this change.
This reverts commit 68fb7a5a1d203dde7badf67031bdd9eb650eef5d. This
relands commit 0cfabd37df9940346f3bf8a4d74c19e1f48a00e9.
Commit: 3ea7902494643517c519142002e42a65e81f40d0
https://github.com/llvm/llvm-project/commit/3ea7902494643517c519142002e42a65e81f40d0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
Log Message:
-----------
[RISCV] Check S0 register list check for qc.cm.pushfp to after we parsed the whole register list. (#134180)
This is more of a semantic check. The diagnostic location to has been
changed to point at the register list start instead of the
closing brace or whatever character might be there instead of a brace
if its malformed.
Commit: f4048268427f7a5dab4dea9b2d0fd908b8660644
https://github.com/llvm/llvm-project/commit/f4048268427f7a5dab4dea9b2d0fd908b8660644
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Don't allow '-' after 'ra' in Zcmp/Xqccmp register list. (#134182)
Move the parsing of '-' under the check that we parsed a comma.
Unfortunately, this leads to a poor error, but I still have more known
issues in this code and may end up with an overall restructuring and
want to think about wording.
Commit: 7f2abe8fd10e611696cbc637e715160851b1902b
https://github.com/llvm/llvm-project/commit/7f2abe8fd10e611696cbc637e715160851b1902b
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
R llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-hoist.ll
R llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-sink.ll
Log Message:
-----------
Revert "[Metadata] Preserve MD_prof when merging instructions when one is missing." (#134200)
Reverts llvm/llvm-project#132433
I suspect this change caused a failure in the bolt build bot.
https://lab.llvm.org/buildbot/#/builders/113/builds/6621
```
!9185 = !{!"branch_weights", i32 3912, i32 802}
Wrong number of operands
!9185 = !{!"branch_weights", i32 3912, i32 802}
fatal error: error in backend: Broken module found, compilation aborted!
```
Commit: a19c018379a1d08eceb5db533a19a6bf37423975
https://github.com/llvm/llvm-project/commit/a19c018379a1d08eceb5db533a19a6bf37423975
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
Log Message:
-----------
Revert "[lldb][debugserver] Save and restore the SVE/SME register state (#134184)"
This reverts commit 4e40c7c4bd66d98f529a807dbf410dc46444f4ca.
arm64 CI is getting a failure in
lldb-api.tools/lldb-server.TestGdbRemoteRegisterState.py
with this commit, need to investigate and re-land.
Commit: b384d6d6ccc8f4452cd7086061c657ce76b41224
https://github.com/llvm/llvm-project/commit/b384d6d6ccc8f4452cd7086061c657ce76b41224
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
Log Message:
-----------
[CodeGen] Don't include CGDebugInfo.h in CodeGenFunction.h (NFC) (#134100)
This is an expensive header, only include it where needed. Move some
functions out of line to achieve that.
This reduces time to build clang by ~0.5% in terms of instructions
retired.
Commit: 7e65944292278cc245e36cc6ca971654d584012d
https://github.com/llvm/llvm-project/commit/7e65944292278cc245e36cc6ca971654d584012d
Author: Hua Tian <akiratian at tencent.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/lib/CodeGen/ModuloSchedule.cpp
A llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals.mir
Log Message:
-----------
[llvm][CodeGen] avoid repeated interval calculation in window scheduler (#132352)
Some new registers are reused when replacing some old ones in
certain use case of ModuloScheduleExpander. It is necessary to
avoid repeated interval calculations for these registers.
Commit: 3295970d846b0d820b863f9eeac559b80239297e
https://github.com/llvm/llvm-project/commit/3295970d846b0d820b863f9eeac559b80239297e
Author: Iris <0.0 at owo.li>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
Log Message:
-----------
[ConstantFolding] Add support for `sinh` and `cosh` intrinsics in constant folding (#132671)
Closes #132503.
Commit: b6c0ce0bb67d822fac1e3b42461f66c261c1157c
https://github.com/llvm/llvm-project/commit/b6c0ce0bb67d822fac1e3b42461f66c261c1157c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[IR][NFC] Use `SwitchInst::defaultDestUnreachable` (#134199)
Commit: 91f3965be43ccb5291fcb5578b62648a1ece17bc
https://github.com/llvm/llvm-project/commit/91f3965be43ccb5291fcb5578b62648a1ece17bc
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
Log Message:
-----------
[LoopInterchange] Fix the vectorizable check for a loop (#133667)
In the profitability check for vectorization, the dependency matrix was
not handled correctly. This can result to make a wrong decision: It may
say "this loop can be vectorized" when in fact it cannot. The root cause
of this is that the check process early returns when it finds '=' or 'I'
in the dependency matrix. To make sure that we can actually vectorize
the loop, we need to check all the rows of the matrix. This patch fixes
the process of checking whether we can vectorize the loop or not. Now it
won't make a wrong decision for a loop that cannot be vectorized.
Related: #131130
Commit: 041e84261a502a28401813bf55aa778ee0bbcdeb
https://github.com/llvm/llvm-project/commit/041e84261a502a28401813bf55aa778ee0bbcdeb
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
[Clang][AMDGPU] Expose buffer load lds as a clang builtin (#132048)
CK is using either inline assembly or inline LLVM-IR builtins to
generate buffer_load_dword lds instructions.
This patch exposes this instruction as a Clang builtin available on gfx9 and gfx10.
Related to SWDEV-519702 and SWDEV-518861
Commit: 73e1710a4d5629cce5aaebc01cab1f76e3de5c84
https://github.com/llvm/llvm-project/commit/73e1710a4d5629cce5aaebc01cab1f76e3de5c84
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[SimplifyCFG] Remove unused variable. NFC. (#134211)
Commit: e1aaee7ea218f1d89646fa1f43bb4c94c27808b5
https://github.com/llvm/llvm-project/commit/e1aaee7ea218f1d89646fa1f43bb4c94c27808b5
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/SemaCXX/friend-default-parameters-modules.cpp
A clang/test/SemaCXX/friend-default-parameters.cpp
Log Message:
-----------
[modules] Handle friend function that was a definition but became only a declaration during AST deserialization (#132214)
Fix for regression #130917, changes in #111992 were too broad. This change reduces scope of previous fix. Added `ExternalASTSource::wasThisDeclarationADefinition` to detect cases when FunctionDecl lost body due to declaration merges.
Commit: 6333fa5160fbde4bd2cf6afe8856695c13ab621f
https://github.com/llvm/llvm-project/commit/6333fa5160fbde4bd2cf6afe8856695c13ab621f
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.h
Log Message:
-----------
[clang-tidy] Fix broken HeaderFilterRegex when read from config file (#133582)
PR https://github.com/llvm/llvm-project/pull/91400 broke the usage of
HeaderFilterRegex via config file, because it is now created at a
different point in the execution and leads to a different value.
The result of that is that using HeaderFilterRegex only in the config
file does NOT work, in other words clang-tidy stops triggering warnings
on header files, thereby losing a lot of coverage.
This patch reverts the logic so that the header filter is created upon
calling the getHeaderFilter() function.
Additionally, this patch adds 2 unit tests to prevent regressions in the
future:
- One of them, "simple", tests the most basic use case with a single
top-level .clang-tidy file.
- The second one, "inheritance", demonstrates that the subfolder only
gets warnings from headers within it, and not from parent headers.
Fixes #118009
Fixes #121969
Fixes #133453
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: edc22c64e527171041876f26a491bb1d03d905d5
https://github.com/llvm/llvm-project/commit/edc22c64e527171041876f26a491bb1d03d905d5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - only handle VTRUNC nodes with matching src/dst sizes (#134161)
Cleanup work for #133947 - we need to handle VTRUNC nodes with large
source vectors directly to allow us to widen the size of the shuffle
combine
We currently discard these results in combineX86ShufflesRecursively
anyhow as we don't allow inputs from getTargetShuffleInputs to be larger
than the shuffle value type
Commit: 7baa7edc00c5c92e2d17bae760db2e6df97dcec6
https://github.com/llvm/llvm-project/commit/7baa7edc00c5c92e2d17bae760db2e6df97dcec6
Author: Romaric Jodin <rjodin at chromium.org>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/integer/clc_mul_hi.cl
Log Message:
-----------
[libclc]: clspv: add a dummy implememtation for mul_hi (#134094)
clspv uses a better implementation that is not using a bigger side when
not available.
Add a dummy implementation for mul_hi to avoid to override the
implementation of clspv with the one in libclc.
Commit: 6ec66a2292a7321811700ce455cf404bdaa67fc0
https://github.com/llvm/llvm-project/commit/6ec66a2292a7321811700ce455cf404bdaa67fc0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Move VPERMV3(X,M,Y) -> VPERMV(M,CONCAT(X,Y)) fold after general VPERMV3 canonicalization
Pulled out of #133923 - this prevents regressions with SimplifyDemandedVectorEltsForTargetNode exposing VPERMV3(X,M,X) repeated operand patterns which were getting concatenated to wider VPERMV nodes before simpler canonicalizations could clean them up.
Commit: 6f324bd39b98659c81aae02595cee1b4c92db8e9
https://github.com/llvm/llvm-project/commit/6f324bd39b98659c81aae02595cee1b4c92db8e9
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Remove Convolution Type Verifiers (#134077)
Remove the test in the convolution verifier that checks the input and
output element types of convolution operations conform to the
constraints imposed by the TOSA 1.0 specification.
These checks are too strict for users of the TOSA dialect who wish to
allow more types than those allowed by the spec and provide
compatibility issues with earlier TOSA implementation which allowed more
type combinations.
Users who do wish to constrain the convolution types combination to only
those allowed by the TOSA 1.0 spec should run the TOSA validation pass
which already performs these checks.
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: 094904303d50e0ab14bc5f2586a602f79af95953
https://github.com/llvm/llvm-project/commit/094904303d50e0ab14bc5f2586a602f79af95953
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
Revert "[lldb] Return *const* UnwindPlan pointers from FuncUnwinders (#133247)"
This reverts commit d7afafdbc464e65c56a0a1d77bad426aa7538306.
Caused remote Linux to Linux buildbot failure
https://lab.llvm.org/buildbot/#/builders/195/builds/7046.
Commit: 662d385c7b07fc6aba51e73a09c254f551ab93ab
https://github.com/llvm/llvm-project/commit/662d385c7b07fc6aba51e73a09c254f551ab93ab
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb/telemetry] Report exit status only once (#134078)
SetExitStatus can be called the second time when we reap the debug
server process. This shouldn't be interesting as at that point, we've
already told everyone that the process has exited.
I believe/hope this will also help with sporadic shutdown crashes that
have cropped up recently. They happen because the debug server is
monitored from a detached thread, so this code can be called after main
returns (and starts destroying everything). This isn't a real fix for
that though, as the situation can still happen (it's just that it
usually happens after the exit status has already been set). I think the
real fix for that is to make sure these threads terminate before we
start shutting everything down.
Commit: 2e7ed78cff0ad3e3535443ce8c0c3c0e0925ff73
https://github.com/llvm/llvm-project/commit/2e7ed78cff0ad3e3535443ce8c0c3c0e0925ff73
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
Log Message:
-----------
[mlir][spirv] Add instruction OpGroupNonUniformRotateKHR (#133428)
Add an instruction under the extension SPV_KHR_subgroup_rotate.
The specification for the extension is here:
https://github.khronos.org/SPIRV-Registry/extensions/KHR/SPV_KHR_subgroup_rotate.html
Commit: bf516098fb7c7d428cae03296b92766467f76c9e
https://github.com/llvm/llvm-project/commit/bf516098fb7c7d428cae03296b92766467f76c9e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - reduce the size of VPERMV/VPERMV3 nodes if the upper elements are not demanded (#133923)
With AVX512VL targets, use 128/256-bit VPERMV/VPERMV3 nodes when we only need the lower elements.
Commit: ecc35456d79aac3fb85fe95e30cdaaca916e8722
https://github.com/llvm/llvm-project/commit/ecc35456d79aac3fb85fe95e30cdaaca916e8722
Author: Camsyn <camsyn at foxmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
Log Message:
-----------
[Utils] Fix incorrect LCSSA PHI nodes when splitting critical edges with MergeIdenticalEdges (#131744)
This PR fixes incorrect LCSSA PHI node generation when splitting
critical edges with both
`PreserveLCSSA` and `MergeIdenticalEdges` enabled. The bug caused PHI
nodes in the split block
to miss predecessors when multiple identical edges were merged.
Commit: 61907ebd764afe75aa7134627f41827e6893d6d0
https://github.com/llvm/llvm-project/commit/61907ebd764afe75aa7134627f41827e6893d6d0
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGBuilder.h
Log Message:
-----------
[Clang][CodeGen] Do not use the GEP result to infer offset and result type (#134221)
If `CreateConstInBoundsGEP2_32` returns a constant null/gep, the cast to
GetElementPtrInst will fail.
This patch uses two static helpers
`GEPOperator::accumulateConstantOffset/GetElementPtrInst::getIndexedType`
to infer offset and result type instead of depending on the GEP result.
This patch is extracted from
https://github.com/llvm/llvm-project/pull/130734.
Commit: 554f4d1a5769357ee8438c23f572d595c720ff3c
https://github.com/llvm/llvm-project/commit/554f4d1a5769357ee8438c23f572d595c720ff3c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/source/Target/Process.cpp
A lldb/test/API/commands/expression/expr-from-non-zero-frame/Makefile
A lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
A lldb/test/API/commands/expression/expr-from-non-zero-frame/main.c
Log Message:
-----------
[lldb][Target] RunThreadPlan to save/restore the ExecutionContext's frame if one exists (#134097)
When using `SBFrame::EvaluateExpression` on a frame that's not the
currently selected frame, we would sometimes run into errors such as:
```
error: error: The context has changed before we could JIT the expression!
error: errored out in DoExecute, couldn't PrepareToExecuteJITExpression
```
During expression parsing, we call `RunStaticInitializers`. On our
internal fork this happens quite frequently because any usage of, e.g.,
function pointers, will inject ptrauth fixup code into the expression.
The static initializers are run using `RunThreadPlan`. The
`ExecutionContext::m_frame_sp` going into the `RunThreadPlan` is the
`SBFrame` that we called `EvaluateExpression` on. LLDB then tries to
save this frame to restore it after the thread-plan ran (the restore
occurs by unconditionally overwriting whatever is in
`ExecutionContext::m_frame_sp`). However, if the `selected_frame_sp` is
not the same as the `SBFrame`, then `RunThreadPlan` would set the
`ExecutionContext`'s frame to a different frame than what we started
with. When we `PrepareToExecuteJITExpression`, LLDB checks whether the
`ExecutionContext` frame changed from when we initially
`EvaluateExpression`, and if did, bails out with the error above.
One such test-case is attached. This currently passes regardless of the
fix because our ptrauth static initializers code isn't upstream yet. But
the plan is to upstream it soon.
This patch addresses the issue by saving/restoring the frame of the
incoming `ExecutionContext`, if such frame exists. Otherwise, fall back
to using the selected frame.
rdar://147456589
Commit: 6c27817294d96705ffd005aea52494ea40b1ef74
https://github.com/llvm/llvm-project/commit/6c27817294d96705ffd005aea52494ea40b1ef74
Author: David Green <david.green at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/Thumb2/mve-vdup.ll
M llvm/test/CodeGen/WebAssembly/simd-shuffle-bitcast.ll
M llvm/test/CodeGen/X86/kmov.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
Log Message:
-----------
[SelectionDAG] Use SimplifyDemandedBits from SimplifyDemandedVectorElts Bitcast. (#133717)
This adds a call to SimplifyDemandedBits from bitcasts with scalar input
types in SimplifyDemandedVectorElts, which can help simplify the input
scalar.
Commit: cb0d1305d12ea6637a541028eb0a4438750164b9
https://github.com/llvm/llvm-project/commit/cb0d1305d12ea6637a541028eb0a4438750164b9
Author: Simi Pallipurath <simi.pallipurath at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/print-multi-selection-flags.c
Log Message:
-----------
[Clang][ARM] Ensure both -mno-unaligned-access and -munaligned-access are passed to multilib selection logic (#134099)
Previously, alignment option was passed to multilib selection logic only
when -mno-unaligned-access was explicitly specified on the command line.
Now this change ensure both -mno-unaligned-access and -munaligned-access
are passed to the multilib selection logic, which now also considers the
target architecture when determining alignment access policy.
Commit: ee4e8197fa67dd1ed6e9470e00708e7feeaacd97
https://github.com/llvm/llvm-project/commit/ee4e8197fa67dd1ed6e9470e00708e7feeaacd97
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-extract.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-pr92779.ll
M llvm/test/CodeGen/AArch64/sve-split-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
Log Message:
-----------
[LLVM][AArch64][SVE] Mark DUP immediate instructions with isAsCheapAsAMove. (#133945)
Doing this means we'll regenerate an immediate rather than copy the
result of an existing one, reducing instruction dependency chains.
Commit: 7febd78f1e6caacb05ea43fa838a3b2b21fdd0bd
https://github.com/llvm/llvm-project/commit/7febd78f1e6caacb05ea43fa838a3b2b21fdd0bd
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
Log Message:
-----------
No longer diagnose __auto_type as the auto extension (#134129)
Given:
__auto_type x = 12;
decltype(auto) y = 12;
-Wc++98-compat would diagnose both x and y with:
'auto' type specifier is incompatible with C++98
This patch silences the diagnostic in those cases. decltype(auto) is
still diagnosed with:
'decltype(auto)' type specifier is incompatible with C++ standards
before C++14
as expected but no longer produces the extraneous diagnostic about use
of 'auto'.
Fixes #47900
Commit: 739fe980802e17e49ab9cc2e4c18a48c88e15ef5
https://github.com/llvm/llvm-project/commit/739fe980802e17e49ab9cc2e4c18a48c88e15ef5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
M lldb/test/API/commands/expression/expr-from-non-zero-frame/main.c
Log Message:
-----------
[lldb][test] TestExprFromNonZeroFrame.py: fix windows build
On Windows this test was failing to link with following error:
```
make: Entering directory 'C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/lldb-test-build.noindex/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.test'
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang.exe -gdwarf -O0 -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/../../../../..//include -IC:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb/include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\commands\expression\expr-from-non-zero-frame -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make -include C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/test_common.h -fno-limit-debug-info -MT main.o -MD -MP -MF main.d -c -o main.o C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\commands\expression\expr-from-non-zero-frame/main.c
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang.exe main.o -gdwarf -O0 -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/../../../../..//include -IC:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb/include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\commands\expression\expr-from-non-zero-frame -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make -include C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/test_common.h -fno-limit-debug-info -fuse-ld=lld --driver-mode=g++ -o "a.out"
lld-link: error: undefined symbol: printf
>>> referenced by main.o:(func)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Makefile.rules:530: a.out] Error 1
make: Leaving directory 'C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/lldb-test-build.noindex/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.test'
```
Commit: 722346c7bc70aa528beccead4119db83f134f5cd
https://github.com/llvm/llvm-project/commit/722346c7bc70aa528beccead4119db83f134f5cd
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/AST/QualTypeNames.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
Log Message:
-----------
[Tooling] Handle AttributedType in getFullyQualifiedType (#134228)
Before this change the code used to add extra qualifiers, e.g.
`std::unique_ptr<int> _Nonnull` became `::std::std::unique_ptr<int>
_Nonnull`
when adding a global namespace qualifier was requested.
Commit: 41a6bb4c055cf08110676d9bc942f369fb19450d
https://github.com/llvm/llvm-project/commit/41a6bb4c055cf08110676d9bc942f369fb19450d
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
M llvm/test/CodeGen/AArch64/sinksplat.ll
M llvm/test/CodeGen/AArch64/sve-bf16-int-converts.ll
M llvm/test/CodeGen/AArch64/sve-fcmp.ll
M llvm/test/CodeGen/AArch64/sve-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-fp-combine.ll
M llvm/test/CodeGen/AArch64/sve-implicit-zero-filling.ll
M llvm/test/CodeGen/AArch64/sve-int-log.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-merging.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-scalar-to-vec.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-shifts-merging.ll
M llvm/test/CodeGen/AArch64/sve-knownbits.ll
M llvm/test/CodeGen/AArch64/sve-ld1r.ll
M llvm/test/CodeGen/AArch64/sve-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-pr92779.ll
M llvm/test/CodeGen/AArch64/sve-split-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
M llvm/test/CodeGen/AArch64/sve-vselect-imm.ll
M llvm/test/CodeGen/AArch64/sve-zeroinit.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.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:
-----------
[LLVM][CodeGen][SVE] Prefer NEON instructions when zeroing Z registers. (#133929)
Several implementations have zero-latency instructions to zero
registers. To-date no implementation has a dedicated SVE instruction but
we can use the NEON equivalent because it is defined to zero bits
128..VL regardless of the immediate used.
NOTE: The relevant instruction is not available in streaming mode, where
the original SVE DUP instruction remains in use.
Commit: 52f3cad9ffa35a472699d541736bd72dd01d6e62
https://github.com/llvm/llvm-project/commit/52f3cad9ffa35a472699d541736bd72dd01d6e62
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - move INSERT_SUBVECTOR(SRC0, EXTRACT_SUBVECTOR(SRC1)) matching behind common one use bitcast checks (#134227)
No need to ignore one use checks for the INSERT_SUBVECTOR(SRC0, EXTRACT_SUBVECTOR(SRC1)) fold
Noticed while working on the #133947 regressions
Commit: 2a9948f0384d30fa07522f29ddb2de62560d75a4
https://github.com/llvm/llvm-project/commit/2a9948f0384d30fa07522f29ddb2de62560d75a4
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/RecordLayoutBuilder.cpp
R clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
R clang/test/SemaCXX/windows-Wpadded.cpp
Log Message:
-----------
Revert "[CLANG-CL] ignores wpadded" (#134239)
Reverts llvm/llvm-project#130182
This is causing failures on RISC-V and ppc builders as mentioned on
https://github.com/llvm/llvm-project/pull/130182#issuecomment-2775516899
Reverting so the issue can be fixed by the path author without time pressure (as noted in that PR, it seems a value is uninitialised).
Commit: ebacd46996a7f041be73cf31b5776503e8061e8b
https://github.com/llvm/llvm-project/commit/ebacd46996a7f041be73cf31b5776503e8061e8b
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcInstrFormats.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/Sparc/SparcInstrVIS.td
A llvm/test/MC/Disassembler/Sparc/sparc-vis.txt
M llvm/test/MC/Sparc/sparc-vis.s
A llvm/test/MC/Sparc/sparc-vis2.s
A llvm/test/MC/Sparc/sparc-vis3.s
Log Message:
-----------
[SPARC][MC] Add tests for VIS family instructions
Also fix up any mistakes/typos in instruction definitions.
Reviewers: rorth, s-barannikov, brad0, MaskRay
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/130967
Commit: c2355892a4bad78b8ac520a11a7a63371c84d11e
https://github.com/llvm/llvm-project/commit/c2355892a4bad78b8ac520a11a7a63371c84d11e
Author: Elen Kalda <elen.kalda at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Add ERROR_IF checks to TRANSPOSE_CONV2D verifier (#133234)
This patch extends the verifier with following checks:
ERROR_IF(out_pad_top <= -KH || out_pad_bottom <= -KH);
ERROR_IF(out_pad_left <= -KW || out_pad_right <= -KW); ERROR_IF(stride_y
< 1 || stride_x < 1);
ERROR_IF(OH != (IH - 1) * stride_y + out_pad_top + out_pad_bottom + KH);
ERROR_IF(OW != (IW - 1) * stride_x + out_pad_left + out_pad_right + KW);
ERROR_IF(BC != OC && BC != 1);
Signed-off-by: Elen Kalda <elen.kalda at arm.com>
Commit: efbbdd69c7974d4fe08ccbbc1d8a206f3f317a1a
https://github.com/llvm/llvm-project/commit/efbbdd69c7974d4fe08ccbbc1d8a206f3f317a1a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
Log Message:
-----------
[ADT] Make DenseMap::init() private (NFC) (#134229)
I believe this method was not supposed to be public, as it has
additional preconditions (it will misbehave when called on a non-empty
DenseMap).
The public API for this is reserve().
Commit: 0509932bb6a291ba11253f30c465ab3ad164ae08
https://github.com/llvm/llvm-project/commit/0509932bb6a291ba11253f30c465ab3ad164ae08
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Initialize active_row pointer variable
It's value is not set on all control flow paths. I believe this should
fix the failure on some buildbots after #133247.
Commit: ae8ad8649da7f69dae2b19db79b69c460be01916
https://github.com/llvm/llvm-project/commit/ae8ad8649da7f69dae2b19db79b69c460be01916
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
Log Message:
-----------
[Clang][AArch64] Model ZT0 table using inaccessible memory (#133727)
This patch changes how ZT0 table is modelled at LLVM-IR level. Currently
accesses to ZT0 are represented at LLVM-IR level as memory reads and
writes. This patch changes that and models them as purely Inaccessible
memory accesses without any unmodeled side-effects.
Commit: c818ae739902f3c46466b67bd4d1bd4d09b38e84
https://github.com/llvm/llvm-project/commit/c818ae739902f3c46466b67bd4d1bd4d09b38e84
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/binary-analysis/AArch64/cmdline-args.test
A bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: detect non-protected indirect calls (#131899)
Implement the detection of non-protected indirect calls and branches
similar to pac-ret scanner.
Commit: 9df324e90b32f91e0b2866dffb78b0be0db4f37c
https://github.com/llvm/llvm-project/commit/9df324e90b32f91e0b2866dffb78b0be0db4f37c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add growShuffleMask helper to grow the shuffle mask for a larger value type. NFC. (#134243)
Prep work for #133947
Commit: a77d8077815627d188ae26fda6e88f0d0d61c990
https://github.com/llvm/llvm-project/commit/a77d8077815627d188ae26fda6e88f0d0d61c990
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVIRMapping.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
Log Message:
-----------
[SPIRV] Add spirv.VulkanBuffer types to the backend (#133475)
Adds code to expand the `llvm.spv.resource.handlefrombinding` and
`llvm.spv.resource.getpointer` when the resource type is
`spirv.VulkanBuffer`.
It gets expanded as a storage buffer or uniform buffer denpending on the
storage class used.
This is implementing part of
https://github.com/llvm/wg-hlsl/blob/main/proposals/0018-spirv-resource-representation.md.
Commit: 6bbdc70066c2bf46ed3d88293e2abfa3d0ffffa3
https://github.com/llvm/llvm-project/commit/6bbdc70066c2bf46ed3d88293e2abfa3d0ffffa3
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use getCallWideningDecision in more places (NFC) (#134236)
Commit: 586c5e3083428e7473e880dafd5939e8707bc1c9
https://github.com/llvm/llvm-project/commit/586c5e3083428e7473e880dafd5939e8707bc1c9
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
Log Message:
-----------
[mlir][mpi] fixing in-place and 0d mpi.all_reduce (#134225)
* inplace allreduce needs special MPI token MPI_IN_PLACE as send buffer
* 0d tensors have no sizes/strides in LLVM memref struct
Commit: 9e0ca5720bee96f4b19eeb69a119b5eda3ab5528
https://github.com/llvm/llvm-project/commit/9e0ca5720bee96f4b19eeb69a119b5eda3ab5528
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/test/CodeGen/X86/base-pointer-and-cmpxchg.ll
Log Message:
-----------
[X86] When expanding LCMPXCHG16B_SAVE_RBX, substitute RBX in base (#134109)
The pseudo-instruction LCMPXCHG16B_SAVE_RBX is used when RBX serves as
frame base pointer. At a very late stage it is then translated into a
regular LCMPXCHG16B, preceded by copying the actual argument into RBX,
and followed by restoring the register to the base pointer.
However, in case the `cmpxchg` operates on a local variable, RBX might
also be used as a base for the memory operand in frame finalization, and
we've overwritten RBX with the input operand for `cmpxchg16b`. So we
have to rewrite the memory operand base to use the saved value of RBX.
Fixes #119959.
Commit: 7145ead280ba10d08fe48e7859f1a61a64653104
https://github.com/llvm/llvm-project/commit/7145ead280ba10d08fe48e7859f1a61a64653104
Author: GeorgeKA <gkasante at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaInit.cpp
M clang/test/SemaCXX/cxx17-compat.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
Log Message:
-----------
[Clang] Add warning message for C++17 alias template CTAD (#133806)
Alias template class template argument deduction is a documented C++20
feature. C++17 also happens to support it, but there is no message
output to indicate the officially supported version. This PR adds that.
Also updated relevant CTAD test cases.
Closes #125913
Commit: 18dd299fb109792d0716156af0a2d8c0ca781c57
https://github.com/llvm/llvm-project/commit/18dd299fb109792d0716156af0a2d8c0ca781c57
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/host-eval.f90
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[Flang][MLIR][OpenMP] Host-evaluation of omp.loop bounds (#133908)
This patch updates Flang lowering and kernel flags identification in
MLIR so that loop bounds on `target teams loop` constructs are evaluated
on the host, making the trip count available to the corresponding
`__tgt_target_kernel` call emitted for the target region.
This is necessary in order to properly execute these constructs as
`target teams distribute parallel do`.
Co-authored-by: Kareem Ergawy <kareem.ergawy at amd.com>
Commit: b61e3874fa97c5ead2c27e8245fe123370a21e81
https://github.com/llvm/llvm-project/commit/b61e3874fa97c5ead2c27e8245fe123370a21e81
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shl-bo.ll
M llvm/test/Transforms/InstCombine/shl-twice-constant.ll
M llvm/test/Transforms/InstCombine/sub.ll
Log Message:
-----------
Revert "[InstCombine] Match scalable splats in m_ImmConstant (#132522)"
This reverts commit df9e5ae5b40c4d245d904a2565e46f5b7ab9c7c8.
This is triggering an assertion failure on llvm-test-suite with
-enable-vplan-native-path:
https://lab.llvm.org/buildbot/#/builders/198/builds/3365
Commit: 59074a376099333a2546c4e3a8b30693c8a3ee92
https://github.com/llvm/llvm-project/commit/59074a376099333a2546c4e3a8b30693c8a3ee92
Author: gbMattN <matthew.nagy at sony.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
A compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-inlined.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[ASan] Add metadata to renamed instructions so ASan doesn't use the i… (#119387)
…ncorrect name
Clang needs variables to be represented with unique names. This means
that if a variable shadows another, its given a different name
internally to ensure it has a unique name. If ASan tries to use this
name when printing an error, it will print the modified unique name,
rather than the variable's source code name
Fixes #47326
Commit: 008040482b15aa76699e61e59218e92d3786e17a
https://github.com/llvm/llvm-project/commit/008040482b15aa76699e61e59218e92d3786e17a
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/OpenMP/declare_variant_construct_codegen_1.c
M clang/test/OpenMP/interop_codegen.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
M clang/test/OpenMP/target_parallel_no_exceptions.cpp
M clang/test/OpenMP/target_team_variable_codegen.cpp
M clang/test/OpenMP/target_visibility.cpp
Log Message:
-----------
[clang] Add SPIR-V to some OpenMP clang tests (#133503)
Just to get some more coverage.
Some of the behavior might be weird and change in the future, but let's
lock down what happens today to at least prevent regressions.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: b8fc288c46abeea8d330fabdf6ab1ebf1c5b283d
https://github.com/llvm/llvm-project/commit/b8fc288c46abeea8d330fabdf6ab1ebf1c5b283d
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[Dexter] Replace clang with clang++ in various cross project tests (#65987)
This patch replaces invocations of clang with clang++ for a set of
c++ files in the dexter cross-project tests. As a small additional change,
this patch removes -lstdc++ from a test that did not appear to require it.
Commit: 50fe5b90e7a17700dd265d3cd917c4332b806152
https://github.com/llvm/llvm-project/commit/50fe5b90e7a17700dd265d3cd917c4332b806152
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
Log Message:
-----------
[sanitizer_common][NFC] Fix sanitizer_symbolizer_libcdep.cpp formatting (#133930)
Commit: 51c2750599d2472dafce0231aa8b95f5137c7de8
https://github.com/llvm/llvm-project/commit/51c2750599d2472dafce0231aa8b95f5137c7de8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/docs/use/python-reference.rst
Log Message:
-----------
[lldb] Update examples in docs/use/python-reference.rst to work with Python 3 (#134204)
The examples on this page were using the Python 2-style print. I ran the
updated code examples under Python 3 to confirm they are still
up-to-date.
Commit: f59b5b8d597d52336a59d2c0555212242e29a45b
https://github.com/llvm/llvm-project/commit/f59b5b8d597d52336a59d2c0555212242e29a45b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
A mlir/test/Target/LLVMIR/openmp-target-generic-spmd.mlir
Log Message:
-----------
[MLIR][OpenMP] Fix standalone distribute on the device (#133094)
This patch updates the handling of target regions to set trip counts and
kernel execution modes properly, based on clang's behavior. This fixes a
race condition on `target teams distribute` constructs with no `parallel
do` loop inside.
This is how kernels are classified, after changes introduced in this
patch:
```f90
! Exec mode: SPMD.
! Trip count: Set.
!$omp target teams distribute parallel do
do i=...
end do
! Exec mode: Generic-SPMD.
! Trip count: Set (outer loop).
!$omp target teams distribute
do i=...
!$omp parallel do private(idx, y)
do j=...
end do
end do
! Exec mode: Generic-SPMD.
! Trip count: Set (outer loop).
!$omp target teams distribute
do i=...
!$omp parallel
...
!$omp end parallel
end do
! Exec mode: Generic.
! Trip count: Set.
!$omp target teams distribute
do i=...
end do
! Exec mode: SPMD.
! Trip count: Not set.
!$omp target parallel do
do i=...
end do
! Exec mode: Generic.
! Trip count: Not set.
!$omp target
...
!$omp end target
```
For the split `target teams distribute + parallel do` case, clang
produces a Generic kernel which gets promoted to Generic-SPMD by the
openmp-opt pass. We can't currently replicate that behavior in flang
because our codegen for these constructs results in the introduction of
calls to the `kmpc_distribute_static_loop` family of functions, instead
of `kmpc_distribute_static_init`, which currently prevent promotion of
the kernel to Generic-SPMD.
For the time being, instead of relying on the openmp-opt pass, we look
at the MLIR representation to find the Generic-SPMD pattern and directly
tag the kernel as such during codegen. This is what we were already
doing, but incorrectly matching other kinds of kernels as such in the
process.
Commit: c14b6e90bd140c2290258fa9dbe0fc1ad8939111
https://github.com/llvm/llvm-project/commit/c14b6e90bd140c2290258fa9dbe0fc1ad8939111
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/include/lldb/Target/StopInfo.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
Log Message:
-----------
[lldb][NFC] Move ShouldShow/ShouldSelect logic into Stopinfo (#134160)
This NFC patch simplifies the main loop in HandleProcessStateChanged
event by moving duplicated code into the StopInfo class, also allowing
StopInfo subclasses to override behavior.
More specifically, two functions are created:
* ShouldShow: should a Thread with such StopInfo should be printed when
the debugger stops? Currently, no StopInfo subclasses override this, but
a subsequent patch will fix a bug by making StopInfoBreakpoint check
whether the breakpoint is internal.
* ShouldSelect: should a Thread with such a StopInfo be selected? This
is currently overridden by StopInfoUnixSignal but will, in the future,
be overridden by StopInfoBreakpoint.
Commit: 61ef28650626dd4f651a250005c77255d8086f69
https://github.com/llvm/llvm-project/commit/61ef28650626dd4f651a250005c77255d8086f69
Author: gbMattN <matthew.nagy at sony.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
Fix signed/unsigned mismatch warning (#134255)
Commit: 2334fd2ea3a0a391ca88da36764d895d9c34e1bc
https://github.com/llvm/llvm-project/commit/2334fd2ea3a0a391ca88da36764d895d9c34e1bc
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/precompiled_binary/commands.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/windows_noncanonical_path/test.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
Log Message:
-----------
[Dexter] Update Dexter tests to use new dexter test substitutions
Following commit b8fc288, which changed some dexter test substitutions to
be specific to C and C++, some tests that had been added since the original
patch was written were still using the old substitution; this patch updates
them to use the new.
Commit: f23bb530cfad1ca72812d0daf599834ea2291219
https://github.com/llvm/llvm-project/commit/f23bb530cfad1ca72812d0daf599834ea2291219
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces-vectors.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
Log Message:
-----------
[AMDGPULowerBufferFatPointers] Use InstSimplifyFolder during rewrites (#134137)
This PR updates AMDGPULowerBufferFatPointers to use the
InstSimplifyFolder
when creating IR during buffer fat pointer lowering.
This shouldn't cause any large functional changes and might improve the
quality of the generated code.
Commit: 2080334574a88a7ac4102007b56809cd0a19b905
https://github.com/llvm/llvm-project/commit/2080334574a88a7ac4102007b56809cd0a19b905
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MipsLinux.cpp
M clang/lib/Driver/ToolChains/MipsLinux.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/PPCLinux.cpp
M clang/lib/Driver/ToolChains/PPCLinux.h
M clang/lib/Driver/ToolChains/Solaris.cpp
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.so
M flang-rt/cmake/modules/GetToolchainDirs.cmake
A flang/test/Driver/flang-ld-powerpc.f90
Log Message:
-----------
[flang-rt] Pass the whole path of libflang_rt.runtime.a to linker on AIX and LoP (#131041)
This PR is to improve the driver code to build `flang-rt` path by
re-using the logic and code of `compiler-rt`.
1. Moved `addFortranRuntimeLibraryPath` and `addFortranRuntimeLibs` to
`ToolChain.h` and made them virtual so that they can be overridden if
customization is needed. The current implementation of those two
procedures is moved to `ToolChain.cpp` as the base implementation to
default to.
2. Both AIX and PPCLinux now override `addFortranRuntimeLibs`.
The overriding function of `addFortranRuntimeLibs` for both AIX and
PPCLinux calls `getCompilerRTArgString` => `getCompilerRT` =>
`buildCompilerRTBasename` to get the path to `flang-rt`. This code
handles `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` setting. As shown in
`PPCLinux.cpp`, `FT_static` is the default. If not found, it will search
and build for `FT_shared`. To differentiate `flang-rt` from `clang-rt`,
a boolean flag `IsFortran` is passed to the chain of functions in order
to reach `buildCompilerRTBasename`.
Commit: 79435de8a51a3df4b74f858a604b7ff56b342ae7
https://github.com/llvm/llvm-project/commit/79435de8a51a3df4b74f858a604b7ff56b342ae7
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/IR/ConstantFold.cpp
M llvm/test/Analysis/ValueTracking/known-bits-from-operator-constexpr.ll
M llvm/test/Transforms/InstCombine/addrspacecast.ll
M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll
M llvm/test/Transforms/InstCombine/scalable-trunc.ll
M llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vscale-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vscale.ll
M llvm/test/Transforms/InstSimplify/vscale-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/vscale.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/MemCpyOpt/crash.ll
M llvm/test/Transforms/VectorCombine/pr88796.ll
Log Message:
-----------
[ConstantFold] Support scalable constant splats in ConstantFoldCastInstruction (#133207)
Previously only fixed vector splats were handled. This adds supports for
scalable vectors too by allowing ConstantExpr splats.
We need to add the extra V->getType()->isVectorTy() check because a
ConstantExpr might be a scalar to vector bitcast.
By allowing ConstantExprs this also allow fixed vector ConstantExprs to
be folded, which causes the diffs in
llvm/test/Analysis/ValueTracking/known-bits-from-operator-constexpr.ll
and llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll. I can
remove them from this PR if reviewers would prefer.
Fixes #132922
Commit: 12f75bba41d7b9752df799349b2b32bdf68e9765
https://github.com/llvm/llvm-project/commit/12f75bba41d7b9752df799349b2b32bdf68e9765
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
Revert "[X86] SimplifyDemandedVectorEltsForTargetNode - reduce the size of VPERMV/VPERMV3 nodes if the upper elements are not demanded" (#134256)
Found a typo in the VPERMV3 mask adjustment - I'm going to revert and re-apply the patch with a fix
Reverts llvm/llvm-project#133923
Commit: c1ada72b0995844299ef40433314124266015428
https://github.com/llvm/llvm-project/commit/c1ada72b0995844299ef40433314124266015428
Author: Julian Brown <julian.brown at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
Log Message:
-----------
[OpenMP] Mark 'map-type modifiers in arbitrary position' done (#133906)
I think #90499 already implements support for the listed OpenMP 6.0
feature mentioned in the title. This patch just marks it done (for
C/C++).
Commit: 49fd0bf35d2e04a0d76ac7fd13b3e3439a91f76f
https://github.com/llvm/llvm-project/commit/49fd0bf35d2e04a0d76ac7fd13b3e3439a91f76f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[clang] support pack expansions for trailing requires clauses (#133190)
Commit: d7d91500b6ef7efb059f660ff7e4aa44553643e6
https://github.com/llvm/llvm-project/commit/d7d91500b6ef7efb059f660ff7e4aa44553643e6
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/test/Lower/array-constructor-2.f90
Log Message:
-----------
[flang][nfc] Initial changes needed to use llvm intrinsics instead of regular calls (#134170)
Flang uses `fir.call <llvm intrinsic>` in a few places. This means
consumers of the IR need to strcmp every fir.call if they want to find a
particular LLVM intrinsic.
Emit LLVM memcpy intrinsics instead.
Commit: 3801bf6164f570a145e3ebd20cf9114782ae0329
https://github.com/llvm/llvm-project/commit/3801bf6164f570a145e3ebd20cf9114782ae0329
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
Log Message:
-----------
[NFC] Cleanup pass initialization for SPIRV passes (#134189)
- Do not call pass initialization functions from pass contructors.
- Instead, call them from SPIRV target initialization.
- https://github.com/llvm/llvm-project/issues/111767
Commit: bec5cfd970c5882c54a9e8d9f3da430dc39d0dd0
https://github.com/llvm/llvm-project/commit/bec5cfd970c5882c54a9e8d9f3da430dc39d0dd0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
Log Message:
-----------
[lldb-dap] Protect SetBreakpoint with the API mutex (#134030)
Protect the various SetBreakpoint functions with the API mutex. This
fixes a race condition between the breakpoint being created and the DAP
label getting added. This was causing `TestDAP_breakpointEvents.py` to
be flaky.
Fixes #131242.
Commit: bf388f8a43c26264dfa96a91bead440d19f58bc4
https://github.com/llvm/llvm-project/commit/bf388f8a43c26264dfa96a91bead440d19f58bc4
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] legalize operands when move16bit SALU to VALU (#133985)
This is a follow up PR from
https://github.com/llvm/llvm-project/pull/132089.
When a V2S copy and its useMI are lowered to VALU, this patch check:
If the generated new VALU is a true16 inst. Add subreg access on all
operands if necessary.
an example MIR looks like:
```
%1:vgpr_32 = V_CVT_F32_U32_e64 %0:vgpr_32, 0, 0 ...
%2:sreg_32 = COPY %1:vgpr_32
%3:sreg_32 = S_FLOOR_F16 %2:sreg_32, ...
```
currently lowered to
```
%1:vgpr_32 = V_CVT_F32_U32_e64 %0:vgpr_32, 0, 0 ...
%2:vgpr_16 = V_FLOOR_F16_t16_e64 0, %1:vgpr_32, 0, 0, 0 ...
```
after this patch
```
%1:vgpr_32 = V_CVT_F32_U32_e64 %0:vgpr_32, 0, 0 ...
%2:vgpr_16 = V_FLOOR_F16_t16_e64 0, %1.lo16:vgpr_32, 0, 0, 0 ...
```
Commit: 65fa57bdcc9d745dd8c222426e79618fb7cf1c91
https://github.com/llvm/llvm-project/commit/65fa57bdcc9d745dd8c222426e79618fb7cf1c91
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/RootSignatures-AST.hlsl
A clang/test/SemaHLSL/RootSignature-err.hlsl
Log Message:
-----------
[HLSL][RootSignature] Define and integrate `HLSLRootSignatureAttr` (#134124)
- Defines HLSLRootSignature Attr in `Attr.td`
- Define and implement handleHLSLRootSignature in `SemaHLSL`
- Adds sample test case to show AST Node is generated in
`RootSignatures-AST.hlsl`
This commit will "hook-up" the seperately defined RootSignature parser
and invoke it to create the RootElements, then store them on the
ASTContext and finally store the reference to the Elements in
RootSignatureAttr
Resolves https://github.com/llvm/llvm-project/issues/119011
---------
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: b027ec8c9c1f4f0277a0a9f94cf42a7fa1d85ba4
https://github.com/llvm/llvm-project/commit/b027ec8c9c1f4f0277a0a9f94cf42a7fa1d85ba4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/binary-analysis/AArch64/cmdline-args.test
A bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.h
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
A clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaBase.h
M clang/include/clang/Sema/SemaConcept.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.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/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MipsLinux.cpp
M clang/lib/Driver/ToolChains/MipsLinux.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/PPCLinux.cpp
M clang/lib/Driver/ToolChains/PPCLinux.h
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Headers/stdint.h
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Parse/CMakeLists.txt
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExprCXX.cpp
A clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
A clang/test/AST/HLSL/RootSignatures-AST.hlsl
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-expr.cpp
R clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-print-openacc-atomic-construct.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-wait-construct.cpp
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
M clang/test/C/C23/n3042.c
M clang/test/C/drs/dr209.c
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/unary.cpp
A clang/test/CIR/IR/unary.cir
M clang/test/CIR/Transforms/loop.cir
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
M clang/test/CXX/class/p2-0x.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CodeGen/attr-btf_type_tag-similar-type.c
M clang/test/CodeGen/attr-btf_type_tag-typedef-field.c
M clang/test/CodeGen/link-builtin-bitcode.c
A clang/test/CodeGen/patchable-function-entry-section.c
M clang/test/CodeGen/sanitize-coverage.c
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
A clang/test/CodeGenOpenCL/builtins-amdgcn-cvt-off-f32-i4.cl
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx942.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
M clang/test/Driver/Inputs/SYCL/bar.ll
M clang/test/Driver/Inputs/SYCL/baz.ll
M clang/test/Driver/Inputs/SYCL/foo.ll
M clang/test/Driver/Inputs/SYCL/libsycl.ll
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.so
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/bin/.hipVersion
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/include/hip/hip_runtime.h
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/asanrtl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/hip.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ockl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_400.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_500.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1010.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1011.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1012.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_803.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_900.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_908.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ocml.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/opencl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/bin/.keep
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/fpatchable-function-entry.c
M clang/test/Driver/fsanitize-coverage.c
M clang/test/Driver/hip-options.hip
M clang/test/Driver/link-device-code.test
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/rocm-detect.hip
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/Misc/diag-template-diffing-cxx11.cpp
M clang/test/Misc/show-diag-options.c
M clang/test/OpenMP/declare_variant_construct_codegen_1.c
M clang/test/OpenMP/interop_codegen.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
M clang/test/OpenMP/target_parallel_no_exceptions.cpp
M clang/test/OpenMP/target_team_variable_codegen.cpp
M clang/test/OpenMP/target_visibility.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Preprocessor/stdint.c
M clang/test/Sema/patchable-function-entry-attr.c
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/cxx17-compat.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
A clang/test/SemaCXX/friend-default-parameters-modules.cpp
A clang/test/SemaCXX/friend-default-parameters.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/warn-base-type-qualifiers.cpp
M clang/test/SemaCXX/warn-final-dtor-non-final-class.cpp
A clang/test/SemaHLSL/RootSignature-err.hlsl
M clang/test/SemaOpenACC/atomic-construct-ast.cpp
M clang/test/SemaOpenACC/atomic-construct.cpp
M clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
M clang/test/SemaOpenACC/combined-construct-wait-clause.c
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct-wait-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-clause.c
A clang/test/SemaOpenACC/no-empty-pqr-list.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenACC/wait-construct-ast.cpp
A clang/test/SemaOpenCL/builtins-amdgcn-cvt-off-f32-i4-err.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx942-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-global-load-lds-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/AST/SourceLocationTest.cpp
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
A clang/unittests/Parse/CMakeLists.txt
A clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
A compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-inlined.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/getservent_r.cpp
M compiler-rt/test/sanitizer_common/lit.common.cfg.py
M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/precompiled_binary/commands.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/windows_noncanonical_path/test.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
M cross-project-tests/lit.cfg.py
M flang-rt/cmake/modules/GetToolchainDirs.cmake
M flang-rt/lib/runtime/stop.cpp
M flang/docs/Directives.md
A flang/docs/DoConcurrentConversionToOpenMP.md
M flang/docs/index.md
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/include/flang/Optimizer/OpenMP/Passes.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
A flang/include/flang/Optimizer/OpenMP/Utils.h
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/stop.h
M flang/include/flang/Support/LangOptions.def
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/module/cudadevice.f90
M flang/test/Driver/bbc-openmp-version-macro.f90
A flang/test/Driver/do_concurrent_to_omp_cli.f90
A flang/test/Driver/flang-ld-powerpc.f90
M flang/test/Driver/flang-openmp-version-macro.f90
M flang/test/Integration/unroll_and_jam.f90
M flang/test/Integration/vector-always.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/host-eval.f90
M flang/test/Lower/OpenMP/rtl-flags.f90
M flang/test/Lower/OpenMP/target_cpu_features.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/unroll_and_jam.f90
M flang/test/Lower/vector-always.f90
M flang/test/Parser/compiler-directives.f90
A flang/test/Semantics/OpenMP/declare-target-function-name-with-symbols.f90
A flang/test/Transforms/DoConcurrent/basic_device.mlir
A flang/test/Transforms/DoConcurrent/basic_host.f90
A flang/test/Transforms/DoConcurrent/basic_host.mlir
A flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
A flang/test/Transforms/DoConcurrent/loop_nest_test.f90
A flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
A flang/test/Transforms/DoConcurrent/non_const_bounds.f90
A flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
M flang/tools/bbc/bbc.cpp
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/type_traits/is_signed.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/src/__support/libc_assert.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/test/src/__support/CPP/type_traits_test.cpp
M libclc/CMakeLists.txt
A libclc/clc/include/clc/math/clc_cbrt.inc
A libclc/clc/include/clc/math/clc_cosh.h
A libclc/clc/include/clc/math/clc_lgamma.h
A libclc/clc/include/clc/math/clc_lgamma_r.h
A libclc/clc/include/clc/math/clc_native_exp10.h
A libclc/clc/include/clc/math/clc_native_powr.h
A libclc/clc/include/clc/math/clc_native_tan.h
A libclc/clc/include/clc/math/clc_sinh.h
A libclc/clc/include/clc/math/clc_tanh.h
A libclc/clc/include/clc/math/clc_tgamma.h
M libclc/clc/include/clc/math/tables.h
A libclc/clc/include/clc/math/unary_def_via_fp32.inc
M libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_cbrt.cl
A libclc/clc/lib/generic/math/clc_cbrt.inc
A libclc/clc/lib/generic/math/clc_cosh.cl
A libclc/clc/lib/generic/math/clc_cosh.inc
A libclc/clc/lib/generic/math/clc_lgamma.cl
A libclc/clc/lib/generic/math/clc_lgamma.inc
A libclc/clc/lib/generic/math/clc_lgamma_r.cl
A libclc/clc/lib/generic/math/clc_lgamma_r.inc
A libclc/clc/lib/generic/math/clc_native_exp10.cl
A libclc/clc/lib/generic/math/clc_native_exp10.inc
A libclc/clc/lib/generic/math/clc_native_powr.cl
A libclc/clc/lib/generic/math/clc_native_powr.inc
A libclc/clc/lib/generic/math/clc_native_tan.cl
A libclc/clc/lib/generic/math/clc_native_tan.inc
A libclc/clc/lib/generic/math/clc_sinh.cl
A libclc/clc/lib/generic/math/clc_sinh.inc
M libclc/clc/lib/generic/math/clc_tables.cl
A libclc/clc/lib/generic/math/clc_tanh.cl
A libclc/clc/lib/generic/math/clc_tanh.inc
A libclc/clc/lib/generic/math/clc_tgamma.cl
M libclc/generic/include/clc/math/lgamma_r.h
R libclc/generic/include/clc/math/lgamma_r.inc
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/lib/math/cbrt.cl
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/lgamma.cl
M libclc/generic/lib/math/lgamma_r.cl
R libclc/generic/lib/math/lgamma_r.inc
M libclc/generic/lib/math/native_exp10.cl
R libclc/generic/lib/math/native_exp10.inc
M libclc/generic/lib/math/native_powr.cl
R libclc/generic/lib/math/native_powr.inc
M libclc/generic/lib/math/native_tan.cl
R libclc/generic/lib/math/native_tan.inc
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/tanh.cl
M libclc/generic/lib/math/tgamma.cl
M libcxx/.clang-format
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__atomic/support/c11.h
M libcxx/include/__config
M libcxx/include/__vector/vector_bool.h
M libcxx/test/std/containers/sequences/array/array.overview/nttp.verify.cpp
A libcxx/test/std/containers/sequences/vector.bool/small_allocator_size.pass.cpp
M libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.verify.cpp
M libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.verify.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
M lld/ELF/ScriptParser.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/linkerscript/nocrossrefs.test
M lld/test/ELF/linkerscript/overlay.test
M lldb/docs/use/python-reference.rst
M lldb/include/lldb/API/SBModule.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Utility/UUID.h
M lldb/packages/Python/lldbsuite/test/tools/intelpt/intelpt_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/source/API/SBModule.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/ProcessTrace.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/UUID.cpp
A lldb/test/API/commands/expression/expr-from-non-zero-frame/Makefile
A lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
A lldb/test/API/commands/expression/expr-from-non-zero-frame/main.c
M lldb/test/API/commands/target/stop-hooks/TestStopHooks.py
M lldb/test/API/commands/trace/TestTraceDumpFunctionCalls.py
M lldb/test/API/commands/trace/TestTraceEvents.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/TestTraceStartStop.py
M lldb/test/API/commands/trace/TestTraceTSC.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/test/API/functionalities/thread/finish-from-empty-func/TestEmptyFuncThreadStepOut.py
M lldb/test/API/lang/objc/tagged-pointer/TestTaggedPointerCmd.py
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
A lldb/test/Shell/DAP/TestHelp.test
R lldb/test/Shell/DAP/TestOptions.test
A lldb/test/Shell/DAP/TestVersion.test
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/PluginManagerTest.cpp
M lldb/unittests/Process/CMakeLists.txt
A lldb/unittests/Process/ProcessTraceTest.cpp
M lldb/unittests/Utility/UUIDTest.cpp
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/CommandGuide/llvm-reduce.rst
M llvm/docs/GitHub.rst
M llvm/docs/LangRef.rst
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
A llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
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/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVIRMapping.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/SparcInstrFormats.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/Sparc/SparcInstrVIS.td
M llvm/lib/Target/VE/VETargetTransformInfo.h
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/ScalarEvolution/exit-count-samesign.ll
M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
M llvm/test/Analysis/ValueTracking/known-bits-from-operator-constexpr.ll
A llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals.mir
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
M llvm/test/CodeGen/AArch64/sinksplat.ll
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-extract.ll
M llvm/test/CodeGen/AArch64/sve-bf16-int-converts.ll
M llvm/test/CodeGen/AArch64/sve-fcmp.ll
M llvm/test/CodeGen/AArch64/sve-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-fp-combine.ll
M llvm/test/CodeGen/AArch64/sve-implicit-zero-filling.ll
M llvm/test/CodeGen/AArch64/sve-int-log.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-merging.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-scalar-to-vec.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-shifts-merging.ll
M llvm/test/CodeGen/AArch64/sve-knownbits.ll
M llvm/test/CodeGen/AArch64/sve-ld1r.ll
M llvm/test/CodeGen/AArch64/sve-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-pr92779.ll
M llvm/test/CodeGen/AArch64/sve-split-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
M llvm/test/CodeGen/AArch64/sve-vselect-imm.ll
M llvm/test/CodeGen/AArch64/sve-zeroinit.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.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
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces-vectors.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/bswap.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/icmp.i16.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.alignbyte.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.lds.err.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.off.f32.i4.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/AMDGPU/set-wave-priority.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
A llvm/test/CodeGen/AMDGPU/true16-fold.mir
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
R llvm/test/CodeGen/LoongArch/fix-tle-le-sym-type.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/absd.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/absd.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
A llvm/test/CodeGen/PowerPC/global-merge-llvm-metadata.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
M llvm/test/CodeGen/RISCV/select-constant-xor.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
M llvm/test/CodeGen/Thumb2/mve-vdup.ll
M llvm/test/CodeGen/WebAssembly/cfi.ll
M llvm/test/CodeGen/WebAssembly/simd-shuffle-bitcast.ll
M llvm/test/CodeGen/X86/base-pointer-and-cmpxchg.ll
M llvm/test/CodeGen/X86/kmov.ll
M llvm/test/CodeGen/X86/patchable-function-entry.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
A llvm/test/MC/Disassembler/Sparc/sparc-vis.txt
A llvm/test/MC/LoongArch/Relocations/relocation-specifier.s
A llvm/test/MC/RISCV/insn_xqci-invalid.s
A llvm/test/MC/RISCV/insn_xqci.s
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
M llvm/test/MC/RISCV/xqcibm-invalid.s
M llvm/test/MC/RISCV/xqcibm-valid.s
M llvm/test/MC/Sparc/sparc-vis.s
A llvm/test/MC/Sparc/sparc-vis2.s
A llvm/test/MC/Sparc/sparc-vis3.s
M llvm/test/TableGen/GlobalISelCombinerEmitter/type-inference.td
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/MacroFusion.td
M llvm/test/TableGen/predicate-patfags.td
A llvm/test/ThinLTO/X86/ctxprof-separate-module.ll
M llvm/test/Transforms/IndVarSimplify/iv-ext-samesign.ll
A llvm/test/Transforms/IndVarSimplify/pr126409.ll
A llvm/test/Transforms/InstCombine/AMDGPU/simplify-amdgcn.cvt.off.f32.i4.ll
M llvm/test/Transforms/InstCombine/addrspacecast.ll
M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll
M llvm/test/Transforms/InstCombine/scalable-trunc.ll
M llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll
A llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vscale-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vscale.ll
M llvm/test/Transforms/InstSimplify/vscale-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/vscale.ll
A llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
M llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
A llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
A llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
A llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/induction-unroll-novec.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LowerTypeTests/function-disjoint.ll
M llvm/test/Transforms/LowerTypeTests/nonstring.ll
M llvm/test/Transforms/MemCpyOpt/crash.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fminimumnum.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/fminimumnum.ll
A llvm/test/Transforms/SLPVectorizer/X86/fminimumnum.ll
A llvm/test/Transforms/SLPVectorizer/X86/matched-nodes-updated.ll
A llvm/test/Transforms/SLPVectorizer/X86/revec-estimateNodesPermuteCost.ll
A llvm/test/Transforms/SLPVectorizer/X86/whole-registers-compare.ll
A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof-left.ll
A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof-right.ll
M llvm/test/Transforms/VectorCombine/pr88796.ll
M llvm/test/Verifier/invalid-patchable-function-entry.ll
M llvm/test/tools/llvm-reduce/bitcode-uselistorder.ll
M llvm/test/tools/llvm-reduce/operands-to-args.ll
M llvm/test/tools/llvm-reduce/reduce-functions-blockaddress-wrong-function.ll
A llvm/test/tools/llvm-reduce/reduce-operands-alloca.ll
M llvm/test/tools/llvm-reduce/reduce-operands-target-ext-ty.ll
A llvm/test/tools/llvm-reduce/remove-operand-bundles-convergencectrl.ll
A llvm/test/tools/llvm-reduce/simplify-conditionals-already-constant-brcond.ll
M llvm/test/tools/llvm-split/preserve-locals.ll
M llvm/test/tools/llvm-split/scc-const-alias.ll
M llvm/test/tools/llvm-split/scc-global-alias.ll
M llvm/tools/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperands.h
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.cpp
M llvm/tools/llvm-reduce/llvm-reduce.cpp
M llvm/tools/opt-viewer/optrecord.py
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/PredicateExpander.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/gn/secondary/clang/lib/Parse/BUILD.gn
M llvm/utils/gn/secondary/clang/tools/clang-sycl-linker/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/Parse/BUILD.gn
M llvm/utils/lit/tests/Inputs/test-data/dummy_format.py
M llvm/utils/lit/tests/Inputs/test-data/metrics.ini
M llvm/utils/lit/tests/test-data.py
M llvm/utils/lit/tests/test-output.py
M llvm/utils/revert_checker.py
M mlir/docs/Dialects/SPIR-V.md
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Interfaces/SideEffectInterfaceBase.td
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/Analysis/DataFlow/test-liveness-analysis.mlir
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
M mlir/test/Conversion/MathToVCIX/math-to-vcix.mlir
M mlir/test/Dialect/Arith/expand-ops.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Dialect/SPIRV/IR/function-decorations.mlir
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
A mlir/test/Dialect/Shape/fold-div.mlir
M mlir/test/Dialect/Tensor/bubble-up-extract-slice-op.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-arith-expand-ceildivsi.mlir
A mlir/test/Target/LLVMIR/openmp-target-generic-spmd.mlir
M mlir/test/Target/SPIRV/selection.mlir
M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
M mlir/unittests/Target/LLVM/SerializeROCDLTarget.cpp
M openmp/runtime/CMakeLists.txt
M openmp/runtime/cmake/LibompGetArchitecture.cmake
M openmp/runtime/cmake/config-ix.cmake
M openmp/runtime/src/dllexports
M openmp/runtime/src/include/omp.h.var
M openmp/runtime/src/include/omp_lib.F90.var
M openmp/runtime/src/include/omp_lib.h.var
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_alloc.cpp
M openmp/runtime/src/kmp_ftn_entry.h
M openmp/runtime/src/kmp_ftn_os.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_platform.h
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/src/kmp_stub.cpp
M openmp/runtime/src/z_Linux_util.cpp
A openmp/runtime/test/api/omp60_memory_routines.c
A openmp/runtime/test/api/omp_alloc_hwloc.c
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/CPP/BUILD.bazel
Log Message:
-----------
Rebase, add isLegalMaskedLoad check
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/30d982fc974e...b027ec8c9c1f
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