[all-commits] [llvm/llvm-project] 9e87ca: [libc++][NFC] Comment cleanup for `<type_traits>` ...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Tue Mar 11 19:47:20 PDT 2025


  Branch: refs/heads/users/vitalybuka/spr/ir-optimize-cfi-in-writecombinedglobalvaluesummary
  Home:   https://github.com/llvm/llvm-project
  Commit: 9e87caff98cefcabfc13288229a4422e7f9edde4
      https://github.com/llvm/llvm-project/commit/9e87caff98cefcabfc13288229a4422e7f9edde4
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M libcxx/include/type_traits

  Log Message:
  -----------
  [libc++][NFC] Comment cleanup for `<type_traits>` (#130422)

- Aligns all version comments to line 65.
- Consistently uses `// since C++` instead of `// C++`, in lowercase as
used in most version comments.
- Consistently uses `class` to introduce type template parameters.
- Consistently uses `inline constexpr` for variable templates.
- Corrects the comment for `bool_constant` to `// since C++17` as it's a
C++17 feature.
- Changes the class-key of `result_of` to `struct`, which follows N4659
[depr.meta.types] and the actual usage in libc++.
- Adds missed `// since C++17` for `is_(nothrow_)invocable(_r)`.
- Moves the comments for `is_nothrow_convertible_v` to the part for
variable templates.
- Removes duplicated comments for `true_type` and `false_type`.


  Commit: 667bbd2ecce09ed135064ae200bc6388b36c43c5
      https://github.com/llvm/llvm-project/commit/667bbd2ecce09ed135064ae200bc6388b36c43c5
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-smaxv.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-sminv.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-umaxv.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-uminv.ll
    M llvm/test/Instrumentation/MemorySanitizer/expand-experimental-reductions.ll

  Log Message:
  -----------
  [msan] Apply handleVectorReduceIntrinsic to max/min vector instructions (#129819)

Changes the handling of:
- llvm.aarch64.neon.smaxv
- llvm.aarch64.neon.sminv
- llvm.aarch64.neon.umaxv
- llvm.aarch64.neon.uminv
- llvm.vector.reduce.smax
- llvm.vector.reduce.smin
- llvm.vector.reduce.umax
- llvm.vector.reduce.umin
- llvm.vector.reduce.fmax
- llvm.vector.reduce.fmin
from the default strict handling (visitInstruction) to
handleVectorReduceIntrinsic.

Also adds a parameter to handleVectorReduceIntrinsic to specify whether
the return type must match the elements of the vector.

Updates the tests from https://github.com/llvm/llvm-project/pull/129741,
https://github.com/llvm/llvm-project/pull/129810,
https://github.com/llvm/llvm-project/pull/129768


  Commit: 735afc8cebc452b097f284058a03e96a4706efce
      https://github.com/llvm/llvm-project/commit/735afc8cebc452b097f284058a03e96a4706efce
  Author: Ishaan Verma <ishaan56verma at gmail.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M libc/include/llvm-libc-macros/stdfix-macros.h
    M libc/include/stdfix.yaml
    M libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/macros_test.cpp

  Log Message:
  -----------
  [libc] Added type-generic macros for fixed-point functions (#129371)

Adds macros `absfx`, `countlsfx` and `roundfx` .
ref:  #129111


  Commit: 227f9544a4d4bf9ab4da8a78cc801de697d4bc6d
      https://github.com/llvm/llvm-project/commit/227f9544a4d4bf9ab4da8a78cc801de697d4bc6d
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Bail out on non constant evaluated builtins (#130431)

If the ASTContext says so, don't bother trying to constant evaluate the
given builtin.


  Commit: 275d7175aceffcc7d5c0827118a1dea6ebf85798
      https://github.com/llvm/llvm-project/commit/275d7175aceffcc7d5c0827118a1dea6ebf85798
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMFastISel.cpp

  Log Message:
  -----------
  [ARM] Use Register in FastISel. NFC


  Commit: ae1479c79ed123bbe5865b0d91dff80efe74f32f
      https://github.com/llvm/llvm-project/commit/ae1479c79ed123bbe5865b0d91dff80efe74f32f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp

  Log Message:
  -----------
  [ARM] Remove unused argument. NFC


  Commit: 0f646fc84883d6044691d2d60404de3cc4e60d5b
      https://github.com/llvm/llvm-project/commit/0f646fc84883d6044691d2d60404de3cc4e60d5b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

  Log Message:
  -----------
  [AArch64] Remove unused DenseMap variable. NFC


  Commit: d47bc6fd93f9f439a54fd7cf55cdcb2e2ca0cfcb
      https://github.com/llvm/llvm-project/commit/d47bc6fd93f9f439a54fd7cf55cdcb2e2ca0cfcb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-08 (Sat, 08 Mar 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMFastISel.cpp

  Log Message:
  -----------
  [ARM] Change FastISel Address from a struct to a class. NFC

This allows us to use Register in the interface, but store an
unsigned internally in a union.


  Commit: 2172a5edcf9357d24006a3c1032f2d52e199915d
      https://github.com/llvm/llvm-project/commit/2172a5edcf9357d24006a3c1032f2d52e199915d
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    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/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h

  Log Message:
  -----------
  [clang][analyzer][NFC] Fix typos in comments (#130456)


  Commit: 2d1634fab716f3200990e3e5d7a102466509f202
      https://github.com/llvm/llvm-project/commit/2d1634fab716f3200990e3e5d7a102466509f202
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp

  Log Message:
  -----------
  [ExecutionEngine] Avoid repeated map lookups (NFC) (#130461)


  Commit: 7cd304725263a6f58d61aede6c0b6c08c042d200
      https://github.com/llvm/llvm-project/commit/7cd304725263a6f58d61aede6c0b6c08c042d200
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp

  Log Message:
  -----------
  [IPO] Avoid repeated hash lookups (NFC) (#130462)


  Commit: 7c7cebf49de18fa3445d9e8fc68b0d049f2d67c1
      https://github.com/llvm/llvm-project/commit/7c7cebf49de18fa3445d9e8fc68b0d049f2d67c1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

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

  Log Message:
  -----------
  [Scalar] Avoid repeated hash lookups (NFC) (#130463)


  Commit: cf3aa06c1627a6e6606b729fac344fefaeb0ba85
      https://github.com/llvm/llvm-project/commit/cf3aa06c1627a6e6606b729fac344fefaeb0ba85
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

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

  Log Message:
  -----------
  [Utils] Avoid repeated hash lookups (NFC) (#130464)


  Commit: 573df34ea053a82de2d8fb28dd430bca94ddcaaa
      https://github.com/llvm/llvm-project/commit/573df34ea053a82de2d8fb28dd430bca94ddcaaa
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp

  Log Message:
  -----------
  [llvm-jitlink] Avoid repeated hash lookups (NFC) (#130465)


  Commit: 99d2b3b0aa138470822fa82d8659bbb0e6364784
      https://github.com/llvm/llvm-project/commit/99d2b3b0aa138470822fa82d8659bbb0e6364784
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-profgen/MissingFrameInferrer.cpp

  Log Message:
  -----------
  [llvm-profgen] Avoid repeated hash lookups (NFC) (#130466)


  Commit: 6fbe491e1776f6598790a844bf4e743de956b42d
      https://github.com/llvm/llvm-project/commit/6fbe491e1776f6598790a844bf4e743de956b42d
  Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M lld/ELF/Arch/LoongArch.cpp
    A lld/test/ELF/loongarch-relax-call36-2.s
    A lld/test/ELF/loongarch-relax-call36.s
    M lld/test/ELF/loongarch-relax-emit-relocs.s

  Log Message:
  -----------
  [lld][LoongArch] Relax call36/tail36: R_LARCH_CALL36 (#123576)

Instructions with relocation `R_LARCH_CALL36` may be relax as follows:
```
From:
   pcaddu18i $dest, %call36(foo)
     R_LARCH_CALL36, R_LARCH_RELAX
   jirl $r, $dest, 0
To:
   b/bl foo  # bl if r=$ra, b if r=$zero
     R_LARCH_B26
```


  Commit: d84dc8ff93e94f6f0b5a5222afc26e0ee3a4b4f9
      https://github.com/llvm/llvm-project/commit/d84dc8ff93e94f6f0b5a5222afc26e0ee3a4b4f9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/iX-ext-split.ll

  Log Message:
  -----------
  [InstCombine] Add handling for (or (zext x), (shl (zext (ashr x, bw/2-1))), bw/2) -> (sext x) fold (#130316)

Minor tweak to #129363 which handled all the cases where there was a sext for the original source value, but not for cases where the source is already half the size of the destination type

Another regression noticed in #76524


  Commit: 0f732481acccb3ac22b70e326feae854cf972126
      https://github.com/llvm/llvm-project/commit/0f732481acccb3ac22b70e326feae854cf972126
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix getting pointer element type in __builtin_memcmp (#130485)

When such a pointer is heap allocated, the type we get is a pointer
type. Take the pointee type in that case.


  Commit: 22a45c43db2e6267d0b85a175da0129e865cffec
      https://github.com/llvm/llvm-project/commit/22a45c43db2e6267d0b85a175da0129e865cffec
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

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

  Log Message:
  -----------
  [X86] combineConcatVectorOps - use all_of to check for matching PSHUFD/PSHUFLW/PSHUFHW shuffle mask.

Prep work before adding 512-bit support.


  Commit: 2a3e782f4053d8ecb98dc110ebb6bacdb7bb17c7
      https://github.com/llvm/llvm-project/commit/2a3e782f4053d8ecb98dc110ebb6bacdb7bb17c7
  Author: Andrewyuan34 <yiboy at uvic.ca>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp

  Log Message:
  -----------
  [clang-tidy] Fix invalid fixit from modernize-use-ranges for nullptr used with std::unique_ptr (#127162)

This PR fixes issue #124815 by correcting the handling of `nullptr` with
`std::unique_ptr` in the `modernize-use-ranges` check.

Updated the logic to suppress warnings for `nullptr` in `std::find`.


  Commit: 107aa6a3d3ab96b7eec55e1ec5c3eabfa6ab2f9f
      https://github.com/llvm/llvm-project/commit/107aa6a3d3ab96b7eec55e1ec5c3eabfa6ab2f9f
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/apx/cf.ll

  Log Message:
  -----------
  [X86] Combine bitcast(v1Ty insert_vector_elt(X, Y, 0)) to Y (#130475)

Though it only happens in v1i1 when we generate llvm.masked.load/store
intrinsics for APX cload/cstore.

https://godbolt.org/z/vjsrofsqx


  Commit: 029e10289a02b438f1a22f401c94ed60ab4bb704
      https://github.com/llvm/llvm-project/commit/029e10289a02b438f1a22f401c94ed60ab4bb704
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/fcmp.ll

  Log Message:
  -----------
  [ValueTracking] Bail out on x86_fp80 when computing fpclass with knownbits (#130477)

In https://github.com/llvm/llvm-project/pull/97762, we assume the
minimum possible value of X is NaN implies X is NaN. But it doesn't hold
for x86_fp80 format. If the knownbits of X are
`?'011111111111110'????????????????????????????????????????????????????????????????`,
the minimum possible value of X is NaN/unnormal. However, it can be a
normal value.

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


  Commit: f3dd9c99d1a10f31ac6ed1e946e0ea2b982abad7
      https://github.com/llvm/llvm-project/commit/f3dd9c99d1a10f31ac6ed1e946e0ea2b982abad7
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M lld/ELF/Arch/LoongArch.cpp
    R lld/test/ELF/loongarch-relax-call36-2.s
    R lld/test/ELF/loongarch-relax-call36.s
    M lld/test/ELF/loongarch-relax-emit-relocs.s

  Log Message:
  -----------
  Revert "[lld][LoongArch] Relax call36/tail36: R_LARCH_CALL36 (#123576)"

This reverts commit 6fbe491e1776f6598790a844bf4e743de956b42d.
Broke check-lld, see the many bot comments on
https://github.com/llvm/llvm-project/pull/123576


  Commit: fd267082ee6df24aa5d5b4d7790c08a9d50a26b7
      https://github.com/llvm/llvm-project/commit/fd267082ee6df24aa5d5b4d7790c08a9d50a26b7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    A llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h

  Log Message:
  -----------
  [VPlan] Refactor VPlan creation, add transform introducing region (NFC). (#128419)

Create an empty VPlan first, then let the HCFG builder create a plain
CFG for the top-level loop (w/o a top-level region). The top-level
region is introduced by a separate VPlan-transform. This is instead of
creating the vector loop region before building the VPlan CFG for the
input loop.

This simplifies the HCFG builder (which should probably be renamed) and
moves along the roadmap ('buildLoop') outlined in [1].

As follow-up, I plan to also preserve the exit branches in the initial
VPlan out of the CFG builder, including connections to the exit blocks.

The conversion from plain CFG with potentially multiple exits to a
single entry/exit region will be done as VPlan transform in a follow-up.

This is needed to enable VPlan-based predication. Currently early exit
support relies on building the block-in masks on the original CFG,
because exiting branches and conditions aren't preserved in the VPlan.
So in order to switch to VPlan-based predication, we will have to
preserve them in the initial plain CFG, so the exit conditions are
available explicitly when we convert to single entry/exit regions.

Another follow-up is updating the outer loop handling to also introduce
VPRegionBlocks for nested loops as transform. Currently the existing
logic in the builder will take care of creating VPRegionBlocks for
nested loops, but not the top-level loop.

[1]
https://llvm.org/devmtg/2023-10/slides/techtalks/Hahn-VPlan-StatusUpdateAndRoadmap.pdf

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


  Commit: 3a727549ef963d13efc3d1466318bfcf838377e7
      https://github.com/llvm/llvm-project/commit/3a727549ef963d13efc3d1466318bfcf838377e7
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

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

  Log Message:
  -----------
  [gn build] Port fd267082ee6d


  Commit: 7c4ef498e1e41ed80f8553a955145b6580918f7c
      https://github.com/llvm/llvm-project/commit/7c4ef498e1e41ed80f8553a955145b6580918f7c
  Author: Artem Pianykh <artem.pyanykh at gmail.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

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

  Log Message:
  -----------
  [NFC][Cloning] Make ClonedModule case more obvious in CollectDebugInfoForCloning (#129143)


Summary:
The code's behavior is unchanged, but it's more obvious right now.

Test Plan:
ninja check-llvm-unit check-llvm


  Commit: fd973d251213c8272074bdd2b12bea8484a4231a
      https://github.com/llvm/llvm-project/commit/fd973d251213c8272074bdd2b12bea8484a4231a
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M libcxx/include/__memory/allocator_traits.h

  Log Message:
  -----------
  [libc++] Protect more code against -Wdeprecated. (#130419)

This seems needed when updating the CI Docker image.


  Commit: b6bb9dc5abd7c6452c13a53fa8949cb259db459b
      https://github.com/llvm/llvm-project/commit/b6bb9dc5abd7c6452c13a53fa8949cb259db459b
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M libcxx/utils/ci/docker-compose.yml

  Log Message:
  -----------
  [libc++][CI] Update action runner base image. (#130433)

Updates to the latest release. The side effect of this change is
updating all compilers to the latest upstream version.


  Commit: a7d5b3f711b7c852aa1337e329661dd36025865a
      https://github.com/llvm/llvm-project/commit/a7d5b3f711b7c852aa1337e329661dd36025865a
  Author: Chris B <chris.bieneman at me.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    A clang/test/SemaHLSL/Language/NoVirtual.hlsl

  Log Message:
  -----------
  [HLSL] Disallow virtual inheritance and functions (#127346)

This PR disallows virtual inheritance and virtual functions in HLSL.


  Commit: df570dadcb93a32c308d31c2ab54d2f46c8ae0c0
      https://github.com/llvm/llvm-project/commit/df570dadcb93a32c308d31c2ab54d2f46c8ae0c0
  Author: Artem Pianykh <artem.pyanykh at gmail.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

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

  Log Message:
  -----------
  [NFC][Cloning] Simplify the flow in FindDebugInfoToIdentityMap (#129144)


Summary:
The new flow should make it more clear what is happening in cases of
Different of Cloned modules.

Test Plan:
ninja check-llvm-unit check-llvm


  Commit: 62a6d63d634d816a7d73ab7735176ad05b118c79
      https://github.com/llvm/llvm-project/commit/62a6d63d634d816a7d73ab7735176ad05b118c79
  Author: Mariusz Borsa <wrotki at msn.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_procmaps_mac_test.cpp

  Log Message:
  -----------
  [Sanitizers][Darwin] Correct iterating of MachO load commands (#130161)

The condition to stop iterating so far was to look for load command cmd
field == 0. The iteration would continue past the commands area, and
would finally find lc->cmd ==0, if lucky. Or crash with bus error, if
out of luck.

Correcting this by limiting the number of iterations to the count
specified in mach_header(_64) ncmds field.

rdar://143903403

---------

Co-authored-by: Mariusz Borsa <m_borsa at apple.com>


  Commit: e44e24dfe6ef4a9fff6e1ee6617d89de5b616fd3
      https://github.com/llvm/llvm-project/commit/e44e24dfe6ef4a9fff6e1ee6617d89de5b616fd3
  Author: David Green <david.green at arm.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/fshl.ll
    M llvm/test/Analysis/CostModel/AArch64/fshr.ll

  Log Message:
  -----------
  [AArch64] Improve vector funnel shift by constant costs. (#130044)

We now have better codegen, and can have better costs to match. The
generated code should now produce a shl+usra and can be seen in
testcases such as:
https://github.com/llvm/llvm-project/blob/7e5821bae80db3f3f0fe0d5f8ce62f79e548eed5/llvm/test/CodeGen/AArch64/fsh.ll#L3941.


  Commit: 437d587e48002929552d982c9e2dc73428a37dd9
      https://github.com/llvm/llvm-project/commit/437d587e48002929552d982c9e2dc73428a37dd9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll

  Log Message:
  -----------
  [LV] Add outer loop test with different successor orders in inner latch.


  Commit: 29129be6322375a296a3540a5ed64d87ee0aac9a
      https://github.com/llvm/llvm-project/commit/29129be6322375a296a3540a5ed64d87ee0aac9a
  Author: Artem Pianykh <artem.pyanykh at gmail.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

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

  Log Message:
  -----------
  [NFC][Cloning] Add a helper to collect debug info from instructions (#129145)


Summary:
Just moving around. This helper will be used for further refactoring.

Test Plan:
ninja check-llvm-unit check-llvm


  Commit: bc028026757ed7580e2ec76a04b89dcfaa0ca8e9
      https://github.com/llvm/llvm-project/commit/bc028026757ed7580e2ec76a04b89dcfaa0ca8e9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMFastISel.cpp

  Log Message:
  -----------
  Revert "[ARM] Change FastISel Address from a struct to a class. NFC"

This reverts commit d47bc6fd93f9f439a54fd7cf55cdcb2e2ca0cfcb.

I forgot to commit clang-format cleanup before I pushed this.


  Commit: bd64f313a55b66503808f57e2dfe23ba01db0f88
      https://github.com/llvm/llvm-project/commit/bd64f313a55b66503808f57e2dfe23ba01db0f88
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMFastISel.cpp

  Log Message:
  -----------
  Recommit "[ARM] Change FastISel Address from a struct to a class. NFC"

With clang-format this time.

Original message:
This allows us to use Register in the interface, but store an
unsigned internally in a union.


  Commit: 2317a72489145f582ac1f01bc8c4f3b6bb5abb44
      https://github.com/llvm/llvm-project/commit/2317a72489145f582ac1f01bc8c4f3b6bb5abb44
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M lldb/source/ValueObject/ValueObjectChild.cpp

  Log Message:
  -----------
  [lldb] Add missing converstion to optional


  Commit: 74ca5799caea342ac1e8d34ab5be7f45875131b2
      https://github.com/llvm/llvm-project/commit/74ca5799caea342ac1e8d34ab5be7f45875131b2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

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

  Log Message:
  -----------
  [X86] Use Register in FastISel. NFC

Replace 'Reg == 0' with '!Reg'


  Commit: e85e29c2992b3b86f9ac7db18c0c2b9dde95a2b2
      https://github.com/llvm/llvm-project/commit/e85e29c2992b3b86f9ac7db18c0c2b9dde95a2b2
  Author: Chris B <chris.bieneman at me.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/hlsl.h
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/lib/Headers/hlsl/hlsl_detail.h
    A clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/CodeGenHLSL/builtins/select.hlsl
    M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl

  Log Message:
  -----------
  [HLSL] select scalar overloads for vector conditions (#129396)

This PR adds scalar/vector overloads for vector conditions to the
`select` builtin, and updates the sema checking and codegen to allow
scalars to extend to vectors.

Fixes #126570


  Commit: 9764659fb4ae8b3ecaa8e462dde94b742d113b93
      https://github.com/llvm/llvm-project/commit/9764659fb4ae8b3ecaa8e462dde94b742d113b93
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/unittests/ADT/STLExtrasTest.cpp

  Log Message:
  -----------
  [ADT] Use `adl_being`/`end` in `hasSingleElement` (#130506)

This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.

This was a part of #87936 but reverted due to buildbot failures. Now
that I have a threadripper system, I'm landing this piece-by-piece.


  Commit: 2e7a5092375d9db3bc2d700f3f0e9d7e43b516bf
      https://github.com/llvm/llvm-project/commit/2e7a5092375d9db3bc2d700f3f0e9d7e43b516bf
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

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

  Log Message:
  -----------
  [gn build] Port e85e29c2992b


  Commit: 5c3b05996fa5a076bc086f2eeca56f080f255754
      https://github.com/llvm/llvm-project/commit/5c3b05996fa5a076bc086f2eeca56f080f255754
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn

  Log Message:
  -----------
  [alpha.webkit.UnretainedLambdaCapturesChecker] Add a WebKit checker for lambda capturing NS or CF types. (#128651)

Add a new WebKit checker for checking that lambda captures of CF types
use RetainPtr either when ARC is disabled or enabled, and those of NS
types use RetainPtr when ARC is disabled.


  Commit: bfdeb5873073ed94b63b1ef1f7e91845c1be88a1
      https://github.com/llvm/llvm-project/commit/bfdeb5873073ed94b63b1ef1f7e91845c1be88a1
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseExprCXX.cpp
    A clang/test/SemaCXX/constexpr-if.cpp

  Log Message:
  -----------
  [Clang] use constant evaluation context for constexpr if conditions (#123667)

Fixes #123524

---

This PR addresses the issue of immediate function expressions not
properly evaluated in `constexpr` if conditions. Adding the
`ConstantEvaluated` context for expressions in `constexpr` if statements
ensures that these expressions are treated as manifestly
constant-evaluated and parsed correctly.


  Commit: 69527b0013a090081118996cfd61a330c7f2ffce
      https://github.com/llvm/llvm-project/commit/69527b0013a090081118996cfd61a330c7f2ffce
  Author: Andrei Safronov <andrei.safronov at espressif.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
    A llvm/lib/Target/Xtensa/XtensaDSPInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaFeatures.td
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
    M llvm/lib/Target/Xtensa/XtensaSubtarget.h
    A llvm/test/MC/Xtensa/xtensa-mac16.s

  Log Message:
  -----------
  [Xtensa] Implement Xtensa MAC16 Option. (#130004)


  Commit: f62ab334c6bc1f907e092c65a420abbbcf04fa9a
      https://github.com/llvm/llvm-project/commit/f62ab334c6bc1f907e092c65a420abbbcf04fa9a
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll

  Log Message:
  -----------
  [RISCV] Fix incorrect mask of shuffle vector in the test. (NFC) (#130244)

The mask of shuffle vector should be <u, u, 4, 6, 8, 10, 12, 14>, not
<u, u, 4, 6, *6, 10, 12, 14> for steps of 2.

And the mask of suffle vector with an undef initial element has been
supported by https://github.com/llvm/llvm-project/pull/118509.


  Commit: d111e6481afa71fedc0a1877d20943e43954edce
      https://github.com/llvm/llvm-project/commit/d111e6481afa71fedc0a1877d20943e43954edce
  Author: Ryan Mansfield <ryan_mansfield at apple.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [clang] Fix typos in options text. (#130129)


  Commit: 42d49a77241df73a17cb442973702fc460e7fb90
      https://github.com/llvm/llvm-project/commit/42d49a77241df73a17cb442973702fc460e7fb90
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/CodeGenCXX/cxx23-p2280r4.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-p2280r4.cpp

  Log Message:
  -----------
  [clang] Reject constexpr-unknown values as constant expressions more consistently (#129952)

Perform the check for constexpr-unknown values in the same place we
perform checks for other values which don't count as constant
expressions.

While I'm here, also fix a rejects-valid with a reference that doesn't
have an initializer. This diagnostic was also covering up some of the
bugs here.

The existing behavior with -fexperimental-new-constant-interpreter seems
to be correct, but the diagnostics are slightly different; it would be
helpful if someone could check on that as a followup.

Followup to #128409.

Fixes #129844. Fixes #129845.


  Commit: 82f2b661101d1133b72872141009035f01a42595
      https://github.com/llvm/llvm-project/commit/82f2b661101d1133b72872141009035f01a42595
  Author: Ruoyu Qiu <cabbaken at outlook.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-objdump/ELF/dynamic-section.test
    M llvm/tools/llvm-objdump/ELFDump.cpp

  Log Message:
  -----------
  [llvm-objdump][ELF]Fix crash when reading strings from .dynstr (#125679)

This change introduces a check for the strtab offset to prevent
llvm-objdump from crashing when processing malformed ELF files.
It provide a minimal reproduce test for
https://github.com/llvm/llvm-project/issues/86612#issuecomment-2035694455.
Additionally, it modifies how llvm-objdump handles and outputs malformed
ELF files with invalid string offsets.(More info:
https://discourse.llvm.org/t/should-llvm-objdump-objdump-display-actual-corrupted-values-in-malformed-elf-files/84391)

Fixes: #86612

Co-authored-by: James Henderson <James.Henderson at sony.com>


  Commit: 8b9c91ec7da0ca3daab8ff6711126443e500bb66
      https://github.com/llvm/llvm-project/commit/8b9c91ec7da0ca3daab8ff6711126443e500bb66
  Author: beetrees <b at beetr.ee>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/lib/Support/APFloat.cpp
    M llvm/unittests/ADT/APFloatTest.cpp

  Log Message:
  -----------
  [APFloat] Fix `IEEEFloat::addOrSubtractSignificand` and `IEEEFloat::normalize` (#98721)

Fixes #63895
Fixes #104984

Before this PR, `addOrSubtractSignificand` presumed that the loss came
from the side being subtracted, and didn't handle the case where lhs ==
rhs and there was loss. This can occur during FMA. This PR fixes the
situation by correctly determining where the loss came from and handling
it appropriately.

Additionally, `normalize` failed to adjust the exponent when the
significand is zero but `lost_fraction != lfExactlyZero`. This meant
that the test case from #63895 was rounded incorrectly as the loss
wasn't adjusted to account for the exponent being below the minimum
exponent. This PR fixes this by only skipping the exponent adjustment if
the significand is zero and there was no lost fraction.

(Note to reviewer: I don't have commit access)


  Commit: de132b2a0c344729703358a1c3ac90fb28fdb130
      https://github.com/llvm/llvm-project/commit/de132b2a0c344729703358a1c3ac90fb28fdb130
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp

  Log Message:
  -----------
  [Clang][CodeGen] Fix demangler invariant comment assertion (#130522)

This patch makes the assertion (that is currently in a comment) that
validates that names mangled by clang can be demangled by LLVM actually
compile/work. There were some minor issues that needed to be fixed (like
starts_with not being available on std::string and needing to call
getDecl() on GD), and a logic issue that should be fixed in this patch.
This enables just uncommenting the assertion to enable it within the
compiler (minus needing to add the header file).


  Commit: 64c73d5c7184d1287e4982684d0fe8ad5f2341c0
      https://github.com/llvm/llvm-project/commit/64c73d5c7184d1287e4982684d0fe8ad5f2341c0
  Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M lld/ELF/Arch/LoongArch.cpp
    A lld/test/ELF/loongarch-relax-call36-2.s
    A lld/test/ELF/loongarch-relax-call36.s
    M lld/test/ELF/loongarch-relax-emit-relocs.s

  Log Message:
  -----------
  Reland [lld][LoongArch] Relax call36/tail36: R_LARCH_CALL36

Instructions with relocation `R_LARCH_CALL36` may be relax as follows:
```
From:
   pcaddu18i $dest, %call36(foo)
     R_LARCH_CALL36, R_LARCH_RELAX
   jirl $r, $dest, 0
To:
   b/bl foo  # bl if r=$ra, b if r=$zero
     R_LARCH_B26
```

This patch fixes the buildbots failuer of lld tests.
Changes: Modify test files: from `sym at plt` to `%plt(sym)`.


  Commit: fa45bf430081ed5a37c50719dfd3a8ca32271126
      https://github.com/llvm/llvm-project/commit/fa45bf430081ed5a37c50719dfd3a8ca32271126
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    A llvm/test/Transforms/InstCombine/AMDGPU/phi-with-incoming-from-load.ll

  Log Message:
  -----------
  InstCombine: Fix a crash in `PointerReplacer` when constructing a new PHI (#130256)

When constructing a PHI node in `PointerReplacer::replace`, the incoming
operands are expected to have already been replaced and in the
replacement map. However, when one of the incoming operands is a load,
the search of the map is unsuccessful, and a nullptr is returned from
`getReplacement`. The reason is that, when a load is replaced, all the
uses of the load has been actually replaced by the new load. It is
useless to insert the original load into the map. Instead, we should
place the new load into the map to meet the expectation of the later map
search.

Fixes: SWDEV-516420


  Commit: 3e94eae746888ee63b38d347b068eaf0d5b72772
      https://github.com/llvm/llvm-project/commit/3e94eae746888ee63b38d347b068eaf0d5b72772
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_unsupported.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
    M llvm/test/MC/AMDGPU/gfx12_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt

  Log Message:
  -----------
  [AMDGPU] Add GFX12 S_ALLOC_VGPR instruction (#130018)

This patch only adds the instruction for disassembly support.

We neither have an instrinsic nor codegen support, and it is unclear
whether we actually want to ever have an intrinsic, given the fragile
semantics.

For now, it will be generated only by the backend in very specific
circumstances.

---------

Co-authored-by: Jannik Silvanus <jannik.silvanus at amd.com>


  Commit: 58fc4b13cb5ff7e877c52c11f71328ed12e6a89c
      https://github.com/llvm/llvm-project/commit/58fc4b13cb5ff7e877c52c11f71328ed12e6a89c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Remove Predicates from classes in RISCVInstrInfoXTHead.td. NFC

All of instantiations of these classes also specify Predicates
making the base class redundant or unnecessary. The Predicates on the
instantiations aren't always the same as the base class so those
are needed.

Also move the DecoderNamespace to the instantiations for consistency
with the Predicates.


  Commit: c4808741e89df29dcd06c7be2784824c82f34e46
      https://github.com/llvm/llvm-project/commit/c4808741e89df29dcd06c7be2784824c82f34e46
  Author: Sushant Gokhale <sgokhale at nvidia.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/div.ll
    M llvm/test/Analysis/CostModel/AArch64/div_cte.ll
    M llvm/test/Analysis/CostModel/AArch64/rem.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/div.ll

  Log Message:
  -----------
  [AArch64][CostModel] Alter sdiv/srem cost where the divisor is constant (#123552)

This patch revises the cost model for sdiv/srem and draws its inspiration from the udiv/urem patch #122236

The typical codegen for the different scenarios has been mentioned as notes/comments in the code itself( this is done owing to lot of scenarios such that it would be difficult to mention them here in the patch description).


  Commit: 5addbf0c60bf941b081726c4a6a9641ec9bf425f
      https://github.com/llvm/llvm-project/commit/5addbf0c60bf941b081726c4a6a9641ec9bf425f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp

  Log Message:
  -----------
  [AArch64] Avoid repeated hash lookups (NFC) (#130542)


  Commit: b2b267ea7a3b85f83977cc74ba79332e453aed82
      https://github.com/llvm/llvm-project/commit/b2b267ea7a3b85f83977cc74ba79332e453aed82
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

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

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#130543)


  Commit: c8ec8073aa5d8e87a15d101ded149de399518bc1
      https://github.com/llvm/llvm-project/commit/c8ec8073aa5d8e87a15d101ded149de399518bc1
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-03-09 (Sun, 09 Mar 2025)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    A clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-members.mm

  Log Message:
  -----------
  [alpha.webkit.NoUnretainedMemberChecker] Add a new WebKit checker for unretained member variables and ivars. (#128641)

Add a new WebKit checker for member variables and instance variables of
NS and CF types. A member variable or instance variable to a CF type
should be RetainPtr regardless of whether ARC is enabled or disabled,
and that of a NS type should be RetainPtr when ARC is disabled.


  Commit: 6e8d7e2e7fda1ec6f9517346f269cb0c377fb34b
      https://github.com/llvm/llvm-project/commit/6e8d7e2e7fda1ec6f9517346f269cb0c377fb34b
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [mlir] Apply ClangTidy finding (NFC)

loop variable is copied but only used as const reference; consider making it a const reference


  Commit: 35f273ab07d9f1e65a662fb25a1aeebaba4552c2
      https://github.com/llvm/llvm-project/commit/35f273ab07d9f1e65a662fb25a1aeebaba4552c2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp

  Log Message:
  -----------
  [clang][NFC] Clean up Expr::EvaluateAsConstantExpr (#130498)

The Info.EnableNewConstInterp case is already handled above.


  Commit: e0442bdfa5a5cd02431955cb18b67194d2b82faf
      https://github.com/llvm/llvm-project/commit/e0442bdfa5a5cd02431955cb18b67194d2b82faf
  Author: Boaz Brickner <brickner at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [Clang] Fix segmentation fault caused by `VarBypassDetector` stack overflow on deeply nested expressions (#124128)

This happens when using `-O2`.

Similarly to #111701
([test](https://github.com/bricknerb/llvm-project/blob/93e4a7386ec897e53d7330c6206d38759a858be2/clang/test/CodeGen/deeply-nested-expressions.cpp)),
not adding a test that reproduces since this test is slow and likely to
be hard to maintained as discussed here and in [previous
discussion](https://github.com/llvm/llvm-project/pull/111701/files/1a63281b6c240352653fd2e4299755c1f32a76f4#r1795518779).
Test that was reverted here:
https://github.com/llvm/llvm-project/pull/124128/commits/d6b5576940d38aadb3293acbff680d1f5d22486c


  Commit: 0264d42dc750666e0f57a85d57f563bc8ea43536
      https://github.com/llvm/llvm-project/commit/0264d42dc750666e0f57a85d57f563bc8ea43536
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M mlir/include/mlir-c/IR.h
    M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/CAPI/IR/IR.cpp
    M mlir/test/python/ir/location.py

  Log Message:
  -----------
  [mlir][CAPI][python] bind CallSiteLoc, FileLineColRange, FusedLoc, NameLoc (#129351)

This PR extends the python bindings for CallSiteLoc, FileLineColRange,
FusedLoc, NameLoc with field accessors. It also adds the missing
`value.location` accessor.

I also did some "spring cleaning" here (`cast` -> `dyn_cast`) after
running into some of my own illegal casts.


  Commit: 3acfef56b1c5f74edd6ea2111a440677ea2c6763
      https://github.com/llvm/llvm-project/commit/3acfef56b1c5f74edd6ea2111a440677ea2c6763
  Author: Gergely Futo <gergely.futo at hightec-rt.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M libunwind/src/Registers.hpp

  Log Message:
  -----------
  [libunwind][RISCV] Make asm statement volatile (#130286)

Compiling with `O3`, the `early-machinelicm` pass hoisted the asm
statement to a path that has been executed unconditionally during stack
unwinding. On hardware without vector extension support, this resulted
in reading a nonexistent register.


  Commit: 564b75621d4a2e30a1769cc719a3a2b2029b8656
      https://github.com/llvm/llvm-project/commit/564b75621d4a2e30a1769cc719a3a2b2029b8656
  Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/bit.h
    M llvm/include/llvm/Support/ErrorOr.h

  Log Message:
  -----------
  [ADT/Support] Add includes to fix module build

Current Clang complains that 'size_t' / 'reference_wrapper' "must be
declared before it is used."


  Commit: c579ec66c77461122d93deadebc318fbb846b830
      https://github.com/llvm/llvm-project/commit/c579ec66c77461122d93deadebc318fbb846b830
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.h
    A clang/test/CodeGen/aarch64-execute-only.c
    A clang/test/Driver/aarch64-execute-only.c
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [Clang][AArch64] Add support for SHF_AARCH64_PURECODE ELF section flag (2/3) (#125688)

Add support for the new SHF_AARCH64_PURECODE ELF section flag:
https://github.com/ARM-software/abi-aa/pull/304

The general implementation follows the existing one for ARM targets.
Simlarly to ARM targets, generating object files with the
`SHF_AARCH64_PURECODE` flag set is enabled by the
`-mexecute-only`/`-mpure-code` driver flag.

Related PRs:
* LLVM: https://github.com/llvm/llvm-project/pull/125687
* LLD: https://github.com/llvm/llvm-project/pull/125689


  Commit: 07f3388fff0c73c1119d06ca1c2353fd012361c0
      https://github.com/llvm/llvm-project/commit/07f3388fff0c73c1119d06ca1c2353fd012361c0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/AST/ByteCode/cxx1z.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/cxx98.cpp
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.unqual/p7.cpp
    M clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p7-0x.cpp
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg10xx.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg20xx.cpp
    M clang/test/CXX/drs/cwg21xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg4xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/expr/expr.const/p3-0x.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/type-requirement.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1-11.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-0x.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.type/p2.cpp
    M clang/test/CXX/temp/temp.decls/temp.class.spec/p8-1y.cpp
    M clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
    M clang/test/CXX/temp/temp.decls/temp.variadic/multi-level-substitution.cpp
    M clang/test/CXX/temp/temp.deduct/p9.cpp
    M clang/test/CXX/temp/temp.param/p1.cpp
    M clang/test/CXX/temp/temp.param/p12.cpp
    M clang/test/CXX/temp/temp.param/p15-cxx0x.cpp
    M clang/test/CXX/temp/temp.param/p8-cxx20.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.constexpr/p2.cpp
    M clang/test/CXX/temp/temp.spec/cxx1y-variable-template-no-body.cpp
    M clang/test/CXX/temp/temp.spec/part.spec.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p20.cpp
    M clang/test/Misc/integer-literal-printing.cpp
    M clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
    M clang/test/Modules/missing-body-in-import.cpp
    M clang/test/Modules/template-default-args.cpp
    M clang/test/Parser/MicrosoftExtensions.cpp
    M clang/test/Parser/cxx-template-argument.cpp
    M clang/test/Parser/cxx-template-template-recovery.cpp
    M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
    M clang/test/SemaCXX/access-base-class.cpp
    M clang/test/SemaCXX/alias-template.cpp
    M clang/test/SemaCXX/anonymous-struct.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression.cpp
    M clang/test/SemaCXX/cxx1z-noexcept-function-type.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    M clang/test/SemaCXX/cxx98-compat-flags.cpp
    M clang/test/SemaCXX/cxx98-compat.cpp
    M clang/test/SemaCXX/implicit-member-functions.cpp
    M clang/test/SemaCXX/lambda-expressions.cpp
    M clang/test/SemaCXX/make_integer_seq.cpp
    M clang/test/SemaCXX/type-trait-common-type.cpp
    M clang/test/SemaCXX/undefined-internal.cpp
    M clang/test/SemaCXX/warn-deprecated-specializations-in-system-headers.cpp
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
    M clang/test/SemaObjCXX/parameterized_classes_subst.mm
    M clang/test/SemaTemplate/alias-templates.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/default-arguments.cpp
    M clang/test/SemaTemplate/instantiate-member-pointers.cpp
    M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
    M clang/test/SemaTemplate/instantiation-default-1.cpp
    M clang/test/SemaTemplate/instantiation-default-2.cpp
    M clang/test/SemaTemplate/instantiation-dependence.cpp
    M clang/test/SemaTemplate/instantiation-depth-defarg.cpp
    M clang/test/SemaTemplate/instantiation-depth-exception-spec.cpp
    M clang/test/SemaTemplate/instantiation-depth.cpp
    M clang/test/SemaTemplate/ms-unqualified-base-class.cpp
    M clang/test/SemaTemplate/nested-template.cpp
    M clang/test/SemaTemplate/partial-spec-instantiate.cpp
    M clang/test/SemaTemplate/recovery-crash.cpp
    M clang/test/SemaTemplate/stack-exhaustion.cpp
    M clang/test/SemaTemplate/temp_arg.cpp
    M clang/test/SemaTemplate/temp_arg_nontype.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx2c.cpp
    M clang/test/SemaTemplate/temp_arg_template.cpp
    M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
    M clang/test/SemaTemplate/temp_arg_type.cpp

  Log Message:
  -----------
  Revert "[clang] Implement instantiation context note for checking template parameters (#126088)"

This reverts commit a24523ac8dc07f3478311a5969184b922b520395.

This is causing significant compile-time regressions for C++ code, see:
https://github.com/llvm/llvm-project/pull/126088#issuecomment-2704874202


  Commit: 4a59d0c3c84eb01e4551b5c922397a3b89fbc127
      https://github.com/llvm/llvm-project/commit/4a59d0c3c84eb01e4551b5c922397a3b89fbc127
  Author: haonan <haonan.yang at intel.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [X86] checkBitcastSrcVectorSize - early return when reach to MaxRecursionDepth. (#130226)


  Commit: b1ebfac1859c4fd1db3620098f6af4fd98e6174d
      https://github.com/llvm/llvm-project/commit/b1ebfac1859c4fd1db3620098f6af4fd98e6174d
  Author: SivanShani-Arm <sivan.shani at arm.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Object/ELFObjectFile.h
    A llvm/include/llvm/Support/AArch64AttributeParser.h
    M llvm/include/llvm/Support/AArch64BuildAttributes.h
    M llvm/include/llvm/Support/ARMAttributeParser.h
    M llvm/include/llvm/Support/CSKYAttributeParser.h
    A llvm/include/llvm/Support/ELFAttrParserCompact.h
    A llvm/include/llvm/Support/ELFAttrParserExtended.h
    M llvm/include/llvm/Support/ELFAttributeParser.h
    M llvm/include/llvm/Support/ELFAttributes.h
    M llvm/include/llvm/Support/HexagonAttributeParser.h
    M llvm/include/llvm/Support/MSP430AttributeParser.h
    M llvm/include/llvm/Support/RISCVAttributeParser.h
    A llvm/lib/Support/AArch64AttributeParser.cpp
    M llvm/lib/Support/AArch64BuildAttributes.cpp
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/CSKYAttributeParser.cpp
    A llvm/lib/Support/ELFAttrParserCompact.cpp
    A llvm/lib/Support/ELFAttrParserExtended.cpp
    R llvm/lib/Support/ELFAttributeParser.cpp
    M llvm/lib/Support/HexagonAttributeParser.cpp
    M llvm/lib/Support/RISCVAttributeParser.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
    A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-comprehensive.s
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/unittests/Support/ARMAttributeParser.cpp
    M llvm/unittests/Support/CSKYAttributeParserTest.cpp
    M llvm/unittests/Support/ELFAttributeParserTest.cpp
    M llvm/unittests/Support/RISCVAttributeParserTest.cpp

  Log Message:
  -----------
  [readobj][Arm][AArch64] Refactor Build Attributes parsing under ELFAtributeParser and add support for AArch64 Build Attributes (#128727)

Refactor readobj to integrate AArch64 Build Attributes under
ELFAttributeParser. ELFAttributeParser now serves as a base class for:
- ELFCompactAttrParser, handling Arm-style attributes with a single
build attribute subsection.
- ELFExtendedAttrParser, handling AArch64-style attributes with multiple
build attribute subsections. This improves code organization and better
aligns with the attribute parsing model.

Add support for parsing AArch64 Build Attributes.


  Commit: 24f0901f7ef5f4f8e8ae6a2138b18e434b1b941f
      https://github.com/llvm/llvm-project/commit/24f0901f7ef5f4f8e8ae6a2138b18e434b1b941f
  Author: Julien Villette <julien.villette at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-forwarding.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-misc-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s

  Log Message:
  -----------
  [MCA] Adding missing instructions in AArch64 Neoverse V1 tests (#128892)

Added missing instructions for LLVM Opcodes coverage. It will help to
maintain TableGen scheduling information of AArch64 Neoverse V1.

Follow up of MR ##126703
This is a dispatch of new instructions of the big test:
V1-scheduling-info.s
I have created a new test for special instructions without scheduling
info in Software Optimization Guide: V1-misc-instructions.s

No more asm instruction comments to maintain.


  Commit: fe93a2879c31ee5d8f966cae36481f6f2b6243dd
      https://github.com/llvm/llvm-project/commit/fe93a2879c31ee5d8f966cae36481f6f2b6243dd
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [gn build] Port b1ebfac1859c


  Commit: 2aca7c231a573191fbba83ba202bcc245cab6501
      https://github.com/llvm/llvm-project/commit/2aca7c231a573191fbba83ba202bcc245cab6501
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll

  Log Message:
  -----------
  [X86] Add test case showing its not always beneficial to fold concat(palignr(),palignr()) -> palignr(concat(),concat())


  Commit: fe544d404d841ef44aebf4fc36948fd1e1d89685
      https://github.com/llvm/llvm-project/commit/fe544d404d841ef44aebf4fc36948fd1e1d89685
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py

  Log Message:
  -----------
  [lldb] Add more ARM checks in TestLldbGdbServer.py (#130277)

When https://github.com/llvm/llvm-project/pull/130034 enabled RISC-V
here I noticed that these should run for ARM as well.

ARM only has 4 argument registers, which matches Arm's ABI for it:
https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst#core-registers

The ABI defines a link register LR, and I assume that's what becomes
'ra' in LLDB.

Tested on ARM and AArch64 Linux.


  Commit: 78060a7df7adcae8674f189699fa97cd1eb7bafa
      https://github.com/llvm/llvm-project/commit/78060a7df7adcae8674f189699fa97cd1eb7bafa
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h

  Log Message:
  -----------
  [lldb] Clean up UnwindAssemblyInstEmulation (#129030)

My main motivation was trying to understand how the function and whether
the rows need to be (shared) pointers. I noticed that the function
essentially constructs two copies unwind plans in parallel (the second
being the saved_unwind_states).

If we delay the construction of the unwind plan to the end of the
function, then we never need two copies of a single row (we can just
move it into the final result), so we can just use them as value types.
This makes the overall logic of the function stand out better as it
avoids the laborious deep copies of the Row shared pointer.

I've also noticed that a large portion of the function is devoted to
recomputing certain properties of the unwind state (e.g. the
`m_fp_is_cfa` field). Instead of doing that, this patch just
saves/restores them together with the rest of the state.


  Commit: ab18cc246c2490564043161db5d9646cf1163de4
      https://github.com/llvm/llvm-project/commit/ab18cc246c2490564043161db5d9646cf1163de4
  Author: vfdev <vfdev.5 at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M mlir/include/mlir-c/IR.h
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/lib/CAPI/IR/IR.cpp
    M mlir/python/mlir/_mlir_libs/__init__.py
    M mlir/test/python/ir/context_lifecycle.py

  Log Message:
  -----------
  [MLIR][py] Add PyThreadPool as wrapper around MlirLlvmThreadPool in MLIR python bindings (#130109)

In some projects like JAX ir.Context are used with disabled multi-threading to avoid
caching multiple threading pools:

https://github.com/jax-ml/jax/blob/623865fe9538100d877ba9d36f788d0f95a11ed2/jax/_src/interpreters/mlir.py#L606-L611

However, when context has enabled multithreading it also uses locks on
the StorageUniquers and this can be helpful to avoid data races in the
multi-threaded execution (for example with free-threaded cpython,
https://github.com/jax-ml/jax/issues/26272).
With this PR user can enable the multi-threading: 1) enables additional
locking and 2) set a shared threading pool such that cached contexts can
have one global pool.


  Commit: 8c8eff2b35e789969c5fb0e490ec18dedd4a5ebc
      https://github.com/llvm/llvm-project/commit/8c8eff2b35e789969c5fb0e490ec18dedd4a5ebc
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll

  Log Message:
  -----------
  [X86] Add test case showing its not always beneficial to fold concat(pack(),pack()) -> pack(concat(),concat())


  Commit: f3dcc0fe228f6a1a69147ead0a76ce0fe02d316d
      https://github.com/llvm/llvm-project/commit/f3dcc0fe228f6a1a69147ead0a76ce0fe02d316d
  Author: Artemiy Bulavin <artemiyb at graphcore.ai>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
    A mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir

  Log Message:
  -----------
  [mlir] Refactor ConvertVectorToLLVMPass options (#128219)

The `VectorTransformsOptions` on the `ConvertVectorToLLVMPass` is
currently represented as a struct, which makes it not serialisable. This
means a pass pipeline that contains this pass cannot be represented as
textual form, which breaks reproducer generation and options such as
`--dump-pass-pipeline`.

This PR expands the `VectorTransformsOptions` struct into the two
options that are actually used by the Pass' patterns:
`vector-contract-lowering` and `vector-transpose-lowering` . The other
options present in VectorTransformOptions are not used by any patterns
in this pass.

Additionally, I have changed some interfaces to only take these specific
options over the full options struct as, again, the vector contract and
transpose lowering patterns only need one of their respective options.

Finally, I have added a simple lit test that just prints the pass
pipeline using `--dump-pass-pipeline` to ensure the options on this pass
remain serialisable.

Fixes #129046


  Commit: 8d38906d08f0189a7a7f865b267f47cab0a3790f
      https://github.com/llvm/llvm-project/commit/8d38906d08f0189a7a7f865b267f47cab0a3790f
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [IR] Fix assertion error in User new/delete edge case (#129914)

Fixes #129900

If `operator delete` was called after an unsuccessful constructor call
after `operator new`, we ran into undefined behaviour.
This was discovered by our malfunction tests while preparing an upgrade
to LLVM 20, that explicitly check for such kind of bugs.


  Commit: dd86ece554a42c6a7663a18b779442e8380e4ef8
      https://github.com/llvm/llvm-project/commit/dd86ece554a42c6a7663a18b779442e8380e4ef8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/test/Transforms/MergeFunc/comdat.ll

  Log Message:
  -----------
  [MergeFunc] Check full IR and comdat keys in comdat.ll.


  Commit: 0ede277b62d12954342c4a1bd8a0c201d60a3cd9
      https://github.com/llvm/llvm-project/commit/0ede277b62d12954342c4a1bd8a0c201d60a3cd9
  Author: gbMattN <matthew.nagy at sony.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M compiler-rt/test/tysan/lit.cfg.py

  Log Message:
  -----------
  Spelling in lit.cfg.py


  Commit: 99fdb5dfd8ffc3d872f868aec8ef7fd380c0413a
      https://github.com/llvm/llvm-project/commit/99fdb5dfd8ffc3d872f868aec8ef7fd380c0413a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - convert X86ISD::PALIGNR concatenation to use combineConcatVectorOps recursion (#130572)

Only concatenate X86ISD::PALIGNR nodes if at least one operand is beneficial to concatenate


  Commit: 0c7e895de3a9df6ff702fbebd1cdd580cb65e3d1
      https://github.com/llvm/llvm-project/commit/0c7e895de3a9df6ff702fbebd1cdd580cb65e3d1
  Author: Kajetan Puchalski <kajetan.puchalski at tuta.io>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Frontend/FrontendActions.h
    A flang/include/flang/Frontend/ParserActions.h
    A flang/include/flang/Parser/options.h
    M flang/include/flang/Parser/parsing.h
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/lib/Frontend/ParserActions.cpp

  Log Message:
  -----------
  [flang] Move parser invocations into ParserActions (#130309)

FrontendActions.cpp is currently one of the biggest compilation units in
all of flang. Measuring its compilation gives the following metrics:

User time (seconds): 139.21
System time (seconds): 4.65
Maximum resident set size (kbytes): 5891440 (5.61 GB)

This commit separates out explicit invocations of the parser into a
separate compilation unit - ParserActions.cpp - through helper functions
in order to decrease the maximum compilation time and memory usage of a
single unit.
After the split, the measurements of FrontendActions.cpp are as follows:

User time (seconds): 70.08
System time (seconds): 3.16
Maximum resident set size (kbytes): 3961492 (3.7 GB)

While the ones for the newly created ParserActions.cpp as follows:

User time (seconds): 104.33
System time (seconds): 3.37
Maximum resident set size (kbytes): 4185600 (3.99 GB)

---------

Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>


  Commit: dd21aacd76e36d4db157a5d7a7b5370d456426e6
      https://github.com/llvm/llvm-project/commit/dd21aacd76e36d4db157a5d7a7b5370d456426e6
  Author: DianQK <dianqk at dianqk.net>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/lib/CodeGen/TailDuplicator.cpp
    A llvm/test/CodeGen/X86/tail-dup-computed-goto.mir

  Log Message:
  -----------
  [TailDuplicator] Do not restrict the computed gotos (#114990)

Fixes #106846.

This is what I learned from GCC. I found that GCC does not duplicate the
BB that has indirect jumps with the jump table. I believe GCC has
provided a clear explanation here:

> Duplicate the blocks containing computed gotos. This basically
unfactors computed gotos that were factored early on in the compilation
process to speed up edge based data flow. We used to not unfactor them
again, which can seriously pessimize code with many computed jumps in
the source code, such as interpreters.


  Commit: 6a9df5b4dd2ac1b00cdc3880c210cc0d2e917f04
      https://github.com/llvm/llvm-project/commit/6a9df5b4dd2ac1b00cdc3880c210cc0d2e917f04
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
    M lldb/test/API/functionalities/asan/TestReportData.py

  Log Message:
  -----------
  Revert "[lldb][asan] Add temporary logging to ReportRetriever"

This reverts commit 39a4da20d88d797824f0e7be0f732ccaf0c7eee4.

We skipped the failing tests in `6cc8b0bef07f4270303bec0fc203f251a2fde262`.


  Commit: 502385c2412aa04867dc7386296a2f9bc4745d36
      https://github.com/llvm/llvm-project/commit/502385c2412aa04867dc7386296a2f9bc4745d36
  Author: John Harrison <harjohn at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M lldb/source/Host/macosx/objcxx/MemoryMonitorMacOSX.mm

  Log Message:
  -----------
  [lldb] Remove an extraneous `printf` statement. (#130453)

This was missed in review but is showing up in lldb-dap output.


  Commit: fdc8e5ab62318ff39832cbca2056044a9d45bfe0
      https://github.com/llvm/llvm-project/commit/fdc8e5ab62318ff39832cbca2056044a9d45bfe0
  Author: Robert Dazi <14996868+v01dXYZ at users.noreply.github.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/Sema/aarch64-special-register.c

  Log Message:
  -----------
  [Clang][AArch64] Fix typo with colon-separated syntax for system registers (#105608)

The range for Op0 was set to 1 instead of 3.

The description of e493f177eeee84a9c6000ca7c92499233490f1d1 visually
explains the encoding of implementation-defined system registers.


https://github.com/llvm/llvm-project/blob/796787d07c30cb9448e1f9ff3f3da06c2fc96ccd/llvm/lib/Target/AArch64/AArch64SystemOperands.td#L658-L674

Gobolt: https://godbolt.org/z/WK9PqPvGE

Co-authored-by: v01dxyz <v01dxyz at v01d.xyz>


  Commit: 52225d2702592b220f87aa82fb434bf776d4f745
      https://github.com/llvm/llvm-project/commit/52225d2702592b220f87aa82fb434bf776d4f745
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

  Log Message:
  -----------
  [AMDGPU][NewPM] Port AMDGPUReserveWWMRegs to NPM (#123722)


  Commit: 94a62b3085e35e1a7781c46bccee236255e1ca28
      https://github.com/llvm/llvm-project/commit/94a62b3085e35e1a7781c46bccee236255e1ca28
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll

  Log Message:
  -----------
  [X86] Add test case showing its not always beneficial to fold concat(pshufb(),pshufb()) -> pshufb(concat(),concat())


  Commit: 88f010a2ebe828a1a3a1faa25b36716e9b45549a
      https://github.com/llvm/llvm-project/commit/88f010a2ebe828a1a3a1faa25b36716e9b45549a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/combine-pmadd.ll

  Log Message:
  -----------
  [X86] Improve test coverage for concat(pmaddubsw(),pmaddubsw()) -> pmaddubsw(concat(),concat())

Ensure we have tests for both beneficial/non-beneficial concatenation cases


  Commit: 4508d6aa72b0f31056ae01aff0e8009a252e4683
      https://github.com/llvm/llvm-project/commit/4508d6aa72b0f31056ae01aff0e8009a252e4683
  Author: SivanShani-Arm <sivan.shani at arm.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Support/ELFAttrParserExtended.cpp

  Log Message:
  -----------
  [AArch64][ELF Parser] Fix out-of-scope variable usage (#130576)

Return a reference to a persistent variable instead of a temporary copy.


  Commit: 4fee3981a8f07a5c197a5a9fb559bcc0e52eff78
      https://github.com/llvm/llvm-project/commit/4fee3981a8f07a5c197a5a9fb559bcc0e52eff78
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve2-fcopysign.ll

  Log Message:
  -----------
  [LLVM][SVE] Add isel for scalable vector bfloat copysign operations. (#130098)


  Commit: dbd82f33b57814125932dbb84e9449ac05404a6e
      https://github.com/llvm/llvm-project/commit/dbd82f33b57814125932dbb84e9449ac05404a6e
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/NestedNameSpecifier.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
    M clang/test/CXX/class.access/class.access.dcl/p1.cpp
    M clang/test/CXX/class.access/class.friend/p3-cxx0x.cpp
    M clang/test/CXX/class.access/class.friend/p6.cpp
    M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p3.cpp
    M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p4.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg2xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg4xx.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/special/class.inhctor/elsewhere.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/p3.cpp
    M clang/test/Parser/cxx-attributes.cpp
    M clang/test/Parser/cxx2c-variadic-friends.cpp
    M clang/test/SemaCXX/PR62533.cpp
    M clang/test/SemaCXX/cxx0x-defaulted-functions.cpp
    M clang/test/SemaCXX/cxx11-user-defined-literals.cpp
    M clang/test/SemaCXX/pr25181-crash-on-invalid.cpp
    M clang/test/SemaCXX/pr36536.cpp
    M clang/test/SemaCXX/using-decl-templates.cpp
    M clang/test/SemaObjCXX/propert-dot-error.mm
    M clang/test/SemaTemplate/friend-template.cpp
    M clang/test/SemaTemplate/ms-sizeof-missing-typename.cpp
    M clang/test/SemaTemplate/nested-template.cpp
    M clang/test/SemaTemplate/qualified-id.cpp
    M clang/test/SemaTemplate/template-id-expr.cpp
    M clang/test/SemaTemplate/typename-specifier-3.cpp

  Log Message:
  -----------
  [clang] NNS: don't print trailing scope resolution operator in diagnostics (#130529)

This clears up the printing of a NestedNameSpecifier so a trailing '::'
is not printed, unless it refers into the global scope.

This fixes a bunch of diagnostics where the trailing :: was awkward.
This also prints the NNS quoted consistenty.

There is a drive-by improvement to error recovery, where now we print
the actual type instead of `<dependent type>`.

This will clear up further uses of NNS printing in further patches.


  Commit: 0d2c55cb9682dc589949fb6767e50c4efb538f2d
      https://github.com/llvm/llvm-project/commit/0d2c55cb9682dc589949fb6767e50c4efb538f2d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/test/CMakeLists.txt
    A clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel-linking.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    A llvm/lib/Target/AMDGPU/AMDGPUExportKernelRuntimeHandles.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUExportKernelRuntimeHandles.h
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
    R llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.cpp
    R llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/test/CodeGen/AMDGPU/amdgpu-export-kernel-runtime-handles.ll
    R llvm/test/CodeGen/AMDGPU/enqueue-kernel.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll

  Log Message:
  -----------
  AMDGPU: Move enqueued block handling into clang (#128519)

The previous implementation wasn't maintaining a faithful IR
representation of how this really works. The value returned by
createEnqueuedBlockKernel wasn't actually used as a function, and
hacked up later to be a pointer to the runtime handle global
variable. In reality, the enqueued block is a struct where the first
field is a pointer to the kernel descriptor, not the kernel itself. We
were also relying on passing around a reference to a global using a
string attribute containing its name. It's better to base this on a
proper IR symbol reference during final emission.

This now avoids using a function attribute on kernels and avoids using
the additional "runtime-handle" attribute to populate the final
metadata. Instead, associate the runtime handle reference to the
kernel with the !associated global metadata. We can then get a final,
correctly mangled name at the end.

I couldn't figure out how to get rename-with-external-symbol behavior
using a combination of comdats and aliases, so leaves an IR pass to
externalize the runtime handles for codegen. If anything breaks, it's
most likely this, so leave avoiding this for a later step. Use a
special section name to enable this behavior. This also means it's
possible to declare enqueuable kernels in source without going through
the dedicated block syntax or other dedicated compiler support.

We could move towards initializing the runtime handle in the
compiler/linker. I have a working patch where the linker sets up the
first field of the handle, avoiding the need to export the block
kernel symbol for the runtime. We would need new relocations to get
the private and group sizes, but that would avoid the runtime's
special case handling that requires the device_enqueue_symbol metadata
field.

https://reviews.llvm.org/D141700


  Commit: 7fb71d151127a30d7299336511cbcc06601047b9
      https://github.com/llvm/llvm-project/commit/7fb71d151127a30d7299336511cbcc06601047b9
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    A llvm/test/CodeGen/RISCV/machine-copyprop-noop-removal.mir

  Log Message:
  -----------
  [RISCV][test] Add test case showing case where machine copy propagation leaves behind a no-op reg move

Pre-commit for #129889.


  Commit: a5c33e634b912586fe6bfbb2f63cb27d74adc13d
      https://github.com/llvm/llvm-project/commit/a5c33e634b912586fe6bfbb2f63cb27d74adc13d
  Author: SivanShani-Arm <sivan.shani at arm.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Support/ELFAttrParserExtended.cpp

  Log Message:
  -----------
  [AArch64][ELF Parser] Fix out-of-scope variable usage (#130594)

Return a reference to a persistent variable instead of a temporary copy.


  Commit: 848ba3854c3ae7518fd9e436a11ffd0308f121df
      https://github.com/llvm/llvm-project/commit/848ba3854c3ae7518fd9e436a11ffd0308f121df
  Author: sommersun <50041042+sommersun at users.noreply.github.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/aarch64-known-bits-hadd.ll

  Log Message:
  -----------
  [DAG] fold AVGFLOORS to AVGFLOORU for non-negative operand (#84746) (#129678)

Fold ISD::AVGFLOORS to ISD::AVGFLOORU for non-negative operand. Cover test is modified for uhadd with zero extension.

Fixes #84746


  Commit: 28fa1fcf55b973e13018ac115fcbb357b4c0baad
      https://github.com/llvm/llvm-project/commit/28fa1fcf55b973e13018ac115fcbb357b4c0baad
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.deprecated/p1.cpp

  Log Message:
  -----------
  Revert "[clang] Fix missing diagnostic of declaration use when accessing TypeDecls through typename access (#129681)"

This caused incorrect -Wunguarded-availability warnings. See comment on
the pull request.

> We were missing a call to DiagnoseUseOfDecl when performing typename
> access.
>
> This refactors the code so that TypeDecl lookups funnel through a helper
> which performs all the necessary checks, removing some related
> duplication on the way.
>
> Fixes #58547
>
> Differential Revision: https://reviews.llvm.org/D136533

This reverts commit 4c4fd6b03149348cf11af245ad2603d24144a9d5.


  Commit: 5d921710c0d6984950f74ba57192aed9c67a84f3
      https://github.com/llvm/llvm-project/commit/5d921710c0d6984950f74ba57192aed9c67a84f3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/haddsub-undef.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - convert X86ISD::HADD/SUB concatenation to use combineConcatVectorOps recursion (#130579)

Only concatenate X86ISD::HADD/SUB nodes if at least one operand is beneficial to concatenate


  Commit: 507e0c3b6757bbdd95726c6be7b93297685e65ab
      https://github.com/llvm/llvm-project/commit/507e0c3b6757bbdd95726c6be7b93297685e65ab
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/CodeGen/X86/apx/cf.ll

  Log Message:
  -----------
  [X86][APX] Try to replace non-NF with NF instructions when optimizeCompareInstr (#130488)

https://godbolt.org/z/rWYdqnjjx


  Commit: a1a6a839763079b54d8910599549b9e6d4dd5fe6
      https://github.com/llvm/llvm-project/commit/a1a6a839763079b54d8910599549b9e6d4dd5fe6
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
    M clang/unittests/AST/DeclPrinterTest.cpp

  Log Message:
  -----------
  [clang] fix matching of nested template template parameters (#130447)

When checking the template template parameters of template template
parameters, the PartialOrdering context was not correctly propagated.

This also has a few drive-by fixes, such as checking the template
parameter lists of template template parameters, which was previously
missing and would have been it's own bug, but we need to fix it in order
to prevent crashes in error recovery in a simple way.

Fixes #130362


  Commit: 773e88f9d61399c566fed45bf7858922f09b8063
      https://github.com/llvm/llvm-project/commit/773e88f9d61399c566fed45bf7858922f09b8063
  Author: Yutong Zhu <115899167+YutongZhuu at users.noreply.github.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Sema/compare.c

  Log Message:
  -----------
  [Clang] Force expressions with UO_Not to not be non-negative (#126846)

This PR addresses the bug of not throwing warnings for the following
code:
```c++
int test13(unsigned a, int *b) {
        return a > ~(95 != *b); // expected-warning {{comparison of integers of different signs}}
}
```

However, in the original issue, a comment mentioned that negation,
pre-increment, and pre-decrement operators are also incorrect in this
case.

Fixes #18878


  Commit: d67947162f4b06172fac91fefa6a9ad25eb6dd56
      https://github.com/llvm/llvm-project/commit/d67947162f4b06172fac91fefa6a9ad25eb6dd56
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/include/flang/Support/OpenMP-utils.h
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Support/OpenMP-utils.cpp
    A flang/test/Lower/OpenMP/has_device_addr-mapinfo.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Target/LLVMIR/openmp-target-has-device-addr.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    A offload/test/offloading/fortran/target-has-device-addr1.f90
    A offload/test/offloading/fortran/target-has-device-addr2.f90
    A offload/test/offloading/fortran/target-has-device-addr3.f90

  Log Message:
  -----------
  [flang][OpenMP] Implement HAS_DEVICE_ADDR clause (#128568)

The HAS_DEVICE_ADDR indicates that the object(s) listed exists at an
address that is a valid device address. Specifically,
`has_device_addr(x)` means that (in C/C++ terms) `&x` is a device
address.

When entering a target region, `x` does not need to be allocated on the
device, or have its contents copied over (in the absence of additional
mapping clauses). Passing its address verbatim to the region for use is
sufficient, and is the intended goal of the clause.

Some Fortran objects use descriptors in their in-memory representation.
If `x` had a descriptor, both the descriptor and the contents of `x`
would be located in the device memory. However, the descriptors are
managed by the compiler, and can be regenerated at various points as
needed. The address of the effective descriptor may change, hence it's
not safe to pass the address of the descriptor to the target region.
Instead, the descriptor itself is always copied, but for objects like
`x`, no further mapping takes place (as this keeps the storage pointer
in the descriptor unchanged).

---------

Co-authored-by: Sergio Afonso <safonsof at amd.com>


  Commit: 4e453d52920b1808321ec9bca28f5161165d12ee
      https://github.com/llvm/llvm-project/commit/4e453d52920b1808321ec9bca28f5161165d12ee
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    A flang/test/Parser/OpenMP/metadirective-flush.f90

  Log Message:
  -----------
  [flang][OpenMP] Accept old FLUSH syntax in METADIRECTIVE (#130122)

Accommodate it in OmpDirectiveSpecification, which may become the
primary component of the actual FLUSH construct in the future.


  Commit: dffbc030e75b758e7512518abd499a0f680addbf
      https://github.com/llvm/llvm-project/commit/dffbc030e75b758e7512518abd499a0f680addbf
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv32.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv64.ll
    M llvm/test/CodeGen/RISCV/machine-copyprop-noop-removal.mir
    M llvm/test/CodeGen/RISCV/sextw-removal.ll

  Log Message:
  -----------
  [MachineCopyPropagation] Recognise and delete no-op moves produced after forwarded uses (#129889)

This change removes 189 static instances of no-op reg-reg moves (i.e.
where src == dest) across llvm-test-suite when compiled for RISC-V
rv64gc and with SPEC included.


  Commit: 754eeeaef1c9980c31e4e654d568d88a19802475
      https://github.com/llvm/llvm-project/commit/754eeeaef1c9980c31e4e654d568d88a19802475
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

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


  Commit: 6b3bb44227fc4d66d1a304b32566ea9263799921
      https://github.com/llvm/llvm-project/commit/6b3bb44227fc4d66d1a304b32566ea9263799921
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-pmadd.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - convert PSHUFB/PSADBW/VPMADDUBSW/VPMADDUBSW concatenation to use combineConcatVectorOps recursion (#130592)

Only concatenate nodes if at least one operand is beneficial to concatenate


  Commit: cac6d431d00b054a2f1ed4d7638c1857c269c1d5
      https://github.com/llvm/llvm-project/commit/cac6d431d00b054a2f1ed4d7638c1857c269c1d5
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/test/CodeGenCXX/cxx23-p2280r4.cpp

  Log Message:
  -----------
  [clang][test] Don't require specific alignment in test case (#130589)

https://github.com/llvm/llvm-project/pull/129952 /
42d49a77241df73a17cb442973702fc460e7fb90 added this test which is
failing on 32-bit ARM because the alignment chosen is 4 not 8. Which
would make sense if this is a 32/64 bit difference

https://lab.llvm.org/buildbot/#/builders/154/builds/13059
```
<stdin>:34:30: note: scanning from here
define dso_local void @_Z1fv(ptr dead_on_unwind noalias writable sret(%struct.B) align 4 %agg.result) #0 {
                             ^
<stdin>:38:2: note: possible intended match here
 %0 = load ptr, ptr @x, align 4
 ^
```
The other test does not check alignment, so I'm assuming that it is not
important here.


  Commit: 9d37e61fc77d3d6de891c30630f1c0227522031d
      https://github.com/llvm/llvm-project/commit/9d37e61fc77d3d6de891c30630f1c0227522031d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
    M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
    M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
    M llvm/test/Transforms/SLPVectorizer/addsub.ll

  Log Message:
  -----------
  [SLP]Reduce number of alternate instruction, where possible

Previous version was reviewed here https://github.com/llvm/llvm-project/pull/123360
It is mostly the same, adjusted after graph-to-tree transformation

Patch tries to remove wide alternate operations.
Currently SLP vectorizer emits something like this:
```
%0 = add i32
%1 = sub i32
%2 = add i32
%3 = sub i32
%4 = add i32
%5 = sub i32
%6 = add i32
%7 = sub i32

transformes to

%v1 = add <8 x i32>
%v2 = sub <8 x i32>
%res = shuffle %v1, %v2, <0, 9, 2, 11, 4, 13, 6, 15>
```
i.e. half of the results are just unused. This leads to increased
register pressure and potentially doubles number of operations.

Patch introduces SplitVectorize mode, where it splits the operations by
opcodes and produces instead something like this:
```
%v1 = add <4 x i32>
%v2 = sub <4 x i32>
%res = shuffle %v1, %v2, <0, 4, 1, 5, 2, 6, 3, 7>
```
It allows to improve the performance by reducing number of ops. Also, it
turns on some other improvements, like improved graph reordering.

-O3+LTO, AVX512
Metric: size..text
Program                                                                         size..text
                                                                                results     results0    diff
                       test-suite :: MultiSource/Benchmarks/Olden/tsp/tsp.test     2788.00     2820.00  1.1%
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test   278168.00   280904.00  1.0%
               test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test    82682.00    83258.00  0.7%
                    test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test   139344.00   139712.00  0.3%
     test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test    27149.00    27197.00  0.2%
               test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test  1008188.00  1009948.00  0.2%
          test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test    39226.00    39290.00  0.2%
   test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test    39229.00    39293.00  0.2%
 test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test  2074533.00  2076549.00  0.1%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test  2074533.00  2076549.00  0.1%
             test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test   798440.00   798952.00  0.1%
     test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test    44123.00    44139.00  0.0%
                       test-suite :: MultiSource/Benchmarks/Bullet/bullet.test   318942.00   319038.00  0.0%
        test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  1159880.00  1160152.00  0.0%
     test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/miniAMR.test    73595.00    73611.00  0.0%
                test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test  1146124.00  1146348.00  0.0%
       test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR.test   203831.00   203847.00  0.0%
 test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test   207662.00   207678.00  0.0%
                test-suite :: External/SPEC/CFP2006/447.dealII/447.dealII.test   589851.00   589883.00  0.0%
      test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1398543.00  1398559.00  0.0%
     test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1398543.00  1398559.00  0.0%
        test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test  2050990.00  2051006.00  0.0%

      test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12559687.00 12559591.00 -0.0%
                     test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test  3074157.00  3074125.00 -0.0%
         test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test  1092252.00  1092188.00 -0.0%
            test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test   779763.00   779715.00 -0.0%
         test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test   253517.00   253485.00 -0.0%
                  test-suite :: MultiSource/Applications/JM/lencod/lencod.test   848259.00   848035.00 -0.0%
     test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test    93064.00    93016.00 -0.1%
                  test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test   383747.00   383475.00 -0.1%
          test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   673051.00   662907.00 -1.5%
           test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   673051.00   662907.00 -1.5%

Olden/tsp - small variations
Prolangs-C/TimberWolfMC - small variations, some code not inlined
FreeBench/pifft - extra store <8 x double> vectorized, some other extra
vectorizations
CFP2006/433.milc - better vector code
FreeBench/fourinarow - better vector code
Benchmarks/tramp3d-v4 - extra vector code, small variations
mediabench/gsm/toast - small variations
MiBench/telecomm-gsm - small variations
CINT2017rate/500.perlbench_r
CINT2017speed/600.perlbench_s - better vector code, small variations
CINT2006/464.h264ref - some smaller code + changes similar to x264
DOE-ProxyApps-C/miniGMG - small variations
Benchmarks/Bullet - small variations
CFP2017rate/511.povray_r - small variations
DOE-ProxyApps-C/miniAMR - small variations
CFP2006/453.povray - small variations
DOE-ProxyApps-C++/CLAMR - small variations
MiBench/consumer-lame - small variations
CFP2006/447.dealII - small variations
CFP2017rate/538.imagick_r
CFP2017speed/638.imagick_s - small variations
CFP2017rate/510.parest_r - better vector code, small variations
CFP2017rate/526.blender_r - small variations
CINT2006/403.gcc - small variations
CINT2006/400.perlbench - small variations
CFP2017rate/508.namd_r - small variations
ASCI_Purple/SMG2000 - small variations
JM/lencod - extra store <16 x i32>, small variations
DOE-ProxyApps-C++/miniFE - small variations
JM/ldecod - extra vector code, small variations, less shuffles
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - the number of instructions increased, but
looks like they are more performant. E.g., for function
x264_pixel_satd_8x8, llvm-mca reports better throughput - 84 for the
current version and 59 for the new version.

-O3+LTO, mcpu=sifive-p470

Metric: size..text

                                                                               results    results0   diff
                                 test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test  580768.00  581118.00   0.1%
                                        test-suite :: MultiSource/Applications/d/make_dparser.test   78854.00   78894.00   0.1%
                                      test-suite :: MultiSource/Applications/JM/lencod/lencod.test  633448.00  633750.00   0.0%
                                           test-suite :: MultiSource/Benchmarks/Bullet/bullet.test  277002.00  277080.00   0.0%
                             test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test  931938.00  931960.00   0.0%
                                         test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 2512806.00 2512822.00   0.0%
                                test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 7659880.00 7659876.00  -0.0%
                                 test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 7659880.00 7659876.00  -0.0%
                            test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 1602448.00 1602434.00  -0.0%
                          test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9496664.00 9496542.00  -0.0%
                     test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test  147424.00  147422.00  -0.0%
                    test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 1764608.00 1764578.00  -0.0%
                     test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 1764608.00 1764578.00  -0.0%
                                     test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  841656.00  841632.00  -0.0%
                                    test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test  949026.00  948962.00  -0.0%
                            test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  946348.00  946284.00  -0.0%
                                      test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test  279794.00  279764.00  -0.0%
                       test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test    4776.00    4772.00  -0.1%
                              test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test   25074.00   25028.00  -0.2%
                       test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test   25074.00   25028.00  -0.2%
                         test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test   29336.00   29184.00  -0.5%
                               test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test  535390.00  510124.00  -4.7%
                              test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test  535390.00  510124.00  -4.7%
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/ieee/GCC-C-execute-ieee-pr50310.test     886.00     608.00 -31.4%

CINT2006/464.h264ref - extra v16i32 reduction
d/make_dparser - better vector code
JM/lencod - extra v16i32 reduction
Benchmarks/Bullet - smaller vector code
CINT2006/400.perlbench - better vector code
CINT2006/403.gcc - small variations
CINT2017speed/602.gcc_s
CINT2017rate/502.gcc_r - small variations
CFP2017rate/510.parest_r - small variations
CFP2017rate/526.blender_r - small variations
MiBench/consumer-lame - small variations
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - small variations
Benchmarks/7zip - small variations
CFP2017rate/511.povray_r - small variations
JM/ldecod - extra vector code
mediabench/g721/g721encode - extra vector code
mediabench/gsm - extra vector code
MiBench/telecomm-gsm - extra vector code
DOE-ProxyApps-C/miniGMG - extra vector code
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - reduced number of wide operations and
shuffles, saving the registers, similar to X86, extra code in
pixel_hadamard_ac vectorized
ieee/GCC-C-execute-ieee-pr50310 - extra code vectorized

CINT2006/464.h264ref - extra vector code in find_sad_16x16
JM/lencod - extra vector code in find_sad_16x16
d/make_dparser - smaller vector code
Benchmarks/Bullet - small variations
CINT2006/400.perlbench - smaller vector code
CFP2017rate/526.blender_r - small variations, extra store <8 x float> in
the loop, extra store <8 x i8> in loop
CINT2017rate/500.perlbench_r
CINT2017speed/600.perlbench_s - small variations
MiBench/consumer-lame - small variations
JM/ldecod - extra vector code
mediabench/g721/g721encode - small variations

Reviewers: hiraditya

Reviewed By: hiraditya

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


  Commit: f059e58702161bb22b457476f2e5c9faa2386226
      https://github.com/llvm/llvm-project/commit/f059e58702161bb22b457476f2e5c9faa2386226
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M libcxx/include/future
    R libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp

  Log Message:
  -----------
  Revert "[libc++] Don't try to wait on a thread that hasn't started in std::async (#125433)"

This reverts commit 11766a40972f5cc853e296231e5d90ca3c886cc1.


  Commit: c35092c7f1b3f190e88c3dd70056a1596a3a8fc6
      https://github.com/llvm/llvm-project/commit/c35092c7f1b3f190e88c3dd70056a1596a3a8fc6
  Author: Austin <zhenhangwang at huawei.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/test/Driver/arm-thread-pointer.c

  Log Message:
  -----------
  [ARM] Fix HW thread pointer functionality  (#130027)

- Separate check for hardware support of TLS register from check for support of Thumb2 encoding
- Base decision to auto enable TLS on both hardware support and Thumb2 encoding support
- Fix HW support check to correctly exclude M-Profile and include ARMV6K variants

reference:https://reviews.llvm.org/D114116


  Commit: a619f3111eb4492a8e074cf7a714f66431d643c0
      https://github.com/llvm/llvm-project/commit/a619f3111eb4492a8e074cf7a714f66431d643c0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [X86] combineConcatVectorOps - add missing VT/Subtarget checks for MOV*DUP concatenation folds.


  Commit: 919d293176fb841dcae4a850b70a09c1307f7d59
      https://github.com/llvm/llvm-project/commit/919d293176fb841dcae4a850b70a09c1307f7d59
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SPIRV.h
    M clang/test/Driver/spirv-openmp-toolchain.c
    M clang/test/Driver/spirv-toolchain.cl

  Log Message:
  -----------
  [clang][SPIR-V] Use the SPIR-V backend by default (#129545)

The SPIR-V backend is now a supported backend, and we believe it is
ready to be used by default in Clang over the SPIR-V translator.

Some IR generated by Clang today, such as those requiring SPIR-V target
address spaces, cannot be compiled by the translator for reasons in this
[RFC](https://discourse.llvm.org/t/rfc-the-spir-v-backend-should-change-its-address-space-mappings/82640),
so we expect even more programs to work as well.

Enable it by default, but keep some of the code as it is still called by
the HIP toolchain directly.

---------

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>


  Commit: 3a41c7b483c69256d3cf64dabdaf2353187593b1
      https://github.com/llvm/llvm-project/commit/3a41c7b483c69256d3cf64dabdaf2353187593b1
  Author: Omair Javaid <omair.javaid at linaro.org>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M openmp/runtime/test/lit.cfg
    M openmp/runtime/test/lit.site.cfg.in
    M openmp/runtime/test/transform/interchange/iterfor.cpp
    M openmp/runtime/test/transform/tile/iterfor.cpp
    M openmp/runtime/test/worksharing/for/omp_for_collapse_LowerTriangularLess.c
    M openmp/runtime/test/worksharing/for/omp_for_collapse_LowerTriangularLessEqual.c
    M openmp/runtime/test/worksharing/for/omp_for_collapse_UpperTriangular.c

  Log Message:
  -----------
  [OpenMP] Mark Failing OpenMP Tests as XFAIL on Windows (#129040)

This patch marks specific OpenMP runtime tests as XFAIL on Windows due
to failures reported in #129023


  Commit: aaa1adc39886cc21c9dc637a9a6667baa5aff94f
      https://github.com/llvm/llvm-project/commit/aaa1adc39886cc21c9dc637a9a6667baa5aff94f
  Author: A2uria <a2uria at qq.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M lld/COFF/Options.td

  Log Message:
  -----------
  [LLD][COFF] Add /noexp for link.exe compatibility (#128814)

See #107346


  Commit: 8885b5c0626065274cb8f8a634d45779a0f6ff2b
      https://github.com/llvm/llvm-project/commit/8885b5c0626065274cb8f8a634d45779a0f6ff2b
  Author: Bart Chrzaszcz <bartchr at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [mlir] Fix bazel build after f3dcc0fe228f6a1a69147ead0a76ce0fe02d316d


  Commit: 967ab7e08e62a35cc65f34e21fbeb00abf3eb83f
      https://github.com/llvm/llvm-project/commit/967ab7e08e62a35cc65f34e21fbeb00abf3eb83f
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir

  Log Message:
  -----------
  [mlir][TOSA] Fix linalg lowering of depthwise conv2d (#130293)

Current lowering for tosa.depthwise_conv2d assumes if both zero points
are zero then it's a floating-point operation by hardcoding the use of a
arith.addf in the lowered code. Fix code to check for the element type
to decide what add operation to use.


  Commit: 8a8f1359ee1d47d85c5fb4d23587845baecd59c9
      https://github.com/llvm/llvm-project/commit/8a8f1359ee1d47d85c5fb4d23587845baecd59c9
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-routine-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/test/SemaOpenACC/routine-construct-ast.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'bind' ast/sema for 'routine' directive

The 'bind' clause allows the renaming of a function during code
generation.  There are a few rules about when this can/cannot happen,
and it takes either a string or identifier (previously mis-implemetned
as ID-expression) argument.

Note there are additional rules to this in the implicit-function routine
case, but that isn't implemented in this patch, as implicit-function
routine is not yet implemented either.


  Commit: cf6a520a7a48aa82274084f0d4487381f9013fd3
      https://github.com/llvm/llvm-project/commit/cf6a520a7a48aa82274084f0d4487381f9013fd3
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    A clang/test/AST/ByteCode/libcxx/memcmp-pointer.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix builtin_memcmp buffer sizes for pointers (#130570)

Don't use the pointer size, but the number of elements multiplied by the
element size.


  Commit: 83936f543766a74d7725df6661808d75b3f36554
      https://github.com/llvm/llvm-project/commit/83936f543766a74d7725df6661808d75b3f36554
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M libcxx/docs/Status/Cxx23Papers.csv

  Log Message:
  -----------
  [libc++][docs] Remove mis-added entry for P2513R4 (#130581)

P2513R4 neither touched library wording nor required library
implementation to change. So it was probably a mistake to list it in
libc++'s implementation status table.


  Commit: 1f05703176d43a339b41a474f51c0e8b1a83c9bb
      https://github.com/llvm/llvm-project/commit/1f05703176d43a339b41a474f51c0e8b1a83c9bb
  Author: Benson Chu <bensonchu457 at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    A clang/test/CodeGen/arm-interrupt-save-fp-attr-status-regs.c
    A clang/test/CodeGen/arm-interrupt-save-fp-attr.c
    M clang/test/Sema/arm-interrupt-attr.c
    A clang/test/Sema/arm-interrupt-save-fp-attr.c
    M llvm/include/llvm/IR/IntrinsicsARM.td
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMCallingConv.td
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.h
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/lib/Target/ARM/ARMMachineFunctionInfo.h
    M llvm/lib/Target/ARM/ARMRegisterInfo.td
    A llvm/test/CodeGen/ARM/interrupt-save-fp-attr-status-regs.mir
    A llvm/test/CodeGen/ARM/interrupt-save-fp-attr.ll

  Log Message:
  -----------
  [ARM][Thumb] Save FPSCR + FPEXC for save-vfp attribute

FPSCR and FPEXC will be stored in FPStatusRegs, after GPRCS2 has been
saved.

- GPRCS1
- GPRCS2
- FPStatusRegs (new)
- DPRCS
- GPRCS3
- DPRCS2

FPSCR is present on all targets with a VFP, but the FPEXC register is
not present on Cortex-M devices, so different amounts of bytes are
being pushed onto the stack depending on our target, which would
affect alignment for subsequent saves.

DPRCS1 will sum up all previous bytes that were saved, and will emit
extra instructions to ensure that its alignment is correct. My
assumption is that if DPRCS1 is able to correct its alignment to be
correct, then all subsequent saves will also have correct alignment.

Avoid annotating the saving of FPSCR and FPEXC for functions marked
with the interrupt_save_fp attribute, even though this is done as part
of frame setup.  Since these are status registers, there really is no
viable way of annotating this. Since these aren't GPRs or DPRs, they
can't be used with .save or .vsave directives. Instead, just record
that the intermediate registers r4 and r5 are saved to the stack
again.

Co-authored-by: Jake Vossen <jake at vossen.dev>
Co-authored-by: Alan Phipps <a-phipps at ti.com>


  Commit: 3b3356043cb42e2365dcfa6a6e52b00ce7fbde61
      https://github.com/llvm/llvm-project/commit/3b3356043cb42e2365dcfa6a6e52b00ce7fbde61
  Author: Benson Chu <bensonchu457 at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    R clang/test/CodeGen/arm-interrupt-save-fp-attr-status-regs.c
    R clang/test/CodeGen/arm-interrupt-save-fp-attr.c
    M clang/test/Sema/arm-interrupt-attr.c
    R clang/test/Sema/arm-interrupt-save-fp-attr.c
    M llvm/include/llvm/IR/IntrinsicsARM.td
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMCallingConv.td
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.h
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/lib/Target/ARM/ARMMachineFunctionInfo.h
    M llvm/lib/Target/ARM/ARMRegisterInfo.td
    R llvm/test/CodeGen/ARM/interrupt-save-fp-attr-status-regs.mir
    R llvm/test/CodeGen/ARM/interrupt-save-fp-attr.ll

  Log Message:
  -----------
  Revert "[ARM][Thumb] Save FPSCR + FPEXC for save-vfp attribute"

This reverts commit 1f05703176d43a339b41a474f51c0e8b1a83c9bb.


  Commit: 39cf545756b358d02d9b828e5c51ebcb8ed6d19e
      https://github.com/llvm/llvm-project/commit/39cf545756b358d02d9b828e5c51ebcb8ed6d19e
  Author: Chris B <chris.bieneman at me.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    M clang/test/Driver/HLSL/metal-converter.hlsl
    M clang/test/Driver/dxc_dxv_path.hlsl

  Log Message:
  -----------
  [HLSL][Driver] Use temporary files correctly (#130436)

This updates the DXV and Metal Converter actions to properly use
temporary files created by the driver. I've abstracted away a check to
determine if an action is the last in the sequence because we may have
between 1 and 3 actions depending on the arguments and environment.


  Commit: 81ca350b295c874d77c33c612da7979843b68a3e
      https://github.com/llvm/llvm-project/commit/81ca350b295c874d77c33c612da7979843b68a3e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp

  Log Message:
  -----------
  AMDGPU: Rename variable from undef to poison (#130460)


  Commit: 2bada417c1f06361f4b7a992224bfb8e32d55ca6
      https://github.com/llvm/llvm-project/commit/2bada417c1f06361f4b7a992224bfb8e32d55ca6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
    M llvm/test/CodeGen/AMDGPU/loop_break.ll
    M llvm/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll
    M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
    M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/scheduler-rp-calc-one-successor-two-predecessors-bug.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/Transforms/StructurizeCFG/AMDGPU/loop-subregion-misordered.ll
    M llvm/test/Transforms/StructurizeCFG/AMDGPU/uniform-regions.ll
    M llvm/test/Transforms/StructurizeCFG/interleaved-loop-order.ll
    M llvm/test/Transforms/StructurizeCFG/loop-break-phi.ll
    M llvm/test/Transforms/StructurizeCFG/loop-continue-phi.ll
    M llvm/test/Transforms/StructurizeCFG/one-loop-multiple-backedges.ll
    M llvm/test/Transforms/StructurizeCFG/structurizer-keep-perf-md.ll
    M llvm/test/Transforms/StructurizeCFG/workarounds/needs-fix-reducible.ll
    M llvm/test/Transforms/StructurizeCFG/workarounds/needs-fr-ule.ll
    M llvm/test/Transforms/StructurizeCFG/workarounds/needs-unified-loop-exits.ll

  Log Message:
  -----------
  StructurizeCFG: Use poison instead of undef (#130459)

There are a surprising number of codegen changes from this.


  Commit: c40f0fe4348bb9304b95bd317665bf1cb2bdcc85
      https://github.com/llvm/llvm-project/commit/c40f0fe4348bb9304b95bd317665bf1cb2bdcc85
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/X86/math-builtins.c
    M clang/test/CodeGen/aix-builtin-mapping.c
    M clang/test/CodeGen/builtin-attributes.c
    M clang/test/CodeGen/math-builtins-long.c
    M clang/test/CodeGen/math-libcalls.c

  Log Message:
  -----------
  Revert "Reland "[clang] Lower modf builtin using `llvm.modf` intrinsic" (#129885)"

This broke modff calls on 32-bit x86 Windows. See comment on the PR.

> This updates the existing modf[f|l] builtin to be lowered via the
> llvm.modf.* intrinsic (rather than directly to a library call).
>
> The legalization issues exposed by the original PR (#126750) should have
> been fixed in #128055 and #129264.

This reverts commit cd1d9a8fab05524a27ffdb251f6def37786b5cc1.


  Commit: 257e48371546f75623482071fc39eef4b64fbd88
      https://github.com/llvm/llvm-project/commit/257e48371546f75623482071fc39eef4b64fbd88
  Author: Vinay Deshmukh <32487576+vinay-deshmukh at users.noreply.github.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/span.h
    M libc/src/__support/CPP/string.h
    M libc/src/__support/CPP/string_view.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/NormalFloat.h
    M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
    M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/OSUtil/darwin/io.h
    M libc/src/__support/big_int.h
    M libc/src/__support/high_precision_decimal.h
    M libc/src/__support/integer_literals.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/memory_size.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/writer.h
    M libc/src/stdio/scanf_core/parser.h
    M libc/src/stdlib/quick_sort.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/string/string_utils.h
    M libc/test/UnitTest/ExecuteFunction.h
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/MemoryMatcher.h
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/arg_list_test.cpp
    M libc/test/src/__support/big_int_test.cpp
    M libc/test/src/__support/blockstore_test.cpp
    M libc/test/src/__support/fixedvector_test.cpp
    M libc/test/src/__support/hash_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/math_extras_test.cpp
    M libc/test/src/__support/str_to_double_test.cpp
    M libc/test/src/__support/str_to_float_test.cpp
    M libc/test/src/__support/str_to_fp_test.h
    M libc/test/src/math/FModTest.h
    M libc/test/src/stdio/printf_core/parser_test.cpp
    M libc/test/src/string/memmove_test.cpp
    M libc/test/src/string/memory_utils/memory_check_utils.h
    M libc/test/src/string/memory_utils/op_tests.cpp
    M libc/test/src/string/memory_utils/utils_test.cpp
    M libc/test/src/string/memset_test.cpp
    M libc/test/src/strings/bcopy_test.cpp

  Log Message:
  -----------
  [libc] Add `-Wno-sign-conversion` & re-attempt `-Wconversion` (#129811)

Relates to
https://github.com/llvm/llvm-project/issues/119281#issuecomment-2699470459


  Commit: 0cc8a63d0c7acd1903aab3e9c802785b07199b4c
      https://github.com/llvm/llvm-project/commit/0cc8a63d0c7acd1903aab3e9c802785b07199b4c
  Author: NewSigma <46043910+NewSigma at users.noreply.github.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaCoroutine.cpp
    R clang/test/SemaCXX/coroutine-decltype.cpp
    A clang/test/SemaCXX/coroutine-unevaluate.cpp

  Log Message:
  -----------
  Forbid co_await and co_yield in invalid expr contexts (#130455)

Fix #78426 

C++26 introduced braced initializer lists as template arguments.
However, such contexts should be considered invalid for co_await and
co_yield. This commit explicitly rules out the possibility of using
these exprs in template arguments.

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: 21ff15fa1a4b9abf1c8182a1a465923bdae517a5
      https://github.com/llvm/llvm-project/commit/21ff15fa1a4b9abf1c8182a1a465923bdae517a5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll

  Log Message:
  -----------
  [X86] Add test cases showing its not always beneficial to fold concat(add/mul(),add/mul()) -> add/mul(concat(),concat())


  Commit: e9b2eddd5be753e72010da8a4333df8195e1641c
      https://github.com/llvm/llvm-project/commit/e9b2eddd5be753e72010da8a4333df8195e1641c
  Author: Ebuka Ezike <57949090+da-viper at users.noreply.github.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M lldb/source/API/SBLineEntry.cpp
    M lldb/unittests/API/CMakeLists.txt
    A lldb/unittests/API/SBLineEntryTest.cpp

  Log Message:
  -----------
  [lldb] fix set SBLineEntryColumn (#130435)

Calling the public API `SBLineEntry::SetColumn()` sets the row instead
of the column.

This probably should be backported as it has been since version 3.4.

---------

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


  Commit: 7770d8f2256ba051296fe659b62145ef53027c5a
      https://github.com/llvm/llvm-project/commit/7770d8f2256ba051296fe659b62145ef53027c5a
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/unittests/ADT/IteratorTest.cpp

  Log Message:
  -----------
  [ADT] Use `adl_begin`/`adl_end` in `make_filter_range` (#130512)

This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.

This was a part of https://github.com/llvm/llvm-project/pull/87936 but
reverted due to buildbot failures.

Also fix potential issue with double-move on the input range.


  Commit: ef407df695a28c21b412e4f703b250891df92821
      https://github.com/llvm/llvm-project/commit/ef407df695a28c21b412e4f703b250891df92821
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:

  Log Message:
  -----------
  [Libc] Turn implicit to explicit conversion (#130615)

This fixes a build issue on the AMDGPU libc bot after
https://github.com/llvm/llvm-project/pull/126846 landed that introduced
a warning.

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: 338211929ce8626aa31b542e79cb5eb7722d0aa4
      https://github.com/llvm/llvm-project/commit/338211929ce8626aa31b542e79cb5eb7722d0aa4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - convert ADD/SUB/MUL concatenation to use combineConcatVectorOps recursion

Only concatenate ADD/SUB/MUL nodes if at least one operand is beneficial to concatenate


  Commit: 497a3df6bbcdec204783b212bb590e4b5d29690a
      https://github.com/llvm/llvm-project/commit/497a3df6bbcdec204783b212bb590e4b5d29690a
  Author: Bart Chrzaszcz <bartchr at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [mlir] Fix bazel build after f3dcc0f TD files


  Commit: 3db668e0bb53958a0b6dacc11751788e3d523a86
      https://github.com/llvm/llvm-project/commit/3db668e0bb53958a0b6dacc11751788e3d523a86
  Author: Hongren Zheng <i at zenithal.me>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp

  Log Message:
  -----------
  [mlir][SparseTensor][NFC] Migrate to OpAsmAttrInterface for ASM alias generation (#130483)

After the introduction of `OpAsmAttrInterface`, it is favorable to
migrate code using `OpAsmDialectInterface` for ASM alias generation,
which lives in `Dialect.cpp`, to use `OpAsmAttrInterface`, which lives
in `Attrs.td`. In this way, attribute behavior is placed near its
tablegen definition and people won't need to go through other files to
know what other (unexpected) hooks comes into play.


  Commit: 7e292772ad810ffe14ea685e0b8f66d4f6eb1556
      https://github.com/llvm/llvm-project/commit/7e292772ad810ffe14ea685e0b8f66d4f6eb1556
  Author: lntue <lntue at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/float_to_string.h

  Log Message:
  -----------
  [libc] Fix implicit conversion warnings. (#130635)


  Commit: 5ba7a3bd4c0eb736e4f1939c3a46317ef21247f2
      https://github.com/llvm/llvm-project/commit/5ba7a3bd4c0eb736e4f1939c3a46317ef21247f2
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/test/Semantics/OpenMP/cancel.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP] Parse cancel-directive-name as clause (#130146)

The cancellable construct names on CANCEL or CANCELLATION POINT
directives are actually clauses (with the same names as the
corresponding constructs).

Instead of parsing them into a custom structure, parse them as a clause,
which will make CANCEL/CANCELLATION POINT follow the same uniform scheme
as other constructs (<directive> [(<arguments>)] [clauses]).


  Commit: 414e5c58cb5ca48e86e30150790bdcdaa2cc306e
      https://github.com/llvm/llvm-project/commit/414e5c58cb5ca48e86e30150790bdcdaa2cc306e
  Author: John Harrison <harjohn at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
    M lldb/tools/lldb-dap/JSONUtils.cpp

  Log Message:
  -----------
  [lldb-dap] Migrating terminated statistics to the event body. (#130454)

Per the DAP spec, the event 'body' field should contain any additional
data related to the event. I updated the lldb-dap 'statistics' extension
into the terminated event's body like:

```
{
  "type": "event",
  "seq": 0,
  "event": "terminated",
  "body": {
    "$__lldb_statistics": {...}
  }
}
```

This allows us to more uniformly handle event messages.


  Commit: d72f6204fdbeb5655ddefd840fe6d7311279ab52
      https://github.com/llvm/llvm-project/commit/d72f6204fdbeb5655ddefd840fe6d7311279ab52
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td

  Log Message:
  -----------
  [RISCV] Merge DecoderNamespace for T-Head extensions. NFC (#130555)

Consistent with what has been done for Rivos, SiFive, and Qualcomm
extensions.


  Commit: b4caea84661400cc4c93b1e67151b70b0c88f875
      https://github.com/llvm/llvm-project/commit/b4caea84661400cc4c93b1e67151b70b0c88f875
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp

  Log Message:
  -----------
  [ExecutionEngine] Avoid repeated hash lookups (NFC) (#130544)


  Commit: 15762ea2fa687910609fd55cc3eca82c3a04b271
      https://github.com/llvm/llvm-project/commit/15762ea2fa687910609fd55cc3eca82c3a04b271
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp

  Log Message:
  -----------
  [Hexagon] Avoid repeated hash lookups (NFC) (#130545)


  Commit: 0b99a2a9af031ca394cf4493798389318758918b
      https://github.com/llvm/llvm-project/commit/0b99a2a9af031ca394cf4493798389318758918b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp

  Log Message:
  -----------
  [IPO] Avoid repeated hash lookups (NFC) (#130546)


  Commit: 70477d979fa52910f46db0425eac04f34074e5c3
      https://github.com/llvm/llvm-project/commit/70477d979fa52910f46db0425eac04f34074e5c3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [Scalar] Avoid repeated hash lookups (NFC) (#130547)


  Commit: e1bd39c1733a40d4d46d1233566d8372125676bd
      https://github.com/llvm/llvm-project/commit/e1bd39c1733a40d4d46d1233566d8372125676bd
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/lib/CIR/CMakeLists.txt
    M clang/tools/cir-opt/CMakeLists.txt

  Log Message:
  -----------
  [CIR] Disable gcc partially overloaded virtual warning (#130322)

GCC, unlike clang, issues a warning when one virtual function is
overridden in a derived class but one or more other virtual functions
with the same name and different signature from a base class are not
overridden. This leads to many warnings in the MLIR and ClangIR code
when using the OpenConversionPattern<>::matchAndRewrite() function in
the ordinary way. The "hiding" behavior is what we want, so we're just
disabling the warning here.


  Commit: a5763048b63b18f2c660ba14d4c3d4434689889d
      https://github.com/llvm/llvm-project/commit/a5763048b63b18f2c660ba14d4c3d4434689889d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [x86] paddus.ll - regenerate VPTERNLOG comments


  Commit: cf5aa559a8b69bc39ba134148ace4172fd6de0a8
      https://github.com/llvm/llvm-project/commit/cf5aa559a8b69bc39ba134148ace4172fd6de0a8
  Author: مهدي شينون (Mehdi Chinoune) <mehdi.chinoune at hotmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang-rt/lib/runtime/command.cpp
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Runtime/command.h

  Log Message:
  -----------
  [flang] Don't redefine pid_t on MinGW-w64. (#130288)


  Commit: 74868cf0d14e59c553518d516e19937de46e23bb
      https://github.com/llvm/llvm-project/commit/74868cf0d14e59c553518d516e19937de46e23bb
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/tools/amdgpu-arch/AMDGPUArch.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp

  Log Message:
  -----------
  Reland Fix amdgpu-arch for dll name on Windows (#130624)

Reload aba3005a after fixing build failure.

Recently HIP runtime changed dll name to amdhip64_n.dll on Windows,
where n is ROCm major version number.

Fix amdgpu-arch to search for amdhip64_n.dll on Windows.


  Commit: 1d1b20a19ecf51741f2946976ec5f44a0ed53710
      https://github.com/llvm/llvm-project/commit/1d1b20a19ecf51741f2946976ec5f44a0ed53710
  Author: David Peixotto <peix at meta.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Core/Module.h
    M lldb/source/Core/Module.cpp
    M lldb/source/Target/Statistics.cpp
    A lldb/test/Shell/Commands/command-statistics-dump.test
    M lldb/unittests/Symbol/SymtabTest.cpp

  Log Message:
  -----------
  [lldb] Avoid force loading symbol files in statistics collection (#129593)

This commit modifies the `DebuggerStats::ReportStatistics`
implementation to avoid loading symbol files for unloaded symbols. We
collect stats on debugger shutdown and without this change it can cause
the debugger to hang for a long while on shutdown if they symbols were
not previously loaded (e.g. `settings set target.preload-symbols
false`).

The implementation is done by adding an optional parameter to
`Module::GetSymtab` to control if the corresponding symbol file will be
loaded in the same way that can control it for `Module::GetSymbolFile`.


  Commit: 7220ab821dd8c91dbc8e74afcdf3871605062ea0
      https://github.com/llvm/llvm-project/commit/7220ab821dd8c91dbc8e74afcdf3871605062ea0
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [LV] Mark getMaxVScale static (NFC) (#130598)


  Commit: 809a33d7ab56f846387fc105a653d1c22c1f7a8d
      https://github.com/llvm/llvm-project/commit/809a33d7ab56f846387fc105a653d1c22c1f7a8d
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [VPlan] Clean up unused header (NFC) (#130599)

We use VPlanPatternMatch, and not PatternMatch: clean up the
PatternMatch include to avoid confusion.


  Commit: 35c030208642ddae96ed7a03b73c7d08c6997052
      https://github.com/llvm/llvm-project/commit/35c030208642ddae96ed7a03b73c7d08c6997052
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [LV] Clean up unused 'using' definition (NFC) (#130597)


  Commit: aa3875411746de0a24a8de0d40def711cd70153d
      https://github.com/llvm/llvm-project/commit/aa3875411746de0a24a8de0d40def711cd70153d
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    A flang/docs/ArrayRepacking.md
    M flang/docs/index.md

  Log Message:
  -----------
  [RFC][flang] Add support for assumed-shape dummy arrays repacking. (#127147)

This is a document describing why and how to add support for repacking
of assumed-shape dummy arrrays to provide more efficient data cache.
It proposes adding new FIR operations and outlines the compiler flow
handling these operations.
I would like to hear feedback on all of it, but especially on:
  * The possibility of detecting safeness of the repacking
    in the context of OpenACC/OpenMP. If it is not possible
    to do the runtime checks to determine safety, then
    there is not need to add the `TempCopyIsSafe` attributes
    to the instruction.
  * Whether it is possible to preserve the debug information
    in cases where `fir.pack_array` is sunk after `[hl]fir.declare`,
    so that before the `fir.pack_array` a debugger will refer
    to the values in the original array, and after `fir.pack_array`
    it will refer to the copy.


  Commit: 22f7897374a1d0964e36c6fefccc3e3630a89465
      https://github.com/llvm/llvm-project/commit/22f7897374a1d0964e36c6fefccc3e3630a89465
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll

  Log Message:
  -----------
  [RISCV] Use vmv.v.x for any rv32 e64 splat with equal halves (#130530)

The prior logic was reasoning in terms of vsetivli immediates, but using
the vmv.v.x is strongly profitable for high LMUL cases.  The key
difference is that the vmv.v.x form is rematerializeable during
register allocation, and the vsle form is not.

This change uses the vlmax form of the vsetvli for all cases where the
2 x size can't be encoded as a vsetivli.  This has the effect of increasing
VL more than necessary across the vmv.v.x, which could in theory be
problematic performance-wise on some hardware.  We can revisit (or
add a tune flag) if this turns out to be noteworthy.


  Commit: c7f7ac759110cdcf0d9180515a414c494154d213
      https://github.com/llvm/llvm-project/commit/c7f7ac759110cdcf0d9180515a414c494154d213
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    M llvm/test/Transforms/MergeFunc/comdat.ll

  Log Message:
  -----------
  [MergeFunc] Keep comdat on new function, not thunk. (#130583)

MergeFunc uses the original function F as Thunk and creates a new function NewF for the original function F. Preserve F's comdat info on NewF instead of the thunk.

This fixes a crash when trying to lower comdat on the thunk during codegen.


  Commit: 933221e55aa1e1c1ebc16bde30c8e4a0e12836bd
      https://github.com/llvm/llvm-project/commit/933221e55aa1e1c1ebc16bde30c8e4a0e12836bd
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp

  Log Message:
  -----------
  [mlir][tosa] Rename RFFT2D `input` to `input_real` (#130614)

This is to align to the input name as defined in the specification.

Signed-off-by: Luke Hutton <luke.hutton at arm.com>


  Commit: 934d9162e1f2712d1fcb2c9eea00959ee10546eb
      https://github.com/llvm/llvm-project/commit/934d9162e1f2712d1fcb2c9eea00959ee10546eb
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td

  Log Message:
  -----------
  [NVPTX] Use ADDR operand for atomic instructions (#130438)


  Commit: 431eaa8deb4ea1cbe079a29126f9559e4716f00d
      https://github.com/llvm/llvm-project/commit/431eaa8deb4ea1cbe079a29126f9559e4716f00d
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/SemaHLSL/Semantics/valid_entry_parameter.hlsl
    A clang/test/TableGen/HLSLAttribute-errors.td
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [HLSL] make semantic matching case insensitive (#129773)

Make semantic matching case insensitive
update tests to reflect semantic printed as all lower case in error
messages
add new tests to show case insensitivity
Closes #128063


  Commit: deb4b206622c735450819e9cff36518997fed5c1
      https://github.com/llvm/llvm-project/commit/deb4b206622c735450819e9cff36518997fed5c1
  Author: AdityaK <hiraditya at msn.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp

  Log Message:
  -----------
  [NFC][libcxx][test] clang-format: search.pass.cpp (#130551)


  Commit: 7016f2d6e9f84159747e7e8e01e1b49c5547bdec
      https://github.com/llvm/llvm-project/commit/7016f2d6e9f84159747e7e8e01e1b49c5547bdec
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll

  Log Message:
  -----------
  [RISCV] Add coverage for vsub.vi emulation via vadd.vi

Note that we already perform the emulation for intrinsics, but not for plain IR.


  Commit: 483c23f6e860c079ae2b9cceb37ebe2129ada13d
      https://github.com/llvm/llvm-project/commit/483c23f6e860c079ae2b9cceb37ebe2129ada13d
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Mesh/sharding-propagation.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir
    M mlir/test/Dialect/Tosa/availability.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/quant-test.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir

  Log Message:
  -----------
  [mlir][tosa] Switch zero point of negate to input variable type (#129758)

This commit changes the zero point attribute to an input to align with
the 1.0 spec.

Signed-off-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>


  Commit: a7f1dc0ff5a6e76699fbb398e888a59cc929d578
      https://github.com/llvm/llvm-project/commit/a7f1dc0ff5a6e76699fbb398e888a59cc929d578
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/unittests/ADT/STLExtrasTest.cpp

  Log Message:
  -----------
  [ADT] Use `adl_being`/`end` in `concat` (#130520)

This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.

This was a part of #87936 but reverted due to buildbot failures.


  Commit: b9cb931713ed3f05568e8a091bd47a3e865f059f
      https://github.com/llvm/llvm-project/commit/b9cb931713ed3f05568e8a091bd47a3e865f059f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - convert X86ISD::VPERMV3 concatenation to use combineConcatVectorOps recursion

Only concatenate X86ISD::VPERMV3 nodes if at least one operand is beneficial to concatenate

Also add missing useAVX512Regs check


  Commit: 4476f7237ee000ce3c36e359297d4ac76b2dfb5f
      https://github.com/llvm/llvm-project/commit/4476f7237ee000ce3c36e359297d4ac76b2dfb5f
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/libcxx-build-containers.yml
    M .github/workflows/libcxx-check-generated-files.yml

  Log Message:
  -----------
  [Github][libc++] Hash Pin Actions in Workflows (#129488)

This patch has pins actions in the libc Github workflows. Hash pinning
is a best practice as it ensures we are getting an exact action version,
which can help with reproducibility/reliability. It additionally
alleviates security concerns as an attacker can modify release assets,
potentially giving them access to tokens in privileged workflows.


  Commit: 3c71f716a9a06f14212cc69df841c57ff7d47b82
      https://github.com/llvm/llvm-project/commit/3c71f716a9a06f14212cc69df841c57ff7d47b82
  Author: Eli Black <eliblack3 at hotmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/www/get_started.html

  Log Message:
  -----------
  [docs] Remove Visual Studio 2017 references and bump VS 2019 to VS 2022 (#70759)

The docs say that Visual Studio 2019 16.7 or later is required to build
clang but reference VS 2017.

* Remove references to VS 2017
* Update instructions to use VS 2022, since that's the current version
available for download from MS' website
* The path to VS 2022 executables is `Program Files` instead of `Program
Files (x86)`, as VS 2022 is 64-bit


  Commit: 8f0293695f783ec9dd0bd7532e1556edbbf6cfea
      https://github.com/llvm/llvm-project/commit/8f0293695f783ec9dd0bd7532e1556edbbf6cfea
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [NFC][TableGen] Eliminate use of `ConstRecIter` from SubtargetEmitter (#130162)

- Eliminate use of `ConstRecIter` from `expandProcResources` by using `all_of()` to simplify the code.


  Commit: 51850db4bf1532ed53a632454bc024b5a4352d6a
      https://github.com/llvm/llvm-project/commit/51850db4bf1532ed53a632454bc024b5a4352d6a
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    A clang/test/C/C2y/n3451.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C2y] Claim conformance to WG14 N3451

This paper allows initialization of anonymous structures and unions via
braced initializers, which is something Clang has supported since
forever.


  Commit: 3fb8cb6740682b0f6f73637c603658a98006baf1
      https://github.com/llvm/llvm-project/commit/3fb8cb6740682b0f6f73637c603658a98006baf1
  Author: TatWai Chong <tatwai.chong at arm.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
    M mlir/lib/Conversion/TosaToArith/TosaToArith.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    A mlir/test/Conversion/TosaToArith/tosa-to-arith-invalid.mlir
    M mlir/test/Conversion/TosaToArith/tosa-to-arith.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Tosa/availability.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
    M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
    M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp

  Log Message:
  -----------
  [mlir][tosa] Add support for EXT-DOUBLEROUND and EXT-INEXACTROUND (#130337)


  Commit: 0a1f7f0e661b48dc4470d31d95e22e95a7959adc
      https://github.com/llvm/llvm-project/commit/0a1f7f0e661b48dc4470d31d95e22e95a7959adc
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/lib/ProfileData/PGOCtxProfWriter.cpp

  Log Message:
  -----------
  [ctxprof][nfc] Drop `Section` in `writeFlatSection` (#130654)

It matches `writeContextual`, and also, it's not the whole section that's being written there, just a profile, piecemeal.


  Commit: 9f170e6abed4a7b393bb8abbf07ac8d6930aa3b0
      https://github.com/llvm/llvm-project/commit/9f170e6abed4a7b393bb8abbf07ac8d6930aa3b0
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel

  Log Message:
  -----------
  [libc][bazel] Convert "errno" to libc_support_library. (#130368)

This shouldn't really be a "libc_function" since it can be used as a
dependency of various other support libraries and functions, and doesn't
correspond to a well-defined endpoint that the users may want to
explicitly depend on (if they depend on it implicitly through a
libc_function whose implementation relies on errno, the dependency will
be pulled in normally). Remove special handling for "errno" in the Bazel
test rules.

This is one more cleanup step unlocking the plan outlined in #130327


  Commit: 68e3c02285d79253beab92ca50e5992a59db6eb6
      https://github.com/llvm/llvm-project/commit/68e3c02285d79253beab92ca50e5992a59db6eb6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Move CV_INSERTR into the XCVbitmanip DecoderNamespace instead of the default.

This uses RVInstR, while other XCVbitmanip instructions use classes
that set the DecoderNamespace.


  Commit: e2733c82bd5cacfdcb97dfea44f42b70e8b0182c
      https://github.com/llvm/llvm-project/commit/e2733c82bd5cacfdcb97dfea44f42b70e8b0182c
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Parser/program-parsers.cpp
    A flang/test/Parser/func-label.f

  Log Message:
  -----------
  [flang] Accept useless label on top-level FUNCTION (#129603)

The look-ahead parser for function program units didn't allow for a
useless label on the statement.

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


  Commit: 53c3a2c69aeaaf65ceedc1117648461607f0c165
      https://github.com/llvm/llvm-project/commit/53c3a2c69aeaaf65ceedc1117648461607f0c165
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/include/flang/Semantics/expression.h
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/allocate12.f90
    M flang/test/Semantics/c_f_pointer.f90
    M flang/test/Semantics/expr-errors06.f90

  Log Message:
  -----------
  [flang] Static checking for empty coarrays (#129610)

A coarray must not have a zero extent on a codimension; that would yield
an empty coarray. When cobounds are constants, verify them.


  Commit: 706e7d83cfd92c9da5125c43a28832336e9bd45b
      https://github.com/llvm/llvm-project/commit/706e7d83cfd92c9da5125c43a28832336e9bd45b
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/test/Semantics/assign02.f90

  Log Message:
  -----------
  [flang] Enforce C1027 (F'2023) (#129617)

The LHS of a pointer assignment statement may not be coindexed.


  Commit: 6b5b0821e3d879390a262679d05ad268b62c0a19
      https://github.com/llvm/llvm-project/commit/6b5b0821e3d879390a262679d05ad268b62c0a19
  Author: Boaz Brickner <brickner at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [Clang] Make `MangleContext::mangleMSGuidDecl()`, `MangleContext::mangleObjCMethodName()` and `MangleContext::mangleObjCMethodNameAsSourceName()` const methods (#130613)

Unfortunately, making `MangleContext::mangleName()` would require a lot
of const escapes due to lazy initialization and id creations:

`Mangle.h`:
*
https://github.com/llvm/llvm-project/blob/dffbc030e75b758e7512518abd499a0f680addbf/clang/include/clang/AST/Mangle.h#L82-L85
*
https://github.com/llvm/llvm-project/blob/dffbc030e75b758e7512518abd499a0f680addbf/clang/include/clang/AST/Mangle.h#L97-L99

`ItaniumMangle.cpp`:
*
https://github.com/llvm/llvm-project/blob/dffbc030e75b758e7512518abd499a0f680addbf/clang/lib/AST/ItaniumMangle.cpp#L158-L161
*
https://github.com/llvm/llvm-project/blob/4508d6aa72b0f31056ae01aff0e8009a252e4683/clang/lib/AST/ItaniumMangle.cpp#L641

`MicrosoftMangle.cpp`:
*
https://github.com/llvm/llvm-project/blob/dffbc030e75b758e7512518abd499a0f680addbf/clang/lib/AST/MicrosoftMangle.cpp#L243-L245
*
https://github.com/llvm/llvm-project/blob/dffbc030e75b758e7512518abd499a0f680addbf/clang/lib/AST/MicrosoftMangle.cpp#L284


  Commit: 33b061f8ea8ba1d7fa0ff29bfbf499375df9c4e7
      https://github.com/llvm/llvm-project/commit/33b061f8ea8ba1d7fa0ff29bfbf499375df9c4e7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Semantics/check-deallocate.cpp
    M flang/test/Semantics/deallocate05.f90

  Log Message:
  -----------
  [flang] Enforce C955 on DEALLOCATE (#129788)

Constraint C955 in F'2023 prohibits an allocate-object from being
coindexed. We catch this on ALLOCATE statements but missed it on
DEALLOCATE.


  Commit: 8c535669a3717a4c3f58154b672748f82f137c11
      https://github.com/llvm/llvm-project/commit/8c535669a3717a4c3f58154b672748f82f137c11
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Semantics/check-coarray.cpp
    M flang/lib/Semantics/check-coarray.h
    M flang/test/Semantics/lockstmt03.f90

  Log Message:
  -----------
  [flang] Semantic checking of LOCK statement (#129806)

Add checks for the LOCK statement, and complete and enable their tests.


  Commit: b7557ab34dbc79390c706812e23626747b7fe40a
      https://github.com/llvm/llvm-project/commit/b7557ab34dbc79390c706812e23626747b7fe40a
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/io11.f90

  Log Message:
  -----------
  [flang] Catch disallowed usage of coarrays in defined I/O (#129907)

Defined input/output subroutines must conform to documented interfaces
that do not allow for coarray dummy arguments.


  Commit: d53079055ed6e9afbb8d944dadb3298e76949711
      https://github.com/llvm/llvm-project/commit/d53079055ed6e9afbb8d944dadb3298e76949711
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/bindings01.f90

  Log Message:
  -----------
  [flang] Catch coindexed procedure pointer/binding references (#129931)

A procedure designator cannot be coindexed, except for cases in which
the coindexing doesn't matter (i.e. a binding that can't be overridden).


  Commit: f6fc29d3319c8cc4004235984b9b43e08881c53d
      https://github.com/llvm/llvm-project/commit/f6fc29d3319c8cc4004235984b9b43e08881c53d
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/move_alloc.f90

  Log Message:
  -----------
  [flang] Check coranks on MOVE_ALLOC (#129944)

The FROM= and TO= arguments in a reference to the MOVE_ALLOC intrinsic
subroutine must have the same corank.


  Commit: bbc27fbb1cb3ac6a92d9ce15f647b29114a75c91
      https://github.com/llvm/llvm-project/commit/bbc27fbb1cb3ac6a92d9ce15f647b29114a75c91
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/assign11.f90

  Log Message:
  -----------
  [flang] Refine checks on assignments to coarrays (#129966)

F'2023 10.2.1.2 paragraph 2 imposes some requirements on the left-hand
sides of assignments when they have coindices, and one was not checked
while another was inaccurately checked. In short, intrinsic assignment
to a coindexed object can't change its type, and neither can it affect
allocatable components.


  Commit: fd8de7524d4f32c167aa2a75b0cd61e64b756760
      https://github.com/llvm/llvm-project/commit/fd8de7524d4f32c167aa2a75b0cd61e64b756760
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/call04.f90
    M flang/test/Semantics/call06.f90

  Log Message:
  -----------
  [flang] Check actual/dummy coranks in more cases (#130167)

The check for equality of actual and dummy argument coranks was taking
place only for ALLOCATABLE coarrays; perform the check for all cases,
and refine the ALLOCATABLE check to apply only to cases that don't fail
the new more general check.


  Commit: 73b96cff012b27195d2f5e09395899b0421f1347
      https://github.com/llvm/llvm-project/commit/73b96cff012b27195d2f5e09395899b0421f1347
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Evaluate/variable.cpp
    M flang/test/Semantics/coarrays02.f90

  Log Message:
  -----------
  [flang] Refine coarray subobjects (#130183)

A subobject of a coarray is not also a coarray if it involves an
allocatable component, pointer component, or vector-valued subscript.


  Commit: 40d9096fda65dc94fc1b10c091802dcb8f3ab3a5
      https://github.com/llvm/llvm-project/commit/40d9096fda65dc94fc1b10c091802dcb8f3ab3a5
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Semantics/assignment.cpp
    M flang/test/Semantics/call12.f90

  Log Message:
  -----------
  [flang] Enforce C15104(5) for coindexed values (#130203)

A object's value can't be copied from another image by means of an
intrinsic assignment statement if it has a derived type that contains a
pointer subobject ultimate component.


  Commit: 8227f2a35aef0abebf0e2914795b668845a90169
      https://github.com/llvm/llvm-project/commit/8227f2a35aef0abebf0e2914795b668845a90169
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    A flang/test/Semantics/modfile74.f90

  Log Message:
  -----------
  [flang] Fix Cray pointers in module file output (#130315)

The relationship between a Cray pointee and its pointer is not in the
symbol table entry, but instead in a per-scope map. Use this information
to ensure that if a pointee/pointer is needed in the module file, so is
its pointer/pointee.

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


  Commit: c1898522180f76376167aaab8c0f07afe9e3fef5
      https://github.com/llvm/llvm-project/commit/c1898522180f76376167aaab8c0f07afe9e3fef5
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/include/flang/Parser/preprocessor.h
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    A flang/test/Preprocessing/bug126459.F90

  Log Message:
  -----------
  [flang] Ignore empty keyword macros before directives (#130333)

Ignore any keyword macros with empty directives that might appear before
a compiler directive.

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


  Commit: f9146ccbe940d8b8eb15e7686a511a28eb0abc6b
      https://github.com/llvm/llvm-project/commit/f9146ccbe940d8b8eb15e7686a511a28eb0abc6b
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl

  Log Message:
  -----------
  [libc][bazel] explicitly use system-provided errno in Bazel builds. (#130663)

Addressing the comments from PR #130368 review. Since Bazel builds are
effectively overlay mode, switch to explicitly setting
-DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_SYSTEM configuration option, so that
unit tests and release builds are consistent. Verified that all the unit
tests pass with this flag specified.


  Commit: f84f4e1e05f65ef9669b9dd0b1fce519240e9c60
      https://github.com/llvm/llvm-project/commit/f84f4e1e05f65ef9669b9dd0b1fce519240e9c60
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/vplan-native-path-inner-loop-with-runtime-checks.ll

  Log Message:
  -----------
  [LV] Don't crash on inner loops with RT checks in VPlan-native path.

Assert that we only generate runtime checks for inner loops in
emitMemRuntimeChecks, instead of returning nullptr in the VPlan-native
path, which is causing crashes and incorrect code.


  Commit: e235432867e922613d86b6ee8e94234817cddce0
      https://github.com/llvm/llvm-project/commit/e235432867e922613d86b6ee8e94234817cddce0
  Author: Damien L-G <dalg24 at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/compare_exchange_strong.verify.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/compare_exchange_weak.verify.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/load.verify.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/store.verify.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/wait.verify.cpp

  Log Message:
  -----------
  [libc++] Add `-Watomic-memory-ordering` diagnostic tests for `atomic_ref` (#130206)

Fix #130053


  Commit: 3f30207a230f9332b5c02a8d00ad3e9dc44e9bd3
      https://github.com/llvm/llvm-project/commit/3f30207a230f9332b5c02a8d00ad3e9dc44e9bd3
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/CUDA/cuda-device-proc.cuf

  Log Message:
  -----------
  [flang][cuda] Fix __ldXX function signatures (#130628)

Function are taking array reference and not array directly.


  Commit: df7927626bc2e6473691ce59067797c60acc2627
      https://github.com/llvm/llvm-project/commit/df7927626bc2e6473691ce59067797c60acc2627
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M .github/workflows/release-asset-audit.py

  Log Message:
  -----------
  [Github] Add stefanp-synopsys to release uploaders

It seems stefanp-ibm got renamed to sefanp-synopsys. Renaming in the file so
that the release asset audit does not keep flagging this binary. All signs
point to this being the same account. The release is dated to June of 2024,
the name is close enough, and the new account is already in the LLVM org/
has a history of contributions.

This is a stop gap for #130650.


  Commit: aeae3667bd092925795976a85a4ab1246fa3c8c8
      https://github.com/llvm/llvm-project/commit/aeae3667bd092925795976a85a4ab1246fa3c8c8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h

  Log Message:
  -----------
  [VPlan] Make start operand non-optional for VPHeaderPHIRecipe (NFC).

The start value is always available, require it unconditionally.


  Commit: 92c8dd6fc940318d03c0689fdd008914e105f055
      https://github.com/llvm/llvm-project/commit/92c8dd6fc940318d03c0689fdd008914e105f055
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    A llvm/include/llvm/Support/Mustache.h
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/Mustache.cpp
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/MustacheTest.cpp

  Log Message:
  -----------
  [llvm] add support for mustache templating language (#105893)

Adds Support for the Mustache Templating Language. See specs here:
https://mustache.github.io/mustache.5.html
This patch implements support+tests for majority of the features of the
language including:
- Variables
- Comments
- Lambdas
- Sections

This meant as a library to support places where we have to generate
HTML, such as in clang-doc.


  Commit: c88352d2e92fb28abc39f9a393bdb2f1d6729a4e
      https://github.com/llvm/llvm-project/commit/c88352d2e92fb28abc39f9a393bdb2f1d6729a4e
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/unittests/ADT/STLExtrasTest.cpp

  Log Message:
  -----------
  [ADT] Use `adl_begin`/`end` in `replace`. (#130523)

This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.

This was a part of #87936 but reverted due to buildbot failures.

Also clean up the implementation to adhere to the llvm coding standards.


  Commit: 9bac1b63ac14ca7cbd98ef63cbc0d8b643d31403
      https://github.com/llvm/llvm-project/commit/9bac1b63ac14ca7cbd98ef63cbc0d8b643d31403
  Author: David Green <david.green at arm.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp

  Log Message:
  -----------
  [GlobalISel] Add and use a m_GAddLike pattern matcher. NFC (#125435)

This adds a Flags parameter to the BinaryOp_match, allowing it to detect
different flags like Disjoint. A m_GDisjointOr is added to detect Or's
with disjoint flags, and G_AddLike is then either a m_GADD or
m_GDisjointOr.

The rest is trying to allow matching `const MachineInstr&`, as opposed
to non-const references.


  Commit: 5c055cc4eb2ef610ad44e6c8202bd3dc9bce07e7
      https://github.com/llvm/llvm-project/commit/5c055cc4eb2ef610ad44e6c8202bd3dc9bce07e7
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    R llvm/include/llvm/Support/Mustache.h
    M llvm/lib/Support/CMakeLists.txt
    R llvm/lib/Support/Mustache.cpp
    M llvm/unittests/Support/CMakeLists.txt
    R llvm/unittests/Support/MustacheTest.cpp

  Log Message:
  -----------
  Revert "[llvm] add support for mustache templating language (#105893)" (#130676)

This broke some build bot warnings


https://lab.llvm.org/buildbot/#/builders/160/builds/14381/steps/5/logs/stdio

reverts: https://github.com/llvm/llvm-project/pull/105893


  Commit: 5757da1480691eb6e452c0aaa6036d03c1660817
      https://github.com/llvm/llvm-project/commit/5757da1480691eb6e452c0aaa6036d03c1660817
  Author: Julius Alexandre <juliuswoosebert at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M lldb/docs/resources/build.rst

  Log Message:
  -----------
  [lldb][docs] Added LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS for macOS configuration (#130381)

Referenced here:
https://github.com/llvm/llvm-project/issues/130171#issuecomment-2707058235

I think this will allow for issues relating towards missing modules for
test suites to be more manageable.

cc @adrian-prantl

---------

Co-authored-by: medievalghoul <61852278+medievalghoul at users.noreply.github.com>


  Commit: 6657769199ad625ea0cb7f7c054d4f6a27806080
      https://github.com/llvm/llvm-project/commit/6657769199ad625ea0cb7f7c054d4f6a27806080
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Driver/hexagon-toolchain-linux.c

  Log Message:
  -----------
  [hexagon] Enable --eh-frame-hdr (#130225)

The missing `PT_GNU_EH_FRAME` was causing C++ exception handling test
failures in llvm-test-suite. We should unconditionally add this argument
like the other drivers do.

Discovered-by: Alexey Karyakin <akaryaki at quicinc.com> 
Fixes: #129745


  Commit: 0230d63b4a8b9f420b0aaac373891df1199715a8
      https://github.com/llvm/llvm-project/commit/0230d63b4a8b9f420b0aaac373891df1199715a8
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp

  Log Message:
  -----------
  [MLIR][OneShotBufferize] Fix opFilter init (#130633)

OneShotBufferizePass's opFilter definition in runOnOperation() fails to
allow operations for all dialect when the dialectFilter has an empty
array value (as opposed to no value). This happens when constructing
OneShotBufferizePass from a OneShotBufferizePassOptions parameter with
an empty dialectFilter. This commit only does filtering if filterDialect
option has a value and it is not an empty array.


  Commit: 9b066f0b57fdf341e55f754fa35d49e1b35b1af3
      https://github.com/llvm/llvm-project/commit/9b066f0b57fdf341e55f754fa35d49e1b35b1af3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td

  Log Message:
  -----------
  [RISCV] Merge DecoderNamespace for CORE-V extensions. NFC

Similar to Qualcomm, Sifive, T-Head, and Rivos extensions.


  Commit: b15ccd436aef320802635984f336fcfe5b69ff0b
      https://github.com/llvm/llvm-project/commit/b15ccd436aef320802635984f336fcfe5b69ff0b
  Author: Nikhil Kalra <nkalra at apple.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Bindings/Python/Diagnostics.h
    M mlir/test/python/ir/diagnostic_handler.py
    M mlir/test/python/lib/PythonTestCAPI.cpp
    M mlir/test/python/lib/PythonTestCAPI.h
    M mlir/test/python/lib/PythonTestModuleNanobind.cpp

  Log Message:
  -----------
  [mlir] Better Python diagnostics (#128581)

Updated the Python diagnostics handler to emit notes (in addition to
errors) into the output stream so that users have more context as to
where in the IR the error is occurring.


  Commit: fa315eceb7ab6106729c6b52495891c3f0f58478
      https://github.com/llvm/llvm-project/commit/fa315eceb7ab6106729c6b52495891c3f0f58478
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fold-binop-into-select.ll
    M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
    M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
    M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll

  Log Message:
  -----------
  [RISCV] Convert vsub.vx to vadd.vi if possible (#130669)

We'd already had this transform for the intrinsics, but hadn't added it
for either fixed length or scalable vectors coming from normal IR.

For the record, the fact we have three different sets of patterns here
really is quite ugly.


  Commit: ae23dd5d9983c07dbd32919e9fba19176a9cefb9
      https://github.com/llvm/llvm-project/commit/ae23dd5d9983c07dbd32919e9fba19176a9cefb9
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.deprecated/p1.cpp
    M clang/test/Sema/attr-availability-macosx.cpp

  Log Message:
  -----------
  Reland: [clang] Fix missing diagnostic of declaration use when accessing TypeDecls through typename access (#130673)


  Commit: af62a6f59aeed78e6f3eb88152397f2006b96dfd
      https://github.com/llvm/llvm-project/commit/af62a6f59aeed78e6f3eb88152397f2006b96dfd
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/coarrays02.f90

  Log Message:
  -----------
  [flang] Enforce F'2023 constraints C917 & C918 (#129962)

These are constraints that preclude the need to obtain type information
from descriptors on other images, essentially. When designating a
polymorphic component, its base may not be coindexed; nor shall a
coindexed designator have a type with a polymorphic potential subobject
component.


  Commit: 016557fab24ae4d99ab6aa98433cce23f2d03ac2
      https://github.com/llvm/llvm-project/commit/016557fab24ae4d99ab6aa98433cce23f2d03ac2
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Semantics/type.cpp
    A flang/test/Semantics/pdt04.f90
    M flang/test/Semantics/resolve105.f90

  Log Message:
  -----------
  [flang] Better error handling for PDT constant expression (#130637)

We currently don't consider an integer division to be a constant
expression unless its divisor is known and nonzero. This produces a
weird result in the linked test; do better.

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


  Commit: 4a76c20bab1505851d54cd30d4bf7a1b161db9fd
      https://github.com/llvm/llvm-project/commit/4a76c20bab1505851d54cd30d4bf7a1b161db9fd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Reduce arguments for CVStore_rr_inc and CVStore_rr clases in RISCVInstrInfoXCV.td. NFC

The ins, outs, and argstr for all instantiations of the classes
are the same so just make them part of the class.


  Commit: a5a33d82931def5a2f6f4dcfca834574190b4b50
      https://github.com/llvm/llvm-project/commit/a5a33d82931def5a2f6f4dcfca834574190b4b50
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Move let Constraints closer to where outs/ins are declared in RISCVInstrInfoXCV.td. NFC

The Constraint refers to the ins/outs register names so should be
as close as they can be.


  Commit: 426caf1182caa40a1af8eaa6cf2d88dededa671a
      https://github.com/llvm/llvm-project/commit/426caf1182caa40a1af8eaa6cf2d88dededa671a
  Author: Connector Switch <c8ef at outlook.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M libc/hdr/CMakeLists.txt
    A libc/hdr/locale_macros.h
    M libc/test/src/locale/CMakeLists.txt
    M libc/test/src/locale/locale_test.cpp
    M libc/test/src/locale/localeconv_test.cpp

  Log Message:
  -----------
  [libc] add locale proxy header (#130621)

Address review comments in #130407.

This patch is already covered by existing locale test cases.


  Commit: 9d7ca6cdf038dab24fbc5c22a91be36604decb67
      https://github.com/llvm/llvm-project/commit/9d7ca6cdf038dab24fbc5c22a91be36604decb67
  Author: Austin <zhenhangwang at huawei.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M libcxx/include/regex
    M libcxx/test/std/re/re.alg/re.alg.match/ecma.pass.cpp

  Log Message:
  -----------
  [regex] fix uncaught exception when string is like "\\_" (#129348)

`\_ `is a valid identity escape in regular expressions, but previously
libc++ incorrectly treated it as invalid. So I deleted this judgment
fixes #129062


  Commit: 3226617f023d46708414f867c726695a1a2dd562
      https://github.com/llvm/llvm-project/commit/3226617f023d46708414f867c726695a1a2dd562
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp

  Log Message:
  -----------
  AMDGPU: Remove a duplicate setOperationAction, NFC (#130664)


  Commit: 1dffe8f364a4d5ed0b1efc981a1d9a30166aae05
      https://github.com/llvm/llvm-project/commit/1dffe8f364a4d5ed0b1efc981a1d9a30166aae05
  Author: R <rqou at berkeley.edu>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    A flang/test/Fir/alloc-32.fir
    M flang/test/Fir/alloc.fir
    M flang/test/Integration/OpenMP/private-global.f90
    M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
    M flang/test/Lower/forall/character-1.f90
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  Reland [flang] In AllocMemOp lowering, convert types for calling malloc on 32-bit (#130386)

Previous PR: https://github.com/llvm/llvm-project/pull/129308

Changes:
* The alloc-32.fir test is now marked as requiring the X86 target.
* Drive-by fixes uncovered when fixing tests involving malloc


  Commit: 666540cb65331970e4953891cb8525a32e7da6b8
      https://github.com/llvm/llvm-project/commit/666540cb65331970e4953891cb8525a32e7da6b8
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
    M llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp

  Log Message:
  -----------
  [ORC] Swap handleAsync handler and send-result arguments.

Placing the handler argument last improves readability when passing a lambda
value (the common case for this API).


  Commit: 8338fbe455883ce6395b98401fd17ee40852c3a7
      https://github.com/llvm/llvm-project/commit/8338fbe455883ce6395b98401fd17ee40852c3a7
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/unittests/ADT/STLExtrasTest.cpp

  Log Message:
  -----------
  [ADT] Use `adl_begin`/`end` in `hasNItems`* (#130524)

This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.

This was a part of #87936 but reverted due to buildbot failures.


  Commit: 7d4d8509cbec7eecd8aaf2510015b54bc5c173e1
      https://github.com/llvm/llvm-project/commit/7d4d8509cbec7eecd8aaf2510015b54bc5c173e1
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Don't remove parentheses separated from ellipsis by comma (#130471)

Also clean up `case tok::r_paren` in
`UnwrappedLineParser::parseParens()`.

Fix #130359


  Commit: 256bde4fe426947698259c5c46bb841467e9d7ab
      https://github.com/llvm/llvm-project/commit/256bde4fe426947698259c5c46bb841467e9d7ab
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrBuilder.h

  Log Message:
  -----------
  [X86] Use Register in X86InstrBuilder.h. NFC (#130514)

I had to give the X86AddressMode Base union a name and a constructor so
it would default to Register. This means the Base.Reg = 0 in the
X86AddressMode constructor is no longer needed.


  Commit: 5bf048659972964912e0de88b5fcaef338b15dfc
      https://github.com/llvm/llvm-project/commit/5bf048659972964912e0de88b5fcaef338b15dfc
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel

  Log Message:
  -----------
  [libc][bazel] Remove unneeded deps. (#130696)

The MPFRWrapper BUILD targets don't depend directly on gmp. MPFR itself
does depend on gmp, but not the wrapper.


  Commit: 205c5325b3c771d94feb0ec07e8ad89d27c2b29e
      https://github.com/llvm/llvm-project/commit/205c5325b3c771d94feb0ec07e8ad89d27c2b29e
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
    M mlir/include/mlir/Transforms/RegionUtils.h
    M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    A mlir/test/Transforms/move-operation-deps.mlir
    M mlir/test/lib/Transforms/CMakeLists.txt
    A mlir/test/lib/Transforms/TestTransformsOps.cpp
    A mlir/test/lib/Transforms/TestTransformsOps.td
    M mlir/test/lib/Transforms/lit.local.cfg
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir] Add a utility method to move operation dependencies. (#129975)

The added utility method moves all SSA values that an operation depends
upon before an insertion point. This is useful during transformations
where such movements might make transformations (like fusion) more
powerful.

To test the operation add a transform dialect op that calls the move
operation. To be able to capture the `notifyMatchFailure` messages from
the transformation and to report/check these in the test modify the
`ErrorCheckingTrackingListener` to capture the last match failure
notification.

---------

Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>


  Commit: ab6f470675ed31e5ed1494f6521c3d477c537392
      https://github.com/llvm/llvm-project/commit/ab6f470675ed31e5ed1494f6521c3d477c537392
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M lldb/source/Host/CMakeLists.txt
    A lldb/source/Host/aix/Host.cpp

  Log Message:
  -----------
  [lldb][AIX] Host.cpp for AIX (#130582)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

Added base file - aix/Host.cpp for Process info


  Commit: 612e4e9d6daff61eb480b9b3d9ca47f33168772e
      https://github.com/llvm/llvm-project/commit/612e4e9d6daff61eb480b9b3d9ca47f33168772e
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/lib/Sema/Sema.cpp
    A clang/test/Modules/pr125999.cppm

  Log Message:
  -----------
  [C++20] [Modules] Instantiate pending instantiations when GMF ends (#126842)

Close https://github.com/llvm/llvm-project/issues/125999

The cause of the problem is, when we instantiate the pending
instantiation, the owning module of the TU gets into 'foo' instead of
the GMF.

The concern of the patch is, I am not sure the point of 'pending'
instantiations. I mean, if there is a reason we **must** pending the
intantiations to the end of the TU.


  Commit: 95e38baf24ed7509decf1b9ee362cf3e23e68e54
      https://github.com/llvm/llvm-project/commit/95e38baf24ed7509decf1b9ee362cf3e23e68e54
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/test/Transforms/LoopDataPrefetch/RISCV/basic.ll

  Log Message:
  -----------
  [RISCV] Enable prefetching writes (#130561)

We should prefetch writes since `Zicbop` has `prefetch.w`.


  Commit: 494fe0b4145810d4e4e7b6003cabd194f76cb5d4
      https://github.com/llvm/llvm-project/commit/494fe0b4145810d4e4e7b6003cabd194f76cb5d4
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/WinEHPrepare.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
    M llvm/test/CodeGen/WebAssembly/exception.ll

  Log Message:
  -----------
  [WebAssembly] Remove wasm-specific findWasmUnwindDestinations (#130374)

Unlike in Itanium EH IR, WinEH IR's unwinding instructions (e.g.
`invoke`s) can have multiple possible unwind destinations.

For example:
```ll
entry:
  invoke void @foo()
     to label %cont unwind label %catch.dispatch

catch.dispatch:                                ; preds = %entry
  %0 = catchswitch within none [label %catch.start] unwind label %terminate

catch.start:                                   ; preds = %catch.dispatch
  %1 = catchpad within %0 [ptr null]
  ...

terminate:                                     ; preds = %catch.dispatch
  %2 = catchpad within none []
  ...
...
```

In this case, if an exception is not caught by `catch.dispatch` (and
thus `catch.start`), it should next unwind to `terminate`.
`findUnwindDestination` in ISel gathers the list of this unwind
destinations traversing the unwind edges:

https://github.com/llvm/llvm-project/blob/ae42f071032b29821beef6a33771258086bbbb1c/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp#L2089-L2150
But we don't use that, and instead use our custom
`findWasmUnwindDestinations` that only adds the first unwind
destination, `catch.start`, to the successor list of `entry`, and not
`terminate`:

https://github.com/llvm/llvm-project/blob/ae42f071032b29821beef6a33771258086bbbb1c/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp#L2037-L2087

The reason behind it was, as described in the comment block in the code,
it was assumed that there always would be an `invoke` that connects
`catch.start` and `terminate`. In case of `catch (type)`, there will be
`call void @llvm.wasm.rethrow()` in `catch.start`'s predecessor that
unwinds to the next destination. For example:

https://github.com/llvm/llvm-project/blob/0db702ac8e06911478615ac537f75ac778817c04/llvm/test/CodeGen/WebAssembly/exception.ll#L429-L430
In case of `catch (...)`, `__cxa_end_catch` can throw, so it becomes an
`invoke` that unwinds to the next destination. For example:
https://github.com/llvm/llvm-project/blob/0db702ac8e06911478615ac537f75ac778817c04/llvm/test/CodeGen/WebAssembly/exception.ll#L537-L538
So the unwind ordering relationship between `catch.start` and
`terminate` here would be preserved.

But turns out this assumption does not always hold. For example:
```ll
entry:
  invoke void @foo()
     to label %cont unwind label %catch.dispatch

catch.dispatch:                                ; preds = %entry
  %0 = catchswitch within none [label %catch.start] unwind label %terminate

catch.start:                                   ; preds = %catch.dispatch
  %1 = catchpad within %0 [ptr null]
  ...
  call void @_ZSt9terminatev()
  unreachable

terminate:                                     ; preds = %catch.dispatch
  %2 = catchpad within none []
  call void @_ZSt9terminatev()
  unreachable
...
```
In this case there is no `invoke` that connects `catch.start` to
`terminate`. So after `catch.dispatch` BB is removed in ISel,
`terminate` is considered unreachable and incorrectly removed in DCE.

This makes Wasm just use the general `findUnwindDestination`. In that
case `entry`'s successor is going to be [`catch.start`, `terminate`]. We
can get the first unwind destination by just traversing the list from
the front.

---

This required another change in WinEHPrepare. WinEHPrepare demotes all
PHIs in EH pads because they are funclets in Windows and funclets can't
have PHIs. When used in Wasm they are not funclets so we don't need to
do that wholesale but we still need to demote PHIs in `catchswitch` BBs
because they are deleted during ISel. (So we created
[`-demote-catchswitch-only`](https://github.com/llvm/llvm-project/blob/a5588b6d20590a10db0f1a2046fba4d9f205ed68/llvm/lib/CodeGen/WinEHPrepare.cpp#L57-L59)
option for that)

But turns out we need to remove PHIs that have a `catchswitch` BB as an
incoming block too:
```ll
...
catch.dispatch:
  %0 = catchswitch within none [label %catch.start] unwind label %terminate

catch.start:
  ...

somebb:
  ...

ehcleanup                                      ; preds = %catch.dispatch, %somebb
  %1 = phi i32 [ 10, %catch.dispatch ], [ 20, %somebb ]
  ...
```
In this case the `phi` in `ehcleanup` BB should be demoted too because
`catch.dispatch` BB will be removed in ISel so one if its incoming block
will be gone. This pattern didn't manifest before presumably due to how
`findWasmUnwindDestinations` worked. (In this example, in our
`findWasmUnwindDestinations`, `catch.dispatch` would have had only one
successor, `catch.start`. But now `catch.dispatch` has both
`catch.start` and `ehcleanup` as successors, revealing this bug. This
case is
[represented](https://github.com/llvm/llvm-project/blob/ab87206c4b95aa0b5047facffb5f78f7fe6ac269/llvm/test/CodeGen/WebAssembly/exception.ll#L445)
by `rethrow_terminator` function in `exception.ll` (or
`exception-legacy.ll`) and without the WinEHPrepare fix it will crash.

---

Discovered by the reproducer provided in #126916, even though the bug
reported there was not this one.


  Commit: 9a5a8c9a8072d9af9cea087e506ea213bd89c0f5
      https://github.com/llvm/llvm-project/commit/9a5a8c9a8072d9af9cea087e506ea213bd89c0f5
  Author: Srinivasa Ravi <srinivasar at nvidia.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/st_bulk.ll

  Log Message:
  -----------
  [NVPTX] Add intrinsics for st.bulk instruction (#128856)

Adds NVVM intrinsics and NVPTX codegen for the `st.bulk` instruction
introduced in ptx8.6 for sm_100. Tests added in
`CodeGen/NVPTX/st_bulk.ll` and verified through ptxas 12.8.0.

PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-st-bulk


  Commit: 3ce43c8b16a6aefe79ce976b1340ccd493cf533a
      https://github.com/llvm/llvm-project/commit/3ce43c8b16a6aefe79ce976b1340ccd493cf533a
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [WebKit checkers] Don't treat virtual functions as safe. (#129632)

Prior to this PR, WebKit checkers erroneously treated functions to be
safe if it has a trivial body even if it was marked as virtual. In the
case of a virtual function, it can have an override which does not pass
the triviality check so we must not make such an assumption.

This PR also restricts the allowed operator overloading while finding
the pointer origin to just operators on smart pointer types: Ref,
RefPtr, CheckedRef, CheckedPtr, RetainPtr, WeakPtr, WeakRef, unique_ptr,
and UniqueRef.


  Commit: fd21d35178c50207cdc03f53ee16f83d22613ab0
      https://github.com/llvm/llvm-project/commit/fd21d35178c50207cdc03f53ee16f83d22613ab0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [TableGen] Reduce the number of vectors passed to getIslands. NFC (#130402)

Combine the StartBits, EndBits, and FieldVals vectors into a single
vector of a struct that contains all 3 pieces of information.

Instead of storing EndBits, we store NumBits since that's what the users
want.

I've removed the BitNo variable as it was easy to construct calculate
from StartBit. I've also removed Num in favor of Islands.size().


  Commit: 72bb0a9a9c6fdde43e1e191f2dc0d5d2d46aff4e
      https://github.com/llvm/llvm-project/commit/72bb0a9a9c6fdde43e1e191f2dc0d5d2d46aff4e
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg-crash.ll

  Log Message:
  -----------
  [AMDGPU] Fix test failures when expensive checks are enabled (#130644)

This PR fixes test failures introduced in #127353 when expensive checks
are enabled.

For `llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll` and
`llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll`, `s59`
is no longer in live-ins because it is caller saved. Switch to `s55` in
this PR.


  Commit: 1e83d975d72037567afd9d3b22bb063b442ec045
      https://github.com/llvm/llvm-project/commit/1e83d975d72037567afd9d3b22bb063b442ec045
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Use inheritance to reduce duplicated code in RISCVInstrInfoXCV.td. NFC (#130703)

CVSIMDRU and CVSIMDRI were the same except for immediate type. Make it a
default argument of CVSIMDRI so that CVSIMDRU can inherit from it and
override the argument.

Similar for CVSIMDRUWb.


  Commit: bb2e85f12f6a17afdb36b2ffd2dcd17bbc4dd866
      https://github.com/llvm/llvm-project/commit/bb2e85f12f6a17afdb36b2ffd2dcd17bbc4dd866
  Author: Valery Pykhtin <valery.pykhtin at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [AMDGPU] Improve StructurizeCFG pass performance: avoid redundant DebugLoc map initialization. NFC. (#130568)

Previously, the TermDL (BB terminator → DebugLoc) map was initialized at
the start of processing each function's region, creating entries for the
entire function. This could be inefficient for large functions.

This patch improves performance by creating map entries only when
needed—when a terminator is being killed or when a flow block is
created. Additionally, entries are removed immediately after use,
preventing unnecessary map growth and ensuring DebugLocs are not
"retracked."

A mapless variant was also explored, but due to limited familiarity with
the structurizer, it was not pursued further.

In my cases, this change improves performance by 2-3×.


  Commit: 75f76d482cc24162d5e3fdae0f0acd4c8f9cec6b
      https://github.com/llvm/llvm-project/commit/75f76d482cc24162d5e3fdae0f0acd4c8f9cec6b
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    A clang-tools-extra/clang-tidy/readability/AmbiguousSmartptrResetCallCheck.cpp
    A clang-tools-extra/clang-tidy/readability/AmbiguousSmartptrResetCallCheck.h
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/ambiguous-smartptr-reset-call-custom-pointers.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/ambiguous-smartptr-reset-call.cpp

  Log Message:
  -----------
  [clang-tidy] Add bugprone-smartptr-reset-ambiguous-call check (#121291)

Add new clang-tidy check that finds potentially erroneous calls to
``reset()`` method on smart pointers when
the pointee type also has a ``reset()`` method.

It's easy to make typo and delete object because the difference between
``.`` and ``->`` is really small.

Sometimes IDE's autocomplete will change ``->`` to ``.`` automatically.
For example, developer wrote ``ptr->res`` but after pressing _Tab_ it
became ``ptr.reset()``.

Fixes #120908


  Commit: 1fe702fdecf79121346fe5374b418bc1dbf9362c
      https://github.com/llvm/llvm-project/commit/1fe702fdecf79121346fe5374b418bc1dbf9362c
  Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M lld/ELF/Arch/LoongArch.cpp
    M lld/test/ELF/loongarch-relax-emit-relocs.s
    A lld/test/ELF/loongarch-relax-tls-le.s
    M lld/test/ELF/loongarch-tls-gd.s
    M lld/test/ELF/loongarch-tls-ld.s
    M lld/test/ELF/loongarch-tls-le.s

  Log Message:
  -----------
  [lld][LoongArch] Relax TLS LE/GD/LD (#123600)

In local-exec form, the code sequence is converted as follows:
```
From:
  lu12i.w $rd, %le_hi20_r(sym)
    R_LARCH_TLS_LE_HI20_R, R_LARCH_RELAX
  add.w/d $rd, $rd, $tp, %le_add_r(sym)
    R_LARCH_TLS_LE_ADD_R, R_LARCH_RELAX
  addi/ld/st.w/d $rd, $rd, %le_lo12_r(sym)
    R_LARCH_TLS_LE_LO12_R, R_LARCH_RELAX
To:
  addi/ld/st.w/d $rd, $tp, %le_lo12_r(sym)
    R_LARCH_TLS_LE_LO12_R
``` 

In global-dynamic or local-dynamic, the code sequence is converted as
follows:
```
From:
  pcalau12i     $a0, %ld_pc_hi20(sym)  | %gd_pc_hi20(sym)
    R_LARCH_TLS_GD_PC_HI20 | R_LARCH_TLS_LD_PC_HI20, R_LARCH_RELAX
  addi.w/d $a0, $a0, %got_pc_lo12(sym) | %got_pc_lo12(sym)
    R_LARCH_GOT_PC_LO12, R_LARCH_RELAX
To:
  pcaddi        $a0, %got_pc_lo12(sym) | %got_pc_lo12(sym)
    R_LARCH_TLS_GD_PCREL20_S2 | R_LARCH_TLS_LD_PCREL20_S2
``` 
Note: For initial-exec form, since it involves the conversion from IE to
LE, we will implement it in a future patch.


  Commit: 318bef91eafb7e01be707b9919c36ef424840041
      https://github.com/llvm/llvm-project/commit/318bef91eafb7e01be707b9919c36ef424840041
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC]refactor matcher for bugprone-optional-value-conversion (#130415)

The old `constructFrom` has hidden requirement which TypeMatcher must be used before ArgumentMatcher because there are bind inside.
Inlining this function to make it more intuitive.


  Commit: 5cfc37b3458b89927e76950c9498152ab729803e
      https://github.com/llvm/llvm-project/commit/5cfc37b3458b89927e76950c9498152ab729803e
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC]clean ConstCorrectnessCheck (#130493)


  Commit: 23d5123a08ad376d9a3cb2700fe2da1f8c1cb006
      https://github.com/llvm/llvm-project/commit/23d5123a08ad376d9a3cb2700fe2da1f8c1cb006
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:

  Log Message:
  -----------
  Revert "[llvm] add support for mustache templating language" (#130720)

Reverts llvm/llvm-project#105893 since it broke all builders that use
GCC as the compiler.


  Commit: f120b0d6d2629e226e6fa75974fbd17f46206bca
      https://github.com/llvm/llvm-project/commit/f120b0d6d2629e226e6fa75974fbd17f46206bca
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/lib/MC/MCAsmInfo.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp

  Log Message:
  -----------
  [MC] Remove MCSymbolRefExpr::VK_Invalid in favor of getVaraintKindForName returning std::optional

so that when the enum members are moved to XXXTargetExpr::VariantKind,,
they do not need to implement an invalid value.


  Commit: f4218753ad93dd44b019e38bae61dceb93514aee
      https://github.com/llvm/llvm-project/commit/f4218753ad93dd44b019e38bae61dceb93514aee
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/AST/ByteCode/if.cpp
    A clang/test/CodeGen/p0963r3.cpp
    M clang/test/Parser/cxx1z-decomposition.cpp
    M clang/test/Parser/decomposed-condition.cpp
    M clang/test/SemaCXX/decomposed-condition.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Implement P0963R3 "Structured binding declaration as a condition" (#130228)

This implements the R2 semantics of P0963.

The R1 semantics, as outlined in the paper, were introduced in Clang 6.
In addition to that, the paper proposes swapping the evaluation order of
condition expressions and the initialization of binding declarations
(i.e. std::tuple-like decompositions).


  Commit: 4a4444c0b2f68bec1db8e2cc8d133982d5a339e3
      https://github.com/llvm/llvm-project/commit/4a4444c0b2f68bec1db8e2cc8d133982d5a339e3
  Author: David Green <david.green at arm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [CodeModel] Factor getCost out of CostModelPrinter loop. NFC

This helps in a follow-up so that it can be called multiple times with
different cost types.


  Commit: 8758e5fe47b5cf2d39d94ee6dc8834755c7687d9
      https://github.com/llvm/llvm-project/commit/8758e5fe47b5cf2d39d94ee6dc8834755c7687d9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    A llvm/test/Transforms/InstSimplify/ConstProp/inttoptr-gep-index-width.ll

  Log Message:
  -----------
  [ConstantFolding] Fix handling of index width != pointer width (#130608)

Per LangRef:

> The offsets are then added to the low bits of the base address up to
the index type width, with silently-wrapping two’s complement
arithmetic. If the pointer size is larger than the index size, this
means that the bits outside the index type width will not be affected.

The transform as implemented was doubly wrong, because it just truncated
the original base pointer to the index width, losing the top bits
entirely. Make sure we preserve the bits and use wrapping arithmetic
within the low bits.


  Commit: 7ecb0d03a4d78357adc35137a3109ee305ac4fff
      https://github.com/llvm/llvm-project/commit/7ecb0d03a4d78357adc35137a3109ee305ac4fff
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M lldb/source/Core/Mangled.cpp

  Log Message:
  -----------
  [lldb][Mangled] Use early-return style in GetDemangledName (#130622)

This patch refactors `Mangled::GetDemangledName` to use LLVM's preferred
early-return style. I'm planning on introducing a way to force
re-demangling of names in a future patch, and this stylisitc cleanup
makes that easier to reason about.

Also performed small cleanups where I could:
* we can handle `eManglingSchemeNone` inside the switch instead of a
separate if-block
* removed some redundant explicit StringRef<->C-string conversions


  Commit: cdd560eead457bcc6dbb28ef88d868bc68cfd7e6
      https://github.com/llvm/llvm-project/commit/cdd560eead457bcc6dbb28ef88d868bc68cfd7e6
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Utility/XcodeSDK.h
    M lldb/source/Utility/XcodeSDK.cpp
    M lldb/unittests/Utility/XcodeSDKTest.cpp

  Log Message:
  -----------
  [lldb][XcodeSDK] Simplify logic that adjusts sysroot during XcodeSDK merging (#130640)

The `DW_AT_APPLE_sdk` should always be equal to the filename of the
`DW_AT_LLVM_sysroot`. We can use this property to simplify
`XcodeSDK::Merge` to no longer manually adjust the sysroot filename.
Instead we simply update the sysroot filename with merged SDK name.

This should be an NFC change.


  Commit: cb7298f66d62a3548fcf3bd230304067ecf30d17
      https://github.com/llvm/llvm-project/commit/cb7298f66d62a3548fcf3bd230304067ecf30d17
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/tools/dump_ast_matchers.py
    M clang/include/clang/ASTMatchers/ASTMatchers.h

  Log Message:
  -----------
  [AstMatcher][NFC]fix doc gen for ast matchers (#130726)

1. dump-ast-matchers.py does not depend on pwd
2. fix some warning in python3


  Commit: 1ddf18057a5aa1ee7010ec262ccfc80c39b99bf6
      https://github.com/llvm/llvm-project/commit/1ddf18057a5aa1ee7010ec262ccfc80c39b99bf6
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/test/Fir/copy-codegen.fir
    M flang/test/Fir/fir-ops.fir
    M flang/test/Fir/invalid.fir

  Log Message:
  -----------
  [flang] introduce fir.copy to avoid load store of aggregates (#130289)

Introduce a FIR operation to do memcopy/memmove of compile time constant size types.

This is to avoid requiring derived type copies to done with load/store
which is badly supported in LLVM when the aggregate type is "big" (no
threshold can easily be defined here, better to always avoid them for
fir.type).

This was the root cause of the regressions caused by #114002 which introduced a
load/store of fir.type<> which caused hand/asserts to fire in LLVM on
several benchmarks.

See https://llvm.org/docs/Frontend/PerformanceTips.html#avoid-creating-values-of-aggregate-type


  Commit: 976e41302411e511ab0e99922288185b5939bf54
      https://github.com/llvm/llvm-project/commit/976e41302411e511ab0e99922288185b5939bf54
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Core/Mangled.h

  Log Message:
  -----------
  [lldb][Mangled][NFC] Clean up member variable doxygen comments


  Commit: 148a7ae328b431f07c0d1fca9e0e9e232c054967
      https://github.com/llvm/llvm-project/commit/148a7ae328b431f07c0d1fca9e0e9e232c054967
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx-shift.ll
    M llvm/test/CodeGen/X86/gfni-shifts.ll
    M llvm/test/CodeGen/X86/known-bits-vector.ll
    M llvm/test/CodeGen/X86/pmul.ll
    M llvm/test/CodeGen/X86/vector-fshl-256.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
    M llvm/test/CodeGen/X86/vector-idiv-udiv-256.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-rotate-256.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
    M llvm/test/CodeGen/X86/vector-shuffle-v192.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - add support for AVX1 and/or/xor/andnp concatenation (#130645)

Limit AVX1-only targets to cases where at least one operand is
beneficial to concatenate, but avoid unnecessary 256-bit NOT patterns
unless it allows further folds.

There are still a large number of regressions when limiting AVX2+
targets to beneficial concatenation - so added a TODO for now.


  Commit: 1ff10fa82fff83bb2f0a5c1ffde6203b52bc9619
      https://github.com/llvm/llvm-project/commit/1ff10fa82fff83bb2f0a5c1ffde6203b52bc9619
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlanDominatorTree.h
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll

  Log Message:
  -----------
  [LV] Limits the splat operations be hoisted must not be defined by a recipe. (#117138)

Issue https://github.com/llvm/llvm-project/issues/117139


  Commit: 055db3ec334221408f5187ce507c45925ceeb143
      https://github.com/llvm/llvm-project/commit/055db3ec334221408f5187ce507c45925ceeb143
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll

  Log Message:
  -----------
  [LV] Optimise latch exit induction users for some early exit loops (#128880)

This is the first of two PRs that attempts to improve the IR
generated in the exit blocks of vectorised loops with uncountable
early exits. In this PR I am improving the generated code for
users of induction variables in early exit loops that have a
unique exit block, when exiting via the latch.

I have moved some of the code for calculating the exit values in
latch exit blocks from `optimizeInductionExitUsers` into a new
function `optimizeLatchExitInductionUser`.

I intend to follow this up very soon with another patch to
optimise the code for induction users in the vector.early.exit
block.


  Commit: a542a083093e7013aabe921cc92f623861a7467d
      https://github.com/llvm/llvm-project/commit/a542a083093e7013aabe921cc92f623861a7467d
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    A flang/test/Lower/OpenMP/reduction-equivalence.f90

  Log Message:
  -----------
  [flang][OpenMP] Support reduction of variables in EQUIVALENCE (#130607)

These previously crashed the compiler because !fir.ptr (not wrapped
inside of a box) was not supported.

Real POINTER variables are supported as !fir.box<!fir.ptr<>>. The
version for EQUIVALENCE doesn't need to do anything different to
!fir.ref<>.


  Commit: f590843616d22338ca4bfd1c8623a5dc7c76b6ec
      https://github.com/llvm/llvm-project/commit/f590843616d22338ca4bfd1c8623a5dc7c76b6ec
  Author: Bart Chrzaszcz <bartchr at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [mlir] Fix bazel build after 205c532


  Commit: cdf18331eb51ba5953182a2fb9248640f43a7d13
      https://github.com/llvm/llvm-project/commit/cdf18331eb51ba5953182a2fb9248640f43a7d13
  Author: David Green <david.green at arm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Analysis/CostModel.cpp
    M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll

  Log Message:
  -----------
  [CostModel] Add -cost-kind=all costmodel output (#130490)

In order to make the different cost model kinds easier to test, and to
manage the complexity of all the different variants, this patch
introduces a -cost-kind=all option that will print the output of all
cost model kinds. It feel especially helpful for tests that already have
multiple run lines (with / without +fullfp16 for example).

It currently produces the output:
```
Cost Model: Found costs of RThru:1 CodeSize:1 Lat:3 SizeLat:1 for: %F16 = fadd half undef, undef
```

The output is collapsed into a single value if all costs are the same.
Invalid costs print "Invalid" via the normal InstructionCost printing.

Two test files are updated to show some examples with
-intrinsic-cost-strategy=type-based-intrinsic-cost and Invalid costs.
Once we have something we are happy with I will try to use this to
update more tests, as in b021bdbb3997ef6dd13980dc44f24754f15f3652 but
for more variants.


  Commit: 4d17ae7776ef6ffe2dd04c146632282ac173cae6
      https://github.com/llvm/llvm-project/commit/4d17ae7776ef6ffe2dd04c146632282ac173cae6
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
    M mlir/test/Dialect/Affine/loop-tiling.mlir

  Log Message:
  -----------
  [MLIR][Affine] Fix affine-loop-tile zero cache size corner case crash (#130526)

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


  Commit: 63635c174610344a47c686a9a8e5cc266f39a320
      https://github.com/llvm/llvm-project/commit/63635c174610344a47c686a9a8e5cc266f39a320
  Author: Ritanya-B-Bharadwaj <ritanya.b.bharadwaj at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/OpenMP/requires_ast_print.cpp
    M clang/test/OpenMP/requires_messages.cpp
    M clang/test/OpenMP/target_data_ast_print.cpp
    M clang/test/OpenMP/target_map_messages.cpp
    M clang/tools/libclang/CIndex.cpp
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [clang] [OpenMP] New OpenMP 6.0 self_maps clause (#129888)

Initial parsing/sema support for self maps in map and requirement clause
[Sections 7.9.6 and 10.5.1.6 in OpenMP 6.0 spec]


  Commit: 26ecf978951b79138b76afbba6a4adc926d28507
      https://github.com/llvm/llvm-project/commit/26ecf978951b79138b76afbba6a4adc926d28507
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    A llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll

  Log Message:
  -----------
  [LoopVectorize] Further improve cost model for early exit loops (#126235)

Following on from #125058, this patch takes into account the
work done in the vector early exit block when assessing the
profitability of vectorising the loop. I have renamed
areRuntimeChecksProfitable to isOutsideLoopWorkProfitable and
we now pass in the early exit costs. As part of this, I have
added the ExtractFirstActive opcode to VPInstruction::computeCost.

It's worth pointing out that when we assess profitability of the
loop we calculate a minimum trip count and compare that against
the *maximum* trip count. However, since the loop has an early
exit the runtime trip count can still end up being less than the
minimum. Alternatively, we may never take the early exit at all
at runtime and so we have the opposite problem of over-estimating
the cost of the loop. The loop vectoriser cannot simultaneously
take two contradictory positions and so I feel the only sensible
thing to do is be conservative and assume the loop will be more
expensive than loops without early exits.

We may find in future that we need to adjust the cost according to
the probability of taking the early exit. This will become even
more important once we support multiple early exits. However, we
have to start somewhere and we can always revisit this later.


  Commit: dbbadfd770b76d3917b47572af74f590c82eb632
      https://github.com/llvm/llvm-project/commit/dbbadfd770b76d3917b47572af74f590c82eb632
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/llvm.modf-win32.ll

  Log Message:
  -----------
  [SDAG][X86] Promote float FMODF to double on 32-bit Windows (#130636)

On 32-bit MSVC `modff` is not a defined symbol -- only `modf` (`modff`
is an inline function). Promoting FMODF to double in this case ensures
we end up calling `modf` -- matching the behaviour of the CRT headers.


  Commit: 1b455df780ed1d578b63f969c636fe78b2eb6014
      https://github.com/llvm/llvm-project/commit/1b455df780ed1d578b63f969c636fe78b2eb6014
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    A mlir/test/Integration/Dialect/MemRef/copy-runtime-verification.mlir

  Log Message:
  -----------
  [mlir][memref] Add runtime verification for `memref.copy` (#130437)

Implement runtime op verification for `memref.copy`. Only ranked memrefs
are verified at the moment.


  Commit: 29f5d5bea92f937d4e2fea7fdd16036fff528adf
      https://github.com/llvm/llvm-project/commit/29f5d5bea92f937d4e2fea7fdd16036fff528adf
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    A flang/test/Lower/OpenMP/privatization-proc-ptr.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix privatization of procedure pointers (#130336)

Fixes #121720


  Commit: 849abd8c05cf9899cd943a7b56bae57f93ea80cb
      https://github.com/llvm/llvm-project/commit/849abd8c05cf9899cd943a7b56bae57f93ea80cb
  Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/test/Dialect/Linalg/reshape_fusion.mlir

  Log Message:
  -----------
  [mlir][linalg] Add transpose support for reshape as consumer fusion (#130344)

During https://github.com/llvm/llvm-project/pull/129128 adding reshape
as consumer fusion handling of linalg.transpose was missed. This PR adds
that.
Also transpose reshape as producer fusion test is updated to static
sizes as that is more likely to catch any issues with the permutation
vector in the verifier if the shapes dont match up.

---------

Signed-off-by: Nirvedh Meshram <nirvedh at gmail.com>


  Commit: 5c8760b1abb677d5eb65ed9a18521d0a6d5121cc
      https://github.com/llvm/llvm-project/commit/5c8760b1abb677d5eb65ed9a18521d0a6d5121cc
  Author: David Green <david.green at arm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll

  Log Message:
  -----------
  [AArch64] Update arith-fp.ll codegen test. NFC

A run line with and without +fullfp16 is added to check the differences between
the two, and the fp16 tests are separated out to keep the other check lines
simpler. FP128 tests are added for all operations, and fmuladd tests are added
similar to fma.


  Commit: 405c28bb10928a59c5647ec0768387e27a64f5d0
      https://github.com/llvm/llvm-project/commit/405c28bb10928a59c5647ec0768387e27a64f5d0
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    A clang/test/Analysis/builtin_assume.cpp
    M clang/test/Analysis/out-of-bounds-new.cpp

  Log Message:
  -----------
  [NFC][analyzer] Split [[assume]] tests to a separate file (#130763)

Recently commit 7e5821bae80db3f3f0fe0d5f8ce62f79e548eed5 (which is a
re-application of 89da344e5879e5347b5057520d5230e40ae24831) added some
tests to `out-of-bounds-new.cpp`, which use a very simple out of bounds
report to reveal the internal state of the analyzer, but are otherwise
completely unrelated to the checker `security.ArrayBound`, which is
tested in `out-of-bounds-new.cpp`.

(Instead, they test handling of `__builtin_assume` and `[[assume()]]`
annotations.)

This commit reverts `out-of-bounds-new.cpp` to its previous state and
moves the new tests to a separate test file.


  Commit: a7d7db71db2f4b1bca2484f2039ac57b01566a0e
      https://github.com/llvm/llvm-project/commit/a7d7db71db2f4b1bca2484f2039ac57b01566a0e
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    A clang/test/Analysis/ArrayBound/assumption-reporting.c
    A clang/test/Analysis/ArrayBound/assumptions.c
    A clang/test/Analysis/ArrayBound/brief-tests.c
    A clang/test/Analysis/ArrayBound/cplusplus.cpp
    A clang/test/Analysis/ArrayBound/verbose-tests.c
    R clang/test/Analysis/out-of-bounds-constraint-check.c
    R clang/test/Analysis/out-of-bounds-diagnostics.c
    R clang/test/Analysis/out-of-bounds-new.cpp
    R clang/test/Analysis/out-of-bounds-notes.c
    R clang/test/Analysis/out-of-bounds.c

  Log Message:
  -----------
  [NFC][analyzer] OOB test consolidation IV: rename files (#129697)

This commit finishes the reorganization of the tests for the checker
`security.ArrayBound`.

Previously these tests were all named `out-of-bounds-*` which was only
weakly connected to the checker name; this commit moves them to a
directory named after the checker (`ArrayBound`). I decided to use a
directory instead of the more common filename prefix ("poor man's
directory") system because it seems to be a more natural use of the
filesystem and there are already a few precedents for it.

I also added (or edited) comments at the beginning of each test file to
describe their purpose; and I added a single new testcase to highlight
that the assumption note tags can be added to reports by any checker.
(Previously all tests in the file triggered out-of-bounds reports to
reveal the note tags; but that was just for convenience.)


  Commit: 3df8be3ee906374b992268683b59c9dd4780aaef
      https://github.com/llvm/llvm-project/commit/3df8be3ee906374b992268683b59c9dd4780aaef
  Author: Nathan Gauër <brioche at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M .ci/metrics/metrics.py

  Log Message:
  -----------
  [CI] Extend metrics container to log BuildKite metrics (#129699)

The current container focuses on Github metrics. Before deprecating
BuildKite, we want to make sure the new infra quality is better, or at
least the same.

Being able to compare buildkite metrics with github metrics on grafana
will allow us to easily present the comparison.

This PR requires https://github.com/llvm/llvm-zorg/pull/400 to be merged
first.


  Commit: 5d50af3f0368847ab9ce1d86cb6e46ffaf317b59
      https://github.com/llvm/llvm-project/commit/5d50af3f0368847ab9ce1d86cb6e46ffaf317b59
  Author: Nathan Gauër <brioche at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M .ci/metrics/metrics.py

  Log Message:
  -----------
  Revert "[CI] Extend metrics container to log BuildKite metrics" (#130770)

Reverts llvm/llvm-project#129699


  Commit: 389a705b8e7cb0d9ef460e1dc61e5fbf287ed0dc
      https://github.com/llvm/llvm-project/commit/389a705b8e7cb0d9ef460e1dc61e5fbf287ed0dc
  Author: Nathan Gauër <brioche at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M .ci/metrics/metrics.py

  Log Message:
  -----------
  [CI] Rework github workflow processing (#130317)

Before this patch, the job/workflow name impacted the metric name,
meaning a change in the workflow definition could break monitoring. This
patch adds a map to get a stable name on metrics from a workflow name.

In addition, it reworks a bit how we track the last processed workflow:
the github queries are broken if filtering is applied, meaning we have a
list of workflow, ordered by 'created_at', which mixes completed &
running workflows.
We have no guarantees over the order of completion, meaning we cannot
stop at the first completed job we found (even per-workflow).

This PR processed the last 1000 workflows, but allows an early stop if
the created_at time is older than 8 hours. This means we could miss
long-running workflows (>8 hours), and if the number of workflows
started before another one completes becomes high (>1000), we'll miss
it.
To detect this kind of behavior, a new metric is added "oldest workflow
processed", which should at least indicate if the depth is too small.

An alternative without arbitrary cut would be to initially parse all
workflows, and then record the last non-completed one we find and always
start from the last (moving the lower bound as they complete). But LLVM
has forever-queued workflows runs (>1 years), hence this would cause us
to iterate over a very large number of jobs.

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 7341753a2e23360c84d4ae195c3778b735193253
      https://github.com/llvm/llvm-project/commit/7341753a2e23360c84d4ae195c3778b735193253
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M flang-rt/CMakeLists.txt
    A flang-rt/cmake/clang_gcc_root.cpp
    A flang-rt/cmake/quadmath_wrapper.h.in
    M flang-rt/lib/quadmath/CMakeLists.txt
    M flang-rt/lib/quadmath/complex-math.h
    M flang-rt/lib/quadmath/math-entries.h

  Log Message:
  -----------
  [Flang-RT] Environment introspection for quadmath.h (#130411)

When compiling Flang-RT with Clang, query Clang for the GCC installation
it uses. If found, create `quadmath_wrapper.h` that points to the
`quadmath.h` of that GCC installation.

`quadmath.h` is only available when compiling with gcc, and Clang has no
equivalent even though gcc's version compiles fine with Clang (at least
up to and including gcc 13). It is still available into gcc's
installation resource dir (in constrast to a system-wide indirectory
such as `/usr/include` or `/usr/local/include`) and therefore not
available to any compiler other than the gcc of that installation.
quadmath may also be a different OS package than gcc itself, so it is
not necessarily presesent.
 
Clang actually already appropriates a GCC installation for its libraries
such that `libquadmath.a` is already found, but it does not do so for
the include paths. Because adding that directory to the header search
path may have wide-reaching consquences, we create only a wrapper header
that points to the real `quadmath.h` in the same GCC installation that
Clang uses.


  Commit: 913d077f29c2870cc47a428a9a3c67e47033fe86
      https://github.com/llvm/llvm-project/commit/913d077f29c2870cc47a428a9a3c67e47033fe86
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Tosa/availability.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp

  Log Message:
  -----------
  [mlir][tosa] Change Rescale zero points to be inputs (#130340)

*Update RescaleOp to use zero-point as operands instead of attributes.
 *Check input_zp data type against the input and output_zp data type
   against the output.

Signed-off-by: Peng Sun <peng.sun at arm.com>
Co-authored-by: Peng Sun <peng.sun at arm.com>


  Commit: fcce3084cb43a12f2e6e19b8e5b655f3df8739d6
      https://github.com/llvm/llvm-project/commit/fcce3084cb43a12f2e6e19b8e5b655f3df8739d6
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/test/CodeGen/X86/avx10_2_512ni-intrinsics.ll

  Log Message:
  -----------
  [X86][AVX10.2] Fix unexpected larger scope (#130767)

https://godbolt.org/z/oM6bcqEnr


  Commit: bfeea10460d155d9b3484bed25b5dc60a9755c90
      https://github.com/llvm/llvm-project/commit/bfeea10460d155d9b3484bed25b5dc60a9755c90
  Author: Maksim Sabianin <maksim.sabianin at intel.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    A llvm/include/llvm/Transforms/Utils/SYCLSplitModule.h
    A llvm/include/llvm/Transforms/Utils/SYCLUtils.h
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    A llvm/lib/Transforms/Utils/SYCLSplitModule.cpp
    A llvm/lib/Transforms/Utils/SYCLUtils.cpp
    A llvm/test/tools/llvm-split/SYCL/device-code-split/amd-kernel-split.ll
    A llvm/test/tools/llvm-split/SYCL/device-code-split/complex-indirect-call-chain.ll
    A llvm/test/tools/llvm-split/SYCL/device-code-split/module-split-func-ptr.ll
    A llvm/test/tools/llvm-split/SYCL/device-code-split/one-kernel-per-module.ll
    A llvm/test/tools/llvm-split/SYCL/device-code-split/split-by-source.ll
    A llvm/test/tools/llvm-split/SYCL/device-code-split/split-with-kernel-declarations.ll
    M llvm/tools/llvm-split/llvm-split.cpp

  Log Message:
  -----------
  [offload][SYCL] Add SYCL Module splitting (#119713)

This patch adds SYCL Module splitting - the necessary step in the SYCL
compilation pipeline. Only 2 splitting modes are being added in this
patch: by kernel and by source.


  Commit: e3bef37971ae117f49a503e6a9f4dffd3a9a4d80
      https://github.com/llvm/llvm-project/commit/e3bef37971ae117f49a503e6a9f4dffd3a9a4d80
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    R llvm/include/llvm/Transforms/Utils/SYCLSplitModule.h
    R llvm/include/llvm/Transforms/Utils/SYCLUtils.h
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    R llvm/lib/Transforms/Utils/SYCLSplitModule.cpp
    R llvm/lib/Transforms/Utils/SYCLUtils.cpp
    R llvm/test/tools/llvm-split/SYCL/device-code-split/amd-kernel-split.ll
    R llvm/test/tools/llvm-split/SYCL/device-code-split/complex-indirect-call-chain.ll
    R llvm/test/tools/llvm-split/SYCL/device-code-split/module-split-func-ptr.ll
    R llvm/test/tools/llvm-split/SYCL/device-code-split/one-kernel-per-module.ll
    R llvm/test/tools/llvm-split/SYCL/device-code-split/split-by-source.ll
    R llvm/test/tools/llvm-split/SYCL/device-code-split/split-with-kernel-declarations.ll
    M llvm/tools/llvm-split/llvm-split.cpp

  Log Message:
  -----------
  Revert "[offload][SYCL] Add SYCL Module splitting (#119713)"

This reverts commit bfeea10460d155d9b3484bed25b5dc60a9755c90.


  Commit: da0f9e75d8588bf0adb54060ee77656edfdc1207
      https://github.com/llvm/llvm-project/commit/da0f9e75d8588bf0adb54060ee77656edfdc1207
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    A llvm/test/CodeGen/AMDGPU/dbg-info-inline-at.ll
    M llvm/test/CodeGen/XCore/dwarf_debug.ll
    M llvm/test/DebugInfo/X86/inline-seldag-test.ll

  Log Message:
  -----------
  Reland: [MC] output inlined-at debug info (#106230) (#130306)

Reland https://github.com/llvm/llvm-project/pull/106230

The original PR was reverted due to compilation time regression.

This PR fixed that by adding a condition OutStreamer->isVerboseAsm() to
the generation of extra inlined-at debug info, so that it does not
affect normal compilation time.

Currently MC print source location of instructions in comments in
assembly when debug info is available, however, it does not include
inlined-at locations when a function is inlined.

For example, function foo is defined in header file a.h and is called
multiple times in b.cpp. If foo is inlined, current assembly will only
show its instructions with their line numbers in a.h. With inlined-at
locations, the assembly will also show where foo is called in b.cpp.

This patch adds inlined-at locations to the comments by using
DebugLoc::print. It makes the printed source location info consistent
with those printed by machine passes.


  Commit: 9cc477be6ea1a4f7dd55e3dfa66a59c2dc59da25
      https://github.com/llvm/llvm-project/commit/9cc477be6ea1a4f7dd55e3dfa66a59c2dc59da25
  Author: lakshayk-nv <lakshayk at nvidia.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-exegesis/AArch64/setReg_init_check.s
    M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp

  Log Message:
  -----------
  [llvm-exegesis][AArch64] Handle register classes FPR8/16/32 and FPCR (#130595)

Current implementation (for AArch64) only supports the GRP32, GPR64,
FPR64/128, PPR16 and ZPR128 register classes. This adds support for
the other floating point register classes to initialize registers and avoid
the "setReg is not implemented" warning for these cases.


  Commit: 9f30815b1c3ee0a20954ea596ea2aa5612bf5ec3
      https://github.com/llvm/llvm-project/commit/9f30815b1c3ee0a20954ea596ea2aa5612bf5ec3
  Author: Nikolay Panchenko <npanchen at modular.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Support/JSON.h
    M llvm/lib/Support/JSON.cpp

  Log Message:
  -----------
  [JSON][NFC] Support `print` and `dump` methods in `json::Value` (#129302)


  Commit: b9d6b62721036c5cf4e019dcad8314d4efe54035
      https://github.com/llvm/llvm-project/commit/b9d6b62721036c5cf4e019dcad8314d4efe54035
  Author: Bart Chrzaszcz <bartchr at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  Fix [mlir] Fix bazel build after 205c532 round 2. (#130765)


  Commit: e858b10917046b83234bf1931485df414fcded3c
      https://github.com/llvm/llvm-project/commit/e858b10917046b83234bf1931485df414fcded3c
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg-crash.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
    M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
    M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
    M llvm/test/Transforms/SLPVectorizer/addsub.ll

  Log Message:
  -----------
  Revert "[SLP]Reduce number of alternate instruction, where possible"

This caused failures such as:

  Instruction does not dominate all uses!
  %29 = insertelement <8 x i64> %28, i64 %xor6.i.5, i64 6
  %17 = shufflevector <8 x i64> %29, <8 x i64> poison, <6 x i32> <i32 1, i32 2, i32 3, i32 4, i32 5, i32 6>

see comment on https://github.com/llvm/llvm-project/pull/123360

> Previous version was reviewed here https://github.com/llvm/llvm-project/pull/123360
> It is mostly the same, adjusted after graph-to-tree transformation
>
> Patch tries to remove wide alternate operations.
> Currently SLP vectorizer emits something like this:
> ```
> %0 = add i32
> %1 = sub i32
> %2 = add i32
> %3 = sub i32
> %4 = add i32
> %5 = sub i32
> %6 = add i32
> %7 = sub i32
>
> transformes to
>
> %v1 = add <8 x i32>
> %v2 = sub <8 x i32>
> %res = shuffle %v1, %v2, <0, 9, 2, 11, 4, 13, 6, 15>
> ```
> i.e. half of the results are just unused. This leads to increased
> register pressure and potentially doubles number of operations.
>
> Patch introduces SplitVectorize mode, where it splits the operations by
> opcodes and produces instead something like this:
> ```
> %v1 = add <4 x i32>
> %v2 = sub <4 x i32>
> %res = shuffle %v1, %v2, <0, 4, 1, 5, 2, 6, 3, 7>
> ```
> It allows to improve the performance by reducing number of ops. Also, it
> turns on some other improvements, like improved graph reordering.
>
> [...]

This reverts commit 9d37e61fc77d3d6de891c30630f1c0227522031d as well as
the follow-up commit 72bb0a9a9c6fdde43e1e191f2dc0d5d2d46aff4e.


  Commit: f1e36759d2e6c26d2d5825f955c51fd595909b52
      https://github.com/llvm/llvm-project/commit/f1e36759d2e6c26d2d5825f955c51fd595909b52
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGenCXX/x86_64-arguments.cpp
    A clang/test/SemaHLSL/Language/VectorOutOfRange-errors.hlsl

  Log Message:
  -----------
  [HLSL] error on out of bounds vector accesses (#128952)

Add Sema checking and diagnostics to error on out of bounds vector
accesses
Add tests
Closes #91640

---------

Co-authored-by: Chris B <beanz at abolishcrlf.org>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: 5038e2f81445c46b94a1f219a0f4e10606f04cd2
      https://github.com/llvm/llvm-project/commit/5038e2f81445c46b94a1f219a0f4e10606f04cd2
  Author: lntue <lntue at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M libc/src/__support/FPUtil/FMA.h
    M libc/src/__support/FPUtil/double_double.h
    M libc/src/__support/FPUtil/multiply_add.h
    M libc/src/__support/macros/properties/cpu_features.h
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanf.cpp
    M libc/src/math/generic/cbrt.cpp
    M libc/src/math/generic/cos.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/cospif.cpp
    M libc/src/math/generic/exp10f16.cpp
    M libc/src/math/generic/exp10m1f16.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/exp2m1f16.cpp
    M libc/src/math/generic/expm1f.cpp
    M libc/src/math/generic/expm1f16.cpp
    M libc/src/math/generic/fmul.cpp
    M libc/src/math/generic/hypotf.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log10f.cpp
    M libc/src/math/generic/log10f16.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log1pf.cpp
    M libc/src/math/generic/log2.cpp
    M libc/src/math/generic/log2f.cpp
    M libc/src/math/generic/log2f16.cpp
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/logf16.cpp
    M libc/src/math/generic/pow.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/range_reduction_double_common.h
    M libc/src/math/generic/sin.cpp
    M libc/src/math/generic/sincos.cpp
    M libc/src/math/generic/sincos_eval.h
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sincosf16_utils.h
    M libc/src/math/generic/sincosf_utils.h
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/tan.cpp
    M libc/src/math/generic/tanf.cpp

  Log Message:
  -----------
  [libc] Provide more fine-grained control of FMA instruction for ARM targets. (#130700)


  Commit: 356bf3fa2dddb3cb8c4e72a3978d1179e5aaa3c2
      https://github.com/llvm/llvm-project/commit/356bf3fa2dddb3cb8c4e72a3978d1179e5aaa3c2
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Support/InternalNames.h
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/test/Lower/HLFIR/structure-constructor.f90
    M flang/test/Lower/OpenMP/private-derived-type.f90
    M flang/test/Lower/default-initialization.f90
    M flang/test/Lower/derived-type-finalization.f90
    M flang/test/Lower/derived-type-temp.f90
    M flang/test/Lower/forall/forall-allocatable-2.f90
    M flang/test/Lower/pointer-default-init.f90

  Log Message:
  -----------
  Reland " [flang] Rely on global initialization for simpler derived types" (#130290)

Currently, all derived types are initialized through `_FortranAInitialize`, which is functionally correct, but bears poor runtime performance. This patch falls back on global initialization for "simpler" derived types to speed up the initialization.

Note: this relands #114002 with the fix for the LLVM timeout regressions that have been seen. The fix is to use the added fir.copy to avoid aggregate load/store.

Co-authored-by: NimishMishra <42909663+NimishMishra at users.noreply.github.com>


  Commit: d48a36f5833aa076402f733216bae6aef6be666c
      https://github.com/llvm/llvm-project/commit/d48a36f5833aa076402f733216bae6aef6be666c
  Author: Eric Astor <epastor at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmLexer.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/test/tools/llvm-ml/macro.asm

  Log Message:
  -----------
  [ms] [llvm-ml] Allow optional parenthesized arguments for macros (#129905)

We match ML64.EXE, which allows optional parentheses around a macro's arguments.


  Commit: 21f1ef330f22faddef0c820fb4c1fa912bc05323
      https://github.com/llvm/llvm-project/commit/21f1ef330f22faddef0c820fb4c1fa912bc05323
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp

  Log Message:
  -----------
  [AMDGPU] Avoid repeated hash lookups (NFC) (#130706)


  Commit: 8c2714e44802cb36eb556a3f2940bbc2e512f6be
      https://github.com/llvm/llvm-project/commit/8c2714e44802cb36eb556a3f2940bbc2e512f6be
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebugInfoSupport.cpp

  Log Message:
  -----------
  [ExecutionEngine] Avoid repeated hash lookups (NFC) (#130707)


  Commit: 3339632e9c68ff71071b5ad72b33f7a8ac5658f6
      https://github.com/llvm/llvm-project/commit/3339632e9c68ff71071b5ad72b33f7a8ac5658f6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [Utils] Avoid repeated hash lookups (NFC) (#130709)


  Commit: f33dca41a3a0c4cea90b7c476b1cff9cade430e7
      https://github.com/llvm/llvm-project/commit/f33dca41a3a0c4cea90b7c476b1cff9cade430e7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [llvm-rtdyld] Avoid repeated hash lookups (NFC) (#130711)


  Commit: 7c77a4655ca56eab7e1a4419f0013b514ab42473
      https://github.com/llvm/llvm-project/commit/7c77a4655ca56eab7e1a4419f0013b514ab42473
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/known-bits-vector.ll
    M llvm/test/CodeGen/X86/matrix-multiply.ll
    M llvm/test/CodeGen/X86/mulvi32.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
    M llvm/test/CodeGen/X86/widen_bitcnt.ll
    M llvm/test/CodeGen/X86/x86-interleaved-access.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - convert ISD::VECTOR_SHUFFLE concatenation to use combineConcatVectorOps recursion (#130610)

Only concatenate ISD::VECTOR_SHUFFLE nodes if at least one operand is beneficial to concatenate.


  Commit: fb397ab1e5f32e179094580174f42115961b7790
      https://github.com/llvm/llvm-project/commit/fb397ab1e5f32e179094580174f42115961b7790
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/X86/math-builtins.c
    M clang/test/CodeGen/aix-builtin-mapping.c
    M clang/test/CodeGen/builtin-attributes.c
    M clang/test/CodeGen/math-builtins-long.c
    M clang/test/CodeGen/math-libcalls.c

  Log Message:
  -----------
  Reland "[clang] Lower modf builtin using `llvm.modf` intrinsic" (#130761)

Reverts
https://github.com/llvm/llvm-project/commit/c40f0fe4348bb9304b95bd317665bf1cb2bdcc85

Original description:
This updates the existing modf[f|l] builtin to be lowered via the
llvm.modf.* intrinsic (rather than directly to a library call).

The Windows 32-bit x86 missing `modff` symbol issue should have been
solved in: https://github.com/llvm/llvm-project/pull/130636.


  Commit: 7129205816ca8c7929ab0b44168830ce54287dd3
      https://github.com/llvm/llvm-project/commit/7129205816ca8c7929ab0b44168830ce54287dd3
  Author: John Brawn <john.brawn at arm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [LoopVectorize] Move checking for OptForSize into the cost model (NFC) (#130752)

Move OptForSizeBasedOnProfile into the cost model and rename it to
OptForSize, as shouldOptimizeForSize checks both the function attribute
and profile. This being done in preparation for OptForSize being used in
the cost model.


  Commit: 222b99d3aac577a561592f160b9ac39f8740d3e5
      https://github.com/llvm/llvm-project/commit/222b99d3aac577a561592f160b9ac39f8740d3e5
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/spillv16.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] update waitcnt for true16 (#128927)

update waitcnt pass to check hi16 and lo16 in true16 mode

---------

Co-authored-by: Jay Foad <jay.foad at gmail.com>


  Commit: b334321678d4df2d8b1572301c827cae4d4097e2
      https://github.com/llvm/llvm-project/commit/b334321678d4df2d8b1572301c827cae4d4097e2
  Author: Valentin Churavy <v.churavy at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/test/CodeGen/X86/atomic-idempotent.ll
    M llvm/test/CodeGen/X86/atomic-unordered.ll
    M llvm/test/CodeGen/X86/implicit-null-check.ll
    M llvm/test/CodeGen/X86/membarrier.ll
    M llvm/test/CodeGen/X86/mfence.ll

  Log Message:
  -----------
  [X86] Prefer `lock or` over mfence (#106555)

Originally discussed in https://reviews.llvm.org/D129947

LLVM currently emits `mfence` for `__atomic_thread_fence(seq_cst)`. On
modern CPUs lock or is more efficient and provides the same sequential
consistency. GCC 11 made this switch as well (see
https://gcc.gnu.org/pipermail/gcc-cvs/2020-July/314418.html)
and https://reviews.llvm.org/D61863 and https://reviews.llvm.org/D58632
moved into this direction as well, but didn't touch fence seq_cst.

This switches to `lock or` on all x64 systems, and leaves  `__builtin_ia32_mfence` for folks who
want this precise instruction.


  Commit: f3e55944a9468842746467494dd89724a66fc533
      https://github.com/llvm/llvm-project/commit/f3e55944a9468842746467494dd89724a66fc533
  Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    A mlir/test/mlir-tblgen/rewriter-attributes-properties.td
    M mlir/tools/mlir-tblgen/RewriterGen.cpp

  Log Message:
  -----------
  [mlir][ODS] Switch declarative rewrite rules to properties structs (#124876)

Now that we have collective builders that take
`const [RelevantOp]::Properties &` arguments, we don't need to serialize
all the attributes that'll be set during an output pattern into a
dictionary attribute. Similarly, we can use the properties struct to get
the attributes instead of needing to go through the big if statement in
getAttrOfType<>().

This also enables us to have declarative rewrite rules that match
non-attribute properties in a future PR.

This commit also adds a basic test for the generated matchers since
there didn't seem to already be one.


  Commit: c542f425796d751fcd44ad1899691cfa1a1e444a
      https://github.com/llvm/llvm-project/commit/c542f425796d751fcd44ad1899691cfa1a1e444a
  Author: David Green <david.green at arm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/abs.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-overflow.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-ssat.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-usat.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
    M llvm/test/Analysis/CostModel/AArch64/arith.ll
    M llvm/test/Analysis/CostModel/AArch64/fshl.ll
    M llvm/test/Analysis/CostModel/AArch64/fshr.ll
    M llvm/test/Analysis/CostModel/AArch64/gep.ll
    M llvm/test/Analysis/CostModel/AArch64/min-max.ll
    M llvm/test/Analysis/CostModel/AArch64/mul.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-add.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-and.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-or.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
    M llvm/test/Analysis/CostModel/AArch64/select.ll
    M llvm/test/Analysis/CostModel/AArch64/shuffle-broadcast.ll
    M llvm/test/Analysis/CostModel/AArch64/shuffle-reverse.ll

  Log Message:
  -----------
  [AArch64] Update cost test to use -cost-kind=all. NFC

This is essentially the tests from b021bdbb3997 re-done with the new cost-model
output format from #130490, to add cost-model coverage for all the cost kinds.
More to come..


  Commit: a71c9d8438622013eddf04cf4c81ab0f22a83055
      https://github.com/llvm/llvm-project/commit/a71c9d8438622013eddf04cf4c81ab0f22a83055
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/Checker.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp

  Log Message:
  -----------
  [NFC][analyzer] Remove CheckerNameRef::getName() (#130780)

`CheckerNameRef` is a trivial wrapper around a `StringRef` which is
guaranteed to be owned by the `CheckerRegistry` (the only `friend` of
the class) because other code can't call the private constructor.

This class had offered two ways to recover the plain `StringRef`: an an
`operator StringRef()` for implicit conversion and a method `StringRef
getName()` which could be called explicitly.

However this method name was really confusing, because it implies "get
the name of this object" instead of "get this name as a plain
`StringRef`"; so I removed it from the codebase and used
`static_cast<StringRef>` in the two locations where the cast wasn't
performed implicitly.

This commit "prepares the ground" for planned improvements in checker
name handling.


  Commit: d8d2e0779a4020aa72b39ab2baf8c4c504877a2a
      https://github.com/llvm/llvm-project/commit/d8d2e0779a4020aa72b39ab2baf8c4c504877a2a
  Author: Bart Chrzaszcz <bartchr at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  Even more BUILD.bazel fixes for commit 205c532. (#130784)


  Commit: 1fe463182cead6e7c6119ab410eae9e9d969325a
      https://github.com/llvm/llvm-project/commit/1fe463182cead6e7c6119ab410eae9e9d969325a
  Author: Alexey Karyakin <akaryaki at quicinc.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    A llvm/test/MC/Hexagon/align-leb128.s
    M llvm/test/MC/Hexagon/align.s

  Log Message:
  -----------
  [hexagon] Prevent alignment search beyond a label (#130631)

When searching for packets to .align, don't consider ones which would
require padding beyond a label.

There are two problems with padding beyond a label:
- the distance between labels may increase for some offsets to become
too large;
- u/sleb128 values that encode a difference will not be updated because
they are computed before the align command is handled.

This is more a short-term fix/hack. The proper solution would be to
unify `.align` and `.falign` handling and move it to the layout loop.


  Commit: 93d41d814816d2933735e3d238e6eebb91dfdc30
      https://github.com/llvm/llvm-project/commit/93d41d814816d2933735e3d238e6eebb91dfdc30
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [LV] Use ElementCount::isKnownLT to factor code (NFC) (#130596)


  Commit: f90aa418978748c0613036b0285bb80af40570b7
      https://github.com/llvm/llvm-project/commit/f90aa418978748c0613036b0285bb80af40570b7
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/lib/Frontend/CompilerInstance.cpp
    M llvm/include/llvm/Support/LockFileManager.h
    M llvm/lib/Support/LockFileManager.cpp

  Log Message:
  -----------
  [Support] Remove output file checks from `LockFileManager` (#130395)

Currently, `LockFileManager` assumes the owner of the lock file creates
an output file. This is problematic for at least three reasons:

1. It is orthogonal to the main purpose of this class - mutual
exclusion. This makes creating an alternative implementation more
complicated than it needs to be.

2. Some clients (like the upstream `AMDGPUSplitModule.cpp` file) assume
the output file is not necessary. The owner of the lock file does not
write the file expected by `LockFileManager` and the processes waiting
for the non-owned lock file to be unlocked therefore assume the owner
has died. This means that the work gets repeated by each waiting
process, serially.

3. The documentation makes it sound like successfully waiting for a
non-owned lock file guarantees the output file to be present on the file
system. Implicitly-built modules rely on this. However, the module file
may disappear between `LockFileManager` performing the check and the
compiler loading the module (for example due to module cache pruning
with short intervals, or intervention from outside of Clang). The
compiler assumes this cannot happen, and fails the build if it does.

This PR solves this situation by removing the check, reflecting that in
the `LockFileManager` documentation, and fixing the time-of-check
time-of-use bug in implicit modules.


  Commit: ae985267d0a107119038e1a1e62b3aed6523f28c
      https://github.com/llvm/llvm-project/commit/ae985267d0a107119038e1a1e62b3aed6523f28c
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp
    M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Update to Xqciint v0.4 (#130219)

The Xqci 0.7.0 spec just came out, with some updates to Xqciint,
bringing it to v0.4. The main update of any relevance is that
`qc.c.mienter` and `qc.c.mienter.nest` now update both the stack pointer
and the frame pointer (before, they only updated the stack pointer).
They both remain compatible with the frame pointer convention.

This change bumps the Xqciint version, and ensures that we don't emit
the unneeded frame pointer adjustment instruction after
`qc.c.mienter(.nest)`.


  Commit: 83ec179fc8b44ae23a0bfe51073d5ce75155639e
      https://github.com/llvm/llvm-project/commit/83ec179fc8b44ae23a0bfe51073d5ce75155639e
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    A clang/test/CodeGen/strictfp-elementwise-builtins.cpp
    R clang/test/CodeGen/strictfp-elementwise-bulitins.cpp

  Log Message:
  -----------
  [Clang][NFC] Rename and update_cc_test_checks over strictfp-elementwise-builtins.cpp (#130747)


  Commit: 146ef7a5f44af68e969dfb66918ae49810864aec
      https://github.com/llvm/llvm-project/commit/146ef7a5f44af68e969dfb66918ae49810864aec
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp

  Log Message:
  -----------
  [TableGen] Remove unnecessary const_cast and use range-based for loops. NFC (#130717)

In order to use a range-based loop, I reduced a needed const_cast to
only the one line that needed it.


  Commit: 34647667aa022fba4c6520c8283ded1012aaa59e
      https://github.com/llvm/llvm-project/commit/34647667aa022fba4c6520c8283ded1012aaa59e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Sink hasSideEffects, mayLoad, mayStore from defs to classes in RISCVInstrInfoXCV.td. NFC (#130714)

This is consistent with how RISCVInstrInfo.td is generally structured.


  Commit: 90c11ad46f429d8acddd378bd4c2c98223fce2a7
      https://github.com/llvm/llvm-project/commit/90c11ad46f429d8acddd378bd4c2c98223fce2a7
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Introduce ReportPolicy to handle -z *-report options. NFC

Use an enum to replace string comparison.

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


  Commit: 2bf7018bb03eb93b56ad86caac40ced8b5c6744b
      https://github.com/llvm/llvm-project/commit/2bf7018bb03eb93b56ad86caac40ced8b5c6744b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Move let statement for hasSideEffects, mayLoad, mayStore into BranchCC_rri. NFC (#130721)

This is consistent with the isBranch and isTerminator flags already in
the class.

Addresses feedback given on #130714 where I copied the inconsistent
split into RISCVInstrInfoXCV.td.


  Commit: 1324dfe3e177fcfcb116bfc4371d8dd8730f2439
      https://github.com/llvm/llvm-project/commit/1324dfe3e177fcfcb116bfc4371d8dd8730f2439
  Author: Mark Danial <mark.danial at ibm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [AIX] Add -pthread to build on AIX (#129108)

When building in tree clang without having `-pthread` we get a bunch of
`Assertion failed: FD != kInvalidFile && "Invalid or inactive file
descriptor"` when testing check-clang.


  Commit: f1598367b661e46c4ecc7dd8ea35f9eac79a654c
      https://github.com/llvm/llvm-project/commit/f1598367b661e46c4ecc7dd8ea35f9eac79a654c
  Author: John Harrison <harjohn at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    A lldb/tools/lldb-dap/DAPLog.h
    M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Adding logging helpers. (#130653)

Improving logging by defining new helpers for more uniform log handling.
This should help us clearly identify log messages and helps abstract the
underlying log type within the macro in case we want to update the log
handler in the future.


  Commit: 4f60f45130c6bd96c79e468fe9927a29af760f56
      https://github.com/llvm/llvm-project/commit/4f60f45130c6bd96c79e468fe9927a29af760f56
  Author: Andrew Rogers <andrurogerz at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/ilist_node.h

  Log Message:
  -----------
  [llvm] replace static_assert with std::enable_if_t in ilist_node_impl (#127722)

##  Purpose
Remove `static_assert` in `ilist_node_impl::isSentinel` and
conditionally include the functino using `std::enable_if_t` instead.

## Background
This fix is necessary to support building LLVM as a Windows DLL, tracked
by #109483.

The `static_assert` in `ilist_node_impl::isSentinel` fails when
compiling LLVM as a Windows DLL with the options `-D
LLVM_BUILD_LLVM_DYLIB=ON -D LLVM_BUILD_LLVM_DYLIB_VIS=ON -D
LLVM_LINK_LLVM_DYLIB=ON`:
```
S:\llvm\llvm-project\llvm\include\llvm/ADT/ilist_node.h(151): error C2338: static_assert failed: 'Use ilist_sentinel_tracking<true> to enable isSentinel()'
S:\llvm\llvm-project\llvm\include\llvm/ADT/ilist_node.h(151): note: the template instantiation context (the oldest one first) is
S:\llvm\llvm-project\llvm\include\llvm/IR/SymbolTableListTraits.h(113): note: see reference to class template instantiation 'llvm::SymbolTableListTraits<llvm::Function>' being compiled
S:\llvm\llvm-project\llvm\include\llvm/IR/SymbolTableListTraits.h(69): note: see reference to class template instantiation 'llvm::simple_ilist<ValueSubClass>' being compiled
        with
        [
            ValueSubClass=llvm::Function
        ]
S:\llvm\llvm-project\llvm\include\llvm/ADT/simple_ilist.h(87): note: see reference to class template instantiation 'llvm::ilist_sentinel<llvm::ilist_detail::node_options<T,true,false,llvm::ilist_detail::extract_tag<>::type,false,llvm::ilist_detail::extract_parent<>::type>>' being compiled
        with
        [
            T=llvm::Function
        ]
S:\llvm\llvm-project\llvm\include\llvm/ADT/ilist_node.h(301): note: see reference to class template instantiation 'llvm::ilist_node_impl<OptionsT>' being compiled
        with
        [
            OptionsT=llvm::ilist_detail::node_options<llvm::Function,true,false,llvm::ilist_detail::extract_tag<>::type,false,llvm::ilist_detail::extract_parent<>::type>
        ]
S:\llvm\llvm-project\llvm\include\llvm/ADT/ilist_node.h(150): note: while compiling class template member function 'bool llvm::ilist_node_impl<OptionsT>::isSentinel(void) const'
        with
        [
            OptionsT=llvm::ilist_detail::node_options<llvm::Function,true,false,llvm::ilist_detail::extract_tag<>::type,false,llvm::ilist_detail::extract_parent<>::type>
        ]
```
Conditionally including the function using `std::enable_if_t` has the
same effect of preventing the function's use when
`is_sentinel_tracking_explicit=false`, but avoids the issue when
DLL-exporting downstream classes.

## Validation
Verified I no longer fail compilation due to the `static_assert` when
building LLVM on Windows 11 with the options `-D
LLVM_BUILD_LLVM_DYLIB=ON -D LLVM_BUILD_LLVM_DYLIB_VIS=ON -D
LLVM_LINK_LLVM_DYLIB=ON`.


  Commit: 517c6778ead6e7c476e0f4482763060c679ee80b
      https://github.com/llvm/llvm-project/commit/517c6778ead6e7c476e0f4482763060c679ee80b
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init.cpp

  Log Message:
  -----------
  [clang-tidy] Add check on constexpr & static values in modernize-use-default-member-init (#129425)

This aims to fix a portion of #122480. Simply added a check to look for
either compile time initialized variables or static stored variables.


  Commit: d22d14375d4410cdb441e04016531962e3abb44e
      https://github.com/llvm/llvm-project/commit/d22d14375d4410cdb441e04016531962e3abb44e
  Author: Tommy Chen <gcchen at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp

  Log Message:
  -----------
  [clang-tidy] support different precisions (#130540)

Support float and long double versions of the math functions for
UseStdNumbersCheck.
For example, after this commit the check is able to catch `sqrtf(2)` and
`expl(1)`.

Fixes: #130325


  Commit: f10a8706a1443dec834929dadcce837082df64b7
      https://github.com/llvm/llvm-project/commit/f10a8706a1443dec834929dadcce837082df64b7
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    A clang/lib/StaticAnalyzer/Checkers/AssumeModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/cxx23-assume-attribute.cpp
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c

  Log Message:
  -----------
  [analyzer] Sink false [[assume]] execution paths (#130418)

This PR splits the existing modeling of builtin assume from the
BuiltinFunctionChecker.

We just sink the execution path if we are about to leave the assume
expression with a false assumption.
Assumptions with side-effects are skipped, and ignored. Their values are
"UnknownVal" anyway.


  Commit: 65016475084f6435dbf252997d53853c2bfdf9be
      https://github.com/llvm/llvm-project/commit/65016475084f6435dbf252997d53853c2bfdf9be
  Author: Ziqing Luo <ziqing at udel.edu>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/test/Analysis/std-c-library-functions-POSIX.c

  Log Message:
  -----------
  [StaticAnalyzer] Relax the pre-condition of 'setsockopt' (#130683)

For the unix function
`int setsockopt(int, int, int, const void *, socklen_t);`, the last two
parameters represent a buffer and a size.

In case the size is zero, buffer can be null. Previously, the hard-coded
pre-condition requires the buffer to never be null, which can cause
false positives.

(rdar://146678142)


  Commit: eaca60d1a9a54ae0aa8626719decef4b11eb939d
      https://github.com/llvm/llvm-project/commit/eaca60d1a9a54ae0aa8626719decef4b11eb939d
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang-tools-extra/clangd/Preamble.cpp
    M clang/include/clang/Basic/DiagnosticOptions.h
    M clang/include/clang/Frontend/CompilerInvocation.h

  Log Message:
  -----------
  [clang] Hide the `DiagnosticOptions` pointer from `CompilerInvocation` (#106274)

This PR hides the reference-counter pointer that holds
`DiagnosticOptions` from the public API of `CompilerInvocation`. This
gives `CompilerInvocation` an exclusive control over the lifetime of
this member, which will eventually be leveraged to implement a
copy-on-write behavior.

The only client that currently accesses that pointer is
`clangd::buildPreamble()` which takes care to reset it so that it's not
reset concurrently. This code is made redundant by making the reference
count of `DiagnosticOptions` atomic.


  Commit: 5f21ee20f84ac56377178770a7439e406c6d9b16
      https://github.com/llvm/llvm-project/commit/5f21ee20f84ac56377178770a7439e406c6d9b16
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M lld/ELF/LinkerScript.cpp
    M lld/test/ELF/linkerscript/section-class.test

  Log Message:
  -----------
  [LLD][ELF] Don't spill to same memory region (#129795)

This prevents useless spills to the same memory region from causing
spilling to take too many passes to converge.

Handling this at spilling time allows us to relax the generation of
spill sections; specifically, multiple spills can now be generated per
output section. This should be fairly benign for performance, and it
would eventually allow linker scripts to express things like holes or
minimum addresses for parts of output sections. The linker could then
spill within an output section whenever address constraints are
violated.


  Commit: c4280db3a0fea6b772fb33bb85dfc14b8e43821a
      https://github.com/llvm/llvm-project/commit/c4280db3a0fea6b772fb33bb85dfc14b8e43821a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [X86] Add getBLENDIBlendMask helper to extract X86ISD::BLENDI blend mask. NFC.

Handles extension/truncation to the correct number of elements (including MVT::v16i16 repeated masks).


  Commit: 9f2bd97a5dcbfda161add4efc26f7f64d2989575
      https://github.com/llvm/llvm-project/commit/9f2bd97a5dcbfda161add4efc26f7f64d2989575
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-pack-512.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - convert X86ISD::PACKSS/US concatenation to use combineConcatVectorOps recursion (#130575)

Only concatenate X86ISD::PACKSS/US nodes if at least one operand is beneficial to concatenate


  Commit: 313e2ef93eb2cb257e643c87916df8471ff01fd8
      https://github.com/llvm/llvm-project/commit/313e2ef93eb2cb257e643c87916df8471ff01fd8
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M libc/docs/headers/stdfix.rst

  Log Message:
  -----------
  [libc] Mark fixed point type generic macros as complete (#130805)

These were added in https://github.com/llvm/llvm-project/pull/129371.


  Commit: 5686786c550c6da6d1169b9bffc31cece1161902
      https://github.com/llvm/llvm-project/commit/5686786c550c6da6d1169b9bffc31cece1161902
  Author: yonghong-song <yhs at fb.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
    A llvm/test/CodeGen/BPF/CORE/arena_bitcast.ll

  Log Message:
  -----------
  [BPF] Fix BitCast Assertion with NonZero AddrSpace (#130722)

Alexei reported a bpf selftest failure with recent llvm for bpf prog
file progs/arena_spin_lock.c. The failure only happens when clang is
built with cmake option LLVM_ENABLE_ASSERTIONS=ON.

The error message looks like:
```
 clang: /home/yhs/work/yhs/llvm-project/llvm/lib/IR/Instructions.cpp:3460:
   llvm::BitCastInst::BitCastInst(Value *, Type *, const Twine &, InsertPosition):
   Assertion `castIsValid(getOpcode(), S, Ty) && "Illegal BitCast"' failed.
```
Further investigation shows that the problem is triggered in
  BPF/BPFAbstractMemberAccess.cpp
for code
```
  auto *BCInst =
      new BitCastInst(Base, PointerType::getUnqual(BB->getContext()));
```
For the above BitCastInst, Since 'Base' has non-zero AddrSapce, the
compiler expects the type also has the same AddrSpace. But the above
PointerType::getUnqual(...) does not have AddrSpace and hence causes the
assertion failure.

Providing the proper AddrSpace for the BitCast type fixed the issue.

Co-authored-by: Yonghong Song <yonghong.song at linux.dev>


  Commit: ba11e1e5222cb5bdcd8d63f23fb994cc0a8ffb3c
      https://github.com/llvm/llvm-project/commit/ba11e1e5222cb5bdcd8d63f23fb994cc0a8ffb3c
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/docs/HowToCrossCompileLLVM.rst

  Log Message:
  -----------
  [docs] Rewrite HowToCrossCompileLLVM (#129451)

The document has had a few minor tweaks over the years, but the last
major piece of work on it was 2016, after first being introduced in
2013. My aim is to provide a clear and clean recipe for cross-compiling
LLVM that:
* Should be achievable for anyone on common variants of Linux
(_including_ the step of acquiring a working sysroot).
* I think I've kept the coverage of setting up acquiring a Debian
sysroot minimal enough that it can reasonably be included. `debootstrap`
is packaged for most common Linux distributions including non-Debian
derived distributions like Arch Linux and Fedora.
* Describes a setup that we can reasonably support within the community.
* I realise with the ninja symlink canonicalisation issue I haven't
completely avoided hacks, but I look particularly to point 2 under hacks
in the current docs which talks about libraries on the host being found
by CMake and adding `-L` and `-I` to try to hack around this. We've all
been there and made these kind of temporary workarounds to see if we can
get further, but it's very hard to support someone who has problems with
a setup that's improperly leaking between the host and target like this.
The approach I describe with a clean sysroot and setting appropriate
`CMAKE_FIND_ROOT_PATH_MODE_*` settings doesn't have this issue.
* Cuts down on extraneous / outdated information, especially where it is
better covered elsewhere (e.g. detailed descriptions of CMake options
not directly relevant to cross compilation).

I've run through the instructions for AArch64, RISC-V (64-bit), and
armhf.


  Commit: 7de895ff1146c17ec78877900c01c09f4140e692
      https://github.com/llvm/llvm-project/commit/7de895ff1146c17ec78877900c01c09f4140e692
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
    M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
    M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
    A llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
    M llvm/test/Transforms/SLPVectorizer/addsub.ll

  Log Message:
  -----------
  [SLP]Reduce number of alternate instruction, where possible

Previous version was reviewed here https://github.com/llvm/llvm-project/pull/123360
It is mostly the same, adjusted after graph-to-tree transformation

Patch tries to remove wide alternate operations.
Currently SLP vectorizer emits something like this:
```
%0 = add i32
%1 = sub i32
%2 = add i32
%3 = sub i32
%4 = add i32
%5 = sub i32
%6 = add i32
%7 = sub i32

transformes to

%v1 = add <8 x i32>
%v2 = sub <8 x i32>
%res = shuffle %v1, %v2, <0, 9, 2, 11, 4, 13, 6, 15>
```
i.e. half of the results are just unused. This leads to increased
register pressure and potentially doubles number of operations.

Patch introduces SplitVectorize mode, where it splits the operations by
opcodes and produces instead something like this:
```
%v1 = add <4 x i32>
%v2 = sub <4 x i32>
%res = shuffle %v1, %v2, <0, 4, 1, 5, 2, 6, 3, 7>
```
It allows to improve the performance by reducing number of ops. Also, it
turns on some other improvements, like improved graph reordering.

-O3+LTO, AVX512
Metric: size..text
Program                                                                         size..text
                                                                                results     results0    diff
                       test-suite :: MultiSource/Benchmarks/Olden/tsp/tsp.test     2788.00     2820.00  1.1%
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test   278168.00   280904.00  1.0%
               test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test    82682.00    83258.00  0.7%
                    test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test   139344.00   139712.00  0.3%
     test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test    27149.00    27197.00  0.2%
               test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test  1008188.00  1009948.00  0.2%
          test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test    39226.00    39290.00  0.2%
   test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test    39229.00    39293.00  0.2%
 test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test  2074533.00  2076549.00  0.1%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test  2074533.00  2076549.00  0.1%
             test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test   798440.00   798952.00  0.1%
     test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test    44123.00    44139.00  0.0%
                       test-suite :: MultiSource/Benchmarks/Bullet/bullet.test   318942.00   319038.00  0.0%
        test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  1159880.00  1160152.00  0.0%
     test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/miniAMR.test    73595.00    73611.00  0.0%
                test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test  1146124.00  1146348.00  0.0%
       test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR.test   203831.00   203847.00  0.0%
 test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test   207662.00   207678.00  0.0%
                test-suite :: External/SPEC/CFP2006/447.dealII/447.dealII.test   589851.00   589883.00  0.0%
      test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1398543.00  1398559.00  0.0%
     test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1398543.00  1398559.00  0.0%
        test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test  2050990.00  2051006.00  0.0%

      test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12559687.00 12559591.00 -0.0%
                     test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test  3074157.00  3074125.00 -0.0%
         test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test  1092252.00  1092188.00 -0.0%
            test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test   779763.00   779715.00 -0.0%
         test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test   253517.00   253485.00 -0.0%
                  test-suite :: MultiSource/Applications/JM/lencod/lencod.test   848259.00   848035.00 -0.0%
     test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test    93064.00    93016.00 -0.1%
                  test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test   383747.00   383475.00 -0.1%
          test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   673051.00   662907.00 -1.5%
           test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   673051.00   662907.00 -1.5%

Olden/tsp - small variations
Prolangs-C/TimberWolfMC - small variations, some code not inlined
FreeBench/pifft - extra store <8 x double> vectorized, some other extra
vectorizations
CFP2006/433.milc - better vector code
FreeBench/fourinarow - better vector code
Benchmarks/tramp3d-v4 - extra vector code, small variations
mediabench/gsm/toast - small variations
MiBench/telecomm-gsm - small variations
CINT2017rate/500.perlbench_r
CINT2017speed/600.perlbench_s - better vector code, small variations
CINT2006/464.h264ref - some smaller code + changes similar to x264
DOE-ProxyApps-C/miniGMG - small variations
Benchmarks/Bullet - small variations
CFP2017rate/511.povray_r - small variations
DOE-ProxyApps-C/miniAMR - small variations
CFP2006/453.povray - small variations
DOE-ProxyApps-C++/CLAMR - small variations
MiBench/consumer-lame - small variations
CFP2006/447.dealII - small variations
CFP2017rate/538.imagick_r
CFP2017speed/638.imagick_s - small variations
CFP2017rate/510.parest_r - better vector code, small variations
CFP2017rate/526.blender_r - small variations
CINT2006/403.gcc - small variations
CINT2006/400.perlbench - small variations
CFP2017rate/508.namd_r - small variations
ASCI_Purple/SMG2000 - small variations
JM/lencod - extra store <16 x i32>, small variations
DOE-ProxyApps-C++/miniFE - small variations
JM/ldecod - extra vector code, small variations, less shuffles
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - the number of instructions increased, but
looks like they are more performant. E.g., for function
x264_pixel_satd_8x8, llvm-mca reports better throughput - 84 for the
current version and 59 for the new version.

-O3+LTO, mcpu=sifive-p470

Metric: size..text

                                                                               results    results0   diff
                                 test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test  580768.00  581118.00   0.1%
                                        test-suite :: MultiSource/Applications/d/make_dparser.test   78854.00   78894.00   0.1%
                                      test-suite :: MultiSource/Applications/JM/lencod/lencod.test  633448.00  633750.00   0.0%
                                           test-suite :: MultiSource/Benchmarks/Bullet/bullet.test  277002.00  277080.00   0.0%
                             test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test  931938.00  931960.00   0.0%
                                         test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 2512806.00 2512822.00   0.0%
                                test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 7659880.00 7659876.00  -0.0%
                                 test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 7659880.00 7659876.00  -0.0%
                            test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 1602448.00 1602434.00  -0.0%
                          test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9496664.00 9496542.00  -0.0%
                     test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test  147424.00  147422.00  -0.0%
                    test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 1764608.00 1764578.00  -0.0%
                     test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 1764608.00 1764578.00  -0.0%
                                     test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  841656.00  841632.00  -0.0%
                                    test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test  949026.00  948962.00  -0.0%
                            test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  946348.00  946284.00  -0.0%
                                      test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test  279794.00  279764.00  -0.0%
                       test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test    4776.00    4772.00  -0.1%
                              test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test   25074.00   25028.00  -0.2%
                       test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test   25074.00   25028.00  -0.2%
                         test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test   29336.00   29184.00  -0.5%
                               test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test  535390.00  510124.00  -4.7%
                              test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test  535390.00  510124.00  -4.7%
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/ieee/GCC-C-execute-ieee-pr50310.test     886.00     608.00 -31.4%

CINT2006/464.h264ref - extra v16i32 reduction
d/make_dparser - better vector code
JM/lencod - extra v16i32 reduction
Benchmarks/Bullet - smaller vector code
CINT2006/400.perlbench - better vector code
CINT2006/403.gcc - small variations
CINT2017speed/602.gcc_s
CINT2017rate/502.gcc_r - small variations
CFP2017rate/510.parest_r - small variations
CFP2017rate/526.blender_r - small variations
MiBench/consumer-lame - small variations
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - small variations
Benchmarks/7zip - small variations
CFP2017rate/511.povray_r - small variations
JM/ldecod - extra vector code
mediabench/g721/g721encode - extra vector code
mediabench/gsm - extra vector code
MiBench/telecomm-gsm - extra vector code
DOE-ProxyApps-C/miniGMG - extra vector code
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - reduced number of wide operations and
shuffles, saving the registers, similar to X86, extra code in
pixel_hadamard_ac vectorized
ieee/GCC-C-execute-ieee-pr50310 - extra code vectorized

CINT2006/464.h264ref - extra vector code in find_sad_16x16
JM/lencod - extra vector code in find_sad_16x16
d/make_dparser - smaller vector code
Benchmarks/Bullet - small variations
CINT2006/400.perlbench - smaller vector code
CFP2017rate/526.blender_r - small variations, extra store <8 x float> in
the loop, extra store <8 x i8> in loop
CINT2017rate/500.perlbench_r
CINT2017speed/600.perlbench_s - small variations
MiBench/consumer-lame - small variations
JM/ldecod - extra vector code
mediabench/g721/g721encode - small variations

Reviewers: hiraditya

Reviewed By: hiraditya

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


  Commit: 14176d10842dcb8697bc7bbce3a4e252d6f11986
      https://github.com/llvm/llvm-project/commit/14176d10842dcb8697bc7bbce3a4e252d6f11986
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  [C2y] Remove WG14 N3459 from the C status page

Only changes 1 and 2 were adopted in Graz and those are both editorial
changes which don't impact the behavior of compilers, so there's no
need to track this paper.


  Commit: 381599f1fe973afad3094e55ec99b1620dba7d8c
      https://github.com/llvm/llvm-project/commit/381599f1fe973afad3094e55ec99b1620dba7d8c
  Author: Nathan Chancellor <nathan at kernel.org>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M lld/ELF/ScriptParser.cpp
    A lld/test/ELF/linkerscript/overlay-keep.test

  Log Message:
  -----------
  [ELF] Allow KEEP within OVERLAY (#130661)

When attempting to add KEEP within an OVERLAY description, which the
Linux kernel would like to do for ARCH=arm to avoid dropping the
.vectors sections with '--gc-sections' [1], ld.lld errors with:

  ld.lld: error: ./arch/arm/kernel/vmlinux.lds:37: section pattern is expected
  >>>  __vectors_lma = .; OVERLAY 0xffff0000 : AT(__vectors_lma) { .vectors { KEEP(*(.vectors)) } ...
  >>>                                                                               ^

readOverlaySectionDescription() does not handle all input section
description keywords, despite GNU ld's documentation stating that "The
section definitions within the OVERLAY construct are identical to those
within the general SECTIONS construct, except that no addresses and no
memory regions may be defined for sections within an OVERLAY."

Reuse the existing parsing in readInputSectionDescription(), which
handles KEEP, allowing the Linux kernel's use case to work properly.

[1]: https://lore.kernel.org/20250221125520.14035-1-ceggers@arri.de/


  Commit: 456fa47bab479f0ef1136d07687bd1b2635b1a26
      https://github.com/llvm/llvm-project/commit/456fa47bab479f0ef1136d07687bd1b2635b1a26
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    A clang/test/C/C2y/n3505.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C2y] Claim conformance to WG14 N3505

This paper clarified that conditional inclusion in the preprocessor
requires the integer constant expression to be comprised only of
integer and character literals, punctuators, or implementation-defined
tokens.

This is something Clang has always required.


  Commit: 1cb14078658f9ac573ec4102354106e29d62c46d
      https://github.com/llvm/llvm-project/commit/1cb14078658f9ac573ec4102354106e29d62c46d
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/test/SemaHLSL/BuiltIns/distance-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl

  Log Message:
  -----------
  [HLSL] Add bounds checks for the hlsl vector arguments and return types (#130724)

fixes #129003
- fix up sema tests
- fix up templates for scalar and vector HLSL intrinsic overloads


  Commit: c2ed840ed94d3412c7c0bdd9ed84cac6fe0afb57
      https://github.com/llvm/llvm-project/commit/c2ed840ed94d3412c7c0bdd9ed84cac6fe0afb57
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M lld/ELF/LinkerScript.cpp
    M lld/test/ELF/linkerscript/section-class.test

  Log Message:
  -----------
  Revert "[LLD][ELF] Don't spill to same memory region" (#130815)

Reverts llvm/llvm-project#129795

Breaks buildbots


  Commit: 9e64fc6fb7d9a1ea9fe59d82380219508aee649f
      https://github.com/llvm/llvm-project/commit/9e64fc6fb7d9a1ea9fe59d82380219508aee649f
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    A clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm

  Log Message:
  -----------
  [alpha.webkit.UnretainedCallArgsChecker] Add a checker for NS or CF type call arguments. (#130729)

This PR adds alpha.webkit.UnretainedCallArgsChecker by generalizing
RawPtrRefCallArgsChecker. It checks call arguments of NS or CF types are
backed by a RetainPtr or not. The new checker emits warnings for CF
types in Objective-C++ code regardless of ARC and it emits warning for
NS types when ARC is disabled.

Hard-code a few cases as safe: class and superclass properties on class
interfaces and constant dictionary or array literals as well as the
return value of NSClassFromString.

Finally, add the support for variadic function calls and selector
invocations.


  Commit: 69f59285ea27c7eb26015e396d44491c24c392e2
      https://github.com/llvm/llvm-project/commit/69f59285ea27c7eb26015e396d44491c24c392e2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [X86] combineConcatVectorOps - convert X86ISD::PCMPEQ/PCMPGT concatenation to use combineConcatVectorOps recursion instead of IsConcatFree (#130814)

Only concatenate X86ISD::PCMPEQ/PCMPGT nodes (or convert to CMPPS on AVX1) if at least one operand is beneficial to concatenate


  Commit: 2f403ee4871465aa7fbb5e540bdc791466704f24
      https://github.com/llvm/llvm-project/commit/2f403ee4871465aa7fbb5e540bdc791466704f24
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [clang][modules] NFC: Remove unused function parameter


  Commit: 10a6a349d66a5f4d73ab53af114aec1a49a97f03
      https://github.com/llvm/llvm-project/commit/10a6a349d66a5f4d73ab53af114aec1a49a97f03
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/BUILD.bazel

  Log Message:
  -----------
  [libc][bazel] Create libc_release_library for release configurations. (#130694)

See PR #130327 for background and motivation. This change expands the
libc_support_library and libc_function rules to create filegroups that
allow building a collection of llvm-libc functions together, from
sources, as a part of a single cc_library that can then be used by the
downstream clients.

This change also adds an example use of this macro under
libc/test/BUILD.bazel to confirm that this macro works as expected.


  Commit: d84755b10d09c8972074927ffbf8805e210f3525
      https://github.com/llvm/llvm-project/commit/d84755b10d09c8972074927ffbf8805e210f3525
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/docs/HowToCrossCompileLLVM.rst

  Log Message:
  -----------
  [docs] Fix broken formatting for link in HowToCrossCompileLLVM

The usual `_ vs _` problem.


  Commit: 7573ee17813b266fdca4dc3041d07bbe616df458
      https://github.com/llvm/llvm-project/commit/7573ee17813b266fdca4dc3041d07bbe616df458
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    R clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
    R clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm

  Log Message:
  -----------
  Revert "[alpha.webkit.UnretainedCallArgsChecker] Add a checker for NS or CF type call arguments." (#130828)

Reverts llvm/llvm-project#130729


  Commit: dafb566710cd03b7fbb4b187a91f32be9452fd8c
      https://github.com/llvm/llvm-project/commit/dafb566710cd03b7fbb4b187a91f32be9452fd8c
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Serialization/GlobalModuleIndex.cpp
    M llvm/include/llvm/Support/LockFileManager.h
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    M llvm/unittests/Support/LockFileManagerTest.cpp

  Log Message:
  -----------
  [Support] Return `LockFileManager` errors right away (#130627)

This patch removes some internal state out of `LockFileManager` by
moving the locking code from the constructor into new member function
`tryLock()` which returns the errors right away. This simplifies and
modernizes the interface.


  Commit: f9568e8d23b7f38bf60f46adac65b98f9e2b6e4e
      https://github.com/llvm/llvm-project/commit/f9568e8d23b7f38bf60f46adac65b98f9e2b6e4e
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    A clang/test/CodeGenHLSL/BoolVector.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    A clang/test/SemaHLSL/Types/BuiltinVector/BooleanVectorConstantExpr.hlsl

  Log Message:
  -----------
  [HLSL] Make memory representation of boolean vectors in HLSL, vectors of i32. Add support for boolean swizzling. (#123977)

Make the memory representation of boolean vectors in HLSL, vectors of
i32.
Allow boolean swizzling for boolean vectors in HLSL.
Add tests for boolean vectors and boolean vector swizzling.
Closes #91639


  Commit: 3189402466d3354a16bef0fb666aafe9e8729efb
      https://github.com/llvm/llvm-project/commit/3189402466d3354a16bef0fb666aafe9e8729efb
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sopc.s

  Log Message:
  -----------
  [NFC][AMDGPU] Auto generate check lines for some assembler tests (#130797)


  Commit: c337e2d250a924d7115de0b833a48cd15761d78a
      https://github.com/llvm/llvm-project/commit/c337e2d250a924d7115de0b833a48cd15761d78a
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopc.txt

  Log Message:
  -----------
  [NFC][AMDGPU] Auto generate check lines for some disassembler tests (#130799)


  Commit: d578148b7d526154f953a8a154b31b2d44c018b0
      https://github.com/llvm/llvm-project/commit/d578148b7d526154f953a8a154b31b2d44c018b0
  Author: lntue <lntue at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/acosf16.cpp
    M libc/src/math/generic/acoshf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/asinhf.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/cosf16.cpp
    M libc/src/math/generic/coshf16.cpp
    M libc/src/math/generic/erff.cpp
    M libc/src/math/generic/exp10f16.cpp
    M libc/src/math/generic/exp10m1f.cpp
    M libc/src/math/generic/exp10m1f16.cpp
    M libc/src/math/generic/exp2f16.cpp
    M libc/src/math/generic/exp2f_impl.h
    M libc/src/math/generic/exp2m1f.cpp
    M libc/src/math/generic/exp2m1f16.cpp
    M libc/src/math/generic/expf.cpp
    M libc/src/math/generic/expf16.cpp
    M libc/src/math/generic/expm1f16.cpp
    M libc/src/math/generic/log10f.cpp
    M libc/src/math/generic/log10f16.cpp
    M libc/src/math/generic/log1pf.cpp
    M libc/src/math/generic/log2f16.cpp
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/logf16.cpp
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/sinf16.cpp
    M libc/src/math/generic/sinhf.cpp
    M libc/src/math/generic/sinhf16.cpp
    M libc/src/math/generic/tanf.cpp
    M libc/src/math/generic/tanf16.cpp
    M libc/src/math/generic/tanhf16.cpp
    M libc/src/math/generic/tanpif16.cpp

  Log Message:
  -----------
  [libc][math] Skip checking for exceptional values when LIBC_MATH_SKIP_ACCURATE_PASS is set. (#130811)


  Commit: 74eba972ca38b9ae181de296a3b4d966b0691676
      https://github.com/llvm/llvm-project/commit/74eba972ca38b9ae181de296a3b4d966b0691676
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/fir-ops.fir
    M flang/test/Fir/invalid.fir

  Log Message:
  -----------
  [flang] Definitions of fir.pack/unpack_array operations. (#130698)

As defined in #127147.


  Commit: 8132c4f55474d4af599b6e7e0753bc374b762fff
      https://github.com/llvm/llvm-project/commit/8132c4f55474d4af599b6e7e0753bc374b762fff
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
    M llvm/test/Transforms/LoopVectorize/pr37248.ll
    M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
    M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll

  Log Message:
  -----------
  [VPlan] Also introduce broadcasts for live-ins used in vec preheader.

Slightly generalize materializeLiveInBroadcasts to also introduce
broadcasts for live-ins used in the vector preheader. This should cover
all live-ins.

If the live-in is used in the vector preheader, insert the broadcast at
the beginning of the block.


  Commit: dad0a4e886368880d1ebd04ce2f6fd6457029073
      https://github.com/llvm/llvm-project/commit/dad0a4e886368880d1ebd04ce2f6fd6457029073
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/unittests/ADT/STLExtrasTest.cpp

  Log Message:
  -----------
  [ADT] Use `adl_being`/`adl_end` in `make_early_inc_range` (#130518)

This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.

This was a part of #87936 but reverted due to buildbot failures.

Also fix potential issue with double-move on the input range.


  Commit: 8c97ddff53180236617458368f6179c0fac1ad93
      https://github.com/llvm/llvm-project/commit/8c97ddff53180236617458368f6179c0fac1ad93
  Author: Fabian Mora <fmora.dev at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/DLTI/DLTIAttrs.td
    M mlir/include/mlir/Dialect/DLTI/DLTIBase.td
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
    M mlir/lib/Dialect/DLTI/DLTI.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/test/Dialect/LLVMIR/layout.mlir
    M mlir/test/Dialect/Ptr/layout.mlir
    M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.cpp
    M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp

  Log Message:
  -----------
  [mlir][DataLayout] Add a default memory space entry to the data layout. (#127416)

This patch adds a default memory space attribute to the DL and adds
methods to query the attribute. This is required as MLIR has no well
defined default memory space unlike LLVM which has 0. While `nullptr` is
a candidate for default memory space, the `ptr` dialect will remove the
possibility for `nullptr` memory spaces to avoid undefined semantics.

This patch also modifies the `DataLayoutTypeInterface::areCompatible` to
include the new DL spec and merged entries, as it is needed to query the default memory
space.

---------

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


  Commit: dc23234a6613d304014f7bfc9f36b55739401270
      https://github.com/llvm/llvm-project/commit/dc23234a6613d304014f7bfc9f36b55739401270
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [VPlan] Remove dead code in VPWidenPHIRecipe::print (NFC).

All incoming models for VPWidenPHIRecipe are modled in VPlan, remove
code trying to print the orignial phi.


  Commit: 34a3c2302ba59722df4656f3d3514d51206ec516
      https://github.com/llvm/llvm-project/commit/34a3c2302ba59722df4656f3d3514d51206ec516
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll

  Log Message:
  -----------
  [AArch64][SVE] Change placeholder from `undef` to `poison` (#130519)

Default to a `poison` vector when calling `@llvm.vector.insert`.


  Commit: 89fa592b68c76b78f9e7733575c4813e5d7eece0
      https://github.com/llvm/llvm-project/commit/89fa592b68c76b78f9e7733575c4813e5d7eece0
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [mlir][tosa] Update Matmul description to align with spec (#130835)

Align description with the spec.
https://www.mlplatform.org/tosa/tosa_spec.html#_matmul

Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>


  Commit: 009dfb435f3e6fc4f8d68703b27ca0eb1ba18174
      https://github.com/llvm/llvm-project/commit/009dfb435f3e6fc4f8d68703b27ca0eb1ba18174
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M lld/ELF/LinkerScript.cpp
    M lld/test/ELF/linkerscript/section-class.test

  Log Message:
  -----------
  Reland "[LLD][ELF] Don't spill to same memory region" (#130851)

Relands #129795

Remove skipped potential spills from their parent input section
descriptions to prevent undefined behavior.


  Commit: 4d6ca116221a0f49232999c60a986ede987f7b46
      https://github.com/llvm/llvm-project/commit/4d6ca116221a0f49232999c60a986ede987f7b46
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-03-12 (Wed, 12 Mar 2025)

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  [AstMatcher]`templateArgumentCountIs` support `FunctionDecl` (#130416)

`hasTemplateArgument` and `templateArgumentCountIs` are always used together. It is more convenient to make then support `FunctionDecl`.


  Commit: 0e4ba47ca827f96319ff9c5f2f9f7ee5c607f6ea
      https://github.com/llvm/llvm-project/commit/0e4ba47ca827f96319ff9c5f2f9f7ee5c607f6ea
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-03-12 (Wed, 12 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp

  Log Message:
  -----------
  [clang-tidy] support to detect conversion in `make_optional` for `bugprone-optional-value-conversion` (#130417)

Add support for std::make_optional.

Fixes #119554


  Commit: 6dbb5319ce3e6855aa46a511600fe901021e2e94
      https://github.com/llvm/llvm-project/commit/6dbb5319ce3e6855aa46a511600fe901021e2e94
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M flang-rt/CMakeLists.txt

  Log Message:
  -----------
  [flang-rt] Set HAVE_LDBL_MANT_DIG_113. (#130836)

This check enables flang_rt.quadmath build on aarch64.


  Commit: 701148f05a7b90ed6b8c4fc38db4c2b0c9241ffc
      https://github.com/llvm/llvm-project/commit/701148f05a7b90ed6b8c4fc38db4c2b0c9241ffc
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/CMakeLists.txt
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    A clang/include/clang/CIR/Dialect/Passes.h
    A clang/include/clang/CIR/Dialect/Passes.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/Dialect/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    A clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
    A clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    A clang/lib/CIR/Dialect/Transforms/PassDetail.h
    A clang/lib/CIR/Lowering/CIRPasses.cpp
    M clang/lib/CIR/Lowering/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    A clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMIR.cpp
    M clang/test/CIR/Lowering/func-simple.cpp

  Log Message:
  -----------
  [CIR] Upstream initial support for CIR flattening (#130648)

The ClangIR CFG has to be flat before it can be lowered to LLVM IR. That
is, there can be no nested regions and all blocks in a region must
belong to the parent region. Currently only cir.scope operations violate
these rules, so the initial implementation of the cir-flatten-cfg pass
only has to transform scope operations.


  Commit: 634e25319e0e99affcb61cc9fba639c4d40cc420
      https://github.com/llvm/llvm-project/commit/634e25319e0e99affcb61cc9fba639c4d40cc420
  Author: Evan Liu <liuyievan at gmail.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
    M mlir/test/Dialect/Tensor/bubble-reshapes.mlir

  Log Message:
  -----------
  [mlir] Add special case for 0-D tensor when fusing expand from collapse (#130838)

One fusion pattern for collapse_shape -> expand_shape was added in
https://github.com/llvm/llvm-project/commit/a95ad2da36b6a996b05c79df6b385cd98bac286d,
however if the intermediate tensor between a collapse and expand is a
0-D tensor, then the `reassociation_map` for these two are special cases
and can't be generally fused in this function
`BubbleUpExpandThroughParallelCollapse`.


  Commit: 76d5a79bed007769745d44a5e298c09614cad423
      https://github.com/llvm/llvm-project/commit/76d5a79bed007769745d44a5e298c09614cad423
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-03-12 (Wed, 12 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h
    M llvm/include/llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h
    R llvm/include/llvm/ExecutionEngine/Orc/EPCEHFrameRegistrar.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
    M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.h
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/EHFrameRegistrationPlugin.cpp
    R llvm/lib/ExecutionEngine/Orc/EPCEHFrameRegistrar.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/DefaultHostBootstrapValues.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.cpp
    M llvm/tools/lli/lli.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [ORC] Drop EHFrameRegistrar, register eh-frames with AllocActions (#130719)

This simplifies resource management, and should improve performance for most use
cases.


  Commit: d547005f6c2bf6fbee9fe0f4f99bb6ac2d5b04ab
      https://github.com/llvm/llvm-project/commit/d547005f6c2bf6fbee9fe0f4f99bb6ac2d5b04ab
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M flang-rt/cmake/modules/AddFlangRT.cmake

  Log Message:
  -----------
  [flang-rt] Enable -funwind-tables so that backtrace works. (#130848)

`backtrace` will not show anything unless it can unwind from
Fortran runtime, so it is useful to have this ability even
in the release build.


  Commit: 3692fb6ba58ab2f6836df1cf1f28ecd20450a7f3
      https://github.com/llvm/llvm-project/commit/3692fb6ba58ab2f6836df1cf1f28ecd20450a7f3
  Author: Emilio Cota <ecg at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp

  Log Message:
  -----------
  [mlir][math] add benefit arg to populate math approximations/expansions (#130782)

This is a follow-up to #127291, which added the benefit arg to lowerings
to intrinsics and libm.

In this change we add the benefit arg to the math approximation and
expansion lowerings, which allows users to establish a preferred order
among all three math lowerings, namely approximations, intrinsics and
libm.

Note that we're only updating the new API added in #126103. The legacy
one (`mlir::populateMathPolynomialApproximationPatterns`) is left
unmodified to encourage users to move out of it.


  Commit: 72aec1dfcae4d1b50278dbedf164437dee29598b
      https://github.com/llvm/llvm-project/commit/72aec1dfcae4d1b50278dbedf164437dee29598b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp

  Log Message:
  -----------
  [IPO] Avoid repeated hash lookups (NFC) (#130708)


  Commit: da478df563583924d0cb25b561b4171e6fe6013c
      https://github.com/llvm/llvm-project/commit/da478df563583924d0cb25b561b4171e6fe6013c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [X86] Avoid repeated hash lookups (NFC) (#130710)


  Commit: da708814beeeecd19844e53a6e1bbb88d748b26e
      https://github.com/llvm/llvm-project/commit/da708814beeeecd19844e53a6e1bbb88d748b26e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Move DecoderNamespace in RISCVInstrInfoXCV.td to the Instruction defs. NFC (#130800)

This puts them in the same place as the Predicates. I'd like to have a
single DecoderNamespace scope for all the instruction defs, but we need
to reorder the classes and InstAliases away from the defs to do that.


  Commit: b6f502ddb0d1159723744ce01e75bde67fdb01cc
      https://github.com/llvm/llvm-project/commit/b6f502ddb0d1159723744ce01e75bde67fdb01cc
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll

  Log Message:
  -----------
  AMDGPU: Implement i1 to bfloat conversion (#130831)

We are using the same approach as the conversion of other integer type
to bfloat: i1 --> f32 and f32 --> bf16. Refer to LowerUINT_TO_FP and
LowerSINT_TO_FP in AMDGPUTargetLowering.cpp for details.

Fixes: SWDEV-511605


  Commit: 8f05f253601618a2a9c7203cf9e7b9de4f9e22de
      https://github.com/llvm/llvm-project/commit/8f05f253601618a2a9c7203cf9e7b9de4f9e22de
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    A llvm/include/llvm/Support/Mustache.h
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/Mustache.cpp
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/MustacheTest.cpp

  Log Message:
  -----------
  reapply [llvm] add support for mustache templating language (#130732)

Reapply https://github.com/llvm/llvm-project/pull/105893

Fixes errors which broke build bot that uses GCC as a compiler
https://lab.llvm.org/buildbot/#/builders/136/builds/3100

The issue here was that using Accessor defined in the anonymous
namespace introduces Accessor as a type alias. Which is, later redeclare
as members in classes Token and ASTNode with the same name which causes
error in GCC. The patch fixes it by renaming the Accesor to
AccessorValue. It also fixes warnings caused by the compile due to
initialization


Adds Support for the Mustache Templating Language. See specs here:
https://mustache.github.io/mustache.5.html
This patch implements support+tests for majority of the features of the
language including:

   - Variables
   - Comments
   - Lambdas
   - Sections

This meant as a library to support places where we have to generate
HTML, such as in clang-doc.


  Commit: 9415b7d97fc38d0b8f3de63f7ba6ff6a5072158e
      https://github.com/llvm/llvm-project/commit/9415b7d97fc38d0b8f3de63f7ba6ff6a5072158e
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2025-03-12 (Wed, 12 Mar 2025)

  Changed paths:
    M llvm/lib/Support/Mustache.cpp

  Log Message:
  -----------
  [Support] Fix -Wpessimizing-move in Mustache.cpp (NFC)

/llvm-project/llvm/lib/Support/Mustache.cpp:299:27:
error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move]
    PrevToken.TokenBody = std::move(Unindented.str());
                          ^
/llvm-project/llvm/lib/Support/Mustache.cpp:299:27: note: remove std::move call here
    PrevToken.TokenBody = std::move(Unindented.str());
                          ^~~~~~~~~~                ~
1 error generated.


  Commit: 7ae75851b2e1570662261c97c13cfc65357c283d
      https://github.com/llvm/llvm-project/commit/7ae75851b2e1570662261c97c13cfc65357c283d
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2025-03-12 (Wed, 12 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrConditionalCompare.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/CodeGen/X86/apx/ccmp.ll
    A llvm/test/CodeGen/X86/apx/optimize-compare-ccmp.mir
    M llvm/test/CodeGen/X86/optimize-compare.mir

  Log Message:
  -----------
  [X86][APX] Support peephole optimization with CCMP instruction (#129994)

This extends `opitimizeCompareInstr` to re-use previous CCMP results if
the
previous comparison was with an immediates that was 1 bigger or smaller.
Example:
```
CCMP x, 13, 2, 5
...
CCMP x, 12, 2, 5 ; can be removed if we change the SETg
SETg ...         ; x > 12 changed to SETge (x >= 13) & remove the 2nd
CCMP
```


  Commit: 554347ba45b506c86d0025b1e0e7ab1753c63c6a
      https://github.com/llvm/llvm-project/commit/554347ba45b506c86d0025b1e0e7ab1753c63c6a
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    R llvm/include/llvm/Support/Mustache.h
    M llvm/lib/Support/CMakeLists.txt
    R llvm/lib/Support/Mustache.cpp
    M llvm/unittests/Support/CMakeLists.txt
    R llvm/unittests/Support/MustacheTest.cpp

  Log Message:
  -----------
  Revert "[llvm] add support for mustache templating language (#105893)" (#130873)

This patch caused certain GCC buildbots to failed
errors: https://lab.llvm.org/buildbot/#/builders/66/builds/11049


  Commit: 6981f7e92a051fcc7cd2688bbb0230275b7d2360
      https://github.com/llvm/llvm-project/commit/6981f7e92a051fcc7cd2688bbb0230275b7d2360
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
    M mlir/test/Dialect/Affine/parallelize.mlir

  Log Message:
  -----------
  [mlir] account for explicit affine.parallel in parallelization (#130812)

Affine parallelization should take explicitly parallel loops into
account when computing loop depth for dependency analysis purposes. This
was previously not the case, potentially leading to loops incorrectly
being marked as parallel due to depth mismatch.


  Commit: 30fdeec0f8f962380a729e6689e098d5875fda04
      https://github.com/llvm/llvm-project/commit/30fdeec0f8f962380a729e6689e098d5875fda04
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/unittests/ADT/STLExtrasTest.cpp

  Log Message:
  -----------
  [ADT] Use `adl_being`/`end` in `map_range` (#130508)

This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.

This was a part of #87936 but reverted due to buildbot failures.

Also add `map_range` unit tests -- there were no pre-existing tests
AFAICT.


  Commit: c12761858c72419051225a06c6511ad0cced08b1
      https://github.com/llvm/llvm-project/commit/c12761858c72419051225a06c6511ad0cced08b1
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-03-12 (Wed, 12 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/StmtPrinter.cpp
    M clang/test/CodeGen/p0963r3.cpp
    M clang/test/SemaCXX/paren-list-agg-init.cpp

  Log Message:
  -----------
  [Clang] Fix the printout of CXXParenListInitExpr involving default arguments (#130731)

The parantheses are unnecessary IMO because they should have been
handled in the parents of such expressions, e.g. in CXXFunctionalCastExpr.

Moreover, we shouldn't join CXXDefaultInitExpr either because they are
not printed at all.


  Commit: ed3f871dce41686fd158395408897aeddb466e54
      https://github.com/llvm/llvm-project/commit/ed3f871dce41686fd158395408897aeddb466e54
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M .ci/metrics/metrics.py
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/libcxx-build-containers.yml
    M .github/workflows/libcxx-check-generated-files.yml
    M .github/workflows/release-asset-audit.py
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
    A clang-tools-extra/clang-tidy/readability/AmbiguousSmartptrResetCallCheck.cpp
    A clang-tools-extra/clang-tidy/readability/AmbiguousSmartptrResetCallCheck.h
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/ambiguous-smartptr-reset-call-custom-pointers.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/ambiguous-smartptr-reset-call.cpp
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/tools/dump_ast_matchers.py
    M clang/include/clang/AST/Mangle.h
    M clang/include/clang/AST/NestedNameSpecifier.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticOptions.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/CIR/Dialect/CMakeLists.txt
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    A clang/include/clang/CIR/Dialect/Passes.h
    A clang/include/clang/CIR/Dialect/Passes.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    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/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
    M clang/lib/AST/ASTContext.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/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CIR/CMakeLists.txt
    M clang/lib/CIR/Dialect/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    A clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
    A clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    A clang/lib/CIR/Dialect/Transforms/PassDetail.h
    A clang/lib/CIR/Lowering/CIRPasses.cpp
    M clang/lib/CIR/Lowering/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    A clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMIR.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/VarBypassDetector.cpp
    M clang/lib/CodeGen/VarBypassDetector.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.h
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SPIRV.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/hlsl.h
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/lib/Headers/hlsl/hlsl_detail.h
    A clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/GlobalModuleIndex.cpp
    A clang/lib/StaticAnalyzer/Checkers/AssumeModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/Checker.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/cxx1z.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/cxx98.cpp
    M clang/test/AST/ByteCode/if.cpp
    A clang/test/AST/ByteCode/libcxx/memcmp-pointer.cpp
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/AST/ast-print-openacc-routine-construct.cpp
    A clang/test/Analysis/ArrayBound/assumption-reporting.c
    A clang/test/Analysis/ArrayBound/assumptions.c
    A clang/test/Analysis/ArrayBound/brief-tests.c
    A clang/test/Analysis/ArrayBound/cplusplus.cpp
    A clang/test/Analysis/ArrayBound/verbose-tests.c
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-members.mm
    M clang/test/Analysis/analyzer-enabled-checkers.c
    A clang/test/Analysis/builtin_assume.cpp
    M clang/test/Analysis/cxx23-assume-attribute.cpp
    R clang/test/Analysis/out-of-bounds-constraint-check.c
    R clang/test/Analysis/out-of-bounds-diagnostics.c
    R clang/test/Analysis/out-of-bounds-new.cpp
    R clang/test/Analysis/out-of-bounds-notes.c
    R clang/test/Analysis/out-of-bounds.c
    M clang/test/Analysis/std-c-library-functions-POSIX.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    A clang/test/C/C2y/n3451.c
    A clang/test/C/C2y/n3505.c
    M clang/test/CIR/Lowering/func-simple.cpp
    M clang/test/CMakeLists.txt
    M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.unqual/p7.cpp
    M clang/test/CXX/class.access/class.access.dcl/p1.cpp
    M clang/test/CXX/class.access/class.friend/p3-cxx0x.cpp
    M clang/test/CXX/class.access/class.friend/p6.cpp
    M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p3.cpp
    M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p4.cpp
    M clang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p7-0x.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg10xx.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg20xx.cpp
    M clang/test/CXX/drs/cwg21xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg2xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg4xx.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/expr/expr.const/p3-0x.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/type-requirement.cpp
    M clang/test/CXX/special/class.inhctor/elsewhere.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1-11.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-0x.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.type/p2.cpp
    M clang/test/CXX/temp/temp.decls/temp.class.spec/p8-1y.cpp
    M clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
    M clang/test/CXX/temp/temp.decls/temp.variadic/multi-level-substitution.cpp
    M clang/test/CXX/temp/temp.deduct/p9.cpp
    M clang/test/CXX/temp/temp.param/p1.cpp
    M clang/test/CXX/temp/temp.param/p12.cpp
    M clang/test/CXX/temp/temp.param/p15-cxx0x.cpp
    M clang/test/CXX/temp/temp.param/p8-cxx20.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/p3.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.constexpr/p2.cpp
    M clang/test/CXX/temp/temp.spec/cxx1y-variable-template-no-body.cpp
    M clang/test/CXX/temp/temp.spec/part.spec.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p20.cpp
    A clang/test/CodeGen/aarch64-execute-only.c
    A clang/test/CodeGen/p0963r3.cpp
    A clang/test/CodeGen/strictfp-elementwise-builtins.cpp
    R clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
    M clang/test/CodeGenCXX/cxx23-p2280r4.cpp
    M clang/test/CodeGenCXX/x86_64-arguments.cpp
    M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    A clang/test/CodeGenHLSL/BoolVector.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/select.hlsl
    A clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel-linking.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/Driver/HLSL/metal-converter.hlsl
    A clang/test/Driver/aarch64-execute-only.c
    M clang/test/Driver/arm-thread-pointer.c
    M clang/test/Driver/dxc_dxv_path.hlsl
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Driver/hexagon-toolchain-linux.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/spirv-openmp-toolchain.c
    M clang/test/Driver/spirv-toolchain.cl
    M clang/test/Misc/integer-literal-printing.cpp
    M clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
    M clang/test/Modules/missing-body-in-import.cpp
    A clang/test/Modules/pr125999.cppm
    M clang/test/Modules/template-default-args.cpp
    M clang/test/OpenMP/requires_ast_print.cpp
    M clang/test/OpenMP/requires_messages.cpp
    M clang/test/OpenMP/target_data_ast_print.cpp
    M clang/test/OpenMP/target_map_messages.cpp
    M clang/test/Parser/MicrosoftExtensions.cpp
    M clang/test/Parser/cxx-attributes.cpp
    M clang/test/Parser/cxx-template-argument.cpp
    M clang/test/Parser/cxx-template-template-recovery.cpp
    M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
    M clang/test/Parser/cxx1z-decomposition.cpp
    M clang/test/Parser/cxx2c-variadic-friends.cpp
    M clang/test/Parser/decomposed-condition.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/Sema/aarch64-special-register.c
    M clang/test/Sema/attr-availability-macosx.cpp
    M clang/test/Sema/compare.c
    M clang/test/SemaCXX/PR62533.cpp
    M clang/test/SemaCXX/access-base-class.cpp
    M clang/test/SemaCXX/alias-template.cpp
    M clang/test/SemaCXX/anonymous-struct.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-p2280r4.cpp
    M clang/test/SemaCXX/constant-expression.cpp
    A clang/test/SemaCXX/constexpr-if.cpp
    R clang/test/SemaCXX/coroutine-decltype.cpp
    A clang/test/SemaCXX/coroutine-unevaluate.cpp
    M clang/test/SemaCXX/cxx0x-defaulted-functions.cpp
    M clang/test/SemaCXX/cxx11-user-defined-literals.cpp
    M clang/test/SemaCXX/cxx1z-noexcept-function-type.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    M clang/test/SemaCXX/cxx98-compat-flags.cpp
    M clang/test/SemaCXX/cxx98-compat.cpp
    M clang/test/SemaCXX/decomposed-condition.cpp
    M clang/test/SemaCXX/implicit-member-functions.cpp
    M clang/test/SemaCXX/lambda-expressions.cpp
    M clang/test/SemaCXX/make_integer_seq.cpp
    M clang/test/SemaCXX/paren-list-agg-init.cpp
    M clang/test/SemaCXX/pr25181-crash-on-invalid.cpp
    M clang/test/SemaCXX/pr36536.cpp
    M clang/test/SemaCXX/type-trait-common-type.cpp
    M clang/test/SemaCXX/undefined-internal.cpp
    M clang/test/SemaCXX/using-decl-templates.cpp
    M clang/test/SemaCXX/warn-deprecated-specializations-in-system-headers.cpp
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/distance-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
    A clang/test/SemaHLSL/Language/NoVirtual.hlsl
    A clang/test/SemaHLSL/Language/VectorOutOfRange-errors.hlsl
    M clang/test/SemaHLSL/Semantics/valid_entry_parameter.hlsl
    A clang/test/SemaHLSL/Types/BuiltinVector/BooleanVectorConstantExpr.hlsl
    M clang/test/SemaObjCXX/parameterized_classes_subst.mm
    M clang/test/SemaObjCXX/propert-dot-error.mm
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/test/SemaOpenACC/routine-construct-ast.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp
    M clang/test/SemaTemplate/alias-templates.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/default-arguments.cpp
    M clang/test/SemaTemplate/friend-template.cpp
    M clang/test/SemaTemplate/instantiate-member-pointers.cpp
    M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
    M clang/test/SemaTemplate/instantiation-default-1.cpp
    M clang/test/SemaTemplate/instantiation-default-2.cpp
    M clang/test/SemaTemplate/instantiation-dependence.cpp
    M clang/test/SemaTemplate/instantiation-depth-defarg.cpp
    M clang/test/SemaTemplate/instantiation-depth-exception-spec.cpp
    M clang/test/SemaTemplate/instantiation-depth.cpp
    M clang/test/SemaTemplate/ms-sizeof-missing-typename.cpp
    M clang/test/SemaTemplate/ms-unqualified-base-class.cpp
    M clang/test/SemaTemplate/nested-template.cpp
    M clang/test/SemaTemplate/partial-spec-instantiate.cpp
    M clang/test/SemaTemplate/qualified-id.cpp
    M clang/test/SemaTemplate/recovery-crash.cpp
    M clang/test/SemaTemplate/stack-exhaustion.cpp
    M clang/test/SemaTemplate/temp_arg.cpp
    M clang/test/SemaTemplate/temp_arg_nontype.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx2c.cpp
    M clang/test/SemaTemplate/temp_arg_template.cpp
    M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
    M clang/test/SemaTemplate/temp_arg_type.cpp
    M clang/test/SemaTemplate/template-id-expr.cpp
    M clang/test/SemaTemplate/typename-specifier-3.cpp
    A clang/test/TableGen/HLSLAttribute-errors.td
    M clang/tools/amdgpu-arch/AMDGPUArch.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
    M clang/tools/cir-opt/CMakeLists.txt
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/DeclPrinterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/www/c_status.html
    M clang/www/cxx_status.html
    M clang/www/get_started.html
    M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_procmaps_mac_test.cpp
    M compiler-rt/test/tysan/lit.cfg.py
    M flang-rt/CMakeLists.txt
    A flang-rt/cmake/clang_gcc_root.cpp
    M flang-rt/cmake/modules/AddFlangRT.cmake
    A flang-rt/cmake/quadmath_wrapper.h.in
    M flang-rt/lib/quadmath/CMakeLists.txt
    M flang-rt/lib/quadmath/complex-math.h
    M flang-rt/lib/quadmath/math-entries.h
    M flang-rt/lib/runtime/command.cpp
    A flang/docs/ArrayRepacking.md
    M flang/docs/index.md
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Frontend/FrontendActions.h
    A flang/include/flang/Frontend/ParserActions.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/Support/InternalNames.h
    M flang/include/flang/Parser/dump-parse-tree.h
    A flang/include/flang/Parser/options.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Parser/parsing.h
    M flang/include/flang/Parser/preprocessor.h
    M flang/include/flang/Runtime/command.h
    M flang/include/flang/Semantics/expression.h
    M flang/include/flang/Support/OpenMP-utils.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/variable.cpp
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/lib/Frontend/ParserActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    M flang/lib/Parser/program-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/assignment.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-coarray.cpp
    M flang/lib/Semantics/check-coarray.h
    M flang/lib/Semantics/check-deallocate.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/type.cpp
    M flang/lib/Support/OpenMP-utils.cpp
    A flang/test/Fir/alloc-32.fir
    M flang/test/Fir/alloc.fir
    A flang/test/Fir/copy-codegen.fir
    M flang/test/Fir/fir-ops.fir
    M flang/test/Fir/invalid.fir
    M flang/test/Integration/OpenMP/private-global.f90
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M flang/test/Lower/HLFIR/structure-constructor.f90
    A flang/test/Lower/OpenMP/has_device_addr-mapinfo.f90
    M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
    M flang/test/Lower/OpenMP/private-derived-type.f90
    A flang/test/Lower/OpenMP/privatization-proc-ptr.f90
    A flang/test/Lower/OpenMP/reduction-equivalence.f90
    M flang/test/Lower/default-initialization.f90
    M flang/test/Lower/derived-type-finalization.f90
    M flang/test/Lower/derived-type-temp.f90
    M flang/test/Lower/forall/character-1.f90
    M flang/test/Lower/forall/forall-allocatable-2.f90
    M flang/test/Lower/pointer-default-init.f90
    A flang/test/Parser/OpenMP/metadirective-flush.f90
    A flang/test/Parser/func-label.f
    A flang/test/Preprocessing/bug126459.F90
    A flang/test/Semantics/OpenMP/cancel.f90
    M flang/test/Semantics/allocate12.f90
    M flang/test/Semantics/assign02.f90
    M flang/test/Semantics/assign11.f90
    M flang/test/Semantics/bindings01.f90
    M flang/test/Semantics/c_f_pointer.f90
    M flang/test/Semantics/call04.f90
    M flang/test/Semantics/call06.f90
    M flang/test/Semantics/call12.f90
    M flang/test/Semantics/coarrays02.f90
    M flang/test/Semantics/deallocate05.f90
    M flang/test/Semantics/expr-errors06.f90
    M flang/test/Semantics/io11.f90
    M flang/test/Semantics/lockstmt03.f90
    A flang/test/Semantics/modfile74.f90
    M flang/test/Semantics/move_alloc.f90
    A flang/test/Semantics/pdt04.f90
    M flang/test/Semantics/resolve105.f90
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/docs/headers/stdfix.rst
    M libc/hdr/CMakeLists.txt
    A libc/hdr/locale_macros.h
    M libc/include/llvm-libc-macros/stdfix-macros.h
    M libc/include/stdfix.yaml
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/span.h
    M libc/src/__support/CPP/string.h
    M libc/src/__support/CPP/string_view.h
    M libc/src/__support/FPUtil/FMA.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/NormalFloat.h
    M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
    M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
    M libc/src/__support/FPUtil/double_double.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/FPUtil/multiply_add.h
    M libc/src/__support/OSUtil/darwin/io.h
    M libc/src/__support/big_int.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/high_precision_decimal.h
    M libc/src/__support/integer_literals.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/macros/properties/cpu_features.h
    M libc/src/__support/memory_size.h
    M libc/src/__support/str_to_float.h
    M libc/src/__support/str_to_integer.h
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/acosf16.cpp
    M libc/src/math/generic/acoshf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/asinhf.cpp
    M libc/src/math/generic/atan2f.cpp
    M libc/src/math/generic/atanf.cpp
    M libc/src/math/generic/cbrt.cpp
    M libc/src/math/generic/cos.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/cosf16.cpp
    M libc/src/math/generic/coshf16.cpp
    M libc/src/math/generic/cospif.cpp
    M libc/src/math/generic/erff.cpp
    M libc/src/math/generic/exp10f16.cpp
    M libc/src/math/generic/exp10m1f.cpp
    M libc/src/math/generic/exp10m1f16.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/exp2f16.cpp
    M libc/src/math/generic/exp2f_impl.h
    M libc/src/math/generic/exp2m1f.cpp
    M libc/src/math/generic/exp2m1f16.cpp
    M libc/src/math/generic/expf.cpp
    M libc/src/math/generic/expf16.cpp
    M libc/src/math/generic/expm1f.cpp
    M libc/src/math/generic/expm1f16.cpp
    M libc/src/math/generic/fmul.cpp
    M libc/src/math/generic/hypotf.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log10f.cpp
    M libc/src/math/generic/log10f16.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log1pf.cpp
    M libc/src/math/generic/log2.cpp
    M libc/src/math/generic/log2f.cpp
    M libc/src/math/generic/log2f16.cpp
    M libc/src/math/generic/logf.cpp
    M libc/src/math/generic/logf16.cpp
    M libc/src/math/generic/pow.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/range_reduction_double_common.h
    M libc/src/math/generic/sin.cpp
    M libc/src/math/generic/sincos.cpp
    M libc/src/math/generic/sincos_eval.h
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sincosf16_utils.h
    M libc/src/math/generic/sincosf_utils.h
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/sinf16.cpp
    M libc/src/math/generic/sinhf.cpp
    M libc/src/math/generic/sinhf16.cpp
    M libc/src/math/generic/tan.cpp
    M libc/src/math/generic/tanf.cpp
    M libc/src/math/generic/tanf16.cpp
    M libc/src/math/generic/tanhf16.cpp
    M libc/src/math/generic/tanpif16.cpp
    M libc/src/stdio/printf_core/parser.h
    M libc/src/stdio/printf_core/writer.h
    M libc/src/stdio/scanf_core/parser.h
    M libc/src/stdlib/quick_sort.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/string/string_utils.h
    M libc/test/UnitTest/ExecuteFunction.h
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/MemoryMatcher.h
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/arg_list_test.cpp
    M libc/test/src/__support/big_int_test.cpp
    M libc/test/src/__support/blockstore_test.cpp
    M libc/test/src/__support/fixedvector_test.cpp
    M libc/test/src/__support/hash_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/math_extras_test.cpp
    M libc/test/src/__support/str_to_double_test.cpp
    M libc/test/src/__support/str_to_float_test.cpp
    M libc/test/src/__support/str_to_fp_test.h
    M libc/test/src/locale/CMakeLists.txt
    M libc/test/src/locale/locale_test.cpp
    M libc/test/src/locale/localeconv_test.cpp
    M libc/test/src/math/FModTest.h
    M libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/macros_test.cpp
    M libc/test/src/stdio/printf_core/parser_test.cpp
    M libc/test/src/string/memmove_test.cpp
    M libc/test/src/string/memory_utils/memory_check_utils.h
    M libc/test/src/string/memory_utils/op_tests.cpp
    M libc/test/src/string/memory_utils/utils_test.cpp
    M libc/test/src/string/memset_test.cpp
    M libc/test/src/strings/bcopy_test.cpp
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/future
    M libcxx/include/regex
    M libcxx/include/type_traits
    M libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/compare_exchange_strong.verify.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/compare_exchange_weak.verify.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/load.verify.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/store.verify.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/wait.verify.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
    M libcxx/test/std/re/re.alg/re.alg.match/ecma.pass.cpp
    R libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp
    M libcxx/utils/ci/docker-compose.yml
    M libunwind/src/Registers.hpp
    M lld/COFF/Options.td
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/Writer.cpp
    A lld/test/ELF/linkerscript/overlay-keep.test
    M lld/test/ELF/linkerscript/section-class.test
    A lld/test/ELF/loongarch-relax-call36-2.s
    A lld/test/ELF/loongarch-relax-call36.s
    M lld/test/ELF/loongarch-relax-emit-relocs.s
    A lld/test/ELF/loongarch-relax-tls-le.s
    M lld/test/ELF/loongarch-tls-gd.s
    M lld/test/ELF/loongarch-tls-ld.s
    M lld/test/ELF/loongarch-tls-le.s
    M lldb/docs/resources/build.rst
    M lldb/include/lldb/Core/Mangled.h
    M lldb/include/lldb/Core/Module.h
    M lldb/include/lldb/Utility/XcodeSDK.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Host/CMakeLists.txt
    A lldb/source/Host/aix/Host.cpp
    M lldb/source/Host/macosx/objcxx/MemoryMonitorMacOSX.mm
    M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
    M lldb/source/Target/Statistics.cpp
    M lldb/source/Utility/XcodeSDK.cpp
    M lldb/source/ValueObject/ValueObjectChild.cpp
    M lldb/test/API/functionalities/asan/TestReportData.py
    M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
    M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
    A lldb/test/Shell/Commands/command-statistics-dump.test
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    A lldb/tools/lldb-dap/DAPLog.h
    M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/unittests/API/CMakeLists.txt
    A lldb/unittests/API/SBLineEntryTest.cpp
    M lldb/unittests/Symbol/SymtabTest.cpp
    M lldb/unittests/Utility/XcodeSDKTest.cpp
    M llvm/CMakeLists.txt
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/HowToCrossCompileLLVM.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/include/llvm/ADT/bit.h
    M llvm/include/llvm/ADT/ilist_node.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h
    R llvm/include/llvm/ExecutionEngine/Orc/EPCEHFrameRegistrar.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.h
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    A llvm/include/llvm/Support/AArch64AttributeParser.h
    M llvm/include/llvm/Support/AArch64BuildAttributes.h
    M llvm/include/llvm/Support/ARMAttributeParser.h
    M llvm/include/llvm/Support/CSKYAttributeParser.h
    A llvm/include/llvm/Support/ELFAttrParserCompact.h
    A llvm/include/llvm/Support/ELFAttrParserExtended.h
    M llvm/include/llvm/Support/ELFAttributeParser.h
    M llvm/include/llvm/Support/ELFAttributes.h
    M llvm/include/llvm/Support/ErrorOr.h
    M llvm/include/llvm/Support/HexagonAttributeParser.h
    M llvm/include/llvm/Support/JSON.h
    M llvm/include/llvm/Support/LockFileManager.h
    M llvm/include/llvm/Support/MSP430AttributeParser.h
    M llvm/include/llvm/Support/RISCVAttributeParser.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/CostModel.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/TailDuplicator.cpp
    M llvm/lib/CodeGen/WinEHPrepare.cpp
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebugInfoSupport.cpp
    M llvm/lib/ExecutionEngine/Orc/EHFrameRegistrationPlugin.cpp
    R llvm/lib/ExecutionEngine/Orc/EPCEHFrameRegistrar.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/DefaultHostBootstrapValues.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/User.cpp
    M llvm/lib/MC/MCAsmInfo.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmLexer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    A llvm/lib/Support/AArch64AttributeParser.cpp
    M llvm/lib/Support/AArch64BuildAttributes.cpp
    M llvm/lib/Support/APFloat.cpp
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/CSKYAttributeParser.cpp
    A llvm/lib/Support/ELFAttrParserCompact.cpp
    A llvm/lib/Support/ELFAttrParserExtended.cpp
    R llvm/lib/Support/ELFAttributeParser.cpp
    M llvm/lib/Support/HexagonAttributeParser.cpp
    M llvm/lib/Support/JSON.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/RISCVAttributeParser.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    A llvm/lib/Target/AMDGPU/AMDGPUExportKernelRuntimeHandles.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUExportKernelRuntimeHandles.h
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
    R llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.cpp
    R llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.h
    M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/lib/Target/ARM/ARMFastISel.cpp
    M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    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.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp
    M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrBuilder.h
    M llvm/lib/Target/X86/X86InstrConditionalCompare.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86PreTileConfig.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
    A llvm/lib/Target/Xtensa/XtensaDSPInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaFeatures.td
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
    M llvm/lib/Target/Xtensa/XtensaSubtarget.h
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
    M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/LCSSA.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    A llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanDominatorTree.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Analysis/CostModel/AArch64/abs.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-overflow.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-ssat.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-usat.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
    M llvm/test/Analysis/CostModel/AArch64/arith.ll
    M llvm/test/Analysis/CostModel/AArch64/div.ll
    M llvm/test/Analysis/CostModel/AArch64/div_cte.ll
    M llvm/test/Analysis/CostModel/AArch64/fshl.ll
    M llvm/test/Analysis/CostModel/AArch64/fshr.ll
    M llvm/test/Analysis/CostModel/AArch64/gep.ll
    M llvm/test/Analysis/CostModel/AArch64/min-max.ll
    M llvm/test/Analysis/CostModel/AArch64/mul.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-add.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-and.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-or.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
    M llvm/test/Analysis/CostModel/AArch64/rem.ll
    M llvm/test/Analysis/CostModel/AArch64/select.ll
    M llvm/test/Analysis/CostModel/AArch64/shuffle-broadcast.ll
    M llvm/test/Analysis/CostModel/AArch64/shuffle-reverse.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
    M llvm/test/CodeGen/AArch64/aarch64-known-bits-hadd.ll
    M llvm/test/CodeGen/AArch64/sve-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve2-fcopysign.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-export-kernel-runtime-handles.ll
    M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    A llvm/test/CodeGen/AMDGPU/dbg-info-inline-at.ll
    R llvm/test/CodeGen/AMDGPU/enqueue-kernel.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
    A llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/loop_break.ll
    M llvm/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll
    M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
    M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/scheduler-rp-calc-one-successor-two-predecessors-bug.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
    M llvm/test/CodeGen/AMDGPU/spillv16.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    A llvm/test/CodeGen/BPF/CORE/arena_bitcast.ll
    A llvm/test/CodeGen/NVPTX/st_bulk.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv32.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv64.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    A llvm/test/CodeGen/RISCV/machine-copyprop-noop-removal.mir
    M llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
    M llvm/test/CodeGen/RISCV/rvv/fold-binop-into-select.ll
    M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
    M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
    M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/sextw-removal.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
    M llvm/test/CodeGen/WebAssembly/exception.ll
    M llvm/test/CodeGen/X86/apx/ccmp.ll
    M llvm/test/CodeGen/X86/apx/cf.ll
    A llvm/test/CodeGen/X86/apx/optimize-compare-ccmp.mir
    M llvm/test/CodeGen/X86/atomic-idempotent.ll
    M llvm/test/CodeGen/X86/atomic-unordered.ll
    M llvm/test/CodeGen/X86/avx-shift.ll
    M llvm/test/CodeGen/X86/avx10_2_512ni-intrinsics.ll
    M llvm/test/CodeGen/X86/combine-pmadd.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/gfni-shifts.ll
    M llvm/test/CodeGen/X86/haddsub-undef.ll
    M llvm/test/CodeGen/X86/implicit-null-check.ll
    M llvm/test/CodeGen/X86/known-bits-vector.ll
    A llvm/test/CodeGen/X86/llvm.modf-win32.ll
    M llvm/test/CodeGen/X86/matrix-multiply.ll
    M llvm/test/CodeGen/X86/membarrier.ll
    M llvm/test/CodeGen/X86/mfence.ll
    M llvm/test/CodeGen/X86/mulvi32.ll
    M llvm/test/CodeGen/X86/optimize-compare.mir
    M llvm/test/CodeGen/X86/paddus.ll
    M llvm/test/CodeGen/X86/pmul.ll
    A llvm/test/CodeGen/X86/tail-dup-computed-goto.mir
    M llvm/test/CodeGen/X86/vector-fshl-256.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
    M llvm/test/CodeGen/X86/vector-idiv-udiv-256.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-pack-512.ll
    M llvm/test/CodeGen/X86/vector-rotate-256.ll
    M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
    M llvm/test/CodeGen/X86/vector-shuffle-v192.ll
    M llvm/test/CodeGen/X86/widen_bitcnt.ll
    M llvm/test/CodeGen/X86/x86-interleaved-access.ll
    M llvm/test/CodeGen/XCore/dwarf_debug.ll
    M llvm/test/DebugInfo/X86/inline-seldag-test.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-smaxv.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-sminv.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-umaxv.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-uminv.ll
    M llvm/test/Instrumentation/MemorySanitizer/expand-experimental-reductions.ll
    M llvm/test/MC/AMDGPU/gfx11_unsupported.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sopc.s
    M llvm/test/MC/AMDGPU/gfx12_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopc.txt
    A llvm/test/MC/Hexagon/align-leb128.s
    M llvm/test/MC/Hexagon/align.s
    A llvm/test/MC/Xtensa/xtensa-mac16.s
    A llvm/test/Transforms/InstCombine/AMDGPU/phi-with-incoming-from-load.ll
    M llvm/test/Transforms/InstCombine/iX-ext-split.ll
    A llvm/test/Transforms/InstSimplify/ConstProp/inttoptr-gep-index-width.ll
    M llvm/test/Transforms/InstSimplify/fcmp.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopDataPrefetch/RISCV/basic.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
    A llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
    M llvm/test/Transforms/LoopVectorize/pr37248.ll
    M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
    M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
    A llvm/test/Transforms/LoopVectorize/vplan-native-path-inner-loop-with-runtime-checks.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
    M llvm/test/Transforms/MergeFunc/comdat.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/div.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll
    M llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
    M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
    A llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
    M llvm/test/Transforms/SLPVectorizer/addsub.ll
    M llvm/test/Transforms/StructurizeCFG/AMDGPU/loop-subregion-misordered.ll
    M llvm/test/Transforms/StructurizeCFG/AMDGPU/uniform-regions.ll
    M llvm/test/Transforms/StructurizeCFG/interleaved-loop-order.ll
    M llvm/test/Transforms/StructurizeCFG/loop-break-phi.ll
    M llvm/test/Transforms/StructurizeCFG/loop-continue-phi.ll
    M llvm/test/Transforms/StructurizeCFG/one-loop-multiple-backedges.ll
    M llvm/test/Transforms/StructurizeCFG/structurizer-keep-perf-md.ll
    M llvm/test/Transforms/StructurizeCFG/workarounds/needs-fix-reducible.ll
    M llvm/test/Transforms/StructurizeCFG/workarounds/needs-fr-ule.ll
    M llvm/test/Transforms/StructurizeCFG/workarounds/needs-unified-loop-exits.ll
    M llvm/test/tools/llvm-exegesis/AArch64/setReg_init_check.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-forwarding.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-misc-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
    M llvm/test/tools/llvm-ml/macro.asm
    M llvm/test/tools/llvm-objdump/ELF/dynamic-section.test
    A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-comprehensive.s
    M llvm/tools/lli/lli.cpp
    M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-objdump/ELFDump.cpp
    M llvm/tools/llvm-profgen/MissingFrameInferrer.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
    M llvm/unittests/ADT/APFloatTest.cpp
    M llvm/unittests/ADT/IteratorTest.cpp
    M llvm/unittests/ADT/STLExtrasTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
    M llvm/unittests/Support/ARMAttributeParser.cpp
    M llvm/unittests/Support/CSKYAttributeParserTest.cpp
    M llvm/unittests/Support/ELFAttributeParserTest.cpp
    M llvm/unittests/Support/LockFileManagerTest.cpp
    M llvm/unittests/Support/RISCVAttributeParserTest.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
    M mlir/include/mlir-c/IR.h
    M mlir/include/mlir/Bindings/Python/Diagnostics.h
    M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/DLTI/DLTIAttrs.td
    M mlir/include/mlir/Dialect/DLTI/DLTIBase.td
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
    M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
    M mlir/include/mlir/Transforms/RegionUtils.h
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/lib/CAPI/IR/IR.cpp
    M mlir/lib/Conversion/TosaToArith/TosaToArith.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
    M mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/DLTI/DLTI.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
    M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    M mlir/python/mlir/_mlir_libs/__init__.py
    A mlir/test/Conversion/TosaToArith/tosa-to-arith-invalid.mlir
    M mlir/test/Conversion/TosaToArith/tosa-to-arith.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    A mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir
    M mlir/test/Dialect/Affine/loop-tiling.mlir
    M mlir/test/Dialect/Affine/parallelize.mlir
    M mlir/test/Dialect/LLVMIR/layout.mlir
    M mlir/test/Dialect/Linalg/reshape_fusion.mlir
    M mlir/test/Dialect/Mesh/sharding-propagation.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Dialect/Ptr/layout.mlir
    M mlir/test/Dialect/Tensor/bubble-reshapes.mlir
    M mlir/test/Dialect/Tosa/availability.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
    M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
    M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
    M mlir/test/Dialect/Tosa/quant-test.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    A mlir/test/Integration/Dialect/MemRef/copy-runtime-verification.mlir
    A mlir/test/Target/LLVMIR/openmp-target-has-device-addr.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    A mlir/test/Transforms/move-operation-deps.mlir
    M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.cpp
    M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
    M mlir/test/lib/Transforms/CMakeLists.txt
    A mlir/test/lib/Transforms/TestTransformsOps.cpp
    A mlir/test/lib/Transforms/TestTransformsOps.td
    M mlir/test/lib/Transforms/lit.local.cfg
    A mlir/test/mlir-tblgen/rewriter-attributes-properties.td
    M mlir/test/python/ir/context_lifecycle.py
    M mlir/test/python/ir/diagnostic_handler.py
    M mlir/test/python/ir/location.py
    M mlir/test/python/lib/PythonTestCAPI.cpp
    M mlir/test/python/lib/PythonTestCAPI.h
    M mlir/test/python/lib/PythonTestModuleNanobind.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M mlir/tools/mlir-tblgen/RewriterGen.cpp
    M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
    A offload/test/offloading/fortran/target-has-device-addr1.f90
    A offload/test/offloading/fortran/target-has-device-addr2.f90
    A offload/test/offloading/fortran/target-has-device-addr3.f90
    M openmp/runtime/test/lit.cfg
    M openmp/runtime/test/lit.site.cfg.in
    M openmp/runtime/test/transform/interchange/iterfor.cpp
    M openmp/runtime/test/transform/tile/iterfor.cpp
    M openmp/runtime/test/worksharing/for/omp_for_collapse_LowerTriangularLess.c
    M openmp/runtime/test/worksharing/for/omp_for_collapse_LowerTriangularLessEqual.c
    M openmp/runtime/test/worksharing/for/omp_for_collapse_UpperTriangular.c
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
    M utils/bazel/llvm-project-overlay/libc/test/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/vitalybuka/spr/ir-optimize-cfi-in-writecombinedglobalvaluesummary


Compare: https://github.com/llvm/llvm-project/compare/8cd85cad7566...ed3f871dce41

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