[all-commits] [llvm/llvm-project] 440e51: [clang][analyzer] Fix a nullptr dereference when `...

Qinkun Bao via All-commits all-commits at lists.llvm.org
Thu May 15 11:39:23 PDT 2025


  Branch: refs/heads/users/qinkunbao/spr/convert-specialcaselistsections-from-stringmap-to-vector
  Home:   https://github.com/llvm/llvm-project
  Commit: 440e510b896be2ef4a4f0730b8201378beee55b3
      https://github.com/llvm/llvm-project/commit/440e510b896be2ef4a4f0730b8201378beee55b3
  Author: Fangyi Zhou <me at fangyi.io>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    A clang/test/Analysis/ftime-trace-no-init.cpp

  Log Message:
  -----------
  [clang][analyzer] Fix a nullptr dereference when `-ftime-trace` is used (#139820)

Fixes #139779.

The bug was introduced in #137355 in `SymbolConjured::getStmt`, when
trying to obtain a statement for a CFG initializer without an
initializer. This commit adds a null check before access.


  Commit: c2b9aa0e72616edf9f22e7df27295c259a6b8fc5
      https://github.com/llvm/llvm-project/commit/c2b9aa0e72616edf9f22e7df27295c259a6b8fc5
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/docs/MLGO.rst

  Log Message:
  -----------
  [docs][mlgo] Fix list formatting (#139922)

Fix after #139205


  Commit: c632ac3506731e394dd7e3ac3f3320f5442250b4
      https://github.com/llvm/llvm-project/commit/c632ac3506731e394dd7e3ac3f3320f5442250b4
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the gather operand in phi node in gathered loads


  Commit: ee47454bb8be7f4cd1ecbd862c5a82d24ef696c7
      https://github.com/llvm/llvm-project/commit/ee47454bb8be7f4cd1ecbd862c5a82d24ef696c7
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorization.mlir

  Log Message:
  -----------
  [mlir][vector] Refactor `createWriteOrMaskedWrite` (#138137)

This patch updates `createWriteOrMaskedWrite` to make it consistent with
`createReadOrMaskedRead`.

Before diving into the details: note that these utilities are currently
implemented in different files — "VectorUtils.cpp" (Vector) and
"Vectorization.cpp" (Linalg). In a subsequent patch, I plan to move
`createWriteOrMaskedWrite` into "VectorUtils.cpp".

SUMMARY OF CHANGES:

The main change is to remove the logic that creates the destination
tensor, which previously looked like:
```cpp
  Value dest = builder.create<tensor::EmptyOp>(loc, destSizes,
                                               inputType.getElementType());
```

With this patch, createWriteOrMaskedWrite now simply generates:
```mlir
  %res = vector.transfer_write %vectorToStore into %dest
```

This replaces the previous form:
```mlir
  %dest = tensor.empty(%destSizes)
  %res = vector.transfer_write %vectorToStore into %dest
```

In other words, the destination value `%dest` is now passed as an input
parameter. This makes `createWriteOrMaskedWrite` re-usable in contexts
where the destination tensor is already known — for example, in
`vectorizeAsInsertSliceOp`, which I will update in a follow-up patch.

OTHER CHANGES:

* Added comments and clarified TODOs.

* Updated tests: since destination sizes are now computed independently
  inside `createWriteOrMaskedWrite`, some additional `tensor.dim` ops
  appear. These will be cleaned up by CSE + canonicalization.


  Commit: eac7466448f920e733f12beca28ff848cfa4810d
      https://github.com/llvm/llvm-project/commit/eac7466448f920e733f12beca28ff848cfa4810d
  Author: Alexey Karyakin <akaryaki at quicinc.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/lib/LTO/LTOBackend.cpp
    A llvm/test/ThinLTO/X86/cache-emit-asm.ll

  Log Message:
  -----------
  [LTO] Fix a crash with thin LTO caching and asm output (#138203)

The `CacheStream::commit()` function (defined in Caching.cpp) deletes
the underlying raw stream. Some output streamers may hold a pointer
to it, which then will outlive the stream object.
In particular, MCAsmStreamer keeps the pointer to the raw stream
though a separate `formatted_raw_stream` object, which buffers data and
there is no path to explicitly flush this data. Before this change,
the buffered data was flushed during the MCAsmStreamer destructor.
After #136121, this happened after the `commit()` function is called.
Therefore, it caused a crash because the `formatted_raw_stream` object
tries to write the buffered data into a deleted raw stream. Even if
we don't delete the stream to avoid the crash, it would be too late
as the output stream cannot accept data after commit().

Fixes: #138194.


  Commit: aa054c681059257d371857945c08840f69f68379
      https://github.com/llvm/llvm-project/commit/aa054c681059257d371857945c08840f69f68379
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
    M llvm/test/Transforms/ConstraintElimination/eq.ll
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic-signed-predicates.ll
    M llvm/test/Transforms/ConstraintElimination/geps-precondition-overflow-check.ll
    M llvm/test/Transforms/ConstraintElimination/loops-bottom-tested-pointer-cmps.ll
    M llvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-cmps.ll
    M llvm/test/Transforms/ConstraintElimination/or-implied-by-operands.ll
    M llvm/test/Transforms/ConstraintElimination/or.ll

  Log Message:
  -----------
  [ConstraintElim] Simplify and/or instead of replacing its operand (#139874)

In `checkOrAndOpImpliedByOther`, replacing an operand of a disjoint or
is unsafe: https://alive2.llvm.org/ce/z/4R4hxN
This patch performs the simplification directly, to avoid miscompilation
and unnecessary canonicalization.

Closes https://github.com/llvm/llvm-project/issues/137937.


  Commit: c9d05f3bcb3df5e56c0f9fc91366d62a229e7fb9
      https://github.com/llvm/llvm-project/commit/c9d05f3bcb3df5e56c0f9fc91366d62a229e7fb9
  Author: Andrew Rogers <andrurogerz at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/include/llvm/ADT/APFixedPoint.h
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/ADT/DynamicAPInt.h
    M llvm/include/llvm/ADT/SlowDynamicAPInt.h
    M llvm/include/llvm/ADT/TrieRawHashMap.h
    M llvm/include/llvm/ADT/Twine.h
    M llvm/include/llvm/Support/BalancedPartitioning.h
    M llvm/include/llvm/Support/BranchProbability.h
    M llvm/include/llvm/Support/DebugCounter.h
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/include/llvm/Support/SMTAPI.h
    M llvm/include/llvm/Support/ScaledNumber.h
    M llvm/lib/Support/APFixedPoint.cpp
    M llvm/lib/Support/BalancedPartitioning.cpp
    M llvm/lib/Support/DebugCounter.cpp
    M llvm/lib/Support/DynamicAPInt.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/lib/Support/ScaledNumber.cpp
    M llvm/lib/Support/SlowDynamicAPInt.cpp
    M llvm/lib/Support/Z3Solver.cpp

  Log Message:
  -----------
  [llvm] properly guard dump methods in Support lib classes (#139804)

## Purpose
Add proper preprocessor guards for all `dump()` methods in the LLVM
support library. This change ensures these methods are not part of the
public ABI for release builds.

## Overview
* Annotates all `dump` methods in Support and ADT source with the
`LLVM_DUMP_METHOD` macro.
* Conditionally includes all `dump` method definitions in Support and
ADT source so they are only present on debug/assert builds and when
`LLVM_ENABLE_DUMP` is explicitly defined.

NOTE: For many of these `dump` methods, the implementation was already
properly guarded but the declaration in the header file was not.

## Background
This issue was raised in comments on #136629. I am addressing it as a
separate change since it is independent from the changes being made in
that PR.

According to [this
documentation](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/Compiler.h#L637),
`dump` methods should be annotated with `LLVM_DUMP_METHOD` and
conditionally included as follows:
```
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
  LLVM_DUMP_METHOD void dump() const;
#endif
```

## Validation
* Local release build succeeds.
* CI


  Commit: 93f19cb00917303027be2013c48cf9b78ff453d6
      https://github.com/llvm/llvm-project/commit/93f19cb00917303027be2013c48cf9b78ff453d6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp

  Log Message:
  -----------
  [mlir] Fix a warning

This patch fixes:

  mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp:1544:14: error:
  unused variable 'destType' [-Werror,-Wunused-variable]


  Commit: 998dca42351f3292512af56207b603dc2fef565b
      https://github.com/llvm/llvm-project/commit/998dca42351f3292512af56207b603dc2fef565b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
    M lldb/unittests/DAP/ProtocolTypesTest.cpp

  Log Message:
  -----------
  [lldb-dap] Add unit test for protocol enum types (#139848)

Add dedicated unit tests for the protocol enum types.


  Commit: 5fb9dca14aeaf12219ff149bf3a4f94c8dc58d8b
      https://github.com/llvm/llvm-project/commit/5fb9dca14aeaf12219ff149bf3a4f94c8dc58d8b
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Target/Process.cpp
    M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py

  Log Message:
  -----------
  Revert "[lldb] Call Target::ClearAllLoadedSections earlier (#138892)"

This reverts commit 97aa01bef770ec651c86978d137933e09221dd00 and
7e7871d3f58b9da72ca180fcd7f0d2da3f92ec4a due to failures on windows.


  Commit: 899f26315cdae25addfd0ddbc6c9390bfbb74c3e
      https://github.com/llvm/llvm-project/commit/899f26315cdae25addfd0ddbc6c9390bfbb74c3e
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/docs/CMakeLists.txt
    M clang/docs/analyzer/user-docs.rst
    M clang/docs/analyzer/user-docs/CommandLineUsage.rst
    A clang/docs/analyzer/user-docs/Options.rst.in
    A clang/docs/tools/generate_analyzer_options_docs.py
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
    A clang/test/Analysis/generate_analyzer_options_docs.test
    M clang/test/lit.cfg.py

  Log Message:
  -----------
  [NFC][analyzer] Document configuration options (#135169)

This commit documents the process of specifying values for the analyzer
options and checker options implemented in the static analyzer, and adds
a script which includes the documentation of the analyzer options (which
was previously only available through a command-line flag) in the
RST-based web documentation.


  Commit: ba23eedc68ee1363ae8c31afc0f4b5071779eb0b
      https://github.com/llvm/llvm-project/commit/ba23eedc68ee1363ae8c31afc0f4b5071779eb0b
  Author: Andi Drebes <47449897+andidr at users.noreply.github.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/lib/AsmParser/AsmParserImpl.h
    M mlir/lib/AsmParser/Lexer.cpp
    M mlir/lib/AsmParser/TokenKinds.def
    M mlir/test/IR/parser.mlir
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [MLIR][parser] Add token type and parser methods for forward slashes (#125056)

This adds a token for a forward slash to the token definition list and
the methods to `AsmParser::parseSlash()` and
`AsmParser::parseOptionalSlash()`, similar to other tokens used as
operators (e.g., star, plus, etc.). This allows implementations of
attributes that contain arithmetic expressions to support operators with
a forward slash, e.g., a division.

The newly added check tests trigger the parsing of a slash in an
attribute.


  Commit: 9a0e1c79886ed95642b3400c0ec82f8a72d52ff6
      https://github.com/llvm/llvm-project/commit/9a0e1c79886ed95642b3400c0ec82f8a72d52ff6
  Author: Andrew Rogers <andrurogerz at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/include/llvm/ADT/APFixedPoint.h
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/ADT/DynamicAPInt.h
    M llvm/include/llvm/ADT/SlowDynamicAPInt.h
    M llvm/include/llvm/ADT/TrieRawHashMap.h
    M llvm/include/llvm/ADT/Twine.h
    M llvm/include/llvm/Support/BalancedPartitioning.h
    M llvm/include/llvm/Support/BranchProbability.h
    M llvm/include/llvm/Support/DebugCounter.h
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/include/llvm/Support/SMTAPI.h
    M llvm/include/llvm/Support/ScaledNumber.h
    M llvm/lib/Support/APFixedPoint.cpp
    M llvm/lib/Support/BalancedPartitioning.cpp
    M llvm/lib/Support/DebugCounter.cpp
    M llvm/lib/Support/DynamicAPInt.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/lib/Support/ScaledNumber.cpp
    M llvm/lib/Support/SlowDynamicAPInt.cpp
    M llvm/lib/Support/Z3Solver.cpp

  Log Message:
  -----------
  Revert "[llvm] properly guard dump methods in Support lib classes" (#139927)

Reverts llvm/llvm-project#139804


  Commit: 26fbbfd98f56a065b415eb9bea88a20e4c44ab31
      https://github.com/llvm/llvm-project/commit/26fbbfd98f56a065b415eb9bea88a20e4c44ab31
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/lib/AST/OpenACCClause.cpp

  Log Message:
  -----------
  [NFC][Clang] Simplify getTrailingObjects for OpenACC/OpenMP Clause (#139838)

Simplify usage of `getTrailingObjects` for OpenACC/OpenMP Clause by
using either the non-templated form for single trailing types or using
the single argument form that returns an ArrayRef/MutableArrayRef.


  Commit: 9d5d715330821b8dc1c2880a8d6356a7829eef64
      https://github.com/llvm/llvm-project/commit/9d5d715330821b8dc1c2880a8d6356a7829eef64
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M bolt/include/bolt/Profile/Heatmap.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/Heatmap.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/X86/heatmap-preagg.test

  Log Message:
  -----------
  [BOLT][heatmap] Add synthetic hot text section (#139824)

In heatmap mode, report samples and utilization of the section(s)
between hot text markers `[__hot_start, __hot_end)`.

The intended use is with multi-way splitting where there are several
sections that contain "hot" code (e.g. `.text.warm` with CDSplit).

Addresses the comment on #139193

https://github.com/llvm/llvm-project/pull/139193#pullrequestreview-2835274682

Test Plan: updated heatmap-preagg.test


  Commit: 31e981ca1dc323c8a32012cb60a0a8fe3985db1a
      https://github.com/llvm/llvm-project/commit/31e981ca1dc323c8a32012cb60a0a8fe3985db1a
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp

  Log Message:
  -----------
  [NFC][analyzer] Clarify that ExplodedGraph has only one root (#139903)

Previously the class `ExplodedGraph` had a data member called `Roots`
which could (in theory) store multiple root nodes -- but in practice
exploded graphs always had at most one root node (zero was possible for
empty and partially copied graphs) and introducing a graph with multiple
roots would've caused severe malfuncitons (e.g. in code that used the
pattern `*roots_begin()` to refer to _the_ root node).

I don't see any practical use case for adding multiple root nodes in a
single graph (this seems to be yet another of the "generalize for the
sake of generalization" decisions which were common in the early history
of the analyzer), so this commit replaces the vector `Roots` with
`ExplodedNode *Root` (which may be null when the graph is empty or under
construction).

Note that the complicated logic of `ExplodedGraph::trim` deserves a
through cleanup, but I left that for a follow-up commit.


  Commit: 2422b1795f3c10edbd9db4cce2a5cd16f657ca17
      https://github.com/llvm/llvm-project/commit/2422b1795f3c10edbd9db4cce2a5cd16f657ca17
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp

  Log Message:
  -----------
  [DebugInfo] Simplify a string comparison (NFC) (#139918)

Note that the lambda function we are in returns bool, so
FileZero.compare(FileOne) is equivalent to FileZero != FileOne in this
context.


  Commit: bcf36548476191c74e88281e00a36a67eab7a278
      https://github.com/llvm/llvm-project/commit/bcf36548476191c74e88281e00a36a67eab7a278
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
    A llvm/test/CodeGen/RISCV/zilsd.ll

  Log Message:
  -----------
  [RISCV] Lower i64 load/stores to ld/sd with Zilsd. (#139808)

Don't split i64 load/store when we have Zilsd.

In the future, we should enhanced the LoadStoreOptimizer pass to do
this, but this is a good starting point. Even if we support it in
LoadStoreOptimizer, we might still want this for volatile loads/stores
to guarantee the use of Zilsd.


  Commit: 441d382f9350c1345555c958244f252c00923824
      https://github.com/llvm/llvm-project/commit/441d382f9350c1345555c958244f252c00923824
  Author: John Harrison <harjohn at google.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M lldb/unittests/DAP/CMakeLists.txt
    A lldb/unittests/DAP/TransportTest.cpp

  Log Message:
  -----------
  [lldb-dap] Adding unit tests for Transport. (#139926)

This adds basic support for testing the Transport class and includes
tests for 'Read' and 'Write'.


  Commit: 4ac8e90df78354b06f7b4f8ffa135c1a1ee7e944
      https://github.com/llvm/llvm-project/commit/4ac8e90df78354b06f7b4f8ffa135c1a1ee7e944
  Author: Sean Fertile <sd.fertile at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/test/Driver/ppc-mrop-protection-support-check.c

  Log Message:
  -----------
  [PPC] Disable rop-protect for 32-bit OS targets. (#139619)

The instructions are not supported on either 32-bit ELF (due to no
redzone) or 32-bit AIX due to the instructions always using the full
64-bit width of the register inputs.


  Commit: f1ecff8f8890a5fd7c78ede648039a206d2dbd83
      https://github.com/llvm/llvm-project/commit/f1ecff8f8890a5fd7c78ede648039a206d2dbd83
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp

  Log Message:
  -----------
  [libc++] Improve test coverage and readability for swap_ranges (#133752)

This patch enhances the test coverage of `{std,ranges}::swap_ranges` by
adding larger test cases with 100 elements across different containers.
It also inlines standalone tests for better readability, avoiding
unnecessary navigation.

This patch addresses a follow-up suggestion from PR #121138 to extend
test coverage beyond 3 elements.


  Commit: 0afa62c169021ac56bc4c25b76604586f4bdae06
      https://github.com/llvm/llvm-project/commit/0afa62c169021ac56bc4c25b76604586f4bdae06
  Author: Sean Fertile <sd.fertile at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/test/Driver/ppc-mrop-protection-support-check.c

  Log Message:
  -----------
  [NFC] Reduce number of run steps in ppc rop-protect test. (#139607)

Test was running both -mcpu=pwrN and -mcpu=powerN compile steps for
power N = 8, 9 and 10. Reduce to one run step for each form using power8
for one instance and power 10 for the other.


  Commit: a3ba00a3dbc314794d8ca14d0c0993ef5a229069
      https://github.com/llvm/llvm-project/commit/a3ba00a3dbc314794d8ca14d0c0993ef5a229069
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl

  Log Message:
  -----------
  [HLSL][NFC] Simplify resource constructors codegen tests (#139842)

Verification of the local allocas and load/store is not that useful and
it makes the test fragile.


  Commit: bf0655f2080248a59aa2b79f2579798b8158869c
      https://github.com/llvm/llvm-project/commit/bf0655f2080248a59aa2b79f2579798b8158869c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-call.c
    M clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-cast.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
    M llvm/include/llvm/IR/DerivedTypes.h

  Log Message:
  -----------
  [RISCV] Improve casting between i1 scalable vectors and i8 fixed vectors for -mrvv-vector-bits (#139190)

For i1 vectors, we used an i8 fixed vector as the storage type.

If the known minimum number of elements of the scalable vector type is
less than 8, we were doing the cast through memory. This used a load or
store from a fixed vector alloca. If  is less than 8, DataLayout
indicates that the load/store reads/writes vscale bytes even if vscale
is known and vscale*X is less than or equal to 8. This means the load or
store is outside the bounds of the fixed size alloca as far as
DataLayout is concerned leading to undefined behavior.

This patch avoids this by widening the i1 scalable vector type with zero
elements until it is divisible by 8. This allows it be bitcasted to/from
an i8 scalable vector. We then insert or extract the i8 fixed vector
into this type.

Hopefully this enables #130973 to be accepted.


  Commit: 80fa6214821582511c687d00a484929530df1661
      https://github.com/llvm/llvm-project/commit/80fa6214821582511c687d00a484929530df1661
  Author: Deric C. <cheung.deric at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-1.ll

  Log Message:
  -----------
  [DirectX] Set shader feature flags MinimumPrecision and NativeLowPrecision, and refactor the logic for setting low-precision-related flags (#139623)

Fixes #138997 and does refactoring for low-precision-related flags.

The shader feature flags MinimumPrecision and NativeLowPrecision were
not being set, leading to validation errors.
This PR sets these shader feature flags [as in
DXC](https://github.com/microsoft/DirectXShaderCompiler/blob/377c4ca6d82adb83bf2eaf978a7040443848d6fd/lib/DXIL/DxilShaderFlags.cpp#L58-L63)
and adds tests for them.

This PR also performs some refactoring of low-precision-related flags to
make it less confusing.
- The `UseNativeLowPrecision` DXIL module flag has been renamed to
`NativeLowPrecisionMode` to imply that it is setting some execution
state which the module should be interpreted with
- The LLVM module flag `dx.nativelowprec` is now read only once and sets
a bool to be used by `updateFunctionFlags()` and for setting the DXIL
module flag `NativeLowPrecisionMode`
- The `MinimumPrecision`, `NativeLowPrecision`, and
`LowPrecisionPresent` shader feature flags are all set together under
`updateFunctionFlags()`
- Moved the logic for setting DXIL module flags `NativeLowPrecisionMode`
and `ResMayNotAlias` out of the per-function loop and placed it
alongside the logic for setting other DXIL module flags
(`DisableOptimizations`, `Max64UAVs`, and `UAVsAtEveryStage` flags)

---------

Co-authored-by: Justin Bogner <mail at justinbogner.com>


  Commit: 47144a0dc1f987981da14c18af9dbf962a6eb9c7
      https://github.com/llvm/llvm-project/commit/47144a0dc1f987981da14c18af9dbf962a6eb9c7
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/CloneFunction.cpp

  Log Message:
  -----------
  [CloneFunction][DebugInfo] Ensure DILocalVariables of inlined functions are not cloned (NFC) (#138590)

This change was separated from
https://github.com/llvm/llvm-project/pull/119001.

When cloning functions, use IdentityMDPredicate to ensure that if
DISubprogram is not cloned, then its DILocalVariables are not cloned
either.

This is currently expected to be an NFC, as DILocalVariables only
reference their subprograms (via DILocalScopes) and types, and inlined
DISubprograms and DITypes are not cloned. Thus, DILocalVariables are
mapped to self in ValueMapper (in mapTopLevelUniquedNode).

However, it will be needed for the original PR
https://github.com/llvm/llvm-project/pull/119001, where a
DILocalVariable may refer to a local type of a DISubprogram that is
being cloned. In that case, ValueMapper will clone DILocalVariable even
if it belongs to an inlined DISubprogram that is not cloned, which
should be avoided.
I'm making this change into a separate PR to make the original PR a bit
smaller, and because this has more to do with variables than with types.


  Commit: baf2cfa299ea62f3bdb717c8f464f824257527ff
      https://github.com/llvm/llvm-project/commit/baf2cfa299ea62f3bdb717c8f464f824257527ff
  Author: Fangyi Zhou <me at fangyi.io>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    R clang/test/Analysis/ftime-trace-no-init.cpp

  Log Message:
  -----------
  Revert "[clang][analyzer] Fix a nullptr dereference when `-ftime-trace` is used" (#139936)

Reverts llvm/llvm-project#139820

Reverting due to buildbot failures in asan


  Commit: 28d732a24ef06bab3a2cd6c17975281155f63cd6
      https://github.com/llvm/llvm-project/commit/28d732a24ef06bab3a2cd6c17975281155f63cd6
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M lldb/tools/debugserver/source/CMakeLists.txt

  Log Message:
  -----------
  [lldb][cmake] Set `CMAKE_OSX_SYSROOT` when building debugserver with CMake 4 (#138020)

CMake 4 no longer sets the `CMAKE_OSX_SYSROOT` variable by default. If
you've updated to CMake 4 on macOS (e.g. with brew) and try building
LLDB with CMake/ninja, this will yield an error when building
debugserver that clang is unable to run since it tries to compile files
that don't exist.

These files are supposed to be generated by the `mig` process. `mig`
needs the `CMAKE_OSX_SYSROOT` variable in order to work and without it,
it silently fails to generate the files that later on need to be
compiled.

This commit sets this SDK path for mig and will fatal error out of config
when building debugserver without having set CMAKE_OSX_SYSROOT.


  Commit: db099f14d9c80110beb4c1999cfdec7a08ae462d
      https://github.com/llvm/llvm-project/commit/db099f14d9c80110beb4c1999cfdec7a08ae462d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M lld/docs/ELF/warn_backrefs.rst
    M lld/docs/windows_support.rst

  Log Message:
  -----------
  [lld] Fix typos in documentation (#139854)


  Commit: cf552a1d82650f9ea4a03e0467d0ca64dbc3e5c4
      https://github.com/llvm/llvm-project/commit/cf552a1d82650f9ea4a03e0467d0ca64dbc3e5c4
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp

  Log Message:
  -----------
  [LIR] Simplify processLoopStridedStore [nfc]

Just move the assertions and exits down under the existing if clauses.
This improves readability.


  Commit: 6049db08fa5005c9535b22da0e07993395129f29
      https://github.com/llvm/llvm-project/commit/6049db08fa5005c9535b22da0e07993395129f29
  Author: Alexey Karyakin <akaryaki at quicinc.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/test/ThinLTO/X86/cache-emit-asm.ll

  Log Message:
  -----------
  [LTO] Use llvm-lto2 instead of lld in the test (#139928)

This is a follow-up to #138203. The added test used lld but lld is not
always available, which breaks builds. Make the test use llvm-lto2. Also
make the test a bit more similar to other tests in the same directory.


  Commit: a05cf2927aab2494740853e6f4bd98591382e11c
      https://github.com/llvm/llvm-project/commit/a05cf2927aab2494740853e6f4bd98591382e11c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC]Use WeakTrackVH instead of Instruction in EntryToLastInstruction

Use WEakTrackVH to prevent instability in the vectorizer.

Fixes #139729


  Commit: 539265b9044f8cda513e5e65d11f2630a32176cf
      https://github.com/llvm/llvm-project/commit/539265b9044f8cda513e5e65d11f2630a32176cf
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp

  Log Message:
  -----------
  [lldb] Simplify a string comparison (NFC) (#139932)


  Commit: d47cd5008bae7c4159dac1f92d266ddeeb70f55d
      https://github.com/llvm/llvm-project/commit/d47cd5008bae7c4159dac1f92d266ddeeb70f55d
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/blockaddress.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fix blockaddress mapping to LLVM blocks (#139814)

After each function is translated, both value and block maps are erased,
which makes the current mapping of blockaddresses to llvm blocks broken
- the patching happens only after *all* functions are translated.

Simplify the overall mapping, update comments, variable names and fix
the bug.

---------

Co-authored-by: Christian Ulmann <christianulmann at gmail.com>


  Commit: b434bc4e90c2b83156871e7b4e12f04447930b9c
      https://github.com/llvm/llvm-project/commit/b434bc4e90c2b83156871e7b4e12f04447930b9c
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td

  Log Message:
  -----------
  [CIR][NFC] Remove redundant pointer casts (#139898)

This mirrors incubator changes from https://github.com/llvm/clangir/pull/1609


  Commit: 8c435886aaee7619314edac9b142ef6fb2dd935f
      https://github.com/llvm/llvm-project/commit/8c435886aaee7619314edac9b142ef6fb2dd935f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    R libcxx/test/benchmarks/algorithms/pstl.stable_sort.bench.cpp
    R libcxx/test/benchmarks/algorithms/ranges_sort.bench.cpp
    R libcxx/test/benchmarks/algorithms/ranges_stable_sort.bench.cpp
    R libcxx/test/benchmarks/algorithms/sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/common.h
    A libcxx/test/benchmarks/algorithms/sorting/is_sorted.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/is_sorted_until.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/partial_sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/partial_sort_copy.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/stable_sort.bench.cpp
    R libcxx/test/benchmarks/algorithms/stable_sort.bench.cpp

  Log Message:
  -----------
  [libc++] Refactor and add benchmark coverage for [alg.sort] (#128236)

This patch adds missing benchmark coverage for partial_sort,
partial_sort_copy, is_sorted and is_sorted_until.

It also refactors the existing benchmarks for sort and stable_sort to
follow the consistent style of the new algorithm benchmarks. However,
these benchmarks were notoriously slow to run since they tested multiple
data patterns on multiple data types. To try to alleviate this, I
reduced the benchmarks to only run on integral types and on a single
non-integral type, which should faithfully show how the algorithm
behaves for anything non-integral. However, this is technically a
reduction in coverage.


  Commit: 61c1f6d7e84f1213bd727437a7ec5b7fc5eaf121
      https://github.com/llvm/llvm-project/commit/61c1f6d7e84f1213bd727437a7ec5b7fc5eaf121
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  [cmake] Warn if LLVM_PROFDATA_FILE was specified but wasn't found (#139882)

Ideally we should perhaps even error out here; if the user requested
building with profiling info, but that profile wasn't found, it seems
like the build configuration is subtly broken, and I would expect the
user to want to know about it. But that may be a too disruptive change,
as users may very well rely on being able to build things in such a
setup anyway thanks to Hyrum's Law.

To make things clearer, at least print a warning in this case.


  Commit: 6ed05ed773f9ab1aa31c86d55254884ce48f0915
      https://github.com/llvm/llvm-project/commit/6ed05ed773f9ab1aa31c86d55254884ce48f0915
  Author: James Newling <james.newling at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/test/Dialect/Vector/linearize.mlir

  Log Message:
  -----------
  [mlir][vector] linearize vector.insert_strided_slice (flatten to vector.shuffle) (#138725)

Extends the set of vector operations that we can linearize to include
vector.insert_strided_slice. The new pattern reuses the ideas from
vector.extract_strided_slice linearization.


  Commit: e1b3af6dc4362c5281abf255c4078992ce64ad33
      https://github.com/llvm/llvm-project/commit/e1b3af6dc4362c5281abf255c4078992ce64ad33
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/test/CodeGen/RISCV/double-mem.ll

  Log Message:
  -----------
  [RISCV] Add isel patterns to use Zilsd for f64 load/store for Zdinx on RV32. (#139935)


  Commit: 76d866f7935b746e5e50e7d760344c14502bd8e7
      https://github.com/llvm/llvm-project/commit/76d866f7935b746e5e50e7d760344c14502bd8e7
  Author: Tomohiro Kashiwada <kikairoya at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/dllexport.c
    M clang/test/CodeGen/dllimport.c
    M clang/test/CodeGen/dso-local-executable.c
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/dllimport-members.cpp
    M clang/test/CodeGenCXX/dllimport.cpp
    M clang/test/CodeGenCXX/dso-local-executable.cpp

  Log Message:
  -----------
  [Cygwin] Global symbols should be external by default (#139797)

Behaves as same as both of Clang and GCC targetting MinGW. Required for
compatibility for Cygwin-GCC.

Divided from https://github.com/llvm/llvm-project/pull/138773


  Commit: a3d52ea99e1438d6cd39de2eb27e43ac27700bf7
      https://github.com/llvm/llvm-project/commit/a3d52ea99e1438d6cd39de2eb27e43ac27700bf7
  Author: Tomohiro Kashiwada <kikairoya at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/CodeGenCXX/dllexport-missing-key.cpp
    M clang/test/CodeGenCXX/dllimport-missing-key.cpp
    M clang/test/CodeGenCXX/dllimport-rtti.cpp
    M clang/test/CodeGenCXX/rtti-mingw64.cpp
    M clang/test/CodeGenCXX/virt-dtor-key.cpp
    M clang/test/CodeGenCXX/vtable-key-function-ios.cpp

  Log Message:
  -----------
  [Cygwin] RTTI and VTable should be dllexport-ed (#139798)

Behaves as same as both of Clang and GCC targetting MinGW. Required for
compatibility for Cygwin-GCC.

Divided from https://github.com/llvm/llvm-project/pull/138773


  Commit: cb53ece2cab0096539e6a5c9d53da4e5db5cc270
      https://github.com/llvm/llvm-project/commit/cb53ece2cab0096539e6a5c9d53da4e5db5cc270
  Author: Tomohiro Kashiwada <kikairoya at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CodeGenCXX/dllexport-members.cpp
    M clang/test/CodeGenCXX/mingw-template-dllexport.cpp
    M clang/test/SemaCXX/dllexport.cpp
    M clang/test/SemaCXX/dllimport.cpp

  Log Message:
  -----------
  [Cygwin] Template instantiations should be exported by default (#139799)

Behaves as same as both of Clang and GCC targetting MinGW. Required for
compatibility for Cygwin-GCC.

Divided from https://github.com/llvm/llvm-project/pull/138773


  Commit: b6c7d7c879032e8e04686f257a3494d3672051cc
      https://github.com/llvm/llvm-project/commit/b6c7d7c879032e8e04686f257a3494d3672051cc
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/zdinx-large-spill.mir

  Log Message:
  -----------
  [RISCV] Tweak zdinx-large-spill.mir so it tests what it was intended to. NFC


  Commit: 03697cf8fce89e8841c67543aa0e4ecebe91387e
      https://github.com/llvm/llvm-project/commit/03697cf8fce89e8841c67543aa0e4ecebe91387e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp

  Log Message:
  -----------
  [mlir] Use llvm::find_if (NFC) (#139912)


  Commit: 5ee67ee6bc45979eb81b087c6a700573e2ab61db
      https://github.com/llvm/llvm-project/commit/5ee67ee6bc45979eb81b087c6a700573e2ab61db
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/utils/TableGen/FastISelEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Code cleanup in FastISelEmitter.cpp (#139644)

- Use StringRef instead of std::string for `InstructionMemo::Name`.
- Use range for loops, zip_equal and structured bindings in loops.
- Use llvm::any_of instead of manual loops.
- Use ListSeparator.
- Remove {} around single-line if-else chains.
- Use ArrayRef<> instead of const vector reference for function args.
- Change `getLegalCName` to accept a `StringRef` to avoid
StringRef->std::string casting in several places.
- Use StringRef instead of std::string for `OpcodeName` (and in
associated maps).

Tested by verifying no changes in .inc files with and without this
change.


  Commit: 3138f6cc8c3378731aad966bf63cb5d54fb9e2ea
      https://github.com/llvm/llvm-project/commit/3138f6cc8c3378731aad966bf63cb5d54fb9e2ea
  Author: Peng Chen <pchen7e2 at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    A mlir/test/mlir-tblgen/cpp-class-comments.td
    M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
    M mlir/tools/mlir-tblgen/CMakeLists.txt
    A mlir/tools/mlir-tblgen/CppGenUtilities.cpp
    A mlir/tools/mlir-tblgen/CppGenUtilities.h
    M mlir/tools/mlir-tblgen/DialectGen.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp

  Log Message:
  -----------
  [MLIR] Generate cpp comments for TableGen summary and description (#139606)

This commit takes the `summary` and `description` of TableGen files and
generate a cpp comments on top of the declarations of generated cpp
classes. 

The main motivation is to improve the developer experience. When people
work on compilers from an IDE, they will be able to hover over the
symbols (e.g. `"ADialect::BOp"`) in their cpp code and see the summary
and descriptions without having to referring to the `.td` files.


  Commit: e24d8662e8121a22c4629071692bd114c3ff8b42
      https://github.com/llvm/llvm-project/commit/e24d8662e8121a22c4629071692bd114c3ff8b42
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M bolt/test/X86/callcont-fallthru.s

  Log Message:
  -----------
  [BOLT][test] Disable PLT check in callcont-fallthru (#139953)

Some testing configurations don't support `nm --synthetic` option (where
nm is a symlink to llvm-nm), which prevents us from resolving `puts at plt`
symbol address in profile generation inside the test.
Disable the check until llvm-nm support is landed (#138232).

Test Plan: bin/llvm-lit -a tools/bolt/test/X86/callcont-fallthru.s


  Commit: 0563186a76ddf51b8a7b6eaf0357c224f2625df8
      https://github.com/llvm/llvm-project/commit/0563186a76ddf51b8a7b6eaf0357c224f2625df8
  Author: Andrew Rogers <andrurogerz at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
    M llvm/include/llvm/ADT/APFixedPoint.h
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/ADT/DynamicAPInt.h
    M llvm/include/llvm/ADT/SlowDynamicAPInt.h
    M llvm/include/llvm/ADT/TrieRawHashMap.h
    M llvm/include/llvm/ADT/Twine.h
    M llvm/include/llvm/Support/BranchProbability.h
    M llvm/include/llvm/Support/DebugCounter.h
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/include/llvm/Support/SMTAPI.h
    M llvm/include/llvm/Support/ScaledNumber.h
    M llvm/lib/Support/APFixedPoint.cpp
    M llvm/lib/Support/DebugCounter.cpp
    M llvm/lib/Support/DynamicAPInt.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/lib/Support/ScaledNumber.cpp
    M llvm/lib/Support/SlowDynamicAPInt.cpp
    M llvm/lib/Support/Z3Solver.cpp

  Log Message:
  -----------
  [llvm] properly guard dump methods in Support lib classes (#139938)

## Purpose
Add proper preprocessor guards for all `dump()` methods in the LLVM
support library. This change ensures these methods are not part of the
public ABI for release builds.

## Overview
* Annotates all `dump` methods in Support and ADT source with the
`LLVM_DUMP_METHOD` macro.
* Conditionally includes all `dump` method definitions in Support and
ADT source so they are only present on debug/assert builds and when
`LLVM_ENABLE_DUMP` is explicitly defined.

NOTE: For many of these `dump` methods, the implementation was already
properly guarded but the declaration in the header file was not.

## Background
This PR is a redo of #139804 with some changes to fix clang and unit
test build breaks.

This issue was raised in comments on #136629. I am addressing it as a
separate change since it is independent from the changes being made in
that PR.

According to [this
documentation](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/Compiler.h#L637),
`dump` methods should be annotated with `LLVM_DUMP_METHOD` and
conditionally included as follows:
```
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
  LLVM_DUMP_METHOD void dump() const;
#endif
```

## Validation
* Local release build succeeds.
* CI


  Commit: 0ab67ec191673a148d84f3819f5c97aaa5b84364
      https://github.com/llvm/llvm-project/commit/0ab67ec191673a148d84f3819f5c97aaa5b84364
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    A llvm/include/llvm/Transforms/Vectorize/EVLIndVarSimplify.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    A llvm/lib/Transforms/Vectorize/EVLIndVarSimplify.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/evl-iv-simplify.ll

  Log Message:
  -----------
  [LV][EVL] Introduce the EVLIndVarSimplify Pass for EVL-vectorized loops (#131005)

When we enable EVL-based loop vectorization w/ predicated tail-folding,
each vectorized loop has effectively two induction variables: one
calculates the step using (VF x vscale) and the other one increases the
IV by values returned from experiment.get.vector.length. The former,
also known as canonical IV, is more favorable for analyses as it's
"countable" in the sense of SCEV; the latter (EVL-based IV), however, is
more favorable to codegen, at least for those that support scalable
vectors like AArch64 SVE and RISC-V.

The idea is that we use canonical IV all the way until the end of all
vectorizers, where we replace it with EVL-based IV using EVLIVSimplify
introduced here. Such that we can have the best from both worlds.

This Pass is enabled by default in RISC-V. However, since we haven't
really vectorize loops with predicate tail-folding by default, this Pass
is no-op at this moment.


  Commit: 864f0ff4efc220609764a3075c289b395dc9b907
      https://github.com/llvm/llvm-project/commit/864f0ff4efc220609764a3075c289b395dc9b907
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/builtins-arm64.c
    M clang/test/CodeGen/builtins-wasm.c
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/test/Assembler/autoupgrade-thread-pointer.ll
    M llvm/test/CodeGen/AArch64/stack-tagging-prologue.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca-array.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca-compat.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca-with-calls.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/exception-lifetime.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
    M llvm/test/Transforms/SafeStack/AArch64/abi.ll
    M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
    M llvm/test/Transforms/SafeStack/AArch64/unreachable.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [clang][IR] Overload @llvm.thread.pointer to support non-AS0 targets (#132489)

Thread-local globals live, by default, in the default globals address
space, which may not be 0, so we need to overload @llvm.thread.pointer
to support other address spaces, and use the default globals address
space in Clang.


  Commit: d46458c11b4ea7906e1d02d598af2033df98f80e
      https://github.com/llvm/llvm-project/commit/d46458c11b4ea7906e1d02d598af2033df98f80e
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s

  Log Message:
  -----------
  [llvm-exegesis] Disable test

This patch disables the skip unsupported instructions test on AArch64. On
machines that have hardware support for pointer authentication the test will
try and disable certain features, but currently fails depending upon the
configuration.


  Commit: e8b2c3176a9adf3c3a6b9cb78e2fb140dbdbf71a
      https://github.com/llvm/llvm-project/commit/e8b2c3176a9adf3c3a6b9cb78e2fb140dbdbf71a
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/M68k/CMakeLists.txt
    M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.h
    M llvm/lib/Target/M68k/M68kInstrInfo.td
    A llvm/lib/Target/M68k/M68kSelectionDAGInfo.cpp
    A llvm/lib/Target/M68k/M68kSelectionDAGInfo.h
    M llvm/lib/Target/M68k/M68kSubtarget.cpp
    M llvm/lib/Target/M68k/M68kSubtarget.h

  Log Message:
  -----------
  [M68k] TableGen-erate SDNode descriptions (#139449)

This consolidates node definitions into one place and enables automatic
node verification.

Part of #119709.


  Commit: a608b4914209f4238fe83a6b5fa8fd7219f11115
      https://github.com/llvm/llvm-project/commit/a608b4914209f4238fe83a6b5fa8fd7219f11115
  Author: Andrew Rogers <andrurogerz at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/Passes.h

  Log Message:
  -----------
  [llvm] clang-format llvm/CodeGen/Passes.h (#139951)

Reformat a few header files under llvm/include/llvm/CodeGen/Passes.h
with clang-format in preparation for a codemod.

This is just a formatting change; no functionality is impacted.


  Commit: 960afcc90e8fb75b725ed331f4bc60eb2398d6e5
      https://github.com/llvm/llvm-project/commit/960afcc90e8fb75b725ed331f4bc60eb2398d6e5
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp

  Log Message:
  -----------
  [clang][modules] Timestamp-less validation API (#138983)

Timestamps are an implementation detail of the cross-process module
cache implementation. This PR hides it from the `ModuleCache` API, which
simplifies the in-process implementation.


  Commit: 0dd2c9f7a3f42138da0b8ed4fea80470ea7a510f
      https://github.com/llvm/llvm-project/commit/0dd2c9f7a3f42138da0b8ed4fea80470ea7a510f
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  Fix-forward build error from #132489

Replace deprecated use of getDeclaration that was added in #132489

llvm/lib/IR/AutoUpgrade.cpp:1480:26: error: 'getDeclaration' is deprecated: Use getOrInsertDeclaration instead [-Werror,-Wdeprecated-declarations]
 1480 |       NewFn = Intrinsic::getDeclaration(
      |                          ^~~~~~~~~~~~~~
      |                          getOrInsertDeclaration


  Commit: 21f1a616d60934953de3f304aafcad968e770b0a
      https://github.com/llvm/llvm-project/commit/21f1a616d60934953de3f304aafcad968e770b0a
  Author: James Newling <james.newling at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
    M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir

  Log Message:
  -----------
  [mlir][vector] Additional transpose folding  (#138347)

Fold transpose with unit-dimensions. Seen in the wild:
```
 %0 = vector.transpose %arg, [0, 2, 1, 3] : vector<6x1x1x4xi8> to vector<6x1x1x4xi8>
```

This transpose can be folded because (1) it preserves the shape and (2)
the shuffled dims are unit extent.

Also addresses comment about static vs anonymous namespace:
https://github.com/llvm/llvm-project/pull/135841#discussion_r2071869067

---------

Signed-off-by: James Newling <james.newling at gmail.com>


  Commit: 847561e48f4e00f69ceaa3b25ca6ad2138fbbb83
      https://github.com/llvm/llvm-project/commit/847561e48f4e00f69ceaa3b25ca6ad2138fbbb83
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td

  Log Message:
  -----------
  [NVPTX] Further refactor intrinsic definitions to remove redundancy (NFC) (#139924)

Note: the diff indicates this change has no impact on the intrinsic code
generated by table-gen.


  Commit: 1043810769a5efcbf5d1f468dc48ddcc289c5b32
      https://github.com/llvm/llvm-project/commit/1043810769a5efcbf5d1f468dc48ddcc289c5b32
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    R offload/test/offloading/gpupgo/pgo1.c
    R offload/test/offloading/gpupgo/pgo2.c
    A offload/test/offloading/gpupgo/pgo_atomic_teams.c
    A offload/test/offloading/gpupgo/pgo_atomic_threads.c
    A offload/test/offloading/gpupgo/pgo_device_and_host.c
    A offload/test/offloading/gpupgo/pgo_device_only.c

  Log Message:
  -----------
  [PGO][Offload] Update PGO GPU tests (#132262)


  Commit: 1778d3b8245b9a7787bbd0b00f60f879ed4689c9
      https://github.com/llvm/llvm-project/commit/1778d3b8245b9a7787bbd0b00f60f879ed4689c9
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/test/Dialect/Vector/linearize.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir] [vector] Add linearization pattern for vector.create_mask (#138214)

This PR is a breakdown [3 / 4] of the PR #136193 
The PR adds linearization patterns for vector.create_mask


  Commit: d0a6b2f4c093f085f861f0f91767091e561bcec0
      https://github.com/llvm/llvm-project/commit/d0a6b2f4c093f085f861f0f91767091e561bcec0
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn

  Log Message:
  -----------
  [gn] port 3bdfa6f3e8eb


  Commit: 3a9992d248b510428d31a6ba644a673fe5c9683e
      https://github.com/llvm/llvm-project/commit/3a9992d248b510428d31a6ba644a673fe5c9683e
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn

  Log Message:
  -----------
  [gn] port ec406e86745af


  Commit: 87e6f1d7eba26e724c2824353edb48b3d9269957
      https://github.com/llvm/llvm-project/commit/87e6f1d7eba26e724c2824353edb48b3d9269957
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 0ab67ec19167


  Commit: 699a2f188d77a273312a68ae8bae60606559c860
      https://github.com/llvm/llvm-project/commit/699a2f188d77a273312a68ae8bae60606559c860
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 14836597f5d8


  Commit: 8b53ada2422a350397cbe4058f8cd8c21a5137a5
      https://github.com/llvm/llvm-project/commit/8b53ada2422a350397cbe4058f8cd8c21a5137a5
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 5b9246517f8f


  Commit: 41fcd7e78be0dac2c8d984afce341b5223703a8a
      https://github.com/llvm/llvm-project/commit/41fcd7e78be0dac2c8d984afce341b5223703a8a
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/include/llvm/ADT/BitmaskEnum.h
    M llvm/unittests/ADT/BitmaskEnumTest.cpp

  Log Message:
  -----------
  [ADT] Add operator! to BitmaskEnum (#139958)

Add a logical (boolean) "not" operator.


  Commit: 18b885f66babff3a10451bc811ffc077d61ed8ee
      https://github.com/llvm/llvm-project/commit/18b885f66babff3a10451bc811ffc077d61ed8ee
  Author: Qinkun Bao <qinkun at google.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp

  Log Message:
  -----------
  Revert "[clang][modules] Timestamp-less validation API" (#139987)

Reverts llvm/llvm-project#138983


  Commit: 34be80aa6edda60e240e4ea46f28b1b54ababf72
      https://github.com/llvm/llvm-project/commit/34be80aa6edda60e240e4ea46f28b1b54ababf72
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M mlir/lib/ExecutionEngine/JitRunner.cpp
    R mlir/test/mlir-runner/verify-entry-point-result.mlir
    A mlir/test/mlir-runner/verify-entry-point.mlir

  Log Message:
  -----------
  [mlir-runner] Check entry function does not expect arguments (#136825)

This PR fixes a crash if entry function has inputs. Fixes #136143.


  Commit: 520773b47eba0df02730b929df073e1a38474bae
      https://github.com/llvm/llvm-project/commit/520773b47eba0df02730b929df073e1a38474bae
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
    M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/static-local-ctor.hlsl
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td

  Log Message:
  -----------
  [HLSL] Add resource constructor with implicit binding for global resources (#138976)

Adds constructor for resources with implicit binding and applies it to
all resources without binding at the global scope.
Adds Clang builtin function
`__builtin_hlsl_resource_handlefromimplicitbinding` that gets translated
to `llvm.dx|spv.resource.handlefromimplicitbinding` intrinsic calls.
Specific bindings are assigned in DXILResourceImplicitBinding pass.

Design proposals:

https://github.com/llvm/wg-hlsl/blob/main/proposals/0024-implicit-resource-binding.md

https://github.com/llvm/wg-hlsl/blob/main/proposals/0025-resource-constructors.md

One change from the proposals is that the `orderId` parameter is added
onto the constructor. Originally it was supposed to be generated in
codegen when the `llvm.dx|spv.resource.handlefromimplicitbinding` call
is emitted, but that is not possible because the call is inside a
constructor, and the constructor body is generated once per resource
type and not resource instance. So the only way to inject instance-based
data like `orderId` into the
`llvm.dx|spv.resource.handlefromimplicitbinding` call is that it must
come in via the constructor argument.

Closes #136784


  Commit: 2a8960e48b178fb2533e71bbe164e9f383046114
      https://github.com/llvm/llvm-project/commit/2a8960e48b178fb2533e71bbe164e9f383046114
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    A llvm/test/MC/RISCV/xandesvdot-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Andes XAndesVDot (Andes Vector Dot Product) extension. (#139849)

The spec can be found at:

https://github.com/andestech/andes-v5-isa/releases/tag/ast-v5_4_0-release.

This patch only supports assembler.

Intrinsics support will be added in a later patch.


  Commit: ee786975195c9cab264c88db8c43980b78780167
      https://github.com/llvm/llvm-project/commit/ee786975195c9cab264c88db8c43980b78780167
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    A llvm/include/llvm/IR/IntrinsicsRISCVXAndes.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
    A llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadb.ll
    A llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadt.ll

  Log Message:
  -----------
  [RISCV] Support LLVM IR intrinsics for XAndesVPackFPH (#139860)

This patch adds LLVM IR intrinsic support for XAndesVPackFPH.

The document for the intrinsics can be found at:
https://github.com/andestech/andes-vector-intrinsic-doc/blob/ast-v5_4_0-release-v5/auto-generated/andes-v5/intrinsic_funcs.adoc#andes-vector-packed-fp16-extensionxandesvpackfph
and with policy variants
https://github.com/andestech/andes-vector-intrinsic-doc/blob/ast-v5_4_0-release-v5/auto-generated/andes-v5/policy_funcs/intrinsic_funcs.adoc#andes-vector-packed-fp16-extensionxandesvpackfph

The clang part will be added in a later patch.

Co-authored-by: Tony Chuan-Yue Yuan <yuan593 at andestech.com>


  Commit: 4630d464c5cfd3f2ccdf3ac167694977736ce00e
      https://github.com/llvm/llvm-project/commit/4630d464c5cfd3f2ccdf3ac167694977736ce00e
  Author: Matt <msta at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Module.h
    A clang/test/Modules/pr130712.cppm

  Log Message:
  -----------
  [clang] Fix a segfault when M is a nullptr (#130712)

If `MM->getOwningModule` returns nullptr, then `isVisible` is called
with nullptr, which then calls `getImportLoc(nullptr)`


https://github.com/llvm/llvm-project/blob/077e0c134a31cc16c432ce685458b1de80bfbf84/clang/lib/Lex/PPMacroExpansion.cpp#L208


  Commit: 1e503d08e1b6a285608e266acafd40eb2be5ca83
      https://github.com/llvm/llvm-project/commit/1e503d08e1b6a285608e266acafd40eb2be5ca83
  Author: Iris Shi <0.0 at owo.li>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/riscv-arch.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
    A llvm/lib/Target/RISCV/RISCVInstrInfoQ.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    A llvm/test/MC/RISCV/rv32q-invalid.s
    A llvm/test/MC/RISCV/rv64q-invalid.s
    A llvm/test/MC/RISCV/rv64q-valid.s
    A llvm/test/MC/RISCV/rvq-aliases-valid.s
    A llvm/test/MC/RISCV/rvq-pseudos.s
    A llvm/test/MC/RISCV/rvq-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV][MC] Add support for Q extension (#139369)

Closes #130217.

https://github.com/riscv/riscv-isa-manual/blob/main/src/q-st-ext.adoc


  Commit: 25e91ed202f0a0c4a8ad946fbbc0a507deff2b8b
      https://github.com/llvm/llvm-project/commit/25e91ed202f0a0c4a8ad946fbbc0a507deff2b8b
  Author: Iris Shi <0.0 at owo.li>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
    A llvm/test/MC/RISCV/rv64zfa-only-valid.s
    M llvm/test/MC/RISCV/zfa-invalid.s
    A llvm/test/MC/RISCV/zfa-quad-invalid.s
    M llvm/test/MC/RISCV/zfa-valid.s

  Log Message:
  -----------
  [RISCV][MC] Add Q support for Zfa (#139508)

https://github.com/riscv/riscv-isa-manual/blob/main/src/zfa.adoc


  Commit: 99e8d22d6944428d6e6632e9537bd338a650c453
      https://github.com/llvm/llvm-project/commit/99e8d22d6944428d6e6632e9537bd338a650c453
  Author: Iris Shi <0.0 at owo.li>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoQ.td
    M llvm/lib/Target/RISCV/RISCVSchedGenericOOO.td
    M llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
    M llvm/lib/Target/RISCV/RISCVSchedRocket.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
    M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR345.td
    M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR7.td
    M llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
    M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
    M llvm/lib/Target/RISCV/RISCVSchedule.td

  Log Message:
  -----------
  [RISCV][Scheduler] Add scheduler definitions for the Q extension (#139495)


  Commit: 369c4093482210442bb42366c53fd55f4355dc8c
      https://github.com/llvm/llvm-project/commit/369c4093482210442bb42366c53fd55f4355dc8c
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/Writer.cpp
    M llvm/include/llvm/Support/FileOutputBuffer.h
    M llvm/lib/Support/FileOutputBuffer.cpp
    M llvm/unittests/Support/FileOutputBufferTest.cpp

  Log Message:
  -----------
  Support,lld: Rename misnamed F_no_mmap to F_mmap

`F_no_mmap` introduced by https://reviews.llvm.org/D69294 is misnamed.
It oughts to be `F_mmap`

When the output is a regular file or do not exist,
`--no-mmap-output-file` is the default. Relands #134787 by fixing the
lld option default. Note: changing the default to --map-output-file
would likely fail on llvm-clang-x86_64-sie-win
(https://lab.llvm.org/buildbot/#/builders/46/builds/14847)

Pull Request: https://github.com/llvm/llvm-project/pull/139836


  Commit: 40778822f7191d6f10fa36d9036133370a12bd9a
      https://github.com/llvm/llvm-project/commit/40778822f7191d6f10fa36d9036133370a12bd9a
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/test/Transforms/GVN/phi.ll
    M llvm/test/Transforms/GVN/pre-compare.ll
    M llvm/test/Transforms/GVN/readattrs.ll
    M llvm/test/Transforms/GVN/setjmp.ll
    M llvm/test/Transforms/GVN/tbaa.ll
    M llvm/test/Transforms/GVN/vscale.ll

  Log Message:
  -----------
  [GVN][NFC] Add MSSA checks in tests 2/N (#137814)

The previous patch in this series is #130261


  Commit: 690a30f3fd68a1a97bd3f8b13470abf9d34a61df
      https://github.com/llvm/llvm-project/commit/690a30f3fd68a1a97bd3f8b13470abf9d34a61df
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [llvm] Construct SmallVector with ArrayRef (NFC) (#139992)


  Commit: 70ef89b9137e03b86cd49fd221cb8c0324984684
      https://github.com/llvm/llvm-project/commit/70ef89b9137e03b86cd49fd221cb8c0324984684
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Use std::optional::value_or (NFC) (#140006)


  Commit: 53f11dd4d60ad416cfeaabaf59a33d7754a8f1f1
      https://github.com/llvm/llvm-project/commit/53f11dd4d60ad416cfeaabaf59a33d7754a8f1f1
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M libcxx/include/__fwd/pair.h
    M libcxx/include/__memory/uses_allocator_construction.h
    M libcxx/include/__node_handle
    M libcxx/include/__tree
    M libcxx/include/map
    M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
    M libcxx/utils/gdb/libcxx/printers.py

  Log Message:
  -----------
  [libc++] Avoid type-punning between __value_type and pair (#134819)

Before this patch, we were dereferencing pointers to objects which were
never constructed. Now we always assume that nodes store `pair<const
KeyT, ValueT>` for maps instead, as they actually do. This patch also
allows for significant follow-up simplifications, since
`__node_value_type` and `__container_value_type` are the same type now.


  Commit: ab119add3573c834185810a15a8a3648b1819959
      https://github.com/llvm/llvm-project/commit/ab119add3573c834185810a15a8a3648b1819959
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  LangRef: Fix minimumnum/maximumnum nan handling phrasing (#139228)

Make this consistent with other operations with respect to
signaling nan quieting. This was specifying that quieting is
required, which is true for IEEE. Make this consistent with other
IR operations, and signaling nan quieting is possible but optional
in the case where there are two nan inputs.

This permits directly selecting the intrinsic to the hardware
instruction in the default floating-point environment for shaders.


  Commit: 647db1b02d1c6702737378c0726deda234a23ec4
      https://github.com/llvm/llvm-project/commit/647db1b02d1c6702737378c0726deda234a23ec4
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
    A llvm/test/CodeGen/AArch64/aarch64-sme-stubs.ll
    M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
    M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
    M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
    M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp

  Log Message:
  -----------
  Reland "[AArch64][SME] Split SMECallAttrs out of SMEAttrs" (#138671)

SMECallAttrs is a new helper class that holds all the SMEAttrs for a
call. The interfaces to query actions needed for the call (e.g. change
streaming mode) have been moved to the SMECallAttrs class.

The main motivation for this change is to make the split between the
caller, callee, and callsite attributes more apparent.

Before this change, we would always merge callsite and callee
attributes. The main reason to do this was to handle indirect calls,
however, we also occasionally used callsite attributes on direct calls
in tests (mainly to avoid creating multiple function declarations). With
this patch, we now explicitly handle indirect calls and disallow
incompatible attributes on direct calls (so this patch is not entirely
an NFC).

Same as #137239, but with a change to avoid inferring SME attributes for
function definitions. This allows stubbing the SME ABI routines in C/C++
(and matches the old behaviour).


  Commit: 85c3c986304a83b2e2fda2cefb62e0f456c14dac
      https://github.com/llvm/llvm-project/commit/85c3c986304a83b2e2fda2cefb62e0f456c14dac
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M lldb/include/lldb/Core/Address.h
    M lldb/source/Core/Address.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
    M lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test

  Log Message:
  -----------
  [lldb] Fix offset computation in RegisterContextUnwind (#137155)

AddressFunctionScope was always returning the first address range of the
function (assuming it was the only one). This doesn't work for
RegisterContextUnwind (it's only caller), when the function doesn't
start at the lowest address because it throws off the 'how many bytes
"into" a function I am' computation. This patch replaces the result with
a call to (recently introduced)
SymbolContext::GetFunctionOrSymbolAddress.


  Commit: 291fa641ec084ce32468d8a2a9205157d88b022d
      https://github.com/llvm/llvm-project/commit/291fa641ec084ce32468d8a2a9205157d88b022d
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    A clang/test/Headers/__clang_hip_cmath-return_types.hip

  Log Message:
  -----------
  Pre-Commit tests: [HIP] Fix return type in __clang_hip_cmath.h (#139891)

Tests related to https://github.com/llvm/llvm-project/pull/139697


  Commit: aa9f8596b01fef013ab62c20e61fc96d165f60f7
      https://github.com/llvm/llvm-project/commit/aa9f8596b01fef013ab62c20e61fc96d165f60f7
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dropped_debug_info_assert.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-metadata.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-legalize-range-metadata.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mmra.ll
    M llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll
    M llvm/test/CodeGen/AMDGPU/lower-kernel-lds.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-all-indirect-accesses.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-indirect-extern-uses-max-reachable-alignment.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
    M llvm/test/CodeGen/AMDGPU/mmra.ll

  Log Message:
  -----------
  [AMDGPU] Add flag to prevent reruns of LowerModuleLDS (#129520)

FullLTO has to run this early before module splitting occurs otherwise
module splitting won't work as expected. There was a targeted fix for
fortran on another branch that disables the LTO run but that'd break
full LTO module splitting entirely.

Test changes are due to metadata indexes shifting.

See #122891


  Commit: c15539cdc45dafbaca45cda83d0ca7a09d6b9d51
      https://github.com/llvm/llvm-project/commit/c15539cdc45dafbaca45cda83d0ca7a09d6b9d51
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
    M mlir/include/mlir/Dialect/X86Vector/X86VectorInterfaces.td
    M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
    M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp

  Log Message:
  -----------
  [mlir][x86vector] Improve intrinsic operands creation (#138666)

Refactors intrinsic op interface to delegate initial operands mapping to
the dialect converter and allow intrinsic operands getters to only
perform last mile post-processing.


  Commit: 780054d3ff18075a6bc433029f336931792b1d2d
      https://github.com/llvm/llvm-project/commit/780054d3ff18075a6bc433029f336931792b1d2d
  Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    A llvm/test/CodeGen/AArch64/nofpclass.ll
    A llvm/test/CodeGen/ARM/nofpclass.ll
    A llvm/test/CodeGen/Mips/nofpclass.ll
    A llvm/test/CodeGen/X86/nofpclass.ll

  Log Message:
  -----------
  CodeGen: Add ISD::AssertNoFPClass (#138839)

It is used to mark a value that we are sure that it is not some fcType.
The examples include:

  * An arguments of a function is marked with nofpclass
  * Output value of an intrinsic can be sure to not be some type

So that the following operation can make some assumptions.


  Commit: 0bc39937164f09823c906926d7eefd7a8bcb5161
      https://github.com/llvm/llvm-project/commit/0bc39937164f09823c906926d7eefd7a8bcb5161
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td

  Log Message:
  -----------
  [SelectionDAG] Add an ISD node for for get.active.lane.mask (#139084)

For now expansion still happens in SelectionDAGBuilder when
GET_ACTIVE_LANE_MASK is not legal on the target.

This patch also includes changes in AArch64ISelLowering to replace
handling of the get.active.lane.mask intrinsic to use the ISD node.
Tablegen patterns are added which match to whilelo for scalable types.

A follow up change will add support for more types to be lowered to
GET_ACTIVE_LANE_MASK by allowing splitting of the node.


  Commit: eb5e66b82d09a5d084700fa5d8713c40d27ed1bd
      https://github.com/llvm/llvm-project/commit/eb5e66b82d09a5d084700fa5d8713c40d27ed1bd
  Author: Alexander Romanov <alexander.romanov at syntacore.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td

  Log Message:
  -----------
  [RISCV] Change type of Zicbop prefetch operand to GPRMem (#139888)

Prior to this commit PREFETCH_* instructions considered their operand
register to be a simple GPR which is not entirely correct as it is a
base address for possible prefetching operation (According to cmobase
v1.0.1)


  Commit: c4f7ab1d2e27d7d742d89606eb40ffd547b448b1
      https://github.com/llvm/llvm-project/commit/c4f7ab1d2e27d7d742d89606eb40ffd547b448b1
  Author: George Chaltas <george.chaltas at intel.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [LV] Initialize IR block pointers in ILV. (NFC) (#139807)

Setting unitialized pointers to nullptr in InnerLoopVectorizer()
constructor. These were noticed during a review of the code. Seems like
a good idea to clean them up.


  Commit: ba5591e39d50973bf60fe2716d085465b62768e8
      https://github.com/llvm/llvm-project/commit/ba5591e39d50973bf60fe2716d085465b62768e8
  Author: Pablo Antonio Martinez <pablo.antonio.martinez at huawei.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir

  Log Message:
  -----------
  [mlir][Transform] Reuse bbArgs in FuseIntoContainingOp (#135066)

When fusing two ops with the same output operand using
FuseIntoContainingOp, the current implementation makes both ops write
into a different value pointing to the same tensor. This, in the end,
will bufferize into two different buffers, which is sub-optimal. The
current patch solves this problem, adding support to reuse the tensor by
both consumer and producer.

More precisely, before FuseIntoContainingOp is applied, we may have two
ops that write into the same output tensor. However, the consumer would
be tiled, thus the op would write into the loop iter_args (i.e., it does
not write directly into the original tensor). When the producer is fused
into the loop, the output tensor of the producer remains the same, so
the consumer and producer writes into two different values (consumer
writes into the iter_args and producer into the original tensor).

The current patch clones the consumer into the loop and checks if the
consumer is writing to the same value pointed by the loop inits, in
which case, it makes the output point to such tensor.


  Commit: 947a52db7c88a6946e0d888851cc93faca6d726f
      https://github.com/llvm/llvm-project/commit/947a52db7c88a6946e0d888851cc93faca6d726f
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
    M llvm/test/CodeGen/AArch64/bitcast-extend.ll
    M llvm/test/CodeGen/AArch64/fix-shuffle-vector-be-rev.ll
    M llvm/test/CodeGen/AArch64/fp16-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/neon-bitcast.ll
    M llvm/test/CodeGen/AArch64/neon-insert-sve-elt.ll
    M llvm/test/CodeGen/AArch64/neon-insextbitcast.ll
    M llvm/test/CodeGen/AArch64/shuffle-extend.ll
    M llvm/test/CodeGen/AArch64/vector-fcvt.ll

  Log Message:
  -----------
  [AArch64] Prefer using DUP instead of INS where possible (#138549)

Replace all instances of `INS(IMPLICIT_DEF, 0, v, idx)` with
`DUP(v, idx)` in instruction selection.

`INS` (e.g. `mov v0.s[0], v1.s[1]`) has a value dependency on its output
register, which becomes a false dependency when we're inserting into an
`IMPLICIT_DEF` register. We can break this false dependency by using
`DUP` (e.g. `mov s0, v1.s[1]`) instead.


  Commit: fbdf38ed4397e1d24c31a4bd79f7c6f55939f34f
      https://github.com/llvm/llvm-project/commit/fbdf38ed4397e1d24c31a4bd79f7c6f55939f34f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M libcxx/src/.clang-tidy
    M libcxx/test/configs/cmake-bridge.cfg.in
    A libcxx/test/libcxx/clang_tidy.sh.py
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [libc++] run clang-tidy on src/ in the CI (#121198)

This adds a new test to run clang-tidy on the `src/` directory and
temporarily disables and clang-tidy checks that currently fail. They
will be enabled in follow-up patches.


  Commit: e7e4d99c586399758e6ddb76fb358c2dcccfae36
      https://github.com/llvm/llvm-project/commit/e7e4d99c586399758e6ddb76fb358c2dcccfae36
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/test/CodeGen/AArch64/arm64-vshift.ll

  Log Message:
  -----------
  [AArch64] Use vecshiftL64 instead of vecshiftR64 to match scalar SLI imm. (#139904)

`SIMDScalarLShiftDTied` should be using `vecshiftL64` to match
the immediate argument rather than `vecshiftR64` as the latter
prevents the pattern from matching 0 (and allows 64 instead).

Fixes #139879.


  Commit: 49bced456c50fbb4e06543115b34e15585c7864b
      https://github.com/llvm/llvm-project/commit/49bced456c50fbb4e06543115b34e15585c7864b
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M libcxx/include/__format/format_functions.h
    M libcxx/test/benchmarks/format/format.bench.cpp

  Log Message:
  -----------
  [libc++] Add basic constant folding for std::format (#107197)

```
-------------------------------------------------------------------
Benchmark                                        old            new
-------------------------------------------------------------------
BM_format_string<char>/1                     42.1 ns        7.67 ns
BM_format_string<char>/2                     22.3 ns        3.84 ns
BM_format_string<char>/4                     10.6 ns        1.92 ns
BM_format_string<char>/8                     5.31 ns       0.815 ns
BM_format_string<char>/16                    2.79 ns       0.480 ns
BM_format_string<char>/32                    1.63 ns       0.550 ns
BM_format_string<char>/64                   0.782 ns       0.276 ns
BM_format_string<char>/128                  0.397 ns       0.145 ns
BM_format_string<char>/256                  0.211 ns       0.066 ns
BM_format_string<char>/512                  0.154 ns       0.035 ns
BM_format_string<char>/1024                 0.146 ns       0.021 ns
BM_format_string<char>/2048                 0.125 ns       0.033 ns
BM_format_string<char>/4096                 0.097 ns       0.016 ns
BM_format_string<char>/8192                 0.077 ns       0.012 ns
BM_format_string<char>/16384                0.066 ns       0.010 ns
BM_format_string<char>/32768                0.062 ns       0.016 ns
BM_format_string<char>/65536                0.062 ns       0.016 ns
BM_format_string<char>/131072               0.443 ns       0.015 ns
BM_format_string<char>/262144               0.629 ns       0.017 ns
BM_format_string<char>/524288               0.715 ns       0.020 ns
BM_format_string<char>/1048576              0.757 ns       0.020 ns
BM_format_string<wchar_t>/1                  38.8 ns        34.0 ns
BM_format_string<wchar_t>/2                  19.4 ns        16.9 ns
BM_format_string<wchar_t>/4                  9.88 ns        8.45 ns
BM_format_string<wchar_t>/8                  6.30 ns        6.47 ns
BM_format_string<wchar_t>/16                 3.11 ns        3.21 ns
BM_format_string<wchar_t>/32                 1.60 ns        1.63 ns
BM_format_string<wchar_t>/64                0.899 ns       0.925 ns
BM_format_string<wchar_t>/128               0.676 ns       0.693 ns
BM_format_string<wchar_t>/256               0.658 ns       0.685 ns
BM_format_string<wchar_t>/512               0.556 ns       0.531 ns
BM_format_string<wchar_t>/1024              0.428 ns       0.402 ns
BM_format_string<wchar_t>/2048              0.328 ns       0.319 ns
BM_format_string<wchar_t>/4096              0.276 ns       0.274 ns
BM_format_string<wchar_t>/8192              0.252 ns       0.251 ns
BM_format_string<wchar_t>/16384             0.248 ns       0.246 ns
BM_format_string<wchar_t>/32768             0.229 ns       0.232 ns
BM_format_string<wchar_t>/65536             0.248 ns       0.246 ns
BM_format_string<wchar_t>/131072            0.250 ns       0.240 ns
BM_format_string<wchar_t>/262144             3.03 ns        3.03 ns
BM_format_string<wchar_t>/524288             3.14 ns        3.15 ns
BM_format_string<wchar_t>/1048576            3.60 ns        3.61 ns
BM_string_without_formatting<char>           32.2 ns       0.470 ns
BM_string_without_formatting<wchar_t>        38.8 ns        10.2 ns
```


  Commit: 9893f6bed3ab707383dc1901a237f0d4481049d6
      https://github.com/llvm/llvm-project/commit/9893f6bed3ab707383dc1901a237f0d4481049d6
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/lib/Headers/__clang_hip_cmath.h
    M clang/test/Headers/__clang_hip_cmath-return_types.hip

  Log Message:
  -----------
  [HIP] Fix return type in __clang_hip_cmath.h (#139697)

Before, some functions like `isgreater(float, double)` would return a
`double` instead of a `bool`.

Stumbled upon this bug while trying to adapt
[`External/CUDA/cmath.cu`](https://github.com/llvm/llvm-test-suite/blob/main/External/CUDA/cmath.cu)
to HIP.

```
/_llvm-test-suite/External/HIP/../CUDA/math_h.cu:617:20: error: static assertion failed due to requirement 'std::is_same<double, bool>::value':
617 |     static_assert((std::is_same<decltype(isgreater((float)0, (double)0)), bool>::value), "");
```


  Commit: 8bd35ca41253ea36fff78d5acf59956a30b6555b
      https://github.com/llvm/llvm-project/commit/8bd35ca41253ea36fff78d5acf59956a30b6555b
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast-2.ll
    M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast.ll

  Log Message:
  -----------
  [SPIR-V] Fix LIT tests, improve ICmpInst's type inference (#139726)

1. There are failed LIT tests at the moment due to type inference
errors.
```
Failed Tests (3):
  LLVM :: CodeGen/SPIRV/pointers/ptr-eq-types.ll
  LLVM :: CodeGen/SPIRV/validate/sycl-hier-par-basic.ll
  LLVM :: CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll
```
This PR improves type inference to fix the errors.

2. The following tests start passing:
```
Unexpectedly Passed Tests (2):
  LLVM :: CodeGen/SPIRV/pointers/resource-addrspacecast-2.ll
  LLVM :: CodeGen/SPIRV/pointers/resource-addrspacecast.ll
```
This PR removes XFAILS in those two test cases.


  Commit: c807395011a027caae9ac196edfac328fb90443a
      https://github.com/llvm/llvm-project/commit/c807395011a027caae9ac196edfac328fb90443a
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/long-pointer-distance.ll

  Log Message:
  -----------
  [LAA/SLP] Don't truncate APInt in getPointersDiff (#139941)

Change getPointersDiff to return an std::optional<int64_t>, and fill
this value with using APInt::trySExtValue. This simple change requires
changes to other functions in LAA, and major changes in SLPVectorizer
changing types from 32-bit to 64-bit.

Fixes #139202.


  Commit: 7cc200529f5791ceed510a02c0fa5343d535267d
      https://github.com/llvm/llvm-project/commit/7cc200529f5791ceed510a02c0fa5343d535267d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/pr63108.ll

  Log Message:
  -----------
  [X86] pr63108.ll - regenerate test checks


  Commit: 7983bdcaa57cb8647b7abede15ec91c89cc43bba
      https://github.com/llvm/llvm-project/commit/7983bdcaa57cb8647b7abede15ec91c89cc43bba
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/machine-combiner-int-vec.ll

  Log Message:
  -----------
  [X86] machine-combiner-int-vec.ll - regenerate test checks for TERNLOG comments

Reduces diffs in upcoming patch


  Commit: 4f19a5c050b0f18703198d839f135a7800306eb5
      https://github.com/llvm/llvm-project/commit/4f19a5c050b0f18703198d839f135a7800306eb5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avg-mask.ll

  Log Message:
  -----------
  [X86] avg-mask.ll - regenerate test checks for TERNLOG comments

Reduces diffs in upcoming patch


  Commit: 156985eb8803d72caeff2cbe0e9098286606847f
      https://github.com/llvm/llvm-project/commit/156985eb8803d72caeff2cbe0e9098286606847f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avgfloors.ll

  Log Message:
  -----------
  [X86] avgfloors.ll - regenerate test checks for TERNLOG comments

Reduces diffs in upcoming patch


  Commit: 4ba8f4e213c97733e3b61e5856b0e85e3d7d6a7f
      https://github.com/llvm/llvm-project/commit/4ba8f4e213c97733e3b61e5856b0e85e3d7d6a7f
  Author: Ebuka Ezike <yerimyah1 at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
    M lldb/unittests/DAP/ProtocolTypesTest.cpp

  Log Message:
  -----------
  [lldb][lldb-dap] Migrate ScopesRequest to  structured types (#138116)

Migrate ScopesRequest To use the Protocol Types


  Commit: 5b0572875cafb02fc144d1f6e6e51a34ef27d951
      https://github.com/llvm/llvm-project/commit/5b0572875cafb02fc144d1f6e6e51a34ef27d951
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M lld/COFF/COFFLinkerContext.h
    M lld/COFF/Chunks.cpp
    M lld/COFF/DLL.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/Writer.cpp
    M lld/test/COFF/arm64ec-entry-mangle.test
    M lld/test/COFF/arm64ec-hybmp.s
    M lld/test/COFF/arm64ec-lib.test
    M lld/test/COFF/arm64ec-patchable-thunks.test
    M lld/test/COFF/arm64ec-range-thunks.s
    M lld/test/COFF/arm64ec.test
    M lld/test/COFF/arm64x-altnames.s
    M lld/test/COFF/arm64x-buildid.s
    M lld/test/COFF/arm64x-comm.s
    M lld/test/COFF/arm64x-crt-sec.s
    M lld/test/COFF/arm64x-ctors-sec.s
    M lld/test/COFF/arm64x-guardcf.s
    M lld/test/COFF/arm64x-import.test
    M lld/test/COFF/arm64x-symtab.s
    M lld/test/COFF/arm64x-wrap.s
    M lld/test/COFF/autoimport-arm64ec-data.test

  Log Message:
  -----------
  [LLD][COFF] Add support for including native ARM64 objects in ARM64EC images (#137653)

MSVC linker accepts native ARM64 object files as input with
`-machine:arm64ec`, similar to `-machine:arm64x`. Its usefulness is very
limited; for example, both exports and imports are not reflected in the
PE structures and can't work. However, their symbol tables are otherwise
functional.

Since we already have handling of multiple symbol tables implemented for
ARM64X, the required changes are mostly about adjusting relevant checks
to account for them on the ARM64EC target.

Delay-load helper handling is a bit of a shortcut. The patch never pulls
it for native object files and just ensures that the code is fine with
that. In general, I think it would be nice to adjust the driver to pull
it only when it's actually referenced, which would allow applying the
same logic to the native symbol table on ARM64EC without worrying about
pulling too much.


  Commit: 3764ba23484afda683eea390407103e609ef4354
      https://github.com/llvm/llvm-project/commit/3764ba23484afda683eea390407103e609ef4354
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/aarch64/chkstk.S
    M compiler-rt/lib/builtins/aarch64/lse.S
    M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
    M compiler-rt/lib/builtins/clear_cache.c
    M compiler-rt/lib/builtins/cpu_model/aarch64.c
    M compiler-rt/lib/builtins/cpu_model/aarch64.h
    M compiler-rt/lib/builtins/fp_compare_impl.inc
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/lib/builtins/udivmodti4.c
    M compiler-rt/test/builtins/Unit/enable_execute_stack_test.c
    M compiler-rt/test/builtins/Unit/fixunstfdi_test.c
    M compiler-rt/test/builtins/Unit/multc3_test.c

  Log Message:
  -----------
  [compiler-rt] Add initial ARM64EC builtins support (#139279)

Use the aarch64 variants of assembly functions.

Co-authored-by: Billy Laws <blaws05 at gmail.com>


  Commit: 849ecbc3ba1c95f41ee8dd5240c314e1a1980438
      https://github.com/llvm/llvm-project/commit/849ecbc3ba1c95f41ee8dd5240c314e1a1980438
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td

  Log Message:
  -----------
  [AMDGPU] Simplify getIns64. NFCI. (#139981)

This big switch is unmaintainable and buggy. In particular it
unconditionally
adds clamp if there is omod to VOP3.


  Commit: e3867cb07ed1ed319609fbea0ce15f40e2a0efad
      https://github.com/llvm/llvm-project/commit/e3867cb07ed1ed319609fbea0ce15f40e2a0efad
  Author: Ebuka Ezike <yerimyah1 at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M lldb/unittests/DAP/ProtocolTypesTest.cpp

  Log Message:
  -----------
  [NFC][lldb][lldb-dap] fix C++20 extension warning (#140031)

warning for designated initializers

introduced in commit  4ba8f4e


  Commit: d5da557782dd47395fb41e03d7663df6319d7ea6
      https://github.com/llvm/llvm-project/commit/d5da557782dd47395fb41e03d7663df6319d7ea6
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Options.td
    A lld/test/COFF/arm64x-sameaddress.test

  Log Message:
  -----------
  [LLD][COFF] Allow -arm64xsameaddress in ARM64EC directives (#139631)

Make it a no-op for now, which is sufficient for non-hybrid images.

Fixes #131712.


  Commit: c507a0830df2e4fd0c234eee035aac2109de6d6e
      https://github.com/llvm/llvm-project/commit/c507a0830df2e4fd0c234eee035aac2109de6d6e
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-s2g-sm100.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk.ll

  Log Message:
  -----------
  [NVPTX] Add TMA Bulk Copy Intrinsics (#138679)

This patch adds a new variant of TMA Bulk Copy
intrinsics introduced in sm100+. This variant
has an additional byte_mask to select the bytes
for the copy operation.

* Selection is all done through table-gen now.
  So, this patch removes the corresponding
  SelectCpAsyncBulkS2G() function.
* lit tests are verified with a cuda-12.8 ptxas
  executable.

PTX Spec link:

https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-bulk-copy

Signed-off-by: Durgadoss R <durgadossr at nvidia.com>


  Commit: f8f11c541dec9bfc19f80918cf12da71d6ae7b99
      https://github.com/llvm/llvm-project/commit/f8f11c541dec9bfc19f80918cf12da71d6ae7b99
  Author: David Green <david.green at arm.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    A clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp

  Log Message:
  -----------
  [AArch64] Add a test case for the coerced arguments. NFC


  Commit: 767a203a9e61e307086be96288947d130367a267
      https://github.com/llvm/llvm-project/commit/767a203a9e61e307086be96288947d130367a267
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix discarded LValueToRValueBitCasts (#140034)

We handle discarding fine, but we used to ignore all discarded cast
expressions. Handle bitcasts differently.


  Commit: 8bbe0d050ae49062835a8a0729b3219ba1f6362b
      https://github.com/llvm/llvm-project/commit/8bbe0d050ae49062835a8a0729b3219ba1f6362b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Verify dominance for incoming values of phi-like recipes. (#124838)

Update the verifier to verify dominance for incoming values for phi-like
recipes. The defining recipe must dominate the incoming block for the
incoming value.

Builds on top of https://github.com/llvm/llvm-project/pull/138472 to
retrieve incoming values & corresponding blocks for phi-like recipes.

PR: https://github.com/llvm/llvm-project/pull/124838


  Commit: 42ee758bec885deaad08162cc8e97a87d2aba100
      https://github.com/llvm/llvm-project/commit/42ee758bec885deaad08162cc8e97a87d2aba100
  Author: Ebuka Ezike <yerimyah1 at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/package.json
    M lldb/tools/lldb-dap/src-ts/extension.ts
    M lldb/tools/lldb-dap/src-ts/ui/modules-data-provider.ts

  Log Message:
  -----------
  Complete the Implementation of DAP modules explorer. (#139934)

This extends the TreeView to show the module property as a tree item instead of 
rendering it through the markdown tooltip.

![image](https://github.com/user-attachments/assets/329fabee-9b4a-490e-9450-3f01314674ea)


  Commit: 30b0946326354d247a92622f08be4722df58bb55
      https://github.com/llvm/llvm-project/commit/30b0946326354d247a92622f08be4722df58bb55
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Lower/OpenMP/target.f90
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [Flang][MLIR][OpenMP] Improve use_device_* handling (#137198)

This patch updates MLIR op verifiers for operations taking arguments
that must always be defined by an `omp.map.info` operation to check this
requirement.

It also modifies Flang lowering for `use_device_{addr, ptr}`, as well as
the custom MLIR printer and parser for these clauses, to support
initializing it to `OMP_MAP_RETURN_PARAM` and represent this in the MLIR
representation as `return_param`. This internal mapping flag is what
eventually is used for variables passed via these clauses into the
target region when translating to LLVM IR, so making it explicit in
Flang and MLIR removes an inconsistency in the current representation.


  Commit: 0cd7e8aa911dd4d0d6f4c43bef28fd853cf929f5
      https://github.com/llvm/llvm-project/commit/0cd7e8aa911dd4d0d6f4c43bef28fd853cf929f5
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [MLIR][OpenMP] Assert on map translation functions, NFC (#137199)

This patch adds assertions to map-related MLIR to LLVM IR translation
functions and utils to explicitly document whether they are intended for
host or device compilation only.

Over time, map-related handling has increased in complexity. This is
compounded by the fact that some handling is device-specific and some is
host-specific. By explicitly asserting on these functions on the
expected compilation pass, the flow should become slighlty easier to
follow.


  Commit: 849990479f0ccc93b1f599167de6e90bdd3e219a
      https://github.com/llvm/llvm-project/commit/849990479f0ccc93b1f599167de6e90bdd3e219a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Update check line in verifier unit test w/o assertions.

Should fix failures with assertions disabled, including
https://lab.llvm.org/buildbot/#/builders/2/builds/24015.


  Commit: 310ed2b070432db3899473c4c2fd92f6a5e35067
      https://github.com/llvm/llvm-project/commit/310ed2b070432db3899473c4c2fd92f6a5e35067
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/test/Transforms/LoopUnroll/peel-last-iteration.ll

  Log Message:
  -----------
  [LoopUnroll] Add tests with multiple exiting/latches and small BTCs.

Extra test coverage for cases mentioned during review of
https://github.com/llvm/llvm-project/pull/139551.


  Commit: 124e547e83f3604ac634083542f5313d1badef9b
      https://github.com/llvm/llvm-project/commit/124e547e83f3604ac634083542f5313d1badef9b
  Author: Frederik Harwath <frederik.harwath at amd.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU][Docs] Correct Radeon Pro 5600M ISA (#140041)

As observed by LLVM Discord user "buck", the Radeon Pro 5600M is gfx1011
and the entry in the gfx1010 category was probably meant to be Radeon RX
5600M which indeed is gfx1010.


  Commit: 2110faaf5546c06fa4e06697eff8842f19302221
      https://github.com/llvm/llvm-project/commit/2110faaf5546c06fa4e06697eff8842f19302221
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/utils/TableGen/X86RecognizableInstr.cpp

  Log Message:
  -----------
  [NFC][TableGen][X86] Use StringSwitch to map from string -> enum (#139929)

Use StringSwitch instead of macro to map from a string to enum values in
X86RecognizableInstr.cpp.


  Commit: df9a90cdc5d6a74a183e0c1a77bd7fceacf1df0c
      https://github.com/llvm/llvm-project/commit/df9a90cdc5d6a74a183e0c1a77bd7fceacf1df0c
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M openmp/runtime/test/ompt/callback.h

  Log Message:
  -----------
  [OpenMP][test] Define print_possible_return_addresses on SPARC (#138523)

Parts of the `openmp` testsuite currently don't build on SPARC due to
the lack of a `print_possible_return_addresses` definition.

This patch provides one. With it, the vast majority of tests `PASS` on
Solaris/sparcv9 and, with an additional patch, on Linux/sparc64.

The current definition was obtained empirically.

Tested on `sparcv9-sun-solaris2.11`, `sparc64-unknown-linux-gnu`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.


  Commit: f1eebf9e94e3051e88e8f3d3365b663a88e1ca0a
      https://github.com/llvm/llvm-project/commit/f1eebf9e94e3051e88e8f3d3365b663a88e1ca0a
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/include/clang/AST/ASTConcept.h
    M clang/lib/AST/ASTConcept.cpp

  Log Message:
  -----------
  [NFC][Clang] Adopt simplified `getTrailingObjects` in ASTConcept (#139974)

Use non-templated form of `getTrailingObjects` when using a single
trailing type in `TrailingObjects`.


  Commit: 5f53ca30da249b2d46f61791e12e74efef9a8bb6
      https://github.com/llvm/llvm-project/commit/5f53ca30da249b2d46f61791e12e74efef9a8bb6
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclTemplate.cpp

  Log Message:
  -----------
  [NFC][Clang] Adopt simplified `getTrailingObjects` in Decl/DeclTemplate (#139977)

Adopt simplied `getTrailingObjects` variants that are not templated
and/or return ArrayRef in Decl/DeclTemplate .h/.cpp files.


  Commit: b26adacc8550bc8786ecba08ec87d0b228930bf4
      https://github.com/llvm/llvm-project/commit/b26adacc8550bc8786ecba08ec87d0b228930bf4
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/cxx20.cpp

  Log Message:
  -----------
  [clang][bytecode] Check destructors for temporaries (#140039)

Also, increase the EvalID in isPotentialConstantExpr(), since this is
its own evaluation.


  Commit: 8e2ac7d6194451cbe2b7203212f2bb4f278e6438
      https://github.com/llvm/llvm-project/commit/8e2ac7d6194451cbe2b7203212f2bb4f278e6438
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/TableGen/DirectiveEmitter.h
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp

  Log Message:
  -----------
  [llvm][OpenMP] Add "SourceLanguages" property to Directive (#139960)

The official languages that OpenMP recognizes are C/C++ and Fortran.
Some OpenMP directives are language-specific, some are C/C++-only, some
are Fortran-only.

Add a property to the TableGen definition of Directive that will be the
list of languages that allow the directive.

The TableGen backend will then generate a bitmask-like enumeration
SourceLanguages, and a function
  SourceLanguages getDirectiveLanguages(Directive D);


  Commit: 9273091502994f9b68ca0d1fd04fadd02c0a36df
      https://github.com/llvm/llvm-project/commit/9273091502994f9b68ca0d1fd04fadd02c0a36df
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/lib/Parse/ParseOpenMP.cpp
    A clang/test/OpenMP/openmp_non_c_directives.c
    R clang/test/OpenMP/openmp_workshare.c

  Log Message:
  -----------
  [clang][OpenMP] Improve handling of non-C/C++ directives (#139961)

The PR139793 added handling of the Fortran-only "workshare" directive,
however there are more such directives, e.g. "allocators". Use the
genDirectiveLanguages function to detect non-C/C++ directives instead of
enumerating them.


  Commit: 6090c0e0ee1ab8f1a9b6b2354fc5b204ebaebb99
      https://github.com/llvm/llvm-project/commit/6090c0e0ee1ab8f1a9b6b2354fc5b204ebaebb99
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M bolt/test/X86/callcont-fallthru.s

  Log Message:
  -----------
  [BOLT][test] Fix disabling of the PLT check in callcont-fallthru (#140026)

PR #139953 used `DONTRUN` to disable some run lines, but that didn't
work. Now switching to `RUN-DISABLED` for disabling the tests until
llvm-nm support is landed (#138232).


  Commit: 43db72d56d6491e5b826172f9dea706aec92693c
      https://github.com/llvm/llvm-project/commit/43db72d56d6491e5b826172f9dea706aec92693c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp
    A llvm/test/Transforms/ForcedFunctionAttrs/open-file-error.ll

  Log Message:
  -----------
  ForceFunctionAttrs: Use reportFatalUsageError (#139473)


  Commit: 6fc031291955d5d3c69f7df9b9f7460c473d114a
      https://github.com/llvm/llvm-project/commit/6fc031291955d5d3c69f7df9b9f7460c473d114a
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/CodeGen/AArch64/fp8-init-list.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_untyped.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fmla.c
    M clang/test/CodeGen/arm-mfp8.c
    M clang/utils/TableGen/NeonEmitter.cpp

  Log Message:
  -----------
  [Clang][AArch64] Add fp8 variants for untyped NEON intrinsics (#128019)

This patch adds fp8 variants to existing intrinsics, whose operation
doesn't depend on arguments being a specific type.

It also changes mfloat8 type representation in memory from `i8` to
`<1xi8>`


  Commit: d08b176edc82b8fbd417e0ead7b77abc5f45fce2
      https://github.com/llvm/llvm-project/commit/d08b176edc82b8fbd417e0ead7b77abc5f45fce2
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Add `inline_ptx` op (#139923)

This op allows using PTX directly within the NVVM dialect, while greatly
simplifying llvm.inline_asm generation.

**Example 1: Read-only Parameters**

Sets `"l,r"` automatically. 
```
nvvm.inline_ptx "mbarrier.init.b64 [$0], $1;" (%barrier_gen, %count) : !llvm.ptr, i32

// Lowers to:
llvm.inline_asm has_side_effects asm_dialect = att
      "mbarrier.init.b64 [$0], $1;", "l,r" %arg0, %arg2 : (!llvm.ptr, i32) -> ()
```

**Example 2: Read-only and Write-only Parameters**

Sets `=f,f"` automatically. `=` is set because there is store. 
```
%0 = nvvm.inline_ptx "ex2.approx.ftz.f32 $0, $1;" (%input) : f32 -> f32

// Lowers to:
%0 = llvm.inline_asm has_side_effects asm_dialect = att "ex2.approx.ftz.f32 $0, $1;", "=f,f" %arg0 : (f32) -> f32
```

**Example 3: Predicate Usage**

Now `@$2` is set automatically for predication. 
```
nvvm.inline_ptx "mbarrier.init.b64 [$0], $1;" (%barrier_gen, %count), predicate = %pred : !llvm.ptr, i32, i1

// Lowers to:
llvm.inline_asm has_side_effects asm_dialect = att "@$2 mbarrier.init.b64 [$0], $1;", "l,r,b" %arg0, %arg2, %arg3 : (!llvm.ptr, i32, i1) -> ()
```

---------

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>


  Commit: a2f156b84ab124ccfbbe2bd6cbbdb2f3bcbba0ce
      https://github.com/llvm/llvm-project/commit/a2f156b84ab124ccfbbe2bd6cbbdb2f3bcbba0ce
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp

  Log Message:
  -----------
  [Clang] Fix deduction of explicit object member functions (#140030)

When taking the address of an overload set containing an explicit object
member, we should not take the
explicit object parameter into account.


  Commit: 636628d8fde45fc2bb99a1016f7503d0e744ab89
      https://github.com/llvm/llvm-project/commit/636628d8fde45fc2bb99a1016f7503d0e744ab89
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Frontend/CommandLineSourceLoc.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/CodeCompletion/source-loc-zero.cpp
    A clang/test/Refactor/source-loc-zero.cpp
    M clang/tools/clang-refactor/ClangRefactor.cpp

  Log Message:
  -----------
  [clang] Enforce 1-based indexing for command line source locations (#139457)

Fixes #139375

Clang expects command line source locations to be provided using 1-based
indexing.
Currently, Clang does not reject zero as invalid argument for column or
line number, which can cause Clang to crash.

This commit extends validation in `ParsedSourceLocation::FromString` to
only accept (unsinged) non-zero integers.


  Commit: 9a26dff74834d6c3d9d72eac10e2f2479014ebca
      https://github.com/llvm/llvm-project/commit/9a26dff74834d6c3d9d72eac10e2f2479014ebca
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/cxx20.cpp

  Log Message:
  -----------
  [clang][bytecode] Check dtor calls for one-past-end pointers (#140047)


  Commit: 6ee30e8dd8810f6ce49095a30a2caae683d92ff5
      https://github.com/llvm/llvm-project/commit/6ee30e8dd8810f6ce49095a30a2caae683d92ff5
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [InstCombine] Fix incorrect number of iterations (#140004)


  Commit: 7314d38b72ea647c67ceab0de4755d2d61073dac
      https://github.com/llvm/llvm-project/commit/7314d38b72ea647c67ceab0de4755d2d61073dac
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  [NFC][AutoUpgrade] Use `ConstantPointerNull::get` instead of `Constant::getNullValue` for known pointer types (#139984)

This is a preparation change for upcoming PRs that will update the
semantics of
`ConstantPointerNull`, making it to represent an actual `nullptr` rather
than a
zero-valued pointer.


  Commit: 9658c55116c2bb4757ca309b37028f06f5709526
      https://github.com/llvm/llvm-project/commit/9658c55116c2bb4757ca309b37028f06f5709526
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

  Log Message:
  -----------
  [SelectionDAG] Fix a warning

This patch fixes:

  llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:7506:17: error:
  unused variable 'NoFPClass' [-Werror,-Wunused-variable]


  Commit: ed572aaac8b142a7bf09a235f5497bc7e201f762
      https://github.com/llvm/llvm-project/commit/ed572aaac8b142a7bf09a235f5497bc7e201f762
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h

  Log Message:
  -----------
  [flang] Add missing copy assignment operator (#139966)

On Clang 17 the implicit copy assignment operator was issuing a warning because of the user-declared copy constructor. Declare the copy assignment operator as default.


  Commit: 059b0c2efbf30d986d812c4d2cf6d6c7876569fe
      https://github.com/llvm/llvm-project/commit/059b0c2efbf30d986d812c4d2cf6d6c7876569fe
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [ValueTracking][NFC] Drop outdated TODO in canCreateUndefOrPoison (#139915)

The inrange constexpr GEP case is handled since 425cbbc602c9.


  Commit: 1f570b1c2df6ec93a90ec8f0751fe8355644f1c6
      https://github.com/llvm/llvm-project/commit/1f570b1c2df6ec93a90ec8f0751fe8355644f1c6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M lldb/source/Target/DynamicRegisterInfo.cpp

  Log Message:
  -----------
  [lldb] Use llvm::unique (NFC) (#139910)

While I am at it, this patch removes the "if" statement.
std::vector::erase(first, last) doesn't do anything when
first == last.


  Commit: 9f569fe2e7b68db856716a1ae3b0a6738a281d1e
      https://github.com/llvm/llvm-project/commit/9f569fe2e7b68db856716a1ae3b0a6738a281d1e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

  Log Message:
  -----------
  [lldb] Use std::optional::value_or (NFC) (#140011)


  Commit: d9ab5bc82d7e5dc4d132d1e674b06ec683e019f9
      https://github.com/llvm/llvm-project/commit/d9ab5bc82d7e5dc4d132d1e674b06ec683e019f9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Quant/IR/QuantOps.cpp

  Log Message:
  -----------
  [mlir] Use llvm::is_contained (NFC) (#140012)


  Commit: 3667f29dfd1100a0eda7bfc4584ba2cfb6880b94
      https://github.com/llvm/llvm-project/commit/3667f29dfd1100a0eda7bfc4584ba2cfb6880b94
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp

  Log Message:
  -----------
  [llvm] Use std::optional::value_or (NFC) (#140014)


  Commit: b7d6a54703823bfba2b437e4b764ceb16b73c2af
      https://github.com/llvm/llvm-project/commit/b7d6a54703823bfba2b437e4b764ceb16b73c2af
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M libcxx/docs/CodingGuidelines.rst
    M libcxx/docs/DesignDocs/FileTimeType.rst
    M libcxx/docs/TestingLibcxx.rst

  Log Message:
  -----------
  [libc++] Fix typos in documentation (#139853)


  Commit: 3d6d5dfed2b303e9fba74586993df3fa85058991
      https://github.com/llvm/llvm-project/commit/3d6d5dfed2b303e9fba74586993df3fa85058991
  Author: James Newling <james.newling at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/test/Dialect/Vector/linearize.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir][vector] Address linearization comments (post commit) (#138075)

This PR adds some documentation to address comments in
https://github.com/llvm/llvm-project/pull/136581 

This PR adds a test for linearization across scf.for. This new test
might be considered redundant by more experienced MLIRers, but might
help newer users understand how to linearize scf/cf/func operations
easily

The documentation added in this PR also tightens our definition of
linearization, to now exclude unrolling (which creates multiple ops from
1 op). We hadn't really specified what linearization meant before.


  Commit: 6d942c5c16c384feca50c9f2a4262413410e7d9e
      https://github.com/llvm/llvm-project/commit/6d942c5c16c384feca50c9f2a4262413410e7d9e
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [llvm] Fix test breakage in Vectorize/VPlanVerifierTest.cpp (#140079)

Fix test breakage in Vectorize/VPlanVerifierTest.cpp introduced in
change 849990479 (typo).


  Commit: cd72777f09506a43daeae64dce587cde9c57a1f6
      https://github.com/llvm/llvm-project/commit/cd72777f09506a43daeae64dce587cde9c57a1f6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    A llvm/test/CodeGen/RISCV/zdinx-spill.ll

  Log Message:
  -----------
  [RISCV] Add test for spilling and reloading a GPRPair for Zdinx+RV32. NFC (#139983)

I couldn't find any existing coverage for PseudoRV32ZdinxSD and
PseudoRV32ZdinxLD being emitted from
storeRegToStackSlot/loadRegFromStackSlot.


  Commit: 426573332cb7c70ede293d13bac7564eb2c0b753
      https://github.com/llvm/llvm-project/commit/426573332cb7c70ede293d13bac7564eb2c0b753
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp

  Log Message:
  -----------
  [RISCV] Use RISCVRegisterInfo::isRVVRegClass to replace IsScalableVector in storeRegToStackSlot/loadRegFromStackSlot. NFC (#139979)


  Commit: 540cf25a6df56fa1810a7411477dca9896aeed20
      https://github.com/llvm/llvm-project/commit/540cf25a6df56fa1810a7411477dca9896aeed20
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/test/CodeGen/RISCV/double-calling-conv.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-imm.ll
    M llvm/test/CodeGen/RISCV/double-mem.ll
    M llvm/test/CodeGen/RISCV/double-previous-failure.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll
    M llvm/test/CodeGen/RISCV/zdinx-memoperand.ll

  Log Message:
  -----------
  [RISCV] Split f64 loads/stores for RV32+Zdinx during isel instead of post-RA. (#139840)

This avoids a bunch of complexity around making sure the offset doesn't
exceed 4093 so we can add 4 after splitting later. By splitting early,
the split loads/stores will get selected independently.

There's a bit of follow up work to do, particularly around splitting a
constant pool load. Overall I think this is cleaner with less edge
cases.


  Commit: 381a649fb991eadb0c594de2d8b6166fcc11345a
      https://github.com/llvm/llvm-project/commit/381a649fb991eadb0c594de2d8b6166fcc11345a
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTDiagnostic.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp
    M libcxx/include/print
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
    M libcxx/test/std/localization/codecvt_unicode.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_in.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_out.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_in.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_out.pass.cpp
    M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign2.pass.cpp
    M libcxx/utils/libcxx/test/features.py
    M llvm/include/llvm/Support/ConvertUTF.h
    M llvm/lib/Support/ConvertUTFWrapper.cpp

  Log Message:
  -----------
  [Clang] Add warnings when mixing different charN_t types (#138708)

charN_t represent code units of different UTF encodings. Therefore the
values of 2 different charN_t objects do not represent the same
characters.

In order to avoid comparing apples and oranges, we add new warnings to
warn on:
  - Implicit conversions
  - Comparisons
  - Other cases involving arithmetic conversions

We only produce the warning if we cannot establish the comparison would
be safe through constant evaluation.

The new `-Wimplicit-unicode-conversion` warning is enabled by default.

Note that this PR intentionally doesn;t touches char/wchar_t, but it
would be worth considering also warning on extending the new warnings to
these types (in a follow up)

Additionally most arithmetic operations on charN_t don't really make
sense (ie what does it mean to addition code units), so we could add
warnings for that.

Fixes #138526


  Commit: 21d506414053d260ee78fa5a27b6bf3edc547088
      https://github.com/llvm/llvm-project/commit/21d506414053d260ee78fa5a27b6bf3edc547088
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combineConcatVectorOps - remove VBMI2 limit for v32i16/v64i8 shuffle concatentation (#140077)

This is no longer required with the improvements to subvector load sharing with shouldReduceLoadWidth


  Commit: d58d5d6e9d6761f88344f439e7fdf63d41c8c384
      https://github.com/llvm/llvm-project/commit/d58d5d6e9d6761f88344f439e7fdf63d41c8c384
  Author: Vincent <vincent0710 at outlook.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp

  Log Message:
  -----------
  [clang] Compound Literal Statement Constant Expression Assertion Fix (#139479)

Compound literals initializer-list should be a constant expression if it
is defined outside the body of a function.

Emit error instead of falling through tripping assertion error.

Fixes #139160


  Commit: 5defe490c9b1356916245e1832859c361ac8d812
      https://github.com/llvm/llvm-project/commit/5defe490c9b1356916245e1832859c361ac8d812
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h

  Log Message:
  -----------
  [sanitizer][NFCI] Add 'SanitizerAnnotateDebugInfo' (#139965)

This generalizes the debug info annotation code from https://github.com/llvm/llvm-project/pull/139149 and moves it into a helper function, SanitizerAnnotateDebugInfo().

Future work can use 'ApplyDebugLocation ApplyTrapDI(*this, SanitizerAnnotateDebugInfo(Ordinal));' to add annotations to additional checks.


  Commit: 0eb4bd27d1ab15ea6b078ac386be01ae13d261a9
      https://github.com/llvm/llvm-project/commit/0eb4bd27d1ab15ea6b078ac386be01ae13d261a9
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/test/Sema/atomic-expr.c

  Log Message:
  -----------
  [C] Silence unreachable -Watomic-access diagnostics (#140064)

Accessing the member of a structure or union which is _Atomic-qualified
is undefined behavior in C. We currently diagnose that with a warning
that defaults to an error. In turn, this means we reject a valid program
if the access it not reachable because of the error. e.g.,

  if (0)
    SomeAtomicStruct.Member = 12; // Was diagnosed

This silences the diagnostic if the member access is not reachable.


  Commit: 59c6d70ed8120b8864e5f796e2bf3de5518a0ef0
      https://github.com/llvm/llvm-project/commit/59c6d70ed8120b8864e5f796e2bf3de5518a0ef0
  Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    A llvm/test/Transforms/CodeGenPrepare/X86/sink-addr-reuse.ll

  Log Message:
  -----------
  [CodeGenPrepare] Make sure instruction get from SunkAddrs is before MemoryInst (#139303)

Function optimizeBlock may do optimizations on a block for multiple
times. In the first iteration of the loop, MemoryInst1 may generate a
sunk instruction and store it into SunkAddrs. In the second iteration of
the loop, MemoryInst2 may use the same address and then it can reuse the
sunk instruction stored in SunkAddrs, but MemoryInst2 may be before
MemoryInst1 and the corresponding sunk instruction. In order to avoid
use before def error, we need to find appropriate insert position for the
 sunk instruction.

Fixes #138208.


  Commit: 15b20a13e6a35a8c5864080644f9bc39f6dbd573
      https://github.com/llvm/llvm-project/commit/15b20a13e6a35a8c5864080644f9bc39f6dbd573
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [NFC][llvm-objdump] Add ostream param to control console prints (#139931)


  Commit: 2bc9f43ba1116fb3989e28ecc3934209145a6250
      https://github.com/llvm/llvm-project/commit/2bc9f43ba1116fb3989e28ecc3934209145a6250
  Author: Alexander Peskov <apeskov at nvidia.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/NVPTX/shift-opt.ll

  Log Message:
  -----------
  [DAGCombiner] Fold pattern for srl-shl-zext (REAPPLIED) (#140038)

Fold (srl (lop x, (shl (zext y), c1)), c1) -> (lop (srl x, c1), (zext y)) where c1 <= leadingzeros(zext(y)).

This is equivalent of existing fold chain (srl (shl (zext y), c1), c1) -> (and (zext y), mask) -> (zext y), but logical op in the middle prevents it from combining.

Profit : Allow to reduce the number of instructions.

Original commit: #138290 / bbc5221

Previously reverted due to conflict in LIT test. Mainline changed
default version of load instruction to untyped version by this #137698 .
Updated test uses `ld.param.b64` instead of `ld.param.u64`.


  Commit: d6b73da15211d2286c6b0750b68d139104d463b9
      https://github.com/llvm/llvm-project/commit/d6b73da15211d2286c6b0750b68d139104d463b9
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  [NFC] One-liner clang-format (#140104)

`InstrProfWriter::setOutputSparse` gets re-formatted when
InstrProfWriter.cpp is modified. So formatted this line.


  Commit: f0d7fea98b4afc29dfca11bfc58c7411c794ccae
      https://github.com/llvm/llvm-project/commit/f0d7fea98b4afc29dfca11bfc58c7411c794ccae
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp

  Log Message:
  -----------
  [IRBuilder] Use AAMDNodes helper class in CreateMem* routines [nfc-ish] (#139950)

I'm not 100% sure this is NFC because we have the possibility we're
propagating additional metadata we'd missed before. We don't see any
test changes resulting from this though.


  Commit: 113898326b9cf3d9bb9edc3023e75fb3e4f82422
      https://github.com/llvm/llvm-project/commit/113898326b9cf3d9bb9edc3023e75fb3e4f82422
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [bazel] Add missing dep after 3d6d5dfed2b303e9fba74586993df3fa85058991


  Commit: 81d48e0f61f3e78cd6d6be9d3c8e48e7761a5ed5
      https://github.com/llvm/llvm-project/commit/81d48e0f61f3e78cd6d6be9d3c8e48e7761a5ed5
  Author: Fangyi Zhou <me at fangyi.io>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    A clang/test/Analysis/ftime-trace-no-init.cpp

  Log Message:
  -----------
  [clang][analyzer] Fix a nullptr dereference when -ftime-trace is used (Reland) (#139980)

Fixes #139779.

The bug was introduced in #137355 in `SymbolConjured::getStmt`, when
trying to obtain a statement for a CFG initializer without an
initializer.  This commit adds a null check before access.

Previous PR #139820, Revert #139936

Additional notes since previous PR:

When conjuring a symbol, sometimes there is no valid CFG element, e.g.
in the file causing the crash, there is no element at all in the CFG. In
these cases, the CFG element reference in the expression engine will be
invalid. As a consequence, there needs to be extra checks to ensure the
validity of the CFG element reference.


  Commit: 682a976768b274c71ebd42198d1bbf0f27fec1e2
      https://github.com/llvm/llvm-project/commit/682a976768b274c71ebd42198d1bbf0f27fec1e2
  Author: Chengjun <chengjunp at Nvidia.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h

  Log Message:
  -----------
  [AA] Change RunEarly to be a Boolean Flag in ExternalAAWrapper (#139158)

Change the previous runEarly virtual function in ExternalAAWrapper to be
a boolean flag.


  Commit: 58b9b865feffede59616cfc05cefa956d5352314
      https://github.com/llvm/llvm-project/commit/58b9b865feffede59616cfc05cefa956d5352314
  Author: John Harrison <harjohn at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.h
    M lldb/unittests/DAP/CMakeLists.txt
    A lldb/unittests/DAP/DAPTest.cpp
    A lldb/unittests/DAP/Handler/DisconnectTest.cpp
    A lldb/unittests/DAP/TestBase.cpp
    A lldb/unittests/DAP/TestBase.h
    M lldb/unittests/DAP/TransportTest.cpp

  Log Message:
  -----------
  [lldb-dap] Setup DAP for unit testing. (#139937)

This is a very simple case that currently only validates we can create a
DAP instance and send a message over the transport layer. More in-depth
tests will require additional helpers and possibly refactors of DAP to
make it more testable, however this is some ground work to have basic
support for unit tests.

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: e2c1dd5f234664066adce6467a5e3f36834b971b
      https://github.com/llvm/llvm-project/commit/e2c1dd5f234664066adce6467a5e3f36834b971b
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M third-party/unittest/googletest/README.LLVM
    M third-party/unittest/googletest/include/gtest/gtest-printers.h

  Log Message:
  -----------
  Fix CI after #138708 (#140111)

Silence a warning in gtest casting a char8_t/char16_t to char32_t.

Note that this cast, as well as the behavior of `PrintTo(char32_t)` is
incorrect when printing a code unit that does not represent a code
point. See https://github.com/google/googletest/issues/4762


  Commit: 1acac5cd38210131c543e4635fcbfd4d597e15f5
      https://github.com/llvm/llvm-project/commit/1acac5cd38210131c543e4635fcbfd4d597e15f5
  Author: Sinkevich Artem <a.sinkevich at ispras.ru>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [sanitizer] Fix empty string in unsupported argument error for -fsanitize-trap (#136549)

When using `-fsanitize-trap` with a sanitizer group that doesn't support
trapping, an empty argument is passed to
`err_drv_unsupported_option_argument`. Use new `toStringWithGroups` for
the diagnostic.


  Commit: bb10c3ba7f77d40a7fbfd4ac815015d3a4ae476a
      https://github.com/llvm/llvm-project/commit/bb10c3ba7f77d40a7fbfd4ac815015d3a4ae476a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Transforms/Utils/LoopPeel.h
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/test/Transforms/LoopUnroll/peel-last-iteration.ll

  Log Message:
  -----------
  [LoopPeel] Implement initial peeling off the last loop iteration. (#139551)

Generalize countToEliminateCompares to also consider peeling off the
last iteration if it eliminates a compare.

At the moment, codegen for peeling off the last iteration is quite
restrictive and callers have to make sure that the exit condition can be
adjusted when peeling and that the loop executes at least 2 iterations.

Both will be relaxed in follow-ups.

PR: https://github.com/llvm/llvm-project/pull/139551


  Commit: 2cdb7f3fc4c03df546dc61b67b1a5d2a6f03624d
      https://github.com/llvm/llvm-project/commit/2cdb7f3fc4c03df546dc61b67b1a5d2a6f03624d
  Author: Nuko Y. <or at dmc.chat>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/reserveXreg.ll

  Log Message:
  -----------
  [AArch64] Disable machine-verifier for failing test, fix perf regression (#140005)

Disables machine-verifier on failing test for now for the test to pass
on expensive-checks. Also fixes performance regression
(https://llvm-compile-time-tracker.com/compare.php?from=64082912a500d004c53ad1b3425098b495572663&to=26f97ee9aa413db240c397f96ddd5b0553a57d30&stat=instructions:u)
mentioned in #138448 by not computing reserved registers every loop
iteration.


  Commit: faf5d747f174cc9d714839f0d3bce1a783eac2ac
      https://github.com/llvm/llvm-project/commit/faf5d747f174cc9d714839f0d3bce1a783eac2ac
  Author: Max191 <44243577+Max191 at users.noreply.github.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir

  Log Message:
  -----------
  [mlir] Fix DataLayoutPropagation foldings invalidating IR (#140103)

Fixes a bug in DataLayoutPropagation that was replacing generic op
destinations with tensor.empty() ops, even when the destination operand
was being used.

Addresses post-merge comment:
https://github.com/llvm/llvm-project/pull/138332/files/a9c1dccc3f73793bdd9e1f51ab3a6e15403a8338#r2091193712

Signed-off-by: Max Dawkins <maxdawkins19 at gmail.com>
Co-authored-by: Max Dawkins <maxdawkins19 at gmail.com>


  Commit: 9457616527b50590e9c9d5e91723b35b26e447cd
      https://github.com/llvm/llvm-project/commit/9457616527b50590e9c9d5e91723b35b26e447cd
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    A flang/test/Semantics/pad-hollerith-arg.f

  Log Message:
  -----------
  [flang] Pad Hollerith actual arguments (#139782)

For more compatible legacy behavior on old tests, extend Hollerith
actual arguments on the right with trailing blanks out to a multiple of
8 bytes. Fixes Fujitsu test 0343_0069.


  Commit: 36ccfe29be3a5fec8c9c2e1d8354e304500afd9b
      https://github.com/llvm/llvm-project/commit/36ccfe29be3a5fec8c9c2e1d8354e304500afd9b
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M flang-rt/lib/runtime/assign.cpp

  Log Message:
  -----------
  [flang] Clear obsolete type from reallocated allocatable (#139788)

When an assignment to a polymorphic allocatable changes its type to an
intrinsic type, be sure to reset its descriptor's derived type pointer
to null.

Fixes https://github.com/llvm/llvm-project/issues/136522.


  Commit: c26e7520a939556bd23f7db3b7e0f4530b9d94a8
      https://github.com/llvm/llvm-project/commit/c26e7520a939556bd23f7db3b7e0f4530b9d94a8
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M flang/include/flang/Parser/preprocessor.h
    M flang/lib/Parser/preprocessor.cpp
    A flang/test/Preprocessing/func-on-command-line.F90

  Log Message:
  -----------
  [flang] Support -D for function-like macros (#139812)

Handle a command-line function-like macro definition like
"-Dfoo(a)=...".

TODO: error reporting for badly formed argument lists.


  Commit: b7e13ab42929562d0fa78b623562341ef78617b4
      https://github.com/llvm/llvm-project/commit/b7e13ab42929562d0fa78b623562341ef78617b4
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M flang/docs/ModFiles.md

  Log Message:
  -----------
  [flang][docs] Document technique for regenerating a module hermetically (#139975)

A flang-new module file is Fortran source, so it can be recompiled with
the `-fhermetic-module-files` option to convert it into a hermetic one.


  Commit: 59d910df53d5ce08186f3a0b415e0205f91e6134
      https://github.com/llvm/llvm-project/commit/59d910df53d5ce08186f3a0b415e0205f91e6134
  Author: Qinkun Bao <qinkun at google.com>
  Date:   2025-05-15 (Thu, 15 May 2025)

  Changed paths:
    M bolt/include/bolt/Profile/Heatmap.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/Heatmap.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/X86/callcont-fallthru.s
    M bolt/test/X86/heatmap-preagg.test
    M clang/docs/CMakeLists.txt
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/user-docs.rst
    M clang/docs/analyzer/user-docs/CommandLineUsage.rst
    A clang/docs/analyzer/user-docs/Options.rst.in
    A clang/docs/tools/generate_analyzer_options_docs.py
    M clang/include/clang/AST/ASTConcept.h
    M clang/include/clang/AST/ASTDiagnostic.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Module.h
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/Frontend/CommandLineSourceLoc.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/lib/AST/ASTConcept.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/__clang_hip_cmath.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    A clang/test/Analysis/ftime-trace-no-init.cpp
    A clang/test/Analysis/generate_analyzer_options_docs.test
    A clang/test/CodeCompletion/source-loc-zero.cpp
    M clang/test/CodeGen/AArch64/fp8-init-list.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_untyped.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fmla.c
    A clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
    M clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-call.c
    M clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-cast.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
    M clang/test/CodeGen/arm-mfp8.c
    M clang/test/CodeGen/builtins-arm64.c
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/CodeGen/dllexport.c
    M clang/test/CodeGen/dllimport.c
    M clang/test/CodeGen/dso-local-executable.c
    M clang/test/CodeGenCXX/dllexport-members.cpp
    M clang/test/CodeGenCXX/dllexport-missing-key.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/dllimport-members.cpp
    M clang/test/CodeGenCXX/dllimport-missing-key.cpp
    M clang/test/CodeGenCXX/dllimport-rtti.cpp
    M clang/test/CodeGenCXX/dllimport.cpp
    M clang/test/CodeGenCXX/dso-local-executable.cpp
    M clang/test/CodeGenCXX/mingw-template-dllexport.cpp
    M clang/test/CodeGenCXX/rtti-mingw64.cpp
    M clang/test/CodeGenCXX/virt-dtor-key.cpp
    M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
    M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
    M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/static-local-ctor.hlsl
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/ppc-mrop-protection-support-check.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/riscv-arch.c
    A clang/test/Headers/__clang_hip_cmath-return_types.hip
    A clang/test/Modules/pr130712.cppm
    A clang/test/OpenMP/openmp_non_c_directives.c
    R clang/test/OpenMP/openmp_workshare.c
    M clang/test/Preprocessor/riscv-target-features.c
    A clang/test/Refactor/source-loc-zero.cpp
    M clang/test/Sema/atomic-expr.c
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/dllexport.cpp
    M clang/test/SemaCXX/dllimport.cpp
    A clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp
    M clang/test/lit.cfg.py
    M clang/tools/clang-refactor/ClangRefactor.cpp
    M clang/utils/TableGen/NeonEmitter.cpp
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/aarch64/chkstk.S
    M compiler-rt/lib/builtins/aarch64/lse.S
    M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
    M compiler-rt/lib/builtins/clear_cache.c
    M compiler-rt/lib/builtins/cpu_model/aarch64.c
    M compiler-rt/lib/builtins/cpu_model/aarch64.h
    M compiler-rt/lib/builtins/fp_compare_impl.inc
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/lib/builtins/udivmodti4.c
    M compiler-rt/test/builtins/Unit/enable_execute_stack_test.c
    M compiler-rt/test/builtins/Unit/fixunstfdi_test.c
    M compiler-rt/test/builtins/Unit/multc3_test.c
    M flang-rt/lib/runtime/assign.cpp
    M flang/docs/ModFiles.md
    M flang/include/flang/Parser/preprocessor.h
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Lower/OpenMP/target.f90
    A flang/test/Preprocessing/func-on-command-line.F90
    A flang/test/Semantics/pad-hollerith-arg.f
    M libcxx/docs/CodingGuidelines.rst
    M libcxx/docs/DesignDocs/FileTimeType.rst
    M libcxx/docs/TestingLibcxx.rst
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__fwd/pair.h
    M libcxx/include/__memory/uses_allocator_construction.h
    M libcxx/include/__node_handle
    M libcxx/include/__tree
    M libcxx/include/map
    M libcxx/include/print
    M libcxx/src/.clang-tidy
    R libcxx/test/benchmarks/algorithms/pstl.stable_sort.bench.cpp
    R libcxx/test/benchmarks/algorithms/ranges_sort.bench.cpp
    R libcxx/test/benchmarks/algorithms/ranges_stable_sort.bench.cpp
    R libcxx/test/benchmarks/algorithms/sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/common.h
    A libcxx/test/benchmarks/algorithms/sorting/is_sorted.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/is_sorted_until.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/partial_sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/partial_sort_copy.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/sort.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/stable_sort.bench.cpp
    R libcxx/test/benchmarks/algorithms/stable_sort.bench.cpp
    M libcxx/test/benchmarks/format/format.bench.cpp
    M libcxx/test/configs/cmake-bridge.cfg.in
    A libcxx/test/libcxx/clang_tidy.sh.py
    M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
    M libcxx/test/std/localization/codecvt_unicode.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_in.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_out.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_in.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_out.pass.cpp
    M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign2.pass.cpp
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/gdb/libcxx/printers.py
    M libcxx/utils/libcxx/test/features.py
    M lld/COFF/COFFLinkerContext.h
    M lld/COFF/Chunks.cpp
    M lld/COFF/DLL.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/Options.td
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/Writer.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/Writer.cpp
    M lld/docs/ELF/warn_backrefs.rst
    M lld/docs/windows_support.rst
    M lld/test/COFF/arm64ec-entry-mangle.test
    M lld/test/COFF/arm64ec-hybmp.s
    M lld/test/COFF/arm64ec-lib.test
    M lld/test/COFF/arm64ec-patchable-thunks.test
    M lld/test/COFF/arm64ec-range-thunks.s
    M lld/test/COFF/arm64ec.test
    M lld/test/COFF/arm64x-altnames.s
    M lld/test/COFF/arm64x-buildid.s
    M lld/test/COFF/arm64x-comm.s
    M lld/test/COFF/arm64x-crt-sec.s
    M lld/test/COFF/arm64x-ctors-sec.s
    M lld/test/COFF/arm64x-guardcf.s
    M lld/test/COFF/arm64x-import.test
    A lld/test/COFF/arm64x-sameaddress.test
    M lld/test/COFF/arm64x-symtab.s
    M lld/test/COFF/arm64x-wrap.s
    M lld/test/COFF/autoimport-arm64ec-data.test
    M lldb/include/lldb/Core/Address.h
    M lldb/source/Core/Address.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Target/DynamicRegisterInfo.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
    M lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
    M lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
    M lldb/tools/debugserver/source/CMakeLists.txt
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
    M lldb/tools/lldb-dap/package.json
    M lldb/tools/lldb-dap/src-ts/extension.ts
    M lldb/tools/lldb-dap/src-ts/ui/modules-data-provider.ts
    M lldb/unittests/DAP/CMakeLists.txt
    A lldb/unittests/DAP/DAPTest.cpp
    A lldb/unittests/DAP/Handler/DisconnectTest.cpp
    M lldb/unittests/DAP/ProtocolTypesTest.cpp
    A lldb/unittests/DAP/TestBase.cpp
    A lldb/unittests/DAP/TestBase.h
    A lldb/unittests/DAP/TransportTest.cpp
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/MLGO.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/ADT/APFixedPoint.h
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/ADT/BitmaskEnum.h
    M llvm/include/llvm/ADT/DynamicAPInt.h
    M llvm/include/llvm/ADT/SlowDynamicAPInt.h
    M llvm/include/llvm/ADT/TrieRawHashMap.h
    M llvm/include/llvm/ADT/Twine.h
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    A llvm/include/llvm/IR/IntrinsicsRISCVXAndes.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/Support/BranchProbability.h
    M llvm/include/llvm/Support/ConvertUTF.h
    M llvm/include/llvm/Support/DebugCounter.h
    M llvm/include/llvm/Support/FileOutputBuffer.h
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/include/llvm/Support/SMTAPI.h
    M llvm/include/llvm/Support/ScaledNumber.h
    M llvm/include/llvm/TableGen/DirectiveEmitter.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/Transforms/Utils/LoopPeel.h
    A llvm/include/llvm/Transforms/Vectorize/EVLIndVarSimplify.h
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/Support/APFixedPoint.cpp
    M llvm/lib/Support/ConvertUTFWrapper.cpp
    M llvm/lib/Support/DebugCounter.cpp
    M llvm/lib/Support/DynamicAPInt.cpp
    M llvm/lib/Support/FileOutputBuffer.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/lib/Support/ScaledNumber.cpp
    M llvm/lib/Support/SlowDynamicAPInt.cpp
    M llvm/lib/Support/Z3Solver.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.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/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    M llvm/lib/Target/M68k/CMakeLists.txt
    M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.h
    M llvm/lib/Target/M68k/M68kInstrInfo.td
    A llvm/lib/Target/M68k/M68kSelectionDAGInfo.cpp
    A llvm/lib/Target/M68k/M68kSelectionDAGInfo.h
    M llvm/lib/Target/M68k/M68kSubtarget.cpp
    M llvm/lib/Target/M68k/M68kSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
    A llvm/lib/Target/RISCV/RISCVInstrInfoQ.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/RISCV/RISCVSchedGenericOOO.td
    M llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
    M llvm/lib/Target/RISCV/RISCVSchedRocket.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
    M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR345.td
    M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR7.td
    M llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
    M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
    M llvm/lib/Target/RISCV/RISCVSchedule.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    A llvm/lib/Transforms/Vectorize/EVLIndVarSimplify.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/test/Assembler/autoupgrade-thread-pointer.ll
    A llvm/test/CodeGen/AArch64/aarch64-sme-stubs.ll
    M llvm/test/CodeGen/AArch64/arm64-arith-saturating.ll
    M llvm/test/CodeGen/AArch64/arm64-vshift.ll
    M llvm/test/CodeGen/AArch64/bitcast-extend.ll
    M llvm/test/CodeGen/AArch64/fix-shuffle-vector-be-rev.ll
    M llvm/test/CodeGen/AArch64/fp16-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/neon-bitcast.ll
    M llvm/test/CodeGen/AArch64/neon-insert-sve-elt.ll
    M llvm/test/CodeGen/AArch64/neon-insextbitcast.ll
    A llvm/test/CodeGen/AArch64/nofpclass.ll
    M llvm/test/CodeGen/AArch64/reserveXreg.ll
    M llvm/test/CodeGen/AArch64/shuffle-extend.ll
    M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
    M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
    M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
    M llvm/test/CodeGen/AArch64/stack-tagging-prologue.ll
    M llvm/test/CodeGen/AArch64/vector-fcvt.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dropped_debug_info_assert.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-metadata.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-legalize-range-metadata.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mmra.ll
    M llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll
    M llvm/test/CodeGen/AMDGPU/lower-kernel-lds.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-all-indirect-accesses.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-indirect-extern-uses-max-reachable-alignment.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
    M llvm/test/CodeGen/AMDGPU/mmra.ll
    A llvm/test/CodeGen/ARM/nofpclass.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-1.ll
    A llvm/test/CodeGen/Mips/nofpclass.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-s2g-sm100.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk.ll
    M llvm/test/CodeGen/NVPTX/shift-opt.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/double-calling-conv.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-imm.ll
    M llvm/test/CodeGen/RISCV/double-mem.ll
    M llvm/test/CodeGen/RISCV/double-previous-failure.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    A llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadb.ll
    A llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadt.ll
    M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll
    M llvm/test/CodeGen/RISCV/zdinx-large-spill.mir
    M llvm/test/CodeGen/RISCV/zdinx-memoperand.ll
    A llvm/test/CodeGen/RISCV/zdinx-spill.ll
    A llvm/test/CodeGen/RISCV/zilsd.ll
    M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast-2.ll
    M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast.ll
    M llvm/test/CodeGen/X86/avg-mask.ll
    M llvm/test/CodeGen/X86/avgfloors.ll
    M llvm/test/CodeGen/X86/machine-combiner-int-vec.ll
    A llvm/test/CodeGen/X86/nofpclass.ll
    M llvm/test/CodeGen/X86/pr63108.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca-array.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca-compat.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca-with-calls.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/exception-lifetime.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
    A llvm/test/MC/RISCV/rv32q-invalid.s
    A llvm/test/MC/RISCV/rv64q-invalid.s
    A llvm/test/MC/RISCV/rv64q-valid.s
    A llvm/test/MC/RISCV/rv64zfa-only-valid.s
    A llvm/test/MC/RISCV/rvq-aliases-valid.s
    A llvm/test/MC/RISCV/rvq-pseudos.s
    A llvm/test/MC/RISCV/rvq-valid.s
    A llvm/test/MC/RISCV/xandesvdot-valid.s
    M llvm/test/MC/RISCV/zfa-invalid.s
    A llvm/test/MC/RISCV/zfa-quad-invalid.s
    M llvm/test/MC/RISCV/zfa-valid.s
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    A llvm/test/ThinLTO/X86/cache-emit-asm.ll
    A llvm/test/Transforms/CodeGenPrepare/X86/sink-addr-reuse.ll
    M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
    M llvm/test/Transforms/ConstraintElimination/eq.ll
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic-signed-predicates.ll
    M llvm/test/Transforms/ConstraintElimination/geps-precondition-overflow-check.ll
    M llvm/test/Transforms/ConstraintElimination/loops-bottom-tested-pointer-cmps.ll
    M llvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-cmps.ll
    M llvm/test/Transforms/ConstraintElimination/or-implied-by-operands.ll
    M llvm/test/Transforms/ConstraintElimination/or.ll
    A llvm/test/Transforms/ForcedFunctionAttrs/open-file-error.ll
    M llvm/test/Transforms/GVN/phi.ll
    M llvm/test/Transforms/GVN/pre-compare.ll
    M llvm/test/Transforms/GVN/readattrs.ll
    M llvm/test/Transforms/GVN/setjmp.ll
    M llvm/test/Transforms/GVN/tbaa.ll
    M llvm/test/Transforms/GVN/vscale.ll
    M llvm/test/Transforms/LoopUnroll/peel-last-iteration.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/evl-iv-simplify.ll
    M llvm/test/Transforms/SLPVectorizer/X86/long-pointer-distance.ll
    A llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
    M llvm/test/Transforms/SafeStack/AArch64/abi.ll
    M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
    M llvm/test/Transforms/SafeStack/AArch64/unreachable.ll
    M llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/unittests/ADT/BitmaskEnumTest.cpp
    M llvm/unittests/Support/FileOutputBufferTest.cpp
    M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.cpp
    M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/BUILD.gn
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
    M mlir/include/mlir/Dialect/X86Vector/X86VectorInterfaces.td
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/AsmParser/AsmParserImpl.h
    M mlir/lib/AsmParser/Lexer.cpp
    M mlir/lib/AsmParser/TokenKinds.def
    M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.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/Quant/IR/QuantOps.cpp
    M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
    M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/ExecutionEngine/JitRunner.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
    M mlir/test/Dialect/Vector/linearize.mlir
    M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir
    M mlir/test/IR/parser.mlir
    M mlir/test/Target/LLVMIR/blockaddress.mlir
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
    R mlir/test/mlir-runner/verify-entry-point-result.mlir
    A mlir/test/mlir-runner/verify-entry-point.mlir
    A mlir/test/mlir-tblgen/cpp-class-comments.td
    M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
    M mlir/tools/mlir-tblgen/CMakeLists.txt
    A mlir/tools/mlir-tblgen/CppGenUtilities.cpp
    A mlir/tools/mlir-tblgen/CppGenUtilities.h
    M mlir/tools/mlir-tblgen/DialectGen.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
    R offload/test/offloading/gpupgo/pgo1.c
    R offload/test/offloading/gpupgo/pgo2.c
    A offload/test/offloading/gpupgo/pgo_atomic_teams.c
    A offload/test/offloading/gpupgo/pgo_atomic_threads.c
    A offload/test/offloading/gpupgo/pgo_device_and_host.c
    A offload/test/offloading/gpupgo/pgo_device_only.c
    M openmp/runtime/test/ompt/callback.h
    M third-party/unittest/googletest/README.LLVM
    M third-party/unittest/googletest/include/gtest/gtest-printers.h
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/qinkunbao/spr/convert-specialcaselistsections-from-stringmap-to-vector


Compare: https://github.com/llvm/llvm-project/compare/543a283bb905...59d910df53d5

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