[all-commits] [llvm/llvm-project] ac0649: [OpenMP] [AIX] Add missing } in openmp/runtime/sr...
Chao Chen via All-commits
all-commits at lists.llvm.org
Fri Apr 4 10:33:49 PDT 2025
Branch: refs/heads/users/chencha3/xegpu/extend_sg_map
Home: https://github.com/llvm/llvm-project
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: b738b82699e58fa50d15d76e1e26b58100ad344e
https://github.com/llvm/llvm-project/commit/b738b82699e58fa50d15d76e1e26b58100ad344e
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/__bsearchcompare_t.h
R libc/include/llvm-libc-types/__lsearchcompare_t.h
A libc/include/llvm-libc-types/__search_compare_t.h
M libc/include/search.yaml
M libc/include/stdlib.yaml
Log Message:
-----------
[libc] Combine the function prototype `int (*compar)(const void *, const void *)` (#134238)
Closes #134118.
Commit: 2190808f5d010a91e17c0dd8143466042b5a4028
https://github.com/llvm/llvm-project/commit/2190808f5d010a91e17c0dd8143466042b5a4028
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 (REAPPLIED) (#134263)
With AVX512VL targets, use 128/256-bit VPERMV/VPERMV3 nodes when we only need the lower elements.
Reapplied version of #133923 with fix for typo in the VPERMV3 mask adjustment
Commit: 73e8d67a200beaa554a72cdd50e4d1a5a55caf69
https://github.com/llvm/llvm-project/commit/73e8d67a200beaa554a72cdd50e4d1a5a55caf69
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
R clang/test/AST/HLSL/RootSignatures-AST.hlsl
R clang/test/SemaHLSL/RootSignature-err.hlsl
Log Message:
-----------
Revert "[HLSL][RootSignature] Define and integrate `HLSLRootSignatureAttr`" (#134273)
Reverts llvm/llvm-project#134124
The build is failing again to a linking error:
[here](https://github.com/llvm/llvm-project/pull/134124#issuecomment-2776370486).
Again the error was not present locally or any of the pre-merge builds
and must have been transitively linked in these build environments...
Commit: bc6cd825ecea94f015c590c877a1401d3a4a46b8
https://github.com/llvm/llvm-project/commit/bc6cd825ecea94f015c590c877a1401d3a4a46b8
Author: John Harrison <harjohn at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Creating a common configuration structure for launch and attach requests. (#133960)
This moves all the common settings of the launch and attach operations
into the `lldb_dap::protocol::Configuration`. These common settings
can be in both `launch` and `attach` requests and allows us to isolate
the DAP configuration operations into a single common location.
This is split out from #133624.
Commit: a1bc979aa854c600e64e7500f1b79cd1d2655eb4
https://github.com/llvm/llvm-project/commit/a1bc979aa854c600e64e7500f1b79cd1d2655eb4
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/SCF/one-shot-bufferize.mlir
Log Message:
-----------
[mlir][Bufferization] Do not have read semantics for destination of `tensor.parallel_insert_slice`. (#134169)
`tensor.insert_slice` needs to have read semantics on its destination
operand. Since it has a return value, its semantics are
- Copy dest to result
- Copy source to subview of destination.
`tensor.parallel_insert_slice` though has no result. So it does not need
to have read semantics. The op description
[here](https://github.com/llvm/llvm-project/blob/a3ac318e5f8668ec5b79dd86639881dfb2e88b69/mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td#L1524)
also says that it is expected to lower to a `memref.subview`, that does
not have read semantics on the destination (its just a view).
This patch drops the read semantics for destination of
`tensor.parallel_insert_slice` but also makes the `shared_outs` operands
of `scf.forall` have read semantics. Earlier it would rely indirectly on
read semantics of destination operand of `tensor.parallel_insert_slice`
to propagate the read semantics for `shared_outs`. Now that is specified
more directly.
Fixes #133964
---------
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 6ddf7cf7808e7e60314ed003d52c215dedc0924b
https://github.com/llvm/llvm-project/commit/6ddf7cf7808e7e60314ed003d52c215dedc0924b
Author: Christian Sigg <csigg at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Log Message:
-----------
[mlir][bazel] Allow `gentbl_cc_library(tbl_outs)` to be a dict. (#134271)
This makes the BUILD file shorter and more readable.
I will follow up with converting the other instances.
Commit: a54736afd5b8f8ed25550a9f456afd36e49c04e0
https://github.com/llvm/llvm-project/commit/a54736afd5b8f8ed25550a9f456afd36e49c04e0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
CloneFunction: Do not delete blocks with address taken (#134209)
If a block with a single predecessor also had its address taken,
it was getting deleted in this post-inline cleanup step. This would
result in the blockaddress in the resulting function getting deleted
and replaced with inttoptr 1.
This fixes one bug required to permit inlining of functions with blockaddress
uses.
At the moment this is not testable (at least without an annoyingly complex
unit test), and is a pre-bug fix for future patches. Functions with
blockaddress uses are rejected in isInlineViable, so we don't get this far
with the current InlineFunction uses (some of the existing cases seem to
reproduce this part of the rejection logic, like PartialInliner). This
will be tested in a pending llvm-reduce change.
Prerequisite for #38908
Commit: 9a5b0f302be2ce155d5a4a0f0ca998ecb9bca497
https://github.com/llvm/llvm-project/commit/9a5b0f302be2ce155d5a4a0f0ca998ecb9bca497
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
M llvm/test/Transforms/InstSimplify/vec-icmp-of-cast.ll
Log Message:
-----------
Reapply "[InstCombine] Match scalable splats in m_ImmConstant (#132522)" (#134262)
This reapplies #132522.
Previously casts of scalable m_ImmConstant splats weren't being folded
by ConstantFoldCastOperand, triggering the "Constant-fold of ImmConstant
should not fail" assertion.
There are no changes to the code in this PR, instead we just needed
#133207 to land first.
A test has been added for the assertion in
llvm/test/Transforms/InstSimplify/vec-icmp-of-cast.ll
@icmp_ult_sext_scalable_splat_is_true.
<hr/>
#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.
Commit: 2abcdd8cf08b9a170e6e5ad1b9facbf71135522f
https://github.com/llvm/llvm-project/commit/2abcdd8cf08b9a170e6e5ad1b9facbf71135522f
Author: Austin Schuh <AustinSchuh at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Headers/__clang_cuda_texture_intrinsics.h
A clang/test/CodeGen/nvptx-surface.cu
M clang/test/Headers/Inputs/include/cuda.h
A clang/test/Headers/Inputs/include/surface_indirect_functions.h
Log Message:
-----------
[CUDA] Add support for CUDA surfaces (#132883)
This adds support for all the surface read and write calls to clang. It
extends the pattern used for textures to surfaces too.
I tested this by generating all the various permutations of the calls
and argument types in a python script, compiling them with both clang
and nvcc, and comparing the generated ptx for equivilence. They all
agree, ignoring register allocation, and some places where Clang picks
different memory write instructions. An example kernel is:
```
__global__ void testKernel(cudaSurfaceObject_t surfObj, int x, float2* result) {
*result = surf1Dread<float2>(surfObj, x, cudaBoundaryModeZero);
}
```
---------
Signed-off-by: Austin Schuh <austin.linux at gmail.com>
Commit: 0bec0f5c059af5f920fe22ecda469b666b5971b0
https://github.com/llvm/llvm-project/commit/0bec0f5c059af5f920fe22ecda469b666b5971b0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
Log Message:
-----------
[SLP]Initial support for (masked)loads + compress and (masked)interleaved
Added initial support for (masked)loads + compress and
(masked)interleaved loads.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/132099
Commit: 1a540c3b8bcefaf6b36f261341ce55a1a24eca21
https://github.com/llvm/llvm-project/commit/1a540c3b8bcefaf6b36f261341ce55a1a24eca21
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/lib/CodeGen/LivePhysRegs.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/PowerPC/adde_return_type.ll
M llvm/test/CodeGen/PowerPC/addegluecrash.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-split.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc-large32.ll
M llvm/test/CodeGen/PowerPC/atomicrmw-cond-sub-clamp.ll
A llvm/test/CodeGen/PowerPC/carry-liveness-after-expand-isel.ll
M llvm/test/CodeGen/PowerPC/cvt_i64_to_fp.ll
M llvm/test/CodeGen/PowerPC/inc-of-add.ll
M llvm/test/CodeGen/PowerPC/pr35688.ll
M llvm/test/CodeGen/PowerPC/pr36292.ll
M llvm/test/CodeGen/PowerPC/pr40922.ll
M llvm/test/CodeGen/PowerPC/pr45448.ll
M llvm/test/CodeGen/PowerPC/sat-add.ll
M llvm/test/CodeGen/PowerPC/select.ll
M llvm/test/CodeGen/PowerPC/uaddo-32.ll
M llvm/test/CodeGen/PowerPC/uaddo-64.ll
M llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll
Log Message:
-----------
[PowerPC] Deprecate uses of ISD::ADDC/ISD::ADDE/ISD::SUBC/ISD::SUBE (#133155)
ISD::ADDC, ISD::ADDE, ISD::SUBC and ISD::SUBE are being deprecated,
using ISD::UADDO_CARRY,ISD::USUBO_CARRY instead. Lowering the UADDO,
UADDO_CARRY, USUBO, USUBO_CARRY in the patch.
Commit: 75142250527a97fcf0c721148705ae415a2f2d3a
https://github.com/llvm/llvm-project/commit/75142250527a97fcf0c721148705ae415a2f2d3a
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll
Log Message:
-----------
Use a more proper idiom for "the output file doesn't matter". NFC. (#134280)
As in the description. Follow up to PR #134179.
Commit: 262b9b515330daf7c446cc7983bf5f89185b3666
https://github.com/llvm/llvm-project/commit/262b9b515330daf7c446cc7983bf5f89185b3666
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-03 (Thu, 03 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
A clang/include/clang/CIR/LoweringHelpers.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
A clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/Lowering/array.cpp
Log Message:
-----------
[CIR][Upstream] Local initialization for ArrayType (#132974)
This change adds local initialization for ArrayType
Issue #130197
Commit: cfee056b4e75cd941591d298e0f8dc303460c57e
https://github.com/llvm/llvm-project/commit/cfee056b4e75cd941591d298e0f8dc303460c57e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
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/ASTStructuralEquivalence.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
A clang/include/clang/Basic/UnsignedOrNone.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaLambda.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Sema/TemplateDeduction.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenACC.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/SemaTemplateVariadic.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/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang] NFC: introduce UnsignedOrNone as a replacement for std::optional<unsigned> (#134142)
This introduces a new class 'UnsignedOrNone', which models a lite
version of `std::optional<unsigned>`, but has the same size as
'unsigned'.
This replaces most uses of `std::optional<unsigned>`, and similar
schemes utilizing 'int' and '-1' as sentinel.
Besides the smaller size advantage, this is simpler to serialize, as its
internal representation is a single unsigned int as well.
Commit: 3e59ff27e5d4506086dfe02ec600adf0baa9543e
https://github.com/llvm/llvm-project/commit/3e59ff27e5d4506086dfe02ec600adf0baa9543e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Fix pred type for vote functions (#134166)
Commit: 3f6ae3f0a81ac32aee7633b7c240ce8eb25192ff
https://github.com/llvm/llvm-project/commit/3f6ae3f0a81ac32aee7633b7c240ce8eb25192ff
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/docs/ArrayRepacking.md
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Driver/frepack-arrays-contiguity.f90
A flang/test/Driver/frepack-arrays.f90
A flang/test/Driver/fstack-repack-arrays.f90
M flang/test/Lower/repack-arrays.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Added driver options for arrays repacking. (#134002)
Added options:
* -f[no-]repack-arrays
* -f[no-]stack-repack-arrays
* -frepack-arrays-contiguity=whole/innermost
Commit: b8b752db2b89a730aff250a83b64c7ed10d95ca0
https://github.com/llvm/llvm-project/commit/b8b752db2b89a730aff250a83b64c7ed10d95ca0
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/docs/CMakeLists.txt
Log Message:
-----------
[flang][NFC] Create required Source dir for flang-doc. (#134000)
Commit: 158684a80ff825f0f02863360ac51230f5b7c3b4
https://github.com/llvm/llvm-project/commit/158684a80ff825f0f02863360ac51230f5b7c3b4
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after 586c5e3083428e7473e880dafd5939e8707bc1c9
Commit: b393ca6026ffbd5621edb00503dd39e9eec97a1a
https://github.com/llvm/llvm-project/commit/b393ca6026ffbd5621edb00503dd39e9eec97a1a
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[NFC][LLVM][RISCV] Cleanup pass initialization for RISCV (#134279)
- Move calls to pass initialization functions to RISCV target
initialization and remove them from pass constructors.
Commit: 7288f1bc32c1964c4de50aa305b696b32d0c0f1a
https://github.com/llvm/llvm-project/commit/7288f1bc32c1964c4de50aa305b696b32d0c0f1a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Use nvvm operation for match any (#134283)
The string used for intrinsic was not the correct one
"llvm.nvvm.match.any.sync.i32p". There was an extra `p` at the end.
Use the NVVM operation instead so we don't duplicate it.
Commit: 229ca7dbcb5a6bcbcdc87fb0feb29362375c2843
https://github.com/llvm/llvm-project/commit/229ca7dbcb5a6bcbcdc87fb0feb29362375c2843
Author: zcfh <1412805291 at qq.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/test/tools/llvm-profdata/memprof-buildid.test
Log Message:
-----------
[memprof] Report an error when buildid and profile do not match (#132504)
## Problem
When the build ids of the profile and binary do not match, the error
reported by llvm-profdata is `no entries in callstack map after
symbolization`, but the root cause of this problem is the **build id
mismatch**.
## Trigger scenario
For example, when performing `memprof` optimization on `clang`,
`rawprofile` is collected through `ninja clang`. In addition to running
clang, some other programs will also be executed, and these programs
will also generate rawprofile. When `no entries in callstack map after
symbolization` appears during `llvm-profdata merge`, users may
mistakenly think that the **instrumentation failed or other reasons**,
and will **not directly realize that the binary and profile do not
match**.
## Changed
Currently, when the build id does not match, an assert error is
triggered only in debug mode. Change it to directly return an error when
the build id does not match.
Commit: 7c4013d5912d2163147b46d6f97f4e2b0d976f3a
https://github.com/llvm/llvm-project/commit/7c4013d5912d2163147b46d6f97f4e2b0d976f3a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
Log Message:
-----------
Revert "[SLP]Initial support for (masked)loads + compress and (masked)interleaved"
This reverts commit 0bec0f5c059af5f920fe22ecda469b666b5971b0 to fix
a crash reported in https://lab.llvm.org/buildbot/#/builders/143/builds/6668.
Commit: 012e574d4dc3f2441fae05e3fa9c35f3fe1e310e
https://github.com/llvm/llvm-project/commit/012e574d4dc3f2441fae05e3fa9c35f3fe1e310e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
Log Message:
-----------
[LV] Add FindLastIV test with truncated IV and epilogue vectorization.
This adds missing test coverage for
https://github.com/llvm/llvm-project/pull/132691.
Commit: daab7d08078bb7cd37c66b78a56f4773e6b12fba
https://github.com/llvm/llvm-project/commit/daab7d08078bb7cd37c66b78a56f4773e6b12fba
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
Log Message:
-----------
[SLP]Initial support for (masked)loads + compress and (masked)interleaved
Added initial support for (masked)loads + compress and
(masked)interleaved loads.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/132099
Commit: b93376f899824ad8543b961f2f79de6841034090
https://github.com/llvm/llvm-project/commit/b93376f899824ad8543b961f2f79de6841034090
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
Log Message:
-----------
[libc++][type_traits] `reference_{constructs|converts}_from_temporary` with `-Winvalid-specialization` tests (#133946)
Addresses comment:
https://github.com/llvm/llvm-project/pull/128649/files#r2022341035
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 61768b35285ef73b88146946dddfef045b353708
https://github.com/llvm/llvm-project/commit/61768b35285ef73b88146946dddfef045b353708
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/ctxprof-separate-module.ll
Log Message:
-----------
[ctxprof] Don't import roots elsewhere (#134012)
Block a context root from being imported by its callers.
Suppose that happened. Its caller - usually a message pump - inlines its copy of the root. Then it (the root) and whatever it calls will be the non-contextually optimized callee versions.
Commit: cdff7f0b6ebe48c7d99079db002855be7716a7a9
https://github.com/llvm/llvm-project/commit/cdff7f0b6ebe48c7d99079db002855be7716a7a9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Retrieve middle VPBB via scalar ph to fix epilogue resumephis (NFC)
If ScalarPH has predecessors, we may need to update its reduction resume
values. If there is a middle block, it must be the first predecessor.
Note that the first predecessor may not be the middle block, if the
middle block doesn't branch to the scalar preheader. In that case,
fixReductionScalarResumeWhenVectorizingEpilog will be a no-op.
In preparation for https://github.com/llvm/llvm-project/pull/106748.
Commit: 5f99e0d4b9ea071e29a9cba75619d26811ff76c2
https://github.com/llvm/llvm-project/commit/5f99e0d4b9ea071e29a9cba75619d26811ff76c2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
[lldb] Use the "reverse video" effect when colors are disabled. (#134203)
When you run lldb without colors (`-X`), the status line looks weird
because it doesn't have a background. You end up with what appears to be
floating text at the bottom of your terminal.
This patch changes the statusline to use the reverse video effect, even
when colors are off. The effect doesn't introduce any new colors and
just inverts the foreground and background color.
I considered an alternative approach which changes the behavior of the
`-X` option, so that turning off colors doesn't prevent emitting
non-color related control characters such as bold, underline, and
reverse video. I decided to go with this more targeted fix as (1) nobody
is asking for this more general change and (2) it introduces significant
complexity to plumb this through using a setting and driver flag so that
it can be disabled when running the tests.
Fixes #134112.
Commit: 7d3dfc862d283319d01997c0672c50b4a082aa4e
https://github.com/llvm/llvm-project/commit/7d3dfc862d283319d01997c0672c50b4a082aa4e
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF.h
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF_ppc64.h
M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFF.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.h
A llvm/lib/ExecutionEngine/JITLink/XCOFF_ppc64.cpp
M llvm/lib/ExecutionEngine/Orc/LoadLinkableFile.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
A llvm/test/ExecutionEngine/JITLink/ppc64/XCOFF_ppc64.ll
Log Message:
-----------
[JITLink][XCOFF] Setup initial build support for XCOFF (#127266)
This patch starts the initial implementation of JITLink for XCOFF (Object format for AIX).
Commit: 4f902d2425e59bd182390702de23d5cec3467fc2
https://github.com/llvm/llvm-project/commit/4f902d2425e59bd182390702de23d5cec3467fc2
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness.s
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
Log Message:
-----------
[llvm-dwarfdump] Make --verify for .debug_names multithreaded. (#127281)
This PR makes verification of .debug_names acceleration table
multithreaded. In local testing it improves verification of clang
.debug_names from four minutes to under a minute.
This PR relies on a current mechanism of extracting DIEs into a vector.
Future improvements can include creating API to extract one DIE at a
time, or grouping Entires into buckets by CUs and extracting before
parallel step.
Single Thread
4:12.37 real, 246.88 user, 3.54 sys, 0 amem,10232004 mmem
Multi Thread
0:49.40 real, 612.84 user, 515.73 sys, 0 amem, 11226292 mmem
Commit: 13aac46332f607a38067b5ddd466071683b8c255
https://github.com/llvm/llvm-project/commit/13aac46332f607a38067b5ddd466071683b8c255
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[clang][NFC] Refactor CodeGen's hasBooleanRepresentation (#134159)
The ClangIR upstreaming project needs the same logic for
hasBooleanRepresentation() that is currently implemented in the standard
clang codegen. In order to share this code, this change moves the
implementation of this function into the AST Type class.
No functional change is intended by this change. The ClangIR use of this
function will be added separately in a later change.
Commit: a06ae976dc0d977ca034041a8b91634e32bf6994
https://github.com/llvm/llvm-project/commit/a06ae976dc0d977ca034041a8b91634e32bf6994
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/unary.cpp
Log Message:
-----------
[CIR] Upstream support for promoted types with unary plus/minus (#133829)
The initial upstreaming of unary operations left promoted types
unhandled for the unary plus and minus operators. This change implements
support for promoted types and performs a bit of related code cleanup.
Commit: 0f696c2e866d7aa913c7a1eaadde9bd4378e25b1
https://github.com/llvm/llvm-project/commit/0f696c2e866d7aa913c7a1eaadde9bd4378e25b1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
Log Message:
-----------
[LV] Add test where epilogue is vectorized and backedge removed.
Adds extra test coverage for
https://github.com/llvm/llvm-project/pull/106748.
Commit: de40f6101d34dd7964d409366fca663c5515a941
https://github.com/llvm/llvm-project/commit/de40f6101d34dd7964d409366fca663c5515a941
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda][NFC] Use NVVM op for match all (#134303)
Commit: fb6f60ddc5f2e386bbeaa2927a6081d15bc159fc
https://github.com/llvm/llvm-project/commit/fb6f60ddc5f2e386bbeaa2927a6081d15bc159fc
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda][NFC] Use NVVM VoteBallotOp (#134307)
`llvm.nvvm.vote.ballot.sync` has its own operation so use it in
lowering.
Commit: 85fdab33b09ab2246e69f806a85f1846a9ea1e51
https://github.com/llvm/llvm-project/commit/85fdab33b09ab2246e69f806a85f1846a9ea1e51
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/command.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Runtime/command.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
A flang/test/Lower/Intrinsics/unlink-func.f90
A flang/test/Lower/Intrinsics/unlink-sub.f90
Log Message:
-----------
[flang][intrinsic] add nonstandard intrinsic unlink (#134162)
This PR adds the intrinsic `unlink` to flang.
## Test plan
- Added two codegen unit tests and ensured flang-check continues to
pass.
- Manually compiled and ran the example from the documentation.
Commit: 506630d6db7c848f8943fff752039b9e1c91cb63
https://github.com/llvm/llvm-project/commit/506630d6db7c848f8943fff752039b9e1c91cb63
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Avoid unchecked error assertion (#134284)
Commit: 109566a3d0cf20fc13a181a844c159032e7042ee
https://github.com/llvm/llvm-project/commit/109566a3d0cf20fc13a181a844c159032e7042ee
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fold "${Target}Analysis" targets into their respective CodeGen targets. (#134312)
After 3801bf6164f570a145e3ebd20cf9114782ae0329, SPIRVAnalysis needs to
include SPIRV.h provided by SPIRVCodegen, but the CodeGen target already
depends on Analysis, so that would cause a circular dependency.
Analysis is a subdirectory of CodeGen so it makes sense as a part of the
main CodeGen target too.
Commit: 996cf5dc6731d00da6ce5dc7a25b399d0ed29d54
https://github.com/llvm/llvm-project/commit/996cf5dc6731d00da6ce5dc7a25b399d0ed29d54
Author: Sumit Agarwal <sumitagarwal330 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/dot2add.hlsl
A clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/dot2add.ll
Log Message:
-----------
[HLSL] Implement dot2add intrinsic (#131237)
Resolves #99221
Key points: For SPIRV backend, it decompose into a `dot` followed a
`add`.
- [x] Implement dot2add clang builtin,
- [x] Link dot2add clang builtin with hlsl_intrinsics.h
- [x] Add sema checks for dot2add to CheckHLSLBuiltinFunctionCall in
SemaHLSL.cpp
- [x] Add codegen for dot2add to EmitHLSLBuiltinExpr in CGBuiltin.cpp
- [x] Add codegen tests to clang/test/CodeGenHLSL/builtins/dot2add.hlsl
- [x] Add sema tests to clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
- [x] Create the int_dx_dot2add intrinsic in IntrinsicsDirectX.td
- [x] Create the DXILOpMapping of int_dx_dot2add to 162 in DXIL.td
- [x] Create the dot2add.ll and dot2add_errors.ll tests in
llvm/test/CodeGen/DirectX/
Commit: b11eece1bb582fa1d06ca61e210f9741e0a357b7
https://github.com/llvm/llvm-project/commit/b11eece1bb582fa1d06ca61e210f9741e0a357b7
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
A flang/test/Lower/Intrinsics/time.f90
Log Message:
-----------
[flang][intrinsics] Implement the time intrinsic (#133823)
This PR implements the nonstandard intrinsic time.
In addition to running the unit tests, I also double checked that the
example code works by manually compiling and running it.
Commit: 2cd8edd1fff2a9d82902f70270b4209463a34cba
https://github.com/llvm/llvm-project/commit/2cd8edd1fff2a9d82902f70270b4209463a34cba
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
Log Message:
-----------
[libc++] Add missing release note for LLVM 20 about zip_view (#134144)
We should have had a release note in LLVM 20 about implementing P2165R4
since that is technically an ABI and API break for zip_view. We don't
expect anyone to actually hit the ABI issue, but we've come across some
(fairly small) breakage due to the API change, so this should at least
be mentioned in the release notes.
Commit: f1c6612202d88cbde224387621327a31609f2177
https://github.com/llvm/llvm-project/commit/f1c6612202d88cbde224387621327a31609f2177
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-03 (Thu, 03 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.
Re-landing this change after fixing an incorrect behavior on systems
without SME support.
rdar://146886210
Commit: 9f2feeb1891a4d58823e6cbbb404847d6e43e65b
https://github.com/llvm/llvm-project/commit/9f2feeb1891a4d58823e6cbbb404847d6e43e65b
Author: modiking <modiking213 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
Log Message:
-----------
[mlir][gpu][nvptx] Remove null terminator when outputting PTX (#133019)
PTX source files are expected to only contain ASCII text
(https://docs.nvidia.com/cuda/parallel-thread-execution/#source-format) and no null terminators.
`ptxas` has so far not enforced this but is moving towards doing so.
This revealed a problem where the null terminator is getting printed out
in the output file in MLIR path when outputting ptx directly. Only add the null on the assembly output path for JIT instead of in output of `moduleToObject `.
Commit: bd197ca00365cd35002792324bd149f71e864e1a
https://github.com/llvm/llvm-project/commit/bd197ca00365cd35002792324bd149f71e864e1a
Author: Ian Anderson <iana at apple.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.14.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
M clang/test/Driver/Inputs/WatchOS6.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
M clang/test/Driver/darwin-ld-platform-version-watchos.c
M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/AppleTVOS15.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/MacOSX11.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
Log Message:
-----------
[clang][modules] Determine if the SDK supports builtin modules independent of the target (#134005)
Whether the SDK supports builtin modules is a property of the SDK
itself, and really has nothing to do with the target. This was already
worked around for Mac Catalyst, but there are some other more esoteric
non-obvious target-to-sdk mappings that aren't handled. Have the SDK
parse its OS out of CanonicalName and use that instead of the target to
determine if builtin modules are supported.
Commit: d33ae41c621dfbfb1eda5d469e2fb146ef49fbf9
https://github.com/llvm/llvm-project/commit/d33ae41c621dfbfb1eda5d469e2fb146ef49fbf9
Author: Aditya Tejpaul <97700214+hoarfrost32 at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sys/time.yaml
M libc/src/sys/CMakeLists.txt
A libc/src/sys/time/CMakeLists.txt
A libc/src/sys/time/linux/CMakeLists.txt
A libc/src/sys/time/linux/utimes.cpp
A libc/src/sys/time/utimes.h
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/time/CMakeLists.txt
A libc/test/src/sys/time/utimes_test.cpp
Log Message:
-----------
[libc] Implemented utimes (Issue #133953) (#134167)
This pull request implements the `utimes` command in libc ([Issue
#133953](https://github.com/llvm/llvm-project/issues/133953)).
- [x] Add the implementation of `utimes` in `/src/sys/time`.
- [x] Add tests for `utimes` in `/test/src/sys/time`.
- [x] Add `utimes` to
[entrypoints.txt](https://github.com/llvm/llvm-project/blob/main/libc/config/linux/x86_64/entrypoints.txt)
for at least x86_64 and whatever you're building on
- [x] Add `utimes` to
[include/sys/time.yaml](https://github.com/llvm/llvm-project/blob/main/libc/include/sys/time.yaml)
Commit: ba0a52a04b140bb7ed75cca4e1c27ec7d747fa40
https://github.com/llvm/llvm-project/commit/ba0a52a04b140bb7ed75cca4e1c27ec7d747fa40
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
M llvm/test/DebugInfo/NVPTX/debug-info.ll
A llvm/test/Transforms/InferAddressSpaces/NVPTX/arguments.ll
Log Message:
-----------
[InferAS] Support getAssumedAddrSpace for Arguments for NVPTX (#133991)
Commit: ee1ee1144a20c439432a4f6075bdd7aa0afcfb9f
https://github.com/llvm/llvm-project/commit/ee1ee1144a20c439432a4f6075bdd7aa0afcfb9f
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
Log Message:
-----------
Fix unused variable warning in non-debug build after 7d3dfc862d283319d01997c0672c50b4a082aa4e (NFC)
Commit: c0079ba3dd31dd928df0c7f0f0e6106260f0ca19
https://github.com/llvm/llvm-project/commit/c0079ba3dd31dd928df0c7f0f0e6106260f0ca19
Author: Michael Jones <michaelrj at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libc/test/src/sys/time/utimes_test.cpp
Log Message:
-----------
[libc] Make utimes_test more stable (#134321)
The test for utimes added in #134167 might fail if the file for one test
hasn't been cleaned up by the OS before the second test starts. This
patch makes the tests use different files.
Commit: 65b85bf8bcb6c88f249de99c6b568f13b9794c1c
https://github.com/llvm/llvm-project/commit/65b85bf8bcb6c88f249de99c6b568f13b9794c1c
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/test/Driver/linker-flags.f90
Log Message:
-----------
[flang] Fixed driver link LIT test for PPC targets. (#134320)
After #131041, the F128 libraries are not linked for PPC targets even
when the driver is built with FLANG_RUNTIME_F128_MATH_LIB.
Commit: fcfbef5582f097f3933470755c3f873e9efce03f
https://github.com/llvm/llvm-project/commit/fcfbef5582f097f3933470755c3f873e9efce03f
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Remove extra declarations of MulOperandsAndResultElementType in TosaOps.td (#134300)
Minor code cleanup
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 7d05c2326c579ff93b7b2a412cc2fd2b10598b34
https://github.com/llvm/llvm-project/commit/7d05c2326c579ff93b7b2a412cc2fd2b10598b34
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Remove extra trailing whitespace (#134290)
Trivial change.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: ae5306f30e17719d7589b7941bd107ce58a04228
https://github.com/llvm/llvm-project/commit/ae5306f30e17719d7589b7941bd107ce58a04228
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/MC/RISCV/xqcibi-relocations.s
Log Message:
-----------
[RISCV] Add symbol parsing support for the Xqcibi branch immediate instructions (#134233)
This patch adds support for parsing symbols in the Xqcibi branch
immediate instructions. While the 32 bit branch instructions use the
same instruction format and relocation as the existing branch
instructions in RISCV, the 48 bit ones use the `InstFormatQC_EB`
instruction format and the `R_RISCV_QC_E_BRANCH` relocation that is
defined in `BinaryFormat/ELFRelocs/RISCV_nonstandard.def.`
Vendor relocation support will be added in a later patch.
Commit: b9891715af7ab055ccb7ad424aefe54c67d77988
https://github.com/llvm/llvm-project/commit/b9891715af7ab055ccb7ad424aefe54c67d77988
Author: Rodrigo Rocha <rcor at dcc.ufmg.br>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
Log Message:
-----------
[BOLT] Handle generation of compare and jump sequences (#131949)
This patch fixes the following two issues with the createCmpJE for
AArch64:
1. Avoids overwriting the value of the input register RegNo by use XZR
as the destination register.
subs xzr, RegNo, #Imm
which is equivalent to a simple
cmp RegNo, #Imm
2. The immediate operand to the Bcc instruction must be EQ instead of
#Imm.
This patch also adds a new function for createCmpJNE and unit tests for
the both createCmpJE and createCmpJNE for X86 and AArch64.
Commit: 21468261695918cd74e0079153eedbccb689fe20
https://github.com/llvm/llvm-project/commit/21468261695918cd74e0079153eedbccb689fe20
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/test/ThinLTO/X86/ctxprof-separate-module.ll
Log Message:
-----------
[ctxprof] Support for "move" semantics for the contextual root (#134192)
This PR finishes what PR #133992 started.
Commit: 4532512f6c2558fa7d5ba9f35fbce7bad76c1380
https://github.com/llvm/llvm-project/commit/4532512f6c2558fa7d5ba9f35fbce7bad76c1380
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
Log Message:
-----------
[ctxprof] Move `MoveSymbolGUID` to address dependency issues (#134334)
See PR #134192
Commit: 4088c70f4e7eae0bfc2916cc88c7301ec5e19daf
https://github.com/llvm/llvm-project/commit/4088c70f4e7eae0bfc2916cc88c7301ec5e19daf
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
Log Message:
-----------
CGHLSLBuiltins.cpp: Suppress a warning in #131237 [-Wunused-variable]
Commit: c9f6d26e049849a8d8d31deaf6c710894a361b0e
https://github.com/llvm/llvm-project/commit/c9f6d26e049849a8d8d31deaf6c710894a361b0e
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmLexer.h
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/CMakeLists.txt
R llvm/lib/MC/MCParser/MCAsmLexer.cpp
M llvm/utils/gn/secondary/llvm/lib/MC/MCParser/BUILD.gn
Log Message:
-----------
[MC] Merge MCAsmLexer.{h,cpp} into AsmLexer.{h,cpp} (#134207)
2b11c7de4ae182496438e166cb6758d41b6e1740 introduced
`llvm/include/llvm/MC/MCAsmLexer.h` and made `AsmLexer` inherit from
`MCAsmLexer`, likely to allow target-specific parsers to depend solely
on `MCAsmLexer`. However, this separation now seems unnecessary and
confusing.
`MCAsmLexer` defines virtual functions with `AsmLexer` as its only
implementation, and `AsmLexer` itself has few extra public methods.
To simplify the codebase, this change merges MCAsmLexer.{h,cpp} into
AsmLexer.{h,cpp}. MCAsmLexer.h is temporarily kept as a forwarder.
Note: I doubt that a downstream lexer handling an assembly syntax
significantly different from the standard GNU Assembler syntax would
want to inherit from `MCAsmLexer`. Instead, it's more likely they'd
extend `AsmLexer` by adding new states and modifying its internal logic,
as seen with variables for MASM, M68k, and HLASM.
Commit: 897f9a51b981c773a63dd94709d9de2442feb008
https://github.com/llvm/llvm-project/commit/897f9a51b981c773a63dd94709d9de2442feb008
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
Log Message:
-----------
[X86][AVX10.2] Replace nepbh with bf16 to match with others, NFCI (#134240)
Commit: 8e7d6baf0e013408be932758b4a5334c14a34086
https://github.com/llvm/llvm-project/commit/8e7d6baf0e013408be932758b4a5334c14a34086
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/include/lldb/API/SBModule.h
M lldb/source/API/SBModule.cpp
Log Message:
-----------
Revert "[LLDB] Expose checking if the symbol file exists/is loaded via SBModule" (#134341)
Reverts llvm/llvm-project#134163
Reverting while @clayborg and I come up with a better API
Commit: 6333f8457c43f5a2d19d6552689726e86196dea7
https://github.com/llvm/llvm-project/commit/6333f8457c43f5a2d19d6552689726e86196dea7
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/loop-directive.f90
Log Message:
-----------
[flang][OpenMP] Move reductions from `loop` to `teams` when `loop` is mapped to `distribute` (#132920)
Follow-up to #132003, in particular, see
https://github.com/llvm/llvm-project/pull/132003#issuecomment-2739701936.
This PR extends reduction support for `loop` directives. Consider the
following scenario:
```fortran
subroutine bar
implicit none
integer :: x, i
!$omp teams loop reduction(+: x)
DO i = 1, 5
call foo()
END DO
end subroutine
```
Note the following:
* According to the spec, the `reduction` clause will be attached to
`loop` during earlier stages in the compiler.
* Additionally, `loop` cannot be mapped to `distribute parallel for` due
to the call to a foreign function inside the loop's body.
* Therefore, `loop` must be mapped to `distribute`.
* However, `distribute` does not have `reduction` clauses.
* As a result, we have to move the `reduction`s from the `loop` to its
parent `teams` directive, which is what is done by this PR.
Commit: 46e2c07fa28bd42da8f8ca52e93603297114afa2
https://github.com/llvm/llvm-project/commit/46e2c07fa28bd42da8f8ca52e93603297114afa2
Author: cmtice <cmtice at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
A lldb/docs/dil-expr-lang.ebnf
A lldb/include/lldb/ValueObject/DILAST.h
A lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
A lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/CMakeLists.txt
A lldb/source/ValueObject/DILAST.cpp
A lldb/source/ValueObject/DILEval.cpp
A lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/Makefile
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/TestFrameVarDILGlobalVariableLookup.py
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/Makefile
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/TestFrameVarDILInstanceVariables.py
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/Makefile
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/main.cpp
M lldb/unittests/ValueObject/DILLexerTests.cpp
Log Message:
-----------
[LLDB] Add DIL code for handling plain variable names. (#120971)
Add the Data Inspection Language (DIL) implementation pieces for
handling plain local and global variable names.
See https://discourse.llvm.org/t/rfc-data-inspection-language/69893 for
information about DIL.
This change includes the basic AST, Lexer, Parser and Evaluator pieces,
as well as some tests.
Commit: 92c93f5286b9ff33f27ff694d2dc33da1c07afdd
https://github.com/llvm/llvm-project/commit/92c93f5286b9ff33f27ff694d2dc33da1c07afdd
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/MC/MCParser/AsmLexer.cpp
Log Message:
-----------
[MC] Merge MCAsmLexer and AsmLexer
Follow-up to #134207
Both classes define `IsAtStartOfStatement` but the semantics are
confusingly different. Rename the base class one.
Commit: 92923e517c2926eb94b7b6e403433ecf62953186
https://github.com/llvm/llvm-project/commit/92923e517c2926eb94b7b6e403433ecf62953186
Author: Iris <0.0 at owo.li>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/metadata-dependent-libraries.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][llvm] Add `LLVM_DependentLibrariesAttr` (#133385)
https://llvm.org/docs/LangRef.html#dependent-libs-named-metadata
---------
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: d579622b1e1a6bc59fbe0135ab30fc0fd9849882
https://github.com/llvm/llvm-project/commit/d579622b1e1a6bc59fbe0135ab30fc0fd9849882
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGObjCMac.cpp
Log Message:
-----------
[clang][CGObjC] Prefer PointerType::get with LLVMContext over Type (NFC) (#133871)
Part of #123569
Commit: 78a4b9d9b46d59e20cf01d6008ab0080052e9938
https://github.com/llvm/llvm-project/commit/78a4b9d9b46d59e20cf01d6008ab0080052e9938
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M polly/lib/CodeGen/LoopGeneratorsGOMP.cpp
Log Message:
-----------
[polly] Prefer PointerType::get with LLVMContext over Type (NFC) (#133868)
Part of #123569
Commit: 22130ca486b2fb43198453a53eb048cd8a97e9a8
https://github.com/llvm/llvm-project/commit/22130ca486b2fb43198453a53eb048cd8a97e9a8
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
Log Message:
-----------
[MS][clang] Fix crash on deletion of array of pointers (#134088)
Sometimes a non-array delete is treated as delete[] when input pointer
is pointer to array. With vector deleting destructors support we now
generate a virtual destructor call instead of simple loop over the
elements. This patch adjusts the codepath that generates virtual call to
expect the case of pointer to array.
Commit: e4f76e3a3335dda608c661d76efacc70e607a5e4
https://github.com/llvm/llvm-project/commit/e4f76e3a3335dda608c661d76efacc70e607a5e4
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-04 (Fri, 04 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:
-----------
Reapply "[lldb] Return *const* UnwindPlan pointers from FuncUnwinders " (#134246)
This reverts commit 094904303d50e0ab14bc5f2586a602f79af95953, reapplying
d7afafdbc464e65c56a0a1d77bad426aa7538306 (#133247).
The failure ought to be fixed by
0509932bb6a291ba11253f30c465ab3ad164ae08.
Commit: f528a80d3ed70181483e3ce10aa3a7a4dd812817
https://github.com/llvm/llvm-project/commit/f528a80d3ed70181483e3ce10aa3a7a4dd812817
Author: Vladi Krapp <vladi.krapp at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/test/Driver/arm-thread-pointer.c
Log Message:
-----------
[Arm] Add more -mtp=cp15 tests (#134098)
This patch systematically covers all -mtp=cp15 behaviour options for
better code coverage.
Commit: aaf398c2e76853e890fa3aae35a7ea3aa4edac97
https://github.com/llvm/llvm-project/commit/aaf398c2e76853e890fa3aae35a7ea3aa4edac97
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
Log Message:
-----------
[AArch64] Regenerate apple-unrolling-multi-exit.ll test checks (#134257)
Commit: 9eb7e64145f66f59f07edffb4f9c8a648174543e
https://github.com/llvm/llvm-project/commit/9eb7e64145f66f59f07edffb4f9c8a648174543e
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
Log Message:
-----------
[mlir][spirv] Add verification for Bias operand (#134231)
Commit: c154d66339ed6e3c236849e4999cf0dc6ddec777
https://github.com/llvm/llvm-project/commit/c154d66339ed6e3c236849e4999cf0dc6ddec777
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Apply ClangTidyBugProne finding (NFC).
argument name 'outputType' in comment does not match parameter name 'outputTypes'
Commit: 1302610f03a1f10c2eea4c66445ccba4c52887b6
https://github.com/llvm/llvm-project/commit/1302610f03a1f10c2eea4c66445ccba4c52887b6
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
A llvm/test/Transforms/MergeFunc/crash-cast-arrays.ll
Log Message:
-----------
[MergeFunc] Fix crash caused by bitcasting ArrayType (#133259)
createCast in MergeFunctions did not consider ArrayTypes, which results
in the creation of a bitcast between ArrayTypes in the thunk function,
leading to an assertion failure in the provided test case.
The version of createCast in GlobalMergeFunctions does handle
ArrayTypes, so this common code has been factored out into the
IRBuilder.
Commit: a4573ee38d4497749d06aedb422159277cccfd66
https://github.com/llvm/llvm-project/commit/a4573ee38d4497749d06aedb422159277cccfd66
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
Log Message:
-----------
[LoopUnroll] UnrollRuntimeMultiExit takes precedence over TTI. (#134259)
Update UnrollRuntimeLoopRemainder to always give priority to the
UnrollRuntimeMultiExit option, if provided.
After ad9da92cf6f7357 (https://github.com/llvm/llvm-project/pull/124462),
we would ignore the option if the backend indicates multi-exit is profitable.
This means it cannot be used to disable runtime unrolling.
To be consistent with canProfitablyRuntimeUnrollMultiExitLoop, always
respect the option.
This surfaced while discussing https://github.com/llvm/llvm-project/pull/131998.
PR: https://github.com/llvm/llvm-project/pull/134259
Commit: 4da5e9dd320e9d48be0fa05ba1a8faf50fb53834
https://github.com/llvm/llvm-project/commit/4da5e9dd320e9d48be0fa05ba1a8faf50fb53834
Author: gbMattN <matthew.nagy at sony.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
Log Message:
-----------
[ASan] Fix shadowed-stack-serialization test on targets with different stack layout
Commit: 5812516ae2e034d70b0cca20b95d627e163b4567
https://github.com/llvm/llvm-project/commit/5812516ae2e034d70b0cca20b95d627e163b4567
Author: Alaa Ali <alaa.leithy at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
Log Message:
-----------
[MLIR] Fix canonicalization pattern for 'shape.shape_of' (#134234)
This PR will fix a bug in a canonicalization pattern (operation
shape.shape_of: shape of reshape)
```
// Before
func.func @f(%arg0: tensor<?x1xf32>, %arg1: tensor<3xi32>) -> tensor<3xindex> {
%reshape = tensor.reshape %arg0(%arg1) : (tensor<?x1xf32>, tensor<3xi32>) -> tensor<?x1x1xf32>
%0 = shape.shape_of %reshape : tensor<?x1x1xf32> -> tensor<3xindex>
return %0 : tensor<3xindex>
}
//This is will error out as follows:
error: 'tensor.cast' op operand type 'tensor<3xi32>' and result type 'tensor<3xindex>' are cast incompatible
%0 = shape.shape_of %reshape : tensor<?x1x1xf32> -> tensor<3xindex>
^
note: see current operation: %0 = "tensor.cast"(%arg1) : (tensor<3xi32>) -> tensor<3xindex>
```
```
// After
func.func @f(%arg0: tensor<?x1xf32>, %arg1: tensor<3xi32>) -> tensor<3xindex> {
%0 = arith.index_cast %arg1 : tensor<3xi32> to tensor<3xindex>
return %0 : tensor<3xindex>
}
```
See file canonicalize.mlir in the change list for an example.
For the context, this bug was found while running a test on Keras 3, the
canonicalizer errors out due to an invalid tensor.cast operation when
the batch size is dynamic.
The operands of the op are tensor<3xi32> cast to tensor<3xindex>.
This change is related to a previous PR:
https://github.com/llvm/llvm-project/pull/98531
---------
Co-authored-by: Alaa Ali <alaaali at ah-alaaali-l.dhcp.mathworks.com>
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: a03b2250db20db7d6416ca37b41f5041e613f632
https://github.com/llvm/llvm-project/commit/a03b2250db20db7d6416ca37b41f5041e613f632
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
Log Message:
-----------
[NVPTX][Docs] [NFC] Update docs on intrinsics (#133136)
Recently, we have added a set of complex intrinsics on
the TMA, tcgen05, and Cvt family of instructions.
This patch captures the key learnings from our experience
so far and documents them as guidelines for future design.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: d6c076eeaa9d57363c6b64989d17fd094363bf9e
https://github.com/llvm/llvm-project/commit/d6c076eeaa9d57363c6b64989d17fd094363bf9e
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
Log Message:
-----------
[mlir][tosa] Reorder Tosa_ExtensionAttrs to match with definition order (#134319)
Simple refactor change.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 2bdc1a1337692a5743658ba6b680e5d914e684a4
https://github.com/llvm/llvm-project/commit/2bdc1a1337692a5743658ba6b680e5d914e684a4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
Log Message:
-----------
[LV] Use frozen start value for FindLastIV if needed. (#132691)
FindLastIV introduces multiple uses of the start value, where in the
original source there was only a single use, when the epilogue is
vectorized.
Each use of undef may produce a different result, so introducing
multiple uses can produce incorrect results when the input is
undef/poison.
If the start value may be undef or poison, freeze it and use the frozen
value, which will be the same at all uses.
See the following scenarios in Alive2:
* Both main and epilogue vector loops execute, go to exit block: https://alive2.llvm.org/ce/z/_TSvRr
* Both main and epilogue vector loops execute, go to scalar loop: https://alive2.llvm.org/ce/z/CsPj5v
* Only epilogue vector loop executes, go to exit block: https://alive2.llvm.org/ce/z/5XqkNV
* Only epilogue vector loop executes, go to scalar loop: https://alive2.llvm.org/ce/z/JUpqRN
The latter 2 show requiring freezing the resume phi. That means we cannot freeze
in the preheader. We could move the freeze to the main iteration count check, but
that would be a bit fragile to find and other transforms can sink the freeze if needed.
Depends on https://github.com/llvm/llvm-project/pull/132689
and https://github.com/llvm/llvm-project/pull/132690.
Fixes https://github.com/llvm/llvm-project/issues/126836
PR: https://github.com/llvm/llvm-project/pull/132691
Commit: a9a7b711e46548b2d6e9fef4daf39c455923644a
https://github.com/llvm/llvm-project/commit/a9a7b711e46548b2d6e9fef4daf39c455923644a
Author: Vladi Krapp <vladi.krapp at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/test/Driver/arm-thread-pointer.c
Log Message:
-----------
[ARM][NFC] Remove lines unnecessary for test (#134359)
Commit: a17d49687a2f5bc43fa57376a566c65a7fc97d7b
https://github.com/llvm/llvm-project/commit/a17d49687a2f5bc43fa57376a566c65a7fc97d7b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/test/Driver/code-object-version.f90
A flang/test/Integration/amdgpu-code-object-version.f90
Log Message:
-----------
[Flang][Driver][AMDGPU] Fix -mcode-object-version (#134230)
This patch updates flang to follow clang's behavior when processing the
`-mcode-object-version` option.
It is now used to populate an LLVM module flag called
`amdhsa_code_object_version` expected by the backend and also updates
the driver to add the `--amdhsa-code-object-version` option to the
frontend invocation for device compilation of AMDGPU targets.
Commit: b0b97e3b0507f44c126dd2e6d3e6575cf1ec598d
https://github.com/llvm/llvm-project/commit/b0b97e3b0507f44c126dd2e6d3e6575cf1ec598d
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
Log Message:
-----------
[LLVM][AArch64] Refactor lowering of fixed length integer setcc operations. (#132434)
The original code is essentially performing isel during legalisation
with the AArch64 specific nodes offering no additional value compared to
ISD::SETCC.
Commit: 0d17547879ffbd50d79907ea23fdac199758d45e
https://github.com/llvm/llvm-project/commit/0d17547879ffbd50d79907ea23fdac199758d45e
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
A llvm/test/CodeGen/X86/powi-const.ll
M llvm/test/CodeGen/X86/powi.ll
Log Message:
-----------
[X86][NFC] Added POWI function testcases (#134276)
- Moved existing llvm/test/CodeGen/X86/powi.ll file to
llvm/test/CodeGen/X86/powi-const.ll.
- Added new testcases for powi into llvm/test/CodeGen/X86/powi.ll.
Commit: a2e888f5b49113c66b055290cb7069ae88c9d2e1
https://github.com/llvm/llvm-project/commit/a2e888f5b49113c66b055290cb7069ae88c9d2e1
Author: Vy Nguyen <vyng at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
Log Message:
-----------
[LLDB][NFC]Fix stack-use-after free bug. (#134296)
Details: detailed_command_telemetry (bool) and command_id (int) could
already be freed when the dispatcher's dtor runs. So we should just copy
them into the lambda since they are cheap.
Commit: babbc6f8429ca07cdf2f5b6ff5e9516c383079b7
https://github.com/llvm/llvm-project/commit/babbc6f8429ca07cdf2f5b6ff5e9516c383079b7
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/Headers.cpp
Log Message:
-----------
[NFC] Fixes proposed by code sanitizer. (#134138)
Commit: 547d054ef13c2ca5ec42f7061d8ba941c05605d9
https://github.com/llvm/llvm-project/commit/547d054ef13c2ca5ec42f7061d8ba941c05605d9
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/owning-memory.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/include-cleaner.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-data-pointer.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-smartptr-get.rst
Log Message:
-----------
[clang-tidy][NFC][doc] improve "options" sections of `misc-`, `cppcore-` and other checks (#133694)
Improved "options" sections of various checks:
1. Added Options keyword to be a delimiter between "body" and "options"
parts of docs
2. Added default values where were absent.
3. Changed double-tick to single-tick in default values.
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: d02786e7785ffa8c0aae4d89e9f6391bb4645500
https://github.com/llvm/llvm-project/commit/d02786e7785ffa8c0aae4d89e9f6391bb4645500
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateDeduction.cpp
A clang/test/Sema/nullability-and-template-deduction.cpp
Log Message:
-----------
[Sema] Handle AttributedType in template deduction with derived-to-base conversions (#134361)
Fix #134356.
We accidentally skipped checking derived-to-base conversions because
deduction did not strip sugar in the relevant code. This caused
deduction failures when a parameter type had an attribute.
Commit: da69eb75cbc634a56886e94de3e546c63c17567e
https://github.com/llvm/llvm-project/commit/da69eb75cbc634a56886e94de3e546c63c17567e
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/ASTMatchers/ASTMatchers.h
A clang/include/clang/ASTMatchers/LowLevelHelpers.h
M clang/lib/ASTMatchers/CMakeLists.txt
A clang/lib/ASTMatchers/LowLevelHelpers.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[NFC] [ASTMatchers] Share code of `forEachArgumentWithParamType` with UnsafeBufferUsage (#132387)
This changes exposes a low-level helper that is used to implement
`forEachArgumentWithParamType` but can also be used without matchers,
e.g. if performance is a concern.
Commit f5ee10538b68835112323c241ca7db67ca78bf62 introduced a copy of the
implementation of the `forEachArgumentWithParamType` matcher that was
needed for optimizing performance of `-Wunsafe-buffer-usage`.
This change shares the code between the two so that we do not repeat
ourselves and any bugfixes or changes will be picked up by both
implementations in the future.
Commit: 16a1d5d51f6bafa19afc140b033db2cfb090743a
https://github.com/llvm/llvm-project/commit/16a1d5d51f6bafa19afc140b033db2cfb090743a
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-04 (Fri, 04 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/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/SemaCXX/gh134265.cpp
Log Message:
-----------
[clang] Do not diagnose unused deleted operator delete[] (#134357)
For vector deleting dtors support we now also search and save operator
delete[]. Avoid diagnosing deleted operator delete[] when doing that
because vector deleting dtors are only called when delete[] is present
and whenever delete[] is present in the TU it will be diagnosed
correctly.
Fixes https://github.com/llvm/llvm-project/issues/134265
Commit: d2bcc11067e682a0753c1068e378d66d59edff73
https://github.com/llvm/llvm-project/commit/d2bcc11067e682a0753c1068e378d66d59edff73
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
A llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
Log Message:
-----------
[AArch64][SVE] Use FeatureUseFixedOverScalableIfEqualCost for A510 and A520 (#132246)
Inefficient SVE codegen occurs on at least two in-order cores,
those being Cortex-A510 and Cortex-A520. For example a simple vector
add
```
void foo(float a, float b, float dst, unsigned n) {
for (unsigned i = 0; i < n; ++i)
dst[i] = a[i] + b[i];
}
```
Vectorizes the inner loop into the following interleaved sequence
of instructions.
```
add x12, x1, x10
ld1b { z0.b }, p0/z, [x1, x10]
add x13, x2, x10
ld1b { z1.b }, p0/z, [x2, x10]
ldr z2, [x12, #1, mul vl]
ldr z3, [x13, #1, mul vl]
dech x11
add x12, x0, x10
fadd z0.s, z1.s, z0.s
fadd z1.s, z3.s, z2.s
st1b { z0.b }, p0, [x0, x10]
addvl x10, x10, #2
str z1, [x12, #1, mul vl]
```
By adjusting the target features to prefer fixed over scalable if the
cost is equal we get the following vectorized loop.
```
ldp q0, q3, [x11, #-16]
subs x13, x13, #8
ldp q1, q2, [x10, #-16]
add x10, x10, #32
add x11, x11, #32
fadd v0.4s, v1.4s, v0.4s
fadd v1.4s, v2.4s, v3.4s
stp q0, q1, [x12, #-16]
add x12, x12, #32
```
Which is more efficient.
Commit: 85fd83ed49604d1046e937afa76f3ad802e28822
https://github.com/llvm/llvm-project/commit/85fd83ed49604d1046e937afa76f3ad802e28822
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/test/HLFIR/assign-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/char_extremum-bufferization.fir
M flang/test/HLFIR/concat-bufferization.fir
M flang/test/Lower/host-associated.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/statement-function.f90
M flang/test/Lower/structure-constructors.f90
Log Message:
-----------
[flang][nfc] Use llvm memmove intrinsic over regular call (#134294)
Follow up to #134170.
We should be using the LLVM intrinsics instead of plain fir.calls when
we can. Existing code creates a declaration for the llvm intrinsic and
a regular fir.call, which makes it hard for consumers of the IR to find
all the intrinsic calls.
Commit: 6966b4f4a57be101150fc714f17e8d534db8e79d
https://github.com/llvm/llvm-project/commit/6966b4f4a57be101150fc714f17e8d534db8e79d
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
Log Message:
-----------
[mlir][arith] Remove func patterns from `populateArithWideIntEmulationPatterns` (#134316)
This function should populate only patterns that are related to wide
integer operation emulation.
Commit: 77cfa38dcbe100ac26b98309bbf7cf346a75c2e5
https://github.com/llvm/llvm-project/commit/77cfa38dcbe100ac26b98309bbf7cf346a75c2e5
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
Log Message:
-----------
[DirectX][TTI] Sort switch statements. NFC (#134379)
Commit: fb9deab74e5dc9a9227732fcd95c1aadacf86d44
https://github.com/llvm/llvm-project/commit/fb9deab74e5dc9a9227732fcd95c1aadacf86d44
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/test/C/C23/n3042.c
Log Message:
-----------
Add additional test coverage for WG14 N3042
This addresses a post-commit request for some additional tests
Commit: fd6260f13bfecfb13537e184f4e8365cf35492fd
https://github.com/llvm/llvm-project/commit/fd6260f13bfecfb13537e184f4e8365cf35492fd
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/unittests/ADT/EquivalenceClassesTest.cpp
Log Message:
-----------
[EquivClasses] Shorten members_{begin,end} idiom (#134373)
Introduce members() iterator-helper to shorten the members_{begin,end}
idiom. A previous attempt of this patch was #130319, which had to be
reverted due to unit-test failures when attempting to call members() on
the end iterator. In this patch, members() accepts either an ECValue or
an ElemTy, which is more intuitive and doesn't suffer from the same
issue.
Commit: ecd4c0857b69e2c3f592d805bafde8e9f6a19005
https://github.com/llvm/llvm-project/commit/ecd4c0857b69e2c3f592d805bafde8e9f6a19005
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/docs/SourceLevelDebugging.rst
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/fast-isel-dbg.ll
M llvm/test/CodeGen/AArch64/selectiondag-order.ll
M llvm/test/CodeGen/MIR/X86/diexpr-win32.mir
M llvm/test/CodeGen/X86/selectiondag-order.ll
M llvm/test/DebugInfo/ARM/lowerbdgdeclare_vla.ll
M llvm/test/Transforms/Coroutines/coro-debug.ll
M llvm/test/Transforms/LoopVectorize/discriminator.ll
Log Message:
-----------
[Verifier] Require that dbg.declare variable is a ptr (#134355)
As far as I understand, the first operand of dbg_declare should be a
pointer (inside a metadata wrapper). However, using a non-pointer is
currently not rejected, and we have some tests that use non-pointer
types. As far as I can tell, these tests either meant to use dbg_value
or are just incorrect hand-crafted tests.
Ran into this while trying to `fix` #134008.
Commit: 846000c0052000034d424c744739b30b70c8c8fc
https://github.com/llvm/llvm-project/commit/846000c0052000034d424c744739b30b70c8c8fc
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
R llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
Log Message:
-----------
Revert "[AArch64][SVE] Use FeatureUseFixedOverScalableIfEqualCost for A510 and A520" (#134382)
Reverts llvm/llvm-project#132246
Commit: 7d4ea771c4817bdb042ebc6a2aa35f877785edcf
https://github.com/llvm/llvm-project/commit/7d4ea771c4817bdb042ebc6a2aa35f877785edcf
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[SDAG] Use index type size for offset accumulation
This is a precondition of the API. Not testable with in-tree
targets.
Fixes https://github.com/llvm/llvm-project/issues/134008.
Commit: d4002b43f517fea0292bf71dccaa3d0f6dd798b9
https://github.com/llvm/llvm-project/commit/d4002b43f517fea0292bf71dccaa3d0f6dd798b9
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
Log Message:
-----------
[lldb] Skip Expression NonZeroFrame test on Windows
It is failing on our Windows on Arm bot:
https://lab.llvm.org/buildbot/#/builders/141/builds/7605
Will investigate later.
Commit: 5fbd0658a02bd91cf36419f2f425732a06315432
https://github.com/llvm/llvm-project/commit/5fbd0658a02bd91cf36419f2f425732a06315432
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call-scalarize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.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/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/as_cast.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/memdep-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-counting-down.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Add initial CFG simplification, removing BranchOnCond true. (#106748)
Add an initial CFG simplification transform, which removes the dead
edges for blocks terminated with BranchOnCond true.
At the moment, this removes the edge between middle block and scalar
preheader when folding the tail.
PR: https://github.com/llvm/llvm-project/pull/106748
Commit: aca270877fc607a5558ff0a0f104fd5b6bb8fc62
https://github.com/llvm/llvm-project/commit/aca270877fc607a5558ff0a0f104fd5b6bb8fc62
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Use named structs in vectorizeStores() (NFC) (#132781)
This is a mostly straightforward replacement of the previous
`std::pair<int, std::set<std::pair<...>>>` data structure used in
`SLPVectorizerPass::vectorizeStores()` with slightly more readable
alternatives.
I had done that change in my local tree to help me better understand the
code. It’s not very invasive, so I thought I’d create a PR for it.
Commit: c8bde44cfcc75a8389f1a72917e0aadc125f5e22
https://github.com/llvm/llvm-project/commit/c8bde44cfcc75a8389f1a72917e0aadc125f5e22
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/unit.cpp
M flang-rt/lib/runtime/unit.h
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
Log Message:
-----------
[flang] Implement FSEEK and FTELL (#133003)
Add function and subroutine forms of FSEEK and FTELL as intrinsic
procedures. Accept common aliases from legacy compilers as well.
A separate patch to llvm-test-suite will enable tests for these
procedures once this patch has merged.
Depends on https://github.com/llvm/llvm-project/pull/132423; CI builds
will likely fail until that patch is merged and this PR is rebased.
Commit: 3674a5f18e8d34cc597e0bd81f38fab3731139f5
https://github.com/llvm/llvm-project/commit/3674a5f18e8d34cc597e0bd81f38fab3731139f5
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Semantics/resolve18.f90
Log Message:
-----------
[flang] Permit unused USE association of subprogram name (#134009)
A function or subroutine can allow an object of the same name to appear
in its scope, so long as the name is not used. This is similar to the
case of a name being imported from multiple distinct modules, and
implemented by the same representation.
It's not clear whether this is conforming behavior or a common
extension.
Commit: 262b3f7615b9a4dd660eb39afade73c24777e66a
https://github.com/llvm/llvm-project/commit/262b3f7615b9a4dd660eb39afade73c24777e66a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/descriptor.cpp
M flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Common/real.h
A flang/include/flang/Common/type-kinds.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/type.h
M flang/lib/Evaluate/target.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/type.cpp
Log Message:
-----------
[flang] Remove runtime dependence on C++ support for types (#134164)
Fortran::runtime::Descriptor::BytesFor() only works for Fortran
intrinsic types for which a C++ type counterpart exists, so it crashes
on some types that are legitimate Fortran types like REAL(2). Move some
logic from Evaluate into a new header in flang/Common, then use it to
avoid this needless dependence on C++.
Commit: ade9d1f8101256398a2b664eba5aac18c6a3bfce
https://github.com/llvm/llvm-project/commit/ade9d1f8101256398a2b664eba5aac18c6a3bfce
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/descriptor-io.h
Log Message:
-----------
[flang][runtime] Remove bad runtime assertion (#134176)
The RUNTIME_CHECK in question doesn't allow for the possibility that an
allocatable or pointer component could be processed by defined I/O.
Remove it in favor of a dynamic allocation check.
Commit: efd7caac2e60209fd9358a24f038c91afe6a4a0a
https://github.com/llvm/llvm-project/commit/efd7caac2e60209fd9358a24f038c91afe6a4a0a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/test/Evaluate/errors01.f90
Log Message:
-----------
[flang] IEEE_SUPPORT_FLAG(..., LOCAL) in specification expression (#134270)
The optional second argument to IEEE_SUPPORT_FLAG (and related functions
from the intrinsic IEEE_ARITHMETIC module) is needed only for its type,
not its value. Restrictions on local objects as arguments to function
references in specification expressions shouldn't apply to it.
Define a new attribute for dummy data object characteristics to
distinguish such arguments, set it for the appropriate intrinsic
function references, and test it during specification expression
validation.
Commit: 507ce46b6fb0271c82df1352e82d592c0cbf9aaf
https://github.com/llvm/llvm-project/commit/507ce46b6fb0271c82df1352e82d592c0cbf9aaf
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/test/Preprocessing/directive-contin-with-pp.F90
Log Message:
-----------
[flang][preprocessor] Directive continuation must skip empty macros (#134149)
When a compiler directive continuation line starts with keyword macro
names that have empty expansions, skip them.
Commit: 1bef59c9db07840609c919fa95127decbfc3f55d
https://github.com/llvm/llvm-project/commit/1bef59c9db07840609c919fa95127decbfc3f55d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Preprocessing/pp047.F
A flang/test/Preprocessing/pp135.F90
Log Message:
-----------
[flang][preprocessor] Further macro replacement of continued identifiers (#134302)
The preprocessor can perform macro replacement within identifiers when
they are split up with Fortran line continuation, but is failing to do
macro replacement on a continued identifier when none of its parts are
replaced.
Commit: 4090910a695efcba4b484e9f8ad2b564e9a4e7ed
https://github.com/llvm/llvm-project/commit/4090910a695efcba4b484e9f8ad2b564e9a4e7ed
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M libcxx/include/__configuration/platform.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/fstream
M libcxx/include/regex
M libcxx/include/strstream
M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
M libcxx/test/libcxx/system_reserved_names.gen.py
Log Message:
-----------
[libc++] Guard additional headers with _LIBCPP_HAS_LOCALIZATION (#131921)
There were some remaining headers that were not guarded with
_LIBCPP_HAS_LOCALIZATION, leading to errors when trying to use modules
on platforms that don't support localization (since all the headers get
pulled in when building the 'std' module). This patch brings these
headers in line with what we do for every other header that depends on
localization.
This patch also requires including <picolibc.h> from
<__configuration/platform.h> in order to define _NEWLIB_VERSION. In the
long term, we should use a better approach for doing that, such as
defining a macro in the __config_site header.
Commit: 07161a3fb16f07f4001de43e17d0cd487841ef98
https://github.com/llvm/llvm-project/commit/07161a3fb16f07f4001de43e17d0cd487841ef98
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-04 (Fri, 04 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
Log Message:
-----------
[RISCV] Return NoMatch if register list does not start with a curly brace.
This way we emit the error message that explains the full syntax
for a register list.
parseZcmpStackAdj had to be modified to not assume the previous
operand had been successfully parsed as a register list.
Commit: 0d3f5ec0da064d2314098644e78d29d3c84e179c
https://github.com/llvm/llvm-project/commit/0d3f5ec0da064d2314098644e78d29d3c84e179c
Author: Evan Wilde <ewilde at apple.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
[compiler-rt][CMake] Pass all flags to _Float16 try-compile (#133952)
The try-compile mechanism requires that `CMAKE_REQUIRED_FLAGS` is a
space-separated string instead of a list of flags. The original code
expanded `BUILTIN_FLAGS` into `CMAKE_REQUIRED_FLAGS` as a
space-separated string and then would overwrite `CMAKE_REQUIRED_FLAGS`
with `TARGET_${arch}_CFLAGS` prepended to the unexpanded
`BUILTIN_CFLAGS_${arch}`. This resulted in the first two arguments being
passed into the try-compile invocation, but dropping the other arguments
listed in `BUILTIN_CFLAGS_${arch}`.
This patch appends `TARGET_${arch}_CFLAGS` and `BUILTIN_CFLAGS_${arch}` to
`CMAKE_REQUIRED_FLAGS` before expanding CMAKE_REQUIRED_FLAGS as a
space-separated string. This passes any pre-set required flags, in addition to
all of the builtin and target flags to the Float16 detection.
Commit: e8d50097849081168f0285418ce8a36733eb7154
https://github.com/llvm/llvm-project/commit/e8d50097849081168f0285418ce8a36733eb7154
Author: Kevin Gleason <gleasonk at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/test/IR/parser.mlir
Log Message:
-----------
[mlir] Fix parsing of empty complex tensors (#134322)
After https://github.com/llvm/llvm-project/pull/133220 we had some empty
complex literals (`tensor<0xcomplex<f32>>`) failing to parse.
This was largely due to the ambiguity between `shape.empty()` meaning
splat (`dense<1>`) or empty literal (`dense<>`). Used type's numel to
disambiguate during verification.
Commit: 3d24046b3306cbc682aa1f17426169a942d8931a
https://github.com/llvm/llvm-project/commit/3d24046b3306cbc682aa1f17426169a942d8931a
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/Relocation.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
Log Message:
-----------
[BOLT] Skip out-of-range pending relocations (#116964)
When a pending relocation is created it is also marked whether it is
optional or not. It can be optional when such relocation is added as
part of an optimization (i.e., `scanExternalRefs`).
When bolt tries to `flushPendingRelocations`, it safely skips any
optional relocations that cannot be encoded due to being out of
range. A pre-requisite to that is the usage of the `-force-patch`
flag. Alternatrively, BOLT will bail out with a relevant message.
Background:
BOLT, as part of scanExternalRefs, identifies external references from
calls and creates some pending relocations for them. Those when
flushed will update references to point to the optimized functions.
This optimization can be disabled using `--no-scan`.
BOLT can assert if any of these pending relocations cannot be encoded.
This patch does not disable this optimization but instead selectively
applies it given that a pending relocation is optional and `-force-patch`
was enabled.
Commit: 5acab1bd15004e0ab7af60d2c4919c189bd38520
https://github.com/llvm/llvm-project/commit/5acab1bd15004e0ab7af60d2c4919c189bd38520
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
Log Message:
-----------
[mlir][SPIRV] `IfOpConversion`: Compute result types earlier (#134380)
Compute the result types and bail out before modifying any IR. That is
more efficient when type conversion failed, because no modifications
must be rolled back.
Note: This is in preparation of the One-Shot Dialect Conversion
refactoring.
Commit: f9193f3b18f08547e2f92b5e354a44655bfc1b94
https://github.com/llvm/llvm-project/commit/f9193f3b18f08547e2f92b5e354a44655bfc1b94
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/docs/SourceLevelDebugging.rst
M llvm/lib/IR/DebugInfoMetadata.cpp
A llvm/test/DebugInfo/pick-merged-source-locations.ll
Log Message:
-----------
[DebugInfo] Preserve line and column number when merging debug info. (#129960)
This patch introduces a new option `-preserve-merged-debug-info` to
preserve an arbitrary but deterministic version of debug information
when DILocations are merged. This is intended to be used in production
environments from which sample based profiles are derived such as
AutoFDO and MemProf.
With this patch we have see a 0.2% improvement on an internal workload
at Google when generating AutoFDO profiles. It also significantly
improves the ability for MemProf by preserving debug info for merged
call instructions used in the contextual profile.
---------
Co-authored-by: Krzysztof Pszeniczny <kpszeniczny at google.com>
Commit: 70a1445e401f6d7b531933ab157fba98ec84f69f
https://github.com/llvm/llvm-project/commit/70a1445e401f6d7b531933ab157fba98ec84f69f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
Log Message:
-----------
[RISCV] Prefer RegList over Rlist in assembler. NFC
This makes it more obvious what the R means. I've kept rlist in
place that refer to the encoding.
Commit: 5942f0269e62021620e871bfe2e671f4f0f2d932
https://github.com/llvm/llvm-project/commit/5942f0269e62021620e871bfe2e671f4f0f2d932
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/token-sequence.cpp
M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
M flang/test/Parser/OpenMP/sentinels.f
M flang/test/Parser/continuation-in-conditional-compilation.f
M flang/test/Preprocessing/bug126459.F90
M flang/test/Preprocessing/line-in-contin.F90
M flang/test/Preprocessing/pp132.f90
M flang/test/Preprocessing/preprocessed-dirs.F90
Log Message:
-----------
[flang] Preserve compiler directives in -E output (#133959)
No longer require -fopenmp or -fopenacc with -E, unless specific version
number options are also required for predefined macros. This means that
most source can be preprocessed with -E and then later compiled with
-fopenmp, -fopenacc, or neither.
This means that OpenMP conditional compilation lines (!$) are also
passed through to -E output. The tricky part of this patch was dealing
with the fact that those conditional lines can also contain regular
Fortran line continuation, and that now has to be deferred when !$ lines
are interspersed.
Commit: 232525f06942adb3b9977632e38dcd5f08c0642d
https://github.com/llvm/llvm-project/commit/232525f06942adb3b9977632e38dcd5f08c0642d
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
Log Message:
-----------
[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear (#134397)
Currently, these breakpoints are being accumulated every time a new
process if created (e.g. through a `run`). Depending on the
circumstances, the old breakpoints are even left enabled, interfering
with subsequent processes. This is addressed by removing the breakpoints
in ProcessGDBRemote::Clear
Note that these breakpoints are more of a PlatformDarwin thing, so in
the future we should look into moving them there.
Commit: 90cf2e31abdee050b5811155c86605935046b07e
https://github.com/llvm/llvm-project/commit/90cf2e31abdee050b5811155c86605935046b07e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
Log Message:
-----------
Revert "[SLP]Initial support for (masked)loads + compress and (masked)interleaved"
This reverts commit daab7d08078bb7cd37c66b78a56f4773e6b12fba to fix
a crash reported in https://github.com/llvm/llvm-project/issues/134411.
Commit: 1688c3062a56b4fca1f8ad28f2865df0ed8ca940
https://github.com/llvm/llvm-project/commit/1688c3062a56b4fca1f8ad28f2865df0ed8ca940
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
Log Message:
-----------
[clang] Do not share ownership of `PreprocessorOptions` (#133467)
This PR makes it so that `CompilerInvocation` is the sole owner of the
`PreprocessorOptions` instance.
Commit: ea0869ccb9a80e235f6f47eaa47fb1d5888d660a
https://github.com/llvm/llvm-project/commit/ea0869ccb9a80e235f6f47eaa47fb1d5888d660a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
Log Message:
-----------
[clang][parse] Fix build of ParseHLSLRootSignatureTest.cpp
Fallout from PR #133467.
Commit: cde90e68f8123e7abef3f9e18d79980aa19f460a
https://github.com/llvm/llvm-project/commit/cde90e68f8123e7abef3f9e18d79980aa19f460a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/Lex/Lexer.cpp
A clang/test/ClangScanDeps/modules-relocated-mm-macro.c
Log Message:
-----------
[clang][deps] Respect `Lexer::cutOffLexing()` (#134404)
This is crucial when recovering from fatal loader errors. Without it,
the `Lexer` keeps yielding more tokens and the compiler may access
invalid `ASTReader` state.
rdar://133388373
Commit: 6ee5e694bffd97e69fe5459fc8f94b79b91c88fb
https://github.com/llvm/llvm-project/commit/6ee5e694bffd97e69fe5459fc8f94b79b91c88fb
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
[gn] port 10c6ebc4271 (-gen-clang-diags-compat-ids)
Commit: 2a16d116631813a7b6cd03b0ec4603d7d6ba5ab5
https://github.com/llvm/llvm-project/commit/2a16d116631813a7b6cd03b0ec4603d7d6ba5ab5
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-04-04 (Fri, 04 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/Core/Relocation.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.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 bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
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/ExpandModularHeadersPPCallbacks.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/ConfigCompile.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/owning-memory.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/include-cleaner.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-data-pointer.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-smartptr-get.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/ASTStructuralEquivalence.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.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/ExprObjC.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/Mangle.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/TemplateBase.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/ASTMatchers/ASTMatchers.h
A clang/include/clang/ASTMatchers/LowLevelHelpers.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DarwinSDKInfo.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
A clang/include/clang/Basic/UnsignedOrNone.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
A clang/include/clang/CIR/LoweringHelpers.h
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/Frontend/CompilerInvocation.h
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Lex/Preprocessor.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/SemaLambda.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Sema/TemplateDeduction.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ComputeDependence.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/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.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/TemplateBase.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/ASTMatchers/CMakeLists.txt
A clang/lib/ASTMatchers/LowLevelHelpers.cpp
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
A clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Lowering/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/lib/CIR/Lowering/LoweringHelpers.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/CGObjCMac.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/TargetBuiltins/X86.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/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Headers/__clang_cuda_texture_intrinsics.h
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
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/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.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/Sema.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/SemaTemplateVariadic.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
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/array.cpp
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/Lowering/array.cpp
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
A clang/test/ClangScanDeps/modules-relocated-mm-macro.c
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/nvptx-surface.cu
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/CodeGenHLSL/builtins/dot2add.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/DriverKit23.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.14.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
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/Inputs/WatchOS6.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
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/arm-thread-pointer.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/darwin-ld-platform-version-watchos.c
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/Inputs/include/cuda.h
A clang/test/Headers/Inputs/include/surface_indirect_functions.h
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
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/Inputs/AppleTVOS15.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/MacOSX11.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
A clang/test/Sema/nullability-and-template-deduction.cpp
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
A clang/test/SemaCXX/gh134265.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/BuiltIns/dot2add-errors.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-scan-deps/ClangScanDeps.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/ASTImporterTest.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/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/Basic/SourceManagerTest.cpp
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
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.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/builtins/CMakeLists.txt
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/command.cpp
M flang-rt/lib/runtime/descriptor-io.h
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/unit.cpp
M flang-rt/lib/runtime/unit.h
M flang/docs/ArrayRepacking.md
M flang/docs/CMakeLists.txt
M flang/docs/Directives.md
A flang/docs/DoConcurrentConversionToOpenMP.md
M flang/docs/Intrinsics.md
M flang/docs/index.md
M flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Common/real.h
A flang/include/flang/Common/type-kinds.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.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/Optimizer/Support/InitFIR.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/command.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Runtime/stop.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/LangOptions.def
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/target.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.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/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/token-sequence.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/module/cudadevice.f90
M flang/test/Driver/bbc-openmp-version-macro.f90
M flang/test/Driver/code-object-version.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
A flang/test/Driver/frepack-arrays-contiguity.f90
A flang/test/Driver/frepack-arrays.f90
A flang/test/Driver/fstack-repack-arrays.f90
M flang/test/Driver/linker-flags.f90
M flang/test/Evaluate/errors01.f90
M flang/test/HLFIR/assign-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/char_extremum-bufferization.fir
M flang/test/HLFIR/concat-bufferization.fir
A flang/test/Integration/amdgpu-code-object-version.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
A flang/test/Lower/Intrinsics/time.f90
A flang/test/Lower/Intrinsics/unlink-func.f90
A flang/test/Lower/Intrinsics/unlink-sub.f90
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/loop-directive.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/host-associated.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/repack-arrays.f90
M flang/test/Lower/statement-function.f90
M flang/test/Lower/structure-constructors.f90
M flang/test/Lower/unroll_and_jam.f90
M flang/test/Lower/vector-always.f90
M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
M flang/test/Parser/OpenMP/sentinels.f
M flang/test/Parser/compiler-directives.f90
M flang/test/Parser/continuation-in-conditional-compilation.f
M flang/test/Preprocessing/bug126459.F90
M flang/test/Preprocessing/directive-contin-with-pp.F90
M flang/test/Preprocessing/line-in-contin.F90
A flang/test/Preprocessing/pp047.F
M flang/test/Preprocessing/pp132.f90
A flang/test/Preprocessing/pp135.F90
M flang/test/Preprocessing/preprocessed-dirs.F90
A flang/test/Semantics/OpenMP/declare-target-function-name-with-symbols.f90
M flang/test/Semantics/resolve18.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/config/linux/x86_64/entrypoints.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/__bsearchcompare_t.h
R libc/include/llvm-libc-types/__lsearchcompare_t.h
A libc/include/llvm-libc-types/__search_compare_t.h
M libc/include/search.yaml
M libc/include/stdlib.yaml
M libc/include/sys/time.yaml
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/src/sys/CMakeLists.txt
A libc/src/sys/time/CMakeLists.txt
A libc/src/sys/time/linux/CMakeLists.txt
A libc/src/sys/time/linux/utimes.cpp
A libc/src/sys/time/utimes.h
M libc/test/src/__support/CPP/type_traits_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/time/CMakeLists.txt
A libc/test/src/sys/time/utimes_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/20.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__atomic/support/c11.h
M libcxx/include/__config
M libcxx/include/__configuration/platform.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/fstream
M libcxx/include/regex
M libcxx/include/strstream
M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
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
A lldb/docs/dil-expr-lang.ebnf
M lldb/docs/use/python-reference.rst
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Utility/UUID.h
A lldb/include/lldb/ValueObject/DILAST.h
A lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
A lldb/include/lldb/ValueObject/DILParser.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/Commands/CommandObjectTarget.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/Statusline.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/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/ProcessTrace.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/UUID.cpp
M lldb/source/ValueObject/CMakeLists.txt
A lldb/source/ValueObject/DILAST.cpp
A lldb/source/ValueObject/DILEval.cpp
A lldb/source/ValueObject/DILParser.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
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/Makefile
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/TestFrameVarDILGlobalVariableLookup.py
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/Makefile
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/TestFrameVarDILInstanceVariables.py
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/Makefile
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/main.cpp
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/statusline/TestStatusline.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/macosx/thread_start_bps/TestBreakpointsThreadInit.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/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/DAP.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/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
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 lldb/unittests/ValueObject/DILLexerTests.cpp
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/CommandGuide/llvm-reduce.rst
M llvm/docs/GitHub.rst
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/docs/LangRef.rst
M llvm/docs/SPIRVUsage.rst
M llvm/docs/SourceLevelDebugging.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/LivePhysRegs.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF.h
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF_ppc64.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/IRBuilder.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/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmLexer.h
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/Utils/FunctionImportUtils.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/LoopAccessAnalysis.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/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/LivePhysRegs.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFF.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.h
A llvm/lib/ExecutionEngine/JITLink/XCOFF_ppc64.cpp
M llvm/lib/ExecutionEngine/Orc/LoadLinkableFile.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/CMakeLists.txt
R llvm/lib/MC/MCParser/MCAsmLexer.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.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/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
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/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
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/RISCVInstrInfoXqccmp.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
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/IPO/MergeFunctions.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/InferAddressSpaces.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/CloneFunction.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.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
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.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/fast-isel-dbg.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/selectiondag-order.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-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.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/vec-combine-compare-to-bitmask.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
A llvm/test/CodeGen/DirectX/dot2add.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/MIR/X86/diexpr-win32.mir
M llvm/test/CodeGen/NVPTX/atomics.ll
M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/PowerPC/adde_return_type.ll
M llvm/test/CodeGen/PowerPC/addegluecrash.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-split.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc-large32.ll
M llvm/test/CodeGen/PowerPC/atomicrmw-cond-sub-clamp.ll
A llvm/test/CodeGen/PowerPC/carry-liveness-after-expand-isel.ll
M llvm/test/CodeGen/PowerPC/cvt_i64_to_fp.ll
A llvm/test/CodeGen/PowerPC/global-merge-llvm-metadata.ll
M llvm/test/CodeGen/PowerPC/inc-of-add.ll
M llvm/test/CodeGen/PowerPC/pr35688.ll
M llvm/test/CodeGen/PowerPC/pr36292.ll
M llvm/test/CodeGen/PowerPC/pr40922.ll
M llvm/test/CodeGen/PowerPC/pr45448.ll
M llvm/test/CodeGen/PowerPC/sat-add.ll
M llvm/test/CodeGen/PowerPC/select.ll
M llvm/test/CodeGen/PowerPC/uaddo-32.ll
M llvm/test/CodeGen/PowerPC/uaddo-64.ll
M llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.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/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/base-pointer-and-cmpxchg.ll
M llvm/test/CodeGen/X86/kmov.ll
M llvm/test/CodeGen/X86/patchable-function-entry.ll
A llvm/test/CodeGen/X86/powi-const.ll
M llvm/test/CodeGen/X86/powi.ll
M llvm/test/CodeGen/X86/selectiondag-order.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-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.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
M llvm/test/DebugInfo/ARM/lowerbdgdeclare_vla.ll
M llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
M llvm/test/DebugInfo/NVPTX/debug-info.ll
A llvm/test/DebugInfo/pick-merged-source-locations.ll
A llvm/test/ExecutionEngine/JITLink/ppc64/XCOFF_ppc64.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
A llvm/test/MC/RISCV/xqcibi-relocations.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/Coroutines/coro-debug.ll
M llvm/test/Transforms/IndVarSimplify/iv-ext-samesign.ll
A llvm/test/Transforms/IndVarSimplify/pr126409.ll
A llvm/test/Transforms/InferAddressSpaces/NVPTX/arguments.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/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
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/vec-icmp-of-cast.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
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
A llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call-scalarize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
A llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
A llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.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/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
A llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/as_cast.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/discriminator.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/induction-unroll-novec.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/memdep-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.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/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-counting-down.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.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/MergeFunc/crash-cast-arrays.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-dwarfdump/X86/debug-names-verify-completeness.s
M llvm/test/tools/llvm-profdata/memprof-buildid.test
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-dwarfdump/llvm-dwarfdump.cpp
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/ADT/EquivalenceClassesTest.cpp
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/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
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/gn/secondary/llvm/lib/MC/MCParser/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/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.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/TosaOpBase.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/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.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/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.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/NVVM/Target.cpp
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Transforms/Utils/DialectConversion.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/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/SCF/one-shot-bufferize.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/image-ops.mlir
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
M mlir/test/Dialect/Shape/canonicalize.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
M mlir/test/IR/parser.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-arith-expand-ceildivsi.mlir
A mlir/test/Target/LLVMIR/Import/metadata-dependent-libraries.ll
M mlir/test/Target/LLVMIR/llvmir.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/SerializeNVVMTarget.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 polly/lib/CodeGen/LoopGeneratorsGOMP.cpp
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
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Log Message:
-----------
Merge branch 'main' into extend_sg_map
Compare: https://github.com/llvm/llvm-project/compare/275133289976...2a16d1166318
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