[all-commits] [llvm/llvm-project] 41b761: [llvm] Use range constructors for *Set (NFC) (#132...

Mark de Wever via All-commits all-commits at lists.llvm.org
Tue Apr 1 10:57:47 PDT 2025


  Branch: refs/heads/users/mordante/operator_hijacking_clang-tidy
  Home:   https://github.com/llvm/llvm-project
  Commit: 41b76119ecc2b22546dc27ca51947304cf5aca28
      https://github.com/llvm/llvm-project/commit/41b76119ecc2b22546dc27ca51947304cf5aca28
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-23 (Sun, 23 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
    M llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/tools/llvm-exegesis/lib/Clustering.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp

  Log Message:
  -----------
  [llvm] Use range constructors for *Set (NFC) (#132636)


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/test/MC/RISCV/machine-csr-names.s

  Log Message:
  -----------
  [RISCV] Add alias names for tdata1 and tdata3 CSRs. (#132525)

The RISC-V Debug Specification defines multiple names for these CSRs.
https://github.com/riscv/riscv-debug-spec/releases/tag/1.0


  Commit: b32cf756994cbab83e50b9d84df03d5ee03f31f8
      https://github.com/llvm/llvm-project/commit/b32cf756994cbab83e50b9d84df03d5ee03f31f8
  Author: Alan <ahulambda at gmail.com>
  Date:   2025-03-23 (Sun, 23 Mar 2025)

  Changed paths:
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
    M llvm/include/llvm-c/DebugInfo.h

  Log Message:
  -----------
  [LLVM-C][OCaml] Make LLVMMetadataKind consistent between C and OCaml (#132268)

- Move LLVMDISubrangeTypeMetadataKind to end of LLVMMetadataKind enum.
Inserting a new enum constant in the middle of the enum breaks the ABI for
that enum. Commit e298fc2 introduced this issue, which was revealed because
the OCaml binding tests failed.
- Bring OCaml bindings up to date with LLVMMetadataKind enum.


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

  Changed paths:
    M mlir/test/Conversion/MemRefToLLVM/invalid.mlir
    M mlir/test/Conversion/MemRefToLLVM/issue-70160.mlir

  Log Message:
  -----------
  [mlir] Fix typo of tests (NFC) (#132396)


  Commit: 3b20ac00f915d3c3a34222de429fa0a0a47d7dbc
      https://github.com/llvm/llvm-project/commit/3b20ac00f915d3c3a34222de429fa0a0a47d7dbc
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-03-23 (Sun, 23 Mar 2025)

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

  Log Message:
  -----------
  [NFC]Don't use else after a return (#132644)

A trivial code clean-up per
https://llvm.org/docs/CodingStandards.html#don-t-use-else-after-a-return


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

  Changed paths:
    M llvm/include/llvm/ADT/SetVector.h
    M llvm/unittests/ADT/SetVectorTest.cpp

  Log Message:
  -----------
  [ADT] Add a range constructor to SmallSetVector (#132645)

DenseSet recently gained a range constructor:

  DenseSet<T> Dest(llvm::from_range, Src);

This patch adds the same signature to SmallSetVector for consistency.


  Commit: 943a70717c629f43b309ab56e8141ffb131871a6
      https://github.com/llvm/llvm-project/commit/943a70717c629f43b309ab56e8141ffb131871a6
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-any-ext.ll
    A llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-sign-ext.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit test for vector sext, zext (#131742)


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

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/IPO/PartialInlining.cpp
    M llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp

  Log Message:
  -----------
  [Transforms] Use *Set::insert_range (NFC) (#132652)

We can use *Set::insert_range to collapse:

  for (auto Elem : Range)
    Set.insert(E);

down to:

  Set.insert_range(Range);

In some cases, we can further fold that into the set declaration.


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

  Changed paths:
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
    M libcxx/test/std/algorithms/robust_against_adl_on_new.pass.cpp
    M libcxx/test/std/algorithms/robust_against_proxy_iterators_lifetime_bugs.pass.cpp
    M libcxx/test/std/algorithms/robust_re_difference_type.compile.pass.cpp
    M libcxx/test/support/test_macros.h

  Log Message:
  -----------
  [libc++][test][NFC] Introduce `TEST_STD_AT_LEAST_26_OR_RUNTIME_EVALUATED` (#132593)

And use it for test cases that became constant-evaluation-suitable due
to P2562R1.

`TEST_STD_AT_LEAST_(20|23)_OR_RUNTIME_EVALUATED` are the precedents.


  Commit: 36b1fb5c7afae5583c76f347e247731e5db37190
      https://github.com/llvm/llvm-project/commit/36b1fb5c7afae5583c76f347e247731e5db37190
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M compiler-rt/lib/orc/tests/unit/error_test.cpp

  Log Message:
  -----------
  [ORC-RT] Fix typos in file comments. NFC.


  Commit: 5d8e8e82e1cf0df49afceffe52dbccec3084c15f
      https://github.com/llvm/llvm-project/commit/5d8e8e82e1cf0df49afceffe52dbccec3084c15f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M compiler-rt/lib/orc/CMakeLists.txt
    M compiler-rt/lib/orc/error.h
    R compiler-rt/lib/orc/extensible_rtti.cpp
    R compiler-rt/lib/orc/extensible_rtti.h
    A compiler-rt/lib/orc/rtti.cpp
    A compiler-rt/lib/orc/rtti.h
    M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
    R compiler-rt/lib/orc/tests/unit/extensible_rtti_test.cpp
    A compiler-rt/lib/orc/tests/unit/rtti_test.cpp

  Log Message:
  -----------
  [ORC-RT] Rename extensible_rtti.{h,cpp} to rtti.{h,cpp}. NFCI.

The "extensible_" prefix on these files was inherited from LLVM, where it
distinguished the dynamic RTTI APIs from the LLVM's custom static RTTI APIs.

In the ORC runtime these files will be used to hold all of our RTTI APIs
(the current dynamic ones, and any static ones added in the future), so we
shouldn't use this prefix.


  Commit: 054e0b41a8a997c6f7cf24c57d6dbe2dcfb2c3be
      https://github.com/llvm/llvm-project/commit/054e0b41a8a997c6f7cf24c57d6dbe2dcfb2c3be
  Author: Shoreshen <372660931 at qq.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll

  Log Message:
  -----------
  [AMDGPU] Add all type for bitcast on VReg_512 (#131775)

Add all types pattern for bitcast on VReg_512


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

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
    M llvm/lib/CodeGen/IfConversion.cpp
    M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveVariables.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/SjLjEHPrepare.cpp

  Log Message:
  -----------
  [CodeGen] Use *Set::insert_range (NFC) (#132651)

We can use *Set::insert_range to collapse:

  for (auto Elem : Range)
    Set.insert(E);

down to:

  Set.insert_range(Range);


  Commit: ef3e521a2b34050d92a6b711c5df811a0bde84f4
      https://github.com/llvm/llvm-project/commit/ef3e521a2b34050d92a6b711c5df811a0bde84f4
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
    A compiler-rt/lib/orc/tests/unit/unique_function_test.cpp
    A compiler-rt/lib/orc/unique_function.h

  Log Message:
  -----------
  [ORC-RT] Add unique_function utility to the ORC runtime.

A bare-bones version of LLVM's unique_function: this behaves like a
std::unique_function, except that it supports move only callable types.

This will be used in upcoming improvements to the ORC runtime.


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

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

  Log Message:
  -----------
  [AMDGPU] Avoid repeated hash lookups (NFC) (#132657)


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

  Changed paths:
    A llvm/include/llvm/CodeGen/LiveDebugValuesPass.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/ARM/dbg-range-extension.mir
    M llvm/test/DebugInfo/AArch64/compiler-gen-bbs-livedebugvalues.mir

  Log Message:
  -----------
  [CodeGen][NPM] Port LiveDebugValues to NPM (#131563)


  Commit: e3bd1f2b3f2ff8317e72fc828db8bcdbeb50b1aa
      https://github.com/llvm/llvm-project/commit/e3bd1f2b3f2ff8317e72fc828db8bcdbeb50b1aa
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
    M llvm/test/CodeGen/LoongArch/lsx/vec-sext.ll
    M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-any-ext.ll
    M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-sign-ext.ll
    M llvm/test/CodeGen/LoongArch/lsx/vec-trunc.ll
    M llvm/test/CodeGen/LoongArch/lsx/vec-zext.ll

  Log Message:
  -----------
  [LoongArch] lower vector shuffle to zero or any extend (#129485)


  Commit: 66531c998aa76bfb5538a28656b979c268e7b126
      https://github.com/llvm/llvm-project/commit/66531c998aa76bfb5538a28656b979c268e7b126
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libcxx/include/__math/traits.h
    M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
    M libcxx/test/std/numerics/c.math/signbit.pass.cpp

  Log Message:
  -----------
  [libc++] Remove one of the std::signbit overloads (#130505)

We'e specialized `std::signbit` for signed and unsigned integral types
seperately, even though the optimizer can trivially figure out that
`unsigned_value < 0` always false is. This patch removes the
specialization, since there is really not much of a benefit to it.


  Commit: ddc62797c4fb30475bb2787101fc5b7acb641af9
      https://github.com/llvm/llvm-project/commit/ddc62797c4fb30475bb2787101fc5b7acb641af9
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libcxx/include/__type_traits/add_lvalue_reference.h
    M libcxx/include/__type_traits/add_pointer.h
    M libcxx/include/__type_traits/add_rvalue_reference.h
    M libcxx/include/__type_traits/decay.h
    M libcxx/include/__type_traits/is_referenceable.h
    A libcxx/test/libcxx/utilities/meta/is_referenceable.compile.pass.cpp
    R libcxx/test/libcxx/utilities/meta/is_referenceable.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/objc_support.compile.pass.mm

  Log Message:
  -----------
  [libc++] Simplify the implementation of __is_referenceable (#130043)

The `__is_referenceable` builtin has been removed from Clang, since all
its uses have been replaced by builtins themselves. This trait only
exists for GCC compatibility and to word around some issues in the other
traits. The non-builtin implementation has been refactored to use
variable templates instead, making the implementation much simpler.


  Commit: 7e6d008023e0892558f75ae3606d0b62000a66d0
      https://github.com/llvm/llvm-project/commit/7e6d008023e0892558f75ae3606d0b62000a66d0
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-23 (Sun, 23 Mar 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp

  Log Message:
  -----------
  AsmPrinter: Remove unneeded lowerRelativeReference overrides

The function is only called by AsmPrinter, where there is a fallback
when lowerRelativeReference returns nullptr.

wasm and XCOFF could use the fallback code.

(lowerRelativeReference was introduced in 2016 (https://reviews.llvm.org/D17938)
for C++ relative vtables, but C++ relative vtables ended up using
dso_local_equivalent. llvm/test/MC/COFF/cross-section-relative.ll also
uses this.)


  Commit: 702c38ed7cff8329ed7093b64e51c47c668fadf3
      https://github.com/llvm/llvm-project/commit/702c38ed7cff8329ed7093b64e51c47c668fadf3
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_linux.cpp

  Log Message:
  -----------
  [asan] Fix-forward #131975 by renaming 'TryReExecWithoutASLR'

Function definition added in #131975 was missing 'Try' (do or do not ...). My guess is buildbots
mostly didn't trip because usage was gated by 'if (sizeof(uptr) ==
32)', which is rare among buildbots.


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

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp

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

This patch fixes:

  llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp:561:7: error:
  unused variable 'ScalarSizeInBits' [-Werror,-Wunused-variable]


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

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp

  Log Message:
  -----------
  [clang-tidy] Avoid repeated map lookups (NFC) (#132656)


  Commit: b75dad090c14ebafe445f486e2b27ab47fd12a16
      https://github.com/llvm/llvm-project/commit/b75dad090c14ebafe445f486e2b27ab47fd12a16
  Author: MingYan <99472920+NexMing at users.noreply.github.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/vp-splat-mask.ll

  Log Message:
  -----------
  [RISCV] Support VP_SPLAT mask operations (#132345)

When val is a constant, it will:
(vp.splat val, mask, vl) -> (select val, (riscv_vmset_vl vl),
(riscv_vmclr_vl vl))
Otherwise:
(vp.splat val, mask, vl) -> (vmsne_vl (vmv_v_x_vl (zext val), vl),
splat(zero), mask, vl)

---------

Co-authored-by: yanming <ming.yan at terapines.com>


  Commit: 41f9a00818d42446168b9904f879c8ab39e7196d
      https://github.com/llvm/llvm-project/commit/41f9a00818d42446168b9904f879c8ab39e7196d
  Author: Javed Absar <javed.absar at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir

  Log Message:
  -----------
  [NFC][mlir][bufferization] (#132637)


  Commit: 376aa741b59f9d6a44049f007d29fca832f8a4bf
      https://github.com/llvm/llvm-project/commit/376aa741b59f9d6a44049f007d29fca832f8a4bf
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    A llvm/test/CodeGen/X86/regallocfast-callbr-asm-spills-after-reload.mir

  Log Message:
  -----------
  [RegAllocFast] Introduce test for PR131350 (NFC)


  Commit: ade22765174e64f6c02233eff8d55e6726e1bab1
      https://github.com/llvm/llvm-project/commit/ade22765174e64f6c02233eff8d55e6726e1bab1
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/test/CodeGen/X86/regallocfast-callbr-asm-spills-after-reload.mir

  Log Message:
  -----------
  [RegAllocFast] Ensure live-in vregs get reloaded after INLINEASM_BR spills

We have already ensured in 9cec2b246e719533723562950e56c292fe5dd5ad
that `INLINEASM_BR` output operands get spilled onto the stack, both
in the fallthrough path and in the indirect targets. Since reloads of
live-ins values into physical registers contextually happen after all
MIR instructions (and ops) have been visited, make sure such loads are
placed at the start of the block, but after prologues or `INLINEASM_BR`
spills, as otherwise this may cause stale values to be read from the
stack.

Fixes: #74483, #110251.


  Commit: 6e3c24fc0a95b8369c85e0b8f8a6723697e27fbb
      https://github.com/llvm/llvm-project/commit/6e3c24fc0a95b8369c85e0b8f8a6723697e27fbb
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll

  Log Message:
  -----------
  [DAG] Combine (sext (sext_in_reg x)) to (sext_in_reg (any_extend x)) (#132386)


  Commit: c457c8895181aff3c02e9ffdb7e05f58957aa151
      https://github.com/llvm/llvm-project/commit/c457c8895181aff3c02e9ffdb7e05f58957aa151
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-ext-trunc.mir
    R llvm/test/CodeGen/AArch64/GlobalISel/combine-with-flags.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-extending-loads.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-trunc-sext.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/combine.mir

  Log Message:
  -----------
  [GlobalISel] Combine (sext (trunc x)) to (sext_inreg x) (#131622)

Split from #131312


  Commit: ec9546d1699457169da5d6456d4080c52f6972f9
      https://github.com/llvm/llvm-project/commit/ec9546d1699457169da5d6456d4080c52f6972f9
  Author: Georgiy Samoylov <g.samoylov at syntacore.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

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

  Log Message:
  -----------
  [lldb] Fix TestGdbRemoteForkNonStop.py test (#131293)

During lldb testing on remote targets TestGdbRemoteForkNonStop.py
freezes because in this test we try to create file on remote machine
using absolute file path from local machine. This patch fixes this error


  Commit: 38d71c9bdcf6b10c6fe02d5bd74fc8e6efb50a4d
      https://github.com/llvm/llvm-project/commit/38d71c9bdcf6b10c6fe02d5bd74fc8e6efb50a4d
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  [Clang] Fix the assertion condition after b8d1f3d6 (#132669)

Thanks to the example provided by MagentaTreehouse, I realized the
assertion I added in b8d1f3d6 didn't cover all valid cases like, when
inheriting from a class template specialization, the source of a
synthesized template parameter might be an implicit specialization,
whose inner function template is thus living at depth 0, for which we
don’t want it to overflow too.

I've decided to remove that assertion because I don't think it's
particularly useful: we're checking whether Depth = 0 parameters come
from function templates whose parents contribute no template parameters
to the depth, which is redundant given what the template depth already
means.

This also incorporates a drive-by fix for
https://github.com/llvm/llvm-project/pull/132061#discussion_r2008756718,
which I somehow missed.


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

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

  Log Message:
  -----------
  [clang][bytecode] Add Descriptor::getDataType() (#132681)

This returns the type of data in the Block, which might be different
than the type of the expression or declaration we created the block for.
This lets us remove some special cases from CheckNewDeleteForms() and
CheckNewTypeMismatch().


  Commit: ef9c4f4f5cfeb6e3d194a0bb3098c45a5c75d18f
      https://github.com/llvm/llvm-project/commit/ef9c4f4f5cfeb6e3d194a0bb3098c45a5c75d18f
  Author: Igor Wodiany <igor.wodiany at imgtec.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
    M mlir/test/Dialect/SPIRV/IR/image-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Update assembly format for Image operand types (#130758)

In the example below it is not clear that `(f32)` relates to `%arg2` and
not to `vector<2xf32>`:

```mlir
%0 = spirv.ImageSampleImplicitLod %arg0, %arg1 ["Lod"](%arg2) :
  !spirv.sampled_image<...>, vector<2xf32>(f32) -> vector<4xf32>
```

This change applies new format to image operations and image operands
that does not use parenthesis and is less ambiguous:

```mlir
%0 = spirv.ImageSampleImplicitLod %arg0, %arg1 ["Lod"], %arg2 :
  !spirv.sampled_image<...>, vector<2xf32>, f32 -> vector<4xf32>
```


  Commit: 27d9a3a39e7af51a765aaf453543af0335ac298c
      https://github.com/llvm/llvm-project/commit/27d9a3a39e7af51a765aaf453543af0335ac298c
  Author: bubblepipe <30717258+bubblepipe at users.noreply.github.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleZnver4.td

  Log Message:
  -----------
  [NFC][X86] Correct Zen4 Scheduling (Part 1/2: Rename "19h" to "Zen4") (#131615)

This PR is a non-functional extraction from the original PR
[#128030](https://github.com/llvm/llvm-project/pull/128030).

Renames all instances of "19h" to "Zen4" within Zen'4 scheduling file.

Part 2/2: [[X86] Correct Zen4 Scheduling (Part 2/2: Functional
Changes)](https://github.com/llvm/llvm-project/pull/131616)

---------

Co-authored-by: bubblepipe <nag1sakaw0ru at riseup.net>


  Commit: cc5f8293b320d1c6c4d0552cfab481332c83723e
      https://github.com/llvm/llvm-project/commit/cc5f8293b320d1c6c4d0552cfab481332c83723e
  Author: Florian Ragwitz <florian.ragwitz at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang/tools/scan-build/libexec/ccc-analyzer

  Log Message:
  -----------
  [clang][scan-build] Treat --use-cc and --use-c++ as shell commands (#131932)

So that things like --use-cc="ccache gcc" work.

Fixes #26594.

Also use the slightly simpler shellwords instead of quotewords.


  Commit: 735d7c153947fd3f1adfb3cda9d29a8359870db0
      https://github.com/llvm/llvm-project/commit/735d7c153947fd3f1adfb3cda9d29a8359870db0
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libclc/CMakeLists.txt
    M libclc/cmake/modules/AddLibclc.cmake

  Log Message:
  -----------
  [libclc] link_bc target should depends on target builtins.link.clc-arch_suffix (#132338)

Currently link_bc command depends on the bitcode file that is associated
with custom target builtins.link.clc-arch_suffix.
On windows we randomly see following error:
`
  Generating builtins.link.clc-${ARCH}--.bc
  Generating builtins.link.libspirv-${ARCH}.bc
error : The requested operation cannot be performed on a file with a
user-mapped section open.
`
I suspect that builtins.link.clc-${ARCH}--.bc file is being generated
while it is being used in link_bc.
This PR adds target-level dependency to ensure
builtins.link.clc-${ARCH}--.bc is generated first.


  Commit: 7d048674a492d6ef8ec53c234a658da561e81063
      https://github.com/llvm/llvm-project/commit/7d048674a492d6ef8ec53c234a658da561e81063
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libclc/amdgcn-amdhsa/lib/workitem/get_global_size.cl
    M libclc/amdgcn-amdhsa/lib/workitem/get_local_size.cl
    M libclc/amdgcn-amdhsa/lib/workitem/get_num_groups.cl
    M libclc/amdgcn/lib/math/fmax.cl
    M libclc/amdgcn/lib/math/fmin.cl
    M libclc/amdgcn/lib/mem_fence/fence.cl
    M libclc/amdgcn/lib/synchronization/barrier.cl
    M libclc/amdgcn/lib/workitem/get_global_offset.cl
    M libclc/amdgcn/lib/workitem/get_global_size.cl
    M libclc/amdgcn/lib/workitem/get_group_id.cl
    M libclc/amdgcn/lib/workitem/get_local_id.cl
    M libclc/amdgcn/lib/workitem/get_local_size.cl
    M libclc/amdgcn/lib/workitem/get_num_groups.cl
    M libclc/amdgcn/lib/workitem/get_work_dim.cl
    M libclc/amdgpu/lib/math/half_exp.cl
    M libclc/amdgpu/lib/math/half_exp10.cl
    M libclc/amdgpu/lib/math/half_exp2.cl
    M libclc/amdgpu/lib/math/half_log.cl
    M libclc/amdgpu/lib/math/half_log10.cl
    M libclc/amdgpu/lib/math/half_log2.cl
    M libclc/amdgpu/lib/math/half_native_unary.inc
    M libclc/amdgpu/lib/math/half_recip.cl
    M libclc/amdgpu/lib/math/half_rsqrt.cl
    M libclc/amdgpu/lib/math/half_sqrt.cl
    M libclc/amdgpu/lib/math/native_exp.cl
    M libclc/amdgpu/lib/math/native_exp.inc
    M libclc/amdgpu/lib/math/native_log.cl
    M libclc/amdgpu/lib/math/native_log.inc
    M libclc/amdgpu/lib/math/native_log10.cl
    M libclc/amdgpu/lib/math/native_log10.inc
    M libclc/clc/include/clc/clc_as_type.h
    M libclc/clc/include/clc/clc_convert.h
    M libclc/clc/include/clc/clcfunc.h
    M libclc/clc/include/clc/clcmacro.h
    M libclc/clc/include/clc/clctypes.h
    M libclc/clc/include/clc/common/clc_degrees.h
    M libclc/clc/include/clc/common/clc_radians.h
    M libclc/clc/include/clc/common/clc_sign.h
    M libclc/clc/include/clc/common/clc_smoothstep.h
    M libclc/clc/include/clc/common/clc_smoothstep.inc
    M libclc/clc/include/clc/float/definitions.h
    M libclc/clc/include/clc/geometric/clc_dot.h
    M libclc/clc/include/clc/geometric/clc_dot.inc
    M libclc/clc/include/clc/geometric/floatn.inc
    M libclc/clc/include/clc/integer/clc_abs.h
    M libclc/clc/include/clc/integer/clc_abs.inc
    M libclc/clc/include/clc/integer/clc_abs_diff.h
    M libclc/clc/include/clc/integer/clc_abs_diff.inc
    M libclc/clc/include/clc/integer/clc_add_sat.h
    M libclc/clc/include/clc/integer/clc_clz.h
    M libclc/clc/include/clc/integer/clc_hadd.h
    M libclc/clc/include/clc/integer/clc_mad24.h
    M libclc/clc/include/clc/integer/clc_mad_hi.h
    M libclc/clc/include/clc/integer/clc_mad_sat.h
    M libclc/clc/include/clc/integer/clc_mul24.h
    M libclc/clc/include/clc/integer/clc_mul_hi.h
    M libclc/clc/include/clc/integer/clc_popcount.h
    M libclc/clc/include/clc/integer/clc_rhadd.h
    M libclc/clc/include/clc/integer/clc_rotate.h
    M libclc/clc/include/clc/integer/clc_sub_sat.h
    M libclc/clc/include/clc/integer/clc_upsample.h
    M libclc/clc/include/clc/integer/definitions.h
    M libclc/clc/include/clc/integer/gentype.inc
    M libclc/clc/include/clc/integer/gentype24.inc
    M libclc/clc/include/clc/internal/clc.h
    M libclc/clc/include/clc/internal/math/clc_sw_fma.h
    M libclc/clc/include/clc/math/binary_decl_with_scalar_second_arg.inc
    M libclc/clc/include/clc/math/clc_ceil.h
    M libclc/clc/include/clc/math/clc_copysign.h
    M libclc/clc/include/clc/math/clc_fabs.h
    M libclc/clc/include/clc/math/clc_floor.h
    M libclc/clc/include/clc/math/clc_fma.h
    M libclc/clc/include/clc/math/clc_frexp.h
    M libclc/clc/include/clc/math/clc_hypot.h
    M libclc/clc/include/clc/math/clc_ldexp.h
    M libclc/clc/include/clc/math/clc_ldexp.inc
    M libclc/clc/include/clc/math/clc_log.h
    M libclc/clc/include/clc/math/clc_log10.h
    M libclc/clc/include/clc/math/clc_log2.h
    M libclc/clc/include/clc/math/clc_mad.h
    M libclc/clc/include/clc/math/clc_modf.h
    M libclc/clc/include/clc/math/clc_nan.h
    M libclc/clc/include/clc/math/clc_nan.inc
    M libclc/clc/include/clc/math/clc_nextafter.h
    M libclc/clc/include/clc/math/clc_rint.h
    M libclc/clc/include/clc/math/clc_round.h
    M libclc/clc/include/clc/math/clc_rsqrt.h
    M libclc/clc/include/clc/math/clc_sqrt.h
    M libclc/clc/include/clc/math/clc_trunc.h
    M libclc/clc/include/clc/math/gentype.inc
    M libclc/clc/include/clc/math/unary_builtin.inc
    M libclc/clc/include/clc/math/unary_decl.inc
    M libclc/clc/include/clc/math/unary_decl_with_int_ptr.inc
    M libclc/clc/include/clc/math/unary_decl_with_ptr.inc
    M libclc/clc/include/clc/math/unary_def_with_int_ptr.inc
    M libclc/clc/include/clc/math/unary_def_with_ptr.inc
    M libclc/clc/include/clc/math/unary_intrin.inc
    M libclc/clc/include/clc/relational/binary_decl.inc
    M libclc/clc/include/clc/relational/clc_all.h
    M libclc/clc/include/clc/relational/clc_any.h
    M libclc/clc/include/clc/relational/clc_isequal.h
    M libclc/clc/include/clc/relational/clc_isfinite.h
    M libclc/clc/include/clc/relational/clc_isgreater.h
    M libclc/clc/include/clc/relational/clc_isgreaterequal.h
    M libclc/clc/include/clc/relational/clc_isinf.h
    M libclc/clc/include/clc/relational/clc_isless.h
    M libclc/clc/include/clc/relational/clc_islessequal.h
    M libclc/clc/include/clc/relational/clc_islessgreater.h
    M libclc/clc/include/clc/relational/clc_isnan.h
    M libclc/clc/include/clc/relational/clc_isnormal.h
    M libclc/clc/include/clc/relational/clc_isnotequal.h
    M libclc/clc/include/clc/relational/clc_isordered.h
    M libclc/clc/include/clc/relational/clc_isunordered.h
    M libclc/clc/include/clc/relational/clc_select.h
    M libclc/clc/include/clc/relational/clc_select_decl.inc
    M libclc/clc/include/clc/relational/clc_select_impl.inc
    M libclc/clc/include/clc/relational/clc_signbit.h
    M libclc/clc/include/clc/relational/floatn.inc
    M libclc/clc/include/clc/relational/relational.h
    M libclc/clc/include/clc/relational/unary_decl.inc
    M libclc/clc/include/clc/shared/binary_decl.inc
    M libclc/clc/include/clc/shared/binary_def.inc
    M libclc/clc/include/clc/shared/clc_clamp.h
    M libclc/clc/include/clc/shared/clc_clamp.inc
    M libclc/clc/include/clc/shared/clc_max.h
    M libclc/clc/include/clc/shared/clc_max.inc
    M libclc/clc/include/clc/shared/clc_min.h
    M libclc/clc/include/clc/shared/clc_min.inc
    M libclc/clc/include/clc/shared/ternary_decl.inc
    M libclc/clc/include/clc/shared/ternary_def.inc
    M libclc/clc/include/clc/shared/unary_decl.inc
    M libclc/clc/include/clc/shared/unary_def.inc
    M libclc/clc/include/clc/utils.h
    M libclc/clc/lib/generic/common/clc_sign.cl
    M libclc/clc/lib/generic/common/clc_sign.inc
    M libclc/clc/lib/generic/geometric/clc_dot.cl
    M libclc/clc/lib/generic/integer/clc_abs.cl
    M libclc/clc/lib/generic/integer/clc_abs.inc
    M libclc/clc/lib/generic/integer/clc_abs_diff.cl
    M libclc/clc/lib/generic/integer/clc_abs_diff.inc
    M libclc/clc/lib/generic/integer/clc_add_sat.cl
    M libclc/clc/lib/generic/integer/clc_clz.cl
    M libclc/clc/lib/generic/integer/clc_hadd.cl
    M libclc/clc/lib/generic/integer/clc_hadd.inc
    M libclc/clc/lib/generic/integer/clc_mad24.cl
    M libclc/clc/lib/generic/integer/clc_mad24.inc
    M libclc/clc/lib/generic/integer/clc_mad_sat.cl
    M libclc/clc/lib/generic/integer/clc_mul24.cl
    M libclc/clc/lib/generic/integer/clc_mul24.inc
    M libclc/clc/lib/generic/integer/clc_mul_hi.cl
    M libclc/clc/lib/generic/integer/clc_popcount.cl
    M libclc/clc/lib/generic/integer/clc_rhadd.cl
    M libclc/clc/lib/generic/integer/clc_rhadd.inc
    M libclc/clc/lib/generic/integer/clc_rotate.cl
    M libclc/clc/lib/generic/integer/clc_rotate.inc
    M libclc/clc/lib/generic/integer/clc_sub_sat.cl
    M libclc/clc/lib/generic/integer/clc_upsample.cl
    M libclc/clc/lib/generic/math/clc_ceil.cl
    M libclc/clc/lib/generic/math/clc_copysign.cl
    M libclc/clc/lib/generic/math/clc_fabs.cl
    M libclc/clc/lib/generic/math/clc_floor.cl
    M libclc/clc/lib/generic/math/clc_fma.cl
    M libclc/clc/lib/generic/math/clc_fma.inc
    M libclc/clc/lib/generic/math/clc_log.cl
    M libclc/clc/lib/generic/math/clc_mad.cl
    M libclc/clc/lib/generic/math/clc_mad.inc
    M libclc/clc/lib/generic/math/clc_nan.cl
    M libclc/clc/lib/generic/math/clc_nan.inc
    M libclc/clc/lib/generic/math/clc_nextafter.cl
    M libclc/clc/lib/generic/math/clc_rint.cl
    M libclc/clc/lib/generic/math/clc_round.cl
    M libclc/clc/lib/generic/math/clc_rsqrt.inc
    M libclc/clc/lib/generic/math/clc_trunc.cl
    M libclc/clc/lib/generic/relational/clc_all.cl
    M libclc/clc/lib/generic/relational/clc_any.cl
    M libclc/clc/lib/generic/relational/clc_isequal.cl
    M libclc/clc/lib/generic/relational/clc_isfinite.cl
    M libclc/clc/lib/generic/relational/clc_isgreater.cl
    M libclc/clc/lib/generic/relational/clc_isgreaterequal.cl
    M libclc/clc/lib/generic/relational/clc_isinf.cl
    M libclc/clc/lib/generic/relational/clc_isless.cl
    M libclc/clc/lib/generic/relational/clc_islessequal.cl
    M libclc/clc/lib/generic/relational/clc_islessgreater.cl
    M libclc/clc/lib/generic/relational/clc_isnan.cl
    M libclc/clc/lib/generic/relational/clc_isnormal.cl
    M libclc/clc/lib/generic/relational/clc_isnotequal.cl
    M libclc/clc/lib/generic/relational/clc_isordered.cl
    M libclc/clc/lib/generic/relational/clc_isunordered.cl
    M libclc/clc/lib/generic/relational/clc_select.cl
    M libclc/clc/lib/generic/relational/clc_signbit.cl
    M libclc/clc/lib/generic/shared/clc_clamp.cl
    M libclc/clc/lib/generic/shared/clc_clamp.inc
    M libclc/clc/lib/generic/shared/clc_max.cl
    M libclc/clc/lib/generic/shared/clc_max.inc
    M libclc/clc/lib/generic/shared/clc_min.cl
    M libclc/clc/lib/generic/shared/clc_min.inc
    M libclc/clc/lib/r600/math/clc_rsqrt_override.cl
    M libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
    M libclc/clspv/lib/math/fma.cl
    M libclc/clspv/lib/shared/vstore_half.cl
    M libclc/clspv/lib/shared/vstore_half.inc
    M libclc/generic/include/clc/as_type.h
    M libclc/generic/include/clc/async/async_work_group_copy.h
    M libclc/generic/include/clc/async/async_work_group_copy.inc
    M libclc/generic/include/clc/async/async_work_group_strided_copy.h
    M libclc/generic/include/clc/async/async_work_group_strided_copy.inc
    M libclc/generic/include/clc/async/gentype.inc
    M libclc/generic/include/clc/async/prefetch.h
    M libclc/generic/include/clc/async/prefetch.inc
    M libclc/generic/include/clc/async/wait_group_events.h
    M libclc/generic/include/clc/atom_decl_int32.inc
    M libclc/generic/include/clc/atom_decl_int64.inc
    M libclc/generic/include/clc/atomic/atomic_add.h
    M libclc/generic/include/clc/atomic/atomic_and.h
    M libclc/generic/include/clc/atomic/atomic_cmpxchg.h
    M libclc/generic/include/clc/atomic/atomic_dec.h
    M libclc/generic/include/clc/atomic/atomic_decl.inc
    M libclc/generic/include/clc/atomic/atomic_inc.h
    M libclc/generic/include/clc/atomic/atomic_max.h
    M libclc/generic/include/clc/atomic/atomic_min.h
    M libclc/generic/include/clc/atomic/atomic_or.h
    M libclc/generic/include/clc/atomic/atomic_sub.h
    M libclc/generic/include/clc/atomic/atomic_xchg.h
    M libclc/generic/include/clc/atomic/atomic_xor.h
    M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
    M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
    M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
    M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
    M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
    M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
    M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
    M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
    M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
    M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
    M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
    M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
    M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
    M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
    M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
    M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
    M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
    M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
    M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
    M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
    M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
    M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
    M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
    M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
    M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
    M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
    M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
    M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
    M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
    M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
    M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
    M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
    M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
    M libclc/generic/include/clc/clc.h
    M libclc/generic/include/clc/clcmacros.h
    M libclc/generic/include/clc/common/mix.h
    M libclc/generic/include/clc/common/mix.inc
    M libclc/generic/include/clc/common/sign.h
    M libclc/generic/include/clc/convert.h
    M libclc/generic/include/clc/explicit_fence/explicit_memory_fence.h
    M libclc/generic/include/clc/geometric/cross.h
    M libclc/generic/include/clc/geometric/distance.h
    M libclc/generic/include/clc/geometric/dot.h
    M libclc/generic/include/clc/geometric/dot.inc
    M libclc/generic/include/clc/geometric/length.h
    M libclc/generic/include/clc/geometric/length.inc
    M libclc/generic/include/clc/geometric/normalize.h
    M libclc/generic/include/clc/geometric/normalize.inc
    M libclc/generic/include/clc/image/image.h
    M libclc/generic/include/clc/image/image_defines.h
    M libclc/generic/include/clc/integer/abs.h
    M libclc/generic/include/clc/integer/abs.inc
    M libclc/generic/include/clc/integer/abs_diff.h
    M libclc/generic/include/clc/integer/abs_diff.inc
    M libclc/generic/include/clc/integer/add_sat.h
    M libclc/generic/include/clc/integer/add_sat.inc
    M libclc/generic/include/clc/integer/clz.h
    M libclc/generic/include/clc/integer/hadd.h
    M libclc/generic/include/clc/integer/integer-gentype.inc
    M libclc/generic/include/clc/integer/mad24.h
    M libclc/generic/include/clc/integer/mad_hi.h
    M libclc/generic/include/clc/integer/mad_sat.h
    M libclc/generic/include/clc/integer/mad_sat.inc
    M libclc/generic/include/clc/integer/mul24.h
    M libclc/generic/include/clc/integer/mul_hi.h
    M libclc/generic/include/clc/integer/popcount.h
    M libclc/generic/include/clc/integer/rhadd.h
    M libclc/generic/include/clc/integer/rotate.h
    M libclc/generic/include/clc/integer/rotate.inc
    M libclc/generic/include/clc/integer/sub_sat.h
    M libclc/generic/include/clc/integer/sub_sat.inc
    M libclc/generic/include/clc/integer/unary.inc
    M libclc/generic/include/clc/integer/upsample.h
    M libclc/generic/include/clc/math/acos.h
    M libclc/generic/include/clc/math/asin.h
    M libclc/generic/include/clc/math/binary_decl_tt.inc
    M libclc/generic/include/clc/math/ceil.h
    M libclc/generic/include/clc/math/copysign.h
    M libclc/generic/include/clc/math/cos.h
    M libclc/generic/include/clc/math/cospi.h
    M libclc/generic/include/clc/math/erf.h
    M libclc/generic/include/clc/math/erfc.h
    M libclc/generic/include/clc/math/exp.h
    M libclc/generic/include/clc/math/exp10.h
    M libclc/generic/include/clc/math/expm1.h
    M libclc/generic/include/clc/math/fabs.h
    M libclc/generic/include/clc/math/fdim.h
    M libclc/generic/include/clc/math/floor.h
    M libclc/generic/include/clc/math/fma.h
    M libclc/generic/include/clc/math/fmax.h
    M libclc/generic/include/clc/math/fmin.h
    M libclc/generic/include/clc/math/fmod.h
    M libclc/generic/include/clc/math/frexp.h
    M libclc/generic/include/clc/math/frexp.inc
    M libclc/generic/include/clc/math/half_cos.h
    M libclc/generic/include/clc/math/half_divide.h
    M libclc/generic/include/clc/math/half_exp.h
    M libclc/generic/include/clc/math/half_exp10.h
    M libclc/generic/include/clc/math/half_exp2.h
    M libclc/generic/include/clc/math/half_log.h
    M libclc/generic/include/clc/math/half_log10.h
    M libclc/generic/include/clc/math/half_log2.h
    M libclc/generic/include/clc/math/half_powr.h
    M libclc/generic/include/clc/math/half_recip.h
    M libclc/generic/include/clc/math/half_sin.h
    M libclc/generic/include/clc/math/half_tan.h
    M libclc/generic/include/clc/math/hypot.h
    M libclc/generic/include/clc/math/ilogb.h
    M libclc/generic/include/clc/math/ilogb.inc
    M libclc/generic/include/clc/math/lgamma.h
    M libclc/generic/include/clc/math/lgamma_r.h
    M libclc/generic/include/clc/math/lgamma_r.inc
    M libclc/generic/include/clc/math/log10.h
    M libclc/generic/include/clc/math/logb.h
    M libclc/generic/include/clc/math/mad.h
    M libclc/generic/include/clc/math/maxmag.h
    M libclc/generic/include/clc/math/minmag.h
    M libclc/generic/include/clc/math/nan.h
    M libclc/generic/include/clc/math/nan.inc
    M libclc/generic/include/clc/math/native_cos.h
    M libclc/generic/include/clc/math/native_divide.h
    M libclc/generic/include/clc/math/native_exp.h
    M libclc/generic/include/clc/math/native_exp10.h
    M libclc/generic/include/clc/math/native_exp2.h
    M libclc/generic/include/clc/math/native_log10.h
    M libclc/generic/include/clc/math/native_powr.h
    M libclc/generic/include/clc/math/native_recip.h
    M libclc/generic/include/clc/math/native_rsqrt.h
    M libclc/generic/include/clc/math/native_sin.h
    M libclc/generic/include/clc/math/native_sqrt.h
    M libclc/generic/include/clc/math/native_tan.h
    M libclc/generic/include/clc/math/nextafter.h
    M libclc/generic/include/clc/math/pow.h
    M libclc/generic/include/clc/math/pown.h
    M libclc/generic/include/clc/math/pown.inc
    M libclc/generic/include/clc/math/powr.h
    M libclc/generic/include/clc/math/remainder.h
    M libclc/generic/include/clc/math/remquo.h
    M libclc/generic/include/clc/math/remquo.inc
    M libclc/generic/include/clc/math/rint.h
    M libclc/generic/include/clc/math/rootn.h
    M libclc/generic/include/clc/math/rootn.inc
    M libclc/generic/include/clc/math/round.h
    M libclc/generic/include/clc/math/rsqrt.h
    M libclc/generic/include/clc/math/sin.h
    M libclc/generic/include/clc/math/sincos.h
    M libclc/generic/include/clc/math/sincos.inc
    M libclc/generic/include/clc/math/sinpi.h
    M libclc/generic/include/clc/math/sqrt.h
    M libclc/generic/include/clc/math/tan.h
    M libclc/generic/include/clc/math/tanpi.h
    M libclc/generic/include/clc/math/tgamma.h
    M libclc/generic/include/clc/math/trunc.h
    M libclc/generic/include/clc/misc/shuffle.h
    M libclc/generic/include/clc/misc/shuffle2.h
    M libclc/generic/include/clc/relational/all.h
    M libclc/generic/include/clc/relational/any.h
    M libclc/generic/include/clc/relational/isequal.h
    M libclc/generic/include/clc/relational/isfinite.h
    M libclc/generic/include/clc/relational/isgreater.h
    M libclc/generic/include/clc/relational/isgreaterequal.h
    M libclc/generic/include/clc/relational/isinf.h
    M libclc/generic/include/clc/relational/isless.h
    M libclc/generic/include/clc/relational/islessequal.h
    M libclc/generic/include/clc/relational/islessgreater.h
    M libclc/generic/include/clc/relational/isnan.h
    M libclc/generic/include/clc/relational/isnormal.h
    M libclc/generic/include/clc/relational/isnotequal.h
    M libclc/generic/include/clc/relational/isordered.h
    M libclc/generic/include/clc/relational/isunordered.h
    M libclc/generic/include/clc/relational/select.h
    M libclc/generic/include/clc/relational/signbit.h
    M libclc/generic/include/clc/shared/clamp.h
    M libclc/generic/include/clc/shared/clamp.inc
    M libclc/generic/include/clc/shared/max.h
    M libclc/generic/include/clc/shared/max.inc
    M libclc/generic/include/clc/shared/min.h
    M libclc/generic/include/clc/shared/min.inc
    M libclc/generic/include/clc/shared/vload.h
    M libclc/generic/include/clc/shared/vstore.h
    M libclc/generic/include/clc/synchronization/barrier.h
    M libclc/generic/include/clc/synchronization/cl_mem_fence_flags.h
    M libclc/generic/include/clc/workitem/get_global_id.h
    M libclc/generic/include/clc/workitem/get_global_offset.h
    M libclc/generic/include/clc/workitem/get_global_size.h
    M libclc/generic/include/clc/workitem/get_group_id.h
    M libclc/generic/include/clc/workitem/get_local_id.h
    M libclc/generic/include/clc/workitem/get_local_size.h
    M libclc/generic/include/clc/workitem/get_num_groups.h
    M libclc/generic/include/clc/workitem/get_work_dim.h
    M libclc/generic/include/math/clc_exp10.h
    M libclc/generic/include/math/clc_fmod.h
    M libclc/generic/include/math/clc_pow.h
    M libclc/generic/include/math/clc_pown.h
    M libclc/generic/include/math/clc_pown.inc
    M libclc/generic/include/math/clc_powr.h
    M libclc/generic/include/math/clc_remainder.h
    M libclc/generic/include/math/clc_remquo.h
    M libclc/generic/include/math/clc_rootn.h
    M libclc/generic/include/math/clc_rootn.inc
    M libclc/generic/include/math/clc_tan.h
    M libclc/generic/include/math/clc_tanpi.h
    M libclc/generic/lib/async/async_work_group_copy.cl
    M libclc/generic/lib/async/async_work_group_copy.inc
    M libclc/generic/lib/async/async_work_group_strided_copy.cl
    M libclc/generic/lib/async/async_work_group_strided_copy.inc
    M libclc/generic/lib/async/prefetch.cl
    M libclc/generic/lib/async/prefetch.inc
    M libclc/generic/lib/async/wait_group_events.cl
    M libclc/generic/lib/atom_int32_binary.inc
    M libclc/generic/lib/atomic/atomic_add.cl
    M libclc/generic/lib/atomic/atomic_and.cl
    M libclc/generic/lib/atomic/atomic_cmpxchg.cl
    M libclc/generic/lib/atomic/atomic_dec.cl
    M libclc/generic/lib/atomic/atomic_inc.cl
    M libclc/generic/lib/atomic/atomic_max.cl
    M libclc/generic/lib/atomic/atomic_min.cl
    M libclc/generic/lib/atomic/atomic_or.cl
    M libclc/generic/lib/atomic/atomic_sub.cl
    M libclc/generic/lib/atomic/atomic_xchg.cl
    M libclc/generic/lib/atomic/atomic_xor.cl
    M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
    M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
    M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
    M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
    M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
    M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
    M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
    M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
    M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
    M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
    M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
    M libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
    M libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
    M libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
    M libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
    M libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
    M libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
    M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
    M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
    M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
    M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
    M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
    M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
    M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
    M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
    M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
    M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
    M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
    M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
    M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
    M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
    M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
    M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl
    M libclc/generic/lib/clc_unary.inc
    M libclc/generic/lib/common/mix.cl
    M libclc/generic/lib/common/mix.inc
    M libclc/generic/lib/common/sign.cl
    M libclc/generic/lib/geometric/cross.cl
    M libclc/generic/lib/geometric/dot.cl
    M libclc/generic/lib/integer/abs.cl
    M libclc/generic/lib/integer/abs.inc
    M libclc/generic/lib/integer/abs_diff.cl
    M libclc/generic/lib/integer/abs_diff.inc
    M libclc/generic/lib/integer/add_sat.cl
    M libclc/generic/lib/integer/clz.cl
    M libclc/generic/lib/integer/hadd.cl
    M libclc/generic/lib/integer/mad24.cl
    M libclc/generic/lib/integer/mad_hi.cl
    M libclc/generic/lib/integer/mad_sat.cl
    M libclc/generic/lib/integer/mul24.cl
    M libclc/generic/lib/integer/mul_hi.cl
    M libclc/generic/lib/integer/popcount.cl
    M libclc/generic/lib/integer/rhadd.cl
    M libclc/generic/lib/integer/rotate.cl
    M libclc/generic/lib/integer/sub_sat.cl
    M libclc/generic/lib/integer/upsample.cl
    M libclc/generic/lib/math/binary_impl.inc
    M libclc/generic/lib/math/ceil.cl
    M libclc/generic/lib/math/clc_sw_binary.inc
    M libclc/generic/lib/math/clc_sw_unary.inc
    M libclc/generic/lib/math/copysign.cl
    M libclc/generic/lib/math/exp10.cl
    M libclc/generic/lib/math/expm1.cl
    M libclc/generic/lib/math/fabs.cl
    M libclc/generic/lib/math/fdim.cl
    M libclc/generic/lib/math/floor.cl
    M libclc/generic/lib/math/fma.cl
    M libclc/generic/lib/math/fmax.cl
    M libclc/generic/lib/math/fmax.inc
    M libclc/generic/lib/math/fmin.cl
    M libclc/generic/lib/math/fmin.inc
    M libclc/generic/lib/math/fmod.cl
    M libclc/generic/lib/math/frexp.cl
    M libclc/generic/lib/math/half_binary.inc
    M libclc/generic/lib/math/half_cos.cl
    M libclc/generic/lib/math/half_divide.cl
    M libclc/generic/lib/math/half_exp.cl
    M libclc/generic/lib/math/half_exp10.cl
    M libclc/generic/lib/math/half_exp2.cl
    M libclc/generic/lib/math/half_log.cl
    M libclc/generic/lib/math/half_log10.cl
    M libclc/generic/lib/math/half_log2.cl
    M libclc/generic/lib/math/half_powr.cl
    M libclc/generic/lib/math/half_recip.cl
    M libclc/generic/lib/math/half_rsqrt.cl
    M libclc/generic/lib/math/half_sin.cl
    M libclc/generic/lib/math/half_sqrt.cl
    M libclc/generic/lib/math/half_tan.cl
    M libclc/generic/lib/math/half_unary.inc
    M libclc/generic/lib/math/hypot.cl
    M libclc/generic/lib/math/log.cl
    M libclc/generic/lib/math/log10.cl
    M libclc/generic/lib/math/log2.cl
    M libclc/generic/lib/math/logb.cl
    M libclc/generic/lib/math/mad.cl
    M libclc/generic/lib/math/maxmag.cl
    M libclc/generic/lib/math/maxmag.inc
    M libclc/generic/lib/math/minmag.cl
    M libclc/generic/lib/math/minmag.inc
    M libclc/generic/lib/math/nan.cl
    M libclc/generic/lib/math/nan.inc
    M libclc/generic/lib/math/native_cos.cl
    M libclc/generic/lib/math/native_divide.cl
    M libclc/generic/lib/math/native_divide.inc
    M libclc/generic/lib/math/native_exp.cl
    M libclc/generic/lib/math/native_exp10.cl
    M libclc/generic/lib/math/native_exp10.inc
    M libclc/generic/lib/math/native_exp2.cl
    M libclc/generic/lib/math/native_log10.cl
    M libclc/generic/lib/math/native_powr.cl
    M libclc/generic/lib/math/native_powr.inc
    M libclc/generic/lib/math/native_recip.cl
    M libclc/generic/lib/math/native_recip.inc
    M libclc/generic/lib/math/native_rsqrt.cl
    M libclc/generic/lib/math/native_rsqrt.inc
    M libclc/generic/lib/math/native_sin.cl
    M libclc/generic/lib/math/native_sqrt.cl
    M libclc/generic/lib/math/native_tan.cl
    M libclc/generic/lib/math/native_tan.inc
    M libclc/generic/lib/math/nextafter.cl
    M libclc/generic/lib/math/pow.cl
    M libclc/generic/lib/math/pown.cl
    M libclc/generic/lib/math/pown.inc
    M libclc/generic/lib/math/powr.cl
    M libclc/generic/lib/math/remainder.cl
    M libclc/generic/lib/math/remquo.cl
    M libclc/generic/lib/math/remquo.inc
    M libclc/generic/lib/math/rint.cl
    M libclc/generic/lib/math/rootn.cl
    M libclc/generic/lib/math/rootn.inc
    M libclc/generic/lib/math/round.cl
    M libclc/generic/lib/math/rsqrt.cl
    M libclc/generic/lib/math/sincos.cl
    M libclc/generic/lib/math/sincos.inc
    M libclc/generic/lib/math/tan.cl
    M libclc/generic/lib/math/tanpi.cl
    M libclc/generic/lib/math/trunc.cl
    M libclc/generic/lib/misc/shuffle.cl
    M libclc/generic/lib/misc/shuffle2.cl
    M libclc/generic/lib/relational/all.cl
    M libclc/generic/lib/relational/any.cl
    M libclc/generic/lib/relational/binary_def.inc
    M libclc/generic/lib/relational/isequal.cl
    M libclc/generic/lib/relational/isfinite.cl
    M libclc/generic/lib/relational/isgreater.cl
    M libclc/generic/lib/relational/isgreaterequal.cl
    M libclc/generic/lib/relational/isinf.cl
    M libclc/generic/lib/relational/isless.cl
    M libclc/generic/lib/relational/islessequal.cl
    M libclc/generic/lib/relational/islessgreater.cl
    M libclc/generic/lib/relational/isnan.cl
    M libclc/generic/lib/relational/isnormal.cl
    M libclc/generic/lib/relational/isnotequal.cl
    M libclc/generic/lib/relational/isordered.cl
    M libclc/generic/lib/relational/isunordered.cl
    M libclc/generic/lib/relational/select.cl
    M libclc/generic/lib/relational/signbit.cl
    M libclc/generic/lib/relational/unary_def.inc
    M libclc/generic/lib/shared/clamp.cl
    M libclc/generic/lib/shared/clamp.inc
    M libclc/generic/lib/shared/max.cl
    M libclc/generic/lib/shared/max.inc
    M libclc/generic/lib/shared/min.cl
    M libclc/generic/lib/shared/min.inc
    M libclc/generic/lib/shared/vload.cl
    M libclc/generic/lib/shared/vload_half.inc
    M libclc/generic/lib/shared/vstore.cl
    M libclc/generic/lib/shared/vstore_half.inc
    M libclc/generic/lib/workitem/get_global_id.cl
    M libclc/generic/lib/workitem/get_global_size.cl
    M libclc/ptx-nvidiacl/lib/mem_fence/fence.cl
    M libclc/ptx-nvidiacl/lib/synchronization/barrier.cl
    M libclc/ptx-nvidiacl/lib/workitem/get_global_id.cl
    M libclc/ptx-nvidiacl/lib/workitem/get_group_id.cl
    M libclc/ptx-nvidiacl/lib/workitem/get_local_id.cl
    M libclc/ptx-nvidiacl/lib/workitem/get_local_size.cl
    M libclc/ptx-nvidiacl/lib/workitem/get_num_groups.cl
    M libclc/r600/lib/image/get_image_channel_data_type.cl
    M libclc/r600/lib/image/get_image_channel_order.cl
    M libclc/r600/lib/image/get_image_depth.cl
    M libclc/r600/lib/image/get_image_dim.cl
    M libclc/r600/lib/image/get_image_height.cl
    M libclc/r600/lib/image/get_image_width.cl
    M libclc/r600/lib/image/read_imagef.cl
    M libclc/r600/lib/image/read_imagei.cl
    M libclc/r600/lib/image/read_imageui.cl
    M libclc/r600/lib/image/write_imagef.cl
    M libclc/r600/lib/image/write_imagei.cl
    M libclc/r600/lib/image/write_imageui.cl
    M libclc/r600/lib/math/fmax.cl
    M libclc/r600/lib/math/fmin.cl
    M libclc/r600/lib/math/native_rsqrt.cl
    M libclc/r600/lib/synchronization/barrier.cl
    M libclc/r600/lib/workitem/get_global_offset.cl
    M libclc/r600/lib/workitem/get_global_size.cl
    M libclc/r600/lib/workitem/get_group_id.cl
    M libclc/r600/lib/workitem/get_local_id.cl
    M libclc/r600/lib/workitem/get_local_size.cl
    M libclc/r600/lib/workitem/get_num_groups.cl
    M libclc/r600/lib/workitem/get_work_dim.cl
    M libclc/spirv/lib/math/fma.cl
    M libclc/test/add_sat.cl
    M libclc/test/as_type.cl
    M libclc/test/convert.cl
    M libclc/test/cos.cl
    M libclc/test/cross.cl
    M libclc/test/fabs.cl
    M libclc/test/get_group_id.cl
    M libclc/test/rsqrt.cl
    M libclc/test/subsat.cl
    M libclc/utils/prepare-builtins.cpp

  Log Message:
  -----------
  [libclc] Add license headers to files missing them (#132239)

This commit bulk updates all '.h', '.cl', '.inc', and '.cpp' files to
add any missing license headers.

The remaining files are generally CMake, SOURCES, scripts, markdown,
etc.

There are still some '.ll' files which may benefit from a license
header. I can't find an example of an LLVM IR file with a license header
in the rest of LLVM, but unlike most other (sub)projects, libclc has
examples of LLVM IR as source files, compiled and built into the
library.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
    A llvm/test/CodeGen/AArch64/execute-only-empty.ll

  Log Message:
  -----------
  [AArch64] Always add PURECODE flag to empty .text if "+execute-only" is set (#132196)

Previously, the `SHF_AARCH64_PURECODE` section flag wasn't added to the
implicitly created `.text` section if the module didn't contain any
functions, because no other section had the flag set.

Now, the `SHF_AARCH64_PURECODE` is always added if the "+execute-only"
target feature is set for the module during compilation.


  Commit: 4398a222ad0861ead5aeea66e76ac28757b6389d
      https://github.com/llvm/llvm-project/commit/4398a222ad0861ead5aeea66e76ac28757b6389d
  Author: Zichen Lu <mikaovo2000 at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/lib/Target/LLVM/NVVM/Target.cpp

  Log Message:
  -----------
  [mlir][target] Adjust the start and end position of the moduleToObject timer (#132693)

We hope that the timer can be cleared normally when the target-format is
`offload`, so as to avoid output like this:
```
===-------------------------------------------------------------------------===
Miscellaneous Ungrouped Timers
===-------------------------------------------------------------------------===

---Wall Time--- --- Name ---
----- Timer for perf llvm-ir -> isa and isa -> binary.
...
```

Co-authored-by: Guray Ozen <guray.ozen at gmail.com>


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

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

  Log Message:
  -----------
  [X86] combineX86ShufflesRecursively - pull out getTargetLoweringInfo call. NFC.


  Commit: 038cdd236f27bce41c566de89c35b00fdaf2b571
      https://github.com/llvm/llvm-project/commit/038cdd236f27bce41c566de89c35b00fdaf2b571
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M flang-rt/CMakeLists.txt
    M flang-rt/cmake/modules/AddFlangRT.cmake
    A flang-rt/cmake/modules/HandleLibs.cmake

  Log Message:
  -----------
  [flang-rt] Add support for using LLVM in-tree libc/libc++ (#131695)

Summary:
This patch adds an interface that uses an in-tree build of LLVM's libc
and libc++.

This is done using the `-DFLANG_RT_LIBC_PROVIDER=llvm` and
`-DFLANG_RT_LIBCXX_PROVIDER=llvm` options. Using `libc` works in terms
of CMake, but the LLVM libc is not yet complete enough to compile all
the files.


  Commit: 63285065368f22894aea87a8d82880cc8b0e8267
      https://github.com/llvm/llvm-project/commit/63285065368f22894aea87a8d82880cc8b0e8267
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
    A flang/test/Transforms/do_concurrent-to-do_loop-unodered.fir

  Log Message:
  -----------
  [flang][fir] Add rewrite pattern to convert `fir.do_concurrent` to `fir.do_loop` (#132207)

Rewrites `fir.do_concurrent` ops to a corresponding nest of `fir.do_loop
... unordered` ops.


  Commit: 63b5692bacd941f1b6b9010b70db4bcc327469b9
      https://github.com/llvm/llvm-project/commit/63b5692bacd941f1b6b9010b70db4bcc327469b9
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libclc/generic/lib/gen_convert.py

  Log Message:
  -----------
  [libclc] Relicense gen_convert.py (#132213)

Similar to work done in 82912fd6, this commit re-licenses both the
gen_convert.py script and the file it generates.

It previously possessed an MIT license, with three additional individual
copyrights. The file it generated was similar, but to only two of the
three individuals. LLVM's policy is not to accept contributions that
include in-source copyright notices [1]. I'm not aware whether the
individuals concerned signed the re-licensing agreement or not.

It takes the opportunity to update the description(s) in the header
files, since the previous comments were out of date.

[1]
https://llvm.org/docs/DeveloperPolicy.html#embedded-copyright-or-contributed-by-statements


  Commit: 6a8606e99e399ccc68a89b1c22b396e00021d3fb
      https://github.com/llvm/llvm-project/commit/6a8606e99e399ccc68a89b1c22b396e00021d3fb
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Only store RecurKind + FastMathFlags in VPReductionRecipe. NFCI (#131300)

VPReductionRecipes take a RecurrenceDescriptor, but only use the
RecurKind and FastMathFlags in it when executing. This patch makes the
recipe more lightweight by stripping it to only take the latter two.

The motiviation for this is to simplify an upcoming patch to support
in-loop AnyOf reductions. For an in-loop AnyOf reduction we want to
create an Or reduction, and by using RecurKind we can create an
arbitrary reduction without needing a full RecurrenceDescriptor.


  Commit: 66f957f40485ecacea68c608320a52bf1952ec66
      https://github.com/llvm/llvm-project/commit/66f957f40485ecacea68c608320a52bf1952ec66
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M lldb/source/Host/common/Host.cpp

  Log Message:
  -----------
  [lldb][AIX] clang-format for common Host.cpp (#132712)

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

Clang-format for common/Host.cpp for the followup changes


  Commit: ad9630d5ee657dd24015afe70016def0c41061fb
      https://github.com/llvm/llvm-project/commit/ad9630d5ee657dd24015afe70016def0c41061fb
  Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

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

  Log Message:
  -----------
  Fix bazel build for QuantDialectBytecodeGen (caused by #120172) (#132716)


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

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

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_wcschr (#132708)

This is already almost implemented, just need to enable support for it.


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

  Changed paths:
    M llvm/test/CodeGen/X86/x86-64-double-shifts-var.ll

  Log Message:
  -----------
  [X86] x86-64-double-shifts-var.ll - regenerate with update_llc_test_checks script to show full codegen


  Commit: bf2d30e0927b6b137bf4cc7bf32cd74d8092b0ee
      https://github.com/llvm/llvm-project/commit/bf2d30e0927b6b137bf4cc7bf32cd74d8092b0ee
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    A clang/test/CodeGen/AArch64/fmv-detection.c
    M clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
    M clang/test/CodeGen/AArch64/fmv-resolver-emission.c
    R clang/test/CodeGen/attr-target-version.c

  Log Message:
  -----------
  [NFC][FMV][AArch64] Tidy up codegen tests. (#132273)

Removes attr-target-version.c which doesn't have a clear purpose.
Introduces AArch64/fmv-detection.c to check detection bitmasks.
Adds coverage in AArch64/fmv-resolver-emission.c


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

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

  Log Message:
  -----------
  [clang][bytecode] Diagnose integral source/dest in memcpy (#132715)

Like the current interpreter does.


  Commit: 8a8e4cfc0bb05a794b9b3a8da12927f3db5996de
      https://github.com/llvm/llvm-project/commit/8a8e4cfc0bb05a794b9b3a8da12927f3db5996de
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp

  Log Message:
  -----------
  [compiler-rt][rtsan] Linux timerfd api interception. (#132709)


  Commit: 91140e6a514588ae50f4734761ab2cafff907939
      https://github.com/llvm/llvm-project/commit/91140e6a514588ae50f4734761ab2cafff907939
  Author: Letu Ren <fantasquex at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][llvm] Add llvm.intr.exp10 operation (#129378)


  Commit: 071643f339a05044bdc2b236ca958d4689c6dd8a
      https://github.com/llvm/llvm-project/commit/071643f339a05044bdc2b236ca958d4689c6dd8a
  Author: Letu Ren <fantasquex at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][llvm] Add `llvm.experimental.constrained.fpext` operation (#129054)

Ref: https://github.com/llvm/llvm-project/pull/86260


  Commit: 997707172f67a9904698207b40f336923c3ef39a
      https://github.com/llvm/llvm-project/commit/997707172f67a9904698207b40f336923c3ef39a
  Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

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

  Log Message:
  -----------
  Fix blaze build caused by commit #5d8e8e8 (#132719)


  Commit: 94783a8199c5e589d8efd6d4530482d72bf98f4d
      https://github.com/llvm/llvm-project/commit/94783a8199c5e589d8efd6d4530482d72bf98f4d
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
    A mlir/test/Dialect/Mesh/sharding-propagation-failed.mlir

  Log Message:
  -----------
  [mlir][mesh] Exit after `signalPassFailure` to fix a crash (#132662)

Fixes #131435.


  Commit: cf0efb31880dab5f5b2f20bda6634c68a42d6908
      https://github.com/llvm/llvm-project/commit/cf0efb31880dab5f5b2f20bda6634c68a42d6908
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir][vector] Decouple unrolling gather and gather to llvm lowering (#132206)

This patch decouples unrolling vector.gather and lowering vector.gather
to llvm.masked.gather.

This is consistent with how vector.load, vector.store,
vector.maskedload, vector.maskedstore lower to LLVM.

Some interesting test changes from this patch:

- 2D vector.gather lowering to llvm tests are deleted. This is
consistent with other memory load/store ops.
- There are still tests for 2D vector.gather, but the constant mask for
these test is modified. This is because with the updated lowering, one
of the unrolled vector.gather disappears because it is masked off (also
demonstrating why this is a better lowering path)

Overall, this makes vector.gather take the same consistent path for
lowering to LLVM as other load/store ops.

Discourse Discussion:
https://discourse.llvm.org/t/rfc-improving-gather-codegen-for-vector-dialect/85011/13


  Commit: 2f2c02e671d649b5326bb81fd82cfa93ee1be400
      https://github.com/llvm/llvm-project/commit/2f2c02e671d649b5326bb81fd82cfa93ee1be400
  Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

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

  Log Message:
  -----------
  Fix bazel build unique function test caused by #ef3e521 (#132726)


  Commit: 4fa5ab382e34b35cab71c0485196f47700d3b5e7
      https://github.com/llvm/llvm-project/commit/4fa5ab382e34b35cab71c0485196f47700d3b5e7
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
    M flang/test/Lower/OpenMP/loop-directive.f90

  Log Message:
  -----------
  [flang][OpenMP] Skip multi-block `teams` regions when processing `loop` directives (#132687)

Fixes a regression when the generic `loop` directive conversion pass
encounters a multi-block `teams` region. At the moment, we skip such
regions.


  Commit: ef56f4b5a0e3760e0c1c847999180718be93a1db
      https://github.com/llvm/llvm-project/commit/ef56f4b5a0e3760e0c1c847999180718be93a1db
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
    M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-array-lb.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-array-lb2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix reduction of arrays with non-default lower bounds (#132228)

Using LoopNest's indices with ShapeShifts that have non-default
lower bounds results in accesses to incorrect array elements.
To avoid having to adjust each index, a ShapeShift with default
lower bounds can be used instead.

Fixes #131751


  Commit: e60fe2e5840229839e7e1e24971dd38d31b22ed8
      https://github.com/llvm/llvm-project/commit/e60fe2e5840229839e7e1e24971dd38d31b22ed8
  Author: flovent <144676429+flovent at users.noreply.github.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
    M clang/test/Analysis/invalidated-iterator.cpp

  Log Message:
  -----------
  [clang][analyzer] Fix InvalidatedIterator crash caused by overload operator member function with explicit this (#132581)

Fixes #116372

>From this PR #83585, CSA starts to model overload operator member
function with explicit this as `SimpleFunctionCall` rather than
`CXXMemberOperatorCall` (derived from `CXXInstanceCall`), so
`CXXInstanceCall` only represents a non-static C++ member function call
`with implicit this`.

For this checker, it models `operator=` for STL containers, which always
uses implicit this, so the situation using explicit this can be skipped
directly.


  Commit: 24a8e18f5a1dfddf7c9a0704a1ccb96a235d3767
      https://github.com/llvm/llvm-project/commit/24a8e18f5a1dfddf7c9a0704a1ccb96a235d3767
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Dialect/Vector/ops.mlir

  Log Message:
  -----------
  [mlir][vector] Allow multi dim vectors in vector.scatter (#132217)

This patch matches the definition of vector.scatter as a counter part of
vector.gather.

All of the changes done in this patch make vector.scatter match
vector.gather 's multi dimensional definition.

Unrolling for vector.scatter will be implemented in subsequent patches.

Discourse Discussion:
https://discourse.llvm.org/t/rfc-improving-gather-codegen-for-vector-dialect/85011/13


  Commit: dc28e0d5d24364de311a3dc432edfd8bb122560a
      https://github.com/llvm/llvm-project/commit/dc28e0d5d24364de311a3dc432edfd8bb122560a
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorShapeCast.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/Vector/scalar-vector-transfer-to-memref.mlir
    M mlir/test/Dialect/Vector/vector-shape-cast-lowering-transforms.mlir

  Log Message:
  -----------
  [mlir][Vector] Remove more special case uses for extractelement/insertelement (#130166)

A number of places in our codebase special case to use
extractelement/insertelement for 0D vectors, because extract/insert did
not support 0D vectors previously. Since insert/extract support 0D
vectors now, use them instead of special casing.


  Commit: f3fa54a191d47809c3385bc655d1d42e6732a212
      https://github.com/llvm/llvm-project/commit/f3fa54a191d47809c3385bc655d1d42e6732a212
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  [mlir][Vector] Handle 0-rank case in fold instead of RewriterPattern (#130168)

For vector.extract, the folder always canonicalizes to a vector.extract
operation, while the rewrite pattern canonicalizes to a vector.broadcast
except in the case of 0-rank vectors.

Remove this special casing, and instead handle the 0-rank vector case in
the folder.


  Commit: f8416fcfeca09f0b2c1522e89eaebcbdc0a9f2d3
      https://github.com/llvm/llvm-project/commit/f8416fcfeca09f0b2c1522e89eaebcbdc0a9f2d3
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Look through PHI instructions (#132236)

Similar to what we do for copies. We may reduce one of the PHI operands
and not the other, and thats perfectly okay.


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

  Changed paths:
    A llvm/test/CodeGen/X86/shift-i512.ll

  Log Message:
  -----------
  [X86] Add test coverage for i512 shift-by-constants

Based off #132601 - pass the i512 types inside 512-bit vectors

Shows several missed general codegen issues that will help in a lot more cases than just this.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-with-reuses.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-transpose.ll

  Log Message:
  -----------
  [SLP]Fix perfect diamond match with extractelements in scalars

Need to drop all previous estimations/vectorizations, when found
a perfect diamond match. This improves cost estimation and improves code
emission.
Also, need to adjust getScalarizationOverhead cost for non-poison input
vector. Currently, it does not allow to estimate it correctly, so
instead use conservative element-by-element insertelement cost for each
unique scalar.

Reviewers: RKSimon, hiraditya

Reviewed By: RKSimon

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


  Commit: 85974a0537b59268288108d531b0681fa35afc4a
      https://github.com/llvm/llvm-project/commit/85974a0537b59268288108d531b0681fa35afc4a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M flang-rt/CMakeLists.txt
    M flang-rt/cmake/modules/AddFlangRT.cmake
    M flang-rt/cmake/modules/HandleLibs.cmake
    M flang-rt/lib/runtime/CMakeLists.txt
    M flang/cmake/modules/FlangCommon.cmake

  Log Message:
  -----------
  [flang-rt] Add experimental support for GPU build (#131826)

Summary:
This patch adds initial support for compiling `flang-rt` directly for
the GPU. The method used here matches what's already done for `libc` and
`libc++` for the GPU and builds off of those projects.

Mainly this requires setting up some flags and setting the sources that
currently work. This will deposit the resulting library in the
appropriate directory. These files are then intended to be linked via
`-Xoffload-linker` support in the offloading driver.
```
lib/clang/21/lib/nvptx64-nvidia-cuda/libflang_rt.runtime.a
lib/clang/21/lib/amdgcn-amd-amdhsa/libflang_rt.runtime.a
```

This is obviously missing a lot of functions, mainly the `io` support.
Most of what we cannot support is due to using POSIX things that just
don't make sense on the GPU. Stuff like `pthreads` or `sema`.

Getting unit tests to run on this will also be a challenge. We could run
tests the same way we do with `libc`, but the problem there is that the
`libc` test suite is freestanding while `gtest` currently doesn't
compile on the GPU bcause it uses a lot of weird stuff. If the unit
tests were simply `int main` then it would work.

I don't understand the actual runtime code very well, I'd appreciate
some guidance on how to actually support Fortran IO from this interface.
As I understand it, Fortran IO requires a stack-like operation, which
conflicts with the SIMT model GPUs use. Worst case scenario we could
burn some LDS to keep a stack, or serialize it somehow since we can
always just iterate over all the active lanes.

Building this right now looks like this, which depends on the arguments
added in https://github.com/llvm/llvm-project/pull/131695.
```
    -DRUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES=compiler-rt;libc;libcxx;libcxxabi;flang-rt \
    -DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES=compiler-rt;libc;libcxx;libcxxabi;flang-rt \
    -DRUNTIMES_nvptx64-nvidia-cuda_FLANG_RT_LIBC_PROVIDER=llvm \
    -DRUNTIMES_nvptx64-nvidia-cuda_FLANG_RT_LIBCXX_PROVIDER=llvm \
    -DRUNTIMES_amdgcn-amd-amdhsa_FLANG_RT_LIBC_PROVIDER=llvm \
    -DRUNTIMES_amdgcn-amd-amdhsa_FLANG_RT_LIBCXX_PROVIDER=llvm
```


  Commit: 529ee3cf3bb97b7ff468b5046372d070a8667147
      https://github.com/llvm/llvm-project/commit/529ee3cf3bb97b7ff468b5046372d070a8667147
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Interfaces/ViewLikeInterface.h
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Interfaces/ViewLikeInterface.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Fix slice canonicalizer for out-of-bounds cases (#132534)

Since #130487, `tensor.extract_slice` and `tensor.insert_slice` ops that
are statically detected to go out of bounds are rejected by the
verifier.

This commit fixes canonicalization patterns that currently fold
dynamically out-of-bounds ops (valid IR) to statically out-of-bounds ops
(invalid IR).


  Commit: 7f52d050abe3b8449bba621f93715d817f21e89a
      https://github.com/llvm/llvm-project/commit/7f52d050abe3b8449bba621f93715d817f21e89a
  Author: Abhinav Kumar <96587705+kr-2003 at users.noreply.github.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libc/config/darwin/arm/entrypoints.txt

  Log Message:
  -----------
  [libc] Enable stdfix functions for macOS arm64 targets. (#132674)

Fixes #132673 

Added ```libc.src.stdfix.*``` into
```libc/config/darwin/arm/entrypoints.txt```.

All tests related to ```stdfix``` has passed.


  Commit: ed022d93b2fbfe52b7bdee786aa5cc49fa2323c4
      https://github.com/llvm/llvm-project/commit/ed022d93b2fbfe52b7bdee786aa5cc49fa2323c4
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/test/Driver/amdgpu-toolchain.c
    A clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
    M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
    M clang/test/Driver/hip-toolchain-rdc.hip

  Log Message:
  -----------
  [clang][AMDGPU] Enable module splitting by default (#128509)

The default number of partitions is the number of cores on the machine
with a cap at 16, as going above 16 is unlikely to be useful in the
common case.

Adds a flto-partitions option to override the number of partitions
easily (without having to use -Xoffload-linker). Setting it to 1
effectively disables module splitting.

Fixes SWDEV-506214


  Commit: 9694844d7e36fd5e01011ab56b64f27b867aa72d
      https://github.com/llvm/llvm-project/commit/9694844d7e36fd5e01011ab56b64f27b867aa72d
  Author: Henry Jiang <h243jian at uwaterloo.ca>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
    M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    A llvm/test/Transforms/LoopIdiom/strlen-noidiom.ll
    A llvm/test/Transforms/LoopIdiom/strlen-not-emittable.ll
    A llvm/test/Transforms/LoopIdiom/strlen.ll
    A llvm/test/Transforms/LoopIdiom/wcslen16.ll
    A llvm/test/Transforms/LoopIdiom/wcslen32.ll

  Log Message:
  -----------
  Reland "[Transforms] LoopIdiomRecognize recognize strlen and wcslen #108985" (#132572)

Reland https://github.com/llvm/llvm-project/pull/108985

Extend `LoopIdiomRecognize` to find and replace loops of the form
```c
base = str;
while (*str)
  ++str;
```
and transforming the `strlen` loop idiom into the appropriate `strlen`
and `wcslen` library call which will give a small performance boost if
replaced.
```c
str = base + strlen(base)
len = str - base
```


  Commit: 3aa20c266c97a638c63b5368d89fe25757885178
      https://github.com/llvm/llvm-project/commit/3aa20c266c97a638c63b5368d89fe25757885178
  Author: Igor Wodiany <igor.wodiany at imgtec.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/CMakeLists.txt
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.h
    A mlir/include/mlir/Dialect/SPIRV/Interfaces/CMakeLists.txt
    A mlir/include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h
    A mlir/include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.td
    M mlir/lib/Dialect/SPIRV/CMakeLists.txt
    M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
    M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
    A mlir/lib/Dialect/SPIRV/Interfaces/CMakeLists.txt
    A mlir/lib/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp
    M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
    M mlir/test/Target/SPIRV/image-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add definition for selected sample operations (#129558)

This commit adds following three operations: ImageSampleImplicitLodOp,
ImageSampleExplicitLodOp and ImageSampleProjDrefImplicitLodOp


  Commit: 7ada6f111f133ef2a749c7f395cf337acdaf0f31
      https://github.com/llvm/llvm-project/commit/7ada6f111f133ef2a749c7f395cf337acdaf0f31
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/ifeqs.s
    M llvm/test/MC/AsmParser/ifnes.s

  Log Message:
  -----------
  [AsmParser] Correctly handle .ifeqs nested in other conditional directives (#132713)

The parser function used for the .ifeqs and .ifnes directives was
missing the check for whether we are currently in an ignored block of an
outer conditional directive, causing the block to be evaluated when it
should not, for example:

.if 0
  .ifeqs "a", "a"
    // Should not be evaluated, but is
    nop
  .endif
.endif


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

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

  Log Message:
  -----------
  [clang][bytecode] Implement __builtin_{wcscmp,wcsncmp} (#132723)


  Commit: ea68d830d9bf4a482acd69401234b6ecb9807733
      https://github.com/llvm/llvm-project/commit/ea68d830d9bf4a482acd69401234b6ecb9807733
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M flang-rt/cmake/modules/AddFlangRT.cmake

  Log Message:
  -----------
  [flang-rt][NFC] Fix indention


  Commit: 2edf534f5542a02f3ea3c70effb9503c99add809
      https://github.com/llvm/llvm-project/commit/2edf534f5542a02f3ea3c70effb9503c99add809
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Expression/DWARFExpression.h
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

  Log Message:
  -----------
  [LLDB][NFC] Added the interface DWARFExpression::Delegate to break dependencies and reduce lldb-server size (#131645)

This patch addresses the issue #129543.
After this patch DWARFExpression does not call DWARFUnit directly and does not depend on
lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp and a lot of clang code.
After this patch the size of lldb-server binary (Linux Aarch64) is reduced from 47MB to 17MB.


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

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

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


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

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCFastISel.cpp

  Log Message:
  -----------
  [PowerPC] Avoid repeated hash lookups (NFC) (#132659)


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

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

  Log Message:
  -----------
  [X86] combineConcatVectorOps - always concatenate integer binops with duplicated operands (#132735)

Only a single operand will need to be concatenated, so treat it like an unaryop


  Commit: 5634e7e2f0e446527cf00df544e5a62a3c02db52
      https://github.com/llvm/llvm-project/commit/5634e7e2f0e446527cf00df544e5a62a3c02db52
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    A llvm/test/CodeGen/AMDGPU/kill-true-in-return-block.ll
    M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
    M llvm/test/CodeGen/AMDGPU/wqm.ll

  Log Message:
  -----------
  [AMDGCN][SIWholeQuadMode] Rework splitBlock/lowerKillI1/lowerKillF32 to handle case when SI_KILL_I1_TERMINATOR -1 0 is not the unique terminator

The lowerKillI1 method wrongly handled cases where it inserted a
new S_BRANCH instruction when the kill was not the only terminator,
and then tried to split the block.

`SI_KILL_I1_TERMINATOR -1,0` doesn't have any effect. Instead of
lowering to an unconditional branch, we remove the instruction and
insert an unconditional branch only if the instruction is the last
terminator. No split is needed in this case (if the last terminator
has been reached, then the whole block was processed).

Also stop generating an unconditional branch in splitBlock: this
branch was redundant since TermMI is promoted to a
terminator that fallsthrough to the next block already.

Solves SWDEV-508819


  Commit: b1a8e6e3ae1d7d8c8dbb5e3b9c5df03283fca279
      https://github.com/llvm/llvm-project/commit/b1a8e6e3ae1d7d8c8dbb5e3b9c5df03283fca279
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp

  Log Message:
  -----------
  [Flang] Link `-lflang_rt.runtime` if available on the device (#132737)

Summary:
Now that we can build the Fortran runtime on the GPU (mostly) we should
be able to implicitly link it if it exists. This matches the normal
behavior where it is included implicity. No tests because it
would require a full VFS and is fairly trivial.

---------

Co-authored-by: Michael Kruse <github at meinersbur.de>


  Commit: 5c02f1a5afcf4a7444f680f3f6ef32042e3d28bd
      https://github.com/llvm/llvm-project/commit/5c02f1a5afcf4a7444f680f3f6ef32042e3d28bd
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/test/Target/LLVMIR/omptarget-depend.mlir

  Log Message:
  -----------
  [OpenMP][IRBuilder] De-duplicate code that emit task dependencies (#132340)

A small clean-up following up on #131795. Seems like we had 2 quite
similar implementations for the same thing: emit task dependencies
struct and filling it. This PR unifies the 2 versions into one. This is
better since we had to fix a bug in one of them in #131795 so this
applies the fix for both.


  Commit: 0e63180fa3e130c7da304578d29631c847fdcd62
      https://github.com/llvm/llvm-project/commit/0e63180fa3e130c7da304578d29631c847fdcd62
  Author: Pavel Skripkin <paskripkin at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/aapcs_vararg_frame.ll
    M llvm/test/CodeGen/AArch64/alloca.ll
    M llvm/test/CodeGen/AArch64/darwinpcs-tail.ll
    M llvm/test/CodeGen/AArch64/vararg-tallcall.ll

  Log Message:
  -----------
  Reapply "[Aarch64] [ISel] Don't save vaargs registers if vaargs are unused" (#131459)

This reapplies original commit e122483762b44c7f4386165099ff2a404705d7d4

Second try, but with win64 removed from the scope, since it was somehow
broken by original commit.

### Original PR description

If vaargs are not used there is no need to save them. LLVM already
implements such optimization for x86, as well as gcc [1].

Some ABI tests are kept almost as-is, except for stack offsets, by just
adding llvm.va_start. Only laapcs_vararg_frame.ll test was rewritten to
match new behavior.

[1] https://godbolt.org/z/GWWKr8xMd


  Commit: d6976d0bdf8aed334ef1ee2723373766838b7002
      https://github.com/llvm/llvm-project/commit/d6976d0bdf8aed334ef1ee2723373766838b7002
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/test/ThinLTO/X86/memprof-icp.ll

  Log Message:
  -----------
  [MemProf] Enable memprof ICP support by default (#132625)

This was disabled by default earlier while some failures were
investigated and ultimately fixed. It has been tested more extensively
since and can be enabled by default.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/X86/lower-vec-shift.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
    M llvm/test/CodeGen/X86/pr62286.ll
    M llvm/test/CodeGen/X86/shift-i512.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-gep.ll

  Log Message:
  -----------
  [DAG] canCreateUndefOrPoison - add EXTRACT_SUBVECTOR handling (#132745)

Similar to INSERT_SUBVECTOR - the index is constant and will be inbounds


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/call-waw-waitcnt.mir
    M llvm/test/CodeGen/AMDGPU/insert-waitcnts-hang.mir
    M llvm/test/CodeGen/AMDGPU/vccz-corrupt-bug-workaround.mir

  Log Message:
  -----------
  [AMDGPU][NPM] Port SIInsertWaitcnts to NPM (#130061)


  Commit: a6a56a326a3c209e19927942595877aceea368b7
      https://github.com/llvm/llvm-project/commit/a6a56a326a3c209e19927942595877aceea368b7
  Author: Romaric Jodin <rjodin at chromium.org>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libclc/generic/lib/math/erf.cl
    M libclc/generic/lib/math/erfc.cl

  Log Message:
  -----------
  [libclc] erfc: fix fp32 implementation in FTZ mode (#132390)

On some implementations, the current implementation leads to slight
accuracy issues.

While the maths behind this implementation is correct, it does not take
into account the accumulation of errors coming from other operators that
do not provide correct rounding (like the exp function).

To avoid it, compute statically exp(-0.5625).

Fixes #124939


  Commit: 70c325bf6a1d3d801957e8714178c833156a72e3
      https://github.com/llvm/llvm-project/commit/70c325bf6a1d3d801957e8714178c833156a72e3
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    A libclc/clc/include/clc/math/clc_sincos_helpers.h
    A libclc/clc/include/clc/math/clc_sincos_helpers.inc
    M libclc/clc/include/clc/math/gentype.inc
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_sincos_helpers.cl
    A libclc/clc/lib/generic/math/clc_sincos_helpers.inc
    M libclc/generic/lib/math/clc_tan.cl
    M libclc/generic/lib/math/cos.cl
    A libclc/generic/lib/math/cos.inc
    M libclc/generic/lib/math/sin.cl
    A libclc/generic/lib/math/sin.inc
    M libclc/generic/lib/math/sincos_helpers.cl
    M libclc/generic/lib/math/sincos_helpers.h

  Log Message:
  -----------
  [libclc] Move fp32 sincos helpers to CLC library (#132753)

This commit moves most of the sincos helper functions to the CLC
library. It simultaneously vectorizes them with the aim to increase
performance for vector types by avoiding scalarization.

Some helpers for double types remain as they use various features not
yet ready, like 'fract' which in turn relies on 'fmin'; neither of these
are in the CLC library. They also use table lookups and type punning
which don't translate well to vector versions.

As a proof of concept, float and half versions of the sin and cos
builtins are now vectorized and use the CLC helpers to do so. They
remain in the OpenCL layer but will be simpler to move to the CLC
library when the double versions are ready.


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

  Changed paths:
    M clang/test/Misc/diag-template-diffing-cxx11.cpp

  Log Message:
  -----------
  [clang] NFC: remove stray newlines from clang/test/Misc/diag-template-diffing-cxx11.cpp


  Commit: 7e22b0903150c7f722b5290155d251b50d839c3a
      https://github.com/llvm/llvm-project/commit/7e22b0903150c7f722b5290155d251b50d839c3a
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libclc/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
    M libclc/amdgpu/lib/shared/vload_half_helpers.ll
    M libclc/amdgpu/lib/shared/vstore_half_helpers.ll
    M libclc/generic/lib/subnormal_disable.ll
    M libclc/generic/lib/subnormal_helper_func.ll
    M libclc/generic/lib/subnormal_use_default.ll
    M libclc/ptx/lib/shared/vload_half_helpers.ll
    M libclc/ptx/lib/shared/vstore_half_helpers.ll
    M libclc/r600/lib/image/get_image_attributes_impl.ll
    M libclc/r600/lib/image/read_image_impl.ll
    M libclc/r600/lib/image/write_image_impl.ll

  Log Message:
  -----------
  [libclc] Add missing license headers to source IR files (#132758)


  Commit: 410754410fbafa9c642e3ab05d0cad1eeb456432
      https://github.com/llvm/llvm-project/commit/410754410fbafa9c642e3ab05d0cad1eeb456432
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libcxx/include/module.modulemap
    R libcxx/test/benchmarks/algorithms/algorithms.partition_point.bench.cpp
    A libcxx/test/benchmarks/algorithms/partitions/is_partitioned.bench.cpp
    A libcxx/test/benchmarks/algorithms/partitions/partition.bench.cpp
    A libcxx/test/benchmarks/algorithms/partitions/partition_copy.bench.cpp
    A libcxx/test/benchmarks/algorithms/partitions/partition_point.bench.cpp
    A libcxx/test/benchmarks/algorithms/partitions/stable_partition.bench.cpp

  Log Message:
  -----------
  [libc++] Add benchmarks for partitioning algorithms (#127324)

This patch adds benchmarks for std::partition, is_partitioned, etc and
their ranges:: variants.


  Commit: cdea46cc8c6d20921b47284aaf8751699efbd3a8
      https://github.com/llvm/llvm-project/commit/cdea46cc8c6d20921b47284aaf8751699efbd3a8
  Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i64.ll

  Log Message:
  -----------
  [AMDGPU] Add pattern for inverse.ballot.i64 Wave32 (#132770)


  Commit: fdbd26b4ed83719f81cf34d413c3343c1421d739
      https://github.com/llvm/llvm-project/commit/fdbd26b4ed83719f81cf34d413c3343c1421d739
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libcxx/include/module.modulemap

  Log Message:
  -----------
  [libc++] Add __assertion_handler to the modulemap (#131031)

That header is generated via CMake, but it is nonetheless present in the
final installation, so it should be covered by the modulemap.

rdar://131418726


  Commit: 9c6abf02bf250da2615c1d37b8eaba299a5934a1
      https://github.com/llvm/llvm-project/commit/9c6abf02bf250da2615c1d37b8eaba299a5934a1
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCExpr.h

  Log Message:
  -----------
  MCExpr: Remove unused VariantKind

MCSymbolRefExpr::VariantKind is deprecated - many constants have been
moved to target-specific MCTargetExpr.


  Commit: 1f967887018c63bddf5bf2860e0e6a3aa1e85840
      https://github.com/llvm/llvm-project/commit/1f967887018c63bddf5bf2860e0e6a3aa1e85840
  Author: Tejas Vipin <alissxlace at proton.me>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libc/test/src/math/exhaustive/hypotf_test.cpp

  Log Message:
  -----------
  [libc][math] Fix range and comments in exhaustive hypotf_test (#131769)

`((23U + 127U) << 23) + 1` evaluates to `(2^23)+1` as opposed to `2^24`,
so should instead be `(24U + 127U) << 23`. Additionally, range for both
inputs is inclusive of STOP. The comments have been updated reflecting
these changes.


  Commit: f0bc1712a3e35c0a4c967b88f62ff8e216c002c9
      https://github.com/llvm/llvm-project/commit/f0bc1712a3e35c0a4c967b88f62ff8e216c002c9
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp

  Log Message:
  -----------
  [Mips] Simplify evaluateAsRelocatableImpl and avoid getSymB calls

The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.


  Commit: c7e6ee7b9fc26eba55df3264342e130c941c935c
      https://github.com/llvm/llvm-project/commit/c7e6ee7b9fc26eba55df3264342e130c941c935c
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

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

  Log Message:
  -----------
  [bazel] Port 3aa20c266c97a638c63b5368d89fe25757885178 (#132774)


  Commit: e2c5b95da10547391f1b0461ec8456a4474245fb
      https://github.com/llvm/llvm-project/commit/e2c5b95da10547391f1b0461ec8456a4474245fb
  Author: Eric Astor <epastor at google.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/MC/MCParser/MasmParser.cpp

  Log Message:
  -----------
  [ms] [llvm-ml] Remove space-separated argument support (#132750)

This leads to errors when parsing MASM macro calls, and was retained
from AsmParser by mistake.

Fixes #132074


  Commit: 65ee2813f9f9a8cd11c5e9ea372da7d12867b52f
      https://github.com/llvm/llvm-project/commit/65ee2813f9f9a8cd11c5e9ea372da7d12867b52f
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang/lib/Sema/SemaAttr.cpp
    A clang/test/Sema/GH126231.cpp

  Log Message:
  -----------
  [clang] Do not infer lifetimebound for functions with void return type (#131997)

Fixes: https://github.com/llvm/llvm-project/issues/126231
Also found in : https://github.com/microsoft/STL/issues/5271


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

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Remove experimental from Sdext and Sdtrig which are ratified. (#132529)

They were ratified in February 2025.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/test/MC/RISCV/machine-csr-names.s

  Log Message:
  -----------
  [RISCV] Remove the mucounteren alternate name for CSR 0x320. (#132498)

This is the old name for 0x320 from privilege spec 1.9. It has different
semantics than mcountinhibit that is at that address now.

It doesn't look like binutils supports this name anymore so I don't
think llvm should.


  Commit: f81e3f2633bdd37e0efa79015732ed572166c577
      https://github.com/llvm/llvm-project/commit/f81e3f2633bdd37e0efa79015732ed572166c577
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

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

  Log Message:
  -----------
  [RISCV][NFC] Fix the comment for VALUVINoVm (#132730)


  Commit: 869c2a9a1052144957d3ed57378cf927078f4b27
      https://github.com/llvm/llvm-project/commit/869c2a9a1052144957d3ed57378cf927078f4b27
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h

  Log Message:
  -----------
  [PowerPC] Simplify evaluateAsRelocatableImpl

In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.


  Commit: a30f102253422b57de35f991c783b0873049898f
      https://github.com/llvm/llvm-project/commit/a30f102253422b57de35f991c783b0873049898f
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/MC/MCParser/MasmParser.cpp

  Log Message:
  -----------
  [llvm-ml] Remove unused function after #132750


  Commit: 9b8bcd288ae8d6d31ac51b3b959e796842b2d5c7
      https://github.com/llvm/llvm-project/commit/9b8bcd288ae8d6d31ac51b3b959e796842b2d5c7
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

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

  Log Message:
  -----------
  [RISCV][test] Add a test for vector hasAndNot


  Commit: 34fa037c4fd7f38faada5beedc63ad234e904247
      https://github.com/llvm/llvm-project/commit/34fa037c4fd7f38faada5beedc63ad234e904247
  Author: Eric Astor <epastor at google.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:

  Log Message:
  -----------
  [ms] [llvm-ml] Remove unused function (#132777)

This was missed in an earlier PR.


  Commit: 02ed65912ea36ddbb280c959eebb5df129fa3dfa
      https://github.com/llvm/llvm-project/commit/02ed65912ea36ddbb280c959eebb5df129fa3dfa
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
    M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll

  Log Message:
  -----------
  [AMDGPU] 4-align TTMP triples (#132759)

Follow up to e4284a7c70cd "[AMDGPU] 4-align SGPR triples".

Previously TTMP triples like ttmp[3:5] were aligned on a 3-TTMP boundary
which has no basis in hardware.

Aligning them on a 4-TTMP boundary matches what we do for SGPRs, which
reduces the number of extra register classes synthesized by TableGen,
bringing the total number down from 653 to 615.


  Commit: 8f3f93cd78cfbf1dea349be2eef98802da8ad929
      https://github.com/llvm/llvm-project/commit/8f3f93cd78cfbf1dea349be2eef98802da8ad929
  Author: Lei Wang <wlei at fb.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/CMakeLists.txt
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-name-similarity.prof
    A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-name-similarity.ll

  Log Message:
  -----------
  [SampleFDO] Match functions with the same base function name (#126688)

Sometimes, there may be no matched anchors but the functions still
match. e.g. if the function’s template typename changes, all the
callsites that use the type are mismatched and the caller function that
contains those callsite are mismatched. Introduce a check to match the
functions if their demangled base names are the same.


  Commit: ef4f479dab2ef1fc42a461583025e9b5c34a2f7c
      https://github.com/llvm/llvm-project/commit/ef4f479dab2ef1fc42a461583025e9b5c34a2f7c
  Author: Martin Licht <martin.licht at epfl.ch>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libcxx/docs/UserDocumentation.rst

  Log Message:
  -----------
  [libc++] Documentation for _LIBCPP_REMOVE_TRANSITIVE_INCLUDES (#130560)

Closes #130486

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: aa80388cf9d2444c82e7a1a8c73ddf14930be318
      https://github.com/llvm/llvm-project/commit/aa80388cf9d2444c82e7a1a8c73ddf14930be318
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libcxx/include/__algorithm/simd_utils.h
    A libcxx/test/libcxx/algorithms/vectorization.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Ensure that we vectorize algorithms on all Clang-based compilers (#132090)

Otherwise, we wouldn't vectorize on compilers like AppleClang when in
reality we know perfectly well how to do it.


  Commit: 77648476f28c4ee50eb2ffca952453a210386d7d
      https://github.com/llvm/llvm-project/commit/77648476f28c4ee50eb2ffca952453a210386d7d
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/MC/MCSchedule.cpp
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-lmul-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-sew-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/disable-im.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/fractional-lmul-data.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-at-start.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-middle.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-region.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-straddles-region.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-lmul-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-sew-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/needs-sew-but-only-lmul.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/no-vsetvli-to-start.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/reductions.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-at-start.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-middle.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-region.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-straddles-region.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/strided-load-store.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/strided-load-x0.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vector-integer-arithmetic.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vle-vse.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-sew-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-sew-instrument.s

  Log Message:
  -----------
  [MC] Account for AcquireAtCycle in getReciprocalThroughput (#132653)

Previously `MCSchedModel::getReciprocalThroughput` ignored
`AcquireAtCycle` completey, this patch fixes it by using the largest
`(ReleaseAtCycle - AcquireAtCycle) / NumUnits` as inverse throughput.

Here are some technical explanations:
https://myhsu.xyz/llvm-sched-interval-throughput

---------

Co-authored-by: Julien Villette <julien.villette at sipearl.com>


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

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

  Log Message:
  -----------
  [clang][bytecode] Redo RUN lines in the builtin-functions test (#132762)

Make sure we run each configuration once with the bytecode interpreter
and once with the current one. Add a triple to the one that was
previously without.


  Commit: e75f586b813a081cffcafb8b5d34b5547e52e548
      https://github.com/llvm/llvm-project/commit/e75f586b813a081cffcafb8b5d34b5547e52e548
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/lds-dma-waits.ll

  Log Message:
  -----------
  [AMDGPU] Relax lds dma waitcnt with no aliasing pair (#131842)

If we cannot find any lds DMA instruction that is aliased by some load
from lds, we will still insert vmcnt(0). This is overly cautious since
handling inter-thread dependences is normally managed by the memory
model instead of the waitcnt pass, so this change updates the behavior
to be more inline with how other types of memory events are handled.


  Commit: 8a2a6944383cbd83010a4d5c1ef1a7ef34194bcd
      https://github.com/llvm/llvm-project/commit/8a2a6944383cbd83010a4d5c1ef1a7ef34194bcd
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Dialect/LLVMIR/constant-folding.mlir
    M mlir/test/Target/LLVMIR/Import/constant.ll
    M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Support dso_local_equivalent constants (#132131)

Create a new operation `DSOLocalEquivalentOp`, following the steps of
other constants.

This is similar in a way to `AddressOfOp` but with specific semantics:
only support functions and function aliases (no globals) and extern_weak
linkage is not allowed.

An alternative approach is to use a new `UnitAttr` in `AddressOfOp` and
check that attribute to enforce specific semantics in the verifiers. The
drawback is going against what other constants do and having to add more
attributes in the future when we introduce `no_cfi`, `blockaddress`,
etc.

While here, improve the error message for other missing constants.


  Commit: 63e0da45a1d6e8bf28130777dd12b642e68b5f64
      https://github.com/llvm/llvm-project/commit/63e0da45a1d6e8bf28130777dd12b642e68b5f64
  Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

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

  Log Message:
  -----------
  Fix bazel DWARF include error caused by #131645 (#132789)


  Commit: 6c68cc4df1bfbb846e7724568a4cada61847c7f4
      https://github.com/llvm/llvm-project/commit/6c68cc4df1bfbb846e7724568a4cada61847c7f4
  Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

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

  Log Message:
  -----------
  Fix bazel demangle include error caused by #126688 (#132790)


  Commit: 8d3dc1ed5656a3e69e4195d58684a7f4bf0ff5cc
      https://github.com/llvm/llvm-project/commit/8d3dc1ed5656a3e69e4195d58684a7f4bf0ff5cc
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/docs/CommandGuide/lit.rst
    M llvm/utils/lit/lit/TestRunner.py

  Log Message:
  -----------
  lit: Move RUN at line comment after the command.

When a developer copy/pastes a failing command line into their
shell to rerun it, they have to manually delete the "RUN: at line
N:" prefix. To make life easier for such developers, let's make it
possible to copy/paste a command without needing to modify it while
still showing the line number in the output by moving the line number
to a comment at the end of the command line.

Reviewers: jroelofs, MaskRay

Reviewed By: jroelofs, MaskRay

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


  Commit: e4172196a769e13d1d55bf078844cc70419e6991
      https://github.com/llvm/llvm-project/commit/e4172196a769e13d1d55bf078844cc70419e6991
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/test/Dialect/Linalg/transform-tile-and-fuse-pack-unpack.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td

  Log Message:
  -----------
  [mlir][TilingInterface] Make `tileAndFuseConsumerOfSlice` take surrounding loops as an argument. (#132082)

This gets the consumer fusion method in sync with the corresponding
producer fusion method `tileAndFuseProducerOfSlice`. Not taking this as
input required use of complicated analysis to retrieve the surrounding
loops which are very fragile. Just like the producer fusion method, the
loops need to be taken in as an argument, with typically the loops being
created by the tiling methods.

Some utilities are added to check that the loops passed in are perfectly
nested (in the case of an `scf.for` loop nest.

This is change 1 of N to simplify the implementation of tile and fuse
consumers.

---------

Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>


  Commit: 57e89c97c2c1b4e41f07a90c2f4d36649696e619
      https://github.com/llvm/llvm-project/commit/57e89c97c2c1b4e41f07a90c2f4d36649696e619
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/docs/CommandGuide/lit.rst
    M llvm/utils/lit/lit/TestRunner.py

  Log Message:
  -----------
  Revert "lit: Move RUN at line comment after the command."

This reverts commit 8d3dc1ed5656a3e69e4195d58684a7f4bf0ff5cc.

Test needs to be updated.


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

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

  Log Message:
  -----------
  [gn build] Port 03557169e0ad


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

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 2f1416bbcde8


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

  Changed paths:
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 30bb0c443e16


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

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

  Log Message:
  -----------
  [gn build] Port 7f920e2e5f70


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

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

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


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

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    M llvm/test/CodeGen/NVPTX/upgrade-nvvm-annotations.ll

  Log Message:
  -----------
  [NVPTX] Auto-Upgrade !"align" metadata on return values to stackalign (#131726)

This commit follows up 0191307b by auto-upgrading !"align" metadata on
return values to stackalign. This allows us to remove all logic to check
the metadata from NVPTXUtilities.


  Commit: 11044de3dcc1dd7a47c8c3f98ecf77c00978b570
      https://github.com/llvm/llvm-project/commit/11044de3dcc1dd7a47c8c3f98ecf77c00978b570
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/docs/CommandGuide/lit.rst
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/tests/shtest-external-shell-kill.py
    M llvm/utils/lit/tests/shtest-run-at-line.py

  Log Message:
  -----------
  Reapply "lit: Move RUN at line comment after the command."

This reverts commit 57e89c97c2c1b4e41f07a90c2f4d36649696e619.

Updated lit tests.


  Commit: 6f4ddefe5b8c1ac61b692613b5b10ecaec1f2066
      https://github.com/llvm/llvm-project/commit/6f4ddefe5b8c1ac61b692613b5b10ecaec1f2066
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M libc/test/UnitTest/ZxTest.h

  Log Message:
  -----------
  [libc] Remove extraneous ASSERT_ERRNO_* macro definitions (#132812)

These are no longer meant to be defined in each
framework-specific header, but ZxTest.h wasn't updated.


  Commit: 368c7f72b917b9a9ae412dfe58d640e7022a3342
      https://github.com/llvm/llvm-project/commit/368c7f72b917b9a9ae412dfe58d640e7022a3342
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    A llvm/test/CodeGen/DirectX/ContainerData/PSVResources-order.ll
    M llvm/test/CodeGen/DirectX/ContainerData/PSVResources.ll

  Log Message:
  -----------
  [DirectX] Match DXC's resource order in DX container (#130233)

DXC and the DXIL validator expect resources in a DX container to be
specifically ordered CBuffers, Samplers, SRVs, and then UAVs. Match this
behaviour so that we can pass the validator.

Fixes #130232.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h

  Log Message:
  -----------
  [VPlan] Remove remaining references to VPScalarPHIRecipe (NFC).

VPScalarPHIRecipe has been replaced by VPInstructions with PHI opcodes.
Strip remaining dead references to VPScalarPHIRecipe.


  Commit: 0fb4ef40b12d08e4a4966eeac6a395b669d63237
      https://github.com/llvm/llvm-project/commit/0fb4ef40b12d08e4a4966eeac6a395b669d63237
  Author: Carlos Galvez <carlosgalvezp at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/cert/DontModifyStdNamespaceCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-anon-record-fields.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/file-filter.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/system-headers.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchFinder.h
    M clang/lib/ASTMatchers/ASTMatchFinder.cpp
    M clang/unittests/ASTMatchers/ASTMatchersInternalTest.cpp

  Log Message:
  -----------
  Revert "[clang-tidy] Avoid processing declarations in system headers … (#132743)

…(#128150)"

This was too aggressive, and leads to problems for downstream users:
https://github.com/llvm/llvm-project/pull/128150#issuecomment-2739803409

Let's revert and reland it once we have addressed the problems.

This reverts commit e4a8969e56572371201863594b3a549de2e23f32.

Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>


  Commit: 1b9d47545380bc93427f72a6466d851570ed478c
      https://github.com/llvm/llvm-project/commit/1b9d47545380bc93427f72a6466d851570ed478c
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
    M mlir/test/Dialect/Tosa/availability.mlir

  Log Message:
  -----------
  [mlir][tosa] Align validation profiles and extensions to TOSA v1.0 spec (#132768)

- Add missing int16 extension for concat operator
- Remove int16 extension for cast operator
- Add pro_int and pro_fp profiles for const_shape operator

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 4fb9650b21fc038ca044ac1ca7fcd5be0b44194a
      https://github.com/llvm/llvm-project/commit/4fb9650b21fc038ca044ac1ca7fcd5be0b44194a
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [clang][docs] Release Note for RISC-V qci-(no)nest

These were omitted from the original PR (#129957)


  Commit: 06e2fd962af063d4c0abb854a7adf770178c8dbd
      https://github.com/llvm/llvm-project/commit/06e2fd962af063d4c0abb854a7adf770178c8dbd
  Author: David Green <david.green at arm.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/complex-int-to-fp.ll

  Log Message:
  -----------
  [AArch64] Regenerate complex-int-to-fp.ll. NFC


  Commit: 7fa104ed20a576a792162e8ac677c1543032d8f1
      https://github.com/llvm/llvm-project/commit/7fa104ed20a576a792162e8ac677c1543032d8f1
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/test/TableGen/AcquireAtCycle.td
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [TableGen][MCSched] Update error messages on the range of Acquire/ReleaseAtCycle (#131908)

I was looking at the value range of AcquireAtCycle / ReleaseAtCycle, and
I noticed that while the TableGen error messages said AcquireAtCycle has
to be less than ReleaseAtCycle, in reality they are actually allowed to
be the same. This patch fixes it and add more test cases.


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

  Changed paths:
    M libc/test/src/sys/epoll/linux/CMakeLists.txt
    M libc/test/src/sys/epoll/linux/epoll_create1_test.cpp
    M libc/test/src/sys/epoll/linux/epoll_create_test.cpp
    M libc/test/src/sys/epoll/linux/epoll_ctl_test.cpp
    M libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
    M libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
    M libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
    M utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel

  Log Message:
  -----------
  [libc] Migrate sys/epoll tests to use ErrnoCheckingTest. (#132823)

This is similar to PR #132107 but for tests for sys/epoll.h functions.

ErrnoCheckingTest ensures that errno is properly reset at the beginning
of the test case, and is validated at the end of it, so that the manual
code such as the one proposed in PR #131650 would not be necessary.


  Commit: 3df92197bbe0ebe715dc71e1ec44f66e4828cf70
      https://github.com/llvm/llvm-project/commit/3df92197bbe0ebe715dc71e1ec44f66e4828cf70
  Author: Georgios Pinitas <georgios.pinitas at arm.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir

  Log Message:
  -----------
  [mlir][tosa] Support `DenseResourceElementsAttr` in TOSA transpose folders (#124532)

Handle dense resource attributes in the transpose TOSA folder.
Currently their interface does not align with the rest of the
`ElementsAttr` when it comes to data accessing hence the special
handling.

Signed-off-by: Georgios Pinitas <georgios.pinitas at arm.com>


  Commit: 9a82f742b4976650827674e58c3c2b0b412b56f0
      https://github.com/llvm/llvm-project/commit/9a82f742b4976650827674e58c3c2b0b412b56f0
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang/include/clang/Sema/HLSLExternalSemaSource.h
    M clang/lib/Sema/CMakeLists.txt
    A clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    A clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp

  Log Message:
  -----------
  [HLSL][NFC] Refactor HLSLExternalSemaSource (#131032)

Moving builder classes into separate files
`HLSLBuiltinTypeDeclBuilder.cpp`/`.h`, changing a some
`HLSLExternalSemaSource` methods to private and removing unused methods.

This is a prep work before we start adding more builtin types and
methods, like textures, resource constructors or matrices. For example
constructors could make use of the `BuiltinTypeMethodBuilder`, but this
helper class was defined in `HLSLExternalSemaSource.cpp` after the
method that creates a constructor. Rather than reshuffling the code one
big source file I am moving the builders into a separate cpp & header
file and placing the helper classes declarations up top.

Currently the new header only exposes `BuiltinTypeDeclBuilder` to
`HLSLExternalSemaSource`. In the future but we might decide to expose
more helper classes as needed.


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

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

  Log Message:
  -----------
  [gn build] Port 9a82f742b497


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

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h

  Log Message:
  -----------
  [HLSL] Finish exposing half types and intrinsics always (#132804)

We previously made an implementation error when adding half overloads
for HLSL library functionality. The half type is always defined in HLSL
and half intrinsics should not be conditionally included.
When native 16-bit types are disabled half is a unique 32-bit float type
with lesser promotion rank than float.

Apply pattern #81782 to intrinsics added in #95999.
Closes #132793


  Commit: 20fc2d5aa5076e308f98726b9c32ce4c2a1e08a1
      https://github.com/llvm/llvm-project/commit/20fc2d5aa5076e308f98726b9c32ce4c2a1e08a1
  Author: Jannick Kremer <jannick.kremer at mailbox.org>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [libclang/python] Add some bindings to the `Cursor` interface (#132377)

Make Cursor hashable
Add `Cursor.has_attr()`
Add `Cursor.specialized_template`

This covers the Cursor interface changes added by #120590

---------

Co-authored-by: Mathias Stearn <redbeard0531 at gmail.com>


  Commit: 567b0f89239b0e3f0e96419038863f2386b635e3
      https://github.com/llvm/llvm-project/commit/567b0f89239b0e3f0e96419038863f2386b635e3
  Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/test/AST/HLSL/HLSLControlFlowHint.hlsl
    M llvm/test/CodeGen/DirectX/HLSLControlFlowHint.ll
    M llvm/test/CodeGen/SPIRV/structurizer/HLSLControlFlowHint.ll

  Log Message:
  -----------
  [HLSL] Add support to branch/flatten attributes to switch (#131739)

closes: [#125754](https://github.com/llvm/llvm-project/issues/125754)

---------

Co-authored-by: joaosaffran <joao.saffran at microsoft.com>


  Commit: 3ce3d889f6a7faacb883f563697764b8a58c4abf
      https://github.com/llvm/llvm-project/commit/3ce3d889f6a7faacb883f563697764b8a58c4abf
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_shadow_setup.cpp

  Log Message:
  -----------
  [asan] Re-exec without ASLR if needed on 64-bit Linux (#132682)

This generalizes https://github.com/llvm/llvm-project/pull/131975 to non-32-bit Linux (i.e., 64-bit Linux).

This works around an edge case in 64-bit Linux, whereby the memory layout is incompatible if the stack size is unlimited AND ASLR entropy is 31+ bits (see https://github.com/google/sanitizers/issues/856#issuecomment-2747076811).

More generally, this "re-exec without ASLR if layout is incompatible" is a hammer that can work around most shadow mapping issues, without incurring the overhead of using a dynamic shadow.


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

  Changed paths:
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Evaluate/variable.h
    M flang/include/flang/Semantics/dump-expr.h
    M flang/lib/Lower/IterationSpace.cpp

  Log Message:
  -----------
  [flang] Remove mentions of evaluate::Variable<T> (#132805)

The template itself was not defined anywhere. The closest thing was a
forward declaration in flang/include/flang/Evaluate/variable.h.


  Commit: ef2735d2436fd14288d1766a152f3a10f36a4af9
      https://github.com/llvm/llvm-project/commit/ef2735d2436fd14288d1766a152f3a10f36a4af9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M flang/cmake/modules/FlangCommon.cmake
    M flang/include/flang/Common/api-attrs.h
    M flang/include/flang/Evaluate/common.h

  Log Message:
  -----------
  [Flang] Detect endianness in the preprocessor (#132767)

Summary:
Currently we use `TestBigEndian` in CMake to determine endianness. This
doesn't work on all platforms and is deprecated since CMake 3.20.
Instead of using CMake, we can just use the GNU/Clang preprocessor
definitions.

The only difficulty is MSVC, mostly because they don't support the same
macros. But, as far as I'm aware, MSVC / Windows targets are always
little endian, and if not we can just override it for that specific
target in the future.


  Commit: e6de45a22933114a1d9421dad558a3d62546cb53
      https://github.com/llvm/llvm-project/commit/e6de45a22933114a1d9421dad558a3d62546cb53
  Author: David Benjamin <davidben at google.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/test/tsan/cxa_guard_acquire.cpp

  Log Message:
  -----------
  [tsan] Don't treat uncontended pthread_once as a potentially blocking region (#132477)

guard_acquire is a helper function used to implement TSan's
__cxa_guard_acquire and pthread_once interceptors.
https://reviews.llvm.org/D54664 introduced optional hooks to support
cooperative multi-threading. It worked by marking the entire
guard_acquire call as a potentially blocking region.

In principle, only the contended case needs to be a potentially blocking
region. This didn't matter for __cxa_guard_acquire because the compiler
emits an inline fast path before calling __cxa_guard_acquire. That is,
once we call __cxa_guard_acquire at all, we know we're in the contended
case.

https://reviews.llvm.org/D107359 then unified the __cxa_guard_acquire
and pthread_once interceptors, adding the hooks to pthread_once.
However, unlike __cxa_guard_acquire, pthread_once callers are not
expected to have an inline fast path. The fast path is inside the
function.

As a result, TSan unnecessarily calls into the cooperative
multi-threading engine on every pthread_once call, despite applications
generally expecting pthread_once to be fast after initialization. Fix
this by deferring the hooks to the contended case inside guard_acquire.


  Commit: 0aa4c35beb1f4f8028d79b9ce225a338db0bf9a2
      https://github.com/llvm/llvm-project/commit/0aa4c35beb1f4f8028d79b9ce225a338db0bf9a2
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

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

  Log Message:
  -----------
  [libc][__support] Fix -Wimplicit-int-conversion warning (#132839)

Newer versions of clang now warn about these, so use explicit
conversion instead.


  Commit: ff8aa300d68fefadb6fc75876a595467309f9f52
      https://github.com/llvm/llvm-project/commit/ff8aa300d68fefadb6fc75876a595467309f9f52
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/hip-code-object-version.hip
    M clang/test/Misc/warning-flags.c

  Log Message:
  -----------
  [AMDGPU] Remove outdated COV6 warning (#132814)


  Commit: 25bf4e262c73444a29e84642ddc409806638fb4f
      https://github.com/llvm/llvm-project/commit/25bf4e262c73444a29e84642ddc409806638fb4f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
    M offload/plugins-nextgen/common/src/Utils/ELF.cpp

  Log Message:
  -----------
  [Offload] Remove handling for COV4 binaries from offload/ (#131033)

Summary:
We moved from cov4 to cov5 a long time ago, and it guards simplifying
some front end code, so we should be able to move up with this.


  Commit: ece59a8cb9c82227ccd304b1cd26a2c216ddb13e
      https://github.com/llvm/llvm-project/commit/ece59a8cb9c82227ccd304b1cd26a2c216ddb13e
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-03-24 (Mon, 24 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:
  -----------
  Reland Support for mustache templating language (#132467)

The last version of this patch had memory leaks due to using the
BumpPtrAllocator for data types that required destructors to run to
release heap memory (e.g. via std::vector and std::string). This version
avoids that by using smart pointers, and dropping support for
BumpPtrAllocator.

We should refactor this code to use the BumpPtrAllocator again, but that
can be addressed in future patches, since those are more invasive
changes that need to refactor many of the core data types to avoid
owning allocations.

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.

Co-authored-by: Peter Chou <peter.chou at mail.utoronto.ca>


  Commit: 71a0cfd93263552ddc0bfd2ea7b0abe9a578f87e
      https://github.com/llvm/llvm-project/commit/71a0cfd93263552ddc0bfd2ea7b0abe9a578f87e
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll

  Log Message:
  -----------
  [SLP] Make getSameOpcode support interchangeable instructions. (#127450)

We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.

---------

Co-authored-by: Alexey Bataev <a.bataev at gmx.com>


  Commit: c1ed4f642396c1bbea2cc0cd6d2e46ff674145a4
      https://github.com/llvm/llvm-project/commit/c1ed4f642396c1bbea2cc0cd6d2e46ff674145a4
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang-tools-extra/test/clang-doc/DR-131697.cpp
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
    M clang-tools-extra/test/clang-doc/enum.cpp
    M clang-tools-extra/test/clang-doc/namespace.cpp
    M clang-tools-extra/test/clang-doc/single-file-public.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    M clang-tools-extra/test/clang-doc/test-path-abs.cpp

  Log Message:
  -----------
  [clang-doc] Format test files (#132428)

Many of the test files had an inconsistent formatting. This patch ran
clang-format over them using the project's .clang-format file, with
column limit = 0, to prevent test directives from being split over
multiple lines.


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

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

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

This patch fixes:

  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:855:52: error:
  unused variable 'SupportedOp' [-Werror,-Wunused-const-variable]


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-launch.fir

  Log Message:
  -----------
  [flang][cuda] Carry over the dynamic shared memory size to gpu.launch_func (#132837)


  Commit: e5f100676ed478ec099d0c820648bfe1dd0b52d2
      https://github.com/llvm/llvm-project/commit/e5f100676ed478ec099d0c820648bfe1dd0b52d2
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
    M clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp

  Log Message:
  -----------
  [clangd] [C++20] [Modules] Add modules suffix for 'Header' Source Switch (#131591)

Support the trivial "header"/source switch for module interfaces.

I initially thought the naming are bad and we should rename it. But
later I feel it is better to split patches as much as possible.

>From the codes it looks like there are problems. e.g., `isHeaderFile`.
But let's try to fix them in different patches.


  Commit: da7f1564a82e431dfbbf5b8d0bd53c64c5ca6af9
      https://github.com/llvm/llvm-project/commit/da7f1564a82e431dfbbf5b8d0bd53c64c5ca6af9
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Don't wrap before attributes in parameter lists (#132519)

Fix #132240


  Commit: a6d366268d42469c77981e1c086d8035c9909990
      https://github.com/llvm/llvm-project/commit/a6d366268d42469c77981e1c086d8035c9909990
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-bit-shift.ll
    A llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-shift.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit tests for vector shift (#132702)


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

  Changed paths:
    M llvm/tools/opt/NewPMDriver.cpp

  Log Message:
  -----------
  [NFC] Fix macro redefinition warning in NewPMDriver.cpp (#132854)


  Commit: bfb549ff33e8585af3e8144240021f86401c4c26
      https://github.com/llvm/llvm-project/commit/bfb549ff33e8585af3e8144240021f86401c4c26
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/reduce-operands-target-ext-ty.ll
    M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp

  Log Message:
  -----------
  llvm-reduce: Fix operand reduction asserting on target ext types (#132732)

Not all TargetExtTypes support zeroinit, so use poison as a substitute
if unavailable.


  Commit: 37b5f77f8b145714d5931bb46ed090755376e179
      https://github.com/llvm/llvm-project/commit/37b5f77f8b145714d5931bb46ed090755376e179
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/operands-to-args-target-ext-type.ll
    A llvm/test/tools/llvm-reduce/reduce-args-target-ext-ty.ll
    M llvm/tools/llvm-reduce/deltas/Utils.cpp

  Log Message:
  -----------
  llvm-reduce: Fix asserting on TargetExtTypes that do not support zeroinit (#132733)

So far I've been unsuccessful in finding an example where the used constant
value is directly observed in the output. This avoids an assert in an intermediate
step of value replacement.


  Commit: 473b0595051aa3da2990d389eee05a41bc71e602
      https://github.com/llvm/llvm-project/commit/473b0595051aa3da2990d389eee05a41bc71e602
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
    M llvm/unittests/ExecutionEngine/Orc/ExecutorAddressTest.cpp

  Log Message:
  -----------
  [ORC] Add ExecutorAddrRange::fromPtrRange convenience method.

This can be used to construct an ExecutorAddrRange from a pair of pointers, or
a pointer and a size.

This will be used to reduce boilerplate in an upcoming patch.


  Commit: 9ee950be9538f06f673ad134512ea60cc9af49a8
      https://github.com/llvm/llvm-project/commit/9ee950be9538f06f673ad134512ea60cc9af49a8
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp

  Log Message:
  -----------
  MCValue: Simplify code with getSubSym

The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.


  Commit: f6a3cd54bc063efe522cc3df82fcadc86ac5a354
      https://github.com/llvm/llvm-project/commit/f6a3cd54bc063efe522cc3df82fcadc86ac5a354
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [clang] ``noconvergent`` does not affect calls to convergent functions (#132701)

When placed on a function, the ``clang::noconvergent`` attribute ensures
that the function is not assumed to be convergent. But the same
attribute has no effect on function calls. A call is convergent if the
callee is convergent. This is based on the fact that in LLVM, a call
always inherits all the attributes of the callee. Only ``convergent`` is
an attribute in LLVM IR, and there is no equivalent of
``clang::noconvergent``.


  Commit: 26a52f828d1d80b4a505830cd55ab5ac59e1109f
      https://github.com/llvm/llvm-project/commit/26a52f828d1d80b4a505830cd55ab5ac59e1109f
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] RISCVInstrInfoSFB.td shouldn't be included in Vendor extensions section. NFC.

RISCVInstrInfoSFB.td is for Short Forward Branch, not a kind of Vendor extension.


  Commit: cca0f8113e2f9a1bd662c62dd3ff7e1fa197e6b5
      https://github.com/llvm/llvm-project/commit/cca0f8113e2f9a1bd662c62dd3ff7e1fa197e6b5
  Author: Paul Schwabauer <pschwabauer at intevation.de>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    A clang/test/Modules/MixedModulePrecompile.cpp

  Log Message:
  -----------
  [PATCH] [clang][modules] Fix serialization and de-serialization of PCH module file refs  (#105994) (#132802)

The File ID is incorrectly calculated, resulting in an out-of-bounds
access. The test code is more complex because the File fetching only
happens in specific scenarios.

---------

Co-authored-by: ShaderKeeper <no-reply at shaderkeeper.com>
Co-authored-by: Chuanqi Xu <yedeng.yd at linux.alibaba.com>


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

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

  Log Message:
  -----------
  [AMDGPU] Avoid repeated map lookups (NFC) (#132877)


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
    M llvm/lib/Target/Hexagon/BitTracker.cpp
    M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
    M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
    M llvm/lib/Target/Hexagon/HexagonLoadStoreWidening.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp

  Log Message:
  -----------
  [Target] Use *Set::insert_range (NFC) (#132879)

We can use *Set::insert_range to collapse:

  for (auto Elem : Range)
    Set.insert(E);

down to:

  Set.insert_range(Range);

In some cases, we can further fold that into the set declaration.


  Commit: 1e2ad6793ac205607e7c809283cf69e1cc36a69a
      https://github.com/llvm/llvm-project/commit/1e2ad6793ac205607e7c809283cf69e1cc36a69a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

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

  Log Message:
  -----------
  Revert "[clang][bytecode] Implement __builtin_{wcscmp,wcsncmp} (#132723)"

This reverts commit f7aea4d081f77dba48b0fc019f59b678fb679aa8.

This broke the clang-solaris11-sparcv9 builder:
https://lab.llvm.org/buildbot/#/builders/13/builds/6151


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

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

  Log Message:
  -----------
  [clang][bytecode] Support composite arrays in memcpy op (#132775)

See the attached test case.


  Commit: cb4ae35de0b4c19149379f16c7b279d80a669f9d
      https://github.com/llvm/llvm-project/commit/cb4ae35de0b4c19149379f16c7b279d80a669f9d
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/unittests/Support/YAMLIOTest.cpp

  Log Message:
  -----------
  [YAML][NFC] precommit wrong test case (#131782)


  Commit: 9b060d1e6aea15fb486a94798fedd88188269c92
      https://github.com/llvm/llvm-project/commit/9b060d1e6aea15fb486a94798fedd88188269c92
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/floats.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix zero-init of atomic floating point objects (#132782)

We can't pass the AtomicType along to ASTContext::getFloatTypeSemantics.


  Commit: 847e46ca013fa1d296669bd341c4c48b74797cb6
      https://github.com/llvm/llvm-project/commit/847e46ca013fa1d296669bd341c4c48b74797cb6
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    A clang/test/Driver/aarch64-nvidia-olympus.c
    A clang/test/Driver/print-enabled-extensions/aarch64-olympus.c
    M clang/test/Misc/target-invalid-cpu-note/aarch64.c
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/test/CodeGen/AArch64/cpus.ll
    M llvm/unittests/TargetParser/Host.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Add initial support for -mcpu=olympus. (#132368)

This patch adds support for the NVIDIA Olympus core.

This does not add any special tuning decisions, and those may come
later.


  Commit: e696f4e5008c21b8edee089fb80d4e2e0d998e20
      https://github.com/llvm/llvm-project/commit/e696f4e5008c21b8edee089fb80d4e2e0d998e20
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-exegesis/X86/lbr/mov-add.s
    M llvm/test/tools/llvm-exegesis/lit.local.cfg

  Log Message:
  -----------
  [llvm-exegesis] Fix LBR checks/test

This patch fixes the LBR check in the local lit config. The test would
segfault as the loop body would be basically empty, causing a divide by
zero error. More investigation is needed there so we do not actually hit
that assertion and report a cleaner error somewhere. Specifying an
actual opcode to benchmark fixes the problem. The test would also fail
as -mcpu was set to the default x86 CPU rather than the one currently
being run on, so it would always fail to find a perf counter. This patch
fixes that by simply removing the -mcpu flag.

Given these issues, I'm not sure these tests have ever run in the ~5
years they have been in tree. There were some issues reported in
\#132861, so I guess we'll see if there are further issues when the
testing becomes more broad.


  Commit: dd059338a2ebdc68e964bbf4ea62f99f13329e30
      https://github.com/llvm/llvm-project/commit/dd059338a2ebdc68e964bbf4ea62f99f13329e30
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

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

  Log Message:
  -----------
  Revert "[Vectorize] Fix a warning"

This reverts commit 4c68061254c896214b7ad5ab807ac4ba11517812.

Reverting as part of a revert of a preceding commit.


  Commit: b33bec9b2148397818f0634b31fd45e9446faccd
      https://github.com/llvm/llvm-project/commit/b33bec9b2148397818f0634b31fd45e9446faccd
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    R llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll

  Log Message:
  -----------
  Revert "[SLP] Make getSameOpcode support interchangeable instructions. (#127450)"

This reverts commit 71a0cfd93263552ddc0bfd2ea7b0abe9a578f87e.

This commit triggers failed asserts when compiling ffmpeg. The
issue is reproducible with a small standalone reproducer like this:

    void make_filters_from_proto(int *filter[][2], int bands) {
      int c, q, n;
      for (;; q++) {
        n = 0;
        for (; n < 7; n++) {
          int theta = (q * (n - 6) + (n >> 1) - 3) % bands;
          if (theta)
            c = theta;
          filter[q][n][0] = c;
        }
      }
    }

$ clang -target x86_64-linux-gnu -c repro.c -O3
clang: ../lib/Transforms/Vectorize/SLPVectorizer.cpp:989: llvm::SmallVector<llvm
::Value*> {anonymous}::BinOpSameOpcodeHelper::InterchangeableInfo::getOperand(ll
vm::Instruction*) const: Assertion `FromCIValue.isZero() && "Cannot convert the
instruction."' failed.

The same issue also reproduces for a large number of other target
triples, aarch64-linux-gnu and others.


  Commit: 64779455b8f4875c7de690dd4c3e324dbbcb3029
      https://github.com/llvm/llvm-project/commit/64779455b8f4875c7de690dd4c3e324dbbcb3029
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/unittests/Support/YAMLIOTest.cpp

  Log Message:
  -----------
  Revert "[YAML][NFC] precommit wrong test case (#131782)"

This reverts commit cb4ae35de0b4c19149379f16c7b279d80a669f9d.

That commit broke compilation with GCC:

../unittests/Support/YAMLIOTest.cpp:1280:20: error: explicit specialization of
template<class T> struct llvm::yaml::MappingTraits’ outside its namespace must u
se a nested-name-specifier [-fpermissive]
 1280 | template <> struct MappingTraits<V> {
      |                    ^~~~~~~~~~~~~~~~


  Commit: d46a699953210093de55baa8b3be56dae5707082
      https://github.com/llvm/llvm-project/commit/d46a699953210093de55baa8b3be56dae5707082
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    A libclc/clc/include/clc/math/clc_acos.h
    A libclc/clc/include/clc/math/clc_asin.h
    A libclc/clc/include/clc/math/clc_atan.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_acos.cl
    A libclc/clc/lib/generic/math/clc_acos.inc
    A libclc/clc/lib/generic/math/clc_asin.cl
    A libclc/clc/lib/generic/math/clc_asin.inc
    A libclc/clc/lib/generic/math/clc_atan.cl
    A libclc/clc/lib/generic/math/clc_atan.inc
    M libclc/generic/lib/math/acos.cl
    M libclc/generic/lib/math/asin.cl
    M libclc/generic/lib/math/atan.cl

  Log Message:
  -----------
  [libclc] Move asin/acos/atan to the CLC library (#132788)

This commit simultaneously moves these three functions to the CLC
library and optimizing them for vector types by avoiding scalarization.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/pr132844.ll

  Log Message:
  -----------
  [X86] Ensure concat(blendi(),blendi()) -> vselect() uses legal select mask types

For 256-bit selections, we could be using sub-i8/vXi8 selection condition masks - extend these to i8 and then extract the lowest mask subvector

Fixes #132844


  Commit: e6e8252ba0a090d3a43f9df88214b415f9bb4e77
      https://github.com/llvm/llvm-project/commit/e6e8252ba0a090d3a43f9df88214b415f9bb4e77
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M lldb/source/Host/CMakeLists.txt
    M lldb/source/Host/common/Host.cpp

  Log Message:
  -----------
  [lldb][AIX] Minor AIX specific changes (#132718)

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

AIX build specific changes


  Commit: 65ad02b882ba545dafbfc195a78e204c218e93ed
      https://github.com/llvm/llvm-project/commit/65ad02b882ba545dafbfc195a78e204c218e93ed
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
    M lldb/source/Plugins/Process/Utility/ThreadMemory.cpp
    M lldb/source/Plugins/Process/Utility/ThreadMemory.h

  Log Message:
  -----------
  [lldb][NFC] Break ThreadMemory into smaller abstractions (#132905)

ThreadMemory attempts to be a class abstracting the notion of a "fake"
Thread that is backed by a "real" thread. According to its
documentation, it is meant to be a class forwarding most methods to the
backing thread, but it does so only for a handful of methods.

Along the way, it also tries to represent a Thread that may or may not
have a different name, and may or may not have a different queue from
the backing thread. This can be problematic for a couple of reasons:

1. It forces all users into this optional behavior.
2. The forwarding behavior is incomplete: not all methods are currently
being forwarded properly. Some of them involve queues and seem to have
been intentionally left unimplemented.

This commit creates the following separation:

ThreadMemory <- ThreadMemoryProvidingName <-
ThreadMemoryProvidingNameAndQueue

ThreadMemory captures the notion of a backed thread that _really_
forwards all methods to the backing thread. (Missing methods should be
implemented in a later commit, and allowing them to be implemented
without changing behavior of other derived classes is the main purpose
of this refactor).

ThreadMemoryProvidingNameAndQueue is a ThreadMemory that allows users to
override the thread name. If a name is present, it is used; otherwise
the forwarding behavior is used.

ThreadMemoryProvidingNameAndQueue is a ThreadMemoryProvidingName that
allows users to override queue information. If queue information is
present, it is used; otherwise, the forwarding behavior is used.

With this separation, we can more explicitly implement missing methods
of the base class and override them, if needed, in
ThreadMemoryProvidingNameAndQueue. But this commit really is NFC, no new
methods are implemented and no method implementation is changed.


  Commit: 07c82b1622de1c5c4329ffb769bef7fef1b07429
      https://github.com/llvm/llvm-project/commit/07c82b1622de1c5c4329ffb769bef7fef1b07429
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/ThreadMemory.h

  Log Message:
  -----------
  [lldb] Implement missing queue overloads from ThreadMemory (#132906)

This commit makes ThreadMemory a real "forwarder" class by implementing
the missing queue methods: they will just call the corresponding backing
thread method.

To make this patch NFC(*) and not change the behavior of the Python OS
plugin, NamedThreadMemoryWithQueue also overrides these methods to
simply call the `Thread` method, just as it was doing before. This also
makes it obvious that there are missing pieces of this class if it were
to provide full queue support.

(*) This patch is NFC in the sense that all llvm.org plugins will not
have any behavior change, but downstream consumers of ThreadMemory will
benefit from the newly implemented forwarding methods.


  Commit: f8e908a0edce2ed8b835af9aad3993a20bb8f5ce
      https://github.com/llvm/llvm-project/commit/f8e908a0edce2ed8b835af9aad3993a20bb8f5ce
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
    M llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx10.mir
    M llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx11.mir

  Log Message:
  -----------
  [AMDGPU][NPM] Port SIInsertHardClauses to NPM (#130062)


  Commit: d4570ea8138f3cc52030f9c3a5772ba41ebb9ced
      https://github.com/llvm/llvm-project/commit/d4570ea8138f3cc52030f9c3a5772ba41ebb9ced
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
    M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-pipeline.mlir
    M mlir/test/Dialect/Tosa/dynamic_extension.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir

  Log Message:
  -----------
  [mlir][tosa] Disallow invalid datatype combinations in the validation pass (#131595)

This commit checks if the operands/results of an operator can be found
in the profile compliance mapping, if it isn't the operator is
considered invalid. As a result, operator datatype combinations that are
not listed under the "Supported Data Types" of the TOSA specification
are disallowed and the validation pass results in failure.

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


  Commit: 9c7e38896f878daaf5621170dea147fe00fc8625
      https://github.com/llvm/llvm-project/commit/9c7e38896f878daaf5621170dea147fe00fc8625
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [VPlan] Split off reduction printing tests, add find-last-IV test.

Splits off reduction printing tests, to limit growth and add test case
for printing find-last-IV (https://github.com/llvm/llvm-project/pull/132689)


  Commit: 107260cc29368070bba815d94f9d5b7cec1df7d0
      https://github.com/llvm/llvm-project/commit/107260cc29368070bba815d94f9d5b7cec1df7d0
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
    M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
    M llvm/test/CodeGen/AArch64/sme-zt0-state.ll

  Log Message:
  -----------
  [AArch64][SME2] Don't preserve ZT0 around SME ABI routines (#132722)

This caused ZT0 to be preserved around `__arm_tpidr2_save` in functions
with "aarch64_new_zt0". The block in which `__arm_tpidr2_save` is called
is added by the SMEABIPass and may be reachable in cases where ZA has
not been enabled* (so using `str zt0` is invalid).

* (when za_save_buffer is null and num_za_save_slices is zero)


  Commit: e8d882a95bde49f373f9be88b610ba1a8bcc99be
      https://github.com/llvm/llvm-project/commit/e8d882a95bde49f373f9be88b610ba1a8bcc99be
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

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

  Log Message:
  -----------
  [LV] Audit and fix nits in cl::opts (NFC) (#130601)

Non-static cl::opts should be under the llvm namespace.


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

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

  Log Message:
  -----------
  [X86] combineX86ShufflesRecursively - replace Root node argument with opcode/valuetype/ismaskedshuffle data. NFC. (#132437)

Preparatory cleanup up patch to makes it easier for combineX86ShufflesRecursively/combineX86ShuffleChain to handle length changing shuffles up the shuffle chain than what combineX86ShuffleChainWithExtract can manage.

Instead of passing the original Root node, pass the root opcode and the current effective value type (which may have widened as we recurse through EXTRACT_SUBVECTOR/TRUNCATE nodes etc.).


  Commit: d4304d85f26984aa772fcddf1f34604e526a6683
      https://github.com/llvm/llvm-project/commit/d4304d85f26984aa772fcddf1f34604e526a6683
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Interfaces/ViewLikeInterface.h
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
    M mlir/test/Dialect/Linalg/promote.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
    M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/MemRef/subview.mlir
    M mlir/test/Transforms/canonicalize.mlir
    M mlir/test/Transforms/compose-subview.mlir

  Log Message:
  -----------
  [mlir][memref] Verify out-of-bounds access for `memref.subview` (#131876)

* Improve the verifier of `memref.subview` to detect out-of-bounds
extractions.
* Improve the documentation of `memref.subview` to make clear that
out-of-bounds extractions are not allowed. Rewrite examples to use the
new `strided<>` notation instead of `affine_map` layout maps. Also
remove all unrelated operations (`memref.alloc`) from the examples.
* Fix various test cases where `memref.subview` ops ran out-of-bounds.
* Update canonicalizations patterns to ensure that they do not fold IR
if it would generate IR that no longer verifies.

Related discussion on Discourse:
https://discourse.llvm.org/t/out-of-bounds-semantics-of-memref-subview/85293


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

  Changed paths:
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/test/AST/ByteCode/records.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix base cast of nullptr without descriptor (#132909)

The missing descriptor should only happen if the pointer is null
pointer.


  Commit: 36b36060a1214a4e7314d95d8e8c5609f796e509
      https://github.com/llvm/llvm-project/commit/36b36060a1214a4e7314d95d8e8c5609f796e509
  Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.td
    M mlir/lib/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][spirv] Fix cyclical dependency in bazel (#132785)


  Commit: f737df73a3d8549bf52719c8df41aca091bd7efb
      https://github.com/llvm/llvm-project/commit/f737df73a3d8549bf52719c8df41aca091bd7efb
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-itofp.ll

  Log Message:
  -----------
  [AArch64][CostModel] Increase the cost of illegal SVE int-to-fp converts (#130756)

If a scalable vector uitofp or sitofp effectively extends the size of
each element as part of the conversion, the AArch64 backend
may need to plant multiple unpacks before converting. Increase
the cost in those cases to account for this.


  Commit: 2682a9433bb5df0efd9e926947ae289f6e8aecde
      https://github.com/llvm/llvm-project/commit/2682a9433bb5df0efd9e926947ae289f6e8aecde
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/revec-ExtractSubvector.ll
    M llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll

  Log Message:
  -----------
  [SLP][REVEC] Add ExtractSubvector cost for ExternalUses. (#132761)

For llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll,
ScalarCost and ExtraCost is 1, so the original scalar will be kept.


  Commit: 9b022220b7960946b5ab3be1e5ace32079b47c5c
      https://github.com/llvm/llvm-project/commit/9b022220b7960946b5ab3be1e5ace32079b47c5c
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
    A mlir/test/Dialect/Vector/vector-sink-transform.mlir
    M mlir/test/Dialect/Vector/vector-sink.mlir

  Log Message:
  -----------
  [mlir][vector] Propagate `vector.extract` through elementwise ops (#131462)

Propagate `Extract(Elementwise(...))` -> `Elemetwise(Extract...)`.

Currenly limited to the case when extract is the single use of
elementwise to avoid introducing additional elementwise ops.


  Commit: 9910d34d6ca6d61a9933ed4fc870e4324b6260af
      https://github.com/llvm/llvm-project/commit/9910d34d6ca6d61a9933ed4fc870e4324b6260af
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/lib/Target/LLVM/NVVM/Target.cpp

  Log Message:
  -----------
  [MLIR][NVVM] Print ptxas path in debug output for "serialize-to-binary" (#132373)


  Commit: 822aa5ec1afee68fb16457ff06de9111c1b62450
      https://github.com/llvm/llvm-project/commit/822aa5ec1afee68fb16457ff06de9111c1b62450
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] use Field::isUnnamedBitField() directly (#132914)

Instead of going though Decl.


  Commit: 8122bb9dbe39a1dde77eb4aad76bf1c0e70b2d89
      https://github.com/llvm/llvm-project/commit/8122bb9dbe39a1dde77eb4aad76bf1c0e70b2d89
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-instructions-become-schedulable.ll

  Log Message:
  -----------
  [SLP]Fix a check for non-schedulable instructions

Need to fix a check for non-schedulable instructions in
getLastInstructionInBundle function, because this check may not work
correctly during the codegen. Instead, need to check that actually these
instructions were never scheduled, since the scheduling analysis always
performed before the codegen and is stable.

Fixes #132841


  Commit: 6e66cfeeaec6f09a4454400e45d690457ecdd3de
      https://github.com/llvm/llvm-project/commit/6e66cfeeaec6f09a4454400e45d690457ecdd3de
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    A llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll

  Log Message:
  -----------
  [SLP] Make getSameOpcode support interchangeable instructions. (#132887)

We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.

---------

Co-authored-by: Alexey Bataev <a.bataev at gmx.com>


  Commit: 975c208556ef85b321a223fe592fa6d98fadfaa0
      https://github.com/llvm/llvm-project/commit/975c208556ef85b321a223fe592fa6d98fadfaa0
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/test/CodeGen/X86/avx10_2_512bf16-intrinsics.ll
    M llvm/test/CodeGen/X86/avx10_2bf16-intrinsics.ll
    M llvm/test/MC/Disassembler/X86/avx10.2-bf16-32.txt
    M llvm/test/MC/Disassembler/X86/avx10.2-bf16-64.txt
    M llvm/test/MC/Disassembler/X86/avx10.2-com-ef-32.txt
    M llvm/test/MC/Disassembler/X86/avx10.2-com-ef-64.txt
    M llvm/test/MC/X86/avx10.2-bf16-32-att.s
    M llvm/test/MC/X86/avx10.2-bf16-32-intel.s
    M llvm/test/MC/X86/avx10.2-bf16-64-att.s
    M llvm/test/MC/X86/avx10.2-bf16-64-intel.s
    M llvm/test/MC/X86/avx10.2-com-ef-32-att.s
    M llvm/test/MC/X86/avx10.2-com-ef-32-intel.s
    M llvm/test/MC/X86/avx10.2-com-ef-64-att.s
    M llvm/test/MC/X86/avx10.2-com-ef-64-intel.s

  Log Message:
  -----------
  [X86][AVX10.2] Include changes for COMX and VGETEXP from rev. 2 (#132824)

Address missing changes:
- V[,U]COMXSD need to have XD (F3.0F –> F2.0F)
- V[,U]COMXS[S,H] need to have XS (F2.[0F,MAP5] -> F3.[0F,MAP5])
- VGETEXPBF16 needs to have T_MAP6 and NP (66.MAP5 -> NP.MAP6)

 Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965


  Commit: cca9b55f54e908b24d466a59eee4e57c1d8ff1ab
      https://github.com/llvm/llvm-project/commit/cca9b55f54e908b24d466a59eee4e57c1d8ff1ab
  Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

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

  Log Message:
  -----------
  Fix bazel test errors caused by #131462 (#132929)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopLoadElim/versioning-scev-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.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/gather-do-not-vectorize-addressing.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaved-store-of-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-fp-ext-trunc-illegal-type.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.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/streaming-compatible-sve-no-maximize-bandwidth.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
    M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/ARM/prefer-tail-loop-folding.ll
    M llvm/test/Transforms/LoopVectorize/ARM/sphinx.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-loop-hint.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-prefer-flag.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-scalar-epilogue-fallback.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/large-loop-rdx.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/small-loop-rdx.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/vectorize-bswap.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/ordered-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-unroll.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-div.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-iv32.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/WebAssembly/induction-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
    M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-hoist-load-across-store.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-sink-store-across-load.ll
    M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
    M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr56319-vector-exit-cond-optimization-epilogue-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
    M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
    M llvm/test/Transforms/LoopVectorize/create-induction-resume.ll
    M llvm/test/Transforms/LoopVectorize/debugloc.ll
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
    M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
    M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
    M llvm/test/Transforms/LoopVectorize/extract-from-end-vector-constant.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
    M llvm/test/Transforms/LoopVectorize/fpsat.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
    M llvm/test/Transforms/LoopVectorize/if-reduction.ll
    M llvm/test/Transforms/LoopVectorize/induction-step.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/induction_plus.ll
    M llvm/test/Transforms/LoopVectorize/instruction-only-used-outside-of-loop.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
    M llvm/test/Transforms/LoopVectorize/invalidate-scev-at-scope-after-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
    M llvm/test/Transforms/LoopVectorize/load-of-struct-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/loop-form.ll
    M llvm/test/Transforms/LoopVectorize/make-followup-loop-id.ll
    M llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
    M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/optsize.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
    M llvm/test/Transforms/LoopVectorize/pr35773.ll
    M llvm/test/Transforms/LoopVectorize/pr37248.ll
    M llvm/test/Transforms/LoopVectorize/pr39417-optsize-scevchecks.ll
    M llvm/test/Transforms/LoopVectorize/pr50686.ll
    M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/preserve-or-disjoint.ll
    M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
    M llvm/test/Transforms/LoopVectorize/remarks-reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
    M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/select-min-index.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
    M llvm/test/Transforms/LoopVectorize/select-with-fastflags.ll
    M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
    M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
    M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
    M llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
    M llvm/test/Transforms/LoopVectorize/trunc-loads-p16.ll
    M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
    M llvm/test/Transforms/LoopVectorize/uitofp-preserve-nneg.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
    M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_and.ll
    M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
    M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_lshr.ll
    M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
    M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
    M llvm/test/Transforms/LoopVectorize/vect-phiscev-sext-trunc.ll
    M llvm/test/Transforms/LoopVectorize/vector-intrinsic-call-cost.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
    M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll

  Log Message:
  -----------
  [VPlan] Remove no-op SCALAR-STEPS after unrolling. (#123655)

After unrolling, there may be additional simplifications that can be
applied. One example is removing SCALAR-STEPS for the first part where
only the first lane is demanded.

This removes redundant adds of 0 from a large number of tests (~200),
many which I am still working on updating.

In preparation for removing redundant WideIV steps added in
https://github.com/llvm/llvm-project/pull/119284.

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


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

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

  Log Message:
  -----------
  [VPlan] Add instantiation of VPUnrollPartAccessor<2> to fix link errors.

Speculative fix for missing definitions in some configs, including
 https://lab.llvm.org/buildbot/#/builders/159/builds/18760


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

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

  Log Message:
  -----------
  [X86] combineConcatVectorOps - add concatenation handling for X86ISD::VSHLD/VSHRD funnel shift nodes (#132915)

Concat the nodes if we can merge either of the operands for free.


  Commit: 3013458a7901d2ec8c92ec1854c7a9354701f4c7
      https://github.com/llvm/llvm-project/commit/3013458a7901d2ec8c92ec1854c7a9354701f4c7
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    A libclc/clc/include/clc/math/clc_acospi.h
    A libclc/clc/include/clc/math/clc_asinpi.h
    A libclc/clc/include/clc/math/clc_atanpi.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_acospi.cl
    A libclc/clc/lib/generic/math/clc_acospi.inc
    A libclc/clc/lib/generic/math/clc_asinpi.cl
    A libclc/clc/lib/generic/math/clc_asinpi.inc
    A libclc/clc/lib/generic/math/clc_atanpi.cl
    A libclc/clc/lib/generic/math/clc_atanpi.inc
    M libclc/generic/lib/math/acospi.cl
    M libclc/generic/lib/math/asinpi.cl
    M libclc/generic/lib/math/atanpi.cl

  Log Message:
  -----------
  [libclc] Move asinpi/acospi/atanpi to the CLC library (#132918)

Similar to d46a6999, this commit simultaneously moves these three
functions to the CLC library and optimizes them for vector types by
avoiding scalarization.


  Commit: 9768077de65e31daa619eae231f027e052d601c2
      https://github.com/llvm/llvm-project/commit/9768077de65e31daa619eae231f027e052d601c2
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp

  Log Message:
  -----------
  [mlir][vector] Update helpers in `VectorEmulateNarrowType.cpp` (nfc) (#131527)

Refactors the following pairs of helper hooks:
  * `dynamicallyInsertSubVector` + `staticallyInsertSubVector`
  * `dynamicallyExtractSubVector` + `staticallyExtractSubVector`

These hooks are very similar, so I have unified the variable names and
various conditions to make the actual differences clearer.


  Commit: 6785951410c35aa9429152d3e041b44b79db53f2
      https://github.com/llvm/llvm-project/commit/6785951410c35aa9429152d3e041b44b79db53f2
  Author: Jonathan Cohen <joncoh at apple.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineCombinerPattern.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    A llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators-sve.ll
    A llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators.ll
    A llvm/test/CodeGen/AArch64/machine-combiner-reassociate-accumulators.mir

  Log Message:
  -----------
  [Machine-Combiner] Add a pass to reassociate chains of accumulation instructions into a tree (#132728)

This pass is designed to increase ILP by performing accumulation into
multiple registers. It currently supports only the S/UABAL accumulation
instruction, but can be extended to support additional instructions.

Reland of  #126060 which was reverted due to a conflict with #131272.


  Commit: c0a7ccb59acfe90de38c580f52f2691c00f7ea9c
      https://github.com/llvm/llvm-project/commit/c0a7ccb59acfe90de38c580f52f2691c00f7ea9c
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrFP.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td

  Log Message:
  -----------
  [SystemZ] Implement basic `isCopyInstrImpl` (#132903)

As a first step toward implementing SystemZ support for instr-ref-based
debug info tracking, this commit adds a basic implementation for the
previously absent `SystemZInstrInfo::isCopyInstrImpl`.

This is accomplished by adding a new flag called `isMoveReg` on the
relevant instructions and calling upon that bit of information to
implement the function. Which instructions to add the flag to was based
on the implementation of `SystemZInstrInfo::copyPhysReg`. The full list
of instructions is as follows:

#### General-Purpose Registers
- `lr`
- `lgr`
#### Floating Point Registers
- `ler`
- `ldr`
- `lxr`
#### Vector Registers
- `vlr`


  Commit: 2a10e3d4b0cb65557580db2de38846b2fbf2bce4
      https://github.com/llvm/llvm-project/commit/2a10e3d4b0cb65557580db2de38846b2fbf2bce4
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp

  Log Message:
  -----------
  [SystemZ] Add pass initialization for `CopyPhysRegs` pass (#132912)

This commit adds an initialization to `SystemZTargetMachine` for the
`SystemZCopyPhysRegs` pass that was thus far missing. This will enable,
e.g., to run tests for that pass via `llc
--run-pass=systemz-copy-physregs`.


  Commit: f24cf59d7afbfcefe43086c2e0984992deec3678
      https://github.com/llvm/llvm-project/commit/f24cf59d7afbfcefe43086c2e0984992deec3678
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/test/CodeGen/SystemZ/builtin-setjmp-alloca.ll
    M llvm/test/CodeGen/SystemZ/builtin-setjmp-spills.ll
    M llvm/test/CodeGen/SystemZ/builtin-setjmp.ll
    M llvm/test/CodeGen/SystemZ/fmuladd-soft-float.ll
    M llvm/test/CodeGen/SystemZ/foldmemop-imm-02.mir
    M llvm/test/CodeGen/SystemZ/foldmemop-vec-cc.mir
    M llvm/test/CodeGen/SystemZ/foldmemop-vec-cmp.mir
    M llvm/test/CodeGen/SystemZ/foldmemop-vec-unary.mir
    M llvm/test/CodeGen/SystemZ/fp-move-02.ll
    M llvm/test/CodeGen/SystemZ/frame-22.ll
    M llvm/test/CodeGen/SystemZ/int-uadd-03.ll
    M llvm/test/CodeGen/SystemZ/int-usub-03.ll
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
    M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll

  Log Message:
  -----------
  [SystemZ] Add `is(LoadFrom|StoreTo)StackSlotPostFE` to SystemZBackend (#132928)

As part of an effort to enable instr-ref-based debug value tracking,
this PR implements `SystemZInstrInfo::isLoadFromStackSlotPostFE`, as
well as `SystemZInstrInfo::isStoreToStackSlotPostFE`. The implementation
relies upon the presence of MachineMemoryOperands on the relevant
`MachineInstr`s in order to access the `FrameIndex` post frame index
elimination.

Since these new functions are only meant to be called after frame-index
elimination, they assert against the present of a frame index on the
base register operand of the instruction.

Outside of the utility of these functions to enable instr-ref-based
debug value tracking, they also changes the behavior of the AsmPrinter,
since it will now be able to properly detect non-folded spills and
reloads, so this changes a number of tests that were checking
specifically for folded reloads.

Note that there are some tests that still check for `vst` and `vl` as
folded spills/reloads even though they should be straight reloads. This
will be addressed in a future PR.

Co-authored-by: Dominik Steenken <dominik.steenken at gmail.com>


  Commit: ba46c37f9c56cb207c0c7189246456edef563340
      https://github.com/llvm/llvm-project/commit/ba46c37f9c56cb207c0c7189246456edef563340
  Author: Leslie <Wse1714401046 at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M libc/src/time/mktime.cpp
    M libc/src/time/time_utils.cpp
    M libc/src/time/time_utils.h

  Log Message:
  -----------
  [libc] change the return value type of mktime_internal to time_t (#132231)

This pr is to resovle #126948

---------

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


  Commit: db33978c467c6d794fc768e14a18abcc089e6ba5
      https://github.com/llvm/llvm-project/commit/db33978c467c6d794fc768e14a18abcc089e6ba5
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/docs/AMDGPU/AMDGPUAsmGFX11.rst
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_mubuf.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mubuf_err.s
    M llvm/test/MC/AMDGPU/gfx12_unsupported.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_mubuf.txt

  Log Message:
  -----------
  [AMDGPU][GFX11] buffer_load_lds_{size} instructions do not exist (#132916)

According to the shader manual there are not buffer load lds
instructions of gfx11.

The tests for the regular `buffer_load ... lds` instructions for gfx11
are already present in AMDGPU/gfx11_asm_mubuf.s, where the compiler
fails to encode the instructions for this target.


  Commit: 5105ecc413757999ea0aec238ed54ae39dbf005d
      https://github.com/llvm/llvm-project/commit/5105ecc413757999ea0aec238ed54ae39dbf005d
  Author: offsetof <offsetof at mailo.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/CXX/dcl.decl/dcl.init/dcl.init.general/p16-cxx20.cpp

  Log Message:
  -----------
  [clang] Refine handling of C++20 aggregate initialization (#131320)

* Move parts of `InitializationSequence::InitializeFrom` corresponding
to C++ [dcl.init.general] p16.6.1 and p16.6.2 into a separate
function,`TryConstructorOrParenListInitialization`
* Use it in `TryListInitialization` to implement [dcl.init.list] p3.2
* Fix parenthesized aggregate initialization being attempted in
copy-initialization contexts or when the constructor call is ambiguous

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


  Commit: a6de034f853797161f8cb2f074ecc48edec43f40
      https://github.com/llvm/llvm-project/commit/a6de034f853797161f8cb2f074ecc48edec43f40
  Author: Tsukasa OI <research_trasio at irq.a4lg.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll

  Log Message:
  -----------
  [RISCV] Combine 3 bit-manip extensions into `B` (#132858)

Like cryptography extensions like `Zk`, `B` (a combination of `Zba`,
`Zbb` and `Zbs` extensions) can be useful if we handle this extension as
a combination.
If all `Zba`, `Zbb` and `Zbs` extensions are enabled, it also enables
the `B` extension.


  Commit: 6aed161cb986234fbe2378d4c3c79d4120eef6b9
      https://github.com/llvm/llvm-project/commit/6aed161cb986234fbe2378d4c3c79d4120eef6b9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M libc/test/src/__support/CMakeLists.txt

  Log Message:
  -----------
  [libc][NFC] Remove incorrect file level dependency in CMake (#132937)

Summary:
CMake doesn't support this type of dependency so it keeps emitting a
warning. Just remove it, because it's not doing anything currently
anyway. If we really wanted this to work you'd need to add a custom
target that has a dependency on the output of a custom command, but that
would only be worhwhile if we ever expected this file to change.


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

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp

  Log Message:
  -----------
  [mlir] Fix warnings

This patch fixes:

  mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp:331:8:
  error: unused variable 'srcVecTy' [-Werror,-Wunused-variable]

  mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp:332:8:
  error: unused variable 'destVecTy' [-Werror,-Wunused-variable]


  Commit: 73340248599db068b7dfb0f316911ebe8b7bb365
      https://github.com/llvm/llvm-project/commit/73340248599db068b7dfb0f316911ebe8b7bb365
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M libcxx/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Always build the dylib with hidden visibility (#131313)

The comment seems to be wrong by now. The only difference this makes for
GCC is that there are fewer private symbols exported from the dylib,
which can't ever be accessed by user code anyways.


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

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

  Log Message:
  -----------
  [X86] combineConcatVectorOps - fold(undef,zero) -> zero

Concat any mixture of zero/undefs to zero (we've already handled all undefs at this point).


  Commit: 1617f90a6154dfd59e58da8b9513d903d899169a
      https://github.com/llvm/llvm-project/commit/1617f90a6154dfd59e58da8b9513d903d899169a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Analysis/CGSCCPassManager.cpp
    M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/MemorySSAUpdater.cpp
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/Analysis/StackSafetyAnalysis.cpp
    M llvm/lib/Analysis/SyntheticCountsUtils.cpp

  Log Message:
  -----------
  [Analysis] Use *Set::insert_range (NFC) (#132878)

We can use *Set::insert_range to collapse:

  for (auto Elem : Range)
    Set.insert(E);

down to:

  Set.insert_range(Range);

In some cases, we can further fold that into the set declaration.


  Commit: f6823a0ae1b7c70f47a3bc82fa49bfce41ea7c03
      https://github.com/llvm/llvm-project/commit/f6823a0ae1b7c70f47a3bc82fa49bfce41ea7c03
  Author: Karlo Basioli <k.basioli at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Interfaces/ViewLikeInterface.h
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
    M mlir/test/Dialect/Linalg/promote.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
    M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/MemRef/subview.mlir
    M mlir/test/Transforms/canonicalize.mlir
    M mlir/test/Transforms/compose-subview.mlir

  Log Message:
  -----------
  Revert "[mlir][memref] Verify out-of-bounds access for `memref.subview`" (#132940)

Reverts llvm/llvm-project#131876

GPU integration tests get broken by this PR. 
E.x.
`mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir`


  Commit: a8e168e0c18bb7ac57361500cd98601160a107cc
      https://github.com/llvm/llvm-project/commit/a8e168e0c18bb7ac57361500cd98601160a107cc
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M libcxx/include/__flat_map/flat_map.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/include/__vector/container_traits.h
    M libcxx/include/deque

  Log Message:
  -----------
  [libc++][NFC] Replace structs with variable templates in <__memory/allocator_traits.h> (#129237)

Variable templates are a bit easier on the compiler and improve the
readability of the code.


  Commit: 629ff2d7ba382cc9a584658d94a81818a06c34f2
      https://github.com/llvm/llvm-project/commit/629ff2d7ba382cc9a584658d94a81818a06c34f2
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/imm.ll
    A llvm/test/MC/RISCV/xqcili-li.s

  Log Message:
  -----------
  [RISCV][Xqcili] Implement Load Immediate Support (#132496)

This is required to support `li`, but the code is also shared with
CodeGen so the compiler will now emit instructions from Xqcili when that
extension is enabled during compilation.

Also implemented some missed verifiers in
`RISCVInstrInfo::verifyInstruction`, some of which are required for this
change.


  Commit: 2497945a95bd6e66120476892816c90e42a592fc
      https://github.com/llvm/llvm-project/commit/2497945a95bd6e66120476892816c90e42a592fc
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Correctly annotate requires clause in `&& requires(` (#132882)

Fix #132334


  Commit: 4fe2ad498efad016a16b960d6bc7c32882847879
      https://github.com/llvm/llvm-project/commit/4fe2ad498efad016a16b960d6bc7c32882847879
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td

  Log Message:
  -----------
  [mlir][tosa] Align dialect summary and description sections to the TOSA v1.0 spec (#132835)

Align dialect summary and description sections to the TOSA v1.0 spec

* Updated the summary and description sections in the dialect to better
align with the TOSA v1.0 specification.
* Fixed the output variable names LogicalAndOp, LogicalRightShiftOp,
LogicalXorOp
* Removed some redundant comments

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 5159911a7c1476ff182363068d2a1169286bfb06
      https://github.com/llvm/llvm-project/commit/5159911a7c1476ff182363068d2a1169286bfb06
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Update C++ DR status page


  Commit: 60eb89f9fa0fd990c5cf2cc64d4202e3485d256e
      https://github.com/llvm/llvm-project/commit/60eb89f9fa0fd990c5cf2cc64d4202e3485d256e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M flang-rt/cmake/modules/AddFlangRT.cmake

  Log Message:
  -----------
  [flang-rt] Fix typo using `static` instead of `shared`

Summary:
I copied this from the static usage, replaced the shared on the
dependency but not on the target.


  Commit: f3a14217a995e5b086dea3677edb43e48e6b1af2
      https://github.com/llvm/llvm-project/commit/f3a14217a995e5b086dea3677edb43e48e6b1af2
  Author: Karlo Basioli <k.basioli at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp

  Log Message:
  -----------
  Fix maybe unused errors caused by #131527 (#132944)


  Commit: feecb201ab041dbcf8266960aba4b252a789bcd4
      https://github.com/llvm/llvm-project/commit/feecb201ab041dbcf8266960aba4b252a789bcd4
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/unittests/Support/YAMLIOTest.cpp

  Log Message:
  -----------
  Reapply "[YAML][NFC] precommit wrong test case (#131782)" (#132936)

This reverts commit 64779455b8f4875c7de690dd4c3e324dbbcb3029.


  Commit: 8f863fcd77e15caf3b7fde089adc223b0c4fb103
      https://github.com/llvm/llvm-project/commit/8f863fcd77e15caf3b7fde089adc223b0c4fb103
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M .ci/monolithic-linux.sh

  Log Message:
  -----------
  [clang][CI] Reuse build dir between C++26 and modules build of runtimes (#132480)

Between C++26 and Clang modules build of runtimes, which are used as an
additional testing for Clang, the only difference are
`LIBCXX_TEST_PARAMS` and `LIBCXXABI_TEST_PARAMS`. Both of them are
transformed into actual lit configuration lines, and put into
`SERIALIZED_LIT_PARAMS`, which end up in `libcxx/test/cmake-bridge.cfg`
via `configure_file` command. Notably, it seems that they are not used
in any other way.

I checked that if those variables are changed, subsequent runs of CMake
configuration step regenerate `cmake-bridge.cfg` with the new values.
Which means that we don't need to do clean builds for every runtimes
configuration we want to test.

I hope that together with #131913, this will be enough to alleviate
Linux CI pains we're having, and we wouldn't have to make a tough choice
between C++26 and Clang modules builds for pre-merge CI.


  Commit: 23bf98e4b5b763534ec568c792989e83de580b04
      https://github.com/llvm/llvm-project/commit/23bf98e4b5b763534ec568c792989e83de580b04
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Core/Mangled.h
    M lldb/include/lldb/Core/Module.h
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/include/lldb/Symbol/SymbolFile.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/ValueObject/ValueObjectVariable.h
    M lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.cpp
    M lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.h

  Log Message:
  -----------
  [lldb][docs][NFC] Fix some doxygen comments (#132910)

These weren't rendering properly (mostly mis-use the syntax for
commenting member variables).


  Commit: 70aeb89094e8109cd072b7cbfbf05060c05e139a
      https://github.com/llvm/llvm-project/commit/70aeb89094e8109cd072b7cbfbf05060c05e139a
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/AMDGPU/vector_range_metadata.ll

  Log Message:
  -----------
  Calculate KnownBits from Metadata correctly for vector loads (#128908)

Calculate KnownBits correctly from metadata for vector loads.

---------

Signed-off-by: John Lu <John.Lu at amd.com>


  Commit: 1bb755fdcd61695c748d925ee756fc3cba4f15ae
      https://github.com/llvm/llvm-project/commit/1bb755fdcd61695c748d925ee756fc3cba4f15ae
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.cpp

  Log Message:
  -----------
  [lldb][Instrumentation] GetPreferredAsanModule should be no-op on non-Darwin platforms (#132911)

The regex we use to find the compiler-rt library is already
Darwin-specific, so no need to run this on non-Darwin platforms.


  Commit: 9fb792496687df1136d78e828cffe4f7f04a7043
      https://github.com/llvm/llvm-project/commit/9fb792496687df1136d78e828cffe4f7f04a7043
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M libc/src/time/time_utils.cpp

  Log Message:
  -----------
  [libc][time] Fix -Wshorten-64-to-32 warning (#132947)

This breaks builds of libc with top of tree clang under -Werror.


  Commit: cc08826b537c2e73013554cdaaf8ab06f2c0eb5e
      https://github.com/llvm/llvm-project/commit/cc08826b537c2e73013554cdaaf8ab06f2c0eb5e
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx11_asm_mubuf.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mubuf_err.s

  Log Message:
  -----------
  [NFC][AMDGPU] Move buffer_load lds test from gfx11_asm_mubuf.s to gfx11_asm_mubuf_err.s (#132938)

The test checked that the lds flag for buffer_load instructions was not
supported. These should be moved to the _err counterpart of the tests.


  Commit: 214fb43cb671d89d0e2da6dde348c6ffc360d7f0
      https://github.com/llvm/llvm-project/commit/214fb43cb671d89d0e2da6dde348c6ffc360d7f0
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/MC/MCExpr.cpp

  Log Message:
  -----------
  MCExpr: simplify evaluateAsRelocatableImpl after https://reviews.llvm.org/D156505


  Commit: f4bb9b53ad09739ae120df66a317c9b89ddcaff0
      https://github.com/llvm/llvm-project/commit/f4bb9b53ad09739ae120df66a317c9b89ddcaff0
  Author: Julien Villette <julien.villette at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-mca.rst
    M llvm/include/llvm/MC/MCSchedule.h
    M llvm/lib/MC/MCSchedule.cpp
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
    A llvm/test/tools/llvm-mca/RISCV/SiFive7/instruction-tables-tests.s
    M llvm/tools/llvm-mca/Views/InstructionInfoView.cpp
    M llvm/tools/llvm-mca/Views/InstructionInfoView.h
    M llvm/tools/llvm-mca/llvm-mca.cpp

  Log Message:
  -----------
  [MCA] Extend -instruction-tables option with verbosity levels (#130574)

Option becomes: -instruction-tables=`<level>`
 
The choice of `<level>` controls number of printed information.
`<level>` may be `none` (default), `normal`, `full`.
Note: If the option is used without `<label>`, default is `normal`
(legacy).

When `<level>` is `full`, additional information are:
- `<Bypass Latency>`: Latency when a bypass is implemented between
operands
  in pipelines (see SchedReadAdvance).
  - `<LLVM Opcode Name>`: mnemonic plus operands identifier.
  - `<Resources units>`: Used resources associated with LLVM Opcode.
- `<instruction comment>`: reports comment if any from source assembly.

Level `full` can be used to better check scheduling info when TableGen
is modified.
LLVM Opcode name help to find right instruction regexp to fix TableGen
Scheduling Info.

-instruction-tables=full option is validated on
AArch64/Neoverse/V1-sve-instructions.s

Follow up of MR #126703

---------

Co-authored-by: Julien Villette <julien.villette at sipearl.com>


  Commit: bed4c581c2a73a437f13e278c0d654c01efb58a1
      https://github.com/llvm/llvm-project/commit/bed4c581c2a73a437f13e278c0d654c01efb58a1
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/fp-contract.ll

  Log Message:
  -----------
  [NVPTX] Check 'contract' fast-math flag in addition to global options (#131372)


  Commit: 5f58f3dda8b17f664a85d4e5e3c808edde41ff46
      https://github.com/llvm/llvm-project/commit/5f58f3dda8b17f664a85d4e5e3c808edde41ff46
  Author: Ian Tayler Lessa <ian.taylerlessa at arm.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir

  Log Message:
  -----------
  [mlir][tosa] Avoid overflow in reduction folders (#132786)

Avoid operations that can overflow in constant folders for
`tosa.reduce_max` and `tosa.reduce_min`

Includes tests to avoid regressions

Signed-off-by: Ian Tayler Lessa <ian.taylerlessa at arm.com>


  Commit: 8fb802e995868f19f40ff7a14df6f38b248af3ce
      https://github.com/llvm/llvm-project/commit/8fb802e995868f19f40ff7a14df6f38b248af3ce
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

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

  Log Message:
  -----------
  [LV] Improve code in collectInstsToScalarize (NFC) (#130643)


  Commit: 0919ab3cb64668d771540c83fe439da8796b9ada
      https://github.com/llvm/llvm-project/commit/0919ab3cb64668d771540c83fe439da8796b9ada
  Author: Pranav Kant <prka at google.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
    M llvm/test/CodeGen/AArch64/arm64-convert-v4f64.ll
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/complex-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
    M llvm/test/CodeGen/AArch64/fprcvt-cvtf.ll
    M llvm/test/CodeGen/AArch64/itofp-bf16.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/vector-fcvt.ll

  Log Message:
  -----------
  [AArch64] Don't try to vectorize fixed point to fp narrowing conversion (#130665)

GCC, correctly, doesn't vectorize in this case. Absence of direct
instructions to convert larger fixed point to lower floating point
precision inadvertently causes rounding leading to subtle differences
across ISAs.

https://godbolt.org/z/ssEchMWrE

Co-authored by: @echristo


  Commit: 870463519bab45acf8590d41d9f2a161c37f26d5
      https://github.com/llvm/llvm-project/commit/870463519bab45acf8590d41d9f2a161c37f26d5
  Author: jimingham <jingham at apple.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    A lldb/test/API/functionalities/breakpoint/nested_breakpoint_commands/Makefile
    A lldb/test/API/functionalities/breakpoint/nested_breakpoint_commands/TestNestedBreakpointCommands.py
    A lldb/test/API/functionalities/breakpoint/nested_breakpoint_commands/main.c
    A lldb/test/API/functionalities/breakpoint/nested_breakpoint_commands/make_bkpt_cmds.py

  Log Message:
  -----------
  Fix the managing of the session dictionary when you have nested wrappers (#132846)

Since the inner wrapper call might have removed one of the entries from
the global dict that the outer wrapper ALSO was going to delete, make
sure that we check that the key is still in the global dict before
trying to act on it.


  Commit: 7b3885d47b294940c34f01e82b084fe104e93dba
      https://github.com/llvm/llvm-project/commit/7b3885d47b294940c34f01e82b084fe104e93dba
  Author: Igor Wodiany <igor.wodiany at imgtec.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
    M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
    M mlir/test/Target/SPIRV/gl-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add definition for GL Fract (#132921)


  Commit: 92e0560347196c5341ed0292878e2b4f8dba414f
      https://github.com/llvm/llvm-project/commit/92e0560347196c5341ed0292878e2b4f8dba414f
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M flang-rt/lib/runtime/exceptions.cpp
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    M flang/include/flang/Runtime/exceptions.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/target.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
    M flang/test/Lower/Intrinsics/ieee_compare.f90
    M flang/test/Lower/Intrinsics/ieee_flag.f90
    M flang/test/Lower/Intrinsics/ieee_logb.f90
    M flang/test/Lower/Intrinsics/ieee_max_min.f90
    M flang/test/Lower/Intrinsics/ieee_next.f90
    M flang/test/Lower/Intrinsics/ieee_real.f90
    M flang/test/Lower/Intrinsics/ieee_rem.f90
    M flang/test/Lower/Intrinsics/ieee_rint_int.f90
    M flang/test/Lower/Intrinsics/nearest.f90

  Log Message:
  -----------
  [flang] ieee_denorm (#132307)

Add support for the nonstandard ieee_denorm exception for real kinds 3,
4, 8 on x86 processors.


  Commit: 6ddc07163d6c781622384eb83c7220d3051243a6
      https://github.com/llvm/llvm-project/commit/6ddc07163d6c781622384eb83c7220d3051243a6
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel

  Log Message:
  -----------
  Disable some tests on bazel (#132951)

These tests failed at Google after #130757. Disable them in bazel for the time being.


  Commit: 2c8e26081fc5a023471622ddc98638431c66ac6f
      https://github.com/llvm/llvm-project/commit/2c8e26081fc5a023471622ddc98638431c66ac6f
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M flang-rt/lib/runtime/command.cpp
    M flang/docs/Intrinsics.md
    M flang/include/flang/Common/windows-include.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Command.h
    M flang/include/flang/Runtime/command.h
    M flang/include/flang/Runtime/extensions.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Command.cpp
    A flang/test/Lower/Intrinsics/hostnm-func.f90
    A flang/test/Lower/Intrinsics/hostnm-sub.f90
    A flang/test/Semantics/hostnm.f90

  Log Message:
  -----------
  [flang] Add HOSTNM runtime and lowering intrinsics implementation (#131910)

Implement GNU extension intrinsic HOSTNM, both function and subroutine
forms. Add HOSTNM documentation to `flang/docs/Intrinsics.md`. Add
lowering and semantic unit tests.

(This change is modeled after GETCWD implementation.)


  Commit: 25938389c023e7122a03cd4d3536187542046c65
      https://github.com/llvm/llvm-project/commit/25938389c023e7122a03cd4d3536187542046c65
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/agpr-csr.ll

  Log Message:
  -----------
  [AMDGPU] Autogen checks for agpr-csr.ll (#132959)

Needed for a RegisterCoalescer patch


  Commit: 357306572d4734a75e649284b4808299d0aba9c8
      https://github.com/llvm/llvm-project/commit/357306572d4734a75e649284b4808299d0aba9c8
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/utility
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    A libcxx/test/std/utilities/utility/utility.monostate.relpos/relops.pass.cpp
    A libcxx/test/std/utilities/utility/utility.monostate/monostate.pass.cpp

  Log Message:
  -----------
  [libcxx] Put `std::monostate` in `<utility>` (#128373)

Fixes: #127874


  Commit: 74c2c049d12cf9c2aa1ce8bcf16048f4a084dd90
      https://github.com/llvm/llvm-project/commit/74c2c049d12cf9c2aa1ce8bcf16048f4a084dd90
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/alias.mlir
    M mlir/test/Target/LLVMIR/Import/alias.ll

  Log Message:
  -----------
  [MLIR][LLVM] Add weak_odr to allowed linkage for alias (#132840)

I missed this when originally introduced the feature (note the verifier
message already contains it), this fixes a small bug.


  Commit: 53fa28940e0a3ef183e04dd8bc8566d64bbfd101
      https://github.com/llvm/llvm-project/commit/53fa28940e0a3ef183e04dd8bc8566d64bbfd101
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/include/clang/Lex/ModuleMap.h
    M clang/lib/Lex/ModuleMap.cpp

  Log Message:
  -----------
  [clang] Remove unused member variable from ModuleMap

This became unused when module map parsing moved to ModuleMapFile.cpp.


  Commit: 2f8d6998451dd8c4095fb60f087eca36974f5d74
      https://github.com/llvm/llvm-project/commit/2f8d6998451dd8c4095fb60f087eca36974f5d74
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.append.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.consume.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.init.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.ll

  Log Message:
  -----------
  [AMDGPU][SelectionDAG] Use COPY instead of S_MOV_B32 to assign values to M0 (#132957)

This is consistent with what's done on GISel. This allows the register
coalescer to remove the redundant intermediate `s_mov_b32` instructions
by using `m0` directly as the result register.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTContext.cpp
    M clang/test/SemaCXX/sugar-common-types.cpp

  Log Message:
  -----------
  [clang] ASTContex: fix getCommonSugaredType for array types (#132559)

This corrects the behaviour for getCommonSugaredType with regards to
array top level qualifiers: remove differing top level qualifiers, as
they must be redundant with element qualifiers.

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


  Commit: 51dad714e82e3e15c339aade8be605ed09bbabab
      https://github.com/llvm/llvm-project/commit/51dad714e82e3e15c339aade8be605ed09bbabab
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-gep-constexpr.ll
    M llvm/test/Transforms/GlobalOpt/dead-store-status.ll
    M llvm/test/Transforms/GlobalOpt/pr54572.ll

  Log Message:
  -----------
  [GlobalOpt] Handle operators separately when removing GV users (#84694)

Refactor globalopt by eliminating redundant code. Fix
https://github.com/llvm/llvm-project/issues/64680.


  Commit: e16e93a4c7d9a0154d9e136f164a88eaa9e3768b
      https://github.com/llvm/llvm-project/commit/e16e93a4c7d9a0154d9e136f164a88eaa9e3768b
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-gep-constexpr.ll
    M llvm/test/Transforms/GlobalOpt/dead-store-status.ll
    M llvm/test/Transforms/GlobalOpt/pr54572.ll

  Log Message:
  -----------
  Revert "[GlobalOpt] Handle operators separately when removing GV users" (#132971)

Reverts llvm/llvm-project#84694 .  Review was incomplete.


  Commit: fc5b4d4a9d807bce07f5ce719e877707381f52c4
      https://github.com/llvm/llvm-project/commit/fc5b4d4a9d807bce07f5ce719e877707381f52c4
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M libcxx/include/__vector/vector.h

  Log Message:
  -----------
  [libc++] Rename __construct_one_at_end to __emplace_back_assume_capacity (#132276)

This makes it clear that the end of the vector is updated when calling
the function.


  Commit: 9243f99d17c0165800fd1f2f92c5c975cf702414
      https://github.com/llvm/llvm-project/commit/9243f99d17c0165800fd1f2f92c5c975cf702414
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M libc/src/__support/CPP/atomic.h
    M libc/test/src/__support/CPP/atomic_test.cpp

  Log Message:
  -----------
  [libc] Add support for C++20 'atomic_ref' type (#132302)

Summary:
C++20 introduced an atomic reference type, which more easily wraps
around the standard way of dealing with atomics. Instead of a dedicated
type, it allows you to treat an existing allocation as atomic.

This has no users yet, but I'm hoping to use it when I start finalizing
my GPU allocation interface, as it will need to handle atomic values
in-place that can't be done with placement new. Hopefully this is small
enough that we can just keep it in-tree until it's needed, but I'll
accept holding it here until it has a user.

I added one extension to allow implicit conversion and CTAD.


  Commit: b0668d859b237f6991f416b688cedb7389354fd8
      https://github.com/llvm/llvm-project/commit/b0668d859b237f6991f416b688cedb7389354fd8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/include/__type_traits/desugars_to.h
    A libcxx/test/libcxx/type_traits/desugars_to.compile.pass.cpp
    A libcxx/test/libcxx/utilities/function.objects/refwrap/desugars_to.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Make sure that __desugars_to isn't tripped up by reference_wrapper, const and ref qualifiers (#132092)

Previously, const and ref qualification on an operation would cause
__desugars_to to report false, which would lead to unnecessary
pessimizations. The same holds for reference_wrapper.

In practice, const and ref qualifications on the operation itself are
not relevant to determining whether an operation desugars to something
else or not, so can be ignored.

We are not stripping volatile qualifiers from operations in this patch
because we feel that this requires additional discussion.

Fixes #129312


  Commit: 3bcbb472586fddf66c58011e57e08550d59ea8e5
      https://github.com/llvm/llvm-project/commit/3bcbb472586fddf66c58011e57e08550d59ea8e5
  Author: Alex Hoppen <ahoppen at apple.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/refactor/Rename.h
    M clang-tools-extra/clangd/unittests/RenameTests.cpp

  Log Message:
  -----------
  [clangd] Use `SymbolName` to represent Objective-C selectors (#82061)

This is a cleaner design than using identifier and an optional `Selector`. It also allows rename of Objective-C method names if no declaration is at hand and thus no `Selector` instance can be formed. For example, when finding the ranges to rename based on an index that’s not clangd’s built-in index.


  Commit: f7f5aa217a81f2ec036fee765124bd2057531d86
      https://github.com/llvm/llvm-project/commit/f7f5aa217a81f2ec036fee765124bd2057531d86
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

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

  Log Message:
  -----------
  [Clang][AMDGPU] Use size_t to compare with npos (#132868)

Fix error

llvm\clang\tools\amdgpu-arch\AMDGPUArchByHIP.cpp(102,29): error: result
of comparison of constant 18446744073709551615 with expression of type
'unsigned int' is always false
[-Werror,-Wtautological-constant-out-of-range-compare]
102 | StringRef VerStr = (Pos == StringRef::npos) ? S : S.substr(Pos +
1);


  Commit: b6b40e9ac980518d7270b4ac880496b91efc8ca5
      https://github.com/llvm/llvm-project/commit/b6b40e9ac980518d7270b4ac880496b91efc8ca5
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/PAuthGadgetScanner.h
    M bolt/lib/Passes/PAuthGadgetScanner.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
    M bolt/test/binary-analysis/AArch64/gs-pacret-multi-bb.s
    M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s

  Log Message:
  -----------
  [BOLT] Gadget scanner: reformulate the state for data-flow analysis (#131898)

In preparation for implementing support for detection of non-protected
call instructions, refine the definition of state which is computed for
each register by data-flow analysis.

Explicitly marking the registers which are known to be trusted at
function entry is crucial for finding non-protected calls. In addition,
it fixes less-common false negatives for pac-ret, such as `ret x1` in
`f_nonx30_ret_non_auted` test case.


  Commit: 011a95c5367e55820e134d99446a176d21e32dc8
      https://github.com/llvm/llvm-project/commit/011a95c5367e55820e134d99446a176d21e32dc8
  Author: Julien Villette <julien.villette at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/instruction-tables-tests.s

  Log Message:
  -----------
  [MCA] Update of RISCV/SiFive7/instruction-tables-tests.s (#132972)

Fixing MR #130574 after merge in main branch.
Throughput has been updated in between.

Co-authored-by: Julien Villette <julien.villette at sipearl.com>


  Commit: 613a077b05b8352a48695be295037306f5fca151
      https://github.com/llvm/llvm-project/commit/613a077b05b8352a48695be295037306f5fca151
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M flang-rt/CMakeLists.txt
    R flang-rt/cmake/clang_gcc_root.cpp
    M flang-rt/cmake/quadmath_wrapper.h.in
    M flang-rt/lib/quadmath/CMakeLists.txt
    M flang/cmake/modules/FlangCommon.cmake
    A flang/cmake/quadmath_wrapper.h.in
    M flang/lib/Evaluate/CMakeLists.txt
    M flang/lib/Evaluate/host.h
    M flang/lib/Evaluate/intrinsics-library.cpp

  Log Message:
  -----------
  [flang] Generate quadmath_wrapper.h for Flang Evaluate. (#132817)

When building Flang with Clang, we need to do the same quadmath.h
wrapping as we do for flang-rt. I extracted the CMake code
into FlangCommon.cmake, and cleaned up the arguments passing
to execute_process (note that `-###` was treated as `-` in the original
code, because `#` starts a comment). I believe the Clang command
does not require the input source file, so I removed it as well.


  Commit: 7a370748c0928b9ccfe26127e54eb3c1a1827d75
      https://github.com/llvm/llvm-project/commit/7a370748c0928b9ccfe26127e54eb3c1a1827d75
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/unittests/StdLibTests.cpp
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang-tools-extra/modularize/ModularizeUtilities.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/unittests/Analysis/MacroExpansionContextTest.cpp
    M clang/unittests/Basic/SourceManagerTest.cpp
    M clang/unittests/Lex/HeaderSearchTest.cpp
    M clang/unittests/Lex/LexerTest.cpp
    M clang/unittests/Lex/ModuleDeclStateTest.cpp
    M clang/unittests/Lex/PPCallbacksTest.cpp
    M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
    M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
    M clang/unittests/Lex/PPMemoryAllocationsTest.cpp

  Log Message:
  -----------
  [clang][lex] Store non-owning options ref in `HeaderSearch` (#132780)

This makes it so that `CompilerInvocation` can be the only entity that
manages ownership of `HeaderSearchOptions`, making it possible to
implement copy-on-write semantics.


  Commit: bdbad3e4320509f632ae8b511d563136343d87d7
      https://github.com/llvm/llvm-project/commit/bdbad3e4320509f632ae8b511d563136343d87d7
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h

  Log Message:
  -----------
  [lldb] Fix build after #132780


  Commit: 57f2e76e3010e7b089ebc5dd96aef5966f13b6c5
      https://github.com/llvm/llvm-project/commit/57f2e76e3010e7b089ebc5dd96aef5966f13b6c5
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang-tools-extra/modularize/ModuleAssistant.cpp
    M clang/include/clang/Lex/ModuleMap.h
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/ModuleMap.cpp

  Log Message:
  -----------
  [clang] Consistently use "load" to refer to populating clang::ModuleMap (#132970)

Now that we have ModuleMapFile.cpp which parses module maps, it's
confusing what ModuleMap::parseModuleMapFile actually does. HeaderSearch
already called this loading a module map, so consistently use that term
in ModuleMap too.

An upcoming patch will allow just parsing a module map without loading
the modules from it.


  Commit: 4067581aea299692d37866183b0a535f561892ad
      https://github.com/llvm/llvm-project/commit/4067581aea299692d37866183b0a535f561892ad
  Author: marius doerner <marius.doerner1 at icloud.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp

  Log Message:
  -----------
  [clang] Placement new error when modifying consts (#132460)

Raise an error when placement new is used to modify a const-qualified
variable in a constexpr function.

Fixes #131432


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

  Changed paths:
    M clang-tools-extra/modularize/ModularizeUtilities.cpp

  Log Message:
  -----------
  [modularize] Fix the build

This patch fixes:

  clang-tools-extra/modularize/ModularizeUtilities.cpp:293:15: error:
  no member named 'parseModuleMapFile' in 'clang::ModuleMap'; did you
  mean 'loadModuleMapFile'?


  Commit: 535b28444f8e1284583c3771eaf64e1e27bbcb28
      https://github.com/llvm/llvm-project/commit/535b28444f8e1284583c3771eaf64e1e27bbcb28
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
    M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
    A llvm/test/tools/llvm-symbolizer/use-debug-info-line-info.s

  Log Message:
  -----------
  [Symbolize] Always use filename:line from debug info when debug info for the given address is available. (#128619)

To reland https://github.com/llvm/llvm-project/pull/124846, we need to
make symbolizer consistent with the case when line number is 0. Always
using filename and line from debug info even if the line number is 0
sounds like the reasonable path to go.


  Commit: 9aecbdf8ed787a8edd1b7f97a1c7fbf6e9d12515
      https://github.com/llvm/llvm-project/commit/9aecbdf8ed787a8edd1b7f97a1c7fbf6e9d12515
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp

  Log Message:
  -----------
  [clang][DepScan] Allow ModuleDep to be const (#132968)

This type can be exposed from C APIs, where instantiations of this type
are not expected to mutate after creation. To support this, mark the
lazy computation of build arguments mutable, as that is not intended to
otherwise mutate the state of these objects.


This was reviewed separately by @jansvoboda11


  Commit: e7e242e7ad6901e5f4c85d6e5ee4455d6be29b50
      https://github.com/llvm/llvm-project/commit/e7e242e7ad6901e5f4c85d6e5ee4455d6be29b50
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/Import/exception.ll

  Log Message:
  -----------
  [MLIR][LLVM] Fix debug value/declare import in face of landing pads (#132871)

Debug value/declare operations imported before landing pad operations at
the bb start break invoke op verification:

```
error: first operation in unwind destination should be a llvm.landingpad operation
```

This this issue by making the placement slightly more smart.


  Commit: fd3a6b6005aa591a53fc01e4ed130af369e0c366
      https://github.com/llvm/llvm-project/commit/fd3a6b6005aa591a53fc01e4ed130af369e0c366
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.cpp
    M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    A llvm/test/Analysis/CostModel/NVPTX/inline-asm.ll
    A llvm/test/Analysis/CostModel/NVPTX/lit.local.cfg
    A llvm/test/CodeGen/NVPTX/nvptx-aa-inline-asm.ll

  Log Message:
  -----------
  [NVPTX] Improve modeling of inline PTX (#130675)

Improve the modeling of the memory effects and instruction cost of
inline assembly.

- MemoryEffects: The CUDA spec states that inline assembly is not
assumed to have any side-effects or read or write to memory. An inline
assembly may be treated as NoModRef unless it is explictly marked as
having side effects or has an explicit memory clobber.
https://docs.nvidia.com/cuda/inline-ptx-assembly/index.html#incorrect-optimization

> Normally any memory that is written to will be specified as an out
operand, but if there is a hidden read or write on user memory (for
example, indirect access of a memory location via an operand), or if you
want to stop any memory optimizations around the asm() statement
performed during generation of PTX, you can add a “memory” clobbers
specification after a 3rd colon.

- InstructionCost: This change implements very rough string parsing
system to count the number of instructions in an inline-asm. There are
corner cases it will not handle well, but in general this is an
improvement over the current cost of the number of arguments plus one.


  Commit: a074831cd978659a6025c528c0ca75b8cf46940f
      https://github.com/llvm/llvm-project/commit/a074831cd978659a6025c528c0ca75b8cf46940f
  Author: Pete Chou <petechou at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    A llvm/test/TableGen/RegisterInfoEmitter-inherit-properties.td
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp

  Log Message:
  -----------
  [TableGen] Inherit properties from the nearest allocatable superclass. (#127018)

Previously isAlocatable was updated to allow inheritance from any
superclass for a generated register class, but other properties are
still inherited from its nearest superclass. This could cause
a generated regclass inherit undesired properties, e.g., tsflags, from
an unallocatable superclass due to the topological inheritance order.

This change updates to inherit properties from the nearest allocatable
superclass if possible and includes a test to demonstrate a potential
incorrect inheritance of tsflags.


  Commit: 577631f0a52884384786bf899951e3094ad7f69c
      https://github.com/llvm/llvm-project/commit/577631f0a52884384786bf899951e3094ad7f69c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
    M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll

  Log Message:
  -----------
  Reapply "[VPlan] Add transformation to narrow interleave groups. (#106441)"

This reverts commit ff3e2ba9eb94217f3ad3525dc18b0c7b684e0abf.

The recommmitted version limits to transform to cases where no
interleaving is taking place, to avoid a mis-compile when interleaving.

Original commit message:

This patch adds a new narrowInterleaveGroups transfrom, which tries
convert a plan with interleave groups with VF elements to a plan that
instead replaces the interleave groups with wide loads and stores
processing VF elements.

This effectively is a very simple form of loop-aware SLP, where we
use interleave groups to identify candidates.

This initial version is quite restricted and hopefully serves as a
starting point for how to best model those kinds of transforms.

Depends on https://github.com/llvm/llvm-project/pull/106431.

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

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


  Commit: 2f3c93743fc21686158c9ba51da8f25da9a02f9d
      https://github.com/llvm/llvm-project/commit/2f3c93743fc21686158c9ba51da8f25da9a02f9d
  Author: Morris Hafner <mmha at users.noreply.github.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    A clang/test/CIR/CodeGen/binop.cpp
    A clang/test/CIR/Lowering/binop-bool.cir
    A clang/test/CIR/Lowering/binop-fp.cir
    A clang/test/CIR/Lowering/binop-overflow.cir
    A clang/test/CIR/Lowering/binop-signed-int.cir
    A clang/test/CIR/Lowering/binop-unsigned-int.cir

  Log Message:
  -----------
  [CIR] Add binary operators (#132420)

This patch adds upstreams support for BinOp including lvalue
assignments. Note that this does not include ternary ops,
BinOpOverflowOp, pointer arithmetic, ShiftOp and SelectOp which are
required for logical binary operators.

---------

Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>


  Commit: 960615954e4cb3150ae4a479fa7f9d0d17035eea
      https://github.com/llvm/llvm-project/commit/960615954e4cb3150ae4a479fa7f9d0d17035eea
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/lib/Sema/SemaLookup.cpp
    M clang/test/SemaCXX/member-pointer.cpp

  Log Message:
  -----------
  [clang] fix crash with ADL for member pointers with dependent class (#132977)


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

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

  Log Message:
  -----------
  [libc][bazel] Stop creatng "public" library targets in libc_function. (#132995)

All downstream users are migrated, so we no longer need to produce
"public"/"release" cc_library target for each libc_function macro
invocation. Instead, we only create internal target (for testing), and
some filegroups, which will be picked up by the libc_release_library
invocation.

This allows us to get rid of "weak" argument to libc_function - this
decision is also postponed to libc_release_library configuration.

Fixes #130327.


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

  Changed paths:
    R clang/test/CIR/Lowering/binop-overflow.cir

  Log Message:
  -----------
  [CIR] Remove failing binop test (#133001)

When CIR binop support was commited, it accidentally included a test for
functionality that was removed during the review process
(cir.binop.overflow). This test, of course, fails.

This change removes the failing test. It will be re-added when the
corresponding op is added.


  Commit: 542797317ae4e98c8aa9030368d851fc72070f95
      https://github.com/llvm/llvm-project/commit/542797317ae4e98c8aa9030368d851fc72070f95
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h

  Log Message:
  -----------
  [NFC] [clang] rename InlinedTrapFuncMap to InlinedSubprogramMap (#132993)


  Commit: cec4f423e95710c1f76bbd90ecd1b193b49f8d4b
      https://github.com/llvm/llvm-project/commit/cec4f423e95710c1f76bbd90ecd1b193b49f8d4b
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-symbolizer/use-debug-info-line-info.s

  Log Message:
  -----------
  Fix test breakage on https://github.com/llvm/llvm-project/pull/128619/


  Commit: 03817f0ec03e594618707466c08608221c840861
      https://github.com/llvm/llvm-project/commit/03817f0ec03e594618707466c08608221c840861
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp

  Log Message:
  -----------
  [NFC][sanitizer] Clang-format sanitizer_symbolizer_posix_libcdep.cpp (#133011)


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

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

  Log Message:
  -----------
  [Vectorize] Avoid repeated hash lookups (NFC) (#132661)

Co-authored-by: Florian Hahn <flo at fhahn.com>


  Commit: e5641f6584c37e1860222c274bb910e9b2257976
      https://github.com/llvm/llvm-project/commit/e5641f6584c37e1860222c274bb910e9b2257976
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/mfma-loop.ll

  Log Message:
  -----------
  [AMDGPU] Autogen checks for mfma-loop.ll (#133004)

Needed for a RegisterCoalescing patch


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

  Changed paths:
    M flang/cmake/modules/FlangCommon.cmake

  Log Message:
  -----------
  [flang] Include needed CMake files. (#133012)

`FlangCommon.cmake` uses some CMake macros without including
the corresponding modules. This change makes it self-sufficient.


  Commit: 2da4ce8624b382cb6c51feac9bd96c22bb054356
      https://github.com/llvm/llvm-project/commit/2da4ce8624b382cb6c51feac9bd96c22bb054356
  Author: Emilio Cota <ecg at google.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M mlir/include/mlir/IR/MLIRContext.h
    M mlir/lib/IR/AttributeDetail.h
    M mlir/lib/IR/MLIRContext.cpp
    M mlir/lib/Pass/PassCrashRecovery.cpp
    R mlir/test/Dialect/LLVMIR/add-debuginfo-func-scope-with-crash-reproduction.mlir
    R mlir/test/IR/test-builtin-distinct-attrs-with-crash-reproduction.mlir

  Log Message:
  -----------
  Revert "[mlir] Fix DistinctAttributeUniquer deleting attribute storage when crash reproduction is enabled" (#133000)

Reverts llvm/llvm-project#128566. See as well the discussion in
llvm/llvm-project#132935.


  Commit: e04d739522f9df450c88bb1ec17cbd39c0babf8f
      https://github.com/llvm/llvm-project/commit/e04d739522f9df450c88bb1ec17cbd39c0babf8f
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-symbolizer/use-debug-info-line-info.s

  Log Message:
  -----------
  Fix test breakage on https://github.com/llvm/llvm-project/pull/128619/ (2)


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/Passes.h
    M clang/include/clang/CIR/Dialect/Passes.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
    A clang/lib/CIR/Dialect/Transforms/HoistAllocas.cpp
    M clang/lib/CIR/Lowering/CIRPasses.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    A clang/test/CIR/Transforms/hoist-allocas.cir
    M clang/tools/cir-opt/cir-opt.cpp

  Log Message:
  -----------
  [CIR] Emit allocas into the proper lexical scope (#132468)

Alloca operations were being emitted into the entry block of the current
function unconditionally, even if the variable they represented was
declared in a different scope. This change upstreams the code for
handling
insertion of the alloca into the proper lexcial scope. It also adds a
CIR-to-CIR transformation to hoist allocas to the function entry block,
which is necessary to produce the expected LLVM IR during lowering.


  Commit: d75a40a9c1817ca047dec9cf0e1c0f1fec948e06
      https://github.com/llvm/llvm-project/commit/d75a40a9c1817ca047dec9cf0e1c0f1fec948e06
  Author: Midhunesh <midhunesh.p at ibm.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/lit.common.configured.in
    A compiler-rt/test/sanitizer_common/TestCases/disable_symbolizer_path_search.cpp
    M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn

  Log Message:
  -----------
  Add cmake option to enable/disable searching PATH for symbolizer (#129012)

Introduced a cmake option that is disabled by default that suppresses
searching via the PATH variable for a symbolizer. The option will be
enabled for downstream builds where the user will need to specify the
symbolizer path more explicitly, e.g., by using ASAN_SYMBOLIZER_PATH.


  Commit: c995db3e3456b422f44f3ad690072bd6359520e3
      https://github.com/llvm/llvm-project/commit/c995db3e3456b422f44f3ad690072bd6359520e3
  Author: Michael Jones <michaelrj at google.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M libc/src/math/generic/coshf16.cpp
    M libc/src/math/generic/sinhf16.cpp

  Log Message:
  -----------
  [libc] Add exceptional values for sinhf16/coshf16 (#133002)

The rounding of the result when using an FMA instruction for hyperbolic
sin/cos on float16 was off by 1 bit for a few cases. This patch adds
extra exceptional cases to handle these.


  Commit: 134cb8877e0da3da5c9652c55196f7a1380fb207
      https://github.com/llvm/llvm-project/commit/134cb8877e0da3da5c9652c55196f7a1380fb207
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/secondary.h

  Log Message:
  -----------
  [scudo] Use a tryLock in secondary release to OS (#132827)

In the caching part of the secondary path, when about to try to release
memory to the OS, we always wait while acquiring the lock. However, if
multiple threads are attempting this at the same time, all other threads
will likely do nothing when the release call is made. Change the
algorithm to skip the release if there is another release in process.

Also, pull the lock outside the releaseOlderThan function. This is so
that in the store path, we use the tryLock and skip if another thread is
releasing. But in the path where a forced release call is being made,
that call will wait for release to complete which guarantees that all
entries are released when requested.


  Commit: af267993a7e102e710d4c29a5253738038e1d2a4
      https://github.com/llvm/llvm-project/commit/af267993a7e102e710d4c29a5253738038e1d2a4
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M libcxx/docs/Status/Cxx17Issues.csv
    M libcxx/include/__tuple/tuple_size.h
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.verify.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_structured_bindings.pass.cpp

  Log Message:
  -----------
  [libc++] Re-implement LWG2770 again * 2 (#132598)

1013fe3c0cfd7582e94ef2d4bfd79da7ea1a1289 used to implement LWG2770, but
cb0d4df97490ec2d2b1cdf7574d26b1bc4063599 made LWG2770 unimplemented
again because of CWG2386.

This patch re-implements LWG2770, while keeping the libc++-specific
implementation strategy (which is controversial as noted in LWG4040).

Drive-by:
- Make the test coverage for the controversial part noted in LWG4040
libc++-only.
- Add the previously missed entry for LWG2770 to the documentation.


  Commit: 584b24cd6de5fd8bcfefa0b4a57ddbbf58c14af1
      https://github.com/llvm/llvm-project/commit/584b24cd6de5fd8bcfefa0b4a57ddbbf58c14af1
  Author: Ziqing Luo <ziqing at udel.edu>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp

  Log Message:
  -----------
  [NFC][StaticAnalyzer] Rename `NotNullConstraint` & `NotNullBufferConstraint` (#131374)

`NotNullConstraint` is used to check both null and non-null of a pointer.
So the name, which was created originally for just checking non-nullness, becomes less suitable.
The same reason applies to `NotNullBufferConstraint`.  This commit renames them.

In addition, messages of the assertions in `describe` and ` describeArgumentValue` 
are updated to indicate that these two functions can be called on any constraint 
though they were partially implemented for `NotNullConstraint` & `NotNullBufferConstraint`.


  Commit: f89129af8adfda5d9071210b771787e36ae8cd96
      https://github.com/llvm/llvm-project/commit/f89129af8adfda5d9071210b771787e36ae8cd96
  Author: Tom Tromey <tromey at adacore.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfoMetadata.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    A llvm/test/Bitcode/array-bitstride.ll
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/DebugTypeODRUniquingTest.cpp

  Log Message:
  -----------
  Add bit stride to DICompositeType (#131680)

In Ada, an array can be packed and the elements can take less space than
their natural object size. For example, for this type:

   type Packed_Array is array (4 .. 8) of Boolean;
   pragma pack (Packed_Array);

... each element of the array occupies a single bit, even though the
"natural" size for a Boolean in memory is a byte.

In DWARF, this is represented by putting a DW_AT_bit_stride onto the
array type itself.

This patch adds a bit stride to DICompositeType so that gnat-llvm can
emit DWARF for these sorts of arrays.


  Commit: 3fbd0ec7e37d596099e8cdccdb2e390a2fef29c7
      https://github.com/llvm/llvm-project/commit/3fbd0ec7e37d596099e8cdccdb2e390a2fef29c7
  Author: Peng Xie <helianthus547 at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    A libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/release_reset_initial_status.pass.cpp

  Log Message:
  -----------
  [libc++] Update the status for LWG3120 (#116772)

The current implementation already have an __initial_descriptor which
saves the initial state. When release() is called, we will reset the
__initial_descriptor.__cur_ pointer.

This patch also updates the status of LWG3120.

Closes #104274

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: f6417f17ba236753250756cbde0d6f045dab47ba
      https://github.com/llvm/llvm-project/commit/f6417f17ba236753250756cbde0d6f045dab47ba
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    A clang/test/CodeGen/RISCV/issue-129995.cpp
    R clang/test/CodeGen/RISCV/pr129995.cc

  Log Message:
  -----------
  [clang][RISCV] Fix RUN line and rename test name for pr129995 (#132676)

ninja check-clang can not detect .cc suffix, so the typo is not
detected.


  Commit: 1c8075c6129ae4e61e0d24ea981f61a8128d4d70
      https://github.com/llvm/llvm-project/commit/1c8075c6129ae4e61e0d24ea981f61a8128d4d70
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

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

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


  Commit: 7a5ce551246affabd081c45b00cad1eda7c10fff
      https://github.com/llvm/llvm-project/commit/7a5ce551246affabd081c45b00cad1eda7c10fff
  Author: Connector Switch <c8ef at outlook.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/VISIT.h
    M libc/include/search.yaml

  Log Message:
  -----------
  [libc] Add `VISIT` enum for `search.h` (#132746)

This patch introduces the `VISIT` enum for tree search. Existing tests
ensure the correct generation of headers.


  Commit: 40815be30a04c4646d74cf6a70bfa4596846f5a5
      https://github.com/llvm/llvm-project/commit/40815be30a04c4646d74cf6a70bfa4596846f5a5
  Author: Srinivasa Ravi <srinivasar at nvidia.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Add support for st.bulk Op (#131727)

This change adds the `st.bulk` NVVM Op for the `st.bulk` instruction
introduced in ptx8.6 for sm_100.

PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-st-bulk


  Commit: aae37a29688a3f0f9908c8e119c620e9242a3e0b
      https://github.com/llvm/llvm-project/commit/aae37a29688a3f0f9908c8e119c620e9242a3e0b
  Author: WÁNG Xuěruì <git at xen0n.name>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/MC/LoongArch/Macros/aliases-br.s

  Log Message:
  -----------
  [LoongArch] Allow recognition of `b{lt,gt,le,ge}z` in disassembly (#132620)

This behavior is implemented for GNU Binutils since 2.41, and benefits
the readability of the disassembly output. Do the same for LLVM by
removing the zero weight from the alias definitions respectively.


  Commit: 41250541e7253839367ab1219845b19118794d81
      https://github.com/llvm/llvm-project/commit/41250541e7253839367ab1219845b19118794d81
  Author: Jannick Kremer <jannick.kremer at mailbox.org>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cdb.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/bindings/python/tests/cindex/test_index.py
    M clang/bindings/python/tests/cindex/test_location.py
    M clang/bindings/python/tests/cindex/test_translation_unit.py
    M clang/bindings/python/tests/cindex/test_type.py

  Log Message:
  -----------
  [libclang/python] Change all global variables to CAPS (#132930)


  Commit: 69274839c3e78c66173b611ec060d58609653e0f
      https://github.com/llvm/llvm-project/commit/69274839c3e78c66173b611ec060d58609653e0f
  Author: Amy Huang <akhuang at google.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M libc/src/__support/FPUtil/dyadic_float.h

  Log Message:
  -----------
  Change check for "shift > Type::BITS" to avoid offset greater than total bits. (#133016)

nexttowardf16_test is resulting in calling shift and for some reason not
meeting the invariant where offset is less than bits. Change the if
statement to directly check if shift - 1 meets the conditions.


  Commit: 1752d5292c1472cdfecbf3bfeea5040d09cfaa28
      https://github.com/llvm/llvm-project/commit/1752d5292c1472cdfecbf3bfeea5040d09cfaa28
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [RISCV] Make RequiredExtensions for intrinsics scalable to more than 32 extensions. NFC (#132895)

We have more than 32 extensions in our downstream and had to change this
type from uint32_t to uint64_t.

To simplify our downstream and make the code more flexible, I propose to
make it an array of uint32_t that we can size based on the number of
extensions. I really wanted to use std::bitset, but we have to print the
bits to a .inc file which can't easily be done with std::bitset.


  Commit: ece72e2731350d9840c6446db9276b04d593cc23
      https://github.com/llvm/llvm-project/commit/ece72e2731350d9840c6446db9276b04d593cc23
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/test/CodeGen/X86/win32-eh.ll

  Log Message:
  -----------
  [MC,COFF] .safeseh: avoid changeSection (#132624)

The directive temporarily switches to the .sxdata section to emit data,
and then calls `insert`, which makes `CurFrag` out of sync of the
current section. Call push/switch/pop instead.

Related to #132464


  Commit: 80d5185bd4288c12e9d5aa0fe2e00f2f4e6397d7
      https://github.com/llvm/llvm-project/commit/80d5185bd4288c12e9d5aa0fe2e00f2f4e6397d7
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M compiler-rt/lib/profile/InstrProfilingFile.c

  Log Message:
  -----------
  [PGO][Offload] Don't define GPU entrypoint on Darwin (#132966)

This PR partially reverts 83e180c and instead opts to not define the GPU entry
point on Darwin platforms. Marking `__llvm_write_custom_profile` as used
was causing issues on embedded platforms.


  Commit: a8588d8b2a1b82e4a03e130ad63a5018cda62432
      https://github.com/llvm/llvm-project/commit/a8588d8b2a1b82e4a03e130ad63a5018cda62432
  Author: Mészáros Gergely <maetveis at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/test/CodeGen/cx-complex-range-real.c
    M clang/test/CodeGen/cx-complex-range.c

  Log Message:
  -----------
  [CodeGen][NFC] Run SROA on complex range tests (#131925)

... to make them shorter and easier to read. This removes ~2000 lines of
cruft.


  Commit: 1940d7816a6025d606983af7493c762461287ee8
      https://github.com/llvm/llvm-project/commit/1940d7816a6025d606983af7493c762461287ee8
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    A compiler-rt/test/asan/TestCases/Posix/setproctitle.c

  Log Message:
  -----------
  [compiler-rt][sanitizer] setproctitle interception for NetBSD/FreeBSD. (#131648)


  Commit: 529feec2bcd8cf9dfef9f4b8edf03bdcf4fd1b42
      https://github.com/llvm/llvm-project/commit/529feec2bcd8cf9dfef9f4b8edf03bdcf4fd1b42
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vandn.ll

  Log Message:
  -----------
  [RISCV][test] Add fixed vectors tests for hasAndNot


  Commit: ab5de9af4c00cecf166be51f3e93df2762692788
      https://github.com/llvm/llvm-project/commit/ab5de9af4c00cecf166be51f3e93df2762692788
  Author: Ningning Shi(史宁宁) <shiningning at iscas.ac.cn>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

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

  Log Message:
  -----------
  [NFC][X86][ISel] Remove the unused assert (#133029)

The condition of assert is always true, so just remove it.
OptForMinSize means hasMinSize(), which is
hasFnAttribute(Attribute::MinSize).
hasOptSize() is hasFnAttribute(Attribute::OptimizeForSize) ||
hasMinSize().
So, '!hasMinSize() || hasFnAttribute(Attribute::OptimizeForSize) ||
hasMinSize()' is awalys true.

---------------------------------
llvm/include/llvm/IR/Function.h

```
/// Optimize this function for minimum size (-Oz).
  bool hasMinSize() const { return hasFnAttribute(Attribute::MinSize); }

  /// Optimize this function for size (-Os) or minimum size (-Oz).
  bool hasOptSize() const {
    return hasFnAttribute(Attribute::OptimizeForSize) || hasMinSize();
  }
```


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

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

  Log Message:
  -----------
  Reapply "[clang][bytecode] Implement __builtin_{wcscmp,wcsncmp} (#132… (#132963)

…723)"

This reverts commit 1e2ad6793ac205607e7c809283cf69e1cc36a69a.


Fix the previous commit on big-endian hosts by _not_ falling through to
the `uint8_t` code path.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/cast.ll
    M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll

  Log Message:
  -----------
  [AArch64] Update costs for scalarizing i64->f32 int_to_fp. (#132366)

After #130665 these operations are scalarized to avoid
double-rounding. This updates the cost model to match.

In the future we might be able to use SVE instructions to help, but for
the moment the costs should be higher. Costsize and Latency costs are
not yet expected to be accurate. The vector insert/extract will use the
cost of VectorInsertExtractBaseCost (2 by default).


  Commit: 3b2b918813125a7baeb3258648eb7a679a0a9699
      https://github.com/llvm/llvm-project/commit/3b2b918813125a7baeb3258648eb7a679a0a9699
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M libcxx/include/__iterator/iterator_traits.h
    M libcxx/include/module.modulemap

  Log Message:
  -----------
  [libc++] Use __detected_or_t to implement __has_iterator_{category,concept}_convertible_to (#124456)

This simplifies the implementation a bit.


  Commit: c41926013fd8b23c3d1eca51804a2de36c88433a
      https://github.com/llvm/llvm-project/commit/c41926013fd8b23c3d1eca51804a2de36c88433a
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [Serialization] Avoid iterating Dense{Map,Set} to break determinism
in ASTWriter

It is bad to iterate Dense{Map,Set} in ASTWriter. Since the order in
Dense{Map, Set} is not stable. It may cause the produced BMI differ
even if we run the compiler twice without modifying any other thing.


  Commit: 322b2fe61e03119ce9ef0ab5481238c011bdf2b9
      https://github.com/llvm/llvm-project/commit/322b2fe61e03119ce9ef0ab5481238c011bdf2b9
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/dtor.cpp
    M clang/test/Analysis/fixed-address-notes.c
    M clang/test/Analysis/misc-ps.m
    M clang/test/Analysis/pr22954.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c

  Log Message:
  -----------
  [clang][analyzer] Move 'alpha.core.FixedAddressDereference' out of alpha (#132404)


  Commit: a2e5932e8b5cc887ecf5c03a6a3281a04d4214d5
      https://github.com/llvm/llvm-project/commit/a2e5932e8b5cc887ecf5c03a6a3281a04d4214d5
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    R llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    R llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll

  Log Message:
  -----------
  Revert "[SLP] Make getSameOpcode support interchangeable instructions. (#132887)"

This reverts commit 6e66cfeeaec6f09a4454400e45d690457ecdd3de.

This change causes crashes on compiling some inputs, see
https://github.com/llvm/llvm-project/pull/127450#issuecomment-2752833710
and
https://github.com/llvm/llvm-project/pull/127450#issuecomment-2753375326
for details.


  Commit: 73f487d31eeaebff085b12396b16432c4fed78a2
      https://github.com/llvm/llvm-project/commit/73f487d31eeaebff085b12396b16432c4fed78a2
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

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

  Log Message:
  -----------
  [mlir][TosaToLinalg] Fix bugs in PointwiseConverter (#132526)


  Commit: cd3798d7ef098c65377feabbd7713b73fd47728b
      https://github.com/llvm/llvm-project/commit/cd3798d7ef098c65377feabbd7713b73fd47728b
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/test/CodeGen/AArch64/fmv-dependencies.c
    M clang/test/CodeGen/AArch64/fmv-detection.c
    M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc
    M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
    M llvm/include/llvm/TargetParser/AArch64FeatPriorities.inc
    M llvm/lib/Target/AArch64/AArch64FMV.td

  Log Message:
  -----------
  [FMV][AArch64] Add feature CSSC and detect on linux platform. (#132727)

Also removes priority bits for unused features predres and ls64.

Added to ACLE with https://github.com/ARM-software/acle/pull/390


  Commit: 894b27a74611acffcc24fe03c59be2a2af36ea7f
      https://github.com/llvm/llvm-project/commit/894b27a74611acffcc24fe03c59be2a2af36ea7f
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir

  Log Message:
  -----------
  [mlir][MemRefToLLVM] Fix crash with unconvertable memory space (#132323)

This PR adds handling when the `memref.alloca` with unconvertable memory
space to prevent a crash. Fixes #131439.


  Commit: 29ca03f19a1faf26f30641cb90be29103500883b
      https://github.com/llvm/llvm-project/commit/29ca03f19a1faf26f30641cb90be29103500883b
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/docs/LoopTerminology.rst

  Log Message:
  -----------
  [Docs] Fix link in LoopTerminology (NFC) (#131138)

The link should refer to the section of 'phi' Instruction in the
LangRef, but it referred to the subsection of 'fcmp' Instruction.
Replace it with appropriate one.


  Commit: a9a83387979a6c6dc0f508fe0b26c8d8fa7f5361
      https://github.com/llvm/llvm-project/commit/a9a83387979a6c6dc0f508fe0b26c8d8fa7f5361
  Author: Discookie <viktor.cseh at ericsson.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  Reland [clang][dataflow] Fix unsupported types always being equal (#131575)

Relands #129502.

Previously when the framework encountered unsupported values (such as
enum classes), they were always treated as equal when comparing with
`==`, regardless of their actual values being different.
Now the two sides are only equal if there's a Value assigned to them.

Added handling for the special case of `nullptr == nullptr`, to preserve
the behavior of untyped `nullptr` having no value.


  Commit: 96925fa84c1e9cf4ffb68a7171a4b39d4677702a
      https://github.com/llvm/llvm-project/commit/96925fa84c1e9cf4ffb68a7171a4b39d4677702a
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vandn.ll
    M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll

  Log Message:
  -----------
  [RISCV] Add vector hasAndNot to enable optimizations (#132438)

Enables transforms that emit the VANDN instruction.

Co-authored-by: Craig Topper <craig.topper at sifive.com>


  Commit: 1a7402d3d831940fc04cc0fb5731239744ce5435
      https://github.com/llvm/llvm-project/commit/1a7402d3d831940fc04cc0fb5731239744ce5435
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/hip-toolchain-no-rdc.hip

  Log Message:
  -----------
  [NFC][Driver][HIP] Fix mixing `amdgcnspirv` and `gfxXXX` via `--offload-arch` (#133024)

Due to `amdgcnspirv` piggybacking on the HIPAMDToolchain, it loses its
immediately apparent SPIR-Vness, which makes the Driver want to go all
the way to Assembly emmission. This was problematic as we were trying to
`llvm-link` SPIR-V, before trying to translate it. This patch ensures
that we do the right thing and stop at bitcode emission if we are mixing
`amdgcnspirv` and concrete targets.


  Commit: 420c056f853d9d5475fc98407ea99b67a11841eb
      https://github.com/llvm/llvm-project/commit/420c056f853d9d5475fc98407ea99b67a11841eb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll

  Log Message:
  -----------
  [VPlan] Add ComputeFindLastIVResult opcode (NFC). (#132689)

This moves the logic for computing the FindLastIV reduction result to
its own opcode. A follow-up patch will update the new opcode to also
take the start value, to fix
https://github.com/llvm/llvm-project/issues/126836.

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


  Commit: a308d421aa96f51e5f7f86f26291a91f6198fbfa
      https://github.com/llvm/llvm-project/commit/a308d421aa96f51e5f7f86f26291a91f6198fbfa
  Author: Ash Dobrescu <ash.dobrescu at arm.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M bolt/test/indirect-goto-relocs.test

  Log Message:
  -----------
  Remove -no-pie case from indirect-goto-relocs.test (#133067)

This test was added in PR:
https://github.com/llvm/llvm-project/pull/120267. The -no-pie case in
the above mentioned test needs to be removed as subsequent changes have
caused it to fail.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/widen_fadd.ll
    M llvm/test/CodeGen/X86/widen_fdiv.ll
    M llvm/test/CodeGen/X86/widen_fmul.ll
    M llvm/test/CodeGen/X86/widen_fsub.ll
    M llvm/test/CodeGen/X86/x86-interleaved-access.ll

  Log Message:
  -----------
  [X86] combineEXTRACT_SUBVECTOR - extract from a larger subvector insertion (#132950)

Fold EXTRACT_SUBVECTOR(INSERT_SUBVECTOR(SRC,SUB,C1),C2) ->
INSERT_SUBVECTOR(EXTRACT_SUBVECTOR(SRC,C2),SUB,C1-C2)

This extends the existing fold which required the extract/insert
subvector indices to match - now it will always extract as long as the
original inserted subvector is entirely contained within the extraction.

Helps avoid unnecessary use of 512-bit vectors, and improves the chance
of concatenation folds.


  Commit: 6ff3906936e036cb2a4c07baa61b3939fd57e846
      https://github.com/llvm/llvm-project/commit/6ff3906936e036cb2a4c07baa61b3939fd57e846
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Print more info in Block::dump() (#133062)


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

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    A clang/test/AST/ByteCode/codegen-mutable-read.cpp

  Log Message:
  -----------
  [clang][bytecode] Fail on mutable reads from revisited variables (#133064)

When revisiting a variable, we do that by simply calling visitDecl() for
it, which means it will end up with the same EvalID as the rest of the
evaluation - but this way we end up allowing reads from mutable
variables. Disallow that.


  Commit: e5129b7e2092c54e503f60cc0ac552c765d5a144
      https://github.com/llvm/llvm-project/commit/e5129b7e2092c54e503f60cc0ac552c765d5a144
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [Flang] Implicitly add clang if flang enabled (#123964)

Clang is required to compile Flang. Instead of erroring-out if Clang is
enabled, for convinience implicitly add it to `LLVM_ENABLE_PROJECTS`,
consistent with how the MLIR dependency is handled.

This is motivatated by the discussion on whether flang-rt shoud be enabled implicitly 
(https://discourse.llvm.org/t/buildbot-changes-with-llvm-enable-runtimes-flang-rt/83571/2).
Since the answer was yet, clang would have been the only exception of not being
enabled implicitly. Fixed with this commit.


  Commit: fed4727187e73c1b61bc65c63a66de58318379fc
      https://github.com/llvm/llvm-project/commit/fed4727187e73c1b61bc65c63a66de58318379fc
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

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

  Log Message:
  -----------
  Mark maybe_unused variable (#133069)

... to avoid -Wunused-variable warnings/errors when assertions are off.


  Commit: 1c9fe8c8af7e473e37e141d36837d196dd9a5256
      https://github.com/llvm/llvm-project/commit/1c9fe8c8af7e473e37e141d36837d196dd9a5256
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll

  Log Message:
  -----------
  [LV] Optimise users of induction variables in early exit blocks (#130766)

This is the second of two PRs that attempts to improve the IR
generated in the exit blocks of vectorised loops with uncountable
early exits. It follows on from PR #128880. In this PR I am
improving the generated code for users of induction variables in
early exit blocks.

This required using a newly add VPInstruction called
FirstActiveLane, which calculates the index of the first active
predicate in the mask operand.

I have added a new function optimizeEarlyExitInductionUser that
is called from optimizeInductionExitUsers when handling users in
early exit blocks.


  Commit: 59c5d531991ca6d3cdd7072a13331dd5b0a5b321
      https://github.com/llvm/llvm-project/commit/59c5d531991ca6d3cdd7072a13331dd5b0a5b321
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Expression/DWARFExpressionList.h
    M lldb/source/Expression/DWARFExpressionList.cpp

  Log Message:
  -----------
  [LLDB][NFC] Replace DWARFUnit with DWARFExpression::Delegate in DWARFExpressionList too (#133049)

This is an update for #131645.


  Commit: 23882f09e40a33de95963dbe345450615489b55b
      https://github.com/llvm/llvm-project/commit/23882f09e40a33de95963dbe345450615489b55b
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/test/Transforms/Coroutines/coro-materialize.ll

  Log Message:
  -----------
  Fix test/Transforms/Coroutines/coro-materialize.ll

It was using the wrong @llvm.coro.suspend() value in %resume1.

This was found while investigating #130326


  Commit: 4775e6d9099467df9363e1a3cd5950cc3d2fde05
      https://github.com/llvm/llvm-project/commit/4775e6d9099467df9363e1a3cd5950cc3d2fde05
  Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
    A llvm/test/CodeGen/X86/GlobalISel/sqrt.mir
    M llvm/test/CodeGen/X86/isel-sqrt.ll

  Log Message:
  -----------
  [X86][GlobalISel] Added support for G_FSQRT (#132356)


  Commit: 66f158d91803875de63d8f2a437ce8ecb22c4141
      https://github.com/llvm/llvm-project/commit/66f158d91803875de63d8f2a437ce8ecb22c4141
  Author: dianqk <dianqk at dianqk.net>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

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

  Log Message:
  -----------
  [TailDuplicator] Determine if computed gotos using `blockaddress` (#132536)

Using `blockaddress` should be more reliable than determining if an
operand comes from a jump table index.

Alternative: Add the `MachineInstr::MIFlag::ComputedGoto` flag when
lowering `indirectbr`. But I don't think this approach is suitable to
backport.


  Commit: 15f5a7a3ec71c624cea0cbdf02e3c5205ba81d9d
      https://github.com/llvm/llvm-project/commit/15f5a7a3ec71c624cea0cbdf02e3c5205ba81d9d
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir

  Log Message:
  -----------
  [MLIR][NVGPU] Use `gpu.dynamic_shared_memory` in tests (#133051)

The `memref.subview` ops in the test case were incorrect: they extracted
out-of-bounds.


  Commit: 1b07e865a1f9da64c75cc409a969b108b201fe80
      https://github.com/llvm/llvm-project/commit/1b07e865a1f9da64c75cc409a969b108b201fe80
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    R llvm/test/MC/AArch64/SME2/st1b

  Log Message:
  -----------
  [AArch64][SME][NFC]Remove wrong st1b file added to test (#132969)

By mistake the file stb1 was added. This file is not running in the
tests I believe because it has not extension.
It has the same content as st1b.s


  Commit: 75f810e02566f1d73d32a08257318ffdc4223140
      https://github.com/llvm/llvm-project/commit/75f810e02566f1d73d32a08257318ffdc4223140
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp

  Log Message:
  -----------
  [Offload] Guard HSA implicit arguments if they aren't created (#133073)

Summary:
We conditionally allocate the implicit arguments, so they possibly are
null. The flang compiler seems to hit this case, even though it
shouldn't when it's supposed to conform to the HSA code object. For now
guard this to fix the regression and cover a case in the future where
someone rolls a fully custom implementatation.

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


  Commit: 719b029c16eeb1035da522fd641dfcc4cee6be74
      https://github.com/llvm/llvm-project/commit/719b029c16eeb1035da522fd641dfcc4cee6be74
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
    M llvm/test/CodeGen/AMDGPU/early-term.mir
    M llvm/test/CodeGen/AMDGPU/readlane_exec0.mir

  Log Message:
  -----------
  [AMDGPU][NPM] Port SILateBranchLowering to NPM (#130063)


  Commit: 858f9053c54e2ab2d8b3352e632d73c3b483e570
      https://github.com/llvm/llvm-project/commit/858f9053c54e2ab2d8b3352e632d73c3b483e570
  Author: Patryk Wychowaniec <pwychowaniec at pm.me>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
    M llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll

  Log Message:
  -----------
  [AVR][NFC] Simplify branch relaxation tests (#131871)

Let's use the `.space` directive to simplify AVR's branch relaxation
tests, as noticed by @MaskRay at
https://github.com/llvm/llvm-project/pull/118015#issuecomment-2728254164.

Having `.space 4100` instead of `.space 4096` is little bit awkward, but
I'd rather avoid changing two things at once (i.e. current assertions
are fine).


  Commit: 1db206d1c8d48c107a2e29a1bf6ba2768df2ef7d
      https://github.com/llvm/llvm-project/commit/1db206d1c8d48c107a2e29a1bf6ba2768df2ef7d
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    M llvm/test/CodeGen/AVR/hardware-mul.ll
    M llvm/test/CodeGen/AVR/inline-asm/inline-asm3.ll
    A llvm/test/CodeGen/AVR/issue-132203.ll

  Log Message:
  -----------
  [AVR] Fix a bug in selection of ANY_EXTEND (#132398)

This is a walk around solution of
https://github.com/llvm/llvm-project/issues/132203


  Commit: e376f3129ae90e20b6629f8554872990daa0b2fb
      https://github.com/llvm/llvm-project/commit/e376f3129ae90e20b6629f8554872990daa0b2fb
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M libc/shared/rpc.h

  Log Message:
  -----------
  [libc] Make RPC allocation size query constexpr

Summary:
Let this be used for a static array.


  Commit: a1a74c9e80f983c01587bb86523e4e8b83e87d42
      https://github.com/llvm/llvm-project/commit/a1a74c9e80f983c01587bb86523e4e8b83e87d42
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/CodeGen/TargetBuiltins/Hexagon.cpp
    M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
    M clang/lib/CodeGen/TargetBuiltins/SystemZ.cpp
    M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
    M clang/lib/CodeGen/TargetBuiltins/X86.cpp

  Log Message:
  -----------
  [NFC][clang] Remove superfluous header files after refactor in #132252 (#132495)

Remove superfluous header files after refactor in #132252


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

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

  Log Message:
  -----------
  [X86] Use hasSingleElement (NFC) (#133040)


  Commit: 40d251db4a58df37e356a10d94db2263c5f60d4b
      https://github.com/llvm/llvm-project/commit/40d251db4a58df37e356a10d94db2263c5f60d4b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
    M llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
    M llvm/lib/FileCheck/FileCheck.cpp
    M llvm/lib/IR/Assumptions.cpp
    M llvm/lib/LTO/LTOCodeGenerator.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/tools/bugpoint/CrashDebugger.cpp
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp

  Log Message:
  -----------
  [llvm] Use *Set::insert_range (NFC) (#133041)

We can use *Set::insert_range to collapse:

  for (auto Elem : Range)
    Set.insert(E);

down to:

  Set.insert_range(Range);

In some cases, we can further fold that into the set declaration.


  Commit: 1cc07a0865c1828792fbc7427d175c4ce753a27d
      https://github.com/llvm/llvm-project/commit/1cc07a0865c1828792fbc7427d175c4ce753a27d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TargetEnv.h
    M mlir/lib/Analysis/Liveness.cpp
    M mlir/lib/Analysis/TopologicalSortUtils.cpp
    M mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
    M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVEnums.cpp
    M mlir/lib/Dialect/SPIRV/IR/TargetAndABI.cpp
    M mlir/lib/Transforms/SROA.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/lib/Transforms/Utils/InliningUtils.cpp

  Log Message:
  -----------
  [mlir] Use *Set::insert_range (NFC) (#133043)

We can use *Set::insert_range to collapse:

  for (auto Elem : Range)
    Set.insert(E);

down to:

  Set.insert_range(Range);

In some cases, we can further fold that into the set declaration.


  Commit: c3e08c8f07ded9ef0d1ad2f3fb04e98d839479b1
      https://github.com/llvm/llvm-project/commit/c3e08c8f07ded9ef0d1ad2f3fb04e98d839479b1
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/hlsl.h
    M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
    M clang/test/CodeGenHLSL/builtins/acos.hlsl
    M clang/test/CodeGenHLSL/builtins/asin.hlsl
    M clang/test/CodeGenHLSL/builtins/atan.hlsl
    M clang/test/CodeGenHLSL/builtins/atan2.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    M clang/test/CodeGenHLSL/builtins/cosh.hlsl
    M clang/test/CodeGenHLSL/builtins/degrees.hlsl
    M clang/test/CodeGenHLSL/builtins/exp.hlsl
    M clang/test/CodeGenHLSL/builtins/exp2.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/frac.hlsl
    M clang/test/CodeGenHLSL/builtins/isinf.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log10.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    M clang/test/CodeGenHLSL/builtins/normalize.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    M clang/test/CodeGenHLSL/builtins/radians.hlsl
    M clang/test/CodeGenHLSL/builtins/round.hlsl
    M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    M clang/test/CodeGenHLSL/builtins/sinh.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/step.hlsl
    M clang/test/CodeGenHLSL/builtins/tan.hlsl
    M clang/test/CodeGenHLSL/builtins/tanh.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl

  Log Message:
  -----------
  [HLSL] Add new double overloads for math builtins (#132979)

Add double overloads which cast the double to a float and call the float
builtin.
Makes these double overloads conditional on hlsl version 202x or
earlier.
Add tests
Closes #128228


  Commit: 6dd14c881cd6dbe76a73b60ab7eabf95f92271c4
      https://github.com/llvm/llvm-project/commit/6dd14c881cd6dbe76a73b60ab7eabf95f92271c4
  Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsTargetTransformInfo.cpp
    M llvm/lib/Target/Mips/MipsTargetTransformInfo.h
    A llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll

  Log Message:
  -----------
  MIPS: Implements MipsTTIImpl::isLSRCostLess using Insns as first (#133068)

So that LoopStrengthReduce can work for MIPS.
The code is copied from RISC-V.

---------

Co-authored-by: qethu <190734095+qethu at users.noreply.github.com>


  Commit: b55dd8f607dab5b122e09836022a37ef10c8c653
      https://github.com/llvm/llvm-project/commit/b55dd8f607dab5b122e09836022a37ef10c8c653
  Author: flovent <144676429+flovent at users.noreply.github.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/Analysis/issue-91835.cpp
    A clang/test/Analysis/lambda-capture-structured-binding.cpp

  Log Message:
  -----------
  [clang][analyzer] Correctly handle structured bindings captured by lambda (#132579)

this PR fixes #91835.

For `DeclRefExpr` in lambda's function body, it will references to
original variable declaration in AST rather than `FieldDecl` for lambda
class, so it's needed to find the corresponding `FieldDecl` and bind
`DeclRefExpr`'s value to it.

This is already implemented for variables that are not in a structured
binding structure, so I extracted that part of the code so that it can
be used in the structured binding case.


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

  Changed paths:
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h
    M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h

  Log Message:
  -----------
  Revert "[ExecutionEngine] Avoid repeated hash lookups (NFC)" (#133101)

Reverts llvm/llvm-project#132587

Due to causing test failures on several of Linaro's buildbots. Several
MLIR test failures and at least one test timing out.

I doubt it's the patch itself, but instead an issue it has uncovered.
Revert while we dig into that.


  Commit: 99e8321953a047a2994639df3df496cab779e199
      https://github.com/llvm/llvm-project/commit/99e8321953a047a2994639df3df496cab779e199
  Author: Abhinav Kumar <96587705+kr-2003 at users.noreply.github.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
    M clang/test/Analysis/cxx-uninitialized-object.cpp

  Log Message:
  -----------
  [clang][analyzer] Ignore unnamed bitfields in UninitializedObjectChecker (#132427)

Fixes #132001 

Co-authored-by: YLChenZ <chentongyongcz at gmail.com>


  Commit: af663155e61fc4398160c1d05c54397327a10182
      https://github.com/llvm/llvm-project/commit/af663155e61fc4398160c1d05c54397327a10182
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Reduce control flow complexity in foldMemoryOperandImpl [nfc]

Use a helper function so we can use early return.


  Commit: c0cce437395063ed9f58b8d4138280d1008bc79b
      https://github.com/llvm/llvm-project/commit/c0cce437395063ed9f58b8d4138280d1008bc79b
  Author: Sjoerd Meijer <smeijer at nvidia.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/test/Driver/aarch64-mcpu-native.c
    M clang/test/Driver/print-enabled-extensions/aarch64-grace.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c
    M llvm/lib/Target/AArch64/AArch64Processors.td

  Log Message:
  -----------
  [AArch64] Add FEAT_FPAC to Neoverse V2 (#133054)

This feature is implemented in the Neoverse V2 core, but wasn't specified
in the CPU definition.


  Commit: 3f82c3d5a8e48010c56a1ce8f13fae2d8bbe490b
      https://github.com/llvm/llvm-project/commit/3f82c3d5a8e48010c56a1ce8f13fae2d8bbe490b
  Author: Karlo Basioli <k.basioli at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir

  Log Message:
  -----------
  Revert "[MLIR][NVGPU] Use `gpu.dynamic_shared_memory` in tests" (#133103)

Reverts llvm/llvm-project#133051 due to failing integration tests


  Commit: 52f941adbc2815487a0582ffedf3fb8cebe9cedd
      https://github.com/llvm/llvm-project/commit/52f941adbc2815487a0582ffedf3fb8cebe9cedd
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h

  Log Message:
  -----------
  [mlir][tosa] Fix '-Wreturn-type'. NFC


  Commit: 236f938ef65cc9028801303bb0bd914afca37836
      https://github.com/llvm/llvm-project/commit/236f938ef65cc9028801303bb0bd914afca37836
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h

  Log Message:
  -----------
  [CodeGen] Provide a target independent default for optimizeLoadInst [NFC]

This just moves the x86 implementation into generic code since it appears
to be suitable for any target.  The heart of this transform is inside
foldMemoryOperand so other targets won't actually kick in until they
implement said API.  This just removes one piece to implement in the
process of enabling foldMemoryOperand.


  Commit: 6ecc67fb3223fbc641560596a4811da371dc6c4b
      https://github.com/llvm/llvm-project/commit/6ecc67fb3223fbc641560596a4811da371dc6c4b
  Author: AnastasiyaChernikova <anastasiya.chernikova at syntacore.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/X86/mcpu_not_set_during_cross_compilation.s
    M llvm/tools/llvm-exegesis/lib/LlvmState.cpp

  Log Message:
  -----------
  [Exegesis] CPU selection, when native arch and target mismatch (#131014)


  Commit: ac8e18cdcecbef0c1e5080aec4ad655f61b1a249
      https://github.com/llvm/llvm-project/commit/ac8e18cdcecbef0c1e5080aec4ad655f61b1a249
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
    M llvm/test/MC/AArch64/coff-relocations-diags.s

  Log Message:
  -----------
  [AArch64] Rename VariantKind to Specifier

Follow the naming of most other backends.

> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM AIX's documentation, and fits the assembler's role seamlessly.

In addition, rename `AArch64MCExpr::Kind` and `getKind`, which confusingly shadow the base class `Kind` and `getKind`.

DarwinRefKind, which still uses MCSymbolRefExpr::VariantKind, is not renamed.

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


  Commit: 649cbcc3764c554c9c9839f021d073fa9a9f0515
      https://github.com/llvm/llvm-project/commit/649cbcc3764c554c9c9839f021d073fa9a9f0515
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M libcxx/include/__bit_reference
    M libcxx/include/bitset

  Log Message:
  -----------
  [libc++] Remove unnecessary division and modulo operations in bitset (#121312)

The PR removes the unnecessary division and modulo operations in the
one-word specialization `__bitset<1, _Size>`. The reason is that for the
one-word specialization, we have `__pos < __bits_per_word` (as
`__bitset<1, _Size>` is an implementation detail only used by the public
`bitset`). So `__pos / __bits_per_word == 0` and `__pos / __pos %
__bits_per_word == __pos`.


  Commit: 529c5b71c608c18141432e6fd0ae89242d5f309d
      https://github.com/llvm/llvm-project/commit/529c5b71c608c18141432e6fd0ae89242d5f309d
  Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/test/Driver/slp-vectorize.f90

  Log Message:
  -----------
  [flang] Add -f[no-]slp-vectorize flags (#132801)

Add -f[no-]slp-vectorize to the flang driver.
Add corresponding -fvectorize-slp to the flang frontend.

Enable -fslp-vectorize at -O2 and higher in flang to match the current
behaviour in clang.

---------

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


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

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
    M flang/test/Fir/CUDA/cuda-shared-offset.mlir

  Log Message:
  -----------
  [flang][cuda] Only create shared memory global when needed (#132999)


  Commit: 7563e31127615876b02d13c3d5cf02207adfd073
      https://github.com/llvm/llvm-project/commit/7563e31127615876b02d13c3d5cf02207adfd073
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGen/int-to-bool.cpp
    M clang/test/CIR/Lowering/cast.cir

  Log Message:
  -----------
  [CIR] Implement lowering of int-to-bool casts (#132996)

Lowering of int-to-bool casts had been left as NYI because the incubator
implemented it by lowering to cir.cmp, which hasn't been upstreamed yet,
but there is no reason this cast can't be lowered directly to LLVM's
compare operation when we're lowering directly to the LLVM dialect.

This change lowers the cast directly to an LLVM compare to zero.


  Commit: 672c51c9cba82c2a316c3199b399bfcfec217f87
      https://github.com/llvm/llvm-project/commit/672c51c9cba82c2a316c3199b399bfcfec217f87
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/rotate-add.ll
    A llvm/test/CodeGen/ARM/rotate-add.ll
    A llvm/test/CodeGen/NVPTX/rotate-add.ll
    A llvm/test/CodeGen/X86/rotate-add.ll

  Log Message:
  -----------
  [SDAG][tests] add some test cases covering an add-based rotate (#132842)

Add tests to various targets covering rotate idioms where an 'ADD' node
is used to combine the halves instead of an 'OR'. Some of these cases
will be better optimized following #125612, while others are already
well optimized or do not have a valid fold to a rotate or funnel-shift.


  Commit: 03eb8258406b9684c44debc873f038a8779a8a09
      https://github.com/llvm/llvm-project/commit/03eb8258406b9684c44debc873f038a8779a8a09
  Author: David Tellenbach <dtellenbach at apple.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M compiler-rt/test/profile/instrprof-darwin-dead-strip.c

  Log Message:
  -----------
  [compiler-rt][Darwin][x86] Fix instrprof-darwin-dead-strip test (#132874)

ld issues a warning about section alignment on x86. Explicitly setting
the alignment fixes that.


  Commit: 074af0f30f8efb237cf9afe4bfb83769fa181d86
      https://github.com/llvm/llvm-project/commit/074af0f30f8efb237cf9afe4bfb83769fa181d86
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/Options.td
    M lld/docs/ReleaseNotes.rst
    M lld/docs/ld.lld.1
    A lld/test/ELF/why-live.test

  Log Message:
  -----------
  [lld][ELF] Add --why-live flag (inspired by Mach-O) (#127112)

This prints a stack of reasons that symbols that match the given glob(s)
survived GC. It has no effect unless section GC occurs.

This implementation does not require -ffunction-sections or
-fdata-sections to produce readable results, althought it does tend to
work better (as does GC).

Details about the semantics:
- Some chain of liveness reasons is reported; it isn't specified which
chain.
 - A symbol or section may be live:
   - Intrisically (e.g., entry point)
   - Because needed by a live symbol or section
   - (Symbols only) Because part of a section live for another reason
   - (Sections only) Because they contain a live symbol
 - Both global and local symbols (`STB_LOCAL`) are supported.
 - References to symbol + offset are considered to point to:
   - If the referenced symbol is a section (`STT_SECTION`):
- If a sized symbol encloses the referenced offset, the enclosing
symbol.
     - Otherwise, the section itself, generically.
   - Otherwise, the referenced symbol.


  Commit: 54cc4141e4e3707de88a6bb3fa8e62dccc27b66c
      https://github.com/llvm/llvm-project/commit/54cc4141e4e3707de88a6bb3fa8e62dccc27b66c
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    R llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    A llvm/lib/Target/SPIRV/SPIRVIRMapping.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.h
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/test/CodeGen/SPIRV/AtomicCompareExchange.ll
    A llvm/test/CodeGen/SPIRV/GroupAndSubgroupInstructions.spvasm
    M llvm/test/CodeGen/SPIRV/SampledImageRetType.ll
    M llvm/test/CodeGen/SPIRV/atomicrmw.ll
    M llvm/test/CodeGen/SPIRV/const-array-in-struct.ll
    M llvm/test/CodeGen/SPIRV/const-composite.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_checked.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-composite-construct.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-constant-composite.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-spec-const-composite.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-type-struct.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_20.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_spirv.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_cooperative_matrix/cooperative_matrix.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
    M llvm/test/CodeGen/SPIRV/freeze.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/AddUint64.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_i8packed.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_u8packed.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
    M llvm/test/CodeGen/SPIRV/image/sampler.ll
    M llvm/test/CodeGen/SPIRV/inline/type.ll
    M llvm/test/CodeGen/SPIRV/keep-tracked-const.ll
    M llvm/test/CodeGen/SPIRV/literals.ll
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/constrained-comparison.ll.bak
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/smul.with.overflow.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/sqrt.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/uadd.with.overflow.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/umul.with.overflow.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/usub.with.overflow.ll
    M llvm/test/CodeGen/SPIRV/opaque_pointers.ll
    M llvm/test/CodeGen/SPIRV/optimizations/add-check-overflow.ll
    M llvm/test/CodeGen/SPIRV/passes/translate-aggregate-uaddo.ll
    M llvm/test/CodeGen/SPIRV/pointers/array-skips-gep.ll
    A llvm/test/CodeGen/SPIRV/pointers/ptr-eq-types.ll
    M llvm/test/CodeGen/SPIRV/pstruct.ll
    M llvm/test/CodeGen/SPIRV/scoped_atomicrmw.ll
    M llvm/test/CodeGen/SPIRV/sitofp-with-bool.ll
    A llvm/test/CodeGen/SPIRV/store-bool.ll
    M llvm/test/CodeGen/SPIRV/struct.ll
    M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
    M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpVectorInsertDynamic_i16.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_cmpxchg.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_legacy.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_work_item_fence.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/barrier.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/work_group_barrier.ll
    M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
    M llvm/test/CodeGen/SPIRV/transcoding/group_ops.ll
    M llvm/test/CodeGen/SPIRV/transcoding/memcpy-zext.ll
    M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
    M llvm/test/CodeGen/SPIRV/transcoding/sub_group_ballot.ll
    M llvm/test/CodeGen/SPIRV/transcoding/sub_group_clustered_reduce.ll
    M llvm/test/CodeGen/SPIRV/transcoding/sub_group_extended_types.ll
    M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_arithmetic.ll
    M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_vote.ll
    M llvm/test/CodeGen/SPIRV/transcoding/sub_group_shuffle.ll
    M llvm/test/CodeGen/SPIRV/transcoding/sub_group_shuffle_relative.ll
    M llvm/test/CodeGen/SPIRV/uitofp-with-bool.ll

  Log Message:
  -----------
  [SPIR-V] Rework duplicate tracker and tracking of IR entities and types to improve compile-time performance (#130605)

This PR is to thoroughly rework duplicate tracker implementation and
tracking of IR entities and types. These are legacy parts of the project
resulting in an extremely bloated intermediate representation and
computational delays due to inefficient data flow and structure choices.

Main results of the rework:

1) Improved compile-time performance. The reference binary LLVM IR used
to measure speed gains in
https://github.com/llvm/llvm-project/pull/120415 shows ~x5 speed up also
after this PR. The timing before this PR is ~42s and after this PR it's
~7.5s. In total this PR and the previous overhaul of the module analysis
in https://github.com/llvm/llvm-project/pull/120415 results in ~x25
speed improvement.
```
$ time llc -O0 -mtriple=spirv64v1.6-unknown-unknown _group_barrier_phi.bc -o 1 --filetype=obj

real    0m7.545s
user    0m6.685s
sys     0m0.859s
```

2) Less bloated intermediate representation of internal translation
steps. Elimination of `spv_track_constant` intrinsic usage for scalar
constants, rework of `spv_assign_name`, removal of the gMIR `GET_XXX`
pseudo code and a smaller number of generated `ASSIGN_TYPE` pseudo codes
substantially decrease volume of data generated during translation.

3) Simpler code and easier maintenance. The duplicate tracker
implementation is simplified, as well as other features.

4) Numerous fixes of issues and logical flaws in different passes. The
main achievement is rework of the duplicate tracker itself that had
never guaranteed a correct caching of LLVM IR entities, rarely and
randomly returning stale/incorrect records (like, remove an instruction
from gMIR but still refer to it). Other fixes comprise consistent
generation of OpConstantNull, assigning types to newly created
registers, creation of integer/bool types, and other minor fixes.

5) Numerous fixes of LIT tests: mainly CHECK-DAG to properly reflect
SPIR-V spec guarantees, `{{$}}` at the end of constants to avoid
matching of substrings, and XFAILS for `SPV_INTEL_long_composites` test
cases, because the feature is not completed in full yet and doesn't
generate a requested by the extension sequence of instructions.

6) New test cases are added.


  Commit: e8dfd70fe2490649c600b1f4cf439a89d65f2d0f
      https://github.com/llvm/llvm-project/commit/e8dfd70fe2490649c600b1f4cf439a89d65f2d0f
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir

  Log Message:
  -----------
  [MLIR][NVGPU] Use `gpu.dynamic_shared_memory` in tests (#133122)

Reland #133051


  Commit: 9269aaecffb7050dddbbe5d17ddd9f3ca2e577f0
      https://github.com/llvm/llvm-project/commit/9269aaecffb7050dddbbe5d17ddd9f3ca2e577f0
  Author: Frank Schlimbach <frank.schlimbach at intel.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/lib/Dialect/Tensor/Extensions/MeshShardingExtensions.cpp
    M mlir/test/Dialect/Tensor/mesh-spmdization.mlir

  Log Message:
  -----------
  [mlir][mesh] fixes for 0d tensors (#132948)

In some cases 0d tensors have no sharding. This PR provides a few minor
fixes to account for such cases.


  Commit: 4cabee35b76b01760be89fa3943464ed92fb9666
      https://github.com/llvm/llvm-project/commit/4cabee35b76b01760be89fa3943464ed92fb9666
  Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M flang/test/Driver/slp-vectorize.f90

  Log Message:
  -----------
  [flang] Fix slp-vectorize.f90 test (#133128)

The test was missing "-o /dev/null" and inadvertently generating a .ll
file in the test directory.

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


  Commit: 96d1baedefc3581b53bc4389bb171760bec6f191
      https://github.com/llvm/llvm-project/commit/96d1baedefc3581b53bc4389bb171760bec6f191
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M flang-rt/README.md
    M flang/CMakeLists.txt
    R flang/cmake/modules/AddFlangOffloadRuntime.cmake
    M flang/examples/CMakeLists.txt
    R flang/examples/ExternalHelloWorld/CMakeLists.txt
    R flang/runtime/CMakeLists.txt
    R flang/runtime/CUDA/CMakeLists.txt
    R flang/runtime/Float128Math/CMakeLists.txt
    M flang/test/CMakeLists.txt
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/f18/CMakeLists.txt
    M flang/unittests/CMakeLists.txt
    M flang/unittests/Evaluate/CMakeLists.txt
    R flang/unittests/Runtime/CMakeLists.txt
    R flang/unittests/Runtime/CUDA/CMakeLists.txt
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [Flang] Remove FLANG_INCLUDE_RUNTIME (#124126)

Remove the FLANG_INCLUDE_RUNTIME option which was replaced by
LLVM_ENABLE_RUNTIMES=flang-rt.

The FLANG_INCLUDE_RUNTIME option was added in #122336 which disables the
non-runtimes build instructions for the Flang runtime so they do not
conflict with the LLVM_ENABLE_RUNTIMES=flang-rt option added in #110217.
In order to not maintain multiple build instructions for the same thing,
this PR completely removes the old build instructions (effectively
forcing FLANG_INCLUDE_RUNTIME=OFF).

As per discussion in
https://discourse.llvm.org/t/buildbot-changes-with-llvm-enable-runtimes-flang-rt/83571/2
we now implicitly add LLVM_ENABLE_RUNTIMES=flang-rt whenever Flang is
compiled in a bootstrapping (non-standalone) build. Because it is
possible to build Flang-RT separately, this behavior can be disabled
using `-DFLANG_ENABLE_FLANG_RT=OFF`. Also see the discussion an
implicitly adding runtimes/projects in #123964.


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

  Changed paths:
    M libcxx/utils/ci/BOT_OWNERS.txt

  Log Message:
  -----------
  [libc++] Add GitHub usernames for Linaro managed bots (#133120)

This isn't the whole team, but enough that one of us will see it and
make sure the right person sees it.

Noted explicitly that Picolibc is also our responsiblity as it's not
always clear that that is tested on Arm.


  Commit: 0106e5ad91d7b7d9045e82f2eb7319ab0f74d27a
      https://github.com/llvm/llvm-project/commit/0106e5ad91d7b7d9045e82f2eb7319ab0f74d27a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M libc/startup/gpu/CMakeLists.txt

  Log Message:
  -----------
  [libc] Temporarily disable LTO flags for AMDGPU crt1.o

Summary:
Some recent changes seem to have introduced a bug that breaks this. Turn
it off while I triage it.


  Commit: 545ea0dd378912d588550a79728cc98cd4dbaa24
      https://github.com/llvm/llvm-project/commit/545ea0dd378912d588550a79728cc98cd4dbaa24
  Author: Frank Schlimbach <frank.schlimbach at intel.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:

  Log Message:
  -----------
  [mlir][mesh] fixes for 0d tensors (#132948)

Accounting for cases where 0d tensors have no sharding (like scalars).


  Commit: 27539c3f903be26c487703943d3c27d45d4542b2
      https://github.com/llvm/llvm-project/commit/27539c3f903be26c487703943d3c27d45d4542b2
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M flang-rt/README.md
    M flang/CMakeLists.txt
    A flang/cmake/modules/AddFlangOffloadRuntime.cmake
    M flang/examples/CMakeLists.txt
    A flang/examples/ExternalHelloWorld/CMakeLists.txt
    A flang/runtime/CMakeLists.txt
    A flang/runtime/CUDA/CMakeLists.txt
    A flang/runtime/Float128Math/CMakeLists.txt
    M flang/test/CMakeLists.txt
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/f18/CMakeLists.txt
    M flang/unittests/CMakeLists.txt
    M flang/unittests/Evaluate/CMakeLists.txt
    A flang/unittests/Runtime/CMakeLists.txt
    A flang/unittests/Runtime/CUDA/CMakeLists.txt
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  Revert "[Flang] Remove FLANG_INCLUDE_RUNTIME (#124126)"

The production buildbot master apparently has not yet been restarted
since https://github.com/llvm/llvm-zorg/pull/393 landed.

This reverts commit 96d1baedefc3581b53bc4389bb171760bec6f191.


  Commit: 6a371c7744c276c872fec4947f1642789e5b24ec
      https://github.com/llvm/llvm-project/commit/6a371c7744c276c872fec4947f1642789e5b24ec
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/CodeGen/RISCV/features-info.ll
    A llvm/test/CodeGen/RISCV/option-exact-inlineasm.ll
    A llvm/test/MC/RISCV/option-exact.s
    M llvm/test/MC/RISCV/option-invalid.s

  Log Message:
  -----------
  [RISCV] Support .option {no}exact (#122483)

This implements [the `.option exact` and `.option noexact`
proposal](https://github.com/riscv-non-isa/riscv-asm-manual/pull/122)
for RISC-V.

`.option exact` turns off:
- Compression
- Branch Relaxation
- Linker Relaxation

`.option noexact` turns these back on, and is also the default, matching
the current behaviour.


  Commit: a80aad28123101539134c277c6904905016754ca
      https://github.com/llvm/llvm-project/commit/a80aad28123101539134c277c6904905016754ca
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Support/YAMLTraits.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
    M llvm/test/CodeGen/Generic/MIRStripDebug/no-metadata-present.mir
    M llvm/test/CodeGen/MIR/AArch64/empty-MF.mir
    M llvm/test/tools/obj2yaml/Minidump/basic.yaml
    M llvm/unittests/Support/YAMLIOTest.cpp

  Log Message:
  -----------
  [YAML] fix output incorrect format for block scalar string (#132897)

After outputting block scalar string, the indent will be wrong.
This patch fixes Padding after block scalar string to ensure the correct
format of yaml.

The new added ut will fail in main.
```diff
@@ -3,4 +3,4 @@
     Just a block
     scalar doc
-scalar:          a
+  scalar:          a
 ...\n
```


  Commit: 6d1184d05ffe3872ce5ea186c0cd3085219aae07
      https://github.com/llvm/llvm-project/commit/6d1184d05ffe3872ce5ea186c0cd3085219aae07
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.h

  Log Message:
  -----------
  [CIR][NFC] Organize emit functions in CIRGenFunction.h (#133017)

To make rebasing the incubator project easier, we've been trying to
place upstreamed code in the same order in which it appears in the
incubator project. However, while the upstream implementation is still
relatively sparse, it is often difficult to find points of reference for
placement of new declarations. To help with that, I refactored
CIRGenFunction.h in the incubator to put all the emit* functions in one
place and sort them alphabetically.

This change reorganizes the upstream CIRGenFunction.h to match the new
incubator ordering.


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

  Changed paths:
    M clang/include/clang/AST/NestedNameSpecifier.h
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaCXX/member-pointer.cpp
    M clang/test/SemaTemplate/instantiation-backtrace.cpp

  Log Message:
  -----------
  [clang] fix deduction of member pointers with dependent named classes (#133113)

This fixes a regression when interpreting a nested name specifier for
deduction purposes in member pointers.

This introduces a helper for fully translating a nested name specifier
into a type.

This regression was introduced here:
https://github.com/llvm/llvm-project/pull/130537
and was reported here:
https://github.com/llvm/llvm-project/pull/132401#issuecomment-2751489581

No release notes, since this regression was never released.


  Commit: d2a7a249c567cb170f22fe6e932896f9298b581d
      https://github.com/llvm/llvm-project/commit/d2a7a249c567cb170f22fe6e932896f9298b581d
  Author: Matthias Braun <matze at braunis.de>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Support/Compiler.h

  Log Message:
  -----------
  Add __attribute__((retain)) to LLVM_DUMP_METHOD (#133025)

Without the retain attribute the dump functions will be stripped when
LLVM is compiled with `-ffunction-section -Wl,--gc-sections` on
ELF-based systems.


  Commit: 1876a89b259b04af28ca0ffbcff36d5e9e2eb71a
      https://github.com/llvm/llvm-project/commit/1876a89b259b04af28ca0ffbcff36d5e9e2eb71a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-exegesis/X86/mcpu_not_set_during_cross_compilation.s

  Log Message:
  -----------
  [llvm-exegesis] Require RISCV Target for new test

This test was causing buildbot failures because it requires both the
RISCV and X86 targets to be enabled to run successfully. It already
requires the X86 target by virtue of being in the X86/ test directory,
but failed to require the RISCV target, which this patch corrects.


  Commit: 25c5bad2f26e96a44b84765bedd82ee9bcffd22c
      https://github.com/llvm/llvm-project/commit/25c5bad2f26e96a44b84765bedd82ee9bcffd22c
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/splat-vectors.ll

  Log Message:
  -----------
  [RISCV] Check the legality of source vector types in matchSplatAsGather (#133028)

When we're trying to lower `extractelement + splat` with
vrgather.vi/.vx, we should also check the legality of source vector type
from `extractelement`, as the entire transformation assumes legal types.

Fixes #133020


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

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    A flang/test/Preprocessing/kind-suffix.F90

  Log Message:
  -----------
  [flang] Allow macro replacement in numeric kind suffix (#132120)

When a numeric value has a kind suffix containing an identifier, allow
macro replacement for that identifier by treating it as its own token.

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


  Commit: 38207a52a701f8c2b77087450b277e7debd8fe73
      https://github.com/llvm/llvm-project/commit/38207a52a701f8c2b77087450b277e7debd8fe73
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M flang/lib/Semantics/check-coarray.cpp
    A flang/test/Semantics/sync-images.f90

  Log Message:
  -----------
  [flang] Test SYNC IMAGES, increase checking (#132279)

Add a test for the SYNC IMAGES statement, and add a check for invalid
image numbers.


  Commit: 4ea5aa09deba468b250bebf3614e2a0cc57ec4b6
      https://github.com/llvm/llvm-project/commit/4ea5aa09deba468b250bebf3614e2a0cc57ec4b6
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M flang-rt/lib/runtime/io-api.cpp
    M flang-rt/lib/runtime/io-stmt.cpp
    M flang-rt/unittests/Runtime/ExternalIOTest.cpp
    M flang-rt/unittests/Runtime/ListInputTest.cpp
    M flang-rt/unittests/Runtime/LogicalFormatTest.cpp
    M flang-rt/unittests/Runtime/Namelist.cpp
    M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
    M flang-rt/unittests/Runtime/RuntimeCrashTest.cpp
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    R flang/include/flang/Runtime/io-api-consts.h
    M flang/include/flang/Runtime/io-api.h
    M flang/lib/Lower/IO.cpp
    M flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
    M flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp

  Log Message:
  -----------
  [flang][NFC] Restore I/O runtime API header name (#132423)

flang/include/flang/Runtime/io-api.h was changed into io-api-consts.h,
then wrapped into a new io-api.h that includes io-api-consts.h, does
some redundant includes and declarations, and then declares the
prototype of one function, InquiryKeywordHashDecode.

Make that function static in io-stmt.cpp prior to its sole call site,
then undo the renaming, to reduce confusion and redundancy.


  Commit: 6df27dd42d827a2468dcf4b4b1ee1a8e8af1a408
      https://github.com/llvm/llvm-project/commit/6df27dd42d827a2468dcf4b4b1ee1a8e8af1a408
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

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

  Log Message:
  -----------
  [flang] Fix missed case of symbol renaming in module file generation (#132475)

The map of symbols requiring new local aliases for USE association needs
to use the symbols' ultimate resolutions to avoid missing cases that can
arise in convoluted codes with lots of confusing renamings.

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


  Commit: 3bc8aa7823870cb4863cc32eb5917b610b5def87
      https://github.com/llvm/llvm-project/commit/3bc8aa7823870cb4863cc32eb5917b610b5def87
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M flang/include/flang/Semantics/expression.h
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/assign04.f90

  Log Message:
  -----------
  [flang] Catch whole assumed-size array as RHS (#132819)

The right-hand side expression of an intrinsic assignment statement may
not be the name of an assumed-size array dummy argument.


  Commit: 9b7a7e4b9e44a73978c374f95f90332620f87ce8
      https://github.com/llvm/llvm-project/commit/9b7a7e4b9e44a73978c374f95f90332620f87ce8
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_ftn_entry.h
    M openmp/runtime/src/kmp_platform.h
    M openmp/runtime/src/kmp_runtime.cpp
    M openmp/runtime/src/kmp_wrapper_getpid.h
    M openmp/runtime/src/z_Linux_util.cpp
    M openmp/runtime/test/lit.cfg
    M openmp/tools/multiplex/ompt-multiplex.h

  Log Message:
  -----------
  [OpenMP] Add support for Haiku (#133034)

Co-authored-by: Jérôme Duval <jerome.duval at gmail.com>


  Commit: bcad0501062325457cc9dae4b8b083e3bd2a04e3
      https://github.com/llvm/llvm-project/commit/bcad0501062325457cc9dae4b8b083e3bd2a04e3
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    A cross-project-tests/tools/llvm-objdump/ARM/lit.local.cfg
    A cross-project-tests/tools/llvm-objdump/ARM/plt.c
    M lld/test/ELF/arm-gnu-ifunc-plt.s
    M lld/test/ELF/arm-mixed-plts.s
    M lld/test/ELF/arm-plt-reloc.s
    M lld/test/ELF/arm-thumb-interwork-shared.s
    M lld/test/ELF/arm-thumb-interwork-thunk.s
    M lld/test/ELF/arm-thumb-plt-range-thunk-os.s
    M lld/test/ELF/arm-thumb-plt-reloc.s
    M lld/test/ELF/arm-thunk-multipass-plt.s
    M lld/test/ELF/arm-thunk-re-add.s
    M lld/test/ELF/armv8-thumb-plt-reloc.s
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [llvm-objdump][ARM] Find ELF file PLT entries for arm, thumb (#130764)

This implements arm, armeb, thumb, thumbeb PLT entries parsing support
in ELF for llvm-objdump.

Implementation is similar to AArch64MCInstrAnalysis::findPltEntries. PLT
entry signatures are based on LLD code for PLT generation
(ARM::writePlt).

llvm-objdump tests are produced from lld/test/ELF/arm-plt-reloc.s,
lld/test/ELF/armv8-thumb-plt-reloc.s.


  Commit: 86690ce3b79e7f54a6e617a162de6ff5a350e717
      https://github.com/llvm/llvm-project/commit/86690ce3b79e7f54a6e617a162de6ff5a350e717
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Remove unnecessary calls MCRegister::id(). NFC


  Commit: 2d14797f407fbe69eb969806c0c9cfe1f63ccda4
      https://github.com/llvm/llvm-project/commit/2d14797f407fbe69eb969806c0c9cfe1f63ccda4
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M .github/workflows/docs.yml

  Log Message:
  -----------
  [Github] Simplify checkout in docs test workflow (#132975)

This makes things quite a bit simpler and also gets rid of some API
calls. We weren't hitting any API limits, but getting rid of them leaves
more quota for other things should we ever need it. This just diffs the
merge commit in the pull request workflows, which gives the diff for the
PR.


  Commit: 7b130f4aa896905354a855a341d7ded69fe9f5db
      https://github.com/llvm/llvm-project/commit/7b130f4aa896905354a855a341d7ded69fe9f5db
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M libc/src/__support/CPP/atomic.h

  Log Message:
  -----------
  [libc][CPP] correct cmpxchg failure ordering inference (#133127)

See https://en.cppreference.com/w/cpp/atomic/atomic/compare_exchange.
The failure order should be inferred from the success order if it is not
explicitly specified.


  Commit: 304454f9e71ddbbb6c25e1b5d406131ded2417d0
      https://github.com/llvm/llvm-project/commit/304454f9e71ddbbb6c25e1b5d406131ded2417d0
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/cl-options.c

  Log Message:
  -----------
  [clang-cl] Accept the --warning-suppression-mappings= option (#133092)


  Commit: 3ab70e3f90f43f33bd3180c1c3a9f9b00c4d6922
      https://github.com/llvm/llvm-project/commit/3ab70e3f90f43f33bd3180c1c3a9f9b00c4d6922
  Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp
    A flang/test/Semantics/sizeof.f90

  Log Message:
  -----------
  [Flang] Change sizeof argument name to "x" (#130189)

This closes #128610 by fixing the name of the argument to the sizeof
function to be "x" and adds a test.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll

  Log Message:
  -----------
  [LoopVectorizer][AArch64] Move getMinTripCountTailFoldingThreshold later. (#132170)

This moves the checks of MinTripCountTailFoldingThreshold later, during the
calculation of whether to tail fold. This allows it to check beforehand whether
tail predication is required, either for scalable or fixed-width vectors.

This option is only specified for AArch64, where it returns the minimum of 5.
This patch aims to allow the vectorization of TC=4 loops, preventing them from
performing slower when SVE is present.


  Commit: 077940621d2ef1352f0353a58c3130ed6c3034e8
      https://github.com/llvm/llvm-project/commit/077940621d2ef1352f0353a58c3130ed6c3034e8
  Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M flang/lib/Parser/message.cpp
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/test/Driver/debug-parsing-log.f90
    A flang/test/Parser/acc-data-statement.f90
    A flang/test/Parser/acc.f

  Log Message:
  -----------
  [flang][openacc] Make OpenACC block construct parse errors less verbose. (#131042)

This PR does reduces the verbosity of parser errors for OpenACC block
constructs that do not parse correctly because they are missing their
trailing end block directive by:
- Removing the redundant error messages created by parsing 3 different
styles of directive tokens.
- Providing a general mechanism of configuring the max number of
contexts printed for every syntax error.
- Not printing less specific contexts that are at the same location.

Prior to the changes:
```
$ flang -fc1 -fopenacc -fsyntax-only flang/test/Parser/acc-data-statement.f90 2>&1 | tee acc-data-statement.prior.log | wc -l
262
```

[acc-data-statement.prior.log](https://github.com/user-attachments/files/19298165/acc-data-statement.prior.log)

```
$ flang -fc1 -fopenacc -fsyntax-only flang/test/Parser/acc-data-statement.f90 2>&1 | tee acc-data-statement.prior.log | wc -l
73
```

[acc-data-statement.post.log](https://github.com/user-attachments/files/19298181/acc-data-statement.post.log)


  Commit: 9224165871c5555acc568b3895c736ff2a580e1e
      https://github.com/llvm/llvm-project/commit/9224165871c5555acc568b3895c736ff2a580e1e
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    A .ci/compute_projects.py
    A .ci/compute_projects_test.py

  Log Message:
  -----------
  [CI] Add Python Script for Computing Projects/Runtimes to Test

This patch adds a python script, compute_projects, and associated unit
tests for computing the projects and runtimes that need to be tested in
premerge. Rewriting in Python opens up a couple new
improvements/opportunities:
1. I personally find python to be much easier to work with than shell
   scripts for tasks like this. Particularly it becomes a lot easier to
   work with paths with proper array support.
2. Unit testing becomes easier which makes it a lot easier to reason
   about behavior changes, especially in review.
3. Most of the configuration is now setup in some dictionaries, which
   makes changes much easier to apply for most of the common changes.

This preserves the behavior of the existing premerge scripts as much as
possible.

Reviewers: ldionne, lnihlen, Endilll, tstellar, Keenuts

Reviewed By: Keenuts

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


  Commit: 51bceb46f8eeb7c3d060387be315ca41855933c2
      https://github.com/llvm/llvm-project/commit/51bceb46f8eeb7c3d060387be315ca41855933c2
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt

  Log Message:
  -----------
  [libcxx] [test] Fix restoring LLVM_DIR and Clang_DIR (#132838)

In 664f345cd53d1f624d94f9889a1c9fff803e3391, a fix was introduced,
attempting to restore LLVM_DIR and Clang_DIR after doing
find_package(Clang).

However, 6775285e7695f2d45cf455f5d31b2c9fa9362d3d added a return if the
clangTidy target wasn't found. If this is hit, we don't restore LLVM_DIR
and Clang_DIR, which causes strange effects if CMake is rerun a second
time.

Move the code for restoring LLVM_DIR and Clang_DIR to directly after the
find_package calls, to make sure they are restored, regardless of the
find_package outcome.


  Commit: 25f4f0a56de741a8120cfeab297211e9505ec1d7
      https://github.com/llvm/llvm-project/commit/25f4f0a56de741a8120cfeab297211e9505ec1d7
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/lib/BinaryFormat/ELF.cpp
    M llvm/lib/InterfaceStub/IFSHandler.cpp
    M llvm/test/tools/llvm-ifs/write-stub.test

  Log Message:
  -----------
  [llvm-ifs] Handle more e_machine values for --target (#128559)

This adds ELF::convertTripleArchTypeToEMachine and uses it in
llvm-ifs.  It handles many more Triple::ArchType values than the
old code, though not all since I couldn't quickly discern
what all the mappings are.


  Commit: 2d1517d257fcbd0c9bce14badc7646e94d81ea2b
      https://github.com/llvm/llvm-project/commit/2d1517d257fcbd0c9bce14badc7646e94d81ea2b
  Author: Austin Schuh <AustinSchuh at users.noreply.github.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/lib/Headers/__clang_cuda_intrinsics.h

  Log Message:
  -----------
  cuda clang: Fix argument order for __reduce_max_sync (#132881)


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

---------

Signed-off-by: Austin Schuh <austin.linux at gmail.com>


  Commit: 2c7d40b2f0c5e68e90297b605ceb70c55d201bca
      https://github.com/llvm/llvm-project/commit/2c7d40b2f0c5e68e90297b605ceb70c55d201bca
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.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/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-trunc.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-constant-ops.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-prefer-flag.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/large-loop-rdx.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/pr41179.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/small-loop-rdx.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
    M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll
    M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
    M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
    M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
    M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
    M llvm/test/Transforms/LoopVectorize/cast-induction.ll
    M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
    M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-const-TC.ll
    M llvm/test/Transforms/LoopVectorize/expand-scev-after-invoke.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-interleave-only.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/induction-ptrcasts.ll
    M llvm/test/Transforms/LoopVectorize/induction-unroll-novec.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/interleave-with-i65-induction.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction-unroll.ll
    M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
    M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/reduction-odd-interleave-counts.ll
    M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
    M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
    M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/select-min-index.ll
    M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
    M llvm/test/Transforms/LoopVectorize/strided-accesses-interleave-only.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
    M llvm/test/Transforms/LoopVectorize/unroll_nonlatch.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll

  Log Message:
  -----------
  [VPlan] Generalize SCALAR-STEPS removal to any unroll factor.

Follow-up to dfca6c0d3bf9d1a056 to extend isUnrolled handle any unrolled
VPlan, which means there's a single UF, but it will be > 1 if unrolling
took place.


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

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

  Log Message:
  -----------
  [libc][bazel] Create a libc_header_library macro for hand-in-hand. (#133131)

Create a proper way to build header-only libraries for llvm-libc code
sharing. Use it to group headers that can be shared with libcxx for
std::from_chars() implementation.

It mostly works, though the macro needs to be updated to enforce that no
.cpp files are listed in dependencies (it's not the case now) - see PR
#133126.


  Commit: 38aac86a2490ba1974755758e1311a6cbdbefb25
      https://github.com/llvm/llvm-project/commit/38aac86a2490ba1974755758e1311a6cbdbefb25
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp

  Log Message:
  -----------
  [TableGen] Speed up inferMatchingSuperRegClass. NFC. (#133060)

SubToSuperRegs was a DenseMap of std::vectors, where the vectors
typically had size 1. Switching to a vector of pairs avoids the overhead
of allocating tiny vectors.

I measured a 1.14x speed-up building AMDGPUGenRegisterInfo.inc with this
patch.


  Commit: 9c18edc62123e778d1d713df44aa05c91e7bbbae
      https://github.com/llvm/llvm-project/commit/9c18edc62123e778d1d713df44aa05c91e7bbbae
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Core/FormatEntity.h
    M lldb/include/lldb/Core/IOHandler.h
    A lldb/include/lldb/Core/Statusline.h
    M lldb/include/lldb/Host/Editline.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/IOHandler.cpp
    A lldb/source/Core/Statusline.cpp
    M lldb/source/Host/common/Editline.cpp
    R lldb/test/API/functionalities/progress_reporting/TestTrimmedProgressReporting.py
    A lldb/test/API/functionalities/statusline/Makefile
    A lldb/test/API/functionalities/statusline/TestStatusline.py
    A lldb/test/API/functionalities/statusline/main.c

  Log Message:
  -----------
  [lldb] Implement a statusline in LLDB (#121860)

Add a statusline to command-line LLDB to display information about the
current state of the debugger. The statusline is a dedicated area
displayed at the bottom of the screen. The information displayed is
configurable through a setting consisting of LLDB’s format strings.

Enablement
----------

The statusline is enabled by default, but can be disabled with the
following setting:

```
(lldb) settings set show-statusline false
```

Configuration
-------------

The statusline is configurable through the `statusline-format` setting.
The default configuration shows the target name, the current file, the
stop reason and any ongoing progress events.

```
(lldb) settings show statusline-format
statusline-format (format-string) = "${ansi.bg.blue}${ansi.fg.black}{${target.file.basename}}{ | ${line.file.basename}:${line.number}:${line.column}}{ | ${thread.stop-reason}}{ | {${progress.count} }${progress.message}}"
```

The statusline supersedes the current progress reporting implementation.
Consequently, the following settings no longer have any effect (but
continue to exist to not break anyone's `.lldbinit`):

```
show-progress             -- Whether to show progress or not if the debugger's output is an interactive color-enabled terminal.
show-progress-ansi-prefix -- When displaying progress in a color-enabled terminal, use the ANSI terminal code specified in this format immediately before the progress message.
show-progress-ansi-suffix -- When displaying progress in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the progress message.
```

Format Strings
--------------

LLDB's format strings are documented in the LLDB documentation and on
the website: https://lldb.llvm.org/use/formatting.html#format-strings.
The current implementation is relatively limited but various
improvements have been discussed in the RFC.

One such improvement is being to display a string when a format string
is empty. Right now, when launching LLDB without a target, the
statusline will be empty, which is expected, but looks rather odd.

RFC
---

The full RFC can be found on Discourse:
https://discourse.llvm.org/t/rfc-lldb-statusline/83948


  Commit: 533f85ae0542ee80a9b19bef09234646a7b19d1c
      https://github.com/llvm/llvm-project/commit/533f85ae0542ee80a9b19bef09234646a7b19d1c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Core/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 9c18edc62123


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

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Remove unnecessary struct keyword. NFC


  Commit: bfe85230e2dc27493b82ffba5a46c8f7449a6e10
      https://github.com/llvm/llvm-project/commit/bfe85230e2dc27493b82ffba5a46c8f7449a6e10
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlow/IntegerRangeAnalysis.h
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp

  Log Message:
  -----------
  [mlir][IntegerRangeAnalysis] expose maybeReplaceWithConstant (#133151)

This PR exposes `maybeReplaceWithConstant` in headers for downstream
use.


  Commit: 6075275e68bd2362095af76b1acb49c2ac9610a4
      https://github.com/llvm/llvm-project/commit/6075275e68bd2362095af76b1acb49c2ac9610a4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp

  Log Message:
  -----------
  [AsmPrinter] Don't pass Twine by value. NFC


  Commit: 06411399fb6f29277cfb3601f8c9603778f20224
      https://github.com/llvm/llvm-project/commit/06411399fb6f29277cfb3601f8c9603778f20224
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/bswap.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
    M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/fma.f16.ll
    M llvm/test/CodeGen/AMDGPU/fmax_legacy.f16.ll
    M llvm/test/CodeGen/AMDGPU/fmin_legacy.f16.ll
    M llvm/test/CodeGen/AMDGPU/fshr.ll
    M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix.ll
    M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll
    M llvm/test/CodeGen/AMDGPU/strict_fadd.f16.ll
    M llvm/test/CodeGen/AMDGPU/strict_fma.f16.ll
    M llvm/test/CodeGen/AMDGPU/strict_fmul.f16.ll
    M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
    M llvm/test/CodeGen/AMDGPU/strict_ldexp.f16.ll
    M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] srl pattern for true16 mode (#132987)

Added a srl pattern for true16 flow. Changing right shift 16bit to a
reg_sequence
`srl vgpr32, 16 -> reg_sequence (vgpr32.hi16,  0)`

and finally it's lowered to two COPY
`vdst.lo16 = COPY vsrc.hi16`
`vdst.hi16 = COPY 0`

The benefits of this transform is allowing the following pass to
optimize out these copy.


  Commit: 26bc1c6058d0af952de3073dcc9e710b4ba256aa
      https://github.com/llvm/llvm-project/commit/26bc1c6058d0af952de3073dcc9e710b4ba256aa
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.ll

  Log Message:
  -----------
  [RISCV] Fix incorrect runline for test


  Commit: 78d7dd297f20a7b993ff177d956b0b7446a906f7
      https://github.com/llvm/llvm-project/commit/78d7dd297f20a7b993ff177d956b0b7446a906f7
  Author: George Burgess IV <george.burgess.iv at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M .github/workflows/containers/github-action-ci/Dockerfile

  Log Message:
  -----------
  [github] remove more caches after downloading things (#133129)

This is generally good practice if the caches won't be reused (though
arguably pedantic for the `stage1-toolchain` stage).

`docker history` on comparable images showed that this saves a few
hundred MB on stage1, and ~60MB on the `apt-get` layer of
`ci-container-agent`.


  Commit: 3386156b1e8418083e99833d3d22420cf439c039
      https://github.com/llvm/llvm-project/commit/3386156b1e8418083e99833d3d22420cf439c039
  Author: QuietMisdreavus <QuietMisdreavus at users.noreply.github.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    A clang/test/Index/extract-api-cursor-cpp.cpp

  Log Message:
  -----------
  [clang][ExtractAPI] fix a couple crashes when used via libclang (#132297)

This PR fixes two crashes in ExtractAPI that occur when decls are
requested via libclang:

- A null-dereference would sometimes happen in
`DeclarationFragmentsBuilder::getFragmentsForClassTemplateSpecialization`
when the template being processed was loaded indirectly via a typedef,
with parameters filled in. The first commit loads the template parameter
locations ahead of time to perform a null check before dereferencing.
- An assertion (or another null-dereference) was happening in
`CXXRecordDecl::bases` when processing a forward-declaration (i.e. a
record without a definition). The second commit guards the use of
`bases` in `ExtractAPIVisitorBase::getBases` by first checking that the
decl in question has a complete definition.

The added test `extract-api-cursor-cpp` adds tests for these two
scenarios to protect against the crash in the future.

Fixes rdar://140592475, fixes rdar://123430367


  Commit: 2b43ecd27b9651ac2bfb1328ad14b43a0f47a385
      https://github.com/llvm/llvm-project/commit/2b43ecd27b9651ac2bfb1328ad14b43a0f47a385
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor.cpp

  Log Message:
  -----------
  [webkit.RefCntblBaseVirtualDtor] Add support for NoVirtualDestructorBase. (#132497)

This PR adds the support for WTF::NoVirtualDestructorBase, which
signifies to the checker that the class is exempt from having a virtual
destructor.


  Commit: 7da71a6b7132be8db76c67e34a2ba497bf851779
      https://github.com/llvm/llvm-project/commit/7da71a6b7132be8db76c67e34a2ba497bf851779
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py

  Log Message:
  -----------
  [CI] Exclude runtimes from being tested as projects

Before this patch, making a change to a runtime directory (like libcxx)
would cause the project to be added to the LLVM_ENABLE_PROJECTS CMake
flag which is illegal as they can only be built as part of
LLVM_ENABLE_RUNTIMES. This patch fixes that behavior. Test added.


  Commit: f1dad0bcb58f2b8bf0d847d4a65909b797be4fa1
      https://github.com/llvm/llvm-project/commit/f1dad0bcb58f2b8bf0d847d4a65909b797be4fa1
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
    M llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
    M llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.exe
    M llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.o

  Log Message:
  -----------
  [DWARFLinker] Handle empty sequences when processing `DW_AT_LLVM_stmt_sequence` attributes (#132875)

We previously assumed that every `DW_AT_LLVM_stmt_sequence` attribute
has a corresponding sequence in the processed line table. However, this
isn't always true. Some sequences can be removed by the linker if they
are empty, as shown
[here](https://github.com/alx32/llvm-project/blob/release/14.x/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp#L565-L566).
When an attribute refers to one of these removed sequences, there is no
actual sequence for it to match. In such cases, we update the attribute
to indicate that it is invalid and does not point to any sequence. This
informs readers that the attribute should be ignored.

The newly modified test would have triggered the assert that is being
removed in this patch.


  Commit: a629b505757a1853e6083290e5d8d7b82f4f4d4a
      https://github.com/llvm/llvm-project/commit/a629b505757a1853e6083290e5d8d7b82f4f4d4a
  Author: Ethan Kaji <ethan.kaji at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

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

  Log Message:
  -----------
  Port `NVPTXTargetLowering::LowerCONCAT_VECTORS` to SelectionDAG (#120030)

Ports `NVPTXTargetLowering::LowerCONCAT_VECTORS` to
`llvm/lib/CodeGen/SelectionDAG` as requested in
https://github.com/llvm/llvm-project/issues/116695.


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

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    A libcxx/test/std/utilities/utility/forward/forward_like.verify.cpp

  Log Message:
  -----------
  [libc++] Verify std::forward_like's mandates clause. (#127318)

The existing using _ForwardLike declaration already fails with a
subsitution failure. The LWG issue was filed to clarify what should
happen for non-referencable types.

Added test to verify libc++ is already enforcing the new Mandates.

Implements:
- LWG3757 What's the effect of std::forward_like<void>(x)

Closes: #105026


  Commit: 3c0300d1fecea583c9b3d7689213676db18485aa
      https://github.com/llvm/llvm-project/commit/3c0300d1fecea583c9b3d7689213676db18485aa
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M libcxx/include/__ranges/enable_view.h
    M libcxx/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.view/view.compile.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] Adjust inheritance detection for `enable_view` (#132582)

Per [range.view]/6, a `view_interface` isn't a base class of itself, so
`enable_view` should report `false`. Also, current implementation
strategy handles `const` but not `volatile`, IIUC cv-qualifiers should
be consistent handled.

In `enable_view.compile.pass.cpp`, coverage for (`const`) `volatile`
types are added.

Drive-by: Remove one unnessary `test_macro.h` inclusion in a test.

Fixes #132577.


  Commit: 88099a7da97b5ea5f12fb8c6c993d7f1b6fe06ce
      https://github.com/llvm/llvm-project/commit/88099a7da97b5ea5f12fb8c6c993d7f1b6fe06ce
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/lsx/vec-trunc.ll

  Log Message:
  -----------
  [LoongArch] Custom lower vector trunc to vector shuffle (#130938)


  Commit: 79e82b6f146e39b2498b9eb44033cde8659ba6b7
      https://github.com/llvm/llvm-project/commit/79e82b6f146e39b2498b9eb44033cde8659ba6b7
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
    M llvm/test/CodeGen/RISCV/pr69586.ll
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-reduce-add-to-vcpop.ll
    M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/expandload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-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-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-addsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vscale-range.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
    M llvm/test/CodeGen/RISCV/rvv/reg-alloc-reserve-bp.ll
    M llvm/test/CodeGen/RISCV/rvv/remat.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-cfi-info.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/stack-folding.ll
    M llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.ll
    M llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.mir
    M llvm/test/CodeGen/RISCV/rvv/stores-of-loads-merging.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll

  Log Message:
  -----------
  [RISCV] Use a precise size for MMO on scalable spill and fill (#133171)

The primary effect of this is that we get proper scalable sizes printed
by the assembler, but this may also enable proper aliasing analysis. I
don't see any test changes resulting from the later.

Getting the size is slightly tricky as we store the scalable size as a
non-scalable quantity in the object size field for the frame index. We
really should remove that hack at some point...

For the synthetic tuple spills and fills, I dropped the size from the
split loads and stores to avoid incorrect (overly large) sizes. We could
also divide by the NF factor if we felt like writing the code to do so.


  Commit: 263ec7221ef6ef96876d75b69ab48bf37dcbb25e
      https://github.com/llvm/llvm-project/commit/263ec7221ef6ef96876d75b69ab48bf37dcbb25e
  Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M mlir/include/mlir/TableGen/Attribute.h
    A mlir/include/mlir/TableGen/EnumInfo.h
    M mlir/include/mlir/TableGen/Pattern.h
    M mlir/lib/TableGen/Attribute.cpp
    M mlir/lib/TableGen/CMakeLists.txt
    A mlir/lib/TableGen/EnumInfo.cpp
    M mlir/lib/TableGen/Pattern.cpp
    M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
    M mlir/tools/mlir-tblgen/EnumsGen.cpp
    M mlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp
    M mlir/tools/mlir-tblgen/OpDocGen.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M mlir/tools/mlir-tblgen/RewriterGen.cpp
    M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
    M mlir/tools/mlir-tblgen/TosaUtilsGen.cpp

  Log Message:
  -----------
  [mlir][NFC] Move and rename EnumAttrCase, EnumAttr C++ classes (#132650)

This moves the EnumAttrCase and EnumAttr classes from Attribute.h/.cpp
to a new EnumInfo.h/cpp and renames them to EnumCase and EnumInfo,
respectively.

This doesn't change any of the tablegen files or any user-facing aspects
of the enum attribute generation system, just reorganizes code in order
to make main PR (#132148) shorter.


  Commit: 2ca27e7c3e252d5c5fce57c0f85d0290babf82f3
      https://github.com/llvm/llvm-project/commit/2ca27e7c3e252d5c5fce57c0f85d0290babf82f3
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M .ci/compute_projects_test.py

  Log Message:
  -----------
  [CI] Fix typo in compute_projects_test.py

I apparently forgot to properly name the test before submitting the last
patch. This patch properly names the test.


  Commit: e54f31a20c23b2b1fdb524a63b84361703613c4e
      https://github.com/llvm/llvm-project/commit/e54f31a20c23b2b1fdb524a63b84361703613c4e
  Author: Wu Yingcong <yingcong.wu at intel.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M compiler-rt/cmake/builtin-config-ix.cmake

  Log Message:
  -----------
  [compiler-rt][builtins] Add missing flag for builtins standalone build (#133046)

When builtins are built with runtimes, it is built before compiler-rt,
and this makes some of the HAS_XXX_FLAGs missing. In this case, the
COMPILER_RT_HAS_FCF_PROTECTION_FLAG is missing which makes it impossible
to enable CET in this case. This patch addresses this issue by also
check for such flag in standalone build instead of relying on the
compiler-rt's detection.


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

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td

  Log Message:
  -----------
  [RISCV] Use named sub-operands to simplify encoding/decoding for CoreV Reg-Reg instructions. (#133181)

We can name the sub-operands using a DAG in the 'ins'. This allows those
names to be matched to the encoding fields. This removes the need for a
custom encoder/decoder that treats the 2 sub-operands as a single 10-bit
value.

While doing this, I noticed the base and offset names in the
MIOperandInfo were swapped relative to how the operands are parsed and
printed. Assuming that I've correctly understood the parsing/print
format as "offset(base)".


  Commit: 64046e9d2628ce421682eea8465e41554b46c96d
      https://github.com/llvm/llvm-project/commit/64046e9d2628ce421682eea8465e41554b46c96d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/lib/Driver/Job.cpp
    M clang/lib/Driver/Multilib.cpp

  Log Message:
  -----------
  [Driver] Use a range constructor of StringSet (NFC) (#133201)

This patch uses a range constructor to collapse:

  llvm::StringSet<> Dest;
  for (const auto &S : Src)
    Dest.insert(S);

down to:

  llvm::StringSet<> Dest(llvm::from_range, Src);


  Commit: 16d1942c069a7572efceba884452f08a157cb684
      https://github.com/llvm/llvm-project/commit/16d1942c069a7572efceba884452f08a157cb684
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M clang/test/Preprocessor/riscv-target-features.c

  Log Message:
  -----------
  [RISCV] Drop '-x c' from riscv-target-features.c. NFC


  Commit: cc30fbacec66fd6a53aabc0880de23fc22826a3a
      https://github.com/llvm/llvm-project/commit/cc30fbacec66fd6a53aabc0880de23fc22826a3a
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/docs/RISCV/RISCVVectorExtension.rst

  Log Message:
  -----------
  [Docs][RISCV] Update RISCVVectorExtension.rst to reflect RISCVVMV0Elimination. NFC (#133058)

Also correct the old name of RISCVFoldMasks to RISCVVectorPeephole


  Commit: 291fd8f2cec30a218d1a8b50958ba4647de7b7c8
      https://github.com/llvm/llvm-project/commit/291fd8f2cec30a218d1a8b50958ba4647de7b7c8
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp

  Log Message:
  -----------
  clang/lib/Sema/SemaExprCXX.cpp: Suppress a warning introduced in #133113. [-Wunused-but-set-variable]


  Commit: 68e90e4f0c57b89be0b3f4cc750019dc34aea3ea
      https://github.com/llvm/llvm-project/commit/68e90e4f0c57b89be0b3f4cc750019dc34aea3ea
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_poisoning.h

  Log Message:
  -----------
  [asan][NFCI] Add ASAN_POISONING_H header guard (#133178)


  Commit: 80f216db530eda98a444bc1994c7d69a7107c3c6
      https://github.com/llvm/llvm-project/commit/80f216db530eda98a444bc1994c7d69a7107c3c6
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    A clang/test/Modules/no-transitive-decl-change-3.cppm

  Log Message:
  -----------
  [C++20] [Modules] Add a test

A test from a regression in the downstream.

The test should be always good.


  Commit: 618e8b9a708ed037ec90c495890344046d78e5bf
      https://github.com/llvm/llvm-project/commit/618e8b9a708ed037ec90c495890344046d78e5bf
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M lldb/source/Core/Debugger.cpp

  Log Message:
  -----------
  [lldb] Avoid unnecessary statusline redraw in HandleProgressEvent

There's no need to call RedrawStatusline from HandleProgressEvent. The
statusline gets redraw after handling all events, including progress
events, in the default event handler loop.


  Commit: 55b95151d2a618b12156730962e109b3d5fa67b1
      https://github.com/llvm/llvm-project/commit/55b95151d2a618b12156730962e109b3d5fa67b1
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-26 (Wed, 26 Mar 2025)

  Changed paths:
    M lldb/source/Core/Statusline.cpp

  Log Message:
  -----------
  [lldb] Avoid flickering by not clearing the statusline when redrawing

When redrawing the statusline, the current implementation would clear
the current line before drawing the new content. Since we always
overwrite the whole statusline from beginning to end, there's no need to
clear it and we can avoid the potential for flickering.


  Commit: ad51368881bb828dbc0f0c42d7617ac860ec5e04
      https://github.com/llvm/llvm-project/commit/ad51368881bb828dbc0f0c42d7617ac860ec5e04
  Author: Letu Ren <fantasquex at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][llvmir] add llvm.experimental.constrained.sitofp intrinsics (#133166)

https://llvm.org/docs/LangRef.html#llvm-experimental-constrained-sitofp-intrinsic

Signed-off-by: Letu Ren <fantasquex at gmail.com>


  Commit: 9438694a54186ee6173c93d3a662d1a42383bece
      https://github.com/llvm/llvm-project/commit/9438694a54186ee6173c93d3a662d1a42383bece
  Author: Letu Ren <fantasquex at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][llvmir] Add llvm.intr.ldexp operation (#133070)

https://llvm.org/docs/LangRef.html#llvm-ldexp-intrinsic


  Commit: 2df25a47339c38875476e559d80b225dfe07ff02
      https://github.com/llvm/llvm-project/commit/2df25a47339c38875476e559d80b225dfe07ff02
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/X86/fold_bitcast_md_range.ll

  Log Message:
  -----------
  Invalidate range metadata when folding bitcast into load (#133095)


  Commit: 6294325a535d8042a667ccfb4400a9f63e1bee63
      https://github.com/llvm/llvm-project/commit/6294325a535d8042a667ccfb4400a9f63e1bee63
  Author: Mallikarjuna Gouda <mgouda at mips.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    A clang/test/CodeGen/Mips/subtarget-feature-test.c
    M llvm/lib/Target/Mips/Mips.td
    M llvm/lib/Target/Mips/MipsSubtarget.h

  Log Message:
  -----------
  [MIPS] Define SubTargetFeature for i6500 cpu (#132907)

PR #130587 defined same SubTargetFeature for CPUs i6400 and i6500 which
resulted into following warning when -mcpu=i6500 was used:

+i6500' is not a recognized feature for this target (ignoring feature)

This PR fixes above issue by defining separate SubTargetFeature for
i6500.


  Commit: b8a0558dea942b40f6cdcfaf9b6ba62d4140d693
      https://github.com/llvm/llvm-project/commit/b8a0558dea942b40f6cdcfaf9b6ba62d4140d693
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix a regression on annotating template angles (#132885)

Annotate the angles in `A<B != A>B` as template opener/closer as it's
unlikely that they are less/greater-than operators in this context.

Fix #132248


  Commit: 05fb8408de23c3ccb6125b6886742177755bd757
      https://github.com/llvm/llvm-project/commit/05fb8408de23c3ccb6125b6886742177755bd757
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/ConfigParseTest.cpp

  Log Message:
  -----------
  [clang-format] Allow `Language: Cpp` for C files (#133033)

Fix #132832


  Commit: 58a0c9570c69ecdf23e998637d2b82cfa455bf14
      https://github.com/llvm/llvm-project/commit/58a0c9570c69ecdf23e998637d2b82cfa455bf14
  Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    R clang/test/CodeGen/Mips/subtarget-feature-test.c
    M llvm/lib/Target/Mips/Mips.td
    M llvm/lib/Target/Mips/MipsSubtarget.h

  Log Message:
  -----------
  Revert "[MIPS] Define SubTargetFeature for i6500 cpu" (#133215)

Reverts llvm/llvm-project#132907 due to some test failures.


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

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

  Log Message:
  -----------
  Fix MSVC "not all control paths return a value" warning. NFC.


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

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

  Log Message:
  -----------
  Fix MSVC signed/unsigned comparison warning. NFC.


  Commit: db98e2922f0121f2c6fb3d6f42b40f9774f9a563
      https://github.com/llvm/llvm-project/commit/db98e2922f0121f2c6fb3d6f42b40f9774f9a563
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    A libclc/clc/include/clc/math/clc_acosh.h
    A libclc/clc/include/clc/math/clc_asinh.h
    A libclc/clc/include/clc/math/clc_atanh.h
    A libclc/clc/include/clc/math/clc_ep_log.h
    A libclc/clc/include/clc/math/clc_ep_log.inc
    A libclc/clc/include/clc/math/clc_log1p.h
    M libclc/clc/include/clc/math/tables.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_acosh.cl
    A libclc/clc/lib/generic/math/clc_acosh.inc
    A libclc/clc/lib/generic/math/clc_asinh.cl
    A libclc/clc/lib/generic/math/clc_asinh.inc
    A libclc/clc/lib/generic/math/clc_atanh.cl
    A libclc/clc/lib/generic/math/clc_atanh.inc
    A libclc/clc/lib/generic/math/clc_ep_log.cl
    A libclc/clc/lib/generic/math/clc_ep_log.inc
    A libclc/clc/lib/generic/math/clc_log1p.cl
    A libclc/clc/lib/generic/math/clc_log1p.inc
    A libclc/clc/lib/generic/math/clc_tables.cl
    M libclc/generic/lib/SOURCES
    M libclc/generic/lib/math/acosh.cl
    M libclc/generic/lib/math/asinh.cl
    M libclc/generic/lib/math/atanh.cl
    M libclc/generic/lib/math/clc_pow.cl
    M libclc/generic/lib/math/clc_pown.cl
    M libclc/generic/lib/math/clc_powr.cl
    M libclc/generic/lib/math/clc_rootn.cl
    R libclc/generic/lib/math/ep_log.cl
    R libclc/generic/lib/math/ep_log.h
    M libclc/generic/lib/math/log1p.cl
    M libclc/generic/lib/math/tables.cl
    M libclc/spirv/lib/SOURCES

  Log Message:
  -----------
  [libclc] Move log1p/asinh/acosh/atanh to the CLC library (#132956)

These four functions all related in that they share tables and helper
functions. Furthermore, the acosh and atanh builtins call log1p.

As with other work in this area, these builtins are now vectorized. To
enable this, there are new table accessor functions which return a
vector of table values using a vector of indices. These are internally
scalarized, in the absence of gather operations. Some tables which were
tables of multiple entries (e.g., double2) are split into two separate
"low" and "high" tables. This might affect the performance of memory
operations but are hopefully mitigated by better codegen overall.


  Commit: 00c527abab3dfea5f3122f8151d69e77655eb033
      https://github.com/llvm/llvm-project/commit/00c527abab3dfea5f3122f8151d69e77655eb033
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
    A llvm/test/Transforms/Coroutines/coro-spill-suspend.ll

  Log Message:
  -----------
  [Coro] Allow spilling @llvm.coro.suspend() to the coro frame (#133088)

It was excluded from spilling in a263a60, possibly by accident.

In the linked bug, we hit a situation like this:

```
  %s = call @llvm.coro.suspend(...)
             |
       switch (%s)
case v1: /       \ case v2:
        ...      ...
         |       suspend point
         |       ...
         \       /
 %x = phi [v1] [v2]
             |
            ...
             |
         use(%x)
```

Instcombine will notice that %x correlates exactly with %s, and so
use(%x) becomes use(%s).

However, corosplit would substitute different values for %s when
splitting the function, so even though %s had a particular value when
control actually passed through the switch, it could have a *different*
value when reaching use(%s).

This illustrates that while IR from the frontend typically does not use
these suspend return values across suspend points, mid-level
optimizations on the presplit coroutine may introduce new uses of
suspend values, so they must be considered eligible to spill to the
coroutine frame.

Fixes: #130326


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-movmsk-avx.ll
    M llvm/test/CodeGen/X86/combine-sdiv.ll
    M llvm/test/CodeGen/X86/vector-idiv-udiv-256.ll

  Log Message:
  -----------
  [X86] SimplifyDemandedBitsForTargetNode - add X86ISD::BLENDI handling (#133102)


  Commit: 99ec6f8aecc5d4ae8ff2ae6bebe8d670562c19df
      https://github.com/llvm/llvm-project/commit/99ec6f8aecc5d4ae8ff2ae6bebe8d670562c19df
  Author: WÁNG Xuěruì <git at xen0n.name>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
    A llvm/test/MC/LoongArch/Misc/no-aliases.s

  Log Message:
  -----------
  [LoongArch][MC] Add support for disassembly option "no-aliases" (#132900)

This parallels the GNU Binutils feature's usage. A hidden command-line
option `--loongarch-no-aliases` is also added, similar to how
`--loongarch-numeric-reg` is for the `numeric` option.


  Commit: d7cea2b18717f0cc31b7da4a03f772d89ee201db
      https://github.com/llvm/llvm-project/commit/d7cea2b18717f0cc31b7da4a03f772d89ee201db
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/source/Symbol/UnwindPlan.cpp

  Log Message:
  -----------
  [lldb] Remove UnwindPlan::Row shared_ptrs (#132370)

The surrounding code doesn't use them anymore. This removes the internal
usages.

This patch makes the Rows actual values. An alternative would be to make
them unique_ptrs. That would make vector resizes faster at the cost of
more pointer chasing and heap fragmentation. I don't know which one is
better so I picked the simpler option.


  Commit: 71d54cd4f1cc5233437f25479166e4659fbe2e53
      https://github.com/llvm/llvm-project/commit/71d54cd4f1cc5233437f25479166e4659fbe2e53
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/Symbol/Function.cpp

  Log Message:
  -----------
  [lldb] Remove (deprecated) Function::GetAddressRange (#132923)

All uses have been replaced by GetAddressRange*s* or GetAddress.

Also fix two internal uses of the range member.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll

  Log Message:
  -----------
  [X86] combineINSERT_SUBVECTOR - fold insert_subvector(base,extract_subvector(broadcast)) -> blend shuffle(base,broadcast) (#133083)

If the broadcast is already the full vector width, try to prefer a blend over a vector insertion which is usually a lower latency (and sometimes a lower uop count).


  Commit: 8abca171c3346eb7c889354d9b2288ad2b7e1504
      https://github.com/llvm/llvm-project/commit/8abca171c3346eb7c889354d9b2288ad2b7e1504
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/__cstddef/byte.h
    M libcxx/include/__exception/exception.h
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__exception/nested_exception.h
    M libcxx/include/__exception/operations.h
    M libcxx/include/__exception/terminate.h
    M libcxx/include/__fwd/byte.h
    M libcxx/include/__new/align_val_t.h
    M libcxx/include/__new/destroying_delete_t.h
    M libcxx/include/__new/exceptions.h
    M libcxx/include/__new/new_handler.h
    M libcxx/include/__new/nothrow_t.h
    M libcxx/include/any
    M libcxx/include/typeinfo
    M libcxx/include/variant

  Log Message:
  -----------
  [libc++] Introduce unversioned namespace macros (#133009)

We've started using `_LIBCPP_BEGIN_NAMESPACE_STD` and
`_LIBCPP_END_NAMESPACE_STD` for more than just the namespace for a while
now. For example, we're using it to add visibility annotations to types.
This works very well and avoids a bunch of annotations, but doesn't work
for the few places where we have an unversioned namespace. This adds
`_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD` and
`_LIBCPP_END_UNVERSIONED_NAMESPACE_STD` to make it simpler to add new
annotations consistently across the library as well as making it more
explicit that the unversioned namespace is indeed intended.


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

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

  Log Message:
  -----------
  Fix gcc signed/unsigned comparison warning. NFC.


  Commit: 3284559cca4bc64e78e8243bb34195216e8979ee
      https://github.com/llvm/llvm-project/commit/3284559cca4bc64e78e8243bb34195216e8979ee
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    A libclc/clc/include/clc/math/clc_atan2.h
    A libclc/clc/include/clc/math/clc_atan2pi.h
    M libclc/clc/include/clc/math/tables.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_atan2.cl
    A libclc/clc/lib/generic/math/clc_atan2.inc
    A libclc/clc/lib/generic/math/clc_atan2pi.cl
    A libclc/clc/lib/generic/math/clc_atan2pi.inc
    M libclc/clc/lib/generic/math/clc_tables.cl
    M libclc/generic/lib/math/atan2.cl
    M libclc/generic/lib/math/atan2pi.cl
    M libclc/generic/lib/math/tables.cl

  Log Message:
  -----------
  [libclc] Move atan2/atan2pi to the CLC library (#133226)

As with other work in this area, these builtins are now vectorized.

A further table has been split into two. There was discrepancy between
comments above the table describing the values as "lead" and "tail" and
variables taken from the table called "head" and "tail", so these have
been unified as head/tail.


  Commit: 6c56a842b73cf2046b9ab8cf077890e11b758373
      https://github.com/llvm/llvm-project/commit/6c56a842b73cf2046b9ab8cf077890e11b758373
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGLoopInfo.h
    M clang/test/CodeGenCXX/pragma-followup_inner.cpp
    M clang/test/CodeGenCXX/pragma-followup_outer.cpp
    M clang/test/CodeGenCXX/pragma-loop.cpp
    M llvm/test/Transforms/LoopVectorize/make-followup-loop-id.ll

  Log Message:
  -----------
  [clang][CodeGen] Generate follow-up metadata for loops in correct format  (#131985)

When pragma of loop transformations is specified, follow-up metadata for
loops is generated after each transformation. On the LLVM side,
follow-up metadata is expected to be a list of properties, such as the
following:

```
!followup = !{!"llvm.loop.vectorize.followup_all", !mp, !isvectorized}
!mp = !{!"llvm.loop.mustprogress"}
!isvectorized = !{"llvm.loop.isvectorized"}
```

However, on the clang side, the generated metadata contains an MDNode
that has those properties, as shown below:

```
!followup = !{!"llvm.loop.vectorize.followup_all", !loop_id}
!loop_id = distinct !{!loop_id, !mp, !isvectorized}
!mp = !{!"llvm.loop.mustprogress"}
!isvectorized = !{"llvm.loop.isvectorized"}
```
According to the
[LangRef](https://llvm.org/docs/TransformMetadata.html#transformation-metadata-structure),
the LLVM side is correct. Due to this inconsistency, follow-up metadata
was not interpreted correctly, e.g., only one transformation is applied
when multiple pragmas are used.

This patch fixes clang side to emit followup metadata in correct format.


  Commit: 1a140820ab6962a387eeec17ebe669c724822c49
      https://github.com/llvm/llvm-project/commit/1a140820ab6962a387eeec17ebe669c724822c49
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Have GPRMem on the correct operand in QCIRVInstESStore (#133042)

It should be on rs1 and not rs2.


  Commit: a9672515ce6b8b1bc6976ed1225f4fb4d53fa381
      https://github.com/llvm/llvm-project/commit/a9672515ce6b8b1bc6976ed1225f4fb4d53fa381
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp

  Log Message:
  -----------
  [Clang] Correct the DeclRefExpr's Type after the initializer gets instantiated (#133212)

The instantiation of a VarDecl's initializer might be deferred until the
variable is actually used. However, we were still building the
DeclRefExpr with a type that could later be changed by the initializer's
instantiation, which is incorrect when incomplete arrays are involved.

Fixes #79750
Fixes #113936
Fixes #133047


  Commit: 39e7efe1e4304544289d8d1b45f4d04d11b4a791
      https://github.com/llvm/llvm-project/commit/39e7efe1e4304544289d8d1b45f4d04d11b4a791
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
    M lldb/unittests/Host/HostTest.cpp

  Log Message:
  -----------
  [lldb] Respect LaunchInfo::SetExecutable in ProcessLauncherPosixFork (#133093)

Using argv[0] for this was incorrect. I'm ignoring LaunchInfo::SetArg0,
as that's what darwin and windows launchers do (they use the first
element of the args vector instead).

I picked up the funny unit test re-exec method from the llvm unit tests.


  Commit: a6e56162c251db180f4618202c8088acba311ce8
      https://github.com/llvm/llvm-project/commit/a6e56162c251db180f4618202c8088acba311ce8
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Modify operand regclass in load store patterns (#133071)

$rs1 is defined as GPRMem in the correspoding instruction definition
classes.


  Commit: 17aca79d98d92510d131c4766a040b02adf6c4b8
      https://github.com/llvm/llvm-project/commit/17aca79d98d92510d131c4766a040b02adf6c4b8
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/FuncUnwinders.h
    M lldb/include/lldb/Symbol/UnwindTable.h
    M lldb/source/Symbol/FuncUnwinders.cpp
    M lldb/source/Symbol/UnwindTable.cpp
    A lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
    A lldb/test/Shell/Unwind/Inputs/linux-x86_64.yaml
    A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
    A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf.test

  Log Message:
  -----------
  [lldb] Teach FuncUnwinders about discontinuous functions (#133072)

The main change here is that we're now able to correctly look up plans
for these functions. Previously, due to caching, we could end up with
one entry covering most of the address space (because part of the
function was at the beginning and one at the end). Now, we can correctly
recognise that the part in between does not belong to that function, and
we can create a different FuncUnwinders instance for it. It doesn't help
the discontinuous function much (its plan will still be garbled), but
we can at least properly unwind out of the simple functions in between.

Fixing the unwind plans for discontinuous functions requires handling
each unwind source specially, and this setup allows us to make the
transition incrementally.


  Commit: ac09b789d8add7325fbf95d0feeb03a29de79b5c
      https://github.com/llvm/llvm-project/commit/ac09b789d8add7325fbf95d0feeb03a29de79b5c
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/test/Dialect/SCF/invalid.mlir

  Log Message:
  -----------
  [mlir][scf] Remove redundant ensureTerminator for `scf.forall` (#133081)

The override function `ensureTerminator` ensures that the terminator
`InParallelOp` has a region. However, if the terminator of `scf.forall`
is not an `InParallelOp`, calling ensureTerminator causes a crash. Since
the InParallelOp builder already guarantees the existence of a region,
`ForallOp::ensureTerminator` is redundant and can be safely removed.
Fixes #130019.


  Commit: 17d05695388128353662fbb80bbb7a13d172b41d
      https://github.com/llvm/llvm-project/commit/17d05695388128353662fbb80bbb7a13d172b41d
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M libcxx/include/__configuration/availability.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__string/char_traits.h
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    M libcxx/src/functional.cpp

  Log Message:
  -----------
  [libc++] Instantiate hash function externally (#127040)

This has multiple benefits:
- There is a single instance of our hash function, reducing object file
size
- The hash implementation isn't instantiated in every TU anymore,
reducing compile times
- Behind an ABI configuration macro it would be possible to salt the
hash


  Commit: d0aa1f9c43a4a5709e060aea6c844bdcc70bcd0e
      https://github.com/llvm/llvm-project/commit/d0aa1f9c43a4a5709e060aea6c844bdcc70bcd0e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/test/Driver/amdgpu-toolchain.c
    M clang/test/Driver/hip-toolchain-rdc.hip
    M libc/startup/gpu/CMakeLists.txt

  Log Message:
  -----------
  [Clang] Make `--lto-partitions` only default for HIP (#133164)

Summary:
The default behavior for LTO on other targets does not specify the
number of LTO partitions. Recent changes made this default to 8 on
AMDGPU which had some issues with the `libc` project. The option to
disable this is HIP only so I think for now we should restrict this just
to HIP.

I'm definitely on board with getting some more parallelism here, but I
think it should probably be restricted to just offloading languages. The
new driver goes through the `--target=amdgcn-amd-amdhsa` for its output,
which means we'd need to forward the default somehow.


  Commit: 8fdfe3f2a752b5886faf88c96ce61a0465f7dc9b
      https://github.com/llvm/llvm-project/commit/8fdfe3f2a752b5886faf88c96ce61a0465f7dc9b
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M libcxx/include/__algorithm/min_element.h
    M libcxx/include/__algorithm/ranges_max.h
    M libcxx/include/__algorithm/ranges_max_element.h
    M libcxx/include/__algorithm/ranges_min.h
    M libcxx/include/__algorithm/ranges_min_element.h

  Log Message:
  -----------
  [libc++] Refactor ranges::{min, max, min_element, max_element} to use std::__min_element (#132418)

Previously, ranges::min_element delegated to ranges::__min_element_impl, which
duplicated the definition of std::__min_element. This patch updates
ranges::min_element to directly call std::__min_element, which allows
removing the redundant code in ranges::__min_element_impl.

Upon removal of ranges::__min_element_impl, the other ranges algorithms
ranges::{min,max,max_element}, which previously delegated to ranges::__min_element_impl,
have been updated to call std::__min_element instead.

This refactoring unifies the implementation across these algorithms,
ensuring that future optimizations or maintenance work only need to be
applied in one place.


  Commit: 27a437108be83b217d9b7b8360fc40d42ae4458b
      https://github.com/llvm/llvm-project/commit/27a437108be83b217d9b7b8360fc40d42ae4458b
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/fpextend.ll
    M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll

  Log Message:
  -----------
  [InstCombine] Handle scalable splats of constants in getMinimumFPType (#132960)

We previously handled ConstantExpr scalable splats in
5d929794a87602cfd873381e11cc99149196bb49, but only fpexts.

ConstantExpr fpexts have since been removed, and simultaneously we
didn't handle splats of constants that weren't extended.

This updates it to remove the fpext check and instead see if we can
shrink the result of getSplatValue.

Note that the test case doesn't get completely folded away due to
#132922


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

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td

  Log Message:
  -----------
  [RISCV] Reverse the order of Base and Offset in Core-V RegReg operand. (#133209)

This puts the base before the offset to match the order we use for base
ISA where the offset is an immediate.

I'm investigating using sub-operands for the base ISA loads and stores
too so having a consistent operand order will allow more sharing.


  Commit: 427ce92ea61c5ea96a60aa505aa7b1de56571fa3
      https://github.com/llvm/llvm-project/commit/427ce92ea61c5ea96a60aa505aa7b1de56571fa3
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M libcxx/include/__filesystem/operations.h

  Log Message:
  -----------
  [libc++][NFC] Move dylib function in <__filesystem/operations.h> together

Most of the dylib functions inside `<__filesystem/operations.h>` are at
the top of the file. There are a few spread out in the file for some
reason, which this patch fixes.


  Commit: bc7e3915e1a0a4e859115dec38c3fdff5e43fcf7
      https://github.com/llvm/llvm-project/commit/bc7e3915e1a0a4e859115dec38c3fdff5e43fcf7
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir

  Log Message:
  -----------
  [MLIR][NVGPU] Add `mbarrier.get` Op (#133221)

The `mbarrier.create` op can create multiple mbarrier objects, and other
mbarrier-related ops can access an mbarrier using a dynamic SSA value.
This is especially useful when using mbarriers in dynamic loops.

This PR adds the `mbarrier.get` op, which returns a pointer to a
specific mbarrier object from a group of barriers created by the
nvgpu.mbarrier.create operation. It is useful when composing the NVGPU
and NVVM dialects.

Example:
```
%mbars = nvgpu.mbarrier.create 
   -> !nvgpu.mbarrier.group<memorySpace = #gpu.address_space<workgroup>, num_barriers = 10>

%mbar_pointer = nvgpu.mbarrier.get %mbars[%c2] 
  : !nvgpu.mbarrier.group<memorySpace = #gpu.address_space<workgroup>> 
  -> i32
 ```


  Commit: 38d9a445106cba09854d9d00050a20f6faa4dd0b
      https://github.com/llvm/llvm-project/commit/38d9a445106cba09854d9d00050a20f6faa4dd0b
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir

  Log Message:
  -----------
  [MLIR][NVGPU] Add `tma.fence.descriptor` OP (#133218)

When the TMA descriptor is transferred from host memory to global memory
using cudaMemcpy, each thread block must insert a fence before any
thread accesses the updated tensor map in global memory. Once the tensor
map has been accessed, no additional fences are needed by that block
unless the map is modified again.

[Example from cuda programming
guide](https://docs.nvidia.com/cuda/cuda-c-programming-guide/#using-tma-to-transfer-multi-dimensional-arrays).
The `tma.fence.descriptor` basically implements
`ptx::fence_proxy_tensormap_generic`.
```
#include <cuda.h>
#include <cuda/ptx>
namespace ptx = cuda::ptx;

__device__ CUtensorMap global_tensor_map;
__global__ void kernel(CUtensorMap *tensor_map)
{
  // Fence acquire tensor map:
  ptx::n32_t<128> size_bytes;
  // Since the tensor map was modified from the host using cudaMemcpy,
  // the scope should be .sys.
  ptx::fence_proxy_tensormap_generic(
     ptx::sem_acquire, ptx::scope_sys, tensor_map, size_bytes
 );
 // Safe to use tensor_map after fence inside this thread..
}
int main() {
  CUtensorMap local_tensor_map;
  // [ ..Initialize map.. ]
  cudaMemcpy(&global_tensor_map, &local_tensor_map, sizeof(CUtensorMap), cudaMemcpyHostToDevice);
  kernel<<<1, 1>>>(global_tensor_map);
}
```


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/itofp-rv32.mir
    M llvm/test/CodeGen/RISCV/double-imm.ll
    M llvm/test/CodeGen/RISCV/frm-dependency.ll

  Log Message:
  -----------
  [RISCV] Set mayRaiseFPException = 0 on FCVT_D_W(U). (#133200)

The input is an integer which can't be NAN so the NV(invalid) exception
can't be raised. The conversion is exact so it can't raise NX(inexact),
UF(underflow), or OF(overflow). The instructions are not divide so they
can't raise DZ(divide by zero).

Fixes #133192.


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

  Changed paths:
    M llvm/lib/Transforms/IPO/ExtractGV.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp

  Log Message:
  -----------
  [Transforms] Use range constructors of *Set (NFC) (#133203)


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

  Changed paths:
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M llvm/include/llvm/ADT/SmallSet.h
    M llvm/include/llvm/ADT/StringSet.h
    M llvm/unittests/ADT/SmallSetTest.cpp

  Log Message:
  -----------
  [ADT] Remove old range constructors of SmallSet and StringSet (#133205)

This patch removes the old range constructors of SmallSet and
StringSet that do not take the llvm::from_range tag.  Since there are
so few uses, this patch directly removes them without going through
the deprecation process.


  Commit: d32e71d7c732c37fd28241b85f501d7a192aa22c
      https://github.com/llvm/llvm-project/commit/d32e71d7c732c37fd28241b85f501d7a192aa22c
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    A libclc/clc/include/clc/math/binary_def_via_fp32.inc
    A libclc/clc/include/clc/math/clc_fmod.h
    A libclc/clc/include/clc/math/clc_remainder.h
    A libclc/clc/include/clc/math/clc_remquo.h
    M libclc/clc/include/clc/math/gentype.inc
    A libclc/clc/include/clc/math/remquo_decl.inc
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_fmod.cl
    A libclc/clc/lib/generic/math/clc_remainder.cl
    A libclc/clc/lib/generic/math/clc_remquo.cl
    M libclc/clspv/lib/SOURCES
    M libclc/generic/include/clc/math/remquo.h
    R libclc/generic/include/clc/math/remquo.inc
    R libclc/generic/include/math/clc_fmod.h
    R libclc/generic/include/math/clc_remainder.h
    R libclc/generic/include/math/clc_remquo.h
    M libclc/generic/lib/SOURCES
    R libclc/generic/lib/math/clc_fmod.cl
    R libclc/generic/lib/math/clc_remainder.cl
    R libclc/generic/lib/math/clc_remquo.cl
    M libclc/generic/lib/math/fmod.cl
    M libclc/generic/lib/math/remainder.cl
    M libclc/generic/lib/math/remquo.cl
    M libclc/generic/lib/math/remquo.inc
    M libclc/spirv/lib/SOURCES

  Log Message:
  -----------
  [libclc] Move fmod, remainder & remquo to the CLC library (#132054)

These functions were already nominally in the CLC namespace; this commit
just formally moves them over.

Note that 'half' versions of these CLC functions are now provided.
Previously the corresponding OpenCL builtins would forward directly to
the 'float' versions of the CLC builtins. Now the OpenCL builtins call
the 'half' CLC builtins, which themselves call the 'float' CLC versions.
This keeps the interface between the OpenCL and CLC libraries neater and
keeps the CLC library self-contained.

No changes to the generated code for non-SPIR-V targets is observed.


  Commit: b38c23b4c199221af9e043041f2e594ec1e3745b
      https://github.com/llvm/llvm-project/commit/b38c23b4c199221af9e043041f2e594ec1e3745b
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
    M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir

  Log Message:
  -----------
  [RISCV] Update two autogen tests to reduce spurious diffs [NFC]


  Commit: 8742022ec74c54f1415707261ccc2054a3decd5f
      https://github.com/llvm/llvm-project/commit/8742022ec74c54f1415707261ccc2054a3decd5f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll

  Log Message:
  -----------
  [RISCV] Canonicalize foldable branch conditions in optimizeCondBranch (#132988)

optimizeCondBranch isn't allowed to modify the CFG, but it can rewrite
the branch condition freely. However, If we could fold a conditional
branch to an unconditional one (aside from that restriction), we can
also rewrite it into some canonical conditional branch instead.

Looking at the diffs, the only cases this catches in tree tests are
cases where we could have constant folded during lowering from IR, but
didn't. This is inspired by trying to salvage code from
https://github.com/llvm/llvm-project/pull/131684 which might be useful.
Given the test impact, it's of questionable merits. The main advantage
over only the late cleanup pass is that it kills off the LIs for the
constants early - which can help e.g. register allocation.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/pr42905.ll
    M llvm/test/CodeGen/X86/sad.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
    M llvm/test/CodeGen/X86/vector-reduce-mul.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  [DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses (#133130)

Similar to what is done for visitEXTRACT_VECTOR_ELT - if all uses of a
vector are EXTRACT_SUBVECTOR, then determine the accumulated demanded
elts across all users and call SimplifyDemandedVectorElts in
"AssumeSingleUse" use.


  Commit: 0ae6185b455876b98cf58888117e3043cb43d060
      https://github.com/llvm/llvm-project/commit/0ae6185b455876b98cf58888117e3043cb43d060
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
    M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
    M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv32.mir
    M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv64.mir
    M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir

  Log Message:
  -----------
  [RISCV] Manually update MIR inputs to reflect #79e82b6

Since we've changed what get's generated, we should update the snapshots
of MIR.  Otherwise, we end up testing configurations which are no longer
possible from codegen.


  Commit: 59d06071e9b509e874f24c465b13eb77cffa1d42
      https://github.com/llvm/llvm-project/commit/59d06071e9b509e874f24c465b13eb77cffa1d42
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M .github/new-prs-labeler.yml
    A clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp

  Log Message:
  -----------
  [NFC][HLSL] Move emitter out of AMDGPU.cpp (#133251)

- Move all HLSL code out of AMDGPU.cpp to CGHLSLBuiltins.cpp
- Fixes accidental reorganization of HLSL code into AMDGPU caused by
(https://github.com/llvm/llvm-project/pull/132252,
https://github.com/llvm/llvm-project/commit/7f920e2e5f70b)


  Commit: 64178316cf8b85525874b5a33e412f83d8542a5e
      https://github.com/llvm/llvm-project/commit/64178316cf8b85525874b5a33e412f83d8542a5e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

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

  Log Message:
  -----------
  [gn build] Port 59d06071e9b5


  Commit: e5ec87f3b6816086563e39ac1f4c4f77064fba6d
      https://github.com/llvm/llvm-project/commit/e5ec87f3b6816086563e39ac1f4c4f77064fba6d
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_rtl.cpp

  Log Message:
  -----------
  [asan] Print diagnostic if unlimited stack size detected (#133170)

This adds a diagnostic message if the stack size is unlimited. This would have simplified the diagnosis of https://github.com/google/sanitizers/issues/856#issuecomment-2747076811; we anticipate this may help diagnose future issues too.


  Commit: 3a5d77608baf6dac9792f4d156196a7042e894ff
      https://github.com/llvm/llvm-project/commit/3a5d77608baf6dac9792f4d156196a7042e894ff
  Author: Michael Jones <michaelrj at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M libc/config/linux/aarch64/headers.txt
    M libc/src/__support/OSUtil/linux/CMakeLists.txt

  Log Message:
  -----------
  [libc] Update headers on aarch64 (#133180)

The entrypoints for aarch64 are mostly up to date, but the headers are
not. This patch fixes that, and also makes explicit the dependency from
OSUtils/linux on sys/syscalls.h


  Commit: f612d705252dbf16265649ae5155d51b4c569182
      https://github.com/llvm/llvm-project/commit/f612d705252dbf16265649ae5155d51b4c569182
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
    A clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/acos.hlsl
    A clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/asin.hlsl
    A clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/atan.hlsl
    A clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/atan2.hlsl
    A clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    A clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    A clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/cosh.hlsl
    A clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/degrees.hlsl
    A clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/exp.hlsl
    A clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/exp2.hlsl
    A clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    A clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/frac.hlsl
    A clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    A clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    A clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/log10.hlsl
    A clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    A clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/normalize.hlsl
    A clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    A clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/radians.hlsl
    A clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/round.hlsl
    A clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
    A clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    A clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/sinh.hlsl
    A clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    A clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/step.hlsl
    A clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/tan.hlsl
    A clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/tanh.hlsl
    A clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl

  Log Message:
  -----------
  [HLSL] Add new int overloads for math builtins (#133162)

Add int overloads which cast the various ints to a float and call the
float builtin.
These overloads are conditional on hlsl version 202x or earlier.
Add tests and puts tests in own files, including some of the tests added
for double overloads.
Closes #128229


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

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M libcxx/docs/index.rst
    M libcxx/include/__configuration/compiler.h

  Log Message:
  -----------
  [libc++] Remove official Clang 18 support. (#130142)

Since Clang 20 has been release we no longer support Clang 18 per our
policy.

Note the Clang 18 workarounds will be removed in a follow-up patch.


  Commit: 85c54a519fa6856b3e9a462445633ed4535eafa4
      https://github.com/llvm/llvm-project/commit/85c54a519fa6856b3e9a462445633ed4535eafa4
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/UsersManual.rst
    M clang/www/c_status.html

  Log Message:
  -----------
  [Docs] Document freestanding requirements (#132232)

This adds some initial documentation about freestanding requirements for
Clang. The most critical part of the documentation is spelling out that
a conforming freestanding C Standard Library is required; Clang will not
be providing the headers for <string.h> in C23 which expose a number of
symbols in freestanding mode.

The docs also make it clear that in addition to a conforming
freestanding C standard library, the library must provide some
additional symbols which LLVM requires.

These docs are not comprehensive, this is just getting the bare bones in
place so that they can be expanded later.

This also updates the C status page to make it clear that we don't have
anything to do for WG14 N2524 which adds string interfaces to
freestanding mode.


  Commit: 08bb0b86dc8d8047fc5ef3180ae6388605c4d0c6
      https://github.com/llvm/llvm-project/commit/08bb0b86dc8d8047fc5ef3180ae6388605c4d0c6
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    A llvm/test/CodeGen/RISCV/simplify-condbr.ll

  Log Message:
  -----------
  [RISCV] Add test case for PR #133256


  Commit: 00c43ae23524d72707701620da89ad248393a8e4
      https://github.com/llvm/llvm-project/commit/00c43ae23524d72707701620da89ad248393a8e4
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/TokenKinds.def
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/C/C2y/n3369.c
    A clang/test/C/C2y/n3369_1.c
    A clang/test/C/C2y/n3369_2.c
    A clang/test/C/C2y/n3469.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C2y] Implement WG14 N3369 and N3469 (_Countof) (#133125)

C2y adds the `_Countof` operator which returns the number of elements in
an array. As with `sizeof`, `_Countof` either accepts a parenthesized
type name or an expression. Its operand must be (of) an array type. When
passed a constant-size array operand, the operator is a constant
expression which is valid for use as an integer constant expression.

This is being exposed as an extension in earlier C language modes, but
not in C++. C++ already has `std::extent` and `std::size` to cover these
needs, so the operator doesn't seem to get the user enough benefit to
warrant carrying this as an extension.

Fixes #102836


  Commit: ae54f476f7d856682976f08622ee70880318a1b1
      https://github.com/llvm/llvm-project/commit/ae54f476f7d856682976f08622ee70880318a1b1
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/SemaConcept.h
    M clang/lib/Sema/SemaConcept.cpp
    A clang/test/SemaCXX/concepts-subsumption.cpp

  Log Message:
  -----------
  [Clang] Improve subsumption. (#132849)

The main goal of this patch is to improve the
performance of concept subsumption by

- Making sure literal (atomic) clauses are de-duplicated (Whether 2
atomic constraint is established during the initial normal form
production).
 - Eagerly removing duplicated clauses.

This should minimize the risks of exponentially large formulas that can
be produced by a naive {C,D}NF transformation.

While at it, I restructured that part of the code to be a bit clearer.

Subsumption of fold expanded constraint is also cached.

---

Note that removing duplicated clauses seems to be necessary and
sufficient to have acceptable performance on anything that could be
construed as reasonable code.

Ultimately, the number of clauses is always going to be fairly small
(but $2^{fairly\ small}$ is quickly *fairly large*..).

I went too far in the rabbit hole of Tseitin transformations etc, which
was much faster but would then require to check satisfiabiliy to
establish subsumption between some constraints (although it was good
enough to pass all but ones of our tests...).

It doesn't help that the C++ standard has a very specific definition of
subsumption that is really more of an implication...

While that sort of musing is fascinating, it was ultimately a fool's
errand, at least until such time that there is more motivation for a SAT
solver in clang (clang-tidy can after all use z3!).

Here be dragons.

Fixes #122581


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
    M llvm/test/Analysis/CostModel/AArch64/cast.ll
    M llvm/test/Analysis/CostModel/AArch64/insert-extract.ll
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
    M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
    M llvm/test/Analysis/CostModel/AArch64/min-max.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
    M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll
    M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
    M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll

  Log Message:
  -----------
  [AArch64] Add getVectorInstrCost Codesize costs handling. (#130946)

We have a lot of missing Codesize costs for vector operations. This
patch starts things off by adding codesize costs for getVectorInstrCost,
returning a single cost instead of the VectorInsertExtractBaseCost
(which is typically 2). Insert of a load are given a cost of 0 as they
use ld1, otherwise the cost is 1.


  Commit: 08aedf7201e296af532575685372bb5ff7ed8b01
      https://github.com/llvm/llvm-project/commit/08aedf7201e296af532575685372bb5ff7ed8b01
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    A mlir/test/Dialect/LLVMIR/call-param.mlir
    M mlir/test/Dialect/LLVMIR/parameter-attrs-invalid.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Lift alignstack attribute ptr type restriction (#133195)

Current usage of alignstack is restricted to LLVM pointer types, whereas
when it's used in parameters it's possible to use it for other types,
see examples like `{i8, i8}, [2 x float], etc` in `llvm/test/CodeGen`.
This PR lifts the restriction and add testcases.


  Commit: aa207c3f054abb630be61cd60a11840a5c341c19
      https://github.com/llvm/llvm-project/commit/aa207c3f054abb630be61cd60a11840a5c341c19
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP500/load.s

  Log Message:
  -----------
  [RISCV] Update the latency of floating point load in SiFive P500 scheduling model (#133165)

P500-series cores should have a floating point load latency closer to 5
cycles, just like P400- and P600-series cores.


  Commit: d584cea064003f0c4c96e31a657fab1b2259a5c5
      https://github.com/llvm/llvm-project/commit/d584cea064003f0c4c96e31a657fab1b2259a5c5
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp

  Log Message:
  -----------
  [RISCV] Use TypeSize instead of uint64_t in getMachineMemOperand interface (#133274)

The primary reason is that if you pass a TypeSize without explicitly
converting to LocationSize, you otherwise implicit convert to uint64_t
to call the respective LocationSize constructor. This means that any
scalable value becomes a runtime assertion failure.

By replacing uint64_t with TypeSize in this API, we avoid the implicit
conversion for TypeSize. uint64_t callers implicit convert to
LocationSize (via the raw constructor) which should have unchanged
behavior.


  Commit: 4480f26e939304f5aa659b72fe16746dfe96601e
      https://github.com/llvm/llvm-project/commit/4480f26e939304f5aa659b72fe16746dfe96601e
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/test/C/C2y/n3369_2.c

  Log Message:
  -----------
  Fix failing test case for _Countof

Test just needs an explicit triple that was missed.


  Commit: fb993cd2290c0cf71a5192f350adf12424b55890
      https://github.com/llvm/llvm-project/commit/fb993cd2290c0cf71a5192f350adf12424b55890
  Author: Ariel-Burton <arielburton at yahoo.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/test/Sema/for.c

  Log Message:
  -----------
  Add guard to for loop test clang/test/Sema/for.c (#133169)

Commit 20b7f5982622f includes a case that checks diagnostics for for
loops using thread locals.
This fails on platforms which do not support TLS.
This change adds guards to run this part of the test iff the feature is
supported.


  Commit: 8ddbc01295af21b06503f5a376c5572f4ed589c9
      https://github.com/llvm/llvm-project/commit/8ddbc01295af21b06503f5a376c5572f4ed589c9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll

  Log Message:
  -----------
  [VPlan] Manage FindLastIV start value in ComputeFindLastIVResult (NFC) (#132690)

Keep the start value as operand of ComputeFindLastIVResult. A follow-up
patch will use this to make sure the start value is frozen if needed.

Depends on https://github.com/llvm/llvm-project/pull/132689

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


  Commit: 1a7af2a90fb043b25cbba15ce941ebfdba0e6717
      https://github.com/llvm/llvm-project/commit/1a7af2a90fb043b25cbba15ce941ebfdba0e6717
  Author: Fabian Mora <fmora.dev at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir][DataLayout] Add `IsolatedFromAbove` to `DataLayoutOpInterface` (#132742)

This patch adds the `IsolatedFromAbove` trait as a dependent trait to
the `DataLayoutOpInterface` op interface.

The motivation behind this change comes from the implementation of the
`ptr` dialect, specifically the `ptr.type_offset` op. This op produces
an int-like value that equates to the size of a memory element. This is
useful for ptr arithmetic and indexing arrays. For example:

```mlir
%f32_off = ptr.type_offset f32 : index
%addr = ptr.ptradd %ptr, %f32_off : !ptr, index
%x = ptr.load %addr : !ptr -> f32 // Read ptr[1]
```

Without the `IsolatedFromAvobe` trait in the DL interface, the
`ptr.type_offset` cannot be `ConstantLike`. Why?
Take the example:
```mlir
op {DL1} {
  %f32_off0 = ptr.type_offset f32 : index
  op {DL2} {
    %f32_off1 = ptr.type_offset f32 : index
  }
}
```
If `ptr.type_offset` were to be `ConstantLike` then `canonicalize` would
hoist and unique the value. However, that could be wrong as DL2 could
have an entry to specify the size that's different from the size in DL1.

The best solution to the above problem is to make
`DataLayoutOpInterface` require the `IsolatedFromAbove` trait, as it
preserves the constness of values in the DL with respect to the
canonicalizer.


  Commit: c90a536bcff5d4decc330535b6b3de3aeb139811
      https://github.com/llvm/llvm-project/commit/c90a536bcff5d4decc330535b6b3de3aeb139811
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

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

  Log Message:
  -----------
  [CodeGen] Simplify code using TypeSize overloads of getMachineMemOperand [nfc]

These were added in d584cea.  This change runs through existing uses and
simplifies where obvious.


  Commit: a2432793ea7d12ecbd424f7ed2c0e36f34a2df24
      https://github.com/llvm/llvm-project/commit/a2432793ea7d12ecbd424f7ed2c0e36f34a2df24
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/Maintainers.rst

  Log Message:
  -----------
  [Clang] Add 'Joseph Huber' as offloading driver maintainer (#133296)

Summary:
I am probably the person most familiar with the offloading pipeline in
clang at this point.


  Commit: 8bdcd0a96e65557c8c3bf506d186c49002db6463
      https://github.com/llvm/llvm-project/commit/8bdcd0a96e65557c8c3bf506d186c49002db6463
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll

  Log Message:
  -----------
  [LAA] Add missing test coverage for retrying with runtime checks.

Adds extra test coverage showing change by
https://github.com/llvm/llvm-project/pull/128045.


  Commit: 5cb3052ccc5016beff2061a622caed9a4578ba92
      https://github.com/llvm/llvm-project/commit/5cb3052ccc5016beff2061a622caed9a4578ba92
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M .github/workflows/containers/github-action-ci/Dockerfile

  Log Message:
  -----------
  [Github] Bump CI container to LLVM 20.1.1

This patch bumps the CI container to the latest LLVM Release and gets rid of
the patch that we were carrying that is in 20.1.1.

Reviewers: tstellar

Reviewed By: tstellar

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


  Commit: 18172e461cfcc2d8331b95a68ba6b08350149f2b
      https://github.com/llvm/llvm-project/commit/18172e461cfcc2d8331b95a68ba6b08350149f2b
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M .github/workflows/build-ci-container.yml
    M .github/workflows/containers/github-action-ci/Dockerfile

  Log Message:
  -----------
  [Github] Bump CI container to ubuntu 24.04

This helps keep things up to date, and should not cause any issues given we do
not need to care about binary compatibility for things built in the CI
container. This patch also changes the name of the container which allows
incrementally moving jobs over after this lands.

Reviewers: tstellar

Reviewed By: tstellar

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


  Commit: 48864a52ef547ac0477271127b510dd9e9798219
      https://github.com/llvm/llvm-project/commit/48864a52ef547ac0477271127b510dd9e9798219
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/source/Symbol/UnwindPlan.cpp

  Log Message:
  -----------
  Revert "[lldb] Remove UnwindPlan::Row shared_ptrs (#132370)" (#133299)

This reverts commit d7cea2b18717f0cc31b7da4a03f772d89ee201db. It causes
crashes in API tests.


  Commit: 5eccd71ce4f852c7b2f06ecd1976d9e34040fcaa
      https://github.com/llvm/llvm-project/commit/5eccd71ce4f852c7b2f06ecd1976d9e34040fcaa
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

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

  Log Message:
  -----------
  [VPlan] Add assertion ensuring Plan's UF matches BestUF (NFC).


  Commit: e9d517d183b18ef6c94e0d0d10d1ac229a4a6014
      https://github.com/llvm/llvm-project/commit/e9d517d183b18ef6c94e0d0d10d1ac229a4a6014
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/test/Driver/amdgpu-toolchain.c
    M clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
    M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
    M clang/test/Driver/hip-toolchain-rdc.hip

  Log Message:
  -----------
  [Clang] Handle `-flto-partitions` generically and forward it properly (#133283)

Summary:
The https://github.com/llvm/llvm-project/pull/128509 patch introduced
`--flto-partitions`. This was marked as a HIP only argument, and was
also spelled and handled incorrectly for an `-f` option. This patch
makes the handling generic for `ld.lld` consumers.

This also fixes some issues with emitting the flags being put after the
default arguments, preventing users from overriding them. Also, forwards
things properly for the new driver so we can test this.


  Commit: 02b45f4b811afa6f87b36605ae6f767a5dfa5025
      https://github.com/llvm/llvm-project/commit/02b45f4b811afa6f87b36605ae6f767a5dfa5025
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

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

  Log Message:
  -----------
  [AMDGPU] Add a new function `getIntegerPairAttribute` (#133271)

The new function will return `std::nullopt` when any error occurs.


  Commit: ee0009c4e63b299c6d310ed49c60f430947d8f56
      https://github.com/llvm/llvm-project/commit/ee0009c4e63b299c6d310ed49c60f430947d8f56
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/CMakeLists.txt

  Log Message:
  -----------
  [RISCV] Sort list of files. NFC.


  Commit: 2fb53f59c17add00a00e98d92b15cefcfa00f346
      https://github.com/llvm/llvm-project/commit/2fb53f59c17add00a00e98d92b15cefcfa00f346
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    R .ci/generate_test_report.py
    A .ci/generate_test_report_buildkite.py
    A .ci/generate_test_report_lib.py
    A .ci/generate_test_report_lib_test.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [CI] Refactor generate_test_report script

This patch refactors the generate_test_report script, namely turning it
into a proper library, and pulling the script/unittests out into
separate files, as is standard with most python scripts. The main
purpose of this is to enable reusing the library for the new Github
premerge.

Reviewers: tstellar, DavidSpickett, Keenuts, lnihlen

Reviewed By: DavidSpickett

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


  Commit: a1a5594ad2173be10e3e790fb1dce1a059d32e5b
      https://github.com/llvm/llvm-project/commit/a1a5594ad2173be10e3e790fb1dce1a059d32e5b
  Author: egebeysel <beyselege at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
    M mlir/test/Dialect/Arith/emulate-wide-int.mlir
    A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-subi-i32.mlir

  Log Message:
  -----------
  [mlir][arith] add wide integer emulation support for subi (#133248)

Adds wide integer emulation support for the `arith.subi` op. `(i2N, i2N)
-> (i2N)` ops are emulated as `(vector<2xiN>, vector<2xiN>) ->
(vector<2xiN>)`, just as the other emulation patterns.

The emulation uses the following scheme:

```
resLow = lhsLow - rhsLow;      // carry = 1 if rhsLow > lhsLow
resHigh = lhsLow - carry - rhsLow;
```

Signed-off-by: Ege Beysel <beysel at roofline.ai>


  Commit: 7712de3062b979345fae0b9717796339a70c593b
      https://github.com/llvm/llvm-project/commit/7712de3062b979345fae0b9717796339a70c593b
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

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

  Log Message:
  -----------
  [compiler-rt][tests][AIX] Use /opt/freeware/bin/env (#133160)

`env -u` is not supported by the system `env` utility on AIX.

`/opt/freeware/bin/env` is the standard path for the GNU coreutils `env`
utility as distributed by the AIX Toolbox for Open Source Software.

Adding `/opt/freeware/bin` to `PATH` causes issues by picking up other
utilities that are less capable, in an AIX context, than the system
ones.

This patch modifies the relevant usage of `env` to use (on AIX) the full
path to `/opt/freeware/bin/env`.


  Commit: 8244f8210f2e62f68429a0daf104fd483ada45ab
      https://github.com/llvm/llvm-project/commit/8244f8210f2e62f68429a0daf104fd483ada45ab
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h

  Log Message:
  -----------
  [lldb] Emit progress events in SymbolFileDWARFDebugMap (#133211)

Emit progress events from SymbolFileDWARFDebugMap. Because we know the
number of OSOs, we can show determinate progress. This is based on a
patch from Adrian, and part of what prompted me to look into improving
how LLDB shows progress events. Before the statusline, all these
progress events would get shadowed and never displayed on the command
line.


  Commit: 0d4f12ee0046b83d28dbf3a8aca07a0f27b77786
      https://github.com/llvm/llvm-project/commit/0d4f12ee0046b83d28dbf3a8aca07a0f27b77786
  Author: Matthew Bastien <matthew_bastien at apple.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M lldb/tools/lldb-dap/package.json
    M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
    A lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
    M lldb/tools/lldb-dap/src-ts/extension.ts
    A lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
    A lldb/tools/lldb-dap/src-ts/ui/error-with-notification.ts
    A lldb/tools/lldb-dap/src-ts/ui/show-error-message.ts

  Log Message:
  -----------
  [lldb-dap] Allow providing debug adapter arguments in the extension (#129262)

Added a new setting called `lldb-dap.arguments` and a debug
configuration attribute called `debugAdapterArgs` that can be used to
set the arguments used to launch the debug adapter. Right now this is
mostly useful for debugging purposes to add the `--wait-for-debugger`
option to lldb-dap.

Additionally, the extension will now check for a changed lldb-dap
executable or arguments when launching a debug session in server mode. I
had to add a new `DebugConfigurationProvider` to do this because VSCode
will show an unhelpful error modal when the
`DebugAdapterDescriptorFactory` returns `undefined`.

In order to facilitate this, I had to add two new properties to the
launch configuration that are used by the
`DebugAdapterDescriptorFactory` to tell VS Code how to launch the debug
adapter:

- `debugAdapterHostname` - the hostname for an existing lldb-dap server
- `debugAdapterPort` - the port for an existing lldb-dap server

I've also removed the check for the `executable` argument in
`LLDBDapDescriptorFactory.createDebugAdapterDescriptor()`. This argument
is only set by VS Code when the debug adapter executable properties are
set in the `package.json`. The LLDB DAP extension does not currently do
this (and I don't think it ever will). So, this makes the debug adapter
descriptor factory a little easier to read.

The check for whether or not `lldb-dap` exists has been moved into the
new `DebugConfigurationProvider` as well. This way the extension won't
get in the user's way unless they actually try to start a debugging
session. The error will show up as a modal which will also make it more
obvious when something goes wrong, rather than popping up as a warning
at the bottom right of the screen.


  Commit: 7c3ecffe9b23411463919742ad8399f6aa48af4b
      https://github.com/llvm/llvm-project/commit/7c3ecffe9b23411463919742ad8399f6aa48af4b
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    M flang/test/Fir/CUDA/cuda-constructor.f90
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Dialect/LLVMIR/global.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Target/LLVMIR/Import/global-variables.ll
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/mlir-runner/global-constructors.mlir

  Log Message:
  -----------
  [MLIR][LLVMIR] Add support for the full form of global_{ctor,dtor} (#133176)

Currently only ctor/dtor list and their priorities are supported. This
PR adds support for the missing data field.

Few implementation notes:
- The assembly printer has a fixed form because previous `attr_dict`
will sort the dict by key name, making global_dtor and global_ctor
differ in the order of printed arguments.
- LLVM's `ptr null` is being converted to `#llvm.zero` otherwise we'd
have to create a region to use the default operation conversion from
`ptr null`, which is silly given that the field only support null or a
symbol.


  Commit: 57e5b82e8cf4b892ce023c37c9f6053c15c582a5
      https://github.com/llvm/llvm-project/commit/57e5b82e8cf4b892ce023c37c9f6053c15c582a5
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M lld/MachO/SyntheticSections.cpp
    M lld/test/MachO/icf-safe-thunks-dwarf.ll

  Log Message:
  -----------
  [lld-macho] Fix STABS entries for `--icf=safe_thunks` and `--keep-icf-stabs` (#133179)

When using the linker flags `--icf=safe_thunks` and `--keep-icf-stabs`
together, an issue arises with the STABS debugging entries in the linked
output. The problem affects STABS entries for functions that are folded
via ICF using thunks.
For instance, if `func1` is merged into `func2` through a thunk, the
STABS entry for `func1` incorrectly points to the object file of
`func2`. This is incorrect behavior—each function’s STABS entry should
consistently point to its own original object file (e.g., the STABS
entry for `func1` should reference `func1`’s object file). This issue
causes `dsymutil` to not be able to retrieve the debug information for
the problematic function.
This patch corrects this behavior - making it so that STABS entries
always point to the correct object file.


  Commit: 5c26e80e57eba912cc7eb47b1a33afa46c1526e5
      https://github.com/llvm/llvm-project/commit/5c26e80e57eba912cc7eb47b1a33afa46c1526e5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll

  Log Message:
  -----------
  [LV] Make cost model tests independent of VPValue numbers.

Update tests to not rely on hard-coded VPValue numbers.


  Commit: 2a96beca9b502776d5e2a3be2da3f886135b056e
      https://github.com/llvm/llvm-project/commit/2a96beca9b502776d5e2a3be2da3f886135b056e
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M lldb/source/Core/Debugger.cpp

  Log Message:
  -----------
  [SBProgress][CLI] Configure sbprogress events to be emitted for the CLI (#133309)

In the original SBProgress patch, #123837, I didn't ensure the debugger
was broadcasting these events to the CLI as SBProgress has far been
focused on DAP. We had an internal ask to have SBProgress events
broadcasted to the CLI so this patch addresses that.

<img width="387" alt="image"
src="https://github.com/user-attachments/assets/5eb93a46-1db6-4d46-a6b7-2b2f9bbe71db"
/>


  Commit: 1d9d4651df9490360a883f4479a90de5bcab0a71
      https://github.com/llvm/llvm-project/commit/1d9d4651df9490360a883f4479a90de5bcab0a71
  Author: Alexander Weinrauch <alexander.weinrauch at amd.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td

  Log Message:
  -----------
  [MLIR][ROCDL] Enable AliasAnalysis for GlobalLoadLds and LDS_Read_Tr (#133255)

Enables AliasAnalysis for `GlobalLoadLds` and `LDS_Read_Tr`. All other
memory related ROCDL Ops have this already enabled.


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

  Changed paths:
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/Transforms/remove-dead-values.mlir

  Log Message:
  -----------
  Fix RemoveDeadValues: Bail out early when there are no terminators (#133316)

Fixes: #131765


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

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

  Log Message:
  -----------
  [RISCV] Remove ParserMatchClass and DecoderMethod from an operand only used by pseudos. NFC


  Commit: 52975d5c9fd524ab82dae16d8ef6890708c40fae
      https://github.com/llvm/llvm-project/commit/52975d5c9fd524ab82dae16d8ef6890708c40fae
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
    M mlir/test/Dialect/SCF/uplift-while.mlir

  Log Message:
  -----------
  [mlir][scf] Allow different forwarding ordering in uplift

- Allow 'before' arguments are forwarded in different order to 'after'
  body when uplifting `scf.while` to `scf.for`.


  Commit: 01e505b9922485514d4e1f9a26c390d0e7a71bf4
      https://github.com/llvm/llvm-project/commit/01e505b9922485514d4e1f9a26c390d0e7a71bf4
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp

  Log Message:
  -----------
  [clang-tidy][misc-const-correctness] fix fp when using const array type. (#133018)

Fixed: #132931
const array is immutable in C/C++ language design, we don't need to
check constness for it.


  Commit: d8e44a9ab2901eee7cd0440b62722eb01cac94d7
      https://github.com/llvm/llvm-project/commit/d8e44a9ab2901eee7cd0440b62722eb01cac94d7
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    A llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/branch_zero.ll
    M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
    M llvm/test/CodeGen/RISCV/simplify-condbr.ll

  Log Message:
  -----------
  [RISCV] Add late optimization pass for riscv (#133256)

This patch is an alternative to PRs #117060, #131684, #131728.

The patch adds a late optimization pass that replaces conditional
branches that can be statically evaluated with an unconditinal branch.

Adding Michael as a co-author as most of the code that evaluates the
condition comes from #131684.

Co-authored-by: Michael Maitland michaeltmaitland at gmail.com


  Commit: 50ea777e40dd0732fe08457d6326db538f0369b0
      https://github.com/llvm/llvm-project/commit/50ea777e40dd0732fe08457d6326db538f0369b0
  Author: Alan Zhao <ayzhao at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/test/Other/time-passes.ll
    M llvm/tools/opt/NewPMDriver.cpp

  Log Message:
  -----------
  [opt][timers] Fix time-passes.ll test failing on reversed iterators (#131941)

After https://github.com/llvm/llvm-project/pull/131217 was submitted,
time-passes.ll fails because `opt` prints `-time-report` when
`ManagedTimerGlobals` is destroyed. `ManagedTimerGlobals` stores
`TimerGroup`s in an unordered map, so the ordering of the output
`TimerGroup`s depends on the underlying iterator.

To fix this, we do what Clang does and use
`llvm::TimerGroup::printAll(...)`, which *is* deterministic. This is
also what Clang does. This does put move analysis section before the
pass section for `-time-report`, but again, this is also what Clang
currently does.


  Commit: 5b7fd708fe792331baeade8b8d736c1d5310e0ee
      https://github.com/llvm/llvm-project/commit/5b7fd708fe792331baeade8b8d736c1d5310e0ee
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/pr42905.ll
    M llvm/test/CodeGen/X86/sad.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
    M llvm/test/CodeGen/X86/vector-reduce-mul.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  Revert "[DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses" (#133331)

Reverts llvm/llvm-project#133130

This touches a common file as #133083, which is causing failures


  Commit: c10e26ba2eb307dcef95d91ea12aa13dc96e8d19
      https://github.com/llvm/llvm-project/commit/c10e26ba2eb307dcef95d91ea12aa13dc96e8d19
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M lldb/source/Core/CoreProperties.td

  Log Message:
  -----------
  [lldb] Improve default statusline colors to work with more color schemes (#133315)

Use the reverse video [1] font effect (`${ansi.negative}`) as the
default for the statusline. Inverting the foreground and background
color has a better change as looking reasonably good, compared to
picking an arbitrary color.

[1] https://en.wikipedia.org/wiki/Reverse_video


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

  Changed paths:
    M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll

  Log Message:
  -----------
  [PreISelIntrinsicLowering][test] Add coverage for @llvm.experimental.memset.pattern with ptr pattern argument

These tests all show the desired output because after #132026, the
intrinsic can take any sized type as an argument. The tests were adapted
from those I proposed adding in #129220.


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

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm

  Log Message:
  -----------
  [WebKit Checkers] Recognize Objective-C and CF pointer conversion functions. (#132784)

Recognize dynamic_objc_cast, checked_objc_cast, dynamic_cf_cast, and
checked_cf_cast.


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

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

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


  Commit: a10a9134023539ee6ab3d166518487f40e368334
      https://github.com/llvm/llvm-project/commit/a10a9134023539ee6ab3d166518487f40e368334
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/llvm-tests.yml

  Log Message:
  -----------
  workflows: Add missing apt-get update to abi tests (#133264)


  Commit: 864d4f940bdd3f5d1d45cdde573dd7fdc766e14e
      https://github.com/llvm/llvm-project/commit/864d4f940bdd3f5d1d45cdde573dd7fdc766e14e
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td

  Log Message:
  -----------
  [AMDGPU] Trim traling blank in VOP3Instructions.td. NFC. (#133330)


  Commit: e9dc0518c92ce0551f44b1b49722b4fb5f54ec4b
      https://github.com/llvm/llvm-project/commit/e9dc0518c92ce0551f44b1b49722b4fb5f54ec4b
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

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

  Log Message:
  -----------
  Revert "Fix gcc signed/unsigned comparison warning. NFC." (#133334)

This reverts commit 6c2171672f03356835c534a0ec18250233ea66db. It touches
a common file as #133083, which is causing failures


  Commit: 5e1fba4243eea8f0166de20217416a12e26b45be
      https://github.com/llvm/llvm-project/commit/5e1fba4243eea8f0166de20217416a12e26b45be
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll

  Log Message:
  -----------
  Revert "[X86] combineINSERT_SUBVECTOR - fold insert_subvector(base,extract_subvector(broadcast)) -> blend shuffle(base,broadcast)" (#133340)

Reverts llvm/llvm-project#133083

This causes BuildBot failures, and causes time outs in some of our internal tests (3 min => over 5 min).


  Commit: fc33aa9684243dcce84b81f11c004061350b945a
      https://github.com/llvm/llvm-project/commit/fc33aa9684243dcce84b81f11c004061350b945a
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

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

  Log Message:
  -----------
  [llvm][cmake] Quote CMAKE_CXX_COMPILER_ID in string comparison (#133332)

We're seeing following configuration error when building the `runtimes`
target on our buildbots:
```
CMake Error at /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/llvm/cmake/modules/CheckProblematicConfigurations.cmake:14 (if):
  if given arguments:

    "STREQUAL" "MSVC"

  Unknown arguments specified
Call Stack (most recent call first):
  /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/llvm/cmake/modules/HandleLLVMOptions.cmake:10 (include)
  CMakeLists.txt:175 (include)
```

If I understand correctly this happens because ${CMAKE_CXX_COMPILER_ID}
is empty. Quoting it should make the comparison work for those cases.


  Commit: 2e3c31779018b9bea6abe262510b0bada148c1a5
      https://github.com/llvm/llvm-project/commit/2e3c31779018b9bea6abe262510b0bada148c1a5
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp

  Log Message:
  -----------
  Fix the assertion failure in Analysis/Checkers/WebKit/forward-decl-checker.mm after https://github.com/llvm/llvm-project/pull/132784. (#133341)


  Commit: 9cd88847b57a43c1f862e54abce445a2f2f8f46f
      https://github.com/llvm/llvm-project/commit/9cd88847b57a43c1f862e54abce445a2f2f8f46f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Remove unused MCOperandPredicate from simm12_lsb00000. NFC

I don't think the use of isBareSymbolRef() was correct since we
don't have any relocations associated with this instruction type.


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

  Changed paths:
    M mlir/lib/AsmParser/AttributeParser.cpp

  Log Message:
  -----------
  [MLIR] NFC: Remove unused includes (#133327)


  Commit: aa3149d204ed019c53eedd1bb00a315c0db41270
      https://github.com/llvm/llvm-project/commit/aa3149d204ed019c53eedd1bb00a315c0db41270
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M compiler-rt/lib/msan/tests/msan_test.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

  Log Message:
  -----------
  [sanitizer] intercept getservent_r, getservbyname_r, getservbyport_r (#133339)


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

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

  Log Message:
  -----------
  [RISCV] Const correct reference argument to isElementRotate. NFC


  Commit: d7c53a91c2c11439429bbd50bb1d0a202c553a47
      https://github.com/llvm/llvm-project/commit/d7c53a91c2c11439429bbd50bb1d0a202c553a47
  Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/include/mlir/IR/EnumAttr.td
    M mlir/include/mlir/TableGen/EnumInfo.h
    M mlir/lib/TableGen/EnumInfo.cpp
    M mlir/lib/TableGen/Pattern.cpp
    M mlir/test/Dialect/LLVMIR/func.mlir
    M mlir/test/IR/attribute.mlir
    M mlir/test/lib/Dialect/Test/TestEnumDefs.td
    M mlir/test/mlir-tblgen/enums-gen.td
    M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
    M mlir/tools/mlir-tblgen/EnumsGen.cpp
    M mlir/tools/mlir-tblgen/OpDocGen.cpp
    M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
    M mlir/utils/spirv/gen_spirv_dialect.py

  Log Message:
  -----------
  [mlir] Decouple enum generation from attributes, adding EnumInfo and EnumCase (#132148)

This commit pulls apart the inherent attribute dependence of classes
like EnumAttrInfo and EnumAttrCase, factoring them out into simpler
EnumCase and EnumInfo variants. This allows specifying the cases of an
enum without needing to make the cases, or the EnumInfo itself, a
subclass of SignlessIntegerAttrBase.

The existing classes are retained as subclasses of the new ones, both
for backwards compatibility and to allow attribute-specific information.

In addition, the new BitEnum class changes its default printer/parser
behavior: cases when multiple keywords appear, like having both nuw and
nsw in overflow flags, will no longer be quoted by the operator<<, and
the FieldParser instance will now expect multiple keywords. All
instances of BitEnumAttr retain the old behavior.


  Commit: 75ca080daba6585d0a6522187aab4bc781ba4103
      https://github.com/llvm/llvm-project/commit/75ca080daba6585d0a6522187aab4bc781ba4103
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
    A llvm/test/MC/Disassembler/RISCV/xqccmp-invalid-rlist.txt
    M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
    M llvm/test/MC/RISCV/rv32xqccmp-valid.s
    M llvm/test/MC/RISCV/rv64e-xqccmp-valid.s
    M llvm/test/MC/RISCV/rv64xqccmp-valid.s

  Log Message:
  -----------
  [RISCV][Xqccmp] Correctly Parse/Disassemble pushfp (#133188)

In the `qc.cm.pushfp` instruction, it is like `cm.pushfp` except in one
important way - `qc.cm.pushfp {ra}, -N*16` is not a valid encoding,
because this would update `s0`/`fp`/`x8` without saving it.

This change now correctly rejects this variant of the instruction, both
during parsing and during disassembly. I also implemented validation for
immediates that represent register lists (both kinds), which may help to
catch bugs in the future.


  Commit: cd6e959102888279dc7e75a41ebd75a08ac3f7a5
      https://github.com/llvm/llvm-project/commit/cd6e959102888279dc7e75a41ebd75a08ac3f7a5
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

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

  Log Message:
  -----------
  Revert "[MC] Explicitly mark MCSymbol for MO_ExternalSymbol" (#133291)

Reverts llvm/llvm-project#108880 .

The patch has no regression test, no description of why the fix is
necessary, and the code is modifying MC datastructures in a way that's
forbidden in the AsmPrinter.

Fixes #132055.


  Commit: 3a3732c2527056342051068c3dbaef4e822bd0a6
      https://github.com/llvm/llvm-project/commit/3a3732c2527056342051068c3dbaef4e822bd0a6
  Author: egebeysel <beysel at roofline.ai>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
    M mlir/test/Dialect/Arith/emulate-wide-int.mlir
    A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptosi-i64.mlir
    A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptoui-i64.mlir

  Log Message:
  -----------
  [mlir][arith]  wide integer emulation support for fpto*i ops (#132375)

Adding wide integer emulation support for `arith.fpto*i` operations. As
the other emulated operations, the upper and lower `N` bits of the `i2N`
integer result are emitted separately.

For the unsigned case we use the following emulation

```c
// example is 64 -> 32 bit emulation, but the implementation is generalized to any 2N -> N case
const double TWO_POW_N = (uint_64_t(1) << N); // 2^N, N is the bitwidth of the widest int supported

// f is a floating-point value representing the input of the fptoui op.
uint32_t hi = (uint32_t)(f / TWO_POW_N);         // Truncates the division result
uint32_t lo = (uint32_t)(f - hi * TWO_POW_N);       // Subtracts to get the lower bits.
```

For the signed case, we defer the emulation of the absolute value to
`fptoui` and handle the sign:

```
fptosi(fp) = sign(fp) * fptoui(abs(fp))
```

The edge cases of `NaNs, +-inf` and overflows/underflows are undefined
behaviour and the resulting numbers are the combination of the lower
bitwidth UB values. These operations also propagate poison values.

Signed-off-by: Ege Beysel <beysel at roofline.ai>


  Commit: d443cd62d289d972c0245488920acba2b14f7cf9
      https://github.com/llvm/llvm-project/commit/d443cd62d289d972c0245488920acba2b14f7cf9
  Author: Hank Chang <hank.chang at sifive.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp

  Log Message:
  -----------
  [ASan] Move early exit checks outside "instrumentFunction()" to avoid… (#133285)

… unnecessary FunctionSanitizer construction (NFC)

This patch moves several early-exit checks (e.g., empty function, etc.)
out of `AddressSanitizer::instrumentFunction` and into the caller. This
change avoids unnecessary construction of FunctionSanitizer when
instrumentation is not needed.


  Commit: 89cfeeb062577069d1da236d33810bb0416f1102
      https://github.com/llvm/llvm-project/commit/89cfeeb062577069d1da236d33810bb0416f1102
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/ast-dump-types-json.cpp

  Log Message:
  -----------
  [clang] fix structural comparison for dependent class member pointer (#133343)

Fixes a regression introduced in
https://github.com/llvm/llvm-project/pull/130537 and reported here
https://github.com/llvm/llvm-project/issues/133144

This fixes a crash in ASTStructuralEquivalence where the non-null
precondition for IsStructurallyEquivalent would be violated, when
comparing member pointers with a dependent class.

This also drive-by fixes the ast node traverser for member pointers so
it doesn't traverse into the qualifier in case it's not a type, or the
class declaration in case it would be equivalent to what the qualifier
refers.

This avoids printing of `<<<NULL>>>` on the text node dumper, which is
redundant.

No release notes since the regression was never released.

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


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

  Changed paths:
    A llvm/test/TableGen/CompressInstEmitter/suboperands.td
    M llvm/utils/TableGen/CompressInstEmitter.cpp

  Log Message:
  -----------
  [TableGen][RISCV] Support sub-operands in CompressInstEmitter.cpp. (#133039)

I'm looking into using sub-operands for memory operands. This would use
MIOperandInfo to create a single operand that contains a register and
immediate as sub-operands. We can treat this as a single operand for
parsing and matching in the assembler. I believe this will provide some
simplifications like removing the InstAliases we need to support "(rs1)"
without an immediate.

Doing this requires making CompressInstEmitter aware of sub-operands.

I've chosen to use a flat list of operands in the CompressPats so each
sub-operand is represented individually.


  Commit: a6cb5cc0f0b6448e9b2d05017ea17fccf1eb1feb
      https://github.com/llvm/llvm-project/commit/a6cb5cc0f0b6448e9b2d05017ea17fccf1eb1feb
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/lib/AsmParser/AttributeParser.cpp
    M mlir/test/IR/invalid-builtin-attributes.mlir

  Log Message:
  -----------
  [mlir] Add nullptr checks in SparseElementsAttr parser  (#133222)

This PR adds nullptr checks in the SparseElementsAttr parser to improve
robustness and prevent crashes. Fixes #132891.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/pr133217.ll

  Log Message:
  -----------
  [RISCV] Disable i1 fixed vectors with more than 1024 elements. (#133267)

v2048i1 is an MVT, but v2048i8 is not so we don't support i8 vectors
with more than 1024 elements. Lowering a v2048i1 shufflevector would
requires promoting to v2048i8. Since v2048i8 isn't legal and isn't an
MVT this leads to a crash.

To fix the crash, this patch makes v2048i1 an illegal type.


  Commit: 725a7b664b92cd2e884806de5a08900b43d43cce
      https://github.com/llvm/llvm-project/commit/725a7b664b92cd2e884806de5a08900b43d43cce
  Author: wanglei <wanglei at loongson.cn>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/test/MC/LoongArch/Relocations/relocations.s

  Log Message:
  -----------
  [LoongArch] Pre-commit test for #133225

Reviewed By: SixWeining

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


  Commit: 14c36db16fc090ef494ff6d8207562c414b40e30
      https://github.com/llvm/llvm-project/commit/14c36db16fc090ef494ff6d8207562c414b40e30
  Author: Lang Hames <lhames at apple.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
    A llvm/test/ExecutionEngine/JITLink/x86-64/Inputs/libFooUniversalDylib.yaml
    A llvm/test/ExecutionEngine/JITLink/x86-64/MachO_foo-in-weak-dylib.s

  Log Message:
  -----------
  [ORC] Generalize GetDylibInterface to support MachO Universal Binaries.

Also adds a testcase for dylib handling in llvm-jitlink`s -weak-lx and
-weak_library options.


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

  Changed paths:
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptosi-i64.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptoui-i64.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-subi-i32.mlir

  Log Message:
  -----------
  [mlir][arith] Trim trailing spaces in wide int emulation tests. NFC. (#133349)

Followup cleanup after https://github.com/llvm/llvm-project/pull/132375
and https://github.com/llvm/llvm-project/pull/133248


  Commit: 52d7f14a895eb8669d72cd02754e5586de3e61d8
      https://github.com/llvm/llvm-project/commit/52d7f14a895eb8669d72cd02754e5586de3e61d8
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M compiler-rt/lib/msan/tests/msan_test.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

  Log Message:
  -----------
  Revert "[sanitizer] intercept getservent_r, getservbyname_r, getservbyport_r" (#133358)

Reverts llvm/llvm-project#133339


  Commit: c8b69c90760072b2813a3465d70817470f63cd4a
      https://github.com/llvm/llvm-project/commit/c8b69c90760072b2813a3465d70817470f63cd4a
  Author: Jinjie Huang <huangjinjie at bytedance.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

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

  Log Message:
  -----------
  [NFC][SampleFDO] Clean the unneeded field and the related loop (#132376)

Clean the unneeded field 'TotalCollectedSamples' and the unnecessary
loop.
The field seems introduced in:https://reviews.llvm.org/D31952, and its
uses were removed in: https://reviews.llvm.org/D19287, but this field
and unnecessary calculation were not cleaned up.
This patch will remove these unneeded codes.


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

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp

  Log Message:
  -----------
  [mlir] Use a range constructor of DenseSet (NFC) (#133355)


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

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp

  Log Message:
  -----------
  [clang] Use *Set::insert_range (NFC) (#133357)

We can use *Set::insert_range to collapse:

  for (auto Elem : Range)
    Set.insert(E);

down to:

  Set.insert_range(Range);

In some cases, we can further fold that into the set declaration.


  Commit: d055e58334a91dcbaee22eb87bcdae85a1f33cd4
      https://github.com/llvm/llvm-project/commit/d055e58334a91dcbaee22eb87bcdae85a1f33cd4
  Author: wanglei <wanglei at loongson.cn>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchFloatInstrFormats.td
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/test/MC/LoongArch/Relocations/relocations.s
    M llvm/test/MC/LoongArch/lasx/invalid-imm.s
    M llvm/test/MC/LoongArch/lsx/invalid-imm.s

  Log Message:
  -----------
  [LoongArch][MC] Add relocation support for fld fst [x]vld [x]vst

This also fixes errors when using Clang with step-by-step compilation.
Because the optimization will pass relocation information to memory
access instructions. For example:
t.c:
```
float f = 0.1;
float foo() { return f;}
```
```
clang --target=loongarch64 -O2 -c t.c --save-temps
```

Reviewed By: tangaac, SixWeining

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


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

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

  Log Message:
  -----------
  [AMDGPU] Use MapVector instead of DenseMap (NFC) (#133356)

This patch combines:

  DenseMap<MachineBasicBlock *, bool> ReachableMap;
  SmallVector<MachineBasicBlock *, 4> ReachableOrdered;

into:

  MapVector<MachineBasicBlock *, bool> ReachableMap;

because we add elements to the two data structures in lockstep, and we
care about preserving the insertion order.

As a side benefit, we get to avoid hash lookups at:

  ReachableMap[MBB] = true;


  Commit: 673f4705a827aba52b991d446a90a1c0ca5641a5
      https://github.com/llvm/llvm-project/commit/673f4705a827aba52b991d446a90a1c0ca5641a5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
    M llvm/lib/IR/SafepointIRVerifier.cpp
    M llvm/lib/ProfileData/SampleProf.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanSLP.h
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp

  Log Message:
  -----------
  [llvm] Use *Set::insert_range (NFC) (#133353)

We can use *Set::insert_range to collapse:

  for (auto Elem : Range)
    Set.insert(E.first);

down to:

  Set.insert_range(llvm::make_first_range(Range));

In some cases, we can further fold that into the set declaration.


  Commit: 81c6ce3b33ff462a23744c82f493e1e1ea3844de
      https://github.com/llvm/llvm-project/commit/81c6ce3b33ff462a23744c82f493e1e1ea3844de
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td

  Log Message:
  -----------
  [AMDGPU] Simplify VOP3_CVT_PK_F8_F32_Profile. NFC. (#133328)


  Commit: 0ed4bdfe70d88e8b7aa70739ffcb655ad01226ef
      https://github.com/llvm/llvm-project/commit/0ed4bdfe70d88e8b7aa70739ffcb655ad01226ef
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
    M llvm/test/MC/PowerPC/ppc64-fixups.s

  Log Message:
  -----------
  PPCAsmParser: Detect multiple specifiers

In addition, simplify extractSpecifier and switch to the `Specifier`
naming convention.


  Commit: 96e5ee23a76136851a52f48c780249e2a86a5ce9
      https://github.com/llvm/llvm-project/commit/96e5ee23a76136851a52f48c780249e2a86a5ce9
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    A bolt/test/AArch64/lite-mode.s

  Log Message:
  -----------
  [BOLT][AArch64] Add partial support for lite mode (#133014)

In lite mode, we only emit code for a subset of functions while
preserving the original code in .bolt.org.text. This requires updating
code references in non-emitted functions to ensure that:

* Non-optimized versions of the optimized code never execute.
* Function pointer comparison semantics is preserved.

On x86-64, we can update code references in-place using "pending
relocations" added in scanExternalRefs(). However, on AArch64, this is
not always possible due to address range limitations and linker address
"relaxation".

There are two types of code-to-code references: control transfer (e.g.,
calls and branches) and function pointer materialization.
AArch64-specific control transfer instructions are covered by #116964.

For function pointer materialization, simply changing the immediate
field of an instruction is not always sufficient. In some cases, we need
to modify a pair of instructions, such as undoing linker relaxation and
converting NOP+ADR into ADRP+ADD sequence.

To achieve this, we use the instruction patch mechanism instead of
pending relocations. Instruction patches are emitted via the regular MC
layer, just like regular functions. However, they have a fixed address
and do not have an associated symbol table entry. This allows us to make
more complex changes to the code, ensuring that function pointers are
correctly updated. Such mechanism should also be portable to RISC-V and
other architectures.

To summarize, for AArch64, we extend the scanExternalRefs() process to
undo linker relaxation and use instruction patches to partially
overwrite unoptimized code.


  Commit: 4485e25dd2a57be1ee504b4dd863a1e140f5084c
      https://github.com/llvm/llvm-project/commit/4485e25dd2a57be1ee504b4dd863a1e140f5084c
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h

  Log Message:
  -----------
  [compiler-rt][nfc] DenseMap needs placement new (#133329)


  Commit: 68571f91515b8467723322ece8da3ea2d00c7596
      https://github.com/llvm/llvm-project/commit/68571f91515b8467723322ece8da3ea2d00c7596
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h

  Log Message:
  -----------
  Revert "[compiler-rt][nfc] DenseMap needs placement new (#133329)"

This reverts commit 4485e25dd2a57be1ee504b4dd863a1e140f5084c.
Buildbot failures, e.g. https://lab.llvm.org/buildbot/#/builders/66/builds/11827


  Commit: bed2bdf17b68b33dd1519a836ec2b77da8746053
      https://github.com/llvm/llvm-project/commit/bed2bdf17b68b33dd1519a836ec2b77da8746053
  Author: Qinkun Bao <qinkun at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M compiler-rt/test/CMakeLists.txt

  Log Message:
  -----------
  [NFCI] Change compiler_rt_Test_runtime to lowercase (#133362)


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

  Changed paths:
    A llvm/test/tools/llvm-reduce/remove-attributes-convergent-uncontrolled.ll
    A llvm/test/tools/llvm-reduce/remove-attributes-convergent.ll
    M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp

  Log Message:
  -----------
  llvm-reduce: Avoid removing convergent with convergence tokens (#132946)

Check if the intrinsics are declared in the module as an overly
conservative fix.

Fixes #132695


  Commit: 7eccafc3c84606587a175c0a8c1ebea6e4fb21cd
      https://github.com/llvm/llvm-project/commit/7eccafc3c84606587a175c0a8c1ebea6e4fb21cd
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsInstrInfo.cpp
    M llvm/lib/Target/Mips/MipsInstrInfo.h

  Log Message:
  -----------
  MIPS: Implement isAsCheapAsAMove for addiu (#133273)

Set `addiu` as `isAsCheapAsAMove` only when the src register or imm is
zero only.

If other cases are set `isAsCheapAsAMove`, MachineLICM will reject to
hoist it.


  Commit: a6e61ce2391f46cfe97de3a4986a5ed8fdb3b8db
      https://github.com/llvm/llvm-project/commit/a6e61ce2391f46cfe97de3a4986a5ed8fdb3b8db
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Remove duplicate check in SelectAddrRegImmLsb00000. NFC (#133372)


  Commit: 5b36835df010c5813808d34e45428c624fb52ff1
      https://github.com/llvm/llvm-project/commit/5b36835df010c5813808d34e45428c624fb52ff1
  Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A flang/test/Driver/m64-option.f90

  Log Message:
  -----------
  [flang] Expose -m64 option (#132409)

Exposes `-m64` option for Flang. 
These options can be used to build libraries or tools (e.g. OpenBlas).


  Commit: e3f1c464f7283e79f566b33b87258ee55f77e139
      https://github.com/llvm/llvm-project/commit/e3f1c464f7283e79f566b33b87258ee55f77e139
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/test/ELF/aarch64-feature-pac.s

  Log Message:
  -----------
  [PAC][lld] Support `-z nopac-plt` flag (#132973)

Support `-z nopac-plt` so it's possible to cancel previous `-z pac-plt`.


  Commit: 68f71aae3b4222afcd53cf0f84110032d1d34ec6
      https://github.com/llvm/llvm-project/commit/68f71aae3b4222afcd53cf0f84110032d1d34ec6
  Author: Letu Ren <fantasquex at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][llvmir] add llvm.sincos intrinsics (#133311)

https://llvm.org/docs/LangRef.html#llvm-frexp-intrinsic

Signed-off-by: Letu Ren <fantasquex at gmail.com>


  Commit: 29cb00331f19dd2a93524fbd9f5367cb0d25fc72
      https://github.com/llvm/llvm-project/commit/29cb00331f19dd2a93524fbd9f5367cb0d25fc72
  Author: Letu Ren <fantasquex at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][llvmir] add llvm.experimental.constrained.uitofp intrinsics (#133300)

https://llvm.org/docs/LangRef.html#llvm-experimental-constrained-uitofp-intrinsic

Signed-off-by: Letu Ren <fantasquex at gmail.com>


  Commit: f5f4da6db6904a88d23d4bacd01330a205683343
      https://github.com/llvm/llvm-project/commit/f5f4da6db6904a88d23d4bacd01330a205683343
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll

  Log Message:
  -----------
  [RISCV] Don't vectorize for loops with small trip count (#132176)

Inspired by https://reviews.llvm.org/D130755.

I don't know the logic behind the value 5, it is copied from AArch64.

For some tests, I have to change the trip count so that we don't
break what they are testing.


  Commit: 0a74cbfac462dfbf446e1f560e987619f93194ac
      https://github.com/llvm/llvm-project/commit/0a74cbfac462dfbf446e1f560e987619f93194ac
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M libclc/CMakeLists.txt
    M libclc/cmake/modules/AddLibclc.cmake

  Log Message:
  -----------
  [libclc] Pass -fapprox-func when compiling 'native' builtins (#133119)

The libclc build system isn't well set up to pass arbitrary options to
arbitrary source files in a non-intrusive way. There isn't currently any
other motivating example to warrant rewriting the build system just to
satisfy this requirement. So this commit uses a filename-based approach
to inserting this option into the list of compile flags.


  Commit: b52977b868b02625ade1f14bfbe835e299b26f0e
      https://github.com/llvm/llvm-project/commit/b52977b868b02625ade1f14bfbe835e299b26f0e
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
    A libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
    A libclc/clc/include/clc/math/clc_pow.h
    A libclc/clc/include/clc/math/clc_pown.h
    A libclc/clc/include/clc/math/clc_powr.h
    M libclc/clc/include/clc/math/tables.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_pow.cl
    A libclc/clc/lib/generic/math/clc_pow.inc
    A libclc/clc/lib/generic/math/clc_pown.cl
    A libclc/clc/lib/generic/math/clc_pown.inc
    A libclc/clc/lib/generic/math/clc_powr.cl
    A libclc/clc/lib/generic/math/clc_powr.inc
    M libclc/clc/lib/generic/math/clc_tables.cl
    M libclc/clspv/lib/SOURCES
    M libclc/generic/include/clc/math/pown.h
    R libclc/generic/include/clc/math/pown.inc
    R libclc/generic/include/math/clc_pow.h
    R libclc/generic/include/math/clc_pown.h
    R libclc/generic/include/math/clc_pown.inc
    R libclc/generic/include/math/clc_powr.h
    M libclc/generic/lib/SOURCES
    M libclc/generic/lib/math/clc_exp10.cl
    R libclc/generic/lib/math/clc_pow.cl
    R libclc/generic/lib/math/clc_pown.cl
    R libclc/generic/lib/math/clc_powr.cl
    M libclc/generic/lib/math/clc_rootn.cl
    M libclc/generic/lib/math/exp_helper.cl
    M libclc/generic/lib/math/expm1.cl
    M libclc/generic/lib/math/pow.cl
    M libclc/generic/lib/math/pown.cl
    R libclc/generic/lib/math/pown.inc
    M libclc/generic/lib/math/powr.cl
    M libclc/generic/lib/math/tables.cl
    M libclc/spirv/lib/SOURCES

  Log Message:
  -----------
  [libclc] Move pow, powr & pown to the CLC library (#133294)

These functions were already nominally in the CLC library.

Similar to others, these builtins are now vectorized and are not broken
down into scalar types.


  Commit: 883612859bd255fc964c121ea6d3b1a9fb37fc65
      https://github.com/llvm/llvm-project/commit/883612859bd255fc964c121ea6d3b1a9fb37fc65
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/docs/TableGen/ProgRef.rst
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h
    M llvm/lib/TableGen/TGParser.cpp
    A llvm/test/TableGen/instances.td

  Log Message:
  -----------
  [TableGen] Add `!instances` operator to get defined records (#129680)

The format is: `!instances<T>([regex])`.
    
This operator produces a list of records whose type is `T`. If
`regex` is provided, only records whose name matches the regular
expression `regex` will be included. The format of `regex` is ERE
(Extended POSIX Regular Expressions).


  Commit: 7b75db5755e63ddefa35101cf6a1179de560d312
      https://github.com/llvm/llvm-project/commit/7b75db5755e63ddefa35101cf6a1179de560d312
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp

  Log Message:
  -----------
  [VPlan] Add new VPIRPhi overlay for VPIRInsts wrapping phi nodes (NFC). (#129387)

Add a new VPIRPhi subclass of VPIRInstruction, that purely serves as an
overlay, to provide more convenient checking (via directly doing
isa/dyn_cast/cast) and specialied execute/print implementations.

Both VPIRInstruction and VPIRPhi share the same VPDefID, and are
differentiated by the backing IR instruction.

This pattern could alos be used to provide more specialized interfaces
for some VPInstructions ocpodes, without introducing new, completely
spearate recipes. An example would be modeling VPWidenPHIRecipe &
VPScalarPHIRecip using VPInstructions opcodes and providing an interface
to retrieve incoming blocks and values through a VPInstruction subclass
similar to VPIRPhi.

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


  Commit: 1318a7bb098ff055533d7b3fe2f5d9201f3d79a6
      https://github.com/llvm/llvm-project/commit/1318a7bb098ff055533d7b3fe2f5d9201f3d79a6
  Author: Mallikarjuna Gouda <mgouda at mips.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A clang/test/CodeGen/Mips/subtarget-feature-test.c
    M llvm/lib/Target/Mips/Mips.td
    M llvm/lib/Target/Mips/MipsSubtarget.h

  Log Message:
  -----------
  Reland [MIPS] Define SubTargetFeature for i6500 cpu (#132907) (#133366)

Relands #132907 with a fix in the testcase:
clang/test/CodeGen/Mips/subtarget-feature-test.c
enable this test for only mips64 target

PR #130587 defined same SubTargetFeature for CPUs i6400 and i6500 which
resulted into following warning when -mcpu=i6500 was used:

+i6500' is not a recognized feature for this target (ignoring feature)

This PR fixes above issue by defining separate SubTargetFeature for
i6500.


  Commit: 71f43a7c42a37d18be98b0885d62ef76e658f242
      https://github.com/llvm/llvm-project/commit/71f43a7c42a37d18be98b0885d62ef76e658f242
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsTargetMachine.cpp
    M llvm/test/CodeGen/Mips/brdelayslot.ll
    M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll

  Log Message:
  -----------
  MIPS: Set EnableLoopTermFold (#133378)

Setting `EnableLoopTermFold` enables `loop-term-fold` pass.


  Commit: 50d4ae4a62fb22e5e03a6150baaf80e4bb4f2d41
      https://github.com/llvm/llvm-project/commit/50d4ae4a62fb22e5e03a6150baaf80e4bb4f2d41
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/test/Analysis/taint-generic.cpp

  Log Message:
  -----------
  [analyzer] Fix format attribute handling in GenericTaintChecker (#132765)

Previously `optin.taint.GenericTaint` misinterpreted the parameter
indices and produced false positives in situations when a [format
attribute](https://clang.llvm.org/docs/AttributeReference.html#format)
is applied on a non-static method. This commit fixes this bug


  Commit: c13c04fdfe9b312160310eeeee785867627ffe2f
      https://github.com/llvm/llvm-project/commit/c13c04fdfe9b312160310eeeee785867627ffe2f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

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

  Log Message:
  -----------
  [libc++] Simplify the implementation of the pointer aliases in allocator_traits (#127079)


  Commit: b82fd7110972c52cf4e58bf08b65bce7a91ecb0e
      https://github.com/llvm/llvm-project/commit/b82fd7110972c52cf4e58bf08b65bce7a91ecb0e
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
    M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py

  Log Message:
  -----------
  [lldb] Adjust skips on reverse continue tests (#133240)

The x86-specific issue has been fixed with #132122. Watchpoint tests
fail on aarch64 with macos<15.0 due to a kernel bug.


  Commit: 21a8c63cdc36abbf38b4402c9eb34a26598b8476
      https://github.com/llvm/llvm-project/commit/21a8c63cdc36abbf38b4402c9eb34a26598b8476
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M offload/DeviceRTL/src/Workshare.cpp
    A offload/test/offloading/fortran/target-teams-dist-nest-par.f90

  Log Message:
  -----------
  [offload] Remove bad assert in StaticLoopChunker::Distribute (#132705)

When building with asserts enabled, this can actually cause strange
miscompilations because an incorrect llvm.assume is generated at the
point of the assertion.


  Commit: 0d64f5adbaea173380668bc4280bb816bdb3a0de
      https://github.com/llvm/llvm-project/commit/0d64f5adbaea173380668bc4280bb816bdb3a0de
  Author: Qinkun Bao <qinkun at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp

  Log Message:
  -----------
  [NFC] Fix a typo in StdLibraryFunctionsChecker.cpp comments (#133375)


  Commit: f7a034d400860501a26e3429e1c6a9f310f07f76
      https://github.com/llvm/llvm-project/commit/f7a034d400860501a26e3429e1c6a9f310f07f76
  Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    A llvm/test/CodeGen/AMDGPU/nor-divergent-lanemask.ll

  Log Message:
  -----------
  [AMDGPU] (x or y) xor -1 -> x nor y (#130264)

Added pattern so s_nor is selected for ((i1 x or i1 y) xor -1) instead
of s_or and s_xor . This patch is for i1 divergent. The ballot in the
test is added for the retrieval of lanemask. The control flow is needed
because the combiner can't pass through phi instructions.


  Commit: 319045d8c42dc855eacdb4bd1d71b6ac3fca3257
      https://github.com/llvm/llvm-project/commit/319045d8c42dc855eacdb4bd1d71b6ac3fca3257
  Author: Balázs Benics <108414871+balazs-benics-sonarsource at users.noreply.github.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
    M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp

  Log Message:
  -----------
  [analyzer] Add metrics tracking time spent in Z3 solver (#133236)

These metrics would turn out to be useful for verifying an upgrade of Z3.


  Commit: 7d869045e068be152f4435d73733eb2276a6fc08
      https://github.com/llvm/llvm-project/commit/7d869045e068be152f4435d73733eb2276a6fc08
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp

  Log Message:
  -----------
  [AMDGPU] Hoist some constant stuff out of the loop in AMDGPUAsmParser.cpp. NFC. (#133398)


  Commit: 8a3fe30a0a394ed3aa30ce4ba16e5a148a8bdd53
      https://github.com/llvm/llvm-project/commit/8a3fe30a0a394ed3aa30ce4ba16e5a148a8bdd53
  Author: Paul Schwabauer <pschwabauer at intevation.de>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Serialization/ASTWriterDecl.cpp
    A clang/test/Modules/ComplexExplicitSpecifier.cpp

  Log Message:
  -----------
  [PATCH] [clang][frontend] Fix serialization for CXXConstructorDecl (refs llvm#132794) (#133077)

When retrieving the ExplicitSpecifier from a CXXConstructorDecl, one of
its canonical declarations is returned. To correctly write the
declaration record the ExplicitSpecifier of the current declaration must
be used.

Failing to do so results in a crash during deserialization.


  Commit: af150272cff97c121ed4fdb76fce702fbe2f12a3
      https://github.com/llvm/llvm-project/commit/af150272cff97c121ed4fdb76fce702fbe2f12a3
  Author: Weaver <Tom.Weaver at sony.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsTargetMachine.cpp
    M llvm/test/CodeGen/Mips/brdelayslot.ll
    M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll

  Log Message:
  -----------
  Revert "MIPS: Set EnableLoopTermFold (#133378)"

This reverts commit 71f43a7c42a37d18be98b0885d62ef76e658f242.

Caused build bot failures:
https://lab.llvm.org/buildbot/#/builders/190/builds/17267
https://lab.llvm.org/buildbot/#/builders/144/builds/21445
https://lab.llvm.org/buildbot/#/builders/46/builds/14343

please consider fixing the test failure in long-array-initialize.ll before
recommitting.


  Commit: b009c5af71a8676f1e6b4332f867957454635b2f
      https://github.com/llvm/llvm-project/commit/b009c5af71a8676f1e6b4332f867957454635b2f
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll

  Log Message:
  -----------
  [SPIR-V] Mark XFAIL the test case that fails with LLVM_ENABLE_EXPENSIVE_CHECKS enabled (#133142)

After https://github.com/llvm/llvm-project/pull/130605
structurizer/cf.switch.ifstmt.simple2.ll test case starts failing with
the "PHI operand is not live-out from predecessor" diagnostic message.
This test case didn't include usual "-verify-machineinstrs" argument and
the fail was missed before
https://github.com/llvm/llvm-project/pull/130605 merging.

The problem looks not blocking, because the test case successfully
passes its CHECK's. This PR is to fix the build process by mark the test
case as XFAIL when LLVM_ENABLE_EXPENSIVE_CHECKS is enabled.

Investigation of the Machine Verifier complaint is to do. The issue is
created: https://github.com/llvm/llvm-project/issues/133141


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

  Changed paths:
    A llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vl.ll

  Log Message:
  -----------
  [X86] Add test coverage for the concatable sources vpermv3 -> vpermv fold for non-constant shuffle masks (#133415)

Test both forward/reverse concat cases


  Commit: 7f103ad537a64cd47dc49c661ad0245ea3ae2fdc
      https://github.com/llvm/llvm-project/commit/7f103ad537a64cd47dc49c661ad0245ea3ae2fdc
  Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
    A llvm/test/CodeGen/SPIRV/structurizer/loop-unroll.ll

  Log Message:
  -----------
  [SPIR-V] Add llvm.loop.unroll metadata lowering (#132062)

.enable lowers to Unroll LoopControl
.disable lowers to DontUnroll LoopControl
.count lowers to PartialCount LoopControl
.full lowers to Unroll LoopControl

TODO in future patches: enable structurizer for non-vulkan targets.

---------

Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>


  Commit: f76254d9b2a68e0021d93e682744e4240a2368b9
      https://github.com/llvm/llvm-project/commit/f76254d9b2a68e0021d93e682744e4240a2368b9
  Author: Jesse D <jesse.a.deguire at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M libc/src/__support/FPUtil/dyadic_float.h

  Log Message:
  -----------
  [libc] Fix implicit conversion error in DyadicFloat::as_mantissa_type(). (#133383)

This is the same fix that was recently applied to
as_mantissa_type_rounded(), but for as_mantissa_type().


  Commit: 4cdcf3b19302d8f337b5607d6b9df170f577dc70
      https://github.com/llvm/llvm-project/commit/4cdcf3b19302d8f337b5607d6b9df170f577dc70
  Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll

  Log Message:
  -----------
  [InstCombine] Fold `(trunc nuw A to i1) == (trunc nuw B to i1)` to `A == B` (#133368)

Fixes #133344

Proof: https://alive2.llvm.org/ce/z/X3Uh23 

InstCombine couldn't optimize `i1` because `canonicalizeICmpBool()` was
transforming the comparison into bitwise operations before
`foldICmpTruncWithTruncOrExt()` was called.

This PR solves the ordering issue by placing
`foldICmpTruncWithTruncOrExt()` before `canonicalizeICmpBool()`.

I believe this will not cause any regressions since all tests are
passing.


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    A clang/test/Driver/arch-arm64e.c

  Log Message:
  -----------
  [clang] Update Mach-O ptrauth driver defaults (#132834)

Xcode clang default-enables a bunch of ptrauth flags when targeting
arm64e. Let's match that.


  Commit: 772173f54868eef6e1a4d40ab93b0ee6c04b1aca
      https://github.com/llvm/llvm-project/commit/772173f54868eef6e1a4d40ab93b0ee6c04b1aca
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/test/CodeGen/amdgpu-abi-version.c
    M clang/test/CodeGen/amdgpu-address-spaces.cpp
    R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
    M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenHIP/default-attributes.hip
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/builtins/CMakeLists.txt
    M flang/lib/Frontend/FrontendActions.cpp
    R flang/test/Lower/AMD/code-object-version.f90
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libcxx/cmake/caches/AMDGPU.cmake
    M offload/DeviceRTL/CMakeLists.txt

  Log Message:
  -----------
  [Clang][AMDGPU] Remove special handling for COV4 libraries (#132870)

Summary:
When we were first porting to COV5, this lead to some ABI issues due to
a change in how we looked up the work group size. Bitcode libraries
relied on the builtins to emit code, but this was changed between
versions. This prevented the bitcode libraries, like OpenMP or libc,
from being used for both COV4 and COV5. The solution was to have this
'none' functionality which effectively emitted code that branched off of
a global to resolve to either version.

This isn't a great solution because it forced every TU to have this
variable in it. The patch in
https://github.com/llvm/llvm-project/pull/131033 removed support for
COV4 from OpenMP, which was the only consumer of this functionality.
Other users like HIP and OpenCL did not use this because they linked the
ROCm Device Library directly which has its own handling (The name was
borrowed from it after all).

So, now that we don't need to worry about backward compatibility with
COV4, we can remove this special handling. Users can still emit COV4
code, this simply removes the special handling used to make the OpenMP
device runtime bitcode version agnostic.


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

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

  Log Message:
  -----------
  [X86] combine-bitselect.ll - regenerate VPTERNLOG comments


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

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

  Log Message:
  -----------
  [RISCV] Add OR/XOR/SUB to RISCVInstrInfo::isCopyInstrImpl (#132002)

This adds coverage for additional instructions in isCopyInstrImpl, for
now picking just those where I can observe that there is a codegen
difference for SPEC.

This allows MachineCopyPropagation to successfully eliminate no-op moves in this form.


  Commit: 33cd00f8c82d5df45b1dfd59310929a4d315fd8e
      https://github.com/llvm/llvm-project/commit/33cd00f8c82d5df45b1dfd59310929a4d315fd8e
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M flang/include/flang/Evaluate/traverse.h

  Log Message:
  -----------
  [flang] Use more generic overload for Operation in Traverse (#133305)

Currently there are two specific overloads: for unary operations, i.e.
`Operation<D, R, O>`, and binary ones `Operation<D, R, LO, RO>`.

This makes it impossible for a derived class to use a single overload to
handle all types of operations: `Operation<D, R, O...>`. Since the base
overloads need to be included in the derived class's scope, via `using
Base::operator()` either one of the specific overloads will always be a
better candidate than the more generic derived one.

```
class MyVisitor : public Traverse<...> {
  using Traverse<...>::operator();

  template <typename D, typename R, typename... O>
  Result operator()(const Operation<D, R, O...> &op) const {
    // Will never be used.
  }
};
```
This patch replaces the two specific overloads for Operation in Traverse
with a single generic overload, while preserving the existing
functionality, and allowing derived classes to use a single overload as
well.


  Commit: 4abff4d7b2b49f343da68f32ffdae2914ba8ae7f
      https://github.com/llvm/llvm-project/commit/4abff4d7b2b49f343da68f32ffdae2914ba8ae7f
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Improve `replaceOpWithMultiple` API (#132608)

This commit adds an additional overload to `replaceOpWithMultiple` that
accepts additional container types. This has been brought up by users of
the new `replaceOpWithMultiple` API.

In particular, one missing container type was
`SmallVector<SmallVector<Value>>`. The "default" `ArrayRef<ValueRange>`
container type can lead to use-after-scope errors in cases such as:
```c++
// Compute the replacement value ranges. Some replacements are single
// values, some are value ranges.
SmallVector<ValueRange> repl;
repl.push_back(someValueRange);  // OK
for (...) {
  // push_back(Value) triggers an implicit conversion to ValueRange,
  // which does not own the range.
  repl.push_back(someValue);  // triggers use-after-scope later
}
rewriter.replaceOpWithMultiple(op, repl);
```

In this example, users should use `SmallVector<SmallVector<Value>>
repl;`.


  Commit: 316bb89c942c1a1cf61d3e673030f82d6f0b8acf
      https://github.com/llvm/llvm-project/commit/316bb89c942c1a1cf61d3e673030f82d6f0b8acf
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/ToolChain.cpp
    A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
    A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
    M clang/test/Driver/aix-ld.c
    M clang/test/Driver/aix-print-runtime-dir.c
    M clang/test/Driver/aix-rtlib.c

  Log Message:
  -----------
  [Driver] Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON on AIX. (#132821)

In the wake of discussion in PR #131200 and internal discussion after,
we will add support for `LLVM_ENABLE_PER_TARGET_RUNTIME=ON` for AIX
instead of disable it. I already reverted the change in PR #131200.

The default value of the option is still OFF on AIX.


  Commit: ecdbd26ba4b6017200b7773d41a270aa1fa2bd71
      https://github.com/llvm/llvm-project/commit/ecdbd26ba4b6017200b7773d41a270aa1fa2bd71
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst

  Log Message:
  -----------
  [clang-tidy][NFC] improve documentation for `bugprone-argument-comment` check (#133436)

Improve docs for `bugprone-argument-comment` check by writing explicitly
default values for options.
Before this change, it was unclear what values are default.


  Commit: d6dcd985c03bec4b77872be00a81d92454fedc32
      https://github.com/llvm/llvm-project/commit/d6dcd985c03bec4b77872be00a81d92454fedc32
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp

  Log Message:
  -----------
  [clang-tidy] Fix `thread_local` false positives in `misc-use-internal-linkage` check  (#132573)

Based on C++ standard (see issue
https://github.com/llvm/llvm-project/issues/131679) and
[StackOverflow](https://stackoverflow.com/questions/22794382/are-c11-thread-local-variables-automatically-static)
`thread_local` variables are implicitly `static` so we should not
suggest adding `static` on a `thread_local` variables. I'd appreciate if
someone else will confirm this too because reading standard is tricky.

However, many people still use `static` and `thread_local` together:
[github
code-search](https://github.com/search?type=code&q=%22static+thread_local%22+language%3AC%2B%2B).
Maybe disabling warnings on `thread_local` should be made as a flag?
WDYT?

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


  Commit: 53b48301eb3bb4aba63678e9b5eb7cbea7745e34
      https://github.com/llvm/llvm-project/commit/53b48301eb3bb4aba63678e9b5eb7cbea7745e34
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Support/AMDGPUAddrSpace.h
    M llvm/lib/Target/AMDGPU/AMDGPU.h

  Log Message:
  -----------
  [AMDGPU] Tweak address space definitions. NFC. (#133442)

Define address spaces in numerical order. Fix comments to refer to
"local" instead of "group" address space.


  Commit: 579379cf7f650a3fd5a039ea5c2480d69acc3878
      https://github.com/llvm/llvm-project/commit/579379cf7f650a3fd5a039ea5c2480d69acc3878
  Author: Andras Gemes <gemesandras22 at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/docs/Security.rst

  Log Message:
  -----------
  [Nomination] Add HighTec representatives to the Security Group (#124142)

I would like to nominate Mario Cupelli (@mariocup) and myself to join
the LLVM Security Group as representatives (vendor contacts) of [HighTec
EDV Systeme](https://github.com/hightec-rt).

Mario is the CTO of HighTec and has a strong background in compiler
safety qualification. I am a SW engineer with a focus on cybersecurity
and a goal to contribute to the LLVM Security Group.

HighTec collaborates with major silicon vendors and offers
safety-qualified C/C++ and Rust compilers based on LLVM. Our active
contributions to LLVM include work on the linker and various patches and
we are committed to further improving LLVM’s security.

Our motivation for joining the LLVM Security Group is to collaborate
with LLVM security experts, stay informed about the latest CVEs in LLVM
and meet the cybersecurity requirements of the automotive industry.


  Commit: b6569cce4090ea12493ab2c948ea79c6a1a1983d
      https://github.com/llvm/llvm-project/commit/b6569cce4090ea12493ab2c948ea79c6a1a1983d
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir

  Log Message:
  -----------
  [RISCV] Refine location size for segment spill and fill (#133268)

This is a follow up to #133171. I realized we could assume the structure
of the previous MMO, and thus the split is much simpler than I'd
initially pictured.


  Commit: 427725508b084c7aa595312967d74d8888b168b6
      https://github.com/llvm/llvm-project/commit/427725508b084c7aa595312967d74d8888b168b6
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M bolt/include/bolt/Core/Relocation.h

  Log Message:
  -----------
  [BOLT] Add getter for optional relocations (#133085)

Minor refactoring on comments.


  Commit: 48b753027382a5815295d6680c7dd407be936c86
      https://github.com/llvm/llvm-project/commit/48b753027382a5815295d6680c7dd407be936c86
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Lower/OpenMP/omp-is-gpu.f90
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp

  Log Message:
  -----------
  [clang][flang][Triple][llvm] Add isOffload function to LangOpts and isGPU function to Triple (#126956)

I'm adding support for SPIR-V, so let's consolidate these checks.

---------

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


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

  Changed paths:
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [libcxx] Remove clang-18 workaround in picolib build (#133254)

clang-19 changed how Arm triples were normalised and so while we
supported 18 and 19, we could not hard code the path here.

Now that Linaro's bots are running clang-19, and libcxx is going to drop
clang-18 support (https://github.com/llvm/llvm-project/pull/130142) I
have simplified it by hard coding the path again.

I also looked into why this exists in the first place. It was added in
https://reviews.llvm.org/D154246 but not questioned at the time.

It is due to the way we build compiler-rt, which is due to the final
layout we need in the install:
1. The builtins library must be called libclang_rt.builtins.a for clang
to find it. There must not be an architecture name in the filename.
2. That builtins library must be directly in lib/, next to picolib's
installed files.

To achieve number 1 we must set LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON.
However, that causes the file to be installed in a per-target dir which
breaks number 2. So to fix that, we move the builtins library up one
level into lib/.

The alternative is to turn off per-target dirs, which results in a
builtin file with an arch in the name, then rename and move that file
(since it gets installed into lib/generic/).

So in the end, it's the same amount of hacks. I think it's best to keep
the one that uses LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON, as this is the
recommended way to built these days.


  Commit: db04c3e4b3d9b79d99c5bbeb7fffaa887cd4352e
      https://github.com/llvm/llvm-project/commit/db04c3e4b3d9b79d99c5bbeb7fffaa887cd4352e
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/lib/Frontend/FrontendAction.cpp

  Log Message:
  -----------
  [clang] Implement some missing interfaces for DelegatingDeserializationListener (#133424)

Split from the https://github.com/llvm/llvm-project/pull/133395 per the
review comment.

This patch also moves the `DelegatingDeserializationListener` close to
`ASTDeserializationListener`.


  Commit: bf5627c85e6975a73bf582cf0d23a993673413d0
      https://github.com/llvm/llvm-project/commit/bf5627c85e6975a73bf582cf0d23a993673413d0
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
    M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
    A llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll

  Log Message:
  -----------
  [LV] Optimize VPWidenIntOrFpInductionRecipe for known TC (#118828)

Optimize the IR generated for a VPWidenIntOrFpInductionRecipe to use the
narrowest type necessary, when the trip-count of a loop is known to be
constant and the only use of the recipe is the condition used by the
vector loop's backedge branch.


  Commit: 9ce77255b9a48b024e434e5c4017da07fc44bbe1
      https://github.com/llvm/llvm-project/commit/9ce77255b9a48b024e434e5c4017da07fc44bbe1
  Author: Cassandra Beckley <cbeckley at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl

  Log Message:
  -----------
  [HLSL] Add __spirv__ macro (#132848)

This macro can be used by HLSL code to detect that it is being compiled
for the SPIR-V target.


  Commit: 43829039c9b00a56847027801ab420cff2031143
      https://github.com/llvm/llvm-project/commit/43829039c9b00a56847027801ab420cff2031143
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/Format/MacroCallReconstructor.cpp

  Log Message:
  -----------
  [Format] Use a range constructor of DenseSet (NFC) (#133382)


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

  Changed paths:
    M llvm/tools/bugpoint/CrashDebugger.cpp
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [tools] Use *Set::insert_range (NFC) (#133384)

We can use *Set::insert_range to replace "for" loop-based insertions.
In some cases, we can further fold insert_range into the set
declaration.


  Commit: 460d628d9006f63af3d296a90c32a60a347dbc2c
      https://github.com/llvm/llvm-project/commit/460d628d9006f63af3d296a90c32a60a347dbc2c
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Transforms/Scalar/GVN.cpp

  Log Message:
  -----------
  [GVN] Clean up unused argument, unify style, modernize syntax (NFC)

Finalize code style overhaul in GVN, following up to
2a0946bc0dffca89d16cd9d5208ec9416ed8100e and 9deed7d2ef3a147c4e8410910967fde601359039.


  Commit: 2218587b5b131bb8ed57c3e6c7a5c0c589493300
      https://github.com/llvm/llvm-project/commit/2218587b5b131bb8ed57c3e6c7a5c0c589493300
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h

  Log Message:
  -----------
  MIPS: Support isLegalICmpImmediate and isLegalAddImmediate (#133400)

Set it to true only if isInt<16>.
By default implemention defines them to true always. For most cases,
MIPS uses 16bit IMM, and for microMIPS, ICMP and ADDiu have 16bit IMM
flavors.


  Commit: fe30cf18ab3eb1aba5ea7e44574e27fdde791c1d
      https://github.com/llvm/llvm-project/commit/fe30cf18ab3eb1aba5ea7e44574e27fdde791c1d
  Author: swatheesh-mcw <swatheesh.muralidharan at multicorewareinc.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    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
    M flang/lib/Semantics/openmp-modifiers.cpp
    A flang/test/Lower/OpenMP/Todo/interop-construct.f90
    A flang/test/Parser/OpenMP/interop-construct.f90
    A flang/test/Semantics/OpenMP/interop-construct.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  Revert "Revert "[flang][openmp] Adds Parser and Semantic Support for Interop Construct, and Init and Use Clauses."" (#132343)

Reverts llvm/llvm-project#132005


  Commit: 22138720020dd8dfd30dbd220c49d6585126d2f7
      https://github.com/llvm/llvm-project/commit/22138720020dd8dfd30dbd220c49d6585126d2f7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp

  Log Message:
  -----------
  llvm-reduce: Use isCallee helper (#133419)


  Commit: 8ea3f818dea7d1104429040486614c96e0698901
      https://github.com/llvm/llvm-project/commit/8ea3f818dea7d1104429040486614c96e0698901
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py

  Log Message:
  -----------
  [lldb][test] TestCCallingConventions.py: skip on older AArch64 compilers

With our Clang-15 arm64 CI this test-case crashes when compiling the test program:
```
user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c
Unexpected callee-save save/restore opcode!
UNREACHABLE executed at /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1129!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501_build/bin/clang -g -O0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk -arch arm64 -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make/../../../../..//include -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/lldb-build/tools/lldb/include -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make -include /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make/test_common.h -fno-limit-debug-info -Werror=ignored-attributes -MT ms_abi.o -MD -MP -MF ms_abi.d -c -o ms_abi.o /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c
1.	<eof> parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module '/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c'.
4.	Running pass 'Prologue/Epilogue Insertion & Frame Finalization' on function '@func'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  clang-15                 0x0000000105d512b0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  clang-15                 0x0000000105d500e4 llvm::sys::RunSignalHandlers() + 112
2  clang-15                 0x0000000105d507c4 llvm::sys::CleanupOnSignal(unsigned long) + 232
3  clang-15                 0x0000000105c79d78 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) + 128
4  clang-15                 0x0000000105c79f94 CrashRecoverySignalHandler(int) + 124
5  libsystem_platform.dylib 0x0000000185ecba24 _sigtramp + 56
6  libsystem_pthread.dylib  0x0000000185e9ccc0 pthread_kill + 288
7  libsystem_c.dylib        0x0000000185daca40 abort + 180
8  clang-15                 0x0000000105c88508 llvm::install_out_of_memory_new_handler() + 0
9  clang-15                 0x0000000104af7404 fixupCalleeSaveRestoreStackOffset(llvm::MachineInstr&, unsigned long long, bool, bool*) + 0
10 clang-15                 0x0000000104af53e0 llvm::AArch64FrameLowering::emitPrologue(llvm::MachineFunction&, llvm::MachineBasicBlock&) const + 3564
```


  Commit: 71a977d0d611f3e9f6137a6b8a26b730b2886ce9
      https://github.com/llvm/llvm-project/commit/71a977d0d611f3e9f6137a6b8a26b730b2886ce9
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Add shift-add (SH1ADD, ...) to isCopyInstrImpl (#133443)

As with #132002, these do show up in a compilation of llvm-test-suite
(including SPEC 2017). We remove 30-40 static instances so this isn't
anything earth shattering.

rs2 is always added to the other shifted (and potentially extended)
operand unmodified, so rs1==zero is equivalent to a copy.


  Commit: a983c3b209bf6602c0687251647535c7fa43a17a
      https://github.com/llvm/llvm-project/commit/a983c3b209bf6602c0687251647535c7fa43a17a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp

  Log Message:
  -----------
  [TableGen] Make more use of CodeGenRegisterClass::EnumValue. NFC. (#132749)


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

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Use templates to reduce duplicated code for assembler operand predicates. (#133351)

We already had a template isUImm function. This patch adds isSImm,
isShiftedUImm, and 2 helpers that take a predicate function to validate
the immediate with. I'm using a template for the predicate function.


  Commit: a33d789bb70e8b19840cacfc1980da883ae01ebd
      https://github.com/llvm/llvm-project/commit/a33d789bb70e8b19840cacfc1980da883ae01ebd
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/reduce-arguments-x86_intrcc.ll
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

  Log Message:
  -----------
  llvm-reduce: Avoid invalid reductions on x86_intrcc (#133396)

If there are arguments, the first one must be byval.


  Commit: 6526cda5d865d55b1db5aa0faffb29448e5c6a23
      https://github.com/llvm/llvm-project/commit/6526cda5d865d55b1db5aa0faffb29448e5c6a23
  Author: John Harrison <harjohn at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h

  Log Message:
  -----------
  [lldb-dap] Migrating DAP 'initialize' to new typed RequestHandler. (#133007)

This adds new types and helpers to support the 'initialize' request with
the new typed RequestHandler. While working on this I found there were a
few cases where we incorrectly treated initialize arguments as
capabilities. The new `lldb_dap::protocol::InitializeRequestArguments`
and `lldb_dap::protocol::Capabilities` uncovered the inconsistencies.

---------

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


  Commit: 4abe47c6fc06e44792bc1b0dc58f3b453ae4fb80
      https://github.com/llvm/llvm-project/commit/4abe47c6fc06e44792bc1b0dc58f3b453ae4fb80
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/test/src/time/CMakeLists.txt
    M libc/test/src/time/mktime_test.cpp

  Log Message:
  -----------
  [libc] Enable 'mktime' for the GPU (#133437)

Summary:
This is a dependency on `strftime` which we provide, so we should have
this.


  Commit: ea8573aca5bf5a629bfb01113d74b36efd5c2a51
      https://github.com/llvm/llvm-project/commit/ea8573aca5bf5a629bfb01113d74b36efd5c2a51
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb] Add statusline to the release notes (#133281)

Add a release note for the LLDB statusline: #121860


  Commit: 1b86867ab3ccf731863043718d53700535e0fb21
      https://github.com/llvm/llvm-project/commit/1b86867ab3ccf731863043718d53700535e0fb21
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-reduce/reduce-arguments-x86_intrcc.ll
    A llvm/test/tools/llvm-reduce/remove-argument-preserve-attributes.ll
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

  Log Message:
  -----------
  llvm-reduce: Fix losing callsite attributes when removing arguments (#133407)

The attribute APIs make this cumbersome. There seem to be missing
overloads using AttrBuilder for the function attrs. Plus there doesn't
seem to be a direct way to set the function attrs on the call.


  Commit: 688df34634a5e3d9423060442a47a01b185ef4e1
      https://github.com/llvm/llvm-project/commit/688df34634a5e3d9423060442a47a01b185ef4e1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/remove-arguments-preserve-fmf.ll
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

  Log Message:
  -----------
  llvm-reduce: Fix losing fast math flags when removing arguments (#133408)


  Commit: 115a77df9d8475bc62bc22fe52d0d1c62d8111e5
      https://github.com/llvm/llvm-project/commit/115a77df9d8475bc62bc22fe52d0d1c62d8111e5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-reduce/remove-arguments-preserve-fmf.ll
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

  Log Message:
  -----------
  llvm-reduce: Fix losing metadata when removing arguments (#133409)


  Commit: 277ab85d1ccf80750f5193495c0665808c2863de
      https://github.com/llvm/llvm-project/commit/277ab85d1ccf80750f5193495c0665808c2863de
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Lex/Preprocessor.cpp

  Log Message:
  -----------
  [clang] Make `PreprocessorOptions` reference const


  Commit: 6b1acdb818dd158619c71546af1bf5e134cd7e03
      https://github.com/llvm/llvm-project/commit/6b1acdb818dd158619c71546af1bf5e134cd7e03
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/remove-arguments-preserve-bundles.ll
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

  Log Message:
  -----------
  llvm-reduce: Fix losing operand bundles when removing arguments (#133410)


  Commit: 827f2ad64394bdcafabc58133c4b8258f728763c
      https://github.com/llvm/llvm-project/commit/827f2ad64394bdcafabc58133c4b8258f728763c
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/shl64_reduce.ll

  Log Message:
  -----------
  AMDGPU: Convert vector 64-bit shl to 32-bit if shift amt >= 32 (#132964)

Convert vector 64-bit shl to 32-bit if shift amt is known to be >= 32.

---------

Signed-off-by: John Lu <John.Lu at amd.com>


  Commit: 44e3735ac18407f23a4e1fea29192449dbe3d4de
      https://github.com/llvm/llvm-project/commit/44e3735ac18407f23a4e1fea29192449dbe3d4de
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/remove-arguments-preserve-wrong-cc.ll
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

  Log Message:
  -----------
  llvm-reduce: Preserve original callsite calling conv when removing arguments (#133411)

In undefined mismatch cases, this was fixing the callsite to use the calling
convention of the new function. Preserve the original wrong callsite's calling
convention.


  Commit: 133c1afa8e54d4e9599cb0d8aad843c03f0e63b9
      https://github.com/llvm/llvm-project/commit/133c1afa8e54d4e9599cb0d8aad843c03f0e63b9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/reduce-arguments-invoke.ll
    A llvm/test/tools/llvm-reduce/reduce-arguments-non-callee-use.ll
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

  Log Message:
  -----------
  llvm-reduce: Filter function based on uses before removing arguments (#133412)

Invokes and others are not handled, so this was leaving broken callsites
behind for anything other than CallInst


  Commit: 049f179606a4af3ea650d7049626d267e01b79e2
      https://github.com/llvm/llvm-project/commit/049f179606a4af3ea650d7049626d267e01b79e2
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    A llvm/include/llvm/Support/KnownFPClass.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/KnownFPClass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn

  Log Message:
  -----------
  [Analysis][NFC] Extract KnownFPClass (#133457)

- extract KnownFPClass for future use inside of GISelKnownBits

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 8c7550132f410766598ba88de6b7e7a2a4607f67
      https://github.com/llvm/llvm-project/commit/8c7550132f410766598ba88de6b7e7a2a4607f67
  Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-flat.ll
    M llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.ll
    M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
    M llvm/test/CodeGen/AMDGPU/fold-gep-offset.ll
    M llvm/test/CodeGen/AMDGPU/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/AMDGPU/gfx10-vop-literal.ll
    M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
    M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
    M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
    M llvm/test/CodeGen/AMDGPU/lrint.ll
    M llvm/test/CodeGen/AMDGPU/lround.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
    M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
    M llvm/test/CodeGen/AMDGPU/mul.ll
    M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
    M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
    M llvm/test/CodeGen/AMDGPU/saddo.ll
    M llvm/test/CodeGen/AMDGPU/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
    M llvm/test/CodeGen/AMDGPU/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/sub.ll
    M llvm/test/CodeGen/AMDGPU/uaddsat.ll
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/AMDGPU/usubsat.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll

  Log Message:
  -----------
  [AMDGPU] Unused sdst writing to null (#133229)

Unused sdst writing to null to avoid a false VALU->SALU dependency
stall. This requires using the VOP3 encoding.


  Commit: 4c4e4e4299b16d8dd85811e9dd8697b17c95577f
      https://github.com/llvm/llvm-project/commit/4c4e4e4299b16d8dd85811e9dd8697b17c95577f
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

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

  Log Message:
  -----------
  [LV] Strengthen calls to collectInstsToScalarize (NFC) (#130642)

Avoid the pattern of always calling collectInstsToScalarize after
collectUniformsAndScalars, and call it in collectUniformsAndScalars
instead. Also strengthen checks for early exits in the function.


  Commit: b8c86dc7699d3c561bcbee143d2022561d5cc8a3
      https://github.com/llvm/llvm-project/commit/b8c86dc7699d3c561bcbee143d2022561d5cc8a3
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h

  Log Message:
  -----------
  [SystemZ] Remove custom implementation of optimizeLoadInst [NFC] (#133123)

In 236f938ef, I introduced a generic version of this routine. I believe
that the SystemZ specific version of this is less general than the
generic version, and is thus unrequired. I wasn't 100% given the
difference in sub-register, multiple use and defs, but from the SystemZ
code, it looks like those cases simply don't arise?


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

  Changed paths:
    M clang/test/AST/ast-dump-templates.cpp

  Log Message:
  -----------
  NFC: fix typo in clang/test/AST/ast-dump-templates.cpp


  Commit: b3f01a6aa45b00240cec1c64286b85d7ba87e2af
      https://github.com/llvm/llvm-project/commit/b3f01a6aa45b00240cec1c64286b85d7ba87e2af
  Author: Qiu Chaofan <qcf at ecnelises.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Frontend/FrontendAction.cpp
    A clang/test/Frontend/print-stats.c

  Log Message:
  -----------
  [Clang] Check PP presence when printing stats (#131608)

Front-end option `-print-stats` can be used to print statistics around
the compilation process. But clang with this options will crash when
input is IR file. This patch fixes the crash by checking preprocessor
presence before invoking it.


  Commit: d6d559cc090b775649f1de6f6bfcc029184d4fb5
      https://github.com/llvm/llvm-project/commit/d6d559cc090b775649f1de6f6bfcc029184d4fb5
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll

  Log Message:
  -----------
  [RISCV] Add zvfhmin to zipeven/zipodd shuffle tests per review suggestion


  Commit: bc37fea107dd21ea92efee20032a844e09d4e504
      https://github.com/llvm/llvm-project/commit/bc37fea107dd21ea92efee20032a844e09d4e504
  Author: Paul Bowen-Huggett <paulhuggett at mac.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    A llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt

  Log Message:
  -----------
  [RISCV] Fix the disassembler's handling of C.LUI when imm=0 (#133450)

Fix for #133446.

According to the RISC-V spec: "C.LUI is valid only when rd≠{x0,x2}, and
when the immediate is not equal to zero. The code points with imm=0 are
reserved".

This change makes the disassembler consider code points with imm=0 as
illegal. It introduces a test which exercises every C.LUI opcode
including the illegal ones but excluding those assigned to C.ADDI16SP).
Output for +c, +c +Zcmop, and +c +no-rvc-hints is checked.


  Commit: b0bb86e239b2b09476ca58976094cc645ea9194f
      https://github.com/llvm/llvm-project/commit/b0bb86e239b2b09476ca58976094cc645ea9194f
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp

  Log Message:
  -----------
  [HLSL][NFC] Use method builder to create default resource constructor (#131384)

Updates `BuiltinTypeMethodBuilder` helper class to support creation of
constructors and updates the code that creates default constructor for
resource classes to use it.

This enables us to share code when creating builtin methods and
constructors and will come in handy when we add more constructors in the
future.

Depends on #131032.


  Commit: da84a7d4038177152082265c0d425866a4f71659
      https://github.com/llvm/llvm-project/commit/da84a7d4038177152082265c0d425866a4f71659
  Author: John Holdsworth <github at johnholdsworth.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    M lld/MachO/SymbolTable.cpp
    A lld/test/MachO/interposable.s

  Log Message:
  -----------
  [lld][MachO] Support for -interposable (#131813)

As discussed in https://github.com/llvm/llvm-project/issues/53680, add
support for ld64's -interposable flag on Apple platforms to lld.


  Commit: 4e4cb4359ae915b5a14c94914e39a8cc94e98963
      https://github.com/llvm/llvm-project/commit/4e4cb4359ae915b5a14c94914e39a8cc94e98963
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb-zbkb.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbkb.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
    M llvm/test/CodeGen/RISCV/abdu-neg.ll
    M llvm/test/CodeGen/RISCV/abdu.ll
    M llvm/test/CodeGen/RISCV/alu8.ll
    M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
    M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
    M llvm/test/CodeGen/RISCV/atomic-rmw.ll
    M llvm/test/CodeGen/RISCV/atomic-signext.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/RISCV/avgceilu.ll
    M llvm/test/CodeGen/RISCV/avgflooru.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
    M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-sext-zext.ll
    M llvm/test/CodeGen/RISCV/csr-first-use-cost.ll
    M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/RISCV/div-by-constant.ll
    M llvm/test/CodeGen/RISCV/div.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/fold-mem-offset.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
    M llvm/test/CodeGen/RISCV/machine-combiner.ll
    M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
    M llvm/test/CodeGen/RISCV/memset-inline.ll
    M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
    M llvm/test/CodeGen/RISCV/pr65025.ll
    M llvm/test/CodeGen/RISCV/rem.ll
    M llvm/test/CodeGen/RISCV/rv32zbkb.ll
    M llvm/test/CodeGen/RISCV/rv64zbkb.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
    M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvl-ext.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvlmax-ext.ll
    M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
    M llvm/test/CodeGen/RISCV/simplify-condbr.ll
    M llvm/test/CodeGen/RISCV/split-store.ll
    M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
    M llvm/test/CodeGen/RISCV/uadd_sat_plus.ll
    M llvm/test/CodeGen/RISCV/usub_sat_plus.ll
    M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
    M llvm/test/CodeGen/RISCV/zcb-regalloc-hints.ll
    M llvm/test/MC/RISCV/rv32i-aliases-valid.s
    M llvm/test/MC/RISCV/rv64i-aliases-valid.s

  Log Message:
  -----------
  [RISCV][MC] Enable printing of zext.b alias (#133502)

The comment shows that at the time we were worried about producing the
alias in assembly that might be ingested by a binutils version that
doesn't yet support it. binutils gained support over 4 years ago
<https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c2137f55ad04e451d834048d4bfec1de2daea20e>.
With all the changes in areas such as ELF attributes, if you tried to
use LLVM's RISC-V assembler output with a binutils that old then zext.b
would be the least of your worries.


  Commit: 70f083f068ef0c6c589897d44e809ca18d5d1148
      https://github.com/llvm/llvm-project/commit/70f083f068ef0c6c589897d44e809ca18d5d1148
  Author: David Green <david.green at arm.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll

  Log Message:
  -----------
  [LV][AArch64] Test cleanup of low_trip_count_predicates.ll. NFC

Post commit cleanup from #132170


  Commit: 864c76a181dd054a2c74ffa58b02bc554a8a1f83
      https://github.com/llvm/llvm-project/commit/864c76a181dd054a2c74ffa58b02bc554a8a1f83
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td

  Log Message:
  -----------
  [RISCV] Rename operands used for branch and compressed jump targets. NFC (#133364)

The current names look just like predicates we use for regular
immediates, but branches and jumps also allow bare symbols.

While I was there I realized I could use PredicateMethod to have the
AsmMatcher directly call the template function we use in the asm parser.


  Commit: 77ba6918a14ddef4ee639bf6221cc2eb95adf320
      https://github.com/llvm/llvm-project/commit/77ba6918a14ddef4ee639bf6221cc2eb95adf320
  Author: Ian Wood <ianwood2024 at u.northwestern.edu>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir

  Log Message:
  -----------
  [mlir][linalg] Fix FoldReshapeWithGenericOpByCollapsing insertion point (#133476)

Fixes dominance verifier error with
`FoldReshapeWithGenericOpByCollapsing` by setting the insertion point
after `producer`. The `tensor.collapse_shape` op only has a single
operand (`producer`) so it is safe to insert after the producer.

Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>


  Commit: 1bfc61064ab46e44865453d2c2176f5e7f96987c
      https://github.com/llvm/llvm-project/commit/1bfc61064ab46e44865453d2c2176f5e7f96987c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/split-node-parent-operands-in-spill.ll

  Log Message:
  -----------
  [SLP]Fix spill cost analysis for split vectorized nodes

If the entry is SplitVectorize, it can be skipped in favor of its
operands, operands allow correctly detect spill costs.

Fixes #133288


  Commit: d4dc5712c47dab5f5dcfc329db8121059b591fb1
      https://github.com/llvm/llvm-project/commit/d4dc5712c47dab5f5dcfc329db8121059b591fb1
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/assets/index.js
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/test/clang-doc/assets.cpp
    M clang-tools-extra/test/clang-doc/test-path-abs.cpp
    M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc] Allow setting a base directory for hosted pages (#132482)

Currently, when we set URLs from JS, we set them only using the protocol
and host locations. This works fine when docs are served from the base
directory of the site, but if you want to nest it under another
directory, our JS fails to set the correct path, leading to broken
links.

This patch adds a --base option to specify the path prefix to use, which
is set in the generated index_json.js file. index.json can then fill in
the prefix appropriately when generating links in a browser. This flag
has no effect for non HTML output.

Given an index hosted at: www.docs.com/base_directory/index.html
we used to generate the following link:
    www.docs.com/file.html
Using --base base_directory we now generate:
    www.docs.com/base_directory/file.html

This allows such links to work when hosting pages without using a custom
index.js.


  Commit: c8246f69f4e17b877bf42643f3d4360a89232f68
      https://github.com/llvm/llvm-project/commit/c8246f69f4e17b877bf42643f3d4360a89232f68
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M libcxx/include/__tree

  Log Message:
  -----------
  [libc++] Remove friend declarations from __tree (#133237)

Instead, make the few functions `map` relies on public. This makes it
more clear what is private to `__tree` and what is part of the
library-internal interface.


  Commit: 45b9e24b1ea8f34230cb2a746d624bd7e64e484b
      https://github.com/llvm/llvm-project/commit/45b9e24b1ea8f34230cb2a746d624bd7e64e484b
  Author: Qinkun Bao <qinkun at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/lib/asan/asan_activation.cpp
    M compiler-rt/lib/asan/asan_flags.h
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/asan/asan_report.cpp
    M compiler-rt/lib/memprof/memprof_flags.h
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/lib/profile/InstrProfilingInternal.h
    M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
    M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
    M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
    M compiler-rt/test/metadata/lit.cfg.py
    M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
    M compiler-rt/test/tsan/Darwin/no_call_setenv_in_symbolize.cpp
    M compiler-rt/test/tsan/Linux/clone_setns.cpp
    M llvm/include/llvm/ProfileData/InstrProfData.inc

  Log Message:
  -----------
  Fix some small typos in compiler-rt. NFC (#133388)


  Commit: 91d2ecf0d563b03d75380375e8ac26a291bed9d7
      https://github.com/llvm/llvm-project/commit/91d2ecf0d563b03d75380375e8ac26a291bed9d7
  Author: Qinkun Bao <qinkun at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M libc/src/__support/CPP/atomic.h
    M mlir/include/mlir/Analysis/Presburger/Simplex.h
    M mlir/include/mlir/AsmParser/AsmParser.h
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
    M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f16-f16-accum.mlir
    M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f32.mlir
    M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f16.mlir
    M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32-bare-ptr.mlir
    M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32.mlir
    M mlir/test/mlir-tblgen/op-properties-predicates.td

  Log Message:
  -----------
  [NFC] Fix some typos in libc and mlir comments (#133374)


  Commit: 812efdb0940f82fbfd2a139573764364cb55cdc2
      https://github.com/llvm/llvm-project/commit/812efdb0940f82fbfd2a139573764364cb55cdc2
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap] Bump the version to 0.2.11


  Commit: c0952a931c7d556ca9f0073d86d591a37eb60477
      https://github.com/llvm/llvm-project/commit/c0952a931c7d556ca9f0073d86d591a37eb60477
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/test/CodeGen/bounds-checking-debuginfo.c

  Log Message:
  -----------
  [clang] [sanitizer] add pseudofunction to indicate array-bounds check (#128977)

With this, we can:

* use profilers to estimate how many cycles we spend on these checks
(subject to caveats),
* more easily see why we crashed.


  Commit: 812e02a74c0afb8bce8bf7ac7cc606ace188e30d
      https://github.com/llvm/llvm-project/commit/812e02a74c0afb8bce8bf7ac7cc606ace188e30d
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/f16-instructions.ll
    M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/fast-math.ll
    A llvm/test/CodeGen/NVPTX/frem.ll

  Log Message:
  -----------
  [NVPTX] Use fast-math flags when lowering sin, cos, frem (#133121)

Update the lowering rules for sin, cos, and frem to respect the
instruction-level flags in addition to the global and function-level
options. For sin and cos, the TableGen lowering has been updated to
check the `afn` flag on the node. The lowering for frem has been pulled
to custom instruction legalization in order to allow for DAG Combiner
optimizations to operate over the expanded instructions.


  Commit: 83c4cb36aaa41cc58f8d9fed5cb364e46e5c7db5
      https://github.com/llvm/llvm-project/commit/83c4cb36aaa41cc58f8d9fed5cb364e46e5c7db5
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/Lex/LexHLSLRootSignature.cpp
    M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp

  Log Message:
  -----------
  [HLSL][RootSignature] Make Root Signature lexer keywords case-insensitive (#132967)

>From the corrections to the Root Signature specification here:
https://github.com/llvm/wg-hlsl/issues/192. It was denoted that keywords
are also case-insensitive in DXC.

This pr adjusts the lexer to adhere to the updated spec.

We also have a NFC to add a missing license to a file while in the area.

---------

Co-authored-by: Finn Plummer <finnplummer at microsoft.com>


  Commit: 0c811053734e49151fb436f8afbb87b396bcb15e
      https://github.com/llvm/llvm-project/commit/0c811053734e49151fb436f8afbb87b396bcb15e
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/cuda-no-pgo-or-coverage.cu
    M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
    M offload/test/offloading/gpupgo/pgo1.c
    M offload/test/offloading/gpupgo/pgo2.c

  Log Message:
  -----------
  [PGO][Offload] Disable PGO on NVPTX (#133522)


  Commit: 3026fa0eb61904d6dde1dba8c93a3c757c2d4056
      https://github.com/llvm/llvm-project/commit/3026fa0eb61904d6dde1dba8c93a3c757c2d4056
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/frac-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/rsqrt-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/saturate-builtin.hlsl
    M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl

  Log Message:
  -----------
  [HLSL] add CustomTypeChecking to float builtins (#133441)

- Add CustomTypeChecking to HLSL builtins that take float arguments
- Add new builtin tests to confirm CustomTypeChecking doesn't promote
scalar float arguments aren't promoted to double
- fixes #133440


  Commit: 783a846507683c7b515473b833c9cf02cd2b1993
      https://github.com/llvm/llvm-project/commit/783a846507683c7b515473b833c9cf02cd2b1993
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/X86/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Add VF as operand to VPScalarIVStepsRecipe.

Similarly to other recipes, update VPScalarIVStepsRecipe to also take
the runtime VF as argument. This removes some unnecessary runtime VF
computations for scalable vectors. It will also allow dropping the
UF == 1 restriction for narrowing interleave groups required in
577631f0a528.


  Commit: bf02dfcd8c69f45f5ea0e273fc63cc34675ae5c2
      https://github.com/llvm/llvm-project/commit/bf02dfcd8c69f45f5ea0e273fc63cc34675ae5c2
  Author: Mohammed Keyvanzadeh <mohammadkeyvanzade94 at gmail.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/AddressRanges.h

  Log Message:
  -----------
  [llvm][ADT] Some AddressRanges.h improvements (#132847)

- Rename parameter to adhere to the project's parameter naming
convention.
- Remove redundant template argument.
- Remove redundant name-qualification.
- Change non-explicit conversion operator to an explicit one to avoid
surprising implicit conversions.


  Commit: 457970d25d7216d793734915ab675701e50c292c
      https://github.com/llvm/llvm-project/commit/457970d25d7216d793734915ab675701e50c292c
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/ctor.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/tested_elsewhere.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/types.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Format std::num_put tests


  Commit: 77913b5d1dc970e3e053ab1ab160da897560b1b4
      https://github.com/llvm/llvm-project/commit/77913b5d1dc970e3e053ab1ab160da897560b1b4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

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

  Log Message:
  -----------
  [VPlan] Add instantiation of VPUnrollPartAccessor<3> to fix link error.

Fix link errors with GCC by providing an explicit instantiation.


  Commit: 5a073f1f3ad99e70138e9ef8097ccc2b7fad05b2
      https://github.com/llvm/llvm-project/commit/5a073f1f3ad99e70138e9ef8097ccc2b7fad05b2
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [doc][IR] Add documentation for `llvm.vector.(de)interleave3/5/7` (#133519)

I put the documentation of all factors into the same (de)interleave
entries because I really don't see a reason to separate them in an
already long LangRef page.


  Commit: 021a1f69742aab7d650887a0978db5cf007967d3
      https://github.com/llvm/llvm-project/commit/021a1f69742aab7d650887a0978db5cf007967d3
  Author: Alex <alejandro.duran at intel.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M offload/include/OffloadPolicy.h
    M offload/libomptarget/PluginManager.cpp

  Log Message:
  -----------
  [OFFLOAD] Stricter enforcement of user offload disable (#133470)

If user specifies offload is disabled (e.g.,
OMP_TARGET_OFFLOAD=disable), disable library almost completely. This
reduces resources spent to a minimum and ensures all APIs behave as if
the only available device is the host device.

Currently some of the APIs behave as if there were devices avaible for
offload even when under OMP_TARGET_OFFLOAD=disable.

---------

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


  Commit: 973bf4d53b9cfac4400a9954d9c527092b238a86
      https://github.com/llvm/llvm-project/commit/973bf4d53b9cfac4400a9954d9c527092b238a86
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Remove unnecessary if guard before calling SignExtend64<6> in decodeCLUIImmOperand. NFC (#133514)


  Commit: 5bdce305793f161cfa1bf69a65954089c99ccf0b
      https://github.com/llvm/llvm-project/commit/5bdce305793f161cfa1bf69a65954089c99ccf0b
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] remove v2i16 from srl pattern (#133458)

remove v2i16 from srl true16 pattern since 16bit right shift on v2i16
should not be applied with this pattern


  Commit: 48408954670e1f564bd92eed6b54bf155238201c
      https://github.com/llvm/llvm-project/commit/48408954670e1f564bd92eed6b54bf155238201c
  Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/include/stdlib.yaml
    M libc/src/stdlib/CMakeLists.txt
    A libc/src/stdlib/memalignment.cpp
    A libc/src/stdlib/memalignment.h
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/memalignment_test.cpp

  Log Message:
  -----------
  [libc] implement `memalignment` (#132493)

This patch adds the `memalignment` function to LLVM-libc, following its
description in [WG14 N3220,
§7.24.2.1](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf#page=387).

- [x] Add the implementation of `memalignment` in
[`/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/src/stdlib)
- [x] Add tests for `memalignment` in
[`/test/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/test/src/stdlib)
- [x] Add `memalignment` to
[`entrypoints.txt`](https://github.com/llvm/llvm-project/blob/main/libc/config/linux/x86_64/entrypoints.txt)
for at least x86_64 and whatever you're building on
- [x] Add `memalignment` to
[`include/stdlib.yaml`](https://github.com/llvm/llvm-project/blob/main/libc/include/stdlib.yaml)




Closes #132300

---------

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


  Commit: 5252bb1d74cc7bcbba4d0f6826486f43a124d01c
      https://github.com/llvm/llvm-project/commit/5252bb1d74cc7bcbba4d0f6826486f43a124d01c
  Author: Jeff Niu <jeffniu22 at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/lib/Interfaces/InferIntRangeInterface.cpp
    M mlir/test/Dialect/Arith/int-range-interface.mlir

  Log Message:
  -----------
  [mlir] IntegerRangeAnalysis: return initialized state for noninteger values (#133541)

Otherwise, the state for noninteger values remains uninitialized,
causing the analysis to return bogus results.


  Commit: 934f2557bacbbe914878c1ba56a17a8c6eae83c9
      https://github.com/llvm/llvm-project/commit/934f2557bacbbe914878c1ba56a17a8c6eae83c9
  Author: Mogball <jeffniu22 at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/test/Dialect/Arith/int-range-interface.mlir

  Log Message:
  -----------
  [mlir][analysis] Commit missing check lines


  Commit: b394babddcec466a4cb8f31ea94b99c1b934ea71
      https://github.com/llvm/llvm-project/commit/b394babddcec466a4cb8f31ea94b99c1b934ea71
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    A llvm/test/Transforms/HotColdSplit/musttail.ll

  Log Message:
  -----------
  [HotColdSplit] Don't outline musttail calls. (#133177)

musttail calls have several restrictions, generally enforcing matching
calling conventions between the caller parent and musttail callee. We
can't usually honor them, because the extracted function has a different
signature altogether, taking inputs/outputs and returning a control-flow
identifier rather than the actual return value.

Don't consider musttail calls as valid for extraction.


  Commit: e29f228a0732b126cca3ee2ff2536f08c1e49434
      https://github.com/llvm/llvm-project/commit/e29f228a0732b126cca3ee2ff2536f08c1e49434
  Author: Mogball <jeffniu22 at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/test/Dialect/Arith/int-range-interface.mlir

  Log Message:
  -----------
  actually fix the test


  Commit: 1462c26a9f5505c899a3ddbd78fd0caa6675c5fd
      https://github.com/llvm/llvm-project/commit/1462c26a9f5505c899a3ddbd78fd0caa6675c5fd
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl

  Log Message:
  -----------
  [HLSL] Add WaveReadLaneAt unsigned integer overloads (#133520)

Add WaveReadLaneAt unsigned integer overloads
2nd argument of WaveReadLaneAt should be a uint32_t and not an int32_t
add tests
Closes #133473


  Commit: 1e00bb16f488492198df692ae2e2abc405a138f3
      https://github.com/llvm/llvm-project/commit/1e00bb16f488492198df692ae2e2abc405a138f3
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp

  Log Message:
  -----------
  [sanitizer] actually run preadv2 test (#133529)

it seems the %run was accidentally omitted, otherwise the `assert` calls
would not make sense


  Commit: c8a70f4c6e24076ac3fc18bfb9e2a41ece83e7fc
      https://github.com/llvm/llvm-project/commit/c8a70f4c6e24076ac3fc18bfb9e2a41ece83e7fc
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A llvm/include/llvm/Analysis/StaticDataProfileInfo.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Analysis/CMakeLists.txt
    A llvm/lib/Analysis/StaticDataProfileInfo.cpp
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/CodeGen.cpp
    A llvm/lib/CodeGen/StaticDataAnnotator.cpp
    M llvm/lib/CodeGen/StaticDataSplitter.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    A llvm/test/CodeGen/X86/global-variable-partition.ll

  Log Message:
  -----------
  [CodeGen][StaticDataPartitioning]Place local-linkage global variables in hot or unlikely prefixed sections based on profile information (#125756)

In this PR, static-data-splitter pass finds out the local-linkage global
variables in {`.rodata`, `.data.rel.ro`, `bss`, `.data`} sections by
analyzing machine instruction operands, and aggregates their accesses
from code across functions.

A follow-up item is to analyze global variable initializers and count
for access from data.
* This limitation is demonstrated by `bss2` and `data3` in
`llvm/test/CodeGen/X86/global-variable-partition.ll`.

Some stats of static-data-splitter with this patch:

**section**|**bss**|**rodata**|**data**
:-----:|:-----:|:-----:|:-----:
hot-prefixed section coverage|99.75%|97.71%|91.30%
unlikely-prefixed section size percentage|67.94%|39.37%|63.10%

1. The coverage is defined as `#perf-sample-in-hot-prefixed <data>
section / #perf-sample in <data.*> section` for each <data> section.
* The perf command samples
`MEM_INST_RETIRED.ALL_LOADS:u:pinned:precise=2` events at a high
frequency (`perf -c 2251`) for 30 seconds. The profiled binary is built
as non-PIE so `data.rel.ro` coverage data is not available.
2. The unlikely-prefixed `<data>` section size percentage is defined as
`unlikely <data> section size / the sum size of <data>.* sections` for
each `<data>` section


  Commit: 515d1ae679ea25687423be37abec74565d755921
      https://github.com/llvm/llvm-project/commit/515d1ae679ea25687423be37abec74565d755921
  Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/test/clang-doc/basic-project.test
    M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc]  Add --repository-line-prefix argument (#131280)

This PR adds a new command-line option that allows users to specify the
prefix used for line-based anchors in repository URLs. Different
repository interfaces use different formats for line anchors (GitHub
uses `#L123`, googlesource uses `#123`, etc.). This option enables users
to customize the line prefix to match their repository platform without
requiring hard-coded values for each service.

Fixes #59814


  Commit: 6cc208cd3c80a57c535ad2ea7e8a189d02966682
      https://github.com/llvm/llvm-project/commit/6cc208cd3c80a57c535ad2ea7e8a189d02966682
  Author: Michael Jones <michaelrj at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A libc/Maintainers.rst
    M libc/docs/CMakeLists.txt
    A libc/docs/Maintainers.rst
    M libc/docs/index.rst
    M llvm/Maintainers.md

  Log Message:
  -----------
  [libc] Add maintainers file (#133471)

Based on #133297 by jhuber.

LLVM-libc needs a maintainers file, this patch adds an initial set.
The file is based on `clang/maintainers.rst` and
https://llvm.org/docs/DeveloperPolicy.html#maintainers.


  Commit: 8dc64e93cb203904c778ba7c390f8b7adc85bb02
      https://github.com/llvm/llvm-project/commit/8dc64e93cb203904c778ba7c390f8b7adc85bb02
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp

  Log Message:
  -----------
  llvm-reduce: Avoid double map lookup (#133447)


  Commit: 27b53e90a50428456e48a04b606fc366d48520a9
      https://github.com/llvm/llvm-project/commit/27b53e90a50428456e48a04b606fc366d48520a9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp

  Log Message:
  -----------
  llvm-reduce: Use takeName instead of setName when cloning functions (#133393)


  Commit: 4324f236ac8e8487f82c2f5e9fff1560600019c8
      https://github.com/llvm/llvm-project/commit/4324f236ac8e8487f82c2f5e9fff1560600019c8
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

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

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


  Commit: bb047b9ea37f8183941bdbffde00886fa4ab2407
      https://github.com/llvm/llvm-project/commit/bb047b9ea37f8183941bdbffde00886fa4ab2407
  Author: vporpo <vporpodas at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Constant.h
    M llvm/include/llvm/SandboxIR/Value.h
    M llvm/lib/SandboxIR/Constant.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement missing ConstantVector member functions (#131390)

This patch implements get(), getSplat(), getSplatValue() and getType(),
mirroring LLVM IR.


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

  Changed paths:
    M mlir/lib/IR/Verifier.cpp

  Log Message:
  -----------
  NFC: Remove unused includes (#133474)


  Commit: 304b3c500021a9281a1d03cf3a63380ca31f7451
      https://github.com/llvm/llvm-project/commit/304b3c500021a9281a1d03cf3a63380ca31f7451
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
    M clang/test/Analysis/Checkers/WebKit/unretained-members.mm

  Log Message:
  -----------
  [alpha.webkit.RawPtrRefMemberChecker] The checker doesn't warn Objective-C types in ivars. (#132833)

This PR fixes the bug that we weren't generating warnings when a raw
poiner is used to point to a NS type in Objective-C ivars. Also fix the
bug that we weren't suppressing this warning in system headers.


  Commit: 84c1afe69e51018fd48462d95190797f880d5195
      https://github.com/llvm/llvm-project/commit/84c1afe69e51018fd48462d95190797f880d5195
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp

  Log Message:
  -----------
  llvm-reduce: Simplify instruction reduction to avoid worklist (#133391)


  Commit: b2e2950358ff6fc201e408145b30db63b33d486b
      https://github.com/llvm/llvm-project/commit/b2e2950358ff6fc201e408145b30db63b33d486b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    R llvm/test/tools/llvm-reduce/remove-ifunc-constantexpr.ll

  Log Message:
  -----------
  llvm-reduce: Remove xfailed test for ifunc with constant expression (#133389)

The verifier does reject this now


  Commit: 8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d
      https://github.com/llvm/llvm-project/commit/8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-reduce.rst
    A llvm/test/tools/llvm-reduce/Inputs/flaky-test.py
    A llvm/test/tools/llvm-reduce/flaky-interestingness.ll
    M llvm/tools/llvm-reduce/deltas/Delta.cpp

  Log Message:
  -----------
  llvm-reduce: Do not assert if the input is no longer interesting (#133386)

If the interestingness script is flaky, we should not assert. Print
a warning, and continue. This could still happen as a result of an
llvm-reduce bug, so make a note of that.

Add a --skip-verify-interesting-after-counting-chunks option to
avoid the extra run of the reduction script, and to silence the
warning.


  Commit: 842f25a5fb781491c14102d0db1886a78a190ed5
      https://github.com/llvm/llvm-project/commit/842f25a5fb781491c14102d0db1886a78a190ed5
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
    M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
    M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp

  Log Message:
  -----------
  [NFC] [dataflow] generalize smart pointer caching (#133350)

This allows us to use it for classes that use other names than get /
value.


  Commit: 8726e973459d93d34653946ba1e01ad198cdf11f
      https://github.com/llvm/llvm-project/commit/8726e973459d93d34653946ba1e01ad198cdf11f
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/sse2-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/sse2-intrinsics-i386.ll

  Log Message:
  -----------
  [msan] Handle SSE2 cvt(t?)ps2dq/cvt(t?)pd2dq and cvtpd2ps using handleSSEVectorConvertIntrinsicByProp (#132815)

cvt(t?)ps2dq/cvt(t?)pd2dq and cvtpd2ps are currently handled strictly.
This patch handles them using handleSSEVectorConvertIntrinsicByProp
(from https://github.com/llvm/llvm-project/pull/130705), generalized to
handle SSE intrinsics that do not have a rounding mode parameter.


  Commit: 724f2096cedd6e179c79eaddf41accaad1218c96
      https://github.com/llvm/llvm-project/commit/724f2096cedd6e179c79eaddf41accaad1218c96
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-reduce/distinct-dimetadata-nullptr.ll
    M llvm/test/tools/llvm-reduce/operands-to-args-metadata.ll
    M llvm/test/tools/llvm-reduce/reduce-distinct-metadata.ll
    M llvm/test/tools/llvm-reduce/remove-attributes-from-intrinsics.ll
    M llvm/test/tools/llvm-reduce/remove-function-bodies.ll
    M llvm/test/tools/llvm-reduce/remove-instructions.ll
    M llvm/test/tools/llvm-reduce/remove-metadata.ll
    M llvm/test/tools/llvm-reduce/remove-module-data.ll
    M llvm/test/tools/llvm-reduce/remove-multiple-use-of-args-in-same-instruction.ll
    M llvm/test/tools/llvm-reduce/skip-delta-passes.ll
    M llvm/test/tools/llvm-reduce/temporary-files-as-bitcode-split.ll
    M llvm/test/tools/llvm-reduce/temporary-files-as-bitcode.ll

  Log Message:
  -----------
  llvm-reduce: Add -abort-on-invalid-reduction to more tests (#133390)

If I flip the default, the only failures are in MIR tests.


  Commit: 22a11be8ab6f31cd3621f37d675e44988218f314
      https://github.com/llvm/llvm-project/commit/22a11be8ab6f31cd3621f37d675e44988218f314
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir][vector] Fix parser of `vector.contract` (#133434)

This PR adds a check in the parser to prevent a crash when
`vector.contract` lacks the `iterator_types` attribute.
Fixes #132886.


  Commit: 55430f8673b9f8b27779faad3fe9c59954d539df
      https://github.com/llvm/llvm-project/commit/55430f8673b9f8b27779faad3fe9c59954d539df
  Author: peterbell10 <peterbell10 at openai.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll

  Log Message:
  -----------
  [NVPTX] Customize getScalarizationOverhead (#128077)

We've observed that the SLPVectorizer is too conservative on NVPTX
because it over-estimates the cost to build a vector. PTX has a single
`mov` instruction that can build e.g. `<2 x half>` vectors from scalars,
however the SLPVectorizer over-estimates it as the cost of 2 insert
elements.

To fix this I customize `getScalarizationOverhead` to lower the cost for
building 2x16 types.


  Commit: 539ef5eee2c26b93923ed7872c6f847ff54c71ae
      https://github.com/llvm/llvm-project/commit/539ef5eee2c26b93923ed7872c6f847ff54c71ae
  Author: John Harrison <harjohn at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h

  Log Message:
  -----------
  [lldb-dap] Addressing ubsan enum usage. (#133542)

Running tests with ubsan enabled showed that the current
`protocol::AdapterFeature` and `protocol::ClientFeature` enums are
incorrectly defined if we want to use them in a `llvm::DenseSet`. The
enums are currently untyped and this results in the undefined behavior.

Adding `FLAGS_ENUM()` wrappers to all the enums in the
`lldb-dap::protocol` namespace to ensure they're typed so they can be
used with types like `llvm::DenseSet`.


  Commit: f8ffbaebed1a7ac82a445a22630fefb769f0d08b
      https://github.com/llvm/llvm-project/commit/f8ffbaebed1a7ac82a445a22630fefb769f0d08b
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lld/test/ELF/weak-undef-rw.s

  Log Message:
  -----------
  [test] Test absolute/relative relocations referencing undefined non-weak symbol


  Commit: edef028029c4785dfe23c06731de4fc9f34d5cd5
      https://github.com/llvm/llvm-project/commit/edef028029c4785dfe23c06731de4fc9f34d5cd5
  Author: quic_hchandel <quic_hchandel at quicinc.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    A llvm/test/MC/RISCV/xqciio-aliases-valid.s
    A llvm/test/MC/RISCV/xqciio-invalid.s
    A llvm/test/MC/RISCV/xqciio-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqciio (External Input Output) extension (#132721)

This extension adds two external input output instructions for
non-memory-mapped device.

The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.7.0

This patch adds assembler only support.

Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>


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

  Changed paths:
    M lldb/source/Host/common/NativeProcessProtocol.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
    M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp

  Log Message:
  -----------
  [lldb] Use *Set::insert_range and a range constructor (NFC) (#133548)

This patch uses *Set::insert_range and a range constructor of DenseSet
to clean up the code to populate sets.


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

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h
    M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
    M llvm/lib/Analysis/DependenceGraphBuilder.cpp
    M llvm/lib/Analysis/LazyCallGraph.cpp
    M llvm/lib/Analysis/MemorySSAUpdater.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/RDFGraph.cpp
    M llvm/lib/CodeGen/RDFLiveness.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/VFABIDemangler.cpp
    M llvm/lib/Object/IRSymtab.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/tools/llvm-extract/llvm-extract.cpp
    M llvm/unittests/ADT/DirectedGraphTest.cpp

  Log Message:
  -----------
  [llvm] Use range constructors of *Set (NFC) (#133549)


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

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

  Log Message:
  -----------
  [CodeGen] Use llvm::reverse (NFC) (#133550)


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp

  Log Message:
  -----------
  [llvm] Remove extraneous calls to make_range (NFC) (#133551)


  Commit: 854d795985d404236346340cb015409c30078e46
      https://github.com/llvm/llvm-project/commit/854d795985d404236346340cb015409c30078e46
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/tools/mlir-tblgen/RewriterGen.cpp

  Log Message:
  -----------
  [mlir] Use llvm::reverse (NFC) (#133552)


  Commit: 63bb0078f824143f580225ad92464b21186f646e
      https://github.com/llvm/llvm-project/commit/63bb0078f824143f580225ad92464b21186f646e
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
    A compiler-rt/lib/ctx_profile/RootAutoDetector.h
    M compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/tests/RootAutoDetectorTest.cpp

  Log Message:
  -----------
  [ctxprof] Auto root detection: trie for stack samples (#133106)

An initial patch for supporting automated root detection. The auto-detector is introduced subsequently, but this patch introduces a datastructure for capturing sampled stacks, per thread, in a trie, and inferring from such samples which functions are reasonable roots.


  Commit: 1d4801f22ab1fd6205b1cf625b690aefc554cd4c
      https://github.com/llvm/llvm-project/commit/1d4801f22ab1fd6205b1cf625b690aefc554cd4c
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp

  Log Message:
  -----------
  [mlir] fix `maybeReplaceWithConstant` in IntRangeOptimizations (#133556)

If a dialect is caching/reusing constants when materializing then such
constants might already have `IntegerValueRangeLattice`s associated with
them and the range endpoint bit widths might not match the new
replacement (amongst other possible wackiness).

I observed this with `%true = arith.constant true` which was
materialized but had an existing `IntegerValueRangeLattice` (i.e.,
`solver.getOrCreateState<dataflow::IntegerValueRangeLattice>` was not
uninitalized) with range endpoint bit widths:

```
umin bit width: 32
umax bit width: 32
smin bit width: 32
smax bit width: 32
```

while the widths of the range end points for something like `%20 =
arith.cmpi slt, %19, %c1_i32` (a replacement candidate) would be

```
umin bit width: 1
umax bit width: 1
smin bit width: 1
smax bit width: 1
```

Thus, we should be clearing the analysis state each time a constant is
reused.


  Commit: ba2de8f22d0cac86d89c1806fb54ed3463349342
      https://github.com/llvm/llvm-project/commit/ba2de8f22d0cac86d89c1806fb54ed3463349342
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/riscv-relax-hi20-lo12-pie.s
    M lld/test/ELF/weak-undef-rw.s

  Log Message:
  -----------
  [ELF] Allow absolute relocation referencing symbol index 0 in PIC mode

The value of an absolute relocation, like R_RISCV_HI20 or R_PPC64_LO16,
with a symbol index of 0, the resulting value should be treated as
absolute and permitted in both -pie and -shared links.

This change also resolves an absolute relocation referencing an
undefined symbol in statically-linked executables.

PPC64 has unfortunate exceptions:

* R_PPC64_TOCBASE uses symbol index 0 but it should be treated as
  referencing the linker-defined .TOC.
* R_PPC64_PCREL_OPT (https://reviews.llvm.org/D84360) could no longer
  rely on `isAbsoluteValue` return false.


  Commit: 8e1d9f2d844a22f7d1cba93c604a9a094636f7a2
      https://github.com/llvm/llvm-project/commit/8e1d9f2d844a22f7d1cba93c604a9a094636f7a2
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp

  Log Message:
  -----------
  [ctxprof][nfc] Move 2 implementation functions up in `CtxInstrProfiling.cpp` (#133146)


  Commit: 31fe0d20fc49b0e0f653c95496b7955328f2983b
      https://github.com/llvm/llvm-project/commit/31fe0d20fc49b0e0f653c95496b7955328f2983b
  Author: vporpo <vporpodas at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/docs/SandboxIR.md
    A llvm/docs/SandboxVectorizer.md
    M llvm/docs/Vectorizers.rst

  Log Message:
  -----------
  [SandboxVec][Doc] Add documentation for the Sandbox Vectorizer (#133504)


  Commit: 2898c3e0bbf904c68efb194525bcdfeedb3014c2
      https://github.com/llvm/llvm-project/commit/2898c3e0bbf904c68efb194525bcdfeedb3014c2
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M .github/workflows/pr-code-format.yml

  Log Message:
  -----------
  [Github] Simplify Getting Changed Files in Code Formatting Workflow (#133023)

This patch changes getting changed files in the pr code format job to
just checking out the previous two commits (the merge commit and its
porent, the current commit latest in main), which allows us to just diff
the merge commit. This means we do not have to checkout the ref through
the merge base, which should save approximately a minute per job (or
much more in some cases where the PR is particularly out of date).


  Commit: 1e03408d4b17a792da5fd01b30f05ff055cfbd79
      https://github.com/llvm/llvm-project/commit/1e03408d4b17a792da5fd01b30f05ff055cfbd79
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
    A llvm/test/CodeGen/DirectX/remove-dead-intriniscs.ll

  Log Message:
  -----------
  [DirectX] Remove intrinsic definitions with no use (#133459)

Do cleanup in DXILFinalizeLinkage.cpp where intrinsic declares are getting orphaned.

This change reduces "Unsupported intrinsic for DXIL lowering" errors
when compiling DML shaders from 12218 to 415. and improves our
compilation success rate from less than 1% to 44%.


  Commit: 40c1d50024f8f0306b8601559d69663ae3d2d9bb
      https://github.com/llvm/llvm-project/commit/40c1d50024f8f0306b8601559d69663ae3d2d9bb
  Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsSPIRV.td
    M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaSPIRV.cpp
    A clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
    A clang/test/CodeGenSPIRV/Builtins/smoothstep.c
    A clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
    A clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
    A llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll

  Log Message:
  -----------
  [HLSL] Implement the `smoothstep` intrinsic (#132288)

Closes #99156.


Tasks completed:
- Implement `smoothstep` using HLSL source in `hlsl_intrinsics.h`
- Implement the `smoothstep` SPIR-V target built-in in
`clang/include/clang/Basic/BuiltinsSPIRV.td`
- Add sema checks for `smoothstep` to `CheckSPIRVBuiltinFunctionCall` in
`clang/lib/Sema/SemaSPIRV.cpp`
- Add codegen for spv `smoothstep` to `EmitSPIRVBuiltinExpr` in
`clang/lib/CodeGen/TargetBuiltins/SPIR.cpp`
- Add codegen tests to `clang/test/CodeGenHLSL/builtins/smoothstep.hlsl`
- Add spv codegen test to
`clang/test/CodeGenSPIRV/Builtins/smoothstep.c`
- Add sema tests to
`clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl`
- Add spv sema tests to
`clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c`
- Create the `int_spv_smoothstep` intrinsic in `IntrinsicsSPIRV.td`
- In SPIRVInstructionSelector.cpp create the `smoothstep` lowering and
map it to `int_spv_smoothstep` in
`SPIRVInstructionSelector::selectIntrinsic`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll`


  Commit: 34d858635f0887cc083ccbe3ac69fd34f107b4f6
      https://github.com/llvm/llvm-project/commit/34d858635f0887cc083ccbe3ac69fd34f107b4f6
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    R .ci/compute-projects.sh
    M .ci/generate-buildkite-pipeline-premerge
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [CI] Move CI over to new project computation script

This patch migrates the CI over to the new compute_projects.py script
for calculating what projects need to be tested based on a change to
LLVM.

Reviewers: lnihlen, ldionne, tstellar, Endilll, joker-eph, Keenuts

Reviewed By: Keenuts, tstellar

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


  Commit: 21eeca3db0341fef4ab4a6464ffe38b2eba5810c
      https://github.com/llvm/llvm-project/commit/21eeca3db0341fef4ab4a6464ffe38b2eba5810c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py

  Log Message:
  -----------
  [CI] Exclude docs directories from triggering rebuilds

Currently when someone touches a docs directory in a subproject, it is
treated as if the source code of that project got touched, so the
project is built, it is tested, and the same for all of its enumerated
dependents. This is wasteful, particularly for patches just touching
docs in places like LLVM where we might spend an hour of node time to do
nothing useful given changes in the docs shouldn't cause test failures
and there is already another workflow that tests the documentation build
completes successfully.

Reviewers: Keenuts, tstellar, lnihlen

Reviewed By: tstellar

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


  Commit: 41c906fe2b62a8266874a1146b9c85d96f1fa8fa
      https://github.com/llvm/llvm-project/commit/41c906fe2b62a8266874a1146b9c85d96f1fa8fa
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A .ci/generate_test_report_github.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  [CI] Add rich build information for github workflows

This patch adds rich test failure information to the Github output,
using the same library that is used for the buildkite pipeline.
Eventually I think we want to add more information like reproduction
information using the containers, but that is very divergent between
Github and Buildkite, so we probably want to wait until we've switched
over before doing that.

Reviewers: Keenuts, tstellar, lnihlen, DavidSpickett

Reviewed By: DavidSpickett, Keenuts

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


  Commit: 1e62a3505fa0d0ef1f706549ce62f645f3091cfa
      https://github.com/llvm/llvm-project/commit/1e62a3505fa0d0ef1f706549ce62f645f3091cfa
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/test/MC/RISCV/linker-relaxation.s

  Log Message:
  -----------
  [RISCV] Test %hi(absolute_symbol)


  Commit: e87bec622c0d10ae736e160a9335055d466d76ab
      https://github.com/llvm/llvm-project/commit/e87bec622c0d10ae736e160a9335055d466d76ab
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-reduce/fail-execute-test.test
    A llvm/test/tools/llvm-reduce/fail-output-file.test
    M llvm/tools/llvm-reduce/TestRunner.cpp

  Log Message:
  -----------
  llvm-reduce: Make some error messages more consistent (#133563)

The coding standards states that error messages should start with
a lowercase. Also use WithColor, and add missing test coverage for
the failed to write to output file case.


  Commit: 5b3e152e16950e551530b640335bb17dcc70a2fa
      https://github.com/llvm/llvm-project/commit/5b3e152e16950e551530b640335bb17dcc70a2fa
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/run-ir-passes-error.ll
    M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp

  Log Message:
  -----------
  llvm-reduce: Make run-ir-passes error more consistent (#133564)

Avoid capitalized Error. This loses the "Error constructing pass pipeline"
part, and just forwards the error to the default report_fatal_error case. Not
sure if it's worth trying to keep.


  Commit: 1878259c3960daeee91e2c95d487514d9e2984a4
      https://github.com/llvm/llvm-project/commit/1878259c3960daeee91e2c95d487514d9e2984a4
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
    M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
    M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Update verifier for `spirv.mlir.merge` (#133427)

- Moves the verification logic to the `verifyRegions` method of the
parent operation.
- Fixes a crash during verification when the last block lacks a
terminator.

Fixes #132850.


  Commit: fa5025b76034bcdd65d3a96eb29ae1edc18b876e
      https://github.com/llvm/llvm-project/commit/fa5025b76034bcdd65d3a96eb29ae1edc18b876e
  Author: Marco Elver <elver at google.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Add entry for pcsections Metadata (#133423)

Add an entry for pcsections Metadata that references the PC Sections
Metadata document.

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


  Commit: 646ad89108da1e1f9aac9c20f348b2053da6fc4d
      https://github.com/llvm/llvm-project/commit/646ad89108da1e1f9aac9c20f348b2053da6fc4d
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/include/__iterator/concepts.h
    M libcxx/include/__iterator/iter_move.h
    M libcxx/include/__iterator/iterator_traits.h
    M libcxx/include/__ranges/transform_view.h
    M libcxx/include/__type_traits/is_referenceable.h

  Log Message:
  -----------
  [libc++] Unify __can_reference and __is_referenceable_v (#133278)

Both traits do the same thing. This patch renames __can_reference to
__referenceable and moves it to the is_referenceable header.


  Commit: 5b5f40283da2244f777eb606c722e4483fee4fab
      https://github.com/llvm/llvm-project/commit/5b5f40283da2244f777eb606c722e4483fee4fab
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/operands-to-args-preserve-attributes.ll
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp

  Log Message:
  -----------
  llvm-reduce: Fix losing callsite attributes in operand-to-args (#133420)


  Commit: d3d4a242de047f41589b4e2a27ecbcc3273d4cbf
      https://github.com/llvm/llvm-project/commit/d3d4a242de047f41589b4e2a27ecbcc3273d4cbf
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/operands-to-args-preserve-fmf.ll
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp

  Log Message:
  -----------
  llvm-reduce: Fix losing fast math flags in operands-to-args (#133421)


  Commit: d852cc5311e22d845b3d626c80a310570628fa2c
      https://github.com/llvm/llvm-project/commit/d852cc5311e22d845b3d626c80a310570628fa2c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-reduce/operands-to-args-preserve-fmf.ll
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp

  Log Message:
  -----------
  llvm-reduce: Fix losing call metadata in operands-to-args (#133422)


  Commit: 1d0005a69ac812ea0ff069052daf4c2ea0242a48
      https://github.com/llvm/llvm-project/commit/1d0005a69ac812ea0ff069052daf4c2ea0242a48
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/docs/GlobalISel/KnownBits.rst
    M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    R llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
    A llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
    M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
    M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    R llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    A llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
    M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
    M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn

  Log Message:
  -----------
  [GlobalISel][NFC] Rename GISelKnownBits to GISelValueTracking (#133466)

- rename `GISelKnownBits` to `GISelValueTracking` to analyze more than
just `KnownBits` in the future


  Commit: d22e35be1768ed619269e6d0843260b25b52cb34
      https://github.com/llvm/llvm-project/commit/d22e35be1768ed619269e6d0843260b25b52cb34
  Author: Tejas Vipin <alissxlace at proton.me>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/math/index.rst
    M libc/include/math.yaml
    M libc/src/math/CMakeLists.txt
    A libc/src/math/asinhf16.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/asinhf16.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/asinhf16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/asinhf16_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add asinhf16 function (#131351)

Implement asinh for Float16 along with tests. Closes #131001


  Commit: 9451617d563d3b0f43d86b25fd1b6a6528d0afc2
      https://github.com/llvm/llvm-project/commit/9451617d563d3b0f43d86b25fd1b6a6528d0afc2
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp

  Log Message:
  -----------
  [NFC] LLVM reduce: fix unused variable (#133584)


  Commit: 1c7ab39f3d6959c64d01c8f275d672bd56315155
      https://github.com/llvm/llvm-project/commit/1c7ab39f3d6959c64d01c8f275d672bd56315155
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsTargetMachine.cpp
    M llvm/test/CodeGen/Mips/brdelayslot.ll
    A llvm/test/Transforms/LoopStrengthReduce/Mips/lit.local.cfg
    M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll

  Log Message:
  -----------
  MIPS: Set EnableLoopTermFold (#133454)

Setting `EnableLoopTermFold` enables `loop-term-fold` pass.


  Commit: 0bed72160c5f8ee4574d46c2b5f342c4a868d8c4
      https://github.com/llvm/llvm-project/commit/0bed72160c5f8ee4574d46c2b5f342c4a868d8c4
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp

  Log Message:
  -----------
  Revert "[NFC] LLVM reduce: remove unused variable" (#133586)

Reverts llvm/llvm-project#133584


  Commit: 3e742b517a0606bfed329dfcb8c34c614ed73ea7
      https://github.com/llvm/llvm-project/commit/3e742b517a0606bfed329dfcb8c34c614ed73ea7
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

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

  Log Message:
  -----------
  [NFC][AMDGPU] clang-format `AMDGPUBaseInfo.[h,cpp]` (#133559)


  Commit: 374a5bea522f97f0879f30dacd5079297bdcfb39
      https://github.com/llvm/llvm-project/commit/374a5bea522f97f0879f30dacd5079297bdcfb39
  Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Lower/OpenMP/cray-pointers01.f90
    A flang/test/Lower/OpenMP/cray-pointers02.f90

  Log Message:
  -----------
  [Flang][OpenMP] Add PointerAssociateScalar to Cray Pointer used in the DSA (#133232)

Issue: Cray Pointer is not associated to Cray Pointee, leading to
Segmentation fault

Fix: GetUltimate, retrieves the base symbol in the current scope, which
gets passed all the references and returns the original symbol

---------

Co-authored-by: Michael Klemm <michael.klemm at amd.com>


  Commit: 847cdd46e5433434661f4d7aa950dd5c5b28c063
      https://github.com/llvm/llvm-project/commit/847cdd46e5433434661f4d7aa950dd5c5b28c063
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp

  Log Message:
  -----------
  [NFC][llvm-reduce] Fix an used variable warning in `ReduceOperandsToArgs.cpp`


  Commit: e16541e1a6c02b32124e8893b29882bff072fd46
      https://github.com/llvm/llvm-project/commit/e16541e1a6c02b32124e8893b29882bff072fd46
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M libcxx/include/__flat_set/flat_set.h
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h

  Log Message:
  -----------
  [libc++] fix `flat_set`'s transparent `insert` (#133402)

Unlike `flat_map` and `flat_multimap`, The two function template
overloads `flat_set::insert`'s wording strongly suggest we should use
the transparent comparator
https://eel.is/c++draft/flat.set#modifiers-1

Both the code and the tests were not using the transparent comparator,
which needs to be fixed


  Commit: 1ff74917b56e9e57dd13286123144b5f13e9a517
      https://github.com/llvm/llvm-project/commit/1ff74917b56e9e57dd13286123144b5f13e9a517
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/ELF/Driver.cpp
    M lld/MachO/Driver.cpp

  Log Message:
  -----------
  [lld] Use *Set::insert_range (NFC) (#133565)


  Commit: 3db5be79d24bb48a38e844fafc3db054f8d8cc58
      https://github.com/llvm/llvm-project/commit/3db5be79d24bb48a38e844fafc3db054f8d8cc58
  Author: vporpo <vporpodas at google.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintRegion.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
    A llvm/test/Transforms/SandboxVectorizer/print_region_pass.ll

  Log Message:
  -----------
  [SandboxVec] Add print-region pass (#131019)

This patch implements a simple printing pass for regions. This is meant
to be used in tests and for debugging.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/pr42905.ll
    M llvm/test/CodeGen/X86/sad.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
    M llvm/test/CodeGen/X86/vector-reduce-mul.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  [DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses (REAPPLIED) (#133401)

Similar to what is done for visitEXTRACT_VECTOR_ELT - if all uses of a vector are EXTRACT_SUBVECTOR, then determine the accumulated demanded elts across all users and call SimplifyDemandedVectorElts in "AssumeSingleUse" use.

Second try after #133130 was reverted by #133331 due to it affecting reverted test files


  Commit: fe6fb910df9d1b9a9e2e7a6e8228d020668e0129
      https://github.com/llvm/llvm-project/commit/fe6fb910df9d1b9a9e2e7a6e8228d020668e0129
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M lld/test/ELF/riscv-reloc-plt32.s
    M lld/test/ELF/riscv-undefined-weak.s
    M lld/test/ELF/riscv64-reloc-got32-pcrel.s
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
    M llvm/include/llvm/Target/TargetLoweringObjectFile.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
    M llvm/lib/Target/AMDGPU/R600AsmPrinter.h
    M llvm/lib/Target/AMDGPU/R600MCInstLower.cpp
    M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
    M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
    M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
    M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
    A llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
    M llvm/test/MC/ELF/rtti-proxy-gotpcrel.ll
    M llvm/test/MC/RISCV/data-directive-specifier.s
    M llvm/test/MC/RISCV/pseudo-jump-invalid.s
    M llvm/test/MC/RISCV/rv32i-invalid.s

  Log Message:
  -----------
  [RISCV] Replace @plt/@gotpcrel in data directives with %pltpcrel %gotpcrel

clang -fexperimental-relative-c++-abi-vtables might generate `@plt` and
`@gotpcrel` specifiers in data directives. The syntax is not used in
humand-written assembly code, and is not supported by GNU assembler.
Note: the `@plt` in `.word foo at plt` is different from
the legacy `call func at plt` (where `@plt` is simply ignored).

The `@plt` syntax was selected was simply due to a quirk of AsmParser:
the syntax was supported by all targets until I updated it
to be an opt-in feature in a0671758eb6e52a758bd1b096a9b421eec60204c

RISC-V favors the `%specifier(expr)` syntax following MIPS and Sparc,
and we should follow this convention.

This PR adds support for `.word %pltpcrel(foo+offset)` and
`.word %gotpcrel(foo)`, and drops `@plt` and `@gotpcrel`.

* MCValue::SymA can no longer have a SymbolVariant. Add an assert
  similar to that of AArch64ELFObjectWriter.cpp before
  https://reviews.llvm.org/D81446 (see my analysis at
  https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers
  if intrigued)
* `jump foo at plt, x31` now has a different diagnostic.

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


  Commit: b9b39db5d7677710f1d00dc8ff5844ad2abb269f
      https://github.com/llvm/llvm-project/commit/b9b39db5d7677710f1d00dc8ff5844ad2abb269f
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
    M llvm/test/MC/RISCV/insn.s
    M llvm/test/MC/RISCV/linker-relaxation.s
    M llvm/test/MC/RISCV/rv32i-aliases-valid.s
    M llvm/test/MC/RISCV/rv64i-aliases-valid.s
    M llvm/test/MC/RISCV/rv64i-valid.s
    M llvm/test/MC/RISCV/rvd-valid.s
    M llvm/test/MC/RISCV/rvf-valid.s
    M llvm/test/MC/RISCV/rvi-valid.s
    M llvm/test/MC/RISCV/rvzfbfmin-valid.s
    M llvm/test/MC/RISCV/rvzfh-valid.s
    M llvm/test/MC/RISCV/rvzfhmin-valid.s

  Log Message:
  -----------
  RISCVAsmParser: Don't treat operands with relocation specifier as parse-time constants

An immediate operand is encoded as an `MCExpr`, with `RISCVMCExpr`
specifying an operand that includes a relocation specifier. When
https://reviews.llvm.org/D23568 added initial fixup and relocation
support in 2017, it adapted code from `PPCMCExpr` (for `@l` `@ha`) to
evaluate the `RISCVMCExpr` operand. (PPCAsmParser had considerable
technical debt, though I’ve recently streamlined it somewhat, e.g.
8560da28c69de481f3ad147722577e87b902facb)

Evaluating RISCVMCExpr during parsing is unnecessary. For example,
there's no need to treat `lui a0, %hi(2)` differently from `lui a0,
%hi(foo)` when foo has not been defined yet.

This evaluation introduces unnecessary complexity. For instance, parser
functions require an extra check like `VK == RISCVMCExpr::VK_None`, as
seen in these examples:

```
 if (!evaluateConstantImm(getImm(), Imm, VK) || VK != RISCVMCExpr::VK_None)

 return IsConstantImm && isUInt<N>(Imm) && VK == RISCVMCExpr::VK_None;
```

This PR eliminates the parse-time evaluation of `RISCVMCExpr`, aligning
it more closely with other targets.

---

`abs = 0x12345; lui t3, %hi(abs)` now generates
R_RISCV_HI20/R_RISCV_RELAX with linker relaxation.
(Tested by test/MC/RISCV/linker-relaxation.s)

(Notably, since commit ba2de8f22d0cac86d89c1806fb54ed3463349342 in
lld/ELF, the linker can handle R_RISCV_HI relocations with a symbol
index of 0 in -pie mode.)

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


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

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86Operand.h
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86MCInstLower.cpp

  Log Message:
  -----------
  [X86] Use MCRegister. NFC


  Commit: 3ef33066bb32a9d9b76d72c6de6a7ae9ff72ddcc
      https://github.com/llvm/llvm-project/commit/3ef33066bb32a9d9b76d72c6de6a7ae9ff72ddcc
  Author: David Green <david.green at arm.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
    A llvm/test/Transforms/LoopUnrollAndJam/delete_middle_loop.ll

  Log Message:
  -----------
  [UnrollAndJam] Do not preserve loop nests if a loop was fully unrolled. (#133510)

If UnJ completely unrolls a loop and removes it entirely, the loop
remains in the current loop nest. If the loop nest gets reused the loops
will no longer be valid. As there is no way to remove a loop from a
LoopNest, this patch removes the preserve of the LoopNestAnalysis so
that it will be regenerated.

Fixes #124518


  Commit: 884b19ab40c8b6e5d1fb54894c0418fd27bb93f9
      https://github.com/llvm/llvm-project/commit/884b19ab40c8b6e5d1fb54894c0418fd27bb93f9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
    M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/index/dex/Dex.cpp

  Log Message:
  -----------
  [clang-tools-extra] Use *Set::insert_range (NFC) (#133589)


  Commit: 9c6eca28cbd4689173bc8b0733ffe39363481103
      https://github.com/llvm/llvm-project/commit/9c6eca28cbd4689173bc8b0733ffe39363481103
  Author: David Green <david.green at arm.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll

  Log Message:
  -----------
  [AArch64] Return an invalid cost for vscale x 2 x i128 srem.

This protects against invalid size requests on scalable vectors by checking the
original VT, not the legalized type when checking for scalars. The cost
returned is now invalid, which lines up with the codegen not being able to
produce a result.


  Commit: 0cd82327ff71282b2bfc51090074a3fd63e4842d
      https://github.com/llvm/llvm-project/commit/0cd82327ff71282b2bfc51090074a3fd63e4842d
  Author: Qinkun Bao <qinkun at google.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M clang/docs/BoundsSafety.rst
    M clang/docs/ConstantInterpreter.rst
    M clang/docs/HIPSupport.rst
    M clang/docs/HLSL/AvailabilityDiagnostics.rst
    M clang/docs/MSVCCompatibility.rst
    M clang/docs/SanitizerCoverage.rst
    M clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/StaticAnalyzer/CallEventTest.cpp
    M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
    M clang/unittests/Tooling/ExecutionTest.cpp

  Log Message:
  -----------
  Fix some typos (NFC) (#133558)


  Commit: 6b9813446625408393c5a2b4d0d54470f7932944
      https://github.com/llvm/llvm-project/commit/6b9813446625408393c5a2b4d0d54470f7932944
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll

  Log Message:
  -----------
  [VPlan] Re-enable narrowing interleave groups with interleaving.

Remove the UF = 1 restriction introduced by 577631f0a5 building on top
of 783a846507683, which allows updating all relevant users of the VF,
VPScalarIVSteps in particular.

This restores the full functionality of
https://github.com/llvm/llvm-project/pull/106441.


  Commit: be7f185ca16e990614113519d003bfe3685f489b
      https://github.com/llvm/llvm-project/commit/be7f185ca16e990614113519d003bfe3685f489b
  Author: Alcaro <floating at muncher.se>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M clang/docs/analyzer/checkers.rst

  Log Message:
  -----------
  [NFC][analyzer] Fix typo in VirtualCall checker docs (#133593)


  Commit: 3d43739753f3b50824a09343efe40a2a476488df
      https://github.com/llvm/llvm-project/commit/3d43739753f3b50824a09343efe40a2a476488df
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h

  Log Message:
  -----------
  [Basic] Use SmallSet::insert_range (NFC) (#133594)


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

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Tools/lsp-server-support/CompilationDatabase.cpp

  Log Message:
  -----------
  [mlir] Use SetVector::insert_range (NFC) (#133595)


  Commit: abf9c1a18d2875b6a8f98eba3761b8389818e1bf
      https://github.com/llvm/llvm-project/commit/abf9c1a18d2875b6a8f98eba3761b8389818e1bf
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++] Switch a few attribute to use the C++11 syntax (#133293)

Using the C++11 attribute syntax makes it more strict where attributes
can be applied, reducing the number of possible positions an attribute
can appear in.


  Commit: 31c37a4a5ebc0d13d86a91c300e15177e9d77ddf
      https://github.com/llvm/llvm-project/commit/31c37a4a5ebc0d13d86a91c300e15177e9d77ddf
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll

  Log Message:
  -----------
  [RISCV][TTI] Adjust VLS shuffle costing to account for sub-mask reuse (#129793)

If we have a shuffle which can be split via VLA where two or more of the
destinations have exactly the same elements, then we only need to
account for them once in costing. The duplicate copies are are (at
worst) whole register moves.

Note that this change only handles the single source case. Doing the
multiple source case seemed a bit more complicated, and I didn't have a
motivating test case.


  Commit: 2f5c836e08164ce8835d520001042efe93caf950
      https://github.com/llvm/llvm-project/commit/2f5c836e08164ce8835d520001042efe93caf950
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M lldb/bindings/interface/SBProgressDocstrings.i
    A lldb/bindings/interface/SBProgressExtensions.i
    M lldb/bindings/interfaces.swig
    M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py

  Log Message:
  -----------
  [SBProgress] Add swig support for `with` statement in Python (#133527)

We recently added an explicit finalize to SBProgress, #128966. I
realized while adding some additional implementations of SBProgress that
we should to add `with` support for ease of use. This patch addresses
adding and `__enter()__` method (which a no-op) and an `__exit()__` to
swig. I also refactor the emitter for the test to leverage `with`
instead of explicitly calling finalize, and I've updated the docstrings.


  Commit: f8ee58a3cbbe4de2ac6d006fad8363ae6d24aa57
      https://github.com/llvm/llvm-project/commit/f8ee58a3cbbe4de2ac6d006fad8363ae6d24aa57
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll

  Log Message:
  -----------
  [RISCV] Initial codegen support for the XRivosVizip extension (#131933)

This implements initial code generation support for a subset of the
xrivosvizip extension. Specifically, this adds support for vzipeven,
vzipodd, and vzip2a, but not vzip2b, vunzip2a, or vunzip2b. The others
will follow in separate patches.

One review note: The zipeven/zipodd matchers were recently rewritten to
better match upstream style, so careful review there would be
appreciated. The matchers don't yet support type coercion to wider
types. This will be done in a future patch.


  Commit: e8059467ef0041f6735b23ef680eb9070e308e33
      https://github.com/llvm/llvm-project/commit/e8059467ef0041f6735b23ef680eb9070e308e33
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

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

  Log Message:
  -----------
  [RISCV] Fix -Wsign-compare warning from f8ee58a

lib/Target/RISCV/RISCVISelLowering.cpp:4629:26: error: comparison of integers of different signs: 'unsigned int' and 'int' [-Werror,-Wsign-compare]
 4629 |   for (unsigned i = 0; i != NumElts; ++i) {
      |                        ~ ^  ~~~~~~~
1 error generated.


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

  Changed paths:
    M bolt/include/bolt/Passes/DominatorAnalysis.h
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT] Use *Set::insert_range (NFC) (#133601)


  Commit: 8f5c3deadd79a19c8585e014581288e92462a97c
      https://github.com/llvm/llvm-project/commit/8f5c3deadd79a19c8585e014581288e92462a97c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [Analysis] Use llvm::append_range (NFC) (#133602)


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
    M llvm/lib/CodeGen/WindowScheduler.cpp

  Log Message:
  -----------
  [CodeGen] Use llvm::append_range (NFC) (#133603)


  Commit: f7228f38b72d6bf043aa4a412ba6ebb1d5971c53
      https://github.com/llvm/llvm-project/commit/f7228f38b72d6bf043aa4a412ba6ebb1d5971c53
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp

  Log Message:
  -----------
  MCValue: Simplify code with getSubSym

The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.


  Commit: 02af13aacb477d1f0a89375646f09b638055e3b9
      https://github.com/llvm/llvm-project/commit/02af13aacb477d1f0a89375646f09b638055e3b9
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp

  Log Message:
  -----------
  [RISCV] Simplify evaluateAsRelocatableImpl. NFC

RISCVMCExpr is not created with VK_None.


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

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
    M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/X86/X86CmovConversion.cpp
    M llvm/lib/Target/X86/X86InterleavedAccess.cpp
    M llvm/lib/Target/X86/X86WinEHState.cpp

  Log Message:
  -----------
  [Target] Use llvm::append_range (NFC) (#133606)


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

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [Transforms] Use llvm::append_range (NFC) (#133607)


  Commit: db603a09dabefc6847423c8968578ce6d54a7a2d
      https://github.com/llvm/llvm-project/commit/db603a09dabefc6847423c8968578ce6d54a7a2d
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp

  Log Message:
  -----------
  [MC] Move ELF-specific handleAddSubRelocations to ELFObjectWriter::recordRelocation


  Commit: d9b3209e8640e69d328b7ead169c5304a80dd1be
      https://github.com/llvm/llvm-project/commit/d9b3209e8640e69d328b7ead169c5304a80dd1be
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

  Log Message:
  -----------
  [X86] applyFixup: Remove unneeded Target.isAbsolute() and isResolved

Target and isResolved are only used by ARM.


  Commit: c6d0e0435dba0a02ad1970e89083ad61922f7245
      https://github.com/llvm/llvm-project/commit/c6d0e0435dba0a02ad1970e89083ad61922f7245
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp

  Log Message:
  -----------
  [M68k] applyFixup: don't reference Target and IsResolved

They are workarounds only needed by ARM and might be removed.


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

  Changed paths:
    M polly/lib/Analysis/ScopBuilder.cpp
    M polly/lib/Analysis/ScopDetection.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp
    M polly/lib/Support/SCEVValidator.cpp
    M polly/lib/Transform/MaximalStaticExpansion.cpp

  Log Message:
  -----------
  [polly] Use *Set::insert_range (NFC) (#133609)


  Commit: 976a384ba67adf059ab9fe5550e7e67b6fc53396
      https://github.com/llvm/llvm-project/commit/976a384ba67adf059ab9fe5550e7e67b6fc53396
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/test/SemaCXX/sugar-common-types.cpp

  Log Message:
  -----------
  [clang] implement common-sugar for adjusted member-pointers (#133613)


  Commit: 9747bb182f430bb1bd3525b7f42e88df626e28e5
      https://github.com/llvm/llvm-project/commit/9747bb182f430bb1bd3525b7f42e88df626e28e5
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/include/llvm/Target/TargetLoweringObjectFile.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/StaticDataSplitter.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/TargetLoweringObjectFile.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    A llvm/test/CodeGen/AArch64/constant-pool-partition.ll
    A llvm/test/CodeGen/X86/constant-pool-partition.ll

  Log Message:
  -----------
  [CodeGen][StaticDataSplitter]Support constant pool partitioning (#129781)

This is a follow-up patch of
https://github.com/llvm/llvm-project/pull/125756

In this PR, static-data-splitter pass produces the aggregated profile
counts of constants for constant pools in a global state
(`StateDataProfileInfo`), and asm printer consumes the profile counts to
produce `.hot` or `.unlikely` prefixes.

This implementation covers both x86 and aarch64 asm printer.


  Commit: fea6b388055284f37852e615fbf5b40a3ba34249
      https://github.com/llvm/llvm-project/commit/fea6b388055284f37852e615fbf5b40a3ba34249
  Author: YLChenZ <chentongyongcz at gmail.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/DeltaManager.cpp
    A llvm/tools/llvm-reduce/DeltaPass.h
    A llvm/tools/llvm-reduce/DeltaPasses.def
    M llvm/tools/llvm-reduce/deltas/Delta.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.h
    M llvm/tools/llvm-reduce/deltas/ReduceAliases.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceAliases.h
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.h
    M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceAttributes.h
    M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.h
    M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.h
    M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.h
    M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.h
    M llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.h
    M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceFunctions.h
    M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.h
    M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.h
    M llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.h
    M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.h
    M llvm/tools/llvm-reduce/deltas/ReduceIRReferences.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceIRReferences.h
    M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.h
    M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlagsMIR.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlagsMIR.h
    M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceInstructions.h
    M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.h
    M llvm/tools/llvm-reduce/deltas/ReduceInvokes.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceInvokes.h
    M llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.h
    M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceMetadata.h
    M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceModuleData.h
    M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.h
    M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.h
    M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOperands.h
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.h
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.h
    M llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.h
    M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.h
    M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.h
    M llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.h
    M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.h
    M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.h
    M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
    M llvm/tools/llvm-reduce/deltas/RunIRPasses.h
    M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.cpp
    M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.h
    M llvm/tools/llvm-reduce/deltas/StripDebugInfo.cpp
    M llvm/tools/llvm-reduce/deltas/StripDebugInfo.h

  Log Message:
  -----------
  [llvm-reduce]: print short form, actionable names in the log (#133561)

Closes #132696

before the patch like this:
```
----------------------------
*** Reducing GlobalObjects...
----------------------------
*** Reducing GV Initializers...
----------------------------
*** Reducing GlobalVariables...
----------------------------
```
after the patch like this:
```
----------------------------
*** Reducing GlobalObjects (global-objects)...
----------------------------
*** Reducing GV Initializers (global-initializers)...
----------------------------
*** Reducing GlobalVariables (global-variables)...
----------------------------
```


  Commit: 825ecfed9e08f27ecb65b960bb754f6d300ff625
      https://github.com/llvm/llvm-project/commit/825ecfed9e08f27ecb65b960bb754f6d300ff625
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
    M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp

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


  Commit: 8db434a4815737e4d665aeedd1495369e80ea208
      https://github.com/llvm/llvm-project/commit/8db434a4815737e4d665aeedd1495369e80ea208
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M llvm/tools/bugpoint/CrashDebugger.cpp
    M llvm/tools/bugpoint/OptimizerDriver.cpp
    M llvm/tools/bugpoint/ToolRunner.cpp
    M llvm/tools/dsymutil/Reproducer.cpp
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-libtool-darwin/DependencyInfo.h
    M llvm/tools/llvm-lipo/llvm-lipo.cpp
    M llvm/tools/llvm-lto2/llvm-lto2.cpp
    M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-xray/xray-stacks.cpp
    M llvm/tools/lto/lto.cpp
    M llvm/tools/obj2yaml/elf2yaml.cpp
    M llvm/tools/obj2yaml/macho2yaml.cpp

  Log Message:
  -----------
  [bugpoint] Avoid repeated hash lookups (NFC) (#133616)


  Commit: a03367fd0135a0fe1be4d6e4b8e0dd59ed332003
      https://github.com/llvm/llvm-project/commit/a03367fd0135a0fe1be4d6e4b8e0dd59ed332003
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/DeltaPasses.def

  Log Message:
  -----------
  llvm-reduce: Remove trailing whitespace


  Commit: 057b3c245234e9d9fa3a25fbf04d20e7f3fe2cff
      https://github.com/llvm/llvm-project/commit/057b3c245234e9d9fa3a25fbf04d20e7f3fe2cff
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.h
    M llvm/tools/llvm-reduce/deltas/Utils.h

  Log Message:
  -----------
  llvm-reduce: Trim unnecessary includes


  Commit: 1cb6ba5c60c3ce19785948eb327036a455dd1457
      https://github.com/llvm/llvm-project/commit/1cb6ba5c60c3ce19785948eb327036a455dd1457
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/lib/Sema/SemaConcept.cpp

  Log Message:
  -----------
  [Clang][NFC] Improve const correctness of constraint normalization (#133633)

Follow up to #132849


  Commit: faefb70c7a771ae646df3d5defe122cfff2aac7c
      https://github.com/llvm/llvm-project/commit/faefb70c7a771ae646df3d5defe122cfff2aac7c
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++][NFC] Remove _LIBCPP_DLL_VIS

This macro is only ever used inside the definiton for the various
visibility macros on windows. There, it's defined in multiple places
with different expansions, which makes it more confusing than helpful
when trying to figure out what macro expands to what.


  Commit: 10dd404d9fbe505fb189972565c577318a6b577b
      https://github.com/llvm/llvm-project/commit/10dd404d9fbe505fb189972565c577318a6b577b
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

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

  Log Message:
  -----------
  [bazel] Make DeltaPasses.def available for fea6b388055284f37852e615fbf5b40a3ba34249


  Commit: 4dbcefe3806f9970c0e4f4b08d98df5253517f14
      https://github.com/llvm/llvm-project/commit/4dbcefe3806f9970c0e4f4b08d98df5253517f14
  Author: Alexander Kornienko <alexfh at google.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

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

  Log Message:
  -----------
  Revert the llvm::append_range change in lib/Target/X86/X86WinEHState.cpp

This reverts a single file from ad1ba15ea894ac47b0f2447db191a14ebe1b301d.
llvm::append_range in this context fails to compile with recent Clang and
libc++:

libcxx/include/__algorithm/copy_backward.h:221:68: error: invalid operands to
binary expression ('llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>'
and 'long')
...
llvm-project/llvm/lib/Target/X86/X86WinEHState.cpp:724:11: note: in
instantiation of function template specialization
'llvm::append_range<std::deque<llvm::BasicBlock *>,
llvm::iterator_range<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock
>>>' requested here
  724 |     llvm::append_range(Worklist, successors(BB));
      |           ^


  Commit: 9a913a39442d986cf8315f88666f8f5ebd6a4a94
      https://github.com/llvm/llvm-project/commit/9a913a39442d986cf8315f88666f8f5ebd6a4a94
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

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

  Log Message:
  -----------
  InlineCostAnnotationPrinter: Fix constructing random TargetTransformInfo (#133637)

Query the correct TTI for the current target instead of constructing
some random default one. Also query the pass manager for
ProfileSummaryInfo.
This should only change the printing, not the actual result.


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

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

  Log Message:
  -----------
  [VPlan] Remove dead UF argument from VPTransformState ctor (NFC).


  Commit: 5b65b4d46412f0d5838b0d67b81b6dc03c93908f
      https://github.com/llvm/llvm-project/commit/5b65b4d46412f0d5838b0d67b81b6dc03c93908f
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp

  Log Message:
  -----------
  [RISCV] Remove dead code from evaluateTargetFixup

AUIPCTarget as a relocatable expression cannot have a SubSym or
@-specifier.


  Commit: 5715510d00d44d97a0024caf864e649225372281
      https://github.com/llvm/llvm-project/commit/5715510d00d44d97a0024caf864e649225372281
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h

  Log Message:
  -----------
  [RISCV] Remove unused declarations and getSpecifier. NFC

Remove unused declarations after #132569.
Simplify some code as we no longer use MCSymbolRefExpr::VariantKind.


  Commit: 1f7f268f304d02f0cea33ab63a21de57ba4a5a3c
      https://github.com/llvm/llvm-project/commit/1f7f268f304d02f0cea33ab63a21de57ba4a5a3c
  Author: Liqiang TAO <taolq at outlook.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/StackProtector.cpp
    M llvm/test/CodeGen/X86/tailcc-ssp.ll

  Log Message:
  -----------
  StackProtector: use isInTailCallPosition to verify tail call position (#68997)

The issue is caused by [D133860](https://reviews.llvm.org/D133860).
The guard would be inserted in wrong place in some cases, like the test
case showed below.
This patch fixed the issue by using `isInTailCallPosition()` to verify
whether the tail call is in right position.


  Commit: 52639d69acbed0e49fd855c8c04cd9307405e2e6
      https://github.com/llvm/llvm-project/commit/52639d69acbed0e49fd855c8c04cd9307405e2e6
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst

  Log Message:
  -----------
  [clang-tidy][NFC][doc] improve "options" sections of `bugprone-` and `modernize-` checks (#133525)

Improved "options" sections of `bugprone-` and `modernize-` checks:

1. Added `Options` keyword to be a delimiter between "body" and
"options" parts of docs
2. Added default values where was absent.
3. Improved readability of some default values by converting `1` to
`true`.


  Commit: 8ecb2f9c4a8e39620935c1933fe1fbd2b96c723a
      https://github.com/llvm/llvm-project/commit/8ecb2f9c4a8e39620935c1933fe1fbd2b96c723a
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M llvm/include/llvm/ADT/DenseMap.h
    M llvm/unittests/ADT/DenseMapTest.cpp
    M llvm/unittests/ADT/DenseSetTest.cpp

  Log Message:
  -----------
  [ADT] Add `DenseMap::insert_range` (#133600)

This PR add `DenseMap::insert_range` to `DenseMap` for consistency with
existing `DenseSet::insert_range`, `SmallSet::insert_range` and
`std::map::insert_range`.


  Commit: 5a3d4036cff159e32aa4ab1b11fd6a25a50a456c
      https://github.com/llvm/llvm-project/commit/5a3d4036cff159e32aa4ab1b11fd6a25a50a456c
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp

  Log Message:
  -----------
  Move relocation specifiers to AMDGPUMCExpr::Specifier

Similar to previous migration done for all other ELF targets.
Switch from the confusing `VariantKind` to `Specifier`, which aligns
with Arm and IBM AIX's documentation.

Moving forward, relocation specifiers should be integrated into
AMDGPUMCExpr rather than MCSymbolRefExpr::SubclassData.

(Note: the term AMDGPUMCExpr::VariantKind is for expressions
without relocation specifiers:
https://github.com/llvm/llvm-project/pull/82022

It's up to AMDGPU maintainers to integrate these constants into Specifier.
)

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


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

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

  Log Message:
  -----------
  [AArch64] Use llvm::erase_if (NFC) (#133647)


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

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp

  Log Message:
  -----------
  [mlir] Use llvm::hasSingleElement (NFC) (#133648)


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

  Changed paths:
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/X86DisassemblerTables.cpp

  Log Message:
  -----------
  [TableGen] Use llvm::append_range (NFC) (#133649)


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

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Utils/CodeLayout.cpp
    M llvm/lib/Transforms/Utils/SampleProfileInference.cpp

  Log Message:
  -----------
  [Transforms] Use llvm::append_range (NFC) (#133650)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h

  Log Message:
  -----------
  [VPlan] Handle scalar casts and blend in isUniformAfterVectorization.

Currently should be NFC, but will be used by
https://github.com/llvm/llvm-project/pull/117506.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h

  Log Message:
  -----------
  [VPlan] Remove duplicated VPDerivedIVRecipe handling (NFC).

Also handled by an earlier, more general if above.


  Commit: 848faf49f793968ae6dee1577f507d4cc68b157e
      https://github.com/llvm/llvm-project/commit/848faf49f793968ae6dee1577f507d4cc68b157e
  Author: Reid Kleckner <rnk at google.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    R lldb/unittests/Disassembler/ARM/CMakeLists.txt
    M lldb/unittests/Disassembler/CMakeLists.txt
    R lldb/unittests/Disassembler/RISCV/CMakeLists.txt
    R lldb/unittests/Disassembler/x86/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Combine disassembler gtest binaries for efficiency (#133539)

Each of these executables is 642MB for me locally with split DWARF, and
we don't need 3 statically linked gtest binaries when one will do.


  Commit: 92e591684576e7244d53722b04e840f28c3f03c3
      https://github.com/llvm/llvm-project/commit/92e591684576e7244d53722b04e840f28c3f03c3
  Author: Reid Kleckner <rnk at google.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M lldb/unittests/Disassembler/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Fix cmake logic when no targets are configured

Should fix reported lldb-remote-linux-ubuntu bot post-submit failure


  Commit: 3b3d1a5c261419da864d0883eccd040c2b72e237
      https://github.com/llvm/llvm-project/commit/3b3d1a5c261419da864d0883eccd040c2b72e237
  Author: Nicolas van Kempen <nvankemp at gmail.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/check_clang_tidy.py

  Log Message:
  -----------
  [NFC][clang-tidy] Add type annotations to check_clang_tidy (#133140)

```
> python3 -m mypy --strict clang-tools-extra/test/clang-tidy/check_clang_tidy.py
Success: no issues found in 1 source file
```


  Commit: 2796e41ade306c3bf0f2e21311dff406bcf65652
      https://github.com/llvm/llvm-project/commit/2796e41ade306c3bf0f2e21311dff406bcf65652
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M lldb/source/Core/Telemetry.cpp

  Log Message:
  -----------
  [lldb] Remove unused Version.h include in Telemetry.cpp (NFC)


  Commit: e5fcbfa2aa8291a57e5eb03cd458935b458c73c0
      https://github.com/llvm/llvm-project/commit/e5fcbfa2aa8291a57e5eb03cd458935b458c73c0
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add an option for editing enum trailing commas (#133576)

Also refactor the code that removes/replaces a token.


  Commit: 3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
      https://github.com/llvm/llvm-project/commit/3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
    M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
    M llvm/test/CodeGen/AArch64/pr58516.ll
    M llvm/test/CodeGen/AArch64/win-catchpad-nested-cxx.ll
    M llvm/test/CodeGen/AArch64/wineh-catchret-label-generation.ll
    M llvm/test/CodeGen/AArch64/wineh-try-catch.ll
    M llvm/test/CodeGen/Mips/ehframe-indirect.ll
    M llvm/test/CodeGen/Mips/indirect-jump-hazard/long-branch.ll
    M llvm/test/CodeGen/Mips/jtstat.ll
    M llvm/test/CodeGen/Mips/load-store-left-right.ll
    M llvm/test/CodeGen/Mips/longbranch.ll
    M llvm/test/CodeGen/Mips/mcount.ll
    M llvm/test/CodeGen/Mips/micromips-mtc-mfc.ll
    M llvm/test/CodeGen/Mips/mips16ex.ll
    M llvm/test/CodeGen/Mips/reloc-jalr.ll
    M llvm/test/CodeGen/Mips/shrink-wrapping.ll
    M llvm/test/CodeGen/Mips/unalignedload.ll
    M llvm/test/CodeGen/Mips/xray-mips-attribute-instrumentation.ll
    M llvm/test/CodeGen/X86/catchpad-reuse.ll
    M llvm/test/CodeGen/X86/dollar-name.ll
    M llvm/test/CodeGen/X86/seh-unwind-inline-asm-codegen.ll
    M llvm/test/CodeGen/X86/stack-coloring-wineh.ll
    M llvm/test/CodeGen/X86/win-catchpad-nested-cxx.ll
    M llvm/test/CodeGen/X86/win-catchpad.ll
    M llvm/test/CodeGen/X86/win-cleanuppad.ll
    M llvm/test/CodeGen/X86/win-funclet-cfi.ll
    M llvm/test/CodeGen/X86/win32-eh.ll
    M llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
    M llvm/test/CodeGen/X86/windows-seh-EHa-CppDtors01.ll
    M llvm/test/DebugInfo/COFF/jump-table.ll
    M llvm/test/MC/ARM/arm-branches.s
    M llvm/test/MC/AsmParser/dollars-in-identifiers.s
    M llvm/test/MC/MachO/dollar-identifier.s
    M llvm/test/MC/Mips/expansion-jal-sym-pic.s
    M llvm/test/MC/Mips/macro-div.s
    M llvm/test/MC/Mips/macro-divu.s
    M llvm/test/MC/Mips/macro-rem.s
    M llvm/test/MC/Mips/macro-remu.s
    M llvm/test/MC/Mips/mips-fpu-instructions.s
    M llvm/test/MC/Mips/mips1/valid.s
    M llvm/test/MC/Mips/mips2/valid.s
    M llvm/test/MC/Mips/mips32/valid.s
    M llvm/test/MC/Mips/mips32r2/valid.s
    M llvm/test/MC/Mips/mips32r3/valid.s
    M llvm/test/MC/Mips/mips32r5/valid.s
    M llvm/test/MC/Mips/mips32r6/valid.s
    M llvm/test/MC/Mips/mips64r6/valid.s
    M llvm/test/MC/Mips/mips_directives.s
    M llvm/test/MC/Mips/reloc-directive-label-offset.s

  Log Message:
  -----------
  [MC] Don't print () around $ names

This MIPS behavior from edb9d84dcc4824865e86f963e52d67eb50dde7f5 (2010)
is obsoleted and misleading. This caused confusion in
https://reviews.llvm.org/D123702 ([NVPTX] Disable parens for identifiers
starting with '$')

Note: $tmp was rejected by AsmParser before
https://reviews.llvm.org/D75111 (2020)


  Commit: 5b6386dcbd68d3f7c1ce98dd7acdd4477d5724ad
      https://github.com/llvm/llvm-project/commit/5b6386dcbd68d3f7c1ce98dd7acdd4477d5724ad
  Author: John Harrison <harjohn at google.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h

  Log Message:
  -----------
  [lldb-dap] Swapping to not use FLAG_ENUM and just defining typed enums. (#133622)

Small tweak to the previous patch to make the enums in
`lldb_dap::protocol` typed to work with types like `llvm::DenseSet`
found by ubsan.


  Commit: c9d90f15af0c5ed6ad5c5cd3aa988139a2cc34e4
      https://github.com/llvm/llvm-project/commit/c9d90f15af0c5ed6ad5c5cd3aa988139a2cc34e4
  Author: Roman Belenov <103195329+r-belenov at users.noreply.github.com>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PfmCounters.td
    M llvm/unittests/tools/llvm-exegesis/AArch64/TargetTest.cpp

  Log Message:
  -----------
  [Exegesis][AArch64] Use more generic cycles counter (#133376)

CPU_CYCLES counter does not work on some Aarch64 CPUs; CYCLES is more
generic and is equivalent to CPU_CYCLES in case the latter is supported.

Longer story - CPU_CYCLES work only on CPU models explicitly recognized
by libpfm4 ( via pfm_arm_detect_*() functions in
https://sourceforge.net/p/perfmon2/libpfm4/ci/master/tree/lib/pfmlib_arm_armv8.c
) and its name is consistent with ARM documentation. However, the
counter is architectural and is supported on all ARMv8 CPUs; libpfm4
recognizes generic PMU on unknown ARMv8 CPUs, but does not provide
CPU_CYCLES event. Instead, CYCLES is provided (an alias to
PERF_COUNT_HW_CPU_CYCLES). Physically, it is the same event with code
0x11. On supported architectures CYCLES also work, so the change should
not introduce regression.


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

  Changed paths:
    M llvm/include/llvm/Analysis/Lint.h
    M llvm/lib/Analysis/Lint.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Analysis/Lint/abort-on-error.ll
    M llvm/test/Analysis/Lint/const-store.ll

  Log Message:
  -----------
  Lint: Replace -lint-abort-on-error cl::opt with pass parameter (#132933)


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

  Changed paths:
    M llvm/include/llvm/CodeGen/TileShapeInfo.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVSymbol.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
    M llvm/lib/FileCheck/FileCheck.cpp
    M llvm/lib/ObjCopy/COFF/COFFReader.cpp
    M llvm/lib/ObjCopy/XCOFF/XCOFFReader.cpp
    M llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
    M llvm/lib/Support/CommandLine.cpp
    M llvm/lib/Support/Debug.cpp
    M llvm/lib/Support/SuffixTree.cpp
    M llvm/lib/TableGen/Record.cpp
    M llvm/utils/not/not.cpp

  Log Message:
  -----------
  [llvm] Use llvm::append_range (NFC) (#133658)


  Commit: 65734de9b93bef5b3211298b4fcc5dc79d18d31e
      https://github.com/llvm/llvm-project/commit/65734de9b93bef5b3211298b4fcc5dc79d18d31e
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

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

  Log Message:
  -----------
  [SLP] NFC. Remove the redundant MainOp and AltOp find process. (#133642)


  Commit: dad86f5931453ff3d14ba5adb93855ee780298b2
      https://github.com/llvm/llvm-project/commit/dad86f5931453ff3d14ba5adb93855ee780298b2
  Author: Lang Hames <lhames at apple.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

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

  Log Message:
  -----------
  [ORC] MapperJITLinkMemoryManager should deinitialize on abandon, not deallocate.

The JITLinkMemoryManager::InFlightAlloc::abandon method should only abandon
memory for the current allocation, not any other allocations. In
MapperJITLinkMemoryManager this corresponds to the deinitialize operation, not
the deallocate operation (which releases whole slabs of memory that may be
shared by many allocations).

No testcase: This was spotted by inspection. The failing program was linking
concurrently when one linker instance raised an error. Through the call to
abandon an entire underlying slab was deallocated, resulting in segfaults in
other concurrent links that were sharing that slab.


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

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Cleanup assembler predicates after #133377. (#133652)

Make isSImm12 look more like isUImm20LUI.
Move variables closer to their use.
Fold some function calls into if statements.


  Commit: 04a67528d303ac4be7943b2ae57222f9c9fd509a
      https://github.com/llvm/llvm-project/commit/04a67528d303ac4be7943b2ae57222f9c9fd509a
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/lib/MC/MCExpr.cpp
    M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
    M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
    M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
    M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
    M llvm/test/CodeGen/AMDGPU/multi-call-resource-usage-mcexpr.ll
    M llvm/test/CodeGen/AMDGPU/recursion.ll
    M llvm/test/CodeGen/AMDGPU/recursive-resource-usage-mcexpr.ll
    M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
    M llvm/test/CodeGen/AMDGPU/unnamed-function-resource-info.ll
    M llvm/test/CodeGen/ARM/GlobalISel/arm-isel-globals-pic.ll
    M llvm/test/CodeGen/ARM/GlobalISel/thumb-isel-globals-pic.ll
    M llvm/test/CodeGen/ARM/elf-preemption.ll
    M llvm/test/CodeGen/ARM/globals.ll
    M llvm/test/CodeGen/ARM/litpool-licm.ll
    M llvm/test/CodeGen/ARM/load-global.ll
    M llvm/test/CodeGen/ARM/load-global2.ll
    M llvm/test/CodeGen/ARM/plt-relative-reloc.ll
    M llvm/test/CodeGen/ARM/stack-guard-elf.ll
    M llvm/test/CodeGen/ARM/stack-guard-rwpi.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
    M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
    M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
    M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
    M llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
    M llvm/test/CodeGen/Thumb2/tpsoft.ll
    M llvm/test/CodeGen/X86/abi-isel.ll
    M llvm/test/CodeGen/X86/atomic-minmax-i6432.ll
    M llvm/test/CodeGen/X86/callbr-asm-instr-scheduling.ll
    M llvm/test/CodeGen/X86/inline-asm-i-constraint-i1.ll
    M llvm/test/CodeGen/X86/relptr-rodata.ll
    M llvm/test/CodeGen/X86/wineh-coreclr.ll
    M llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
    M llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
    M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
    M llvm/test/MC/AMDGPU/expressions.s
    M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
    M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
    M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
    M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
    M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
    M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
    M llvm/test/MC/AMDGPU/mcexpr_amd.s
    M llvm/test/MC/ARM/basic-arm-instructions.s
    M llvm/test/MC/ARM/elf-movt.s
    M llvm/test/MC/ARM/macho-word-reloc-thumb.s
    M llvm/test/MC/AVR/inst-brbc.s
    M llvm/test/MC/AVR/inst-brbs.s
    M llvm/test/MC/AVR/inst-brcc.s
    M llvm/test/MC/AVR/inst-brcs.s
    M llvm/test/MC/AVR/inst-breq.s
    M llvm/test/MC/AVR/inst-brge.s
    M llvm/test/MC/AVR/inst-brhc.s
    M llvm/test/MC/AVR/inst-brhs.s
    M llvm/test/MC/AVR/inst-brid.s
    M llvm/test/MC/AVR/inst-brie.s
    M llvm/test/MC/AVR/inst-brlo.s
    M llvm/test/MC/AVR/inst-brlt.s
    M llvm/test/MC/AVR/inst-brmi.s
    M llvm/test/MC/AVR/inst-brne.s
    M llvm/test/MC/AVR/inst-brpl.s
    M llvm/test/MC/AVR/inst-brsh.s
    M llvm/test/MC/AVR/inst-brtc.s
    M llvm/test/MC/AVR/inst-brts.s
    M llvm/test/MC/AVR/inst-brvc.s
    M llvm/test/MC/AVR/inst-brvs.s
    M llvm/test/MC/AVR/inst-rcall.s
    M llvm/test/MC/AVR/inst-rjmp.s
    M llvm/test/MC/AsmParser/directive_fill.s
    M llvm/test/MC/AsmParser/expr_symbol_modifiers.s
    M llvm/test/MC/COFF/cross-section-relative.ll
    M llvm/test/MC/ELF/reloc-directive.s
    M llvm/test/MC/Lanai/memory.s
    M llvm/test/MC/MachO/AArch64/cstexpr-gotpcrel.ll
    M llvm/test/MC/Mips/expr1.s
    M llvm/test/MC/Mips/memory-offsets.s
    M llvm/test/MC/PowerPC/ppc32-tls.s
    M llvm/test/MC/RISCV/rvi-pseudos.s
    M llvm/test/MC/SystemZ/insn-good-z196.s
    M llvm/test/MC/SystemZ/insn-good-zEC12.s
    M llvm/test/MC/SystemZ/insn-good.s
    M llvm/test/tools/llvm-objdump/MachO/ARM/symbolized-disassembly.test
    M llvm/test/tools/llvm-objdump/MachO/ARM/symbolized-subtractor.test

  Log Message:
  -----------
  [MC] Simplify MCBinaryExpr/MCUnaryExpr printing by reducing parentheses (#133674)

The existing pretty printer generates excessive parentheses for
MCBinaryExpr expressions. This update removes unnecessary parentheses
of MCBinaryExpr with +/- operators and MCUnaryExpr.
Since relocatable expressions only use + and -, this change improves
readability in most cases.

Examples:

- (SymA - SymB) + C now prints as SymA - SymB + C.
  This updates the output of -fexperimental-relative-c++-abi-vtables for
  AArch64 and x86 to `.long _ZN1B3fooEv at PLT-_ZTV1B-8`
- expr + (MCTargetExpr) now prints as expr + MCTargetExpr, with this
  change primarily affecting AMDGPUMCExpr.


  Commit: c6b3fd799962577488a0ecbdac806f4753e14d3c
      https://github.com/llvm/llvm-project/commit/c6b3fd799962577488a0ecbdac806f4753e14d3c
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-30 (Sun, 30 Mar 2025)

  Changed paths:
    M llvm/lib/MC/MCParser/ELFAsmParser.cpp
    M llvm/test/MC/ELF/gnu-type-diagnostics.s

  Log Message:
  -----------
  [MC] maybeParseSectionType: test CommentString instead of AllowAtInIdentifier

Rework https://reviews.llvm.org/D31026
AllowAtInIdentifier is a misnomer: it should be false for ELF targets,
but is currently true as a hack to parse expr at specifier.


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

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

  Log Message:
  -----------
  [RISCV] Fix the operand types for shift instructions in RISCVInstrInfoSFB.td. NFC

Due to a copy paste mistake we used simm12 instead of the correct
type. This doesn't matter in practice because we only generate these
instructions with C++ code and we expand them before the AsmPrinter.


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

  Changed paths:
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [clang] Use DenseMap::insert_range (NFC) (#133655)


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

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

  Log Message:
  -----------
  [Vectorize] Use DenseMap::insert_range (NFC) (#133656)


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

  Changed paths:
    M polly/include/polly/CodeGen/IRBuilder.h
    M polly/lib/CodeGen/BlockGenerators.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp

  Log Message:
  -----------
  [polly] Use DenseMap::insert_range (NFC) (#133657)


  Commit: d63cc4c87689a79d25521c9aa2ce4a335e5984e3
      https://github.com/llvm/llvm-project/commit/d63cc4c87689a79d25521c9aa2ce4a335e5984e3
  Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/Store.cpp
    M clang/test/Analysis/ArrayBound/assumption-reporting.c
    A clang/test/Analysis/lvalue_elements.c

  Log Message:
  -----------
  [analyzer] Unknown array lvalue element in Store (#133381)

Remove the early return for BaseRegions of type ElementRegion. Return
meaningful MemRegionVal for these cases as well.
Previous discussion:
https://discourse.llvm.org/t/lvalueelement-returns-unknownval-for-multi-dimensional-arrays/85476


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll

  Log Message:
  -----------
  [VPlan] Support early-exit loops in optimizeForVFAndUF. (#131539)

Update optimizeForVFAndUF to support early-exit loops by handling
BranchOnCond(Or(..., CanonicalIV == TripCount)) via SCEV

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


  Commit: 842b57b77520abf202999946d3bb01b5dcabb179
      https://github.com/llvm/llvm-project/commit/842b57b77520abf202999946d3bb01b5dcabb179
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/VTableBuilder.h
    M clang/include/clang/Basic/ABI.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
    M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
    A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
    M clang/test/CodeGenCXX/vtable-consteval.cpp
    M clang/test/Modules/vtable-windows.cppm
    M clang/test/Profile/cxx-abc-deleting-dtor.cpp

  Log Message:
  -----------
  Reland [MS][clang] Add support for vector deleting destructors (#133451)

Whereas it is UB in terms of the standard to delete an array of objects
via pointer whose static type doesn't match its dynamic type, MSVC
supports an extension allowing to do it.
Aside from array deletion not working correctly in the mentioned case,
currently not having this extension implemented causes clang to generate
code that is not compatible with the code generated by MSVC, because
clang always puts scalar deleting destructor to the vftable. This PR
aims to resolve these problems.

It was reverted due to link time errors in chromium with sanitizer
coverage enabled,
which is fixed by https://github.com/llvm/llvm-project/pull/131929 .

The second commit of this PR also contains a fix for a runtime failure
in chromium reported
in
https://github.com/llvm/llvm-project/pull/126240#issuecomment-2730216384
.

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


  Commit: 5c65a321778b99f745d193629975fb6ced34fe07
      https://github.com/llvm/llvm-project/commit/5c65a321778b99f745d193629975fb6ced34fe07
  Author: MingYan <99472920+NexMing at users.noreply.github.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
    M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare.ll

  Log Message:
  -----------
  [RISCV] Vectorize phi for loop carried @llvm.vp.reduce.* (#131974)

LLVM vector predication reduction intrinsics return a scalar result, but
on RISC-V vector reduction instructions write the result in the first
element of a vector register. So when a reduction in a loop uses a
scalar phi, we end up with unnecessary scalar moves:
```asm
loop:
    vmv.s.x v8, zero
    vredsum.vs v8, v10, v8
    vmv.x.s a0, v8
````
This mainly affects vector predication reduction. This tries to
vectorize any scalar phis that feed into a vector predication reduction
in RISCVCodeGenPrepare, converting:
```llvm
vector.body:
%red.phi = phi i32 [ ..., %entry ], [ %red, %vector.body ]
%red = tail call i32 @llvm.vp.reduce.add.nxv4i32(i32 %red.phi, <vscale x 4 x i32> %wide.load, <vscale x 4 x i1> splat (i1 true), i32 %evl)
```
to
```llvm
vector.body:
%red.phi = phi <vscale x 2 x i32> [ ..., %entry ], [ %acc.vec, %vector.body]
%phi.scalar = extractelement <vscale x 2 x i32> %red.phi, i64 0
%acc = tail call i32 @llvm.vp.reduce.add.nxv4i32(i32 %phi.scalar, <vscale x 4 x i32> %wide.load, <vscale x 4 x i1> splat (i1 true), i32 %evl)
%acc.vec = insertelement <vscale x 2 x i32> poison, float %acc, i64 0
```
Which eliminates the scalar -> vector -> scalar crossing during
instruction selection.

---------

Co-authored-by: yanming <ming.yan at terapines.com>


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

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/include/lldb/Target/RegisterContextUnwind.h
    M lldb/source/Symbol/UnwindPlan.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp

  Log Message:
  -----------
  [lldb] Make GetRowForFunctionOffset compatible with discontinuous functions (#133250)

The function had special handling for -1, but that is incompatible with
functions whose entry point is not the first address. Use std::nullopt
instead.


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

  Changed paths:
    M lld/ELF/Arch/LoongArch.cpp
    A lld/test/ELF/loongarch-relax-tlsdesc.s

  Log Message:
  -----------
  [lld][LoongArch] Relax TLSDESC code sequence (#123677)

Relax TLSDESC code sequence.

Original code sequence:
  * pcalau12i  $a0, %desc_pc_hi20(sym_desc)
  * addi.d     $a0, $a0, %desc_pc_lo12(sym_desc)
  * ld.d       $ra, $a0, %desc_ld(sym_desc)
  * jirl       $ra, $ra, %desc_call(sym_desc)

Cannot convert to LE/IE, but relax:
  * pcaddi     $a0, %desc_pcrel_20(sym_desc)
  * ld.d       $ra, $a0, %desc_ld(sym_desc)
  * jirl       $ra, $ra, %desc_call(sym_desc)

TODO: The transition from TLSDESC GD/LD to IE/LE will implement in a
future patch.


  Commit: 1dee12531d6070170ed1e90a654b744d365cc56e
      https://github.com/llvm/llvm-project/commit/1dee12531d6070170ed1e90a654b744d365cc56e
  Author: Frank Schlimbach <frank.schlimbach at intel.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/MPI/IR/MPI.td
    M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
    M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
    A mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
    R mlir/test/Conversion/MPIToLLVM/ops.mlir
    A mlir/test/Dialect/MPI/mpiops.mlir
    R mlir/test/Dialect/MPI/ops.mlir

  Log Message:
  -----------
  [mlir][mpi] Lowering MPI_Allreduce (#133133)

Lowering of mpi.all_reduce to LLVM function call


  Commit: 606e0b4806b92481e8be35f4e0cfccd0074c6ee7
      https://github.com/llvm/llvm-project/commit/606e0b4806b92481e8be35f4e0cfccd0074c6ee7
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    A llvm/test/CodeGen/AArch64/arm64ec-alias.ll
    M llvm/test/CodeGen/AArch64/dllexport.ll

  Log Message:
  -----------
  [ARM64EC] Add support for function aliases on ARM64EC (#132295)

Required for mingw-w64, which uses the alias attribute in its CRT.

Follows ARM64EC mangling rules by mangling the alias symbol and emitting
an unmangled anti-dependency alias. Since metadata is not allowed on
GlobalAlias objects, extend arm64ec_unmangled_name to support multiple
unmangled names and attach the alias anti-dependency name to the target
function's metadata.


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

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/Delta.cpp

  Log Message:
  -----------
  llvm-reduce: Use 80 dashes for section separator in status printing (#133686)


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

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll
    M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll

  Log Message:
  -----------
  [LV]Split store-load forward distance analysis from other checks, NFC (#121156)

The patch splits the store-load forwarding distance analysis from other
dependency analysis in LAA. Currently it supports only power-of-2
distances, required to support non-power-of-2 distances in future.

Part of #100755


  Commit: f4d25c498a20d73b9d3e4828023486a7b2591f38
      https://github.com/llvm/llvm-project/commit/f4d25c498a20d73b9d3e4828023486a7b2591f38
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll

  Log Message:
  -----------
  [LV][NFC] Regenerate some SVE tests using --filter-out-after option (#132174)

I recently added a new option to update_test_checks.py that can
filter out all CHECK lines after a certain point. We usually don't
care about checking for the original scalar loop after the vector
loop because it doesn't change. Cutting out unnecessary CHECK
lines makes the files smaller and hopefully the tests run quicker.


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

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

  Log Message:
  -----------
  [X86] combineINSERT_SUBVECTOR - pull out common variables. NFC. (#133705)

Reduces diff for an updated version of #133083


  Commit: 2e54b4f9ea3fb7e83b5fc5fe19235ea82f0d4549
      https://github.com/llvm/llvm-project/commit/2e54b4f9ea3fb7e83b5fc5fe19235ea82f0d4549
  Author: David Green <david.green at arm.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

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

  Log Message:
  -----------
  [ARM] Silence signed comparison warning. NFC

After f4ec179bf5295f92aa0346392a58fad54f9b458e, AbsImm is no longer signed and cannot be < 0.


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

  Changed paths:
    A llvm/test/CodeGen/AArch64/bitcast-extend.ll

  Log Message:
  -----------
  [AArch64] Add bitcast + extend tests. NFC


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.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-7.ll

  Log Message:
  -----------
  [DAG] visitEXTRACT_SUBVECTOR - don't return early on failure of EXTRACT_SUBVECTOR(INSERT_SUBVECTOR()) -> BITCAST fold (#133695)

Always allow later folds to try to match as well.


  Commit: cb54026d92191e347629265d4082f5cc2cc28020
      https://github.com/llvm/llvm-project/commit/cb54026d92191e347629265d4082f5cc2cc28020
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/unittests/Format/FormatTestVerilog.cpp

  Log Message:
  -----------
  [clang-format] Recognize wait fork in Verilog (#132042)

before

```Verilog
wait fork
  ;
  wait fork
    ;
    wait fork
      ;
```

after

```Verilog
wait fork;
wait fork;
wait fork;
```

The `wait fork` statement should not start a block. Previously the
formatter treated the `fork` part as the start of a new block. Now the
problem is fixed.


  Commit: ab7cee8a0ecf29fdb47c64c8d431a694d63390d2
      https://github.com/llvm/llvm-project/commit/ab7cee8a0ecf29fdb47c64c8d431a694d63390d2
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestJava.cpp

  Log Message:
  -----------
  [clang-format] Handle C++ keywords in other languages better (#132941)

There is some code to make sure that C++ keywords that are identifiers
in the other languages are not treated as keywords.  Right now, the kind
is set to identifier, and the identifier info is cleared.  The latter is
probably so that the code for identifying C++ structures does not
recognize those structures by mistake when formatting a language that
does not have those structures.  But we did not find an instance where
the language can have the sequence of tokens, the code tries to parse
the structure as if it is C++ using the identifier info instead of the
token kind, but without checking for the language setting.  However,
there are places where the code checks whether the identifier info field
is null or not.  They are places where an identifier and a keyword are
treated the same way.  For example, the name of a function in
JavaScript.  This patch removes the lines that clear the identifier
info.  This way, a C++ keyword gets treated in the same way as an
identifier in those places.

JavaScript

New

```JavaScript
async function
union(
    myparamnameiswaytooloooong) {
}
```

Old

```JavaScript
async function
    union(
        myparamnameiswaytooloooong) {
}
```

Java

New

```Java
enum union { ABC, CDE }
```

Old

```Java
enum
union { ABC, CDE }
```


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

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/SemaCXX/ms_struct.cpp
    M clang/test/SemaCXX/offsetof-0x.cpp
    M clang/test/SemaCXX/offsetof.cpp

  Log Message:
  -----------
  [clang][Sema] Fix typo in 'offsetof' diagnostics (#133448)

Before:
```
offset of on non-POD type
```
After:
```
offsetof on non-POD type
```

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


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

  Changed paths:
    A llvm/test/CodeGen/X86/insert-subvector-broadcast.ll

  Log Message:
  -----------
  [X86] Add regression test for insert_subvector(x,extract_subvector(broadcast)) pattern identified in #133083

Infinite loop check


  Commit: 8d69e953b5a894c215b0cff7c6b0687b2b492318
      https://github.com/llvm/llvm-project/commit/8d69e953b5a894c215b0cff7c6b0687b2b492318
  Author: Stefan Pintilie <pintilie at synopsys.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll

  Log Message:
  -----------
  [RISCV] Add combine for shadd family of instructions. (#130829)

For example for the following situation:
  %6:gpr = SLLI %2:gpr, 2
  %7:gpr = ADDI killed %6:gpr, 24
  %8:gpr = ADD %0:gpr, %7:gpr

If we swap the two add instrucions we can merge the shift and add. The
final code will look something like this:
  %7 = SH2ADD %0, %2
  %8 = ADDI %7, 24


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/test/Driver/x86-target-features.c

  Log Message:
  -----------
  [X86][AVX10] Re-target mavx10.1 and emit warning for mavx10.x-256/512 and m[no-]evex512 (#132542)

The 256-bit maximum vector register size control was removed from AVX10
whitepaper, ref: https://cdrdv2.intel.com/v1/dl/getContent/784343

- Re-target m[no-]avx10.1 to enable AVX10.1 with 512-bit maximum vector
register size;
- Emit warning for mavx10.x-256, noting AVX10/256 is not supported;
- Emit warning for mavx10.x-512, noting to use m[no-]avx10.x instead;
- Emit warning for m[no-]evex512, noting AVX10/256 is not supported;

This patch only changes Clang driver behavior. The features
avx10.x-256/512 keep unchanged and will be removed in the next release.


  Commit: 8078665bca1e16e33a09aea0310102077d429ada
      https://github.com/llvm/llvm-project/commit/8078665bca1e16e33a09aea0310102077d429ada
  Author: Tejas Vipin <alissxlace at proton.me>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/math/index.rst
    M libc/include/math.yaml
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/cast.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/hypotf16.cpp
    A libc/src/math/hypotf16.h
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/HypotTest.h
    M libc/test/src/math/exhaustive/CMakeLists.txt
    A libc/test/src/math/exhaustive/hypotf16_test.cpp
    A libc/test/src/math/hypotf16_test.cpp
    M libc/test/src/math/performance_testing/CMakeLists.txt
    A libc/test/src/math/performance_testing/hypotf16_perf.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/hypotf16_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add hypotf16 function (#131991)

Implement hypot for Float16 along with tests.


  Commit: a61cc1b99a50d832c650132cc9956320bfe594f5
      https://github.com/llvm/llvm-project/commit/a61cc1b99a50d832c650132cc9956320bfe594f5
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    A llvm/test/CodeGen/AMDGPU/dpp_combine-true16.mir
    M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
    A llvm/test/CodeGen/AMDGPU/vopc_dpp-true16.mir

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] Skip combineDpp with t16 instructions (#128918)

We only emits v_mov_b32/64_dpp. Don't combine t16 instructions with mov
dpp. Update the test inputs to be legal.

It is future work to emit v_mov_b16_dpp, and then update GCNDPPCombine
to combine it with the 16-bit instructions.


  Commit: 4007de00a0574141695ace7a8d34aaf740a2c2e4
      https://github.com/llvm/llvm-project/commit/4007de00a0574141695ace7a8d34aaf740a2c2e4
  Author: Devon Loehr <DKLoehr at users.noreply.github.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
    M clang/test/CXX/class/p2-0x.cpp
    M clang/test/SemaCXX/MicrosoftExtensions.cpp
    M clang/test/SemaCXX/warn-final-dtor-non-final-class.cpp
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  Enable unnecessary-virtual-specifier by default (#133265)

This turns on the unnecessary-virtual-specifier warning in general, but
disables it when building LLVM. It also tweaks the warning description
to be slightly more accurate.

Background: I've been working on cleaning up this warning in two
codebases: LLVM and chromium (plus its dependencies). The chromium
cleanup has been straightforward. Git archaeology shows that there are
two reasons for the warnings: classes to which `final` was added after
they were initially committed, and classes with virtual destructors that
nobody remarks on. Presumably the latter case is because people are just
very used to destructors being virtual.

The LLVM cleanup was more surprising: I discovered that we have an [old
policy](https://llvm.org/docs/CodingStandards.html#provide-a-virtual-method-anchor-for-classes-in-headers)
about including out-of-line virtual functions in every class with a
vtable, even `final` ones. This means our codebase has many virtual
"anchor" functions which do nothing except control where the vtable is
emitted, and which trigger the warning. I looked into alternatives to
satisfy the policy, such as using destructors instead of introducing a
new function, but it wasn't clear if they had larger implications.

Overall, it seems like the warning is genuinely useful in most codebases
(evidenced by chromium and its dependencies), and LLVM is an unusual
case. Therefore we should enable the warning by default, and turn it off
only for LLVM builds.


  Commit: 68947342b75cc71f3ac9041d11db086d8d074336
      https://github.com/llvm/llvm-project/commit/68947342b75cc71f3ac9041d11db086d8d074336
  Author: Tom Tromey <tromey at adacore.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/include/llvm/IR/Metadata.def
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfoMetadata.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/Bitcode/fixedpoint_type.ll
    M llvm/unittests/IR/DebugInfoTest.cpp

  Log Message:
  -----------
  Add support for fixed-point types (#129596)

This adds DWARF generation for fixed-point types. This feature is needed
by Ada.

Note that a pre-existing GNU extension is used in one case. This has
been emitted by GCC for years, and is needed because standard DWARF is
otherwise incapable of representing these types.


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

  Changed paths:
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/CodeGen/SafeStack.cpp
    M llvm/lib/CodeGen/StackProtector.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/MVETailPredication.cpp
    M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/lib/Target/X86/X86WinEHState.cpp
    M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
    M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/KCFI.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Utils/GuardUtils.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  [IRBuilder] Add new overload for CreateIntrinsic (#131942)

Add a new `CreateIntrinsic` overload with no `Types`, useful for
creating calls to non-overloaded intrinsics that don't need additional
mangling.


  Commit: 50949ebf523cc09cc911a12691fb79b6ac97102a
      https://github.com/llvm/llvm-project/commit/50949ebf523cc09cc911a12691fb79b6ac97102a
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    A lldb/bindings/interface/SBMutexExtensions.i
    M lldb/bindings/interfaces.swig
    M lldb/include/lldb/API/LLDB.h
    M lldb/include/lldb/API/SBDefines.h
    A lldb/include/lldb/API/SBMutex.h
    M lldb/include/lldb/API/SBTarget.h
    M lldb/source/API/CMakeLists.txt
    A lldb/source/API/SBMutex.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/test/API/python_api/target/TestTargetAPI.py
    M lldb/unittests/API/CMakeLists.txt
    A lldb/unittests/API/SBMutexTest.cpp

  Log Message:
  -----------
  [lldb] Expose the Target API mutex through the SB API (#133295)

Expose u target API mutex through the SB API. This is motivated by
lldb-dap, which is built on top of the SB API and needs a way to execute
a series of SB API calls in an atomic manner (see #131242).

We can solve this problem by either introducing an additional layer of
locking at the DAP level or by exposing the existing locking at the SB
API level. This patch implements the second approach.

This was discussed in an RFC on Discourse [0]. The original
implementation exposed a move-only lock rather than a mutex [1] which
doesn't work well with SWIG 4.0 [2]. This implement the alternative
solution of exposing the mutex rather than the lock. The SBMutex
conforms to the BasicLockable requirement [3] (which is why the methods
are called `lock` and `unlock` rather than Lock and Unlock) so it can be
used as `std::lock_guard<lldb::SBMutex>` and
`std::unique_lock<lldb::SBMutex>`.

[0]: https://discourse.llvm.org/t/rfc-exposing-the-target-api-lock-through-the-sb-api/85215/6
[1]: https://github.com/llvm/llvm-project/pull/131404
[2]: https://discourse.llvm.org/t/rfc-bumping-the-minimum-swig-version-to-4-1-0/85377/9
[3]: https://en.cppreference.com/w/cpp/named_req/BasicLockable


  Commit: 945c494e2c3c078e26ff521ef3e9455e0ff764ac
      https://github.com/llvm/llvm-project/commit/945c494e2c3c078e26ff521ef3e9455e0ff764ac
  Author: Yuval Deutscher <yuvald at sweet.security>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M lldb/tools/lldb-server/lldb-platform.cpp

  Log Message:
  -----------
  [lldb] Use correct path for lldb-server executable (#131519)

Hey,

This solves an issue where running lldb-server-20 with a non-absolute
path (for example, when it's installed into `/usr/bin` and the user runs
it as `lldb-server-20 ...` and not `/usr/bin/lldb-server-20 ...`) fails
with `error: spawn_process failed: execve failed: No such file or
directory`. The underlying issue is that when run that way, it attempts
to execute a binary named `lldb-server-20` from its current directory.
This is also a mild security hazard because lldb-server is often being
run as root in the directory /tmp, meaning that an unprivileged user can
create the file /tmp/lldb-server-20 and lldb-server will execute it as
root. (although, well, it's a debugging server we're talking about, so
that may not be a real concern)

I haven't previously contributed to this project; if you want me to
change anything in the code please don't hesitate to let me know.


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

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 50949ebf523c


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll

  Log Message:
  -----------
  [LV] Regen a test with UTC (#133432)


  Commit: bd862a459d75ef137235853c994dea97a0bc7794
      https://github.com/llvm/llvm-project/commit/bd862a459d75ef137235853c994dea97a0bc7794
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td

  Log Message:
  -----------
  [AMDGPU] Add subtarget feature for v_lshl_add_u64. NFC. (#133723)


  Commit: 799e9053641a6478d3144866a97737b37b87c260
      https://github.com/llvm/llvm-project/commit/799e9053641a6478d3144866a97737b37b87c260
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Core/Progress.h
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp

  Log Message:
  -----------
  [lldb] Create a default rate limit constant in Progress (NFC) (#133506)

In #133211, Greg suggested making the rate limit configurable through a
setting. Although adding the setting is easy, the two places where we
currently use rate limiting aren't tied to a particular debugger.
Although it'd be possible to hook up, given how few progress events
currently implement rate limiting, I don't think it's worth threading
this through, if that's even possible.

I still think it's a good idea to be consistent and make it easy to pick
the same rate limiting value, so I've moved it into a constant in the
Progress class.


  Commit: ea06f7f96fb1ce5a77439cf1a26f97c2f2488648
      https://github.com/llvm/llvm-project/commit/ea06f7f96fb1ce5a77439cf1a26f97c2f2488648
  Author: Paul Bowen-Huggett <paulhuggett at mac.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    A llvm/test/MC/Disassembler/RISCV/c_slli.txt

  Log Message:
  -----------
  [RISCV] For RV32C, disassembly of c.slli should fail when immediate > 31 (#133713)

Fixes #133712.

The change causes `c.slli` instructions whose immediate has bit 5 set to
be rejected when disassembling RV32C. Added a test to exhaustively cover
c.slli for 32 bit targets. A minor tweak to make the debug output a
little more readable.

The spec. (20240411) says:

> For RV32C, shamt[5] must be zero; the code points with shamt[5]=1 are
designated for custom extensions. For RV32C and RV64C, the shift amount
must be non-zero; the code points with shamt=0 are HINTs. For all base
ISAs, the code points with rd=x0 are HINTs, except those with shamt[5]=1
in RV32C.


  Commit: 3fd0eaae52503ee2bbdffc75753acc4bcc72fe60
      https://github.com/llvm/llvm-project/commit/3fd0eaae52503ee2bbdffc75753acc4bcc72fe60
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M libclc/amdgpu/lib/SOURCES
    A libclc/amdgpu/lib/math/native_exp2.cl

  Log Message:
  -----------
  [libclc][amdgpu] Implement native_exp2 via AMD builtin (#133696)

This came up during a discussion on #129679, which has been split out as
a preparatory commit.

An example of the AMDGPU codegen is:

    define <2 x float> @_Z10native_expDv2_f(<2 x float> %val) {
      %mul = fmul afn <2 x float> %val, splat (float 0x3FF7154760000000)
      %0 = extractelement <2 x float> %mul, i64 0
      %1 = tail call float @llvm.amdgcn.exp2.f32(float %0)
      %vecinit.i = insertelement <2 x float> poison, float %1, i64 0
      %2 = extractelement <2 x float> %mul, i64 1
      %3 = tail call float @llvm.amdgcn.exp2.f32(float %2)
%vecinit2.i = insertelement <2 x float> %vecinit.i, float %3, i64 1
      ret <2 x float> %vecinit2.i
    }

    define <2 x float> @_Z11native_exp2Dv2_f(<2 x float> %x) {
      %0 = extractelement <2 x float> %x, i64 0
      %1 = tail call float @llvm.amdgcn.exp2.f32(float %0)
      %vecinit = insertelement <2 x float> poison, float %1, i64 0
      %2 = extractelement <2 x float> %x, i64 1
      %3 = tail call float @llvm.amdgcn.exp2.f32(float %2)
      %vecinit2 = insertelement <2 x float> %vecinit, float %3, i64 1
      ret <2 x float> %vecinit2
    }


  Commit: 87602f6d03ada10d0de7f1440320ffec4eb86790
      https://github.com/llvm/llvm-project/commit/87602f6d03ada10d0de7f1440320ffec4eb86790
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M libclc/clc/include/clc/math/tables.h
    M libclc/clc/lib/generic/math/clc_log_base.h

  Log Message:
  -----------
  [libclc] Fix unresolved reference to missing table (#133691)

Splitting the 'ln_tbl' into two in db98e292 wasn't done thoroughly
enough as some references to the old table still remained. This commit
fixes the unresolved references by updating to the new split table.


  Commit: c180e249d0013474d502cd779ec65b33cf7e9468
      https://github.com/llvm/llvm-project/commit/c180e249d0013474d502cd779ec65b33cf7e9468
  Author: 3405691582 <dsk at google.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

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

  Log Message:
  -----------
  Fix crash lowering stack guard on OpenBSD/aarch64. (#125416)

TargetLoweringBase::getIRStackGuard refers to a platform-specific guard
variable. Before this change, TargetLoweringBase::getSDagStackGuard only
referred to a different variable.

This means that SelectionDAGBuilder's getLoadStackGuard does not get
memory operands. However, AArch64InstrInfo::expandPostRAPseudo assumes
that the passed MachineInstr has nonzero memoperands, causing a
segfault.

We have two possible options here: either disabling the LOAD_STACK_GUARD
node entirely in AArch64TargetLowering::useLoadStackGuardNode or just
making the platform-specific values match across TargetLoweringBase.
Here, we try the latter.


  Commit: 66b0b0466bbd995146aadaf2cd18de5476c19941
      https://github.com/llvm/llvm-project/commit/66b0b0466bbd995146aadaf2cd18de5476c19941
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M mlir/include/mlir-c/Rewrite.h
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
    M mlir/include/mlir/IR/AsmState.h
    M mlir/include/mlir/IR/BuiltinAttributes.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/CommonAttrConstraints.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/include/mlir/IR/EnumAttr.td
    M mlir/include/mlir/IR/OpDefinition.h
    M mlir/include/mlir/IR/Properties.td
    M mlir/include/mlir/IR/TypeRange.h
    M mlir/include/mlir/IR/ValueRange.h
    M mlir/include/mlir/Interfaces/SideEffectInterfaces.td
    M mlir/include/mlir/Pass/PassOptions.h
    M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
    M mlir/include/mlir/Tools/PDLL/AST/Types.h
    M mlir/lib/Analysis/CallGraph.cpp
    M mlir/lib/AsmParser/AsmParserState.cpp
    M mlir/lib/AsmParser/Parser.cpp
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
    M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
    M mlir/lib/CAPI/Transforms/Rewrite.cpp
    M mlir/lib/Conversion/PDLToPDLInterp/Predicate.cpp
    M mlir/lib/Conversion/PDLToPDLInterp/Predicate.h
    M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/IR/BuiltinAttributes.cpp
    M mlir/lib/IR/BuiltinDialectBytecode.cpp
    M mlir/lib/IR/OperationSupport.cpp
    M mlir/lib/IR/PDL/PDLPatternMatch.cpp
    M mlir/lib/IR/PatternMatch.cpp
    M mlir/lib/IR/SymbolTable.cpp
    M mlir/lib/IR/TypeRange.cpp
    M mlir/lib/IR/ValueRange.cpp
    M mlir/lib/Pass/PassRegistry.cpp
    M mlir/lib/Rewrite/ByteCode.cpp
    M mlir/lib/TableGen/CodeGenHelpers.cpp
    M mlir/lib/Tools/PDLL/AST/Nodes.cpp
    M mlir/lib/Tools/PDLL/AST/Types.cpp
    M mlir/lib/Tools/PDLL/Parser/Parser.cpp
    M mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
    M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
    M mlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/lib/Transforms/Utils/Inliner.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    M mlir/test/lib/Dialect/Test/TestEnumDefs.td
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/mlir-tblgen/op-format-invalid.td
    M mlir/test/mlir-tblgen/op-format-spec.td
    M mlir/test/mlir-tblgen/op-format.td
    M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
    M mlir/tools/mlir-tblgen/FormatGen.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [MLIR][NFC] Fix incomplete boundary comments. (#133516)

I observed that we have the boundary comments in the codebase like:

```
//===----------------------------------------------------------------------===//
// ...
//===----------------------------------------------------------------------===//
```

I also observed that there are incomplete boundary comments. The
revision is generated by a script that completes the boundary comments.

```
//===----------------------------------------------------------------------===//
// ...

...
```

Signed-off-by: hanhanW <hanhan0912 at gmail.com>


  Commit: 94b04b411903e97bd228c6bdbdb845c29f6de6a1
      https://github.com/llvm/llvm-project/commit/94b04b411903e97bd228c6bdbdb845c29f6de6a1
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Utility/LLDBAssert.cpp

  Log Message:
  -----------
  [lldb] Include the version in the lldbassert error message (#133740)

Include the LLDB version in the lldbassert error message, and prompt
users to include it in the bug report. The majority of users that bother
filing a bug report just copy past the stack trace and often forget to
include this important detail. By putting it after the backtrace and
before the prompt, I'm hoping it'll get copy-pasted in.

rdar://146793016


  Commit: c5b3fe209408c89c1ca21f103a8fd45fb48c3138
      https://github.com/llvm/llvm-project/commit/c5b3fe209408c89c1ca21f103a8fd45fb48c3138
  Author: Alan Zhao <ayzhao at google.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGen/2003-08-20-vfork-bug.c
    M clang/test/CodeGen/setjmp.c

  Log Message:
  -----------
  [clang] Automatically add the `returns_twice` attribute to certain functions even if `-fno-builtin` is set (#133511)

Certain functions require the `returns_twice` attribute in order to
produce correct codegen. However, `-fno-builtin` removes all knowledge
of functions that require this attribute, so this PR modifies Clang to
add the `returns_twice` attribute even if `-fno-builtin` is set. This
behavior is also consistent with what GCC does.

It's not (easily) possible to get the builtin information from
`Builtins.td` because `-fno-builtin` causes Clang to never initialize
any builtins, so functions never get tokenized as functions/builtins
that require `returns_twice`. Therefore, the most straightforward
solution is to explicitly hard code the function names that require
`returns_twice`.

Fixes #122840


  Commit: 9cdab16da99ad9fdb823853fbc634008229e284f
      https://github.com/llvm/llvm-project/commit/9cdab16da99ad9fdb823853fbc634008229e284f
  Author: David Green <david.green at arm.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/shuffle-transpose.ll
    M llvm/test/Analysis/CostModel/AArch64/vector-select.ll

  Log Message:
  -----------
  [AArch64] Remove CODE llc run lines from costmodel tests. NFC

The code is already tested in CodeGen/AArch64 tests such as neon-perm.ll and
the select- tests.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    A clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
    R clang/test/AST/ByteCode/codegen-mutable-read.cpp

  Log Message:
  -----------
  [clang][bytecode] Reject constexpr-unknown values from comparisons (#133701)


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

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

  Log Message:
  -----------
  [clang][bytecode] Return Invalid() on non-constexpr builtins (#133700)

So the diagnostic output matches with the current interpreter


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

  Changed paths:
    M lldb/source/Core/PluginManager.cpp

  Log Message:
  -----------
  [lldb] Remove raw access to PluginInstances vector (#132884)

Remove raw access to PluginInstances vector

This commit modifies the PluginInstances class to remove direct access
to the m_instances vector. Instead, we expose a new `GetSnapshot` method
that returns a copy of the current state of the instances vector.  All
external iteration over the instances is updated to use the new method.

The motivation for the change is to allow modifying the way we store
instances without having to change all the clients. This is a
preliminary change to allow enabling/disabling of plugins in which case
we want to iterate over only enabled plugins.

We also considered using a custom iterator that wraps the vector
iterator and can skip over disabled instances. That works, but the
iterator code is a bit messy with all template and typedefs to make a
compliant iterator.


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h

  Log Message:
  -----------
  [CIR][NFC] Fix warnings in ClangIR code (#133134)

This fixes unused variable warnings that have crept into the ClangIR
code. In some cases the variable will be needed later, but all unused
variables are being removed here. They can be reintroduced when they are
needed.


  Commit: dcc2faecd8aebc64eb541aebe0005ecceffef558
      https://github.com/llvm/llvm-project/commit/dcc2faecd8aebc64eb541aebe0005ecceffef558
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
    M clang/test/CodeGenHLSL/cbuffer.hlsl

  Log Message:
  -----------
  [HLSL] Fix codegen to support classes in `cbuffer` (#132828)

Fixes #132309


  Commit: 42d1a1cb849195304dc93004f5808ef82904cd89
      https://github.com/llvm/llvm-project/commit/42d1a1cb849195304dc93004f5808ef82904cd89
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp

  Log Message:
  -----------
  [WebAssembly] Fix signatures of frexpf family of libcalls (#133289)

Fixes: https://github.com/emscripten-core/emscripten/issues/23997


  Commit: 8b06da16827829c9b142f591303d3c66aab926b9
      https://github.com/llvm/llvm-project/commit/8b06da16827829c9b142f591303d3c66aab926b9
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir

  Log Message:
  -----------
  [mlir][memref] Improve runtime verification for `memref.subview` (#132545)

This commit addresses a TODO in the runtime verification of
`memref.subview`. Each dimension is now verified: the offset must be
in-bounds and the slice must not run out-of-bounds.

This commit aligns runtime verification with static op verification
(which was improved in #133086).


  Commit: e4b9486056fab7a262fdafbe70acf393c9767d12
      https://github.com/llvm/llvm-project/commit/e4b9486056fab7a262fdafbe70acf393c9767d12
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
    M clang/include/clang/Lex/LexHLSLRootSignature.h
    A clang/include/clang/Parse/ParseHLSLRootSignature.h
    M clang/lib/Parse/CMakeLists.txt
    A clang/lib/Parse/ParseHLSLRootSignature.cpp
    M clang/unittests/CMakeLists.txt
    M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
    A clang/unittests/Parse/CMakeLists.txt
    A clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
    A llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h

  Log Message:
  -----------
  [HLSL][RootSignature] Implement parsing of a DescriptorTable with empty clauses (#133302)

- defines the Parser class and an initial set of helper methods to
support consuming tokens. functionality is demonstrated through a simple
empty descriptor table test case
- defines an initial in-memory representation of a DescriptorTable
- implements a test harness that will be used to validate the correct
diagnostics are generated. it will construct a dummy pre-processor with
diagnostics consumer to do so

Implements the first part of
https://github.com/llvm/llvm-project/issues/126569


  Commit: 5edf12738441d54239a5043e727b4dac709728c7
      https://github.com/llvm/llvm-project/commit/5edf12738441d54239a5043e727b4dac709728c7
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Interfaces/ViewLikeInterface.h
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
    M mlir/test/Dialect/Linalg/promote.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
    M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/MemRef/subview.mlir
    M mlir/test/Transforms/canonicalize.mlir
    M mlir/test/Transforms/compose-subview.mlir

  Log Message:
  -----------
  [mlir][memref] Verify out-of-bounds access for memref.subview (#133086)

* Improve the verifier of `memref.subview` to detect out-of-bounds
extractions.
* Improve the documentation of `memref.subview` to make clear that
out-of-bounds extractions are not allowed. Rewrite examples to use the
new `strided<>` notation instead of `affine_map` layout maps. Also
remove all unrelated operations (`memref.alloc`) from the examples.
* Fix various test cases where `memref.subview` ops ran out-of-bounds.
* Update canonicalizations patterns to ensure that they do not fold IR
if it would generate IR that no longer verifies.

Related discussion on Discourse:
https://discourse.llvm.org/t/out-of-bounds-semantics-of-memref-subview/85293

This is a re-upload of #131876, which was reverted due to failing GPU
tests. These tests were faulty and fixed in #133051.


  Commit: e9a3ea2218b754a96be4f44240c3f8ee9cbd26c9
      https://github.com/llvm/llvm-project/commit/e9a3ea2218b754a96be4f44240c3f8ee9cbd26c9
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp
    M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
    M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
    M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
    A llvm/test/CodeGen/SystemZ/Large/debug-instrref-brct.py
    A llvm/test/CodeGen/SystemZ/debug-instrref-copyphysregs.mir
    A llvm/test/CodeGen/SystemZ/debug-instrref-elimcompare.mir
    A llvm/test/CodeGen/SystemZ/debug-instrref-postrewrite.mir

  Log Message:
  -----------
  [SystemZ, DebugInfo] Instrument SystemZ backend passes for Instr-Ref DebugInfo (#133061)

This PR instruments the optimization passes in the SystemZ backend with
calls to `MachineFunction::substituteDebugValuesForInst` where
instruction substitutions are made to instructions that may compute
tracked values.

Tests are also added for each of the substitutions that were inserted.
Details on the individual passes follow.

### systemz-copy-physregs
When a copy targets an access register, we redirect the copy via an
auxiliary register. This leads to the final result being written by a
newly inserted SAR instruction, rather than the original MI, so we need
to update the debug value tracking to account for this.

### systemz-long-branch
This pass relaxes relative branch instructions based on the actual
locations of blocks. Only one of the branch instructions qualifies for
debug value tracking: BRCT, i.e. branch-relative-on-count, which
subtracts 1 from a register and branches if the result is not zero. This
is relaxed into an add-immediate and a conditional branch, so any
`debug-instr-number` present must move to the add-immediate instruction.

### systemz-post-rewrite
This pass replaces `LOCRMux` and `SELRMux` pseudoinstructions with
either the real versions of those instructions, or with branching
programs that implement the intent of the Pseudo. In all these cases,
any `debug-instr-number` attached to the pseudo needs to be reallocated
to the appropriate instruction in the result, either LOCR, SELR, or a
COPY.

### systemz-elim-compare
Similar to systemz-long-branch, for this pass, only few substitutions
are necessary, since it mainly deals with conditional branch
instructions. The only exceptiona are again branch-relative-on-count, as
it modifies a counter as part of the instruction, as well as any of the
load instructions that are affected.


  Commit: bc3b1b06c6e59a0de5b4b3607816a9255ca01df9
      https://github.com/llvm/llvm-project/commit/bc3b1b06c6e59a0de5b4b3607816a9255ca01df9
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp

  Log Message:
  -----------
  [mlir][memref] Fix build after #132545 (#133760)

There was a typo in the error message.


  Commit: 7eb99b85995a49972f7a3d5c68cf3543014a787b
      https://github.com/llvm/llvm-project/commit/7eb99b85995a49972f7a3d5c68cf3543014a787b
  Author: Wael Yehia <wyehia at ca.ibm.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    A compiler-rt/test/profile/AIX/pgo-lto-bcdtor-function-section.test

  Log Message:
  -----------
  [AIX][PGO] Add testcase for D136192

Reviewed By: mandlebug

Differential Revision: https://reviews.llvm.org/D136192


  Commit: 143c37123b93a3dbd0fafd0296516ac1ab2afc36
      https://github.com/llvm/llvm-project/commit/143c37123b93a3dbd0fafd0296516ac1ab2afc36
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/Lowering/array.cpp
    M clang/test/CIR/Lowering/global-var-simple.cpp
    M clang/test/CIR/Lowering/hello.c
    M clang/test/CIR/global-var-simple.cpp

  Log Message:
  -----------
  [CIR] Upstream zero init for global variables (#133100)

This change adds zero initialization for global variables


  Commit: 2d7add6e2e56baf46504a8a22dec42b61f63360f
      https://github.com/llvm/llvm-project/commit/2d7add6e2e56baf46504a8a22dec42b61f63360f
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/OutputSections.h
    M lld/ELF/ScriptParser.cpp
    M lld/test/ELF/linkerscript/overlay.test

  Log Message:
  -----------
  [LLD][ELF] Allow memory region in OVERLAY (#133540)

This allows the contents of OVERLAYs to be attributed to memory regions.
This is the only clean way to overlap VMAs in linker scripts that choose
to primarily use memory regions to lay out addresses.

This also simplifies OVERLAY expansion to better match GNU LD.
Expressions for the first section's LMA and VMA are not generated if the
user did not provide them. This allows the LMA/VMA offset to be
preserved across multiple overlays in the same region, as with regular
sections.

Closes #129816


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/cmp-values-non-full-registers.ll

  Log Message:
  -----------
  [SLP]Fix a check for the whole register use

Need to check the value type, not the return type, of the instructions,
when doing the analysis for the whole register use to prevent a compiler
crash.

Fixes #133751


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

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/Error.cpp
    M llvm/tools/llvm-exegesis/lib/Error.h
    M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp

  Log Message:
  -----------
  [llvm-exegesis] Error Out If Perf Counter is Not Fully Enabled (#132892)

Perf counters can be multiplexed if there are too many that need to be
scheduled on a core at the same time (and they exceed the available
PMUs). Other processes (especially system ones in certain environments,
not commonly on Desktop Linux from what I've seen) can also interfere.
This will impact the measurement fidelity as the counter is not actually
counting cycles/uops the entire time. This patch makes it so that we
error out in these cases so the user gets a visible indication things
have gone wrong rather than things failing silently.


  Commit: 668edb43a0e7d8fb13564d6966c250b93b2130db
      https://github.com/llvm/llvm-project/commit/668edb43a0e7d8fb13564d6966c250b93b2130db
  Author: David Green <david.green at arm.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/bitreverse.ll
    M llvm/test/Analysis/CostModel/AArch64/bswap.ll
    M llvm/test/Analysis/CostModel/AArch64/cost-scalable-vector-gep.ll
    M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
    M llvm/test/Analysis/CostModel/AArch64/ctpop.ll
    M llvm/test/Analysis/CostModel/AArch64/cttz.ll
    M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
    M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll
    M llvm/test/Analysis/CostModel/AArch64/store.ll
    M llvm/test/Analysis/CostModel/AArch64/vec3-ops.ll
    M llvm/test/Analysis/CostModel/AArch64/vector-reverse.ll

  Log Message:
  -----------
  [AArch64] Update more costmodel tests with -cost-kind=all. NFC


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

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

  Log Message:
  -----------
  [LAA] Remove unneeded findValue calls (NFC).

Use findLeader directly instead if going through findValue,
getLeaderValue. This is simpler and more efficient.


  Commit: cc2b4326142e6df6755472edaf264a0af4fe599a
      https://github.com/llvm/llvm-project/commit/cc2b4326142e6df6755472edaf264a0af4fe599a
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    A clang/lib/CodeGen/TargetBuiltins/CMakeLists.txt
    A clang/lib/CodeGen/Targets/CMakeLists.txt

  Log Message:
  -----------
  [Clang][Cmake] fix libtool duplicate member name warnings (#133619)

fixes #133199
 
PR #132252 Created a second file that shared `<TargetName>.cpp` in
`clang/lib/CodeGen/CMakeLists.txt`

For example There were two `AMDGPU.cpp`'s one in `TargetBuiltins` and
the other in `Targets`. Even though these were in different directories
`libtool` warns that it might not distinguish them because they share
the same base name.

There are two potential fixes. The easy fix is to rename one of them and
keep one cmake file. That solution though doesn't future proof this
problem in the event of a third `<TargetName>.cpp` and it seems teams
want to just use the target name

https://github.com/llvm/llvm-project/pull/132252#issuecomment-2758178483.

The alternative fix is to seperate the cmake files into their own sub
directories. I chose to create static libraries. It might of been
possible to build an OBJECT, but I only saw examples of this in
compiler-rt and test directories so assumed there was a reason it wasn't
used.


  Commit: 514536731f7adb05ab6ffaaf9f2912b8df418b75
      https://github.com/llvm/llvm-project/commit/514536731f7adb05ab6ffaaf9f2912b8df418b75
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

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

  Log Message:
  -----------
  [bazel] Add missing dep after e4b9486056fab7a262fdafbe70acf393c9767d12


  Commit: a415b7f86e8c50e4e789d4651f3231d5078c5859
      https://github.com/llvm/llvm-project/commit/a415b7f86e8c50e4e789d4651f3231d5078c5859
  Author: Alex Crichton <alex at alexcrichton.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
    M llvm/test/CodeGen/WebAssembly/wide-arithmetic.ll

  Log Message:
  -----------
  [WebAssembly] Add more lowerings for wide-arithmetic (#132430)

This commit is the result of investigation and discussion on
WebAssembly/wide-arithmetic#6 where alternatives to the `i64.add128`
instruction were discussed but ultimately deferred to a future proposal.
In spite of this though I wanted to apply a few changes to the LLVM
backend here with `wide-arithmetic` enabled for a few minor changes:

* A lowering for the `ISD::UADDO` node is added which uses `add128`
where the upper bits of the two operands are constant zeros and the
result of the 128-bit addition is the result of the overflowing
addition.
* The high bits of a `I64_ADD128` node are now flagged as "known zero"
if the upper bits of the inputs are also zero, assisting this `UADDO`
lowering to ensure the backend knows that the carry result is a 1-bit
result.

A few tests were then added to showcase various lowerings for various
operations that can be done with wide-arithmetic. They don't all
optimize super well at this time but I wanted to add them as a reference
here regardless to have them on-hand for future evaluations if
necessary.


  Commit: c1bf5e62877cf3a769886505a687def47cd65e05
      https://github.com/llvm/llvm-project/commit/c1bf5e62877cf3a769886505a687def47cd65e05
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp

  Log Message:
  -----------
  [DirectX] Fix build break caused by bitcode writer changes (#133770)

commit:
https://github.com/llvm/llvm-project/commit/68947342b75cc71f3ac9041d11db086d8d074336
added a new `writeDIFixedPointType` function.
However, `DIFixedPointType` is not supported in DXIL so we need to add a
fail fast case for this to fix the build.

this change fixes a build break introduced by
https://github.com/llvm/llvm-project/pull/129596


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

  Changed paths:
    M flang/docs/ArrayRepacking.md
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    A flang/test/Transforms/loop-versioning-with-repack-arrays.fir

  Log Message:
  -----------
  [flang] Recognize fir.pack_array in LoopVersioning. (#133191)

This change enables LoopVersioning when `fir.pack_array` is met
in the def-use chain. It fixes a couple of huge performance regressions
caused by enabling `-frepack-arrays`.


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

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    A flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    M flang/test/HLFIR/elemental-codegen.fir
    A flang/test/Transforms/lower-repack-arrays.fir

  Log Message:
  -----------
  [flang] Code generation for fir.pack/unpack_array. (#132080)

The code generation relies on `ShallowCopyDirect` runtime
to copy data between the original and the temporary arrays
(both directions). The allocations are done by the compiler
generated code. The heap allocations could have been passed
to `ShallowCopy` runtime, but I decided to expose the allocations
so that the temporary descriptor passed to `ShallowCopyDirect`
has `nocapture` - maybe this will be better for LLVM optimizations.


  Commit: 76e7bddf9d36074e0d67c21c5d67c2171abd70c4
      https://github.com/llvm/llvm-project/commit/76e7bddf9d36074e0d67c21c5d67c2171abd70c4
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M libcxx/include/__system_error/error_category.h

  Log Message:
  -----------
  [libc++][NFC] Replace __attribute__((__const__)) with [[__gnu__::__const__]]


  Commit: 0bdc9e6d080009dc87b9458181c5a41cc13f26ae
      https://github.com/llvm/llvm-project/commit/0bdc9e6d080009dc87b9458181c5a41cc13f26ae
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M lldb/tools/lldb-dap/Breakpoint.cpp
    M lldb/tools/lldb-dap/BreakpointBase.cpp
    M lldb/tools/lldb-dap/BreakpointBase.h
    M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
    M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp

  Log Message:
  -----------
  [lldb-dap] Replace GetBreakpointLabel with kDAPBreakpointLabel constant (NFC) (#133746)

Replace GetBreakpointLabel with kDAPBreakpointLabel constant to avoid an
unnecessary function call.


  Commit: 2653eb52d1c700740a96ae61484bb1899e783c82
      https://github.com/llvm/llvm-project/commit/2653eb52d1c700740a96ae61484bb1899e783c82
  Author: David Green <david.green at arm.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-ext.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-fptoi.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-insert-extract.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-itofp.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-ldst.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-math.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-shuffle-broadcast.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-trunc.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-vscale.ll

  Log Message:
  -----------
  [AArch64] Add -cost-kind=all coverage for sve cost tests. NFC


  Commit: b46c60272ef4163d3174cfd0fb48ab1cf63b4f62
      https://github.com/llvm/llvm-project/commit/b46c60272ef4163d3174cfd0fb48ab1cf63b4f62
  Author: Sandeep Dasgupta <sdasgup at google.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp

  Log Message:
  -----------
  Remove unused function from StripFuncQuantTypes (#121594)

`StripFuncQuantTypes::isLegalType` is unused and can be safely removed.


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

  Changed paths:
    M llvm/include/llvm/ADT/EquivalenceClasses.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp

  Log Message:
  -----------
  [EquivalenceClasses] Replace findValue with contains (NFC).

Replace remaining use of findValue with more compact and limited
contains().


  Commit: 5a3079421ba7645b8c604709de397c6091611f2a
      https://github.com/llvm/llvm-project/commit/5a3079421ba7645b8c604709de397c6091611f2a
  Author: AnastasiyaChernikova <anastasiya.chernikova at syntacore.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    M llvm/tools/llvm-exegesis/README.md

  Log Message:
  -----------
  Add RISC-V support information to readme (#132699)


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

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaCallingConv.td
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
    M llvm/lib/Target/Xtensa/XtensaOperators.td
    M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
    M llvm/lib/Target/Xtensa/XtensaSubtarget.h
    A llvm/test/CodeGen/Xtensa/aligned_alloc.ll
    A llvm/test/CodeGen/Xtensa/calling-conv-windowed.ll
    A llvm/test/CodeGen/Xtensa/callw.ll
    M llvm/test/CodeGen/Xtensa/saverestore.ll

  Log Message:
  -----------
  [Xtensa] Implement windowed register call ABI. (#130001)

Implement base windowed register call ABI. By defaullt use
rotation window by 8 registers.


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

  Changed paths:
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp

  Log Message:
  -----------
  [ctxprof][nfc] Refactor `__llvm_ctx_profile_start_context` (#133744)

Most of the functionality will be reused with the auto-root detection mechanism (which is introduced subsequently in PR #133147).


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

  Changed paths:
    M llvm/include/llvm/ADT/EquivalenceClasses.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp

  Log Message:
  -----------
  Revert "[EquivalenceClasses] Replace findValue with contains (NFC)."

Breaks clang builds.

This reverts commit 8e390dedd71d0c2bcbe8775aee2e234ef7a5b787.


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

  Changed paths:
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp

  Log Message:
  -----------
  [ctxprof][nfc] Remove redundant `SANITIZER_NO_THREAD_SAFETY_ANALYSIS` (#133784)

With the refactoring in PR #133744, `__llvm_ctx_profile_start_context` doesn't need to be marked `SANITIZER_NO_THREAD_SAFETY_ANALYSIS` because `tryStartContextGivenRoot` (where the bulk of the logic went) is.


  Commit: c63246645eeb3fddcf86b36e815c30e8b2af6d44
      https://github.com/llvm/llvm-project/commit/c63246645eeb3fddcf86b36e815c30e8b2af6d44
  Author: Alex Crichton <alex at alexcrichton.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp

  Log Message:
  -----------
  [WebAssembly] Add a missing `break` statement (#133783)

This fixes an issue introduced in #132430 where a `break;` statement was
accidentally missing causing unintended fall-through.


  Commit: b739a3cb651dd4af2f1a47fe1f0427fe2d9460ef
      https://github.com/llvm/llvm-project/commit/b739a3cb651dd4af2f1a47fe1f0427fe2d9460ef
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [VPlan] Add m_Deferred. NFC (#133736)

This copies over the implementation of m_Deferred which allows matching
values that were bound in the pattern, and uses it for the (X && Y) ||
(X && !Y) -> X simplifcation.


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

  Changed paths:
    M flang-rt/include/flang-rt/runtime/environment.h
    M flang-rt/lib/cuda/allocator.cpp
    M flang-rt/lib/cuda/memory.cpp
    M flang-rt/lib/runtime/environment.cpp

  Log Message:
  -----------
  [flang][cuda] Add support for NV_CUDAFOR_DEVICE_IS_MANAGED (#133778)

Add support for the environment variable `NV_CUDAFOR_DEVICE_IS_MANAGED`
as described in the documentation:
https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#controlling-device-data-is-managed.

This mainly switch device allocation to managed allocation.


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

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll

  Log Message:
  -----------
  [LV] Add epilogue vectorization tests for FindLastIV reductions.

Add missing test coverage for #126836.


  Commit: 6afe5e5d1a6dcbf7ba83acf4c57b964f58c364a1
      https://github.com/llvm/llvm-project/commit/6afe5e5d1a6dcbf7ba83acf4c57b964f58c364a1
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll

  Log Message:
  -----------
  [LV][EVL] Peek through combination tail-folded + predicated masks (#133430)

If a recipe was predicated and tail folded at the same time, it will
have a mask like

    EMIT vp<%header-mask> = icmp ule canonical-iv, backedge-tc
    EMIT vp<%mask> = logical-and vp<%header-mask>, vp<%pred-mask>

When converting to an EVL recipe, if the mask isn't exactly just the
header-mask we copy the whole logical-and.
We can remove this redundant logical-and (because it's now covered by
EVL) and just use vp<%pred-mask> instead.

This lets us remove the widened canonical IV in more places.


  Commit: a8d2d169c7add4b0106ae76e186cf815c0b84825
      https://github.com/llvm/llvm-project/commit/a8d2d169c7add4b0106ae76e186cf815c0b84825
  Author: Tom Yang <zhenyutyang at gmail.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Target/Target.h
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetProperties.td

  Log Message:
  -----------
  Parallelize module loading in POSIX dyld code (#130912)

This patch improves LLDB launch time on Linux machines for **preload
scenarios**, particularly for executables with a lot of shared library
dependencies (or modules). Specifically:
* Launching a binary with `target.preload-symbols = true` 
* Attaching to a process with `target.preload-symbols = true`.
It's completely controlled by a new flag added in the first commit
`plugin.dynamic-loader.posix-dyld.parallel-module-load`, which *defaults
to false*. This was inspired by similar work on Darwin #110646.

Some rough numbers to showcase perf improvement, run on a very beefy
machine:
* Executable with ~5600 modules: baseline 45s, improvement 15s
* Executable with ~3800 modules: baseline 25s,  improvement 10s
* Executable with ~6650 modules: baseline 67s, improvement 20s
* Executable with ~12500 modules: baseline 185s, improvement 85s
* Executable with ~14700 modules: baseline 235s, improvement 120s
A lot of targets we deal with have a *ton* of modules, and unfortunately
we're unable to convince other folks to reduce the number of modules, so
performance improvements like this can be very impactful for user
experience.

This patch achieves the performance improvement by parallelizing
`DynamicLoaderPOSIXDYLD::RefreshModules` for the launch scenario, and
`DynamicLoaderPOSIXDYLD::LoadAllCurrentModules` for the attach scenario.
The commits have some context on their specific changes as well --
hopefully this helps the review.

# More context on implementation

We discovered the bottlenecks by via `perf record -g -p <lldb's pid>` on
a Linux machine. With an executable known to have 1000s of shared
library dependencies, I ran
```
(lldb) b main
(lldb) r
# taking a while
```
and showed the resulting perf trace (snippet shown)
```
Samples: 85K of event 'cycles:P', Event count (approx.): 54615855812
  Children      Self  Command          Shared Object              Symbol
-   93.54%     0.00%  intern-state     libc.so.6                  [.] clone3
     clone3
     start_thread
     lldb_private::HostNativeThreadBase::ThreadCreateTrampoline(void*)                                                                           r
     std::_Function_handler<void* (), lldb_private::Process::StartPrivateStateThread(bool)::$_0>::_M_invoke(std::_Any_data const&)
     lldb_private::Process::RunPrivateStateThread(bool)                                                                                          n
   - lldb_private::Process::HandlePrivateEvent(std::shared_ptr<lldb_private::Event>&)
      - 93.54% lldb_private::Process::ShouldBroadcastEvent(lldb_private::Event*)
         - 93.54% lldb_private::ThreadList::ShouldStop(lldb_private::Event*)
            - lldb_private::Thread::ShouldStop(lldb_private::Event*)                                                                             *
               - 93.53% lldb_private::StopInfoBreakpoint::ShouldStopSynchronous(lldb_private::Event*)                                            t
                  - 93.52% lldb_private::BreakpointSite::ShouldStop(lldb_private::StoppointCallbackContext*)                                     i
                       lldb_private::BreakpointLocationCollection::ShouldStop(lldb_private::StoppointCallbackContext*)                           k
                       lldb_private::BreakpointLocation::ShouldStop(lldb_private::StoppointCallbackContext*)                                     b
                       lldb_private::BreakpointOptions::InvokeCallback(lldb_private::StoppointCallbackContext*, unsigned long, unsigned long)    i
                       DynamicLoaderPOSIXDYLD::RendezvousBreakpointHit(void*, lldb_private::StoppointCallbackContext*, unsigned long, unsigned lo
                     - DynamicLoaderPOSIXDYLD::RefreshModules()                                                                                  O
                        - 93.42% DynamicLoaderPOSIXDYLD::RefreshModules()::$_0::operator()(DYLDRendezvous::SOEntry const&) const                 u
                           - 93.40% DynamicLoaderPOSIXDYLD::LoadModuleAtAddress(lldb_private::FileSpec const&, unsigned long, unsigned long, bools
                              - lldb_private::DynamicLoader::LoadModuleAtAddress(lldb_private::FileSpec const&, unsigned long, unsigned long, boos
                                 - 83.90% lldb_private::DynamicLoader::FindModuleViaTarget(lldb_private::FileSpec const&)                        o
                                    - 83.01% lldb_private::Target::GetOrCreateModule(lldb_private::ModuleSpec const&, bool, lldb_private::Status*
                                       - 77.89% lldb_private::Module::PreloadSymbols()
                                          - 44.06% lldb_private::Symtab::PreloadSymbols()
                                             - 43.66% lldb_private::Symtab::InitNameIndexes()
...
```
We saw that majority of time was spent in `RefreshModules`, with the
main culprit within it `LoadModuleAtAddress` which eventually calls
`PreloadSymbols`.

At first, `DynamicLoaderPOSIXDYLD::LoadModuleAtAddress` appears fairly
independent -- most of it deals with different files and then getting or
creating Modules from these files. The portions that aren't independent
seem to deal with ModuleLists, which appear concurrency safe. There were
members of `DynamicLoaderPOSIXDYLD` I had to synchronize though: namely
`m_loaded_modules` which `DynamicLoaderPOSIXDYLD` maintains to map its
loaded modules to their link addresses. Without synchronizing this, I
ran into SEGFAULTS and other issues when running `check-lldb`. I also
locked the assignment and comparison of `m_interpreter_module`, which
may be unnecessary.

# Alternate implementations

When creating this patch, another implementation I considered was
directly background-ing the call to `Module::PreloadSymbol` in
`Target::GetOrCreateModule`. It would have the added benefit of working
across platforms generically, and appeared to be concurrency safe. It
was done via `Debugger::GetThreadPool().async` directly. However, there
were a ton of concurrency issues, so I abandoned that approach for now.

# Testing

With the feature active, I tested via `ninja check-lldb` on both Debug
and Release builds several times (~5 or 6 altogether?), and didn't spot
additional failing or flaky tests.

I also tested manually on several different binaries, some with around
14000 modules, but just basic operations: launching, reaching main,
setting breakpoint, stepping, showing some backtraces.

I've also tested with the flag off just to make sure things behave
properly synchronously.


  Commit: 5e2860a8d375ded2d2912894e380fefc8cb1f23a
      https://github.com/llvm/llvm-project/commit/5e2860a8d375ded2d2912894e380fefc8cb1f23a
  Author: Finn Plummer <canadienfinn at gmail.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
    M clang/include/clang/Lex/LexHLSLRootSignature.h
    R clang/include/clang/Parse/ParseHLSLRootSignature.h
    M clang/lib/Parse/CMakeLists.txt
    R clang/lib/Parse/ParseHLSLRootSignature.cpp
    M clang/unittests/CMakeLists.txt
    M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
    R clang/unittests/Parse/CMakeLists.txt
    R clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
    R llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h

  Log Message:
  -----------
  Revert "[HLSL][RootSignature] Implement parsing of a DescriptorTable with empty clauses" (#133790)

Reverts llvm/llvm-project#133302

Reverting to inspect build failures that were introduced from use of the
`clang::Preprocessor` in unit testing, as well as, the warning about an
unused declaration. See linked issue for failures.


  Commit: baacd1287bfb17608068485c2554dd4455ac29a0
      https://github.com/llvm/llvm-project/commit/baacd1287bfb17608068485c2554dd4455ac29a0
  Author: Sandeep Dasgupta <sdasgup at google.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M mlir/test/CAPI/quant.c

  Log Message:
  -----------
  Fix printing of  `mlirUniformQuantizedSubChannelTypeGetNumBlockSizes` in 32-bit machine. (#133763)

Fixes the issue reported in
https://github.com/llvm/llvm-project/pull/120172#issuecomment-2763212827

cc @mgorny


  Commit: eefefb5da798a5e51b864235007e89043fcea16a
      https://github.com/llvm/llvm-project/commit/eefefb5da798a5e51b864235007e89043fcea16a
  Author: Sandeep Dasgupta <sdasgup at google.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Quant/IR/QuantBase.td

  Log Message:
  -----------
  Fix sub-channel quantized type documentation (#133765)

fixes the issue reported in
https://github.com/llvm/llvm-project/pull/120172#issuecomment-2748367578


  Commit: cb7c223625f950c5ad14fed39aad8b358874fcf0
      https://github.com/llvm/llvm-project/commit/cb7c223625f950c5ad14fed39aad8b358874fcf0
  Author: Paul Osmialowski <pawel.osmialowski at arm.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/fveclib.c
    M flang/test/Driver/fveclib.f90

  Log Message:
  -----------
  [clang][driver] Fix -fveclib=ArmPL issue: with -nostdlib do not link against libm (#133578)

Although combining -fveclib=ArmPL with -nostdlib is a rare situation, it
should still be supported correctly and should effect in avoidance of
linking against libm.


  Commit: bdae91b08b5b7fcd13f55db7f36ccaebd5c0b571
      https://github.com/llvm/llvm-project/commit/bdae91b08b5b7fcd13f55db7f36ccaebd5c0b571
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    R clang/lib/CodeGen/TargetBuiltins/CMakeLists.txt
    R clang/lib/CodeGen/Targets/CMakeLists.txt

  Log Message:
  -----------
  Revert "[Clang][Cmake] fix libtool duplicate member name warnings" (#133795)

Reverts llvm/llvm-project#133619


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

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
    M llvm/include/llvm/ADT/EquivalenceClasses.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M polly/lib/Analysis/ScopBuilder.cpp

  Log Message:
  -----------
  Reapply "[EquivalenceClasses] Replace findValue with contains (NFC)."

This reverts the revert commit 616f447fc84bdc7655117f1b303d895dc3b93e4d.

It includes updates to remaining users in Polly and Clang, to avoid
failures when building those projects.


  Commit: f30c6a047d73322ce7f4fba4367eadc49565827d
      https://github.com/llvm/llvm-project/commit/f30c6a047d73322ce7f4fba4367eadc49565827d
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang-tools-extra/include-cleaner/BUILD.bazel
    M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel

  Log Message:
  -----------
  [bazel] Format BUILD files with buildifier (#133802)


  Commit: 6ff33edcdc29be049829934399b2fb2585252439
      https://github.com/llvm/llvm-project/commit/6ff33edcdc29be049829934399b2fb2585252439
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/unretained-members.mm

  Log Message:
  -----------
  [alpha.webkit.NoUnretainedMemberChecker] Ignore system-header-defined ivar / property of a forward declared type (#133755)

Prior to this PR, we were emitting warnings for Objective-C ivars and
properties if the forward declaration of the type appeared first in a
non-system header. This PR fixes the checker so tha we'd ignore ivars
and properties defined for a forward declared type.


  Commit: 7793bae97d2bad36d870c6df438a6fc034f15112
      https://github.com/llvm/llvm-project/commit/7793bae97d2bad36d870c6df438a6fc034f15112
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/llvm-tests.yml

  Log Message:
  -----------
  [workflows] Add missing -y option to apt-get for abi tests (#133337)


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

  Changed paths:
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Do not take ownership of stdin. (#133811)

There isn't any benefit to taking ownership of stdin and it may cause
issues if `Transport` is dealloced.


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

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

  Log Message:
  -----------
  [TableGen] Use size returned by encodeULEB128 to simplify some code. NFC (#133750)

We can use the length to insert all the bytes at once instead of
partially decoding them to insert one byte at a time.


  Commit: 46457ed1dfbfaf4ccc9245813450ba3fd561f067
      https://github.com/llvm/llvm-project/commit/46457ed1dfbfaf4ccc9245813450ba3fd561f067
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M lldb/tools/lldb-dap/Breakpoint.cpp
    M lldb/tools/lldb-dap/Breakpoint.h
    M lldb/tools/lldb-dap/BreakpointBase.cpp
    M lldb/tools/lldb-dap/BreakpointBase.h
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/DAPForward.h
    M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
    M lldb/tools/lldb-dap/ExceptionBreakpoint.h
    M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
    M lldb/tools/lldb-dap/FunctionBreakpoint.h
    M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
    M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
    M lldb/tools/lldb-dap/InstructionBreakpoint.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/SourceBreakpoint.cpp
    M lldb/tools/lldb-dap/SourceBreakpoint.h
    M lldb/tools/lldb-dap/Watchpoint.cpp
    M lldb/tools/lldb-dap/Watchpoint.h

  Log Message:
  -----------
  [lldb] Convert Breakpoint & Watchpoints structs to classes (NFC) (#133780)

Convert Breakpoint & Watchpoints structs to classes to provide proper
access control. This is in preparation for adopting SBMutex to protect
the underlying SBBreakpoint and SBWatchpoint.


  Commit: 5d1f27f349f5b63646c714e8c26cc5716a4b5abc
      https://github.com/llvm/llvm-project/commit/5d1f27f349f5b63646c714e8c26cc5716a4b5abc
  Author: Matthias Braun <matze at braunis.de>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-neg-and-one-to-sext-inreg.mir

  Log Message:
  -----------
  GlobalISel: neg (and x, 1)  -->  SIGN_EXTEND_INREG x, 1 (#131367)

The pattern
```LLVM
%shl = shl i32 %x, 31
%ashr = ashr i32 %shl, 31
```
would be combined to `G_EXT_INREG %x, 1` by GlobalISel. However
InstCombine normalizes this pattern to:
```LLVM
%and = and i32 %x, 1
%neg = sub i32 0, %and
```
This adds a combiner for this variant as well.


  Commit: 348374028970c956f2e49ab7553b495d7408ccd9
      https://github.com/llvm/llvm-project/commit/348374028970c956f2e49ab7553b495d7408ccd9
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
    M llvm/test/tools/llvm-symbolizer/sym-verbose.test
    M offload/test/sanitizer/kernel_crash_many.c
    M offload/test/sanitizer/kernel_trap.c
    M offload/test/sanitizer/kernel_trap.cpp
    M offload/test/sanitizer/kernel_trap_many.c

  Log Message:
  -----------
  Reland "Symbolize line zero as if no source info is available (#124846)" (#133798)

This land commits 23aca2f88dd5d2447e69496c89c3ed42a56f9c31 and
1b15a89a23c631a8e2d096dad4afe456970572c0.
https://github.com/llvm/llvm-project/pull/128619 makes symbolizer to
always use debug info when available so we can reland this chagnge.


  Commit: 5b8d8bb90a2c9674364e35803e45370c35c35c4a
      https://github.com/llvm/llvm-project/commit/5b8d8bb90a2c9674364e35803e45370c35c35c4a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A llvm/test/Transforms/Inline/no-inline-incompatible-gc.ll

  Log Message:
  -----------
  Inliner: Fix missing test coverage for incompatible gc rejection (#133708)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
    M llvm/test/Transforms/SLPVectorizer/revec-reduction-logical.ll

  Log Message:
  -----------
  [SLP]Fix same/alternate analysis in split node analysis for compares

getSameOpcode in some cases may consider 2 compares as having same
opcode, even though previously they were considered as alternate. It may
happen, because getSameOpcode looses info about previous instructions
and their states. Need to use isAlternateInstruction function instead
for the correct analysis.

Reviewers: RKSimon, hiraditya

Reviewed By: RKSimon

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


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

  Changed paths:
    M mlir/include/mlir/Interfaces/ViewLikeInterface.td

  Log Message:
  -----------
  [mlir] Update vector return types for `.getMixed`* methods (NFC) (#133821)

Drop small size to make vector types match the generic helper
`getMixedValues` in `StaticValueUtils.h`.

This saves some needles vector copies. I didn't find any local variables
that need updating.


  Commit: de053bb4b0db64aebdff7719ff6ce75487f6ba5d
      https://github.com/llvm/llvm-project/commit/de053bb4b0db64aebdff7719ff6ce75487f6ba5d
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/fminimumnum.ll

  Log Message:
  -----------
  LLVM/Test: Add vectorizing testcases for fminimumnum and fminimumnum (#133690)

Vectorizing of fminimumnum and fminimumnum have not support yet. Let's
add the testcase for it now, and we will update the testcase when we
support it.


  Commit: 02837acaaf2cfdfcbf77e4a7f6629575edb6ffb4
      https://github.com/llvm/llvm-project/commit/02837acaaf2cfdfcbf77e4a7f6629575edb6ffb4
  Author: Mariusz Borsa <wrotki at msn.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp

  Log Message:
  -----------
  [Sanitizers][Darwin][Test]  Remove community incompliant internal link from sources (#133187)

The malloc_zone.cpp test currently fails on Darwin hosts, in
SanitizerCommon
tests with lsan enabled.

Need to XFAIL this test to buy time to investigate this failure. Also
we're trying to bring the number of test failing on Darwin bots to 0, to
get clearer signal of any new failures.

rdar://145873843

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


  Commit: 091051fb7f48dd9f1d3f119aa7dcbd38d9d6f076
      https://github.com/llvm/llvm-project/commit/091051fb7f48dd9f1d3f119aa7dcbd38d9d6f076
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M libc/Maintainers.rst

  Log Message:
  -----------
  [libc] Add myself as maintainer of the riscv port (#133757)

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


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

  Changed paths:
    M clang/lib/Headers/__clang_hip_math.h

  Log Message:
  -----------
  Reland [HIP] fix host min/max in header (#133590)

CUDA defines min/max functions for host in global namespace. HIP header
needs to define them too to be compatible. Currently only min/max(int,
int) is defined. This causes wrong result for arguments that are out of
range for int. This patch defines host min/max functions to be
compatible with CUDA.

Since some HIP apps defined min/max functions by themselves, newly added
min/max function are under the control of macro
`__HIP_DEFINE_EXTENDED_HOST_MIN_MAX__`, which is 0 by default. In the
future, this will change to 1 by
default after most existing HIP apps adopt this change.

Also allows users to define
`__HIP_NO_HOST_MIN_MAX_IN_GLOBAL_NAMESPACE__` to disable host max/min in
global namespace.

min/max functions with mixed signed/unsigned integer parameters are not
defined unless
`__HIP_DEFINE_MIXED_HOST_MIN_MAX__` is defined.

Fixes: SWDEV-446564


  Commit: f77f2b9c566858b3c6605ab02f4bbd56000f732f
      https://github.com/llvm/llvm-project/commit/f77f2b9c566858b3c6605ab02f4bbd56000f732f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/include/llvm/IR/Attributes.h
    M llvm/lib/IR/Attributes.cpp
    A llvm/test/tools/llvm-reduce/reduce-operands-to-args-metadata-to-attributes.ll
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp

  Log Message:
  -----------
  llvm-reduce: Try to preserve instruction metadata as argument attributes (#133557)

Fixes #131825


  Commit: f9282475b305c0d2428640fa6586fe70f9b9f8d6
      https://github.com/llvm/llvm-project/commit/f9282475b305c0d2428640fa6586fe70f9b9f8d6
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    R llvm/test/Transforms/LoopVectorize/fminimumnum.ll

  Log Message:
  -----------
  Revert "LLVM/Test: Add vectorizing testcases for fminimumnum and fminimumnum (#133690)"

This reverts commit de053bb4b0db64aebdff7719ff6ce75487f6ba5d.


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

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

  Log Message:
  -----------
  [RISCV] Use decodeUImmLog2XLenNonZeroOperand in decodeRVCInstrRdRs1UImm. NFC (#133759)

decodeUImmLog2XLenNonZeroOperand already contains the uimm5 check for
RV32 so we can reuse it. This makes C_SLLI_HINT code more similar to the
tblgen code for C_SLLI.


  Commit: b2d272ccfb9407ded7e54d1eabd5b5743aa9dd1b
      https://github.com/llvm/llvm-project/commit/b2d272ccfb9407ded7e54d1eabd5b5743aa9dd1b
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    A bolt/test/X86/lite-mode-target-expr.s

  Log Message:
  -----------
  [BOLT][X86] Fix getTargetSymbol() (#133834)

In 96e5ee2, I inadvertently broke the way non-trivial symbol references
got updated from non-optimized code. The breakage was a consequence of
`getTargetSymbol(MCExpr *)` not returning a symbol when the parameter
was a binary expression. Fix `getTargetSymbol()` to cover such cases.


  Commit: 0b8c8ed04211dae629811f24e6033e5c2185508f
      https://github.com/llvm/llvm-project/commit/0b8c8ed04211dae629811f24e6033e5c2185508f
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M lldb/unittests/API/SBMutexTest.cpp

  Log Message:
  -----------
  [lldb] Fix use-after-free in SBMutexTest (#133840)

The `locked` variable can be accessed from the asynchronous thread until
the call to f.wait() completes. However, the variable is scoped in a
lexical block that ends before that, leading to a use-after-free.


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

  Changed paths:
    M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
    M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py

  Log Message:
  -----------
  [lldb-dap] Enable runInTerminal tests on macOS. (#133824)

These tests are currently filtered on macOS if your on an M1 (or newer)
device. These tests do work on macOS, for me at least on M1 Max with
macOS 15.3.2 and Xcode 16.2.

Enabling them again, but if we have CI problems with them we can keep
them disabled.


  Commit: 145b4a39504b88a695f1f85f4d9da991bb9a2656
      https://github.com/llvm/llvm-project/commit/145b4a39504b88a695f1f85f4d9da991bb9a2656
  Author: Shoreshen <372660931 at qq.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    A llvm/test/CodeGen/AMDGPU/narrow_math_for_and.ll
    M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll

  Log Message:
  -----------
  [AMDGPU][CodeGenPrepare] Narrow 64 bit math to 32 bit if profitable (#130577)

For Add, Sub, Mul with Int64 type, if profitable, then do:
1. Trunc operands to Int32 type
2. Apply 32 bit Add/Sub/Mul
3. Zext to Int64 type


  Commit: 71cf59219162be67392b435dfcb9b280e1ff8681
      https://github.com/llvm/llvm-project/commit/71cf59219162be67392b435dfcb9b280e1ff8681
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

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

  Log Message:
  -----------
  [IR] Fix -Wunused-but-set-variable


  Commit: dd862356e20d2d7e0d0356dff5bd80623c14febc
      https://github.com/llvm/llvm-project/commit/dd862356e20d2d7e0d0356dff5bd80623c14febc
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    R llvm/test/CodeGen/ARM/plt-relative-reloc.ll
    A llvm/test/CodeGen/ARM/relative-reloc.ll
    R llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
    A llvm/test/CodeGen/RISCV/relative-reloc.ll
    A llvm/test/CodeGen/X86/relative-reloc-32.ll
    A llvm/test/CodeGen/X86/relative-reloc-64.ll
    R llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
    R llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll

  Log Message:
  -----------
  AsmPrinter: Remove ELF's special lowerRelativeReference for unnamed_addr function

https://reviews.llvm.org/D17938 introduced lowerRelativeReference to
give ConstantExpr sub (A-B) special semantics in ELF: when `A` is an
`unnamed_addr` function, create a PLT-generating relocation. This was
intended for C++ relative vtables, but C++ relative vtable ended up
using DSOLocalEquivalent (lowerDSOLocalEquivalent).

This special treatment of `unnamed_addr` seems unusual.
Let's remove it. Only COFF needs an overload to generate a @IMGREL32
relocation specifier (llvm/test/MC/COFF/cross-section-relative.ll).

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


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

  Changed paths:
    M llvm/test/MC/Disassembler/RISCV/c_slli.txt

  Log Message:
  -----------
  [RISCV] Add exhaustive diassember tests for c.slli64. NFC (#133820)

The c.slli encoding with a shift of 0 is c.slli64 for RV128 and a hint
for RV32 and RV64. Add a test for this encoding to the exhaustive c.slli
test.


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

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/test/MC/RISCV/rve-invalid.s

  Log Message:
  -----------
  [RISCV] Prevent disassembling RVC hint instructions with x16-x31 for RVE. (#133805)

We can't ignore the return value form the GPR decode function, as it
contains the RVE check.


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

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    A llvm/test/MC/RISCV/rv32e-xqccmp-invalid.s
    A llvm/test/MC/RISCV/rv32e-zcmp-invalid.s
    A llvm/test/MC/RISCV/rv64e-xqccmp-invalid.s
    A llvm/test/MC/RISCV/rv64e-zcmp-invalid.s

  Log Message:
  -----------
  [RISCV] Correct disassembly of cm.push/pop for RVE. (#133816)

We shouldn't disassemble any encoding that refers to registers x16-x31
with RV32E.


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

  Changed paths:
    M lld/COFF/DebugTypes.cpp

  Log Message:
  -----------
  [lld] Use DenseMap::insert_range (NFC) (#133845)


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

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt

  Log Message:
  -----------
  [RISCV] Use decodeCLUIImmOperand when disassembling C_LUI_HINT. (#133789)

This correctly rejects imm==0 and prints 1048575 instead of -1.

I've modified the test to only have each hex pattern once with different
check lines before it. This ensures we don't have more invalid messages
printed than we're checking for.


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

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Remove extra call to MatchRegisterName in parseRegListCommon. NFC

Update RegEnd after each call to MatchRegisterName end of calling it
again.


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

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp

  Log Message:
  -----------
  [clang-tidy] Use DenseMap::insert_range (NFC) (#133844)

We can safely switch to insert_range here because
SyntheticStmtSourceMap starts out empty in the constructor.  Also
TheCFG->synthetic_stmts() comes from DenseMap, so we know that the
keys are unique.  That is, operator[] and insert are equivalent in
this particular case.


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

  Changed paths:
    M lldb/source/Plugins/ABI/X86/ABIX86.cpp

  Log Message:
  -----------
  [lldb] Use DenseMap::insert_range (NFC) (#133846)


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

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

  Log Message:
  -----------
  [ExecutionEngine] Use DenseMap::insert_range (NFC) (#133847)

We can safely switch to insert_range here because LR starts out empty.
Also, *Result is a DenseMap, so we know that the keys are unique.


  Commit: 091dcb8fc2b6ccb88c2975076e94f3cb6530db46
      https://github.com/llvm/llvm-project/commit/091dcb8fc2b6ccb88c2975076e94f3cb6530db46
  Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/OpenMP/copyin.f90

  Log Message:
  -----------
  [Flang] Make a private copy for the common block variables in copyin clause (#111359)

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


  Commit: bae3577002b6bda92837723a06a4ca5c498d300f
      https://github.com/llvm/llvm-project/commit/bae3577002b6bda92837723a06a4ca5c498d300f
  Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/lib/Evaluate/intrinsics.cpp
    A flang/test/Lower/Intrinsics/erf.f90
    M flang/test/Lower/Intrinsics/erf_real16.f90
    M flang/test/Lower/Intrinsics/erfc.f90
    M flang/test/Lower/Intrinsics/erfc_real16.f90
    M flang/test/Lower/Intrinsics/erfc_scaled.f90
    A flang/test/Lower/Intrinsics/erfc_scaled_real16.f90
    A flang/test/Semantics/erf.f90
    A flang/test/Semantics/erfc.f90
    A flang/test/Semantics/erfc_scaled.f90

  Log Message:
  -----------
  [flang] Define ERF, ERFC and ERFC_SCALED intrinsics with Q and D prefix (#125217)

`ERF`, `ERFC` and `ERFC_SCALED` intrinsics prefixed by `Q` and `D` are
missing. Codes such as `CP2K`(https://github.com/cp2k/cp2k) and
`TurboRVB`(https://github.com/sissaschool/turborvb) use these intrinsics
just like defined in the GNU standard and here:
https://www.ibm.com/docs/fr/xl-fortran-aix/16.1.0?topic=reference-intrinsic-procedures
These intrinsics are based on the existing intrinsics but apply a
restriction on the type kind.

- `DERF`, `DERFC` and `DERFC_SCALED` are for double précision only.
- `QERF`, `QERFC` and `QERFC_SCALED` are for quad précision only.


  Commit: d3be29642fa65e5ade434d860cfcc193f8278d4e
      https://github.com/llvm/llvm-project/commit/d3be29642fa65e5ade434d860cfcc193f8278d4e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Correctly annotate pointer/reference in _Generic (#133673)

Fix #133663


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

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

  Log Message:
  -----------
  [Analysis] Avoid repeated hash lookups (NFC) (#133045)


  Commit: aa889ed129ff26d9341c50a9eaba4db728ca6212
      https://github.com/llvm/llvm-project/commit/aa889ed129ff26d9341c50a9eaba4db728ca6212
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M lldb/include/lldb/Core/Statusline.h
    M lldb/source/Core/Statusline.cpp

  Log Message:
  -----------
  [lldb] Fix statusline terminal resizing

Simplify and fix the logic to clear the old statusline when the terminal
window dimensions have changed. I accidentally broke the terminal
resizing behavior when addressing code review feedback.

I'd really like to figure out a way to test this. PExpect isn't a good
fit for this, because I really need to check the result, rather than the
control characters, as the latter doesn't tell me whether any part of
the old statusline is still visible.


  Commit: 49f080afc4466ddf415d7fc7e98989c0bd07d8ea
      https://github.com/llvm/llvm-project/commit/49f080afc4466ddf415d7fc7e98989c0bd07d8ea
  Author: Frank Schlimbach <frank.schlimbach at intel.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
    M mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
    M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
    M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
    M mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
    M mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir
    M mlir/test/Dialect/MPI/mpiops.mlir

  Log Message:
  -----------
  [mlir][mpi] Mandatory Communicator (#133280)

This is replacing #125361
- communicator is mandatory
- new mpi.comm_world
- new mp.comm_split
- lowering and test

---------

Co-authored-by: Sergio Sánchez Ramírez <sergio.sanchez.ramirez+git at bsc.es>


  Commit: 7267dbfe1032f5ebd698403848fab4bbfcbe0b19
      https://github.com/llvm/llvm-project/commit/7267dbfe1032f5ebd698403848fab4bbfcbe0b19
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/unions.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix comparing the addresses of union members (#133852)

Union members get the same address, so we can't just use
`Pointer::getByteOffset()`.


  Commit: 36978fadb8e14c944b71fa63b876012cb2c444c2
      https://github.com/llvm/llvm-project/commit/36978fadb8e14c944b71fa63b876012cb2c444c2
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/include/llvm/MC/MCParser/MCAsmLexer.h
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/MC/MCParser/AsmLexer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/ELFAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
    M llvm/test/MC/RISCV/pseudo-jump-invalid.s
    M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
    M llvm/test/MC/RISCV/rv64i-aliases-invalid.s

  Log Message:
  -----------
  [MC] Add UseAtForSpecifier

Some ELF targets don't use @ for relocation specifiers.
We should not report `error: invalid variant` when @ is used.

Attempt to make expr at specifier parsing less hacky.


  Commit: 6b647de031a7d590663a791a503525f21cb98d03
      https://github.com/llvm/llvm-project/commit/6b647de031a7d590663a791a503525f21cb98d03
  Author: Ningning Shi(史宁宁) <shiningning at iscas.ac.cn>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [NFC] Remove the unused hasMinSize() (#133838)

The 'hasOptSize()' is 'hasFnAttribute(Attribute::OptimizeForSize) ||
hasMinSize()', so we don't need another 'hasMinSize()'.


  Commit: 5ff8c036063d83c6eff495de7709b12875113d62
      https://github.com/llvm/llvm-project/commit/5ff8c036063d83c6eff495de7709b12875113d62
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    A llvm/test/MC/AArch64/execute-only-memtag.ll

  Log Message:
  -----------
  [AArch64] Bugfix when using execute-only and memtag sanitizer together (#133084)

Support for execute-only code generation (#125687) introduced a bug in
the case where the memtag sanitizer is used in a module containing a mix
of execute-only and non-execute-only functions.

The bug is caused by using `return` instead of `break` to short-circuit
a loop, which meant that the rest of the function dealing with memtag
sanitizer logic wasn't run.


  Commit: c5afcfe0bb44067b2cd050ed9cff311eada9cc37
      https://github.com/llvm/llvm-project/commit/c5afcfe0bb44067b2cd050ed9cff311eada9cc37
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
    M llvm/test/CodeGen/X86/insert-subvector-broadcast.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll

  Log Message:
  -----------
  [X86] combineINSERT_SUBVECTOR - fold insert_subvector(base,extract_subvector(broadcast)) -> blend shuffle(base,broadcast) (REAPPLIED) (#133724)

If the broadcast is already the full vector width, try to prefer a blend/vshuff64x2 over a vector insertion which is usually lower latency (and sometimes a lower uop count), and reduces changes in vector sizes that can interfere with further combines.

Updated version of #133083 - which lead to infinite loops due to shuffle lowering recreating the INSERT_SUBVECTOR pattern, this variant creates the BLENDI/SHUF128 nodes directly.


  Commit: 64d493f987dc24b3d7e45daade9b0e8bfa1cc471
      https://github.com/llvm/llvm-project/commit/64d493f987dc24b3d7e45daade9b0e8bfa1cc471
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
    M llvm/include/llvm/ADT/EquivalenceClasses.h
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/Utils/SplitModule.cpp

  Log Message:
  -----------
  [EquivalenceClasses] Return ECValue directly from insert (NFC).

Removes a redundant lookup in the mapping.:


  Commit: 14c50986405731030b001d85cc8cd4a2c9f86388
      https://github.com/llvm/llvm-project/commit/14c50986405731030b001d85cc8cd4a2c9f86388
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp

  Log Message:
  -----------
  llvm-reduce: Use takeName when moving arguments in operands-to-args (#133851)


  Commit: fd0785e67ca66fb7f59ae504b637285d27d4e5c9
      https://github.com/llvm/llvm-project/commit/fd0785e67ca66fb7f59ae504b637285d27d4e5c9
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [mlir][tosa] Reorder ERF op to align with TOSA spec (#133814)

Minor non-functional change of the dialect to better align with the
operator order from the TOSA specification:
https://www.mlplatform.org/tosa/tosa_spec.html

Signed-off-by: Jerry Ge <jerry.ge at arm.com>


  Commit: 7a2b160e76e23d8fa62750af20e1e25f08803784
      https://github.com/llvm/llvm-project/commit/7a2b160e76e23d8fa62750af20e1e25f08803784
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A libclc/clc/include/clc/math/clc_rootn.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_rootn.cl
    A libclc/clc/lib/generic/math/clc_rootn.inc
    M libclc/clspv/lib/SOURCES
    M libclc/generic/include/clc/math/rootn.h
    R libclc/generic/include/clc/math/rootn.inc
    R libclc/generic/include/math/clc_rootn.h
    R libclc/generic/include/math/clc_rootn.inc
    M libclc/generic/lib/SOURCES
    R libclc/generic/lib/math/clc_rootn.cl
    M libclc/generic/lib/math/rootn.cl
    R libclc/generic/lib/math/rootn.inc
    M libclc/spirv/lib/SOURCES

  Log Message:
  -----------
  [libclc] Move rootn to the CLC library; optimize (#133735)

The function was already nominally in the CLC namespace; this commit
just moves it over.

This commit also vectorizes the builtin to avoid scalarization.


  Commit: ad48fffb53003333456b327a2a3f22bd81a77a00
      https://github.com/llvm/llvm-project/commit/ad48fffb53003333456b327a2a3f22bd81a77a00
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M libclc/CMakeLists.txt
    M libclc/amdgpu/lib/SOURCES
    R libclc/amdgpu/lib/math/native_exp.cl
    R libclc/amdgpu/lib/math/native_exp.inc
    R libclc/amdgpu/lib/math/native_exp2.cl
    R libclc/amdgpu/lib/math/native_log.cl
    R libclc/amdgpu/lib/math/native_log.inc
    R libclc/amdgpu/lib/math/native_log10.cl
    R libclc/amdgpu/lib/math/native_log10.inc
    A libclc/clc/include/clc/math/clc_native_cos.h
    A libclc/clc/include/clc/math/clc_native_exp.h
    A libclc/clc/include/clc/math/clc_native_exp2.h
    A libclc/clc/include/clc/math/clc_native_log.h
    A libclc/clc/include/clc/math/clc_native_log10.h
    A libclc/clc/include/clc/math/clc_native_log2.h
    A libclc/clc/include/clc/math/clc_native_rsqrt.h
    A libclc/clc/include/clc/math/clc_native_sin.h
    A libclc/clc/include/clc/math/clc_native_sqrt.h
    R libclc/clc/include/clc/math/unary_intrin.inc
    M libclc/clc/lib/amdgpu/SOURCES
    A libclc/clc/lib/amdgpu/math/clc_native_exp.cl
    A libclc/clc/lib/amdgpu/math/clc_native_exp.inc
    A libclc/clc/lib/amdgpu/math/clc_native_exp2.cl
    A libclc/clc/lib/amdgpu/math/clc_native_log10.cl
    A libclc/clc/lib/amdgpu/math/clc_native_log10.inc
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_native_cos.cl
    A libclc/clc/lib/generic/math/clc_native_exp.cl
    A libclc/clc/lib/generic/math/clc_native_exp2.cl
    A libclc/clc/lib/generic/math/clc_native_log.cl
    A libclc/clc/lib/generic/math/clc_native_log10.cl
    A libclc/clc/lib/generic/math/clc_native_log2.cl
    A libclc/clc/lib/generic/math/clc_native_rsqrt.cl
    A libclc/clc/lib/generic/math/clc_native_rsqrt.inc
    A libclc/clc/lib/generic/math/clc_native_sin.cl
    A libclc/clc/lib/generic/math/clc_native_sqrt.cl
    M libclc/clc/lib/r600/SOURCES
    A libclc/clc/lib/r600/math/clc_native_rsqrt.cl
    M libclc/generic/lib/math/native_cos.cl
    M libclc/generic/lib/math/native_exp.cl
    M libclc/generic/lib/math/native_exp2.cl
    M libclc/generic/lib/math/native_log.cl
    M libclc/generic/lib/math/native_log10.cl
    M libclc/generic/lib/math/native_log2.cl
    M libclc/generic/lib/math/native_rsqrt.cl
    R libclc/generic/lib/math/native_rsqrt.inc
    M libclc/generic/lib/math/native_sin.cl
    M libclc/generic/lib/math/native_sqrt.cl
    R libclc/generic/lib/math/native_unary_intrinsic.inc
    M libclc/r600/lib/SOURCES
    R libclc/r600/lib/math/native_rsqrt.cl

  Log Message:
  -----------
  [libclc] Move several 'native' builtins to CLC library (#129679)

This commit moves the 'native' builtins that use asm statements to
generate LLVM intrinsics to the CLC library. In doing so it converts
them to use the appropriate elementwise builtin to generate the same
intrinsic; there are no codegen changes to any target except to AMDGPU
targets where `native_log` is no longer custom implemented and instead
used the clang elementwise builtin.

This work forms part of #127196 and indeed with this commit there are no
'generic' builtins using/abusing asm statements - the remaining builtins
are specific to the amdgpu and r600 targets.


  Commit: 1cf6786e322ddc787d793dbb48d59b4f9827fef3
      https://github.com/llvm/llvm-project/commit/1cf6786e322ddc787d793dbb48d59b4f9827fef3
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M mlir/lib/AsmParser/AttributeParser.cpp
    M mlir/test/IR/invalid-builtin-attributes.mlir

  Log Message:
  -----------
  [mlir] Improve error handling for dense attribute parsing in complex types (#133220)

- For splat dense attributes, the number of parsed elements must be 2.
- For non-splat dense attributes, the number of parsed elements must be
twice the number of elements in the type.

Fixes #132859.


  Commit: af0b0ce665e2a36dd60c2aa70e78cc54cf20b7e3
      https://github.com/llvm/llvm-project/commit/af0b0ce665e2a36dd60c2aa70e78cc54cf20b7e3
  Author: Valery Pykhtin <valery.pykhtin at gmail.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    A llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir

  Log Message:
  -----------
  [AMDGPU] Fix SIFoldOperandsImpl::tryFoldZeroHighBits when met non-reg src1 operand. (#133761)

This happens when a constant is propagated to a V_AND 0xFFFF, reg
instruction.

Fixes failures like:

```
llc: /github/llvm-project/llvm/include/llvm/CodeGen/MachineOperand.h:366: llvm::Register llvm::MachineOperand::getReg() const: Assertion `isReg() && "This is not a register operand!"' failed.
Stack dump:
0.      Program arguments: /github/llvm-project/build/Debug/bin/llc -mtriple=amdgcn -mcpu=gfx1101 -verify-machineinstrs -run-pass si-fold-operands /github/llvm-project/llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir -o -
1.      Running pass 'Function Pass Manager' on module '/github/llvm-project/llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir'.
2.      Running pass 'SI Fold Operands' on function '@test_tryFoldZeroHighBits_skips_nonreg'
...
#12 0x00007f5a55005cfc llvm::MachineOperand::getReg() const /github/llvm-project/llvm/include/llvm/CodeGen/MachineOperand.h:0:5
#13 0x00007f5a555c6bf5 (anonymous namespace)::SIFoldOperandsImpl::tryFoldZeroHighBits(llvm::MachineInstr&) const /github/llvm-project/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp:1459:36
#14 0x00007f5a555c63ad (anonymous namespace)::SIFoldOperandsImpl::run(llvm::MachineFunction&) /github/llvm-project/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp:2455:11
#15 0x00007f5a555c6780 (anonymous namespace)::SIFoldOperandsLegacy::runOnMachineFunction
```


  Commit: 9e5bfbf77db0945f59c0d18012a8e6d43c711b3a
      https://github.com/llvm/llvm-project/commit/9e5bfbf77db0945f59c0d18012a8e6d43c711b3a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
    M llvm/include/llvm/ADT/EquivalenceClasses.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/Scalar/Float2Int.cpp
    M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
    M llvm/lib/Transforms/Utils/SplitModule.cpp
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp

  Log Message:
  -----------
  [EquivalenceClasses] Update member_begin to take ECValue (NFC).

Remove a level of indirection and update code to use range-based for
loops.


  Commit: 6c3adaafe3f2139fba5ef3865cbcbba93dbab645
      https://github.com/llvm/llvm-project/commit/6c3adaafe3f2139fba5ef3865cbcbba93dbab645
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/arm_neon.td
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/test/CodeGen/AArch64/bf16-dotprod-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
    M clang/test/CodeGen/AArch64/neon-2velem.c
    M clang/test/CodeGen/AArch64/neon-extract.c
    M clang/test/CodeGen/AArch64/neon-fma.c
    M clang/test/CodeGen/AArch64/neon-fp16fml.c
    M clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-ldst-one-rcpc3.c
    M clang/test/CodeGen/AArch64/neon-ldst-one.c
    M clang/test/CodeGen/AArch64/neon-misc-constrained.c
    M clang/test/CodeGen/AArch64/neon-misc.c
    M clang/test/CodeGen/AArch64/neon-perm.c
    M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem-constrained.c
    M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
    M clang/test/CodeGen/AArch64/neon-vcmla.c
    M clang/test/CodeGen/AArch64/poly-add.c
    M clang/test/CodeGen/AArch64/poly128.c
    M clang/test/CodeGen/AArch64/poly64.c
    M clang/test/CodeGen/AArch64/v8.1a-neon-intrinsics.c
    M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.c
    M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
    M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
    M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
    M clang/test/CodeGen/AArch64/v8.6a-neon-intrinsics.c
    M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
    M clang/test/CodeGen/arm-bf16-getset-intrinsics.c
    M clang/test/CodeGen/arm-neon-directed-rounding.c
    M clang/test/CodeGen/arm-neon-fma.c
    M clang/test/CodeGen/arm-neon-numeric-maxmin.c
    M clang/test/CodeGen/arm-neon-vcvtX.c
    M clang/test/CodeGen/arm-neon-vst.c
    M clang/test/CodeGen/arm64-vrnd-constrained.c
    M clang/test/CodeGen/arm64-vrnd.c
    M clang/test/CodeGen/arm64_vcreate.c
    M clang/test/CodeGen/arm64_vdupq_n_f64.c
    M clang/test/CodeGen/arm_neon_intrinsics.c
    M clang/utils/TableGen/NeonEmitter.cpp
    A llvm/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.ll

  Log Message:
  -----------
  [AARCH64][Neon] switch to using bitcasts in arm_neon.h where appropriate (#127043)

Currently arm_neon.h emits C-style casts to do vector type casts. This
relies on implicit conversion between vector types to be enabled, which
is currently deprecated behaviour and soon will disappear. To ensure
NEON code will keep working afterwards, this patch changes all this
vector type casts into bitcasts.


Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>


  Commit: e47d3a30881794c99a6de3aa9adc806bf3dc79f6
      https://github.com/llvm/llvm-project/commit/e47d3a30881794c99a6de3aa9adc806bf3dc79f6
  Author: Peter Smith <peter.smith at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Thunks.cpp
    M lld/test/ELF/aarch64-call26-thunk.s
    M lld/test/ELF/aarch64-cortex-a53-843419-thunk.s
    M lld/test/ELF/aarch64-jump26-thunk.s
    M lld/test/ELF/aarch64-range-thunk-extension-plt32.s
    A lld/test/ELF/aarch64-thunk-align.s
    M lld/test/ELF/aarch64-thunk-bti-multipass.s
    M lld/test/ELF/aarch64-thunk-bti.s

  Log Message:
  -----------
  [LLD][AArch64] Increase alignment of AArch64AbsLongThunk to 8 (#133738)

This permits an AArch64AbsLongThunk to be used in an environment where
unaligned accesses are disabled.

The AArch64AbsLongThunk does a load of an 8-byte address. When unaligned
accesses are disabled this address must be 8-byte aligned.

The vast majority of AArch64 systems will have unaligned accesses
enabled in userspace. However, after a reset, before the MMU has been
enabled, all memory accesses are to "device" memory, which requires
aligned accesses. In systems with multi-stage boot loaders a thunk may
be required to a later stage before the MMU has been enabled.

As we only want to increase the alignment when the ldr is used we delay
the increase in thunk alignment until we know we are going to write an
ldr. We also need to account for the ThunkSection alignment increase
when this happens.

In some of the test updates, particularly those with shared CHECK lines
with position independent thunks it was easier to ensure that the thunks
started at an 8-byte aligned address in all cases.


  Commit: 197ead75fb7a3c57f7a41cdbcff48ef3841e3832
      https://github.com/llvm/llvm-project/commit/197ead75fb7a3c57f7a41cdbcff48ef3841e3832
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.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-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.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-interleaved-store-i8-stride-8.ll

  Log Message:
  -----------
  [X86] splitVector - split concat_vectors(a,b,c,d) -> concat_vectors(a,b) + concat_vectors(c,d) (#133753)

Similar to what we already for build_vectors during subvector extraction, when splitting concat_vectors nodes, attempt to create a pair of half size concat_vectors nodes to see if these can fold.


  Commit: da5fb4213ff210f0d49c4ec837b72997cb9e69f5
      https://github.com/llvm/llvm-project/commit/da5fb4213ff210f0d49c4ec837b72997cb9e69f5
  Author: Nathan Gauër <brioche at google.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/test/CodeGenHLSL/GlobalDestructors.hlsl

  Log Message:
  -----------
  [Clang][SPIR-V] Fix convergence tokens for dtor (#133469)

Destructor calls were emitted without convergence intrinsics when building for SPIR-V, which means invalid IR since we
mixed controlled and non-controlled convergence.


  Commit: 7581cb68f9fbff7a4628da594580d81a803129ee
      https://github.com/llvm/llvm-project/commit/7581cb68f9fbff7a4628da594580d81a803129ee
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M lldb/tools/lldb-server/lldb-platform.cpp
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb] Remove lldb-server min and max gdbserver port options (#133275)

Since lldb 20, these have had no effect:
https://releases.llvm.org/20.1.0/docs/ReleaseNotes.html#changes-to-lldb

> lldb-server now listens to a single port for gdbserver connections and
> provides that port to the connection handler processes. This means
that
> only 2 ports need to be opened in the firewall (one for the
lldb-server
> platform, one for gdbserver connections). In addition, due to this
work,
lldb-server now works on Windows in the server mode.

Remove them.


  Commit: dca7e0370e9684c00d95fb810c4efd31af0a3a9f
      https://github.com/llvm/llvm-project/commit/dca7e0370e9684c00d95fb810c4efd31af0a3a9f
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/configuration.py
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/packages/Python/lldbsuite/test/dotest_args.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py

  Log Message:
  -----------
  [lldb] add --platform-available-ports option to the dotest.py (#112555)

This patch adds --platform-available-ports option to the dotest.py
script to avoid hardcoded gdb ports in lldb testsuite.

Currently, this option could be helpful in GdbRemoteTestCases (e.g.
TestLldbGdbServer, TestNonStop, TestGdbRemoteThreadsInStopReply,
TestGdbRemotePlatformFile, TestGdbRemote_vCont)


  Commit: e17d864f55133d46e12614280951ddb2dc43cc74
      https://github.com/llvm/llvm-project/commit/e17d864f55133d46e12614280951ddb2dc43cc74
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
    M flang/test/Lower/OpenMP/target.f90
    A flang/test/Lower/OpenMP/task-depend-array-section.f90
    M flang/test/Lower/OpenMP/task.f90

  Log Message:
  -----------
  [flang][OpenMP][Lower] lower array subscripts for task depend (#132994)

The OpenMP standard says that all dependencies in the same set of
inter-dependent tasks must be non-overlapping. This simplification means
that the OpenMP only needs to keep track of the base addresses of
dependency variables. This can be seen in kmp_taskdeps.cpp, which stores
task dependency information in a hash table, using the base address as a
key.

This patch generates a rebox operation to slice boxed arrays, but only
the box data address is used for the task dependency. The extra box is
optimized away by LLVM at O3.

Vector subscripts are TODO (I will address in my next patch).

This also fixes a bug for ordinary subscripts when the symbol was mapped
to a box:

Fixes #132647


  Commit: 66fca0674d83254c70af4a6289496b8acc4377df
      https://github.com/llvm/llvm-project/commit/66fca0674d83254c70af4a6289496b8acc4377df
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M offload/DeviceRTL/src/Workshare.cpp

  Log Message:
  -----------
  [OpenMP] Fix num_iters in __kmpc_*_loop DeviceRTL functions (#133435)

This patch removes the addition of 1 to the number of iterations when
calling the following DeviceRTL functions:
- `__kmpc_distribute_for_static_loop*`
- `__kmpc_distribute_static_loop*`
- `__kmpc_for_static_loop*`

Calls to these functions are currently only produced by the OMPIRBuilder
from flang, which already passes the correct number of iterations to
these functions. By adding 1 to the received `num_iters` variable,
worksharing can produce incorrect results. This impacts flang OpenMP
offloading of `do`, `distribute` and `distribute parallel do`
constructs.

Expecting the application to pass `tripcount - 1` as the argument seems
unexpected as well, so rather than updating flang I think it makes more
sense to update the runtime.


  Commit: 7f14b2a9eb4792155ed31da7bc16cc58cbb1b0fc
      https://github.com/llvm/llvm-project/commit/7f14b2a9eb4792155ed31da7bc16cc58cbb1b0fc
  Author: Shoreshen <372660931 at qq.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    R llvm/test/CodeGen/AMDGPU/narrow_math_for_and.ll
    M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll

  Log Message:
  -----------
  Revert "[AMDGPU][CodeGenPrepare] Narrow 64 bit math to 32 bit if profitable" (#133880)

Reverts llvm/llvm-project#130577


  Commit: 337bad3921356fba89409e03793f7d2df846c0e9
      https://github.com/llvm/llvm-project/commit/337bad3921356fba89409e03793f7d2df846c0e9
  Author: Afanasyev Ivan <ivafanas at gmail.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/EarlyIfConversion.cpp
    A llvm/test/CodeGen/AArch64/early-ifcvt-on-double-killed-reg.mir
    A llvm/test/CodeGen/Hexagon/early-if-predicator-reg-killed-everywhere.mir

  Log Message:
  -----------
  [EarlyIfConverter] Fix reg killed twice after early-if-predicator and ifcvt (#133554)

Bug relates to `early-if-predicator` and `early-ifcvt` passes. If
virtual register has "killed" flag in both basic blocks to be merged
into head, both instructions in head basic block will have "killed" flag
for this register. It makes MIR incorrect.

Example:

```
  bb.0: ; if
    ...
    %0:intregs = COPY $r0
    J2_jumpf %2, %bb.2, implicit-def dead $pc
    J2_jump %bb.1, implicit-def dead $pc

  bb.1: ; if.then
    ...
    S4_storeiri_io killed %0, 0, 1
    J2_jump %bb.3, implicit-def dead $pc

  bb.2: ; if.else
    ...
    S4_storeiri_io killed %0, 0, 1
    J2_jump %bb.3, implicit-def dead $pc
```

After early-if-predicator will become:

```
  bb.0:
    %0:intregs = COPY $r0
    S4_storeirif_io %1, killed %0, 0, 1
    S4_storeirit_io %1, killed %0, 0, 1
```

Having `killed` flag set twice in bb.0 for `%0` is an incorrect MIR.


  Commit: 4a687024559d5ef10abe6ed10555c5f5c2cfcb40
      https://github.com/llvm/llvm-project/commit/4a687024559d5ef10abe6ed10555c5f5c2cfcb40
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/XRayInstrumentation.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/XRayInstrumentation.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/X86/xray-empty-firstmbb.mir
    M llvm/test/CodeGen/X86/xray-multiplerets-in-blocks.mir

  Log Message:
  -----------
  [CodeGen][NPM] Port XRayInstrumentation to NPM (#129865)


  Commit: 518102f2592e8b1d4f74510b97cb2d0e2bb1d66a
      https://github.com/llvm/llvm-project/commit/518102f2592e8b1d4f74510b97cb2d0e2bb1d66a
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
    M clang/test/CodeGen/arm-neon-directed-rounding-constrained.c
    M clang/test/CodeGen/arm-poly-add.c
    M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
    M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
    M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
    M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c

  Log Message:
  -----------
  Fix test failures caused by #127043 (#133895)


  Commit: b0a79065178db615b9aaff50337185ad8ee78054
      https://github.com/llvm/llvm-project/commit/b0a79065178db615b9aaff50337185ad8ee78054
  Author: offsetof <offsetof at mailo.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    A clang/test/SemaCXX/invalid-std-initializer-list.cpp

  Log Message:
  -----------
  [clang] Fix crash on invalid `std::initializer_list<T>` template-id (#132284)

In `Sema::BuildStdInitializerList`, check that the synthesized
template-id `std::initializer_list<T>` is valid (which might not be the
case if the template has associated constraints or subsequent parameters
with default arguments) before forming the type.

Fixes #132256


  Commit: 19a319667b567a26a20f9829a0ae7e6a5c259cba
      https://github.com/llvm/llvm-project/commit/19a319667b567a26a20f9829a0ae7e6a5c259cba
  Author: Alexey Moksyakov <alexey.moksyakov at huawei.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp
    A bolt/test/AArch64/jmp-table-unsupported.s

  Log Message:
  -----------
  [bolt][aarch64] Adding test with unsupported indirect branches (#127655)

This test contains the set of common indirect branch patterns.
Adding the support will be step by step


  Commit: 1d9ad99305753a11a28e61edb130d9c63859f42e
      https://github.com/llvm/llvm-project/commit/1d9ad99305753a11a28e61edb130d9c63859f42e
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M mlir/lib/IR/Block.cpp
    M mlir/lib/Transforms/Utils/InliningUtils.cpp

  Log Message:
  -----------
  [mlir] Use llvm::hasSingleElement (NFC) (#133881)


  Commit: 13a313fe582a3c41fb5c50ca2325c0987c0af6d7
      https://github.com/llvm/llvm-project/commit/13a313fe582a3c41fb5c50ca2325c0987c0af6d7
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M libclc/CMakeLists.txt
    A libclc/clc/include/clc/math/clc_cospi.h
    A libclc/clc/include/clc/math/clc_native_divide.h
    A libclc/clc/include/clc/math/clc_native_recip.h
    M libclc/clc/include/clc/math/clc_sincos_helpers.inc
    A libclc/clc/include/clc/math/clc_sincos_piby4.h
    A libclc/clc/include/clc/math/clc_sincos_piby4.inc
    A libclc/clc/include/clc/math/clc_sinpi.h
    A libclc/clc/include/clc/math/clc_tanpi.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_cospi.cl
    A libclc/clc/lib/generic/math/clc_cospi.inc
    A libclc/clc/lib/generic/math/clc_native_divide.cl
    A libclc/clc/lib/generic/math/clc_native_divide.inc
    A libclc/clc/lib/generic/math/clc_native_recip.cl
    A libclc/clc/lib/generic/math/clc_native_recip.inc
    M libclc/clc/lib/generic/math/clc_sincos_helpers.cl
    M libclc/clc/lib/generic/math/clc_sincos_helpers.inc
    A libclc/clc/lib/generic/math/clc_sinpi.cl
    A libclc/clc/lib/generic/math/clc_sinpi.inc
    A libclc/clc/lib/generic/math/clc_tanpi.cl
    A libclc/clc/lib/generic/math/clc_tanpi.inc
    M libclc/clspv/lib/SOURCES
    M libclc/generic/lib/SOURCES
    M libclc/generic/lib/math/clc_tan.cl
    R libclc/generic/lib/math/clc_tanpi.cl
    M libclc/generic/lib/math/cospi.cl
    M libclc/generic/lib/math/native_divide.cl
    R libclc/generic/lib/math/native_divide.inc
    M libclc/generic/lib/math/native_recip.cl
    R libclc/generic/lib/math/native_recip.inc
    R libclc/generic/lib/math/sincosD_piby4.h
    M libclc/generic/lib/math/sincos_helpers.cl
    M libclc/generic/lib/math/sincos_helpers.h
    R libclc/generic/lib/math/sincospiF_piby4.h
    M libclc/generic/lib/math/sinpi.cl
    M libclc/generic/lib/math/tanpi.cl
    M libclc/spirv/lib/SOURCES

  Log Message:
  -----------
  [libclc] Move sinpi/cospi/tanpi to the CLC library (#133889)

Additionally, these builtins are now vectorized.

This also moves the native_recip and native_divide builtins as they are
used by the tanpi builtin.


  Commit: 191e0622e84a215c1d632412561c2fe6ccd86170
      https://github.com/llvm/llvm-project/commit/191e0622e84a215c1d632412561c2fe6ccd86170
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
    A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth_noolloc_sections.yaml

  Log Message:
  -----------
  [JITLink][MachO][arm64] Don't lower ptrauth edges in noalloc-lifetime sections.

Ptrauth relocations can only be fixed up in the executing process, but noalloc
sections do not have any memory in the executing process. Failure to skip
ptrauth edges results in signing instructions that operate on invalid addresses,
leading to segfaults or data corruption.

Ignoring noalloc sections for ptrauth lowering purposes allows the ptrauth
edges to persist until they reach the applyFixup method, at which point they
raise a useful error and cleanly terminate linking.


  Commit: 290d7b82cb5d3fd9fb433ede0eef7f3a524d89cd
      https://github.com/llvm/llvm-project/commit/290d7b82cb5d3fd9fb433ede0eef7f3a524d89cd
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.h

  Log Message:
  -----------
  llvm-reduce: Prune some unneeded includes and forward declares (#133883)


  Commit: 41b83b48e37aa0c7f9e0458638567f37d6dbc924
      https://github.com/llvm/llvm-project/commit/41b83b48e37aa0c7f9e0458638567f37d6dbc924
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-args.c

  Log Message:
  -----------
  No longer assert on incorrect attribute argument index (#133766)

Fixes an assertion when referencing an out-of-bounds parameter via a
function attribute whose argument list refers to parameters by index and
the function is variadic. e.g.,

    __attribute__ ((__format_arg__(2))) void test (int i, ...) { }

Fixes #61635


  Commit: ba7feaab92ca807419de6f2b80dda2a1d1759d97
      https://github.com/llvm/llvm-project/commit/ba7feaab92ca807419de6f2b80dda2a1d1759d97
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU][Docs] Fix and update AMDGPUUsage.rst (#133894)

- Fix notes about SALU float and src1 SGPRs for dpp instructions
- Add split between gfx11 and gfx12 sections, update references.


  Commit: c192737009584377d99b18bfbc8298c8e58bcd02
      https://github.com/llvm/llvm-project/commit/c192737009584377d99b18bfbc8298c8e58bcd02
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

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

  Log Message:
  -----------
  [LLVM][InstCombine][AArch64] Refactor common SVE intrinsic combines. (#126928)

Introduce SVEIntrinsicInfo to store properties common across SVE
intrinsics. This allows a seperation between intrinsic IDs and the
transformations that can be applied to them, which reduces the layering
problems we hit when adding new combines.

This PR is mostly refactoring to bring in the concept and port the most
common combines (e.g. dead code when all false). This will be followed
up with new combines where I plan to reuse much of the existing
instruction simplifcation logic to significantly improve our ability to
constant fold SVE intrinsics.


  Commit: 8f56394487a4d454be0637667267ad37bd636d0f
      https://github.com/llvm/llvm-project/commit/8f56394487a4d454be0637667267ad37bd636d0f
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/lib/Interpreter/IncrementalExecutor.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Wasm.cpp
    M clang/lib/Interpreter/Wasm.h

  Log Message:
  -----------
  [clang-repl] Implement LoadDynamicLibrary for clang-repl wasm use cases (#133037)

**Currently we don't make use of the JIT for the wasm use cases so the
approach using the execution engine won't work in these cases.**

Rather if we use dlopen. We should be able to do the following
(demonstrating through a toy project)

1) Make use of LoadDynamicLibrary through the given implementation

```
extern "C" EMSCRIPTEN_KEEPALIVE int load_library(const char *name) {
  auto Err = Interp->LoadDynamicLibrary(name);
  if (Err) {
    llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(), "load_library error: ");
    return -1;
  }
  return 0;
}
```
2) Add a button to call load_library once the library has been added in
our MEMFS (currently we have symengine built as a SIDE MODULE and we are
loading it)


  Commit: 6892d5428600113dade7b4ecf6b70bbab3198c90
      https://github.com/llvm/llvm-project/commit/6892d5428600113dade7b4ecf6b70bbab3198c90
  Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
    A clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_1x1.ll

  Log Message:
  -----------
  [Clang][LLVM] Implement single-single vectors MOP4{A/S} (#127797)

Implement all single-single {BF/F/S/U/SU/US}MOP4{A/S} instructions in
clang and llvm following the acle in
https://github.com/ARM-software/acle/pull/381/files


  Commit: a338f80ddcb97edd275c8bf949b1fab0c7d1049e
      https://github.com/llvm/llvm-project/commit/a338f80ddcb97edd275c8bf949b1fab0c7d1049e
  Author: Pablo Antonio Martinez <pablo.antonio.martinez at huawei.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    A mlir/test/Dialect/Linalg/transform-op-linalg-copy-to-memref.mlir

  Log Message:
  -----------
  [mlir][Linalg] Add transform to convert linalg.copy into memref.copy (#132422)

Targeted rewrite of a linalg.copy on memrefs to a memref.copy.

This is useful when bufferizing copies to a linalg.copy, applying some
transformations, and then rewriting the copy into a memref.copy.
If the element types of the source and destination differ, or if the
source is a scalar, the transform produces a silenceable failure.


  Commit: 2c0b888359c6c5976054bb423ba1d7b37bae9f1a
      https://github.com/llvm/llvm-project/commit/2c0b888359c6c5976054bb423ba1d7b37bae9f1a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

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

  Log Message:
  -----------
  [X86] combineX86ShuffleChain - prefer combining to X86ISD::SHUF128 if PERMQ operands are splittable (#133900)

If the 512-bit unary shuffle is a concatenation of 128/256-bit subvectors then we're better off using a X86ISD::SHUF128 node so we can fold the concatenation into the shuffle as well.


  Commit: 3a66760d9b0aa9ec31df591e87dbf0dedb4c466d
      https://github.com/llvm/llvm-project/commit/3a66760d9b0aa9ec31df591e87dbf0dedb4c466d
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/reduction-crash.ll

  Log Message:
  -----------
  [LV] Improve a test, regen with UTC (#130092)


  Commit: a1e041b64648789897c96eca5d6270e253773d16
      https://github.com/llvm/llvm-project/commit/a1e041b64648789897c96eca5d6270e253773d16
  Author: Samuel Tebbs <samuel.tebbs at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll

  Log Message:
  -----------
  [NFC][AArch64] Pre-commit high register pressure dot product test


  Commit: 1ebc308bba0e1403b9fb3ba0fbadc66e182138e0
      https://github.com/llvm/llvm-project/commit/1ebc308bba0e1403b9fb3ba0fbadc66e182138e0
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M flang/test/Integration/debug-local-var-2.f90
    M llvm/docs/LangRef.rst
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/IRPrintingPasses.cpp
    M llvm/lib/IRPrinter/IRPrintingPasses.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
    M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
    M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
    M llvm/test/Bitcode/DIExpression-aggresult.ll
    A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll
    A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll.bc
    M llvm/test/Bitcode/dbg-label-record-bc.ll
    M llvm/test/Bitcode/dbg-record-roundtrip.ll
    M llvm/test/Bitcode/upgrade-dbg-addr.ll
    M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
    M llvm/test/DebugInfo/X86/undef-dbg-val.ll
    R llvm/test/DebugInfo/print-non-instruction-debug-info.ll
    R llvm/test/DebugInfo/roundtrip-non-instruction-debug-info.ll
    M llvm/test/DebugInfo/salvage-cast-debug-info.ll
    M llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
    M llvm/test/Transforms/Scalarizer/dbginfo.ll
    R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll
    R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.expected
    R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.expected
    R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.globals.expected
    R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.noglobals.expected
    R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.transitiveglobals.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.globals.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.noglobals.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.transitiveglobals.expected
    R llvm/test/tools/UpdateTestChecks/update_test_checks/various_ir_values.test
    M llvm/test/tools/llvm-reduce/remove-dp-values.ll
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-dis/llvm-dis.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-lto2/llvm-lto2.cpp
    M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp
    M mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir
    M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Remove debug-intrinsic printing cmdline options (#131855)

During the transition from debug intrinsics to debug records, we used
several different command line options to customise handling: the
printing of debug records to bitcode and textual could be independent of
how the debug-info was represented inside a module, whether the
autoupgrader ran could be customised. This was all valuable during
development, but now that totally removing debug intrinsics is coming
up, this patch removes those options in favour of a single flag
(experimental-debuginfo-iterators), which enables autoupgrade, in-memory
debug records, and debug record printing to bitcode and textual IR.

We need to do this ahead of removing the
experimental-debuginfo-iterators flag, to reduce the amount of
test-juggling that happens at that time.

There are quite a number of weird test behaviours related to this --
some of which I simply delete in this commit. Things like
print-non-instruction-debug-info.ll , the test suite now checks for
debug records in all tests, and we don't want to check we can print as
intrinsics. Or the update_test_checks tests -- these are duplicated with
write-experimental-debuginfo=false to ensure file writing for intrinsics
is correct, but that's something we're imminently going to delete.

A short survey of curious test changes:
* free-intrinsics.ll: we don't need to test that debug-info is a zero
cost intrinsic, because we won't be using intrinsics in the future.
* undef-dbg-val.ll: apparently we pinned this to non-RemoveDIs in-memory
mode while we sorted something out; it works now either way.
* salvage-cast-debug-info.ll: was testing intrinsics-in-memory get
salvaged, isn't necessary now
* localize-constexpr-debuginfo.ll: was producing "dead metadata"
intrinsics for optimised-out variable values, dbg-records takes the
(correct) representation of poison/undef as an operand. Looks like we
didn't update this in the past to avoid spurious test differences.
* Transforms/Scalarizer/dbginfo.ll: this test was explicitly testing
that debug-info affected codegen, and we deferred updating the tests
until now. This is just one of those silent gnochange issues that get
fixed by RemoveDIs.

Finally: I've added a bitcode test, dbg-intrinsics-autoupgrade.ll.bc,
that checks we can autoupgrade debug intrinsics that are in bitcode into
the new debug records.


  Commit: bcf0f8d8aa27910545762e2cc7733a11a00954d0
      https://github.com/llvm/llvm-project/commit/bcf0f8d8aa27910545762e2cc7733a11a00954d0
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A libclc/clc/include/clc/math/clc_exp10.h
    M libclc/clc/include/clc/math/tables.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_exp10.cl
    A libclc/clc/lib/generic/math/clc_exp10.inc
    M libclc/clc/lib/generic/math/clc_tables.cl
    M libclc/clspv/lib/SOURCES
    M libclc/generic/lib/SOURCES
    R libclc/generic/lib/math/clc_exp10.cl
    M libclc/generic/lib/math/exp10.cl
    M libclc/generic/lib/math/tables.cl
    M libclc/spirv/lib/SOURCES

  Log Message:
  -----------
  [libclc] Move exp10 to the CLC library (#133899)

The builtin was already nominally in the CLC library; this commit just
moves it over. It also vectorizes the builtin on its way.


  Commit: 513a91a5f155746c7323a555a6e5ad0505627ca7
      https://github.com/llvm/llvm-project/commit/513a91a5f155746c7323a555a6e5ad0505627ca7
  Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M flang-rt/lib/runtime/extensions.cpp
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Command.h
    M flang/include/flang/Runtime/extensions.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Command.cpp
    A flang/test/Lower/Intrinsics/perror.f90

  Log Message:
  -----------
  [flang/flang-rt] Implement PERROR intrinsic form GNU Extension (#132406)

Add the implementation of the `PERROR(STRING) ` intrinsic from the GNU
Extension to prints on the stderr a newline-terminated error message
corresponding to the last system error prefixed by `STRING`.
(https://gcc.gnu.org/onlinedocs/gfortran/PERROR.html)


  Commit: 15cfe4a77495a6053cc9818247fe520da2bb3e5f
      https://github.com/llvm/llvm-project/commit/15cfe4a77495a6053cc9818247fe520da2bb3e5f
  Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    A mlir/test/Target/LLVMIR/Import/call-attributes.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR] Adding 'no_inline' and 'always_inline' attributes on LLMV::CallOp (#133726)

Addition of `no_inline` and `always_inline` attributes for CallOps in
MLIR in order to be able to inline or not directly the call of a
function without having the attribute on the `FuncOp`.
The addition of these attributes will be used in a future PR in Flang
(`[NO]INLINE` directive).


  Commit: c1efd8b663b7db3c717fae8a1991dcc4b8304c8f
      https://github.com/llvm/llvm-project/commit/c1efd8b663b7db3c717fae8a1991dcc4b8304c8f
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    R libclc/generic/include/math/clc_exp10.h
    R libclc/generic/include/math/clc_tanpi.h

  Log Message:
  -----------
  [libclc][NFC] Delete two unused headers

These should have been deleted when the respective builtins were moved
to the CLC library.


  Commit: e92ff64bad38835a497f9eb928967bca6a295b28
      https://github.com/llvm/llvm-project/commit/e92ff64bad38835a497f9eb928967bca6a295b28
  Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
    M clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_1x2.ll

  Log Message:
  -----------
  [Clang][LLVM] Implement single-multi vectors MOP4{A/S} (#128854)

Implement all single-multi {BF/F/S/U/SU/US}MOP4{A/S} instructions in
clang and llvm following the acle in
https://github.com/ARM-software/acle/pull/381/files.

This PR depends on https://github.com/llvm/llvm-project/pull/127797

This patch updates the semantics of template arguments in intrinsic
names for clarity and ease of use. Previously, template argument numbers
indicated which character in the prototype string determined the final
type suffix, which was confusing—especially for intrinsics using
multiple prototype modifiers per operand (e.g., intrinsics operating on
arrays of vectors). The number had to reference the correct character in
the prototype (e.g., the ‘u’ in “2.u”), making the system cumbersome and
error-prone.
With this patch, template argument numbers now refer to the operand
number that determines the final type suffix, providing a more intuitive
and consistent approach.


  Commit: 173eb32b756ad62c4243e6631198cd22fc079cef
      https://github.com/llvm/llvm-project/commit/173eb32b756ad62c4243e6631198cd22fc079cef
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

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

  Log Message:
  -----------
  [X86] Construct SmallVector with ArrayRef (NFC) (#133860)


  Commit: c30776ab9a1404adff6022c65b92fb8cd3cfc097
      https://github.com/llvm/llvm-project/commit/c30776ab9a1404adff6022c65b92fb8cd3cfc097
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

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

  Log Message:
  -----------
  [AArch64] Use ArrayRef::slice (NFC) (#133862)


  Commit: 664745cf381b4a153b16ef9e38d3e01dbb1e7d4f
      https://github.com/llvm/llvm-project/commit/664745cf381b4a153b16ef9e38d3e01dbb1e7d4f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-vselect.ll

  Log Message:
  -----------
  [X86] avx512-vselect.ll - regenerate VPTERNLOG comments


  Commit: 8741412bdfc0a60719f116add7d828694ef48c02
      https://github.com/llvm/llvm-project/commit/8741412bdfc0a60719f116add7d828694ef48c02
  Author: lntue <lntue at google.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/math/index.rst
    M libc/include/math.yaml
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/atan2f128.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/atan2f128.cpp
    M libc/src/math/generic/atan_utils.h
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/atan2f128_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/atan2f128_test.cpp

  Log Message:
  -----------
  [libc][math] Implement a fast pass for atan2f128 with 1ULP error using DyadicFloat<128>. (#133150)

Part of https://github.com/llvm/llvm-project/issues/131642.


  Commit: 19fb4b04a605c4a5759c72f61e8e5f5cac406a0b
      https://github.com/llvm/llvm-project/commit/19fb4b04a605c4a5759c72f61e8e5f5cac406a0b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/rv32zcmp-invalid.s
    M llvm/test/MC/RISCV/rv64zcmp-invalid.s

  Log Message:
  -----------
  [RISCV] Validate the end of register ranges in Zcmp register lists. (#133866)

We were only checking that the last register was a register, not that it
was a legal register for a register list. This caused the encoder
function to hit an llvm_unreachable.

The error messages are not good, but this only one of multiple things
that need to be fixed in this function. I'll focus on error messages
later once I have the other issues fixed.


  Commit: 4e6c48f1e74c46e62342f24ac879fd32d9a6c783
      https://github.com/llvm/llvm-project/commit/4e6c48f1e74c46e62342f24ac879fd32d9a6c783
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Merge RegStart with RegEnd in parseRegListCommon. NFC (#133867)

We only need to keep track of the last register seen. We never need the
first register once we've parsed. Currently if s0/x8 is used RegStart
will point to that and not ra/s1 so it already isn't the start.


  Commit: 1ab3a4f234e38904f9935d02a696a52d1e5dff71
      https://github.com/llvm/llvm-project/commit/1ab3a4f234e38904f9935d02a696a52d1e5dff71
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

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

  Log Message:
  -----------
  [flang-rt][NFC] Work around CTK12.8 compilation failure. (#133833)

It happened in https://lab.llvm.org/buildbot/#/builders/152/builds/1131
when the buildbot was switched from CTK12.3 to CTK12.8.
The logs are gone by now, so the above link is useless.

The error was:
error: ‘auto’ not permitted in template argument

This workaround helps, but I also reported the issue to NVCC devs.


  Commit: aa73124e51d89a22b2ba89380d3a1403e4f1c385
      https://github.com/llvm/llvm-project/commit/aa73124e51d89a22b2ba89380d3a1403e4f1c385
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/CodeGen/promoted-complex-div.c

  Log Message:
  -----------
  Fix complex long double division with -mno-x87. (#133152)

The combination of `-fcomplex-arithmetic=promoted` and `mno-x87` for
`double` complex division is leading to a crash.
See https://godbolt.org/z/189G957oY
This patch fixes that.


  Commit: 664e847916ff7329da9e5295ecc17ec169e647eb
      https://github.com/llvm/llvm-project/commit/664e847916ff7329da9e5295ecc17ec169e647eb
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/reduce-operands-to-args-token.ll
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp

  Log Message:
  -----------
  llvm-reduce: Fix invalid reduction on tokens in operands-to-args (#133855)


  Commit: ac55688482637ce625edaa8a25ad6eced8992a22
      https://github.com/llvm/llvm-project/commit/ac55688482637ce625edaa8a25ad6eced8992a22
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/reduce-operands-skip-token.ll

  Log Message:
  -----------
  llvm-reduce: Add test for token handling in operands-skip (#133857)

Seems to work correctly but wasn't tested.


  Commit: 4cb41d136cd4e2caef724e35b337f888036f8645
      https://github.com/llvm/llvm-project/commit/4cb41d136cd4e2caef724e35b337f888036f8645
  Author: David Green <david.green at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/andorxor.ll
    M llvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/extbinopload.ll
    M llvm/test/CodeGen/AArch64/extract-subvec-combine.ll
    M llvm/test/CodeGen/AArch64/neon-bitcast.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/zext.ll

  Log Message:
  -----------
  [AArch64] Prefer zip over ushll for anyext. (#133433)

Many CPUs have a higher throughput of ZIP instructions vs USHLL. This
adds some tablegen patterns for preferring zip in anyext patterns.


  Commit: a8a33bab69ccdeca9b0e1e6730ad17230431d2ab
      https://github.com/llvm/llvm-project/commit/a8a33bab69ccdeca9b0e1e6730ad17230431d2ab
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
    M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h
    M llvm/unittests/Target/SPIRV/SPIRVConvergenceRegionAnalysisTests.cpp

  Log Message:
  -----------
  [NFC][SPIRV] Misc code cleanup in SPIRV Target (#133764)

- Use static instead of anonymous namespace for file local functions.
- Enclose file-local classes in anonymous namespace.
- Eliminate `llvm::` qualifier when file has `using namespace llvm`.
- Eliminate namespace surrounding entire code in
SPIRVConvergenceRegionAnalysis.cpp file.
- Eliminate call to `initializeSPIRVStructurizerPass` from the pass
constructor (https://github.com/llvm/llvm-project/issues/111767)


  Commit: 65ad6267e82f6d8532e4b9de4716bb8fdbdd9ac0
      https://github.com/llvm/llvm-project/commit/65ad6267e82f6d8532e4b9de4716bb8fdbdd9ac0
  Author: lntue <lntue at google.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M libc/test/src/math/atan2f128_test.cpp

  Log Message:
  -----------
  [libc] Fix atan2f128 test for aarch64. (#133924)


  Commit: 58551faaf130de52f574b15d053eca1afc83b82b
      https://github.com/llvm/llvm-project/commit/58551faaf130de52f574b15d053eca1afc83b82b
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
    M flang/test/Transforms/simplify-fir-operations.fir

  Log Message:
  -----------
  [flang] Inline fir.is_contiguous_box in some cases. (#133812)

Added inlining for `rank == 1` and `innermost` cases.


  Commit: 66b540d861ecc5fef0fc398c9c3590c3a7dc6ff9
      https://github.com/llvm/llvm-project/commit/66b540d861ecc5fef0fc398c9c3590c3a7dc6ff9
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A clang/test/C/C11/n1518.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C11] Claim conformance to WG14 N1518 (#133749)

This paper introduced ranges of valid start and continuation characters
for identifiers. C23 made further changes to these sets.


  Commit: a03fce4e200d47b9133897b8f0d4688b30b42689
      https://github.com/llvm/llvm-project/commit/a03fce4e200d47b9133897b8f0d4688b30b42689
  Author: Doeke Wartena <clankill3r at gmail.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M lldb/tools/lldb-dap/README.md

  Log Message:
  -----------
  Update README.md - fixed invalid json in example (#133890)

A period (`,`) is required or you get an error.


  Commit: 179062b2dc9405a81cf44dbe676817806a4e7c6a
      https://github.com/llvm/llvm-project/commit/179062b2dc9405a81cf44dbe676817806a4e7c6a
  Author: Jeremy Kun <jkun at google.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

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

  Log Message:
  -----------
  [mlir][bazel] add alwayslink=True to mlir-runner utils (#133787)

MacOS platforms using mlir-runner in lit tests consistently hit the
following error:

```
# .---command stderr------------
# | JIT session error: Symbols not found: [ __mlir_ciface_printMemrefI32 ]
# | Error: Failed to materialize symbols: { (main, { __mlir_printMemrefI32, ... }) }
# `-----------------------------
```

https://github.com/google/heir/issues/1521#issuecomment-2751303404
confirms the issue is fixed by using `alwayslink` on these two targets,
and I confirmed on a separate Apple M1 (OSX version Sequoia 15.3.2.).

I'm not an expert on the mlir runner internals, but given the
mlir-runner is purely for testing, and alwayslink at worst adds some
overhead by not removing symbols, it seems low risk.


  Commit: e8711436b3419cc9e0e8a70c6eb41dbb2a1bf132
      https://github.com/llvm/llvm-project/commit/e8711436b3419cc9e0e8a70c6eb41dbb2a1bf132
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/unittests/Analysis/ScalarEvolutionTest.cpp

  Log Message:
  -----------
  [SCEV] Remove EqCacheSCEV (#133186)

This was added in https://reviews.llvm.org/D26389 to help with extremely
deep SCEV expressions.

However, this is wrong since we may cache sub-SCEVs to be equivalent
that CompareValueComplexity returned 0 due to hitting the max comparison
depth.

This also improves compile time in some compiles:

https://llvm-compile-time-tracker.com/compare.php?from=34fa037c4fd7f38faada5beedc63ad234e904247&to=e241ecf999f4dd42d4b951d4a5d4f8eabeafcff0&stat=instructions:u

Similar to #100721.

Fixes #130688.


  Commit: 558ce50ebc31bbcd5ec5bfad0c0126adfde8bbb0
      https://github.com/llvm/llvm-project/commit/558ce50ebc31bbcd5ec5bfad0c0126adfde8bbb0
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
    M clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_2x1.ll

  Log Message:
  -----------
  [Clang][LLVM] Implement multi-single vectors MOP4{A/S} (#129226)

Implement all multi-single {BF/F/S/U/SU/US}MOP4{A/S} instructions in clang and
llvm following the ACLE in https://github.com/ARM-software/acle/pull/381/files


  Commit: 105c8c38dcb7fd6077c92c5e0f838c9b7ad9971e
      https://github.com/llvm/llvm-project/commit/105c8c38dcb7fd6077c92c5e0f838c9b7ad9971e
  Author: lorenzo chelini <l.chelini at icloud.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.h
    M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
    M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp

  Log Message:
  -----------
  [MLIR][NFC] Retire let constructor for EmitC (#133732)

`let constructor` is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.


  Commit: 7e25b240731413d2cfca2b78ab1d0ed33d851622
      https://github.com/llvm/llvm-project/commit/7e25b240731413d2cfca2b78ab1d0ed33d851622
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/IRNormalizer.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Utils/IRNormalizer.cpp
    A llvm/test/Transforms/IRNormalizer/pass-parameters.ll
    M llvm/test/Transforms/IRNormalizer/reordering.ll

  Log Message:
  -----------
  IRNormalizer: Replace cl::opts with pass parameters (#133874)

Not sure why the "fold-all" option naming didn't match the
variable "FoldPreOutputs", but I've preserved the difference.

More annoyingly, the pass name "normalize" does not match the pass
name IRNormalizer and should probably be fixed one way or the other.

Also the existing test coverage for the flags is lacking. I've added
a test that shows they parse, but we should have tests that they
do something.


  Commit: 1f194ff34e4e861a18f7108c7874bccbd6459f30
      https://github.com/llvm/llvm-project/commit/1f194ff34e4e861a18f7108c7874bccbd6459f30
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M mlir/include/mlir-c/AffineExpr.h
    M mlir/lib/Bindings/Python/IRAffine.cpp
    M mlir/lib/CAPI/IR/AffineExpr.cpp
    M mlir/test/python/ir/affine_expr.py

  Log Message:
  -----------
  [mlir] Expose `simplifyAffineExpr` through python api (#133926)


  Commit: 00e6d4fe064bb48e16c1eda018e6ed5e9f99cba9
      https://github.com/llvm/llvm-project/commit/00e6d4fe064bb48e16c1eda018e6ed5e9f99cba9
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    R libclc/generic/lib/clc_unary.inc
    R libclc/generic/lib/math/binary_impl.inc
    R libclc/generic/lib/math/clc_sw_binary.inc

  Log Message:
  -----------
  [libclc][NFC] Delete three unused .inc files


  Commit: 4b19db6db965d95d7259e224f518c5404a7989ba
      https://github.com/llvm/llvm-project/commit/4b19db6db965d95d7259e224f518c5404a7989ba
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    A llvm/test/CodeGen/ARM/plt-relative-reloc.ll
    R llvm/test/CodeGen/ARM/relative-reloc.ll
    A llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
    R llvm/test/CodeGen/RISCV/relative-reloc.ll
    R llvm/test/CodeGen/X86/relative-reloc-32.ll
    R llvm/test/CodeGen/X86/relative-reloc-64.ll
    A llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
    A llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll

  Log Message:
  -----------
  Revert "AsmPrinter: Remove ELF's special lowerRelativeReference for unnamed_addr function" (#133935)

Reverts llvm/llvm-project#132684


  Commit: dd1d41f833c9b28d8a940ba5a0b85b0d47e44e43
      https://github.com/llvm/llvm-project/commit/dd1d41f833c9b28d8a940ba5a0b85b0d47e44e43
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
    M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] fix moveToVALU with proper subreg access in true16 (#132089)

There are V2S copies between vpgr16 and spgr32 in true16 mode. This is
caused by vgpr16 and sgpr32 both selectable by 16bit src in ISel.

When a V2S copy and its useMI are lowered to VALU,  this patch check
1. If the generated new VALU is used by a true16 inst. Add subreg access
if necessary.
2. Legalize the V2S copy by replacing it to subreg_to_reg

an example MIR looks like:
```
%2:sgpr_32 = COPY %1:vgpr_16
%3:sgpr_32 = S_OR_B32 %2:sgpr_32, ...
%4:vgpr_16 = V_ADD_F16_t16 %3:sgpr_32, ...
```
currently lowered to
```
%2:vgpr_32 = COPY %1:vgpr_16
%3:vgpr_32 = V_OR_B32 %2:vgpr_32, ...
%4:vgpr_16 = V_ADD_F16_t16 %3:vgpr_32, ...
```
after this patch
```
%2:vgpr_32 = SUBREG_TO_REG 0, %1:vgpr_16, lo16
%3:vgpr_32 = V_OR_B32 %2:vgpr_32, ...
%4:vgpr_16 = V_ADD_F16_t16 %3.lo16:vgpr_32, ...
```


  Commit: ec290a43f68b469197abce65949fde84ecdc9146
      https://github.com/llvm/llvm-project/commit/ec290a43f68b469197abce65949fde84ecdc9146
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/reduce-externally-initialized.ll
    M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp

  Log Message:
  -----------
  llvm-reduce: Reduce externally_initialized (#133859)

Not sure this is the right place to put it. This is a property
of GlobalVariable, not GlobalValue. But the ReduceGlobalVars
reduction tries to delete the value entirely.


  Commit: 347c5a7af5adfe81b79dd77f7f88c626b09e8534
      https://github.com/llvm/llvm-project/commit/347c5a7af5adfe81b79dd77f7f88c626b09e8534
  Author: jimingham <jingham at apple.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M lldb/bindings/python/python-wrapper.swig
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/source/Core/Module.cpp
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    A lldb/test/API/macosx/dsym_modules/Makefile
    A lldb/test/API/macosx/dsym_modules/TestdSYMModuleInit.py
    A lldb/test/API/macosx/dsym_modules/has_dsym.py
    A lldb/test/API/macosx/dsym_modules/main.c
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  Add a new affordance that the Python module in a dSYM (#133290)

So the dSYM can be told what target it has been loaded into.

When lldb is loading modules, while creating a target, it will run
"command script import" on any Python modules in Resources/Python in the
dSYM. However, this happens WHILE the target is being created, so it is
not yet in the target list. That means that these scripts can't act on
the target that they a part of when they get loaded.

This patch adds a new python API that lldb will call:

__lldb_module_added_to_target

if it is defined in the module, passing in the Target the module was
being added to, so that code in these dSYM's don't have to guess.


  Commit: 5c4302442bb07de01c533f6ec766cf14dfdf8b02
      https://github.com/llvm/llvm-project/commit/5c4302442bb07de01c533f6ec766cf14dfdf8b02
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/include/llvm/IR/GlobalVariable.h
    M llvm/lib/IR/Globals.cpp
    A llvm/test/tools/llvm-reduce/reduce-code-model.ll
    M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp

  Log Message:
  -----------
  llvm-reduce: Reduce global variable code model (#133865)

The current API doesn't have a way to unset it. The query returns
an optional, but the set doesn't. Alternatively I could switch the
set to also use optional.


  Commit: 69c5049826711022f40d7ce699ffe1d81c3e6f08
      https://github.com/llvm/llvm-project/commit/69c5049826711022f40d7ce699ffe1d81c3e6f08
  Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py

  Log Message:
  -----------
  [NFC][mlir] Update generate script for conv_3d_ncdhw_fcdhw (#133927)

https://github.com/llvm/llvm-project/pull/129547 changed the IR directly
without updating the auto generate script.

Signed-off-by: Nirvedh <nirvedh at gmail.com>


  Commit: 25622aa745671d8d1885250f559c6dac0a8c2aeb
      https://github.com/llvm/llvm-project/commit/25622aa745671d8d1885250f559c6dac0a8c2aeb
  Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    A mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
    M mlir/test/Dialect/AMDGPU/invalid.mlir

  Log Message:
  -----------
  [mlir][AMDGPU] Add gfx950 MFMAs to the amdgpu.mfma op (#133553)

This commit extends the lowering of amdgpu.mfma to handle the new
double-rate MFMAs in gfx950 and adds tests for these operations.

It also adds support for MFMAs on small floats (f6 and f4), which are
implented using the "scaled" MFMA intrinsic with a scale value of 0 in
order to have an unscaled MFMA.

This commit does not add a `amdgpu.scaled_mfma` operation, as that is
future work.

---------

Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>


  Commit: f60eed934493c2d0305d4d597d39813a12db42ef
      https://github.com/llvm/llvm-project/commit/f60eed934493c2d0305d4d597d39813a12db42ef
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-02 (Wed, 02 Apr 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/reduce-target-features-attr.ll
    M llvm/tools/llvm-reduce/CMakeLists.txt
    M llvm/tools/llvm-reduce/DeltaManager.cpp
    M llvm/tools/llvm-reduce/DeltaPasses.def
    A llvm/tools/llvm-reduce/deltas/ReduceTargetFeaturesAttr.cpp
    A llvm/tools/llvm-reduce/deltas/ReduceTargetFeaturesAttr.h
    M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn

  Log Message:
  -----------
  llvm-reduce: Add target-features-attr reduction (#133887)

Try to reduce individual subtarget features in the "target-features"
attribute. This attempts a textual removal of the fields in the string,
not a semantic removal. Typically there's a lot of redundant feature spam
in the feature list implied by the target-cpu (which I really wish clang
would stop emitting). If we could parse these out, we could easily drop
the fields without testing anything.


  Commit: 75242a8a1d38815b5533c3951d5beceb8033d9fa
      https://github.com/llvm/llvm-project/commit/75242a8a1d38815b5533c3951d5beceb8033d9fa
  Author: Paul Bowen-Huggett <paulhuggett at mac.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/test/MC/Disassembler/RISCV/c_slli.txt

  Log Message:
  -----------
  [RISCV] Fix the c_slli disassembler test (NFC) (#133921)

This change fixes the exhaustive text for the c.slli instruction so that
each hex pattern now appears only once. The problem was spotted
[here](https://github.com/llvm/llvm-project/pull/133713#discussion_r2021577609)
by @topperc (for which, thank you).


  Commit: 01889de8e9b16eeed7ed9f6cdc18636ad20a01ac
      https://github.com/llvm/llvm-project/commit/01889de8e9b16eeed7ed9f6cdc18636ad20a01ac
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M flang-rt/lib/runtime/CMakeLists.txt
    M flang-rt/lib/runtime/stop.cpp
    M flang/include/flang/Runtime/stop.h

  Log Message:
  -----------
  [flang][device] Enable Stop functions on device build (#133803)

Update `StopStatement` and `StopStatementText` to be build for the
device.


  Commit: 7003f7d23aeca97b0301e605ed8b02436b38f789
      https://github.com/llvm/llvm-project/commit/7003f7d23aeca97b0301e605ed8b02436b38f789
  Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A clang/test/Driver/Inputs/SYCL/bar.ll
    A clang/test/Driver/Inputs/SYCL/baz.ll
    A clang/test/Driver/Inputs/SYCL/foo.ll
    A clang/test/Driver/Inputs/SYCL/libsycl.ll
    M clang/test/Driver/clang-sycl-linker-test.cpp
    A clang/test/Driver/link-device-code.test
    M clang/test/Driver/sycl-link-spirv-target.cpp
    M clang/tools/clang-sycl-linker/CMakeLists.txt
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M clang/tools/clang-sycl-linker/SYCLLinkOpts.td

  Log Message:
  -----------
  [clang-sycl-linker] Replace llvm-link with API calls (#133797)

This PR has the following changes:

Replace llvm-link with calls to linkInModule to link device files Add
-print-linked-module option to dump linked module for testing Added a
test to verify that linking is working as expected. We will eventually
move to using thin LTO for linking device inputs.

Thanks

---------

Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>


  Commit: 602d05fbe89a5663a07dc51862409778bfe6fec6
      https://github.com/llvm/llvm-project/commit/602d05fbe89a5663a07dc51862409778bfe6fec6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-02 (Wed, 02 Apr 2025)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  llvm-reduce: Make myself maintainer (#133919)


  Commit: f14ff59da7f98a405999bcc8481b20446de0d0cd
      https://github.com/llvm/llvm-project/commit/f14ff59da7f98a405999bcc8481b20446de0d0cd
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A libclc/clc/include/clc/math/clc_exp.h
    A libclc/clc/include/clc/math/clc_exp2.h
    A libclc/clc/include/clc/math/clc_exp_helper.h
    A libclc/clc/include/clc/math/clc_exp_helper.inc
    A libclc/clc/include/clc/math/clc_expm1.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_exp.cl
    A libclc/clc/lib/generic/math/clc_exp.inc
    A libclc/clc/lib/generic/math/clc_exp2.cl
    A libclc/clc/lib/generic/math/clc_exp2.inc
    A libclc/clc/lib/generic/math/clc_exp_helper.cl
    A libclc/clc/lib/generic/math/clc_exp_helper.inc
    A libclc/clc/lib/generic/math/clc_expm1.cl
    A libclc/clc/lib/generic/math/clc_expm1.inc
    M libclc/clspv/lib/SOURCES
    M libclc/generic/lib/SOURCES
    M libclc/generic/lib/math/exp.cl
    M libclc/generic/lib/math/exp2.cl
    R libclc/generic/lib/math/exp_helper.cl
    R libclc/generic/lib/math/exp_helper.h
    M libclc/generic/lib/math/expm1.cl
    M libclc/spirv/lib/SOURCES

  Log Message:
  -----------
  [libclc] Move exp, exp2 and expm1 to the CLC library (#133932)

These all share the use of a common helper function so are handled in
one go. These builtins are also now vectorized.


  Commit: 44b87e42066064d74f4a9c69ea02aa9558ca6a1a
      https://github.com/llvm/llvm-project/commit/44b87e42066064d74f4a9c69ea02aa9558ca6a1a
  Author: lntue <lntue at google.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M libc/test/src/math/exhaustive/hypotf_test.cpp

  Log Message:
  -----------
  [libc] Reduce the range of hypotf exhaustive test to be run automatically. (#133944)

The current setup of `hypotf` exhaustive tests might take days to
finish.


  Commit: 9586117c3ab6f16883a646847cfa65b065ad4ae3
      https://github.com/llvm/llvm-project/commit/9586117c3ab6f16883a646847cfa65b065ad4ae3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp

  Log Message:
  -----------
  [clang-sycl-linker] Fix a warning

This patch fixes:

  clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp:127:13: error:
  function 'getMainExecutable' is not needed and will not be emitted
  [-Werror,-Wunneeded-internal-declaration]


  Commit: d8bf0398e5d5a9b9f7f186c0535a069055a03150
      https://github.com/llvm/llvm-project/commit/d8bf0398e5d5a9b9f7f186c0535a069055a03150
  Author: David Green <david.green at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td

  Log Message:
  -----------
  [AArch64] Use tablegen HasOneUse. NFC


  Commit: 7d91c4f3eb689c0dc5ae95acbf321fec7e96cca7
      https://github.com/llvm/llvm-project/commit/7d91c4f3eb689c0dc5ae95acbf321fec7e96cca7
  Author: David Green <david.green at arm.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td

  Log Message:
  -----------
  [ARM] Use tablegen HasOneUse. NFC


  Commit: a30caa6a73286eabe22983ce5a7cca27a25d0790
      https://github.com/llvm/llvm-project/commit/a30caa6a73286eabe22983ce5a7cca27a25d0790
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A llvm/test/CodeGen/WebAssembly/libcalls64.ll

  Log Message:
  -----------
  [WebAssembly] Add missing tests from #133289 (#133938)


  Commit: 710398f3f864a11e15782e4ad3dcaaba2dfa88b4
      https://github.com/llvm/llvm-project/commit/710398f3f864a11e15782e4ad3dcaaba2dfa88b4
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    R .ci/compute-projects.sh
    A .ci/compute_projects.py
    A .ci/compute_projects_test.py
    M .ci/generate-buildkite-pipeline-premerge
    R .ci/generate_test_report.py
    A .ci/generate_test_report_buildkite.py
    A .ci/generate_test_report_github.py
    A .ci/generate_test_report_lib.py
    A .ci/generate_test_report_lib_test.py
    M .ci/metrics/metrics.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M .github/new-prs-labeler.yml
    M .github/workflows/build-ci-container.yml
    M .github/workflows/commit-access-greeter.yml
    M .github/workflows/commit-access-review.yml
    M .github/workflows/containers/github-action-ci/Dockerfile
    M .github/workflows/docs.yml
    M .github/workflows/issue-write.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/llvm-tests.yml
    M .github/workflows/pr-code-format.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/release-asset-audit.yml
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/scorecard.yml
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Core/Relocation.h
    M bolt/include/bolt/Passes/DominatorAnalysis.h
    R bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
    A bolt/include/bolt/Passes/PAuthGadgetScanner.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CMakeLists.txt
    R bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
    A bolt/lib/Passes/PAuthGadgetScanner.cpp
    M bolt/lib/Passes/PatchEntries.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
    M bolt/lib/Target/AArch64/AArch64MCSymbolizer.h
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    A bolt/test/AArch64/computed-goto.s
    A bolt/test/AArch64/got-load-symbolization.s
    A bolt/test/AArch64/jmp-table-unsupported.s
    A bolt/test/AArch64/lite-mode.s
    A bolt/test/Inputs/indirect_goto.c
    R bolt/test/X86/Inputs/indirect_goto.c
    R bolt/test/X86/indirect-goto-pie.test
    M bolt/test/X86/indirect-goto.test
    A bolt/test/X86/lite-mode-target-expr.s
    M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
    M bolt/test/binary-analysis/AArch64/gs-pacret-multi-bb.s
    A bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
    A bolt/test/indirect-goto-relocs.test
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/assets/index.js
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-move/Move.cpp
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
    M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
    M clang-tools-extra/clang-tidy/cert/DontModifyStdNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    M clang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.cpp
    M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/CodeComplete.h
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/index/dex/Dex.cpp
    M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/refactor/Rename.h
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/StdLibTests.cpp
    M clang-tools-extra/clangd/unittests/TestIndex.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang-tools-extra/modularize/ModularizeUtilities.h
    M clang-tools-extra/modularize/ModuleAssistant.cpp
    A clang-tools-extra/test/clang-doc/DR-131697.cpp
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
    M clang-tools-extra/test/clang-doc/assets.cpp
    M clang-tools-extra/test/clang-doc/basic-project.test
    M clang-tools-extra/test/clang-doc/enum.cpp
    M clang-tools-extra/test/clang-doc/namespace.cpp
    M clang-tools-extra/test/clang-doc/single-file-public.cpp
    M clang-tools-extra/test/clang-doc/single-file.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    M clang-tools-extra/test/clang-doc/test-path-abs.cpp
    M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-anon-record-fields.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/file-filter.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/system-headers.cpp
    M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
    M clang/Maintainers.rst
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cdb.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/bindings/python/tests/cindex/test_index.py
    M clang/bindings/python/tests/cindex/test_location.py
    M clang/bindings/python/tests/cindex/test_translation_unit.py
    M clang/bindings/python/tests/cindex/test_type.py
    M clang/docs/BoundsSafety.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/ConstantInterpreter.rst
    M clang/docs/HIPSupport.rst
    M clang/docs/HLSL/AvailabilityDiagnostics.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/MSVCCompatibility.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/SanitizerCoverage.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/Attr.h
    M clang/include/clang/AST/CanonicalType.h
    M clang/include/clang/AST/DeclOpenACC.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.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/Stmt.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/AST/VTableBuilder.h
    M clang/include/clang/ASTMatchers/ASTMatchFinder.h
    M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
    M clang/include/clang/Basic/ABI.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsSPIRV.td
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/Diagnostic.td
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/ObjCRuntime.h
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_mve.td
    M clang/include/clang/Basic/arm_mve_defs.td
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/CIR/CIRGenerator.h
    A clang/include/clang/CIR/CIRToCIRPasses.h
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/Passes.h
    M clang/include/clang/CIR/Dialect/Passes.td
    A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.h
    A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.td
    M clang/include/clang/CIR/Interfaces/CMakeLists.txt
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/include/clang/Lex/HeaderSearchOptions.h
    M clang/include/clang/Lex/ModuleMap.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/HLSLExternalSemaSource.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTRecordWriter.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    A clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/Function.cpp
    M clang/lib/AST/ByteCode/Function.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclOpenACC.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/ASTMatchers/ASTMatchFinder.cpp
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
    M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenerator.cpp
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    A clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
    M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    A clang/lib/CIR/Dialect/Transforms/HoistAllocas.cpp
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CIR/FrontendAction/CMakeLists.txt
    A clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp
    M clang/lib/CIR/Interfaces/CMakeLists.txt
    M clang/lib/CIR/Lowering/CIRPasses.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/lib/CodeGen/CGBuiltin.h
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    A clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGLoopInfo.h
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    A clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    A clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    A clang/lib/CodeGen/TargetBuiltins/Hexagon.cpp
    A clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    A clang/lib/CodeGen/TargetBuiltins/PPC.cpp
    A clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    A clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
    A clang/lib/CodeGen/TargetBuiltins/SystemZ.cpp
    A clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
    A clang/lib/CodeGen/TargetBuiltins/X86.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/AVR.cpp
    M clang/lib/CodeGen/Targets/TCE.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Job.cpp
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/Haiku.h
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/MacroCallReconstructor.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/FrontendTool/CMakeLists.txt
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Headers/__clang_cuda_intrinsics.h
    M clang/lib/Headers/__clang_hip_math.h
    M clang/lib/Headers/avx10_2_512convertintrin.h
    M clang/lib/Headers/avx10_2_512satcvtdsintrin.h
    M clang/lib/Headers/avx10_2_512satcvtintrin.h
    M clang/lib/Headers/avx10_2convertintrin.h
    M clang/lib/Headers/avx10_2minmaxintrin.h
    M clang/lib/Headers/avx10_2niintrin.h
    M clang/lib/Headers/avx10_2satcvtdsintrin.h
    M clang/lib/Headers/avx10_2satcvtintrin.h
    M clang/lib/Headers/hlsl.h
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Interpreter/IncrementalExecutor.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Wasm.cpp
    M clang/lib/Interpreter/Wasm.h
    M clang/lib/Lex/HeaderMap.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/LexHLSLRootSignature.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/CMakeLists.txt
    A clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    A clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/SemaAccess.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Sema/SemaSPIRV.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/SemaX86.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/lib/Serialization/MultiOnDiskHashTable.h
    M clang/lib/Serialization/TemplateArgumentHasher.cpp
    M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/Store.cpp
    M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
    M clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/lib/Tooling/DependencyScanning/CMakeLists.txt
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    A clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/c.c
    A clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/floats.cpp
    M clang/test/AST/ByteCode/if.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/placement-new.cpp
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/AST/ByteCode/unions.cpp
    M clang/test/AST/HLSL/HLSLControlFlowHint.hlsl
    M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/ast-dump-types-json.cpp
    M clang/test/AST/ast-print-openacc-routine-construct.cpp
    M clang/test/AST/attr-print-emit.cpp
    M clang/test/Analysis/ArrayBound/assumption-reporting.c
    M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor.cpp
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
    M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
    M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
    M clang/test/Analysis/cxx-uninitialized-object.cpp
    M clang/test/Analysis/dtor.cpp
    M clang/test/Analysis/fixed-address-notes.c
    M clang/test/Analysis/invalidated-iterator.cpp
    A clang/test/Analysis/issue-91835.cpp
    A clang/test/Analysis/lambda-capture-structured-binding.cpp
    A clang/test/Analysis/lvalue_elements.c
    M clang/test/Analysis/misc-ps.m
    M clang/test/Analysis/mismatched-iterator.cpp
    M clang/test/Analysis/pr22954.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/taint-generic.cpp
    M clang/test/Analysis/virtualcall.cpp
    A clang/test/C/C11/n1518.c
    M clang/test/C/C23/n2819.c
    A clang/test/C/C2y/n3369.c
    A clang/test/C/C2y/n3369_1.c
    A clang/test/C/C2y/n3369_2.c
    M clang/test/C/C2y/n3411.c
    A clang/test/C/C2y/n3469.c
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/basic.c
    M clang/test/CIR/CodeGen/basic.cpp
    A clang/test/CIR/CodeGen/binop.cpp
    M clang/test/CIR/CodeGen/cast.cpp
    A clang/test/CIR/CodeGen/int-to-bool.cpp
    M clang/test/CIR/CodeGen/local-vars.cpp
    A clang/test/CIR/CodeGen/loop.cpp
    M clang/test/CIR/CodeGen/unary-expr-or-type-trait.cpp
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/IR/array.cir
    M clang/test/CIR/IR/cast.cir
    M clang/test/CIR/IR/func.cir
    M clang/test/CIR/IR/global-var-linkage.cir
    M clang/test/CIR/IR/global.cir
    M clang/test/CIR/Lowering/array.cpp
    M clang/test/CIR/Lowering/basic.cpp
    A clang/test/CIR/Lowering/binop-bool.cir
    A clang/test/CIR/Lowering/binop-fp.cir
    A clang/test/CIR/Lowering/binop-signed-int.cir
    A clang/test/CIR/Lowering/binop-unsigned-int.cir
    M clang/test/CIR/Lowering/cast.cir
    M clang/test/CIR/Lowering/func-simple.cpp
    M clang/test/CIR/Lowering/global-var-simple.cpp
    M clang/test/CIR/Lowering/hello.c
    A clang/test/CIR/Transforms/canonicalize.cir
    A clang/test/CIR/Transforms/hoist-allocas.cir
    A clang/test/CIR/Transforms/loop.cir
    M clang/test/CIR/Transforms/scope.cir
    M clang/test/CIR/func-simple.cpp
    M clang/test/CIR/global-var-simple.cpp
    A clang/test/CIR/mlirargs.c
    A clang/test/CIR/mlprint.c
    M clang/test/CMakeLists.txt
    M clang/test/CXX/class.access/p6.cpp
    M clang/test/CXX/class/p2-0x.cpp
    M clang/test/CXX/dcl.decl/dcl.init/dcl.init.general/p16-cxx20.cpp
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg2xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg4xx.cpp
    A clang/test/CXX/drs/cwg787.cpp
    M clang/test/CXX/drs/cwg7xx.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/CodeGen/2003-08-20-vfork-bug.c
    M clang/test/CodeGen/AArch64/bf16-dotprod-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
    M clang/test/CodeGen/AArch64/fmv-dependencies.c
    A clang/test/CodeGen/AArch64/fmv-detection.c
    M clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
    M clang/test/CodeGen/AArch64/fmv-resolver-emission.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
    M clang/test/CodeGen/AArch64/neon-2velem.c
    M clang/test/CodeGen/AArch64/neon-extract.c
    M clang/test/CodeGen/AArch64/neon-fma.c
    M clang/test/CodeGen/AArch64/neon-fp16fml.c
    M clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-ldst-one-rcpc3.c
    M clang/test/CodeGen/AArch64/neon-ldst-one.c
    M clang/test/CodeGen/AArch64/neon-misc-constrained.c
    M clang/test/CodeGen/AArch64/neon-misc.c
    M clang/test/CodeGen/AArch64/neon-perm.c
    M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem-constrained.c
    M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
    M clang/test/CodeGen/AArch64/neon-vcmla.c
    M clang/test/CodeGen/AArch64/poly-add.c
    M clang/test/CodeGen/AArch64/poly128.c
    M clang/test/CodeGen/AArch64/poly64.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
    M clang/test/CodeGen/AArch64/sve-vector-bits-codegen.c
    M clang/test/CodeGen/AArch64/v8.1a-neon-intrinsics.c
    M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.c
    M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
    M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
    M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
    M clang/test/CodeGen/AArch64/v8.6a-neon-intrinsics.c
    A clang/test/CodeGen/Mips/subtarget-feature-test.c
    A clang/test/CodeGen/RISCV/issue-129995.cpp
    R clang/test/CodeGen/RISCV/pr129995.cc
    M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
    M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
    M clang/test/CodeGen/X86/avx10_2_512minmax-error.c
    R clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
    M clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c
    M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64.c
    M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins.c
    M clang/test/CodeGen/X86/avx10_2convert-builtins.c
    M clang/test/CodeGen/X86/avx10_2minmax-builtins.c
    M clang/test/CodeGen/X86/avx10_2ni-builtins.c
    M clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
    R clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c
    M clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
    M clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
    M clang/test/CodeGen/amdgpu-abi-version.c
    M clang/test/CodeGen/amdgpu-address-spaces.cpp
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
    M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
    M clang/test/CodeGen/arm-bf16-getset-intrinsics.c
    M clang/test/CodeGen/arm-mve-intrinsics/admin.c
    M clang/test/CodeGen/arm-neon-directed-rounding-constrained.c
    M clang/test/CodeGen/arm-neon-directed-rounding.c
    M clang/test/CodeGen/arm-neon-fma.c
    M clang/test/CodeGen/arm-neon-numeric-maxmin.c
    M clang/test/CodeGen/arm-neon-vcvtX.c
    M clang/test/CodeGen/arm-neon-vst.c
    M clang/test/CodeGen/arm-poly-add.c
    M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
    M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
    M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
    M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
    M clang/test/CodeGen/arm64-vrnd-constrained.c
    M clang/test/CodeGen/arm64-vrnd.c
    M clang/test/CodeGen/arm64_vcreate.c
    M clang/test/CodeGen/arm64_vdupq_n_f64.c
    M clang/test/CodeGen/arm_neon_intrinsics.c
    M clang/test/CodeGen/attr-target-clones-riscv.c
    M clang/test/CodeGen/attr-target-version-riscv.c
    R clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/avr/argument.c
    M clang/test/CodeGen/bounds-checking-debuginfo.c
    A clang/test/CodeGen/cx-complex-range-real.c
    M clang/test/CodeGen/cx-complex-range.c
    M clang/test/CodeGen/fake-use-determinism.c
    A clang/test/CodeGen/promoted-complex-div.c
    M clang/test/CodeGen/setjmp.c
    R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
    M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
    M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
    M clang/test/CodeGenCUDASPIRV/spirv-attrs.cu
    M clang/test/CodeGenCXX/attr-target-clones-riscv.cpp
    M clang/test/CodeGenCXX/attr-target-version-riscv.cpp
    M clang/test/CodeGenCXX/builtins.cpp
    M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
    M clang/test/CodeGenCXX/derived-to-base.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
    M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
    A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
    M clang/test/CodeGenCXX/pragma-followup_inner.cpp
    M clang/test/CodeGenCXX/pragma-followup_outer.cpp
    M clang/test/CodeGenCXX/pragma-loop.cpp
    M clang/test/CodeGenCXX/vtable-consteval.cpp
    M clang/test/CodeGenHIP/default-attributes.hip
    M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
    A clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/asint16.hlsl
    A clang/test/CodeGenHLSL/builtins/asuint16.hlsl
    A clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/clamp.hlsl
    A clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/frac-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/isinf.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/radians.hlsl
    A clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/rsqrt-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/saturate-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
    A clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
    M clang/test/CodeGenHLSL/cbuffer.hlsl
    M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
    M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
    M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
    M clang/test/CodeGenHLSL/default_cbuffer.hlsl
    M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
    M clang/test/CodeGenHLSL/semantics/GroupIndex-codegen.hlsl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    A clang/test/CodeGenSPIRV/Builtins/smoothstep.c
    M clang/test/CoverageMapping/terminate-statements.cpp
    A clang/test/Driver/Inputs/SYCL/bar.ll
    A clang/test/Driver/Inputs/SYCL/baz.ll
    A clang/test/Driver/Inputs/SYCL/foo.ll
    A clang/test/Driver/Inputs/SYCL/libsycl.ll
    A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
    A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
    A clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
    A clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_abi_version_600.bc
    A clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_abi_version_600.bc
    M clang/test/Driver/aarch64-mcpu-native.c
    A clang/test/Driver/aarch64-nvidia-olympus.c
    M clang/test/Driver/aix-ld.c
    M clang/test/Driver/aix-print-runtime-dir.c
    M clang/test/Driver/aix-rtlib.c
    M clang/test/Driver/amdgpu-toolchain.c
    A clang/test/Driver/arch-arm64e.c
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/clang-sycl-linker-test.cpp
    M clang/test/Driver/fveclib.c
    M clang/test/Driver/hip-code-object-version.hip
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    A clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
    M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
    M clang/test/Driver/hip-toolchain-rdc.hip
    A clang/test/Driver/link-device-code.test
    M clang/test/Driver/mips-abi.c
    M clang/test/Driver/offload-Xarch.c
    M clang/test/Driver/openmp-offload.c
    M clang/test/Driver/print-enabled-extensions/aarch64-grace.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c
    A clang/test/Driver/print-enabled-extensions/aarch64-olympus.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/sparc-ias-Wa.s
    M clang/test/Driver/sycl-link-spirv-target.cpp
    M clang/test/Driver/x86-target-features.c
    A clang/test/Frontend/print-stats.c
    A clang/test/Index/extract-api-cursor-cpp.cpp
    M clang/test/Index/print-type.cpp
    R clang/test/Lexer/newline-eof-c++98-compat.cpp
    M clang/test/Lexer/newline-eof.c
    M clang/test/Misc/diag-template-diffing-cxx11.cpp
    M clang/test/Misc/target-invalid-cpu-note/aarch64.c
    M clang/test/Misc/warning-flags.c
    A clang/test/Modules/ComplexExplicitSpecifier.cpp
    A clang/test/Modules/MixedModulePrecompile.cpp
    A clang/test/Modules/diag-undefined-template.cpp
    M clang/test/Modules/eagerly-load-cxx-named-modules.cppm
    A clang/test/Modules/no-transitive-decl-change-3.cppm
    A clang/test/Modules/transitive-system.test
    M clang/test/Modules/vtable-windows.cppm
    M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
    M clang/test/OpenMP/for_reduction_messages.cpp
    M clang/test/OpenMP/for_simd_reduction_messages.cpp
    M clang/test/OpenMP/parallel_for_reduction_messages.cpp
    M clang/test/OpenMP/sections_reduction_messages.cpp
    M clang/test/Parser/cxx1z-decomposition.cpp
    M clang/test/Parser/decomposed-condition.cpp
    M clang/test/Parser/parser_overflow.c
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/ParserOpenACC/parse-constructs.cpp
    A clang/test/Preprocessor/embed_constexpr.c
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Profile/cxx-abc-deleting-dtor.cpp
    A clang/test/Sema/GH126231.cpp
    A clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
    M clang/test/Sema/aarch64-sve-vector-exp-ops.c
    M clang/test/Sema/aarch64-sve-vector-log-ops.c
    M clang/test/Sema/aarch64-sve-vector-pow-ops.c
    M clang/test/Sema/aarch64-sve-vector-trig-ops.c
    M clang/test/Sema/attr-args.c
    M clang/test/Sema/builtins-elementwise-math.c
    M clang/test/Sema/builtins-reduction-math.c
    M clang/test/Sema/count-builtins.c
    M clang/test/Sema/for.c
    M clang/test/Sema/riscv-rvv-vector-exp-ops.c
    M clang/test/Sema/riscv-rvv-vector-log-ops.c
    M clang/test/Sema/riscv-rvv-vector-trig-ops.c
    M clang/test/Sema/riscv-sve-vector-pow-ops.c
    A clang/test/SemaCUDA/spirv-attrs-diag.cu
    M clang/test/SemaCUDA/spirv-attrs.cu
    M clang/test/SemaCXX/MicrosoftExtensions.cpp
    M clang/test/SemaCXX/addr-of-overloaded-function.cpp
    M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
    A clang/test/SemaCXX/builtin-structured-binding-size.cpp
    M clang/test/SemaCXX/calling-conv-compat.cpp
    A clang/test/SemaCXX/concepts-subsumption.cpp
    M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
    M clang/test/SemaCXX/ctad.cpp
    M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
    M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
    M clang/test/SemaCXX/cxx98-compat.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
    A clang/test/SemaCXX/derived-to-base-propagate-qualifiers.cpp
    M clang/test/SemaCXX/err_init_conversion_failed.cpp
    A clang/test/SemaCXX/invalid-std-initializer-list.cpp
    M clang/test/SemaCXX/member-pointer.cpp
    A clang/test/SemaCXX/ms-member-pointer.cpp
    M clang/test/SemaCXX/ms_struct.cpp
    M clang/test/SemaCXX/offsetof-0x.cpp
    M clang/test/SemaCXX/offsetof.cpp
    M clang/test/SemaCXX/sugar-common-types.cpp
    A clang/test/SemaCXX/unused-bindings.cpp
    M clang/test/SemaCXX/unused.cpp
    M clang/test/SemaCXX/warn-final-dtor-non-final-class.cpp
    A clang/test/SemaHLSL/BuiltIns/asint16-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/asuint16-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/clamp-errors-16bit.hlsl
    M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/firstbithigh-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/firstbitlow-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/max-errors-16bit.hlsl
    A clang/test/SemaHLSL/BuiltIns/min-errors-16bit.hlsl
    M clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
    M clang/test/SemaObjCXX/message.mm
    M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
    M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
    M clang/test/SemaOpenACC/data-construct-if-ast.cpp
    M clang/test/SemaOpenACC/routine-construct-ast.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp
    M clang/test/SemaOpenACC/routine-construct.cpp
    R clang/test/SemaOpenACC/unimplemented-construct.c
    A clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/instantiate-member-pointers.cpp
    M clang/test/SemaTemplate/instantiation-backtrace.cpp
    M clang/test/SemaTemplate/temp_arg_nontype.cpp
    M clang/test/SemaTemplate/typename-specifier-4.cpp
    M clang/test/SemaTemplate/typename-specifier.cpp
    M clang/test/lit.cfg.py
    M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
    M clang/tools/cir-opt/cir-opt.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-sycl-linker/CMakeLists.txt
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
    M clang/tools/libclang/CXType.cpp
    M clang/tools/libclang/Indexing.cpp
    M clang/tools/scan-build/libexec/ccc-analyzer
    M clang/unittests/ASTMatchers/ASTMatchersInternalTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
    M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
    M clang/unittests/Analysis/MacroExpansionContextTest.cpp
    M clang/unittests/Basic/SourceManagerTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestJava.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Lex/HeaderSearchTest.cpp
    M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
    M clang/unittests/Lex/LexerTest.cpp
    M clang/unittests/Lex/ModuleDeclStateTest.cpp
    M clang/unittests/Lex/PPCallbacksTest.cpp
    M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
    M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
    M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
    M clang/unittests/Sema/HeuristicResolverTest.cpp
    M clang/unittests/StaticAnalyzer/CallEventTest.cpp
    M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
    M clang/unittests/Tooling/ExecutionTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
    M clang/utils/TableGen/NeonEmitter.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/lib/asan/asan_activation.cpp
    M compiler-rt/lib/asan/asan_flags.h
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/asan/asan_internal.h
    M compiler-rt/lib/asan/asan_linux.cpp
    M compiler-rt/lib/asan/asan_mac.cpp
    M compiler-rt/lib/asan/asan_poisoning.h
    M compiler-rt/lib/asan/asan_report.cpp
    M compiler-rt/lib/asan/asan_rtl.cpp
    M compiler-rt/lib/asan/asan_shadow_setup.cpp
    M compiler-rt/lib/asan/asan_win.cpp
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    A compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
    A compiler-rt/lib/ctx_profile/RootAutoDetector.h
    M compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
    M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    A compiler-rt/lib/ctx_profile/tests/RootAutoDetectorTest.cpp
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp
    M compiler-rt/lib/memprof/memprof_flags.h
    M compiler-rt/lib/orc/CMakeLists.txt
    M compiler-rt/lib/orc/error.h
    R compiler-rt/lib/orc/extensible_rtti.cpp
    R compiler-rt/lib/orc/extensible_rtti.h
    A compiler-rt/lib/orc/rtti.cpp
    A compiler-rt/lib/orc/rtti.h
    M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
    M compiler-rt/lib/orc/tests/unit/error_test.cpp
    R compiler-rt/lib/orc/tests/unit/extensible_rtti_test.cpp
    A compiler-rt/lib/orc/tests/unit/rtti_test.cpp
    A compiler-rt/lib/orc/tests/unit/unique_function_test.cpp
    A compiler-rt/lib/orc/unique_function.h
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingBuffer.c
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/lib/profile/InstrProfilingInternal.h
    M compiler-rt/lib/profile/InstrProfilingUtil.c
    M compiler-rt/lib/profile/InstrProfilingUtil.h
    M compiler-rt/lib/profile/InstrProfilingWriter.c
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/asan/TestCases/Darwin/suppressions-sandbox.cpp
    M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
    A compiler-rt/test/asan/TestCases/Posix/setproctitle.c
    M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
    M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
    M compiler-rt/test/asan/lit.cfg.py
    M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/lit.common.configured.in
    M compiler-rt/test/metadata/lit.cfg.py
    A compiler-rt/test/profile/AIX/pgo-lto-bcdtor-function-section.test
    A compiler-rt/test/profile/Linux/coverage-statement-expression.cpp
    M compiler-rt/test/profile/Posix/instrprof-fork.c
    M compiler-rt/test/profile/instrprof-darwin-dead-strip.c
    A compiler-rt/test/profile/instrprof-no-mmap-during-merging.c
    M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
    A compiler-rt/test/sanitizer_common/TestCases/disable_symbolizer_path_search.cpp
    M compiler-rt/test/tsan/Darwin/no_call_setenv_in_symbolize.cpp
    M compiler-rt/test/tsan/Linux/clone_setns.cpp
    M compiler-rt/test/tsan/cxa_guard_acquire.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/llgdb.py
    M cross-project-tests/debuginfo-tests/llgdb-tests/test_debuginfo.pl
    M cross-project-tests/lit.cfg.py
    A cross-project-tests/tools/llvm-objdump/ARM/lit.local.cfg
    A cross-project-tests/tools/llvm-objdump/ARM/plt.c
    M flang-rt/CMakeLists.txt
    M flang-rt/README.md
    R flang-rt/cmake/clang_gcc_root.cpp
    M flang-rt/cmake/modules/AddFlangRT.cmake
    A flang-rt/cmake/modules/HandleLibs.cmake
    M flang-rt/cmake/quadmath_wrapper.h.in
    M flang-rt/include/flang-rt/runtime/environment.h
    M flang-rt/lib/cuda/allocator.cpp
    M flang-rt/lib/cuda/memory.cpp
    M flang-rt/lib/quadmath/CMakeLists.txt
    M flang-rt/lib/runtime/CMakeLists.txt
    M flang-rt/lib/runtime/command.cpp
    M flang-rt/lib/runtime/environment.cpp
    M flang-rt/lib/runtime/exceptions.cpp
    M flang-rt/lib/runtime/extensions.cpp
    M flang-rt/lib/runtime/io-api.cpp
    M flang-rt/lib/runtime/io-stmt.cpp
    M flang-rt/lib/runtime/matmul-transpose.cpp
    M flang-rt/lib/runtime/matmul.cpp
    M flang-rt/lib/runtime/stop.cpp
    M flang-rt/lib/runtime/transformational.cpp
    M flang-rt/unittests/Runtime/ExternalIOTest.cpp
    M flang-rt/unittests/Runtime/ListInputTest.cpp
    M flang-rt/unittests/Runtime/LogicalFormatTest.cpp
    M flang-rt/unittests/Runtime/Namelist.cpp
    M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
    M flang-rt/unittests/Runtime/RuntimeCrashTest.cpp
    M flang-rt/unittests/Runtime/Transformational.cpp
    M flang/CMakeLists.txt
    M flang/cmake/modules/FlangCommon.cmake
    A flang/cmake/quadmath_wrapper.h.in
    M flang/docs/ArrayRepacking.md
    M flang/docs/Intrinsics.md
    M flang/docs/OpenMP-descriptor-management.md
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/include/flang/Common/api-attrs.h
    M flang/include/flang/Common/windows-include.h
    M flang/include/flang/Evaluate/common.h
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Evaluate/variable.h
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Command.h
    M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/Builder/Runtime/Transformational.h
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/command.h
    M flang/include/flang/Runtime/exceptions.h
    M flang/include/flang/Runtime/extensions.h
    R flang/include/flang/Runtime/io-api-consts.h
    M flang/include/flang/Runtime/io-api.h
    M flang/include/flang/Runtime/stop.h
    M flang/include/flang/Runtime/transformational.h
    M flang/include/flang/Semantics/dump-expr.h
    M flang/include/flang/Semantics/expression.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/include/flang/Semantics/tools.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Evaluate/CMakeLists.txt
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Evaluate/host.h
    M flang/lib/Evaluate/intrinsics-library.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/target.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/IterationSpace.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/PrivateReductionUtils.cpp
    M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Command.cpp
    M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
    M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    A flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    M flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
    M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
    M flang/lib/Parser/message.cpp
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/parse-tree.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    M flang/lib/Parser/unparse.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-cuda.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/openmp-modifiers.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/lib/Support/Fortran.cpp
    M flang/module/ieee_arithmetic.f90
    M flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/debug-parsing-log.f90
    M flang/test/Driver/fveclib.f90
    A flang/test/Driver/m64-option.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    A flang/test/Driver/slp-vectorize.f90
    M flang/test/Fir/CUDA/cuda-constructor.f90
    M flang/test/Fir/CUDA/cuda-launch.fir
    M flang/test/Fir/CUDA/cuda-shared-offset.mlir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/HLFIR/all-lowering.fir
    M flang/test/HLFIR/any-lowering.fir
    M flang/test/HLFIR/associate-codegen.fir
    M flang/test/HLFIR/assumed-type-actual-args.f90
    M flang/test/HLFIR/boxchar_emboxing.f90
    M flang/test/HLFIR/count-lowering.fir
    M flang/test/HLFIR/cshift-lowering.fir
    M flang/test/HLFIR/dot_product-lowering.fir
    M flang/test/HLFIR/elemental-codegen-nested.fir
    M flang/test/HLFIR/elemental-codegen.fir
    M flang/test/HLFIR/maxloc-lowering.fir
    M flang/test/HLFIR/maxval-lowering.fir
    M flang/test/HLFIR/minloc-lowering.fir
    M flang/test/HLFIR/minval-lowering.fir
    M flang/test/HLFIR/mul_transpose.f90
    M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
    M flang/test/HLFIR/order_assignments/forall-pointer-assignment-scheduling.f90
    M flang/test/HLFIR/order_assignments/user-defined-assignment.fir
    M flang/test/HLFIR/product-lowering.fir
    M flang/test/HLFIR/reshape-lowering.fir
    M flang/test/HLFIR/sum-lowering.fir
    M flang/test/HLFIR/transpose-lowering.fir
    M flang/test/Integration/debug-complex-1.f90
    M flang/test/Integration/debug-local-var-2.f90
    R flang/test/Lower/AMD/code-object-version.f90
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    M flang/test/Lower/CUDA/cuda-return01.cuf
    M flang/test/Lower/CUDA/cuda-return02.cuf
    M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
    M flang/test/Lower/HLFIR/allocatable-and-pointer-status-change.f90
    M flang/test/Lower/HLFIR/allocatable-end-of-scope-dealloc.f90
    M flang/test/Lower/HLFIR/allocatable-return.f90
    M flang/test/Lower/HLFIR/allocatables-and-pointers.f90
    M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
    M flang/test/Lower/HLFIR/array-ctor-derived.f90
    M flang/test/Lower/HLFIR/array-ctor-index.f90
    M flang/test/Lower/HLFIR/associate-construct.f90
    M flang/test/Lower/HLFIR/assumed-rank-iface.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries-2.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
    M flang/test/Lower/HLFIR/bindc-entry-stmt.f90
    M flang/test/Lower/HLFIR/bindc-value-derived.f90
    M flang/test/Lower/HLFIR/call-issue-124043.f90
    M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
    M flang/test/Lower/HLFIR/calls-array-results.f90
    M flang/test/Lower/HLFIR/calls-assumed-shape.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
    M flang/test/Lower/HLFIR/calls-f77.f90
    M flang/test/Lower/HLFIR/calls-optional.f90
    M flang/test/Lower/HLFIR/calls-percent-val-ref.f90
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/HLFIR/custom-intrinsic.f90
    M flang/test/Lower/HLFIR/elemental-array-ops.f90
    M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
    M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
    M flang/test/Lower/HLFIR/entry_return.f90
    M flang/test/Lower/HLFIR/expr-addr.f90
    M flang/test/Lower/HLFIR/expr-as-inquired.f90
    M flang/test/Lower/HLFIR/function-return-as-expr.f90
    M flang/test/Lower/HLFIR/function-return.f90
    M flang/test/Lower/HLFIR/goto-do-body.f90
    M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
    M flang/test/Lower/HLFIR/implicit-call-mismatch.f90
    M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
    M flang/test/Lower/HLFIR/internal-procedures.f90
    M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
    M flang/test/Lower/HLFIR/intrinsic-module-procedures.f90
    M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
    M flang/test/Lower/HLFIR/issue80884.f90
    M flang/test/Lower/HLFIR/maxloc.f90
    M flang/test/Lower/HLFIR/maxval.f90
    M flang/test/Lower/HLFIR/minloc.f90
    M flang/test/Lower/HLFIR/minval.f90
    M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
    M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
    M flang/test/Lower/HLFIR/procedure-designators.f90
    M flang/test/Lower/HLFIR/procedure-pointer.f90
    M flang/test/Lower/HLFIR/product.f90
    M flang/test/Lower/HLFIR/reshape.f90
    M flang/test/Lower/HLFIR/select-rank.f90
    M flang/test/Lower/HLFIR/select-type-selector.f90
    M flang/test/Lower/HLFIR/structure-constructor.f90
    M flang/test/Lower/HLFIR/sum.f90
    M flang/test/Lower/HLFIR/transformational.f90
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
    M flang/test/Lower/Intrinsics/acos_complex16.f90
    M flang/test/Lower/Intrinsics/acosh_complex16.f90
    M flang/test/Lower/Intrinsics/asin_complex16.f90
    M flang/test/Lower/Intrinsics/asinh_complex16.f90
    M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
    M flang/test/Lower/Intrinsics/atan_complex16.f90
    M flang/test/Lower/Intrinsics/atanh_complex16.f90
    M flang/test/Lower/Intrinsics/c_f_procpointer.f90
    M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
    M flang/test/Lower/Intrinsics/chdir.f90
    M flang/test/Lower/Intrinsics/cos_complex16.f90
    M flang/test/Lower/Intrinsics/cosh_complex16.f90
    A flang/test/Lower/Intrinsics/erf.f90
    M flang/test/Lower/Intrinsics/erf_real16.f90
    M flang/test/Lower/Intrinsics/erfc.f90
    M flang/test/Lower/Intrinsics/erfc_real16.f90
    M flang/test/Lower/Intrinsics/erfc_scaled.f90
    A flang/test/Lower/Intrinsics/erfc_scaled_real16.f90
    M flang/test/Lower/Intrinsics/exp_complex16.f90
    A flang/test/Lower/Intrinsics/hostnm-func.f90
    A flang/test/Lower/Intrinsics/hostnm-sub.f90
    M flang/test/Lower/Intrinsics/ieee_compare.f90
    M flang/test/Lower/Intrinsics/ieee_flag.f90
    M flang/test/Lower/Intrinsics/ieee_logb.f90
    M flang/test/Lower/Intrinsics/ieee_max_min.f90
    M flang/test/Lower/Intrinsics/ieee_next.f90
    M flang/test/Lower/Intrinsics/ieee_real.f90
    M flang/test/Lower/Intrinsics/ieee_rem.f90
    M flang/test/Lower/Intrinsics/ieee_rint_int.f90
    M flang/test/Lower/Intrinsics/ieee_rounding.f90
    M flang/test/Lower/Intrinsics/loc.f90
    M flang/test/Lower/Intrinsics/log_complex16.f90
    M flang/test/Lower/Intrinsics/min.f90
    M flang/test/Lower/Intrinsics/nearest.f90
    A flang/test/Lower/Intrinsics/perror.f90
    M flang/test/Lower/Intrinsics/pow_complex16.f90
    M flang/test/Lower/Intrinsics/pow_complex16i.f90
    M flang/test/Lower/Intrinsics/pow_complex16k.f90
    M flang/test/Lower/Intrinsics/product.f90
    M flang/test/Lower/Intrinsics/reduce.f90
    M flang/test/Lower/Intrinsics/rename.f90
    M flang/test/Lower/Intrinsics/second.f90
    M flang/test/Lower/Intrinsics/selected_logical_kind.f90
    M flang/test/Lower/Intrinsics/shape.f90
    M flang/test/Lower/Intrinsics/signal.f90
    M flang/test/Lower/Intrinsics/sin_complex16.f90
    M flang/test/Lower/Intrinsics/sinh_complex16.f90
    M flang/test/Lower/Intrinsics/sqrt_complex16.f90
    M flang/test/Lower/Intrinsics/sum.f90
    M flang/test/Lower/Intrinsics/system-optional.f90
    M flang/test/Lower/Intrinsics/system.f90
    M flang/test/Lower/Intrinsics/tan_complex16.f90
    M flang/test/Lower/Intrinsics/tanh_complex16.f90
    M flang/test/Lower/OpenACC/acc-atomic-capture.f90
    M flang/test/Lower/OpenACC/acc-atomic-read.f90
    M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
    M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
    M flang/test/Lower/OpenACC/acc-atomic-update.f90
    M flang/test/Lower/OpenACC/acc-atomic-write.f90
    M flang/test/Lower/OpenACC/acc-data-operands-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-data-operands.f90
    M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/OpenACC/acc-enter-data-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-enter-data.f90
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-kernels.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel.f90
    M flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M flang/test/Lower/OpenACC/acc-serial.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
    A flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
    A flang/test/Lower/OpenMP/Todo/interop-construct.f90
    M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
    M flang/test/Lower/OpenMP/allocatable-map.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/atomic-capture.f90
    M flang/test/Lower/OpenMP/atomic-read.f90
    M flang/test/Lower/OpenMP/atomic-update.f90
    M flang/test/Lower/OpenMP/atomic-write.f90
    M flang/test/Lower/OpenMP/common-atomic-lowering.f90
    M flang/test/Lower/OpenMP/copyin-order.f90
    M flang/test/Lower/OpenMP/copyin.f90
    A flang/test/Lower/OpenMP/cray-pointers01.f90
    A flang/test/Lower/OpenMP/cray-pointers02.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/declare-mapper.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
    M flang/test/Lower/OpenMP/flush.f90
    M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/lastprivate-simd.f90
    M flang/test/Lower/OpenMP/loop-directive.f90
    M flang/test/Lower/OpenMP/loop-pointer-variable.f90
    M flang/test/Lower/OpenMP/map-mapper.f90
    M flang/test/Lower/OpenMP/omp-is-gpu.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/parallel.f90
    M flang/test/Lower/OpenMP/private-commonblock.f90
    M flang/test/Lower/OpenMP/private-derived-type.f90
    M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
    M flang/test/Lower/OpenMP/scan.f90
    M flang/test/Lower/OpenMP/sections.f90
    M flang/test/Lower/OpenMP/shared-loop.f90
    M flang/test/Lower/OpenMP/simd.f90
    M flang/test/Lower/OpenMP/simd_x86_64.f90
    M flang/test/Lower/OpenMP/single.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    A flang/test/Lower/OpenMP/task-depend-array-section.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/threadprivate-char-array-chararray.f90
    A flang/test/Lower/OpenMP/threadprivate-common-block-pointer.f90
    M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
    M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
    M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
    M flang/test/Lower/OpenMP/threadprivate-host-association.f90
    M flang/test/Lower/OpenMP/threadprivate-integer-different-kinds.f90
    M flang/test/Lower/OpenMP/threadprivate-pointer-allocatable.f90
    M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-chunks.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-array-lb.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-array-lb2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
    M flang/test/Lower/OpenMP/wsloop-schedule.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocate-source-allocatables-2.f90
    M flang/test/Lower/array-character.f90
    M flang/test/Lower/array-elemental-calls-char-byval.f90
    M flang/test/Lower/array-elemental-calls-char.f90
    M flang/test/Lower/call-by-value-attr.f90
    M flang/test/Lower/complex-operations.f90
    M flang/test/Lower/components.f90
    M flang/test/Lower/derived-type-temp.f90
    M flang/test/Lower/entry-statement.f90
    M flang/test/Lower/intentout-deallocate.f90
    M flang/test/Lower/io-asynchronous.f90
    M flang/test/Lower/nullify-polymorphic.f90
    A flang/test/Lower/repack-arrays-asynchronous.f90
    A flang/test/Lower/repack-arrays-finalized-dummy.f90
    A flang/test/Lower/repack-arrays-target.f90
    A flang/test/Lower/repack-arrays.f90
    M flang/test/Lower/structure-constructors-alloc-comp.f90
    M flang/test/Parser/OpenMP/depobj-construct.f90
    M flang/test/Parser/OpenMP/doacross-clause.f90
    M flang/test/Parser/OpenMP/from-clause.f90
    M flang/test/Parser/OpenMP/if-clause.f90
    A flang/test/Parser/OpenMP/interop-construct.f90
    M flang/test/Parser/OpenMP/metadirective-dirspec.f90
    M flang/test/Parser/OpenMP/metadirective-flush.f90
    M flang/test/Parser/OpenMP/ordered-depend.f90
    M flang/test/Parser/OpenMP/scan.f90
    M flang/test/Parser/OpenMP/target-update-to-clause.f90
    A flang/test/Parser/acc-data-statement.f90
    A flang/test/Parser/acc.f
    A flang/test/Preprocessing/kind-suffix.F90
    M flang/test/Semantics/OpenMP/depend01.f90
    M flang/test/Semantics/OpenMP/depobj-construct-v50.f90
    A flang/test/Semantics/OpenMP/interop-construct.f90
    M flang/test/Semantics/array-constr-values.f90
    M flang/test/Semantics/assign04.f90
    A flang/test/Semantics/bug131579.f90
    A flang/test/Semantics/bug132435.f90
    A flang/test/Semantics/bug396.f90
    M flang/test/Semantics/call10.f90
    A flang/test/Semantics/change_team02.f90
    M flang/test/Semantics/cuf09.cuf
    M flang/test/Semantics/cuf13.cuf
    M flang/test/Semantics/data05.f90
    A flang/test/Semantics/erf.f90
    A flang/test/Semantics/erfc.f90
    A flang/test/Semantics/erfc_scaled.f90
    M flang/test/Semantics/event02b.f90
    M flang/test/Semantics/form_team01a.f90
    M flang/test/Semantics/form_team01b.f90
    A flang/test/Semantics/hostnm.f90
    M flang/test/Semantics/intrinsics01.f90
    M flang/test/Semantics/modfile12.f90
    A flang/test/Semantics/sizeof.f90
    M flang/test/Semantics/structconst03.f90
    M flang/test/Semantics/structconst04.f90
    A flang/test/Semantics/sync-images.f90
    A flang/test/Transforms/debug-dummy-argument.fir
    A flang/test/Transforms/do_concurrent-to-do_loop-unodered.fir
    A flang/test/Transforms/loop-versioning-with-repack-arrays.fir
    A flang/test/Transforms/lower-repack-arrays.fir
    M flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
    M flang/test/Transforms/omp-map-info-finalization.fir
    M flang/test/Transforms/simplify-fir-operations.fir
    M flang/tools/bbc/bbc.cpp
    M flang/tools/flang-driver/CMakeLists.txt
    M libc/CMakeLists.txt
    A libc/Maintainers.rst
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/cmake/modules/prepare_libc_gpu_build.cmake
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/docs/CMakeLists.txt
    A libc/docs/Maintainers.rst
    M libc/docs/headers/index.rst
    M libc/docs/headers/math/index.rst
    M libc/docs/index.rst
    M libc/docs/uefi/index.rst
    M libc/hdr/CMakeLists.txt
    A libc/hdr/sched_macros.h
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/cpu_set_t.h
    A libc/hdr/types/struct_dl_phdr_info.h
    M libc/include/CMakeLists.txt
    R libc/include/link.h.def
    M libc/include/link.yaml
    M libc/include/llvm-libc-macros/linux/sched-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/VISIT.h
    A libc/include/llvm-libc-types/__dl_iterate_phdr_callback_t.h
    M libc/include/llvm-libc-types/cpu_set_t.h
    A libc/include/llvm-libc-types/struct_dl_phdr_info.h
    M libc/include/math.yaml
    M libc/include/search.yaml
    M libc/include/stdlib.yaml
    M libc/shared/rpc.h
    M libc/src/CMakeLists.txt
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/FPUtil/Hypot.h
    M libc/src/__support/FPUtil/cast.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    M libc/src/__support/RPC/rpc_server.h
    M libc/src/__support/float_to_string.h
    A libc/src/link/CMakeLists.txt
    A libc/src/link/dl_iterate_phdr.cpp
    A libc/src/link/dl_iterate_phdr.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/acoshf16.h
    A libc/src/math/asinhf16.h
    A libc/src/math/atan2f128.h
    A libc/src/math/fmaf16.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/acoshf16.cpp
    A libc/src/math/generic/asinhf16.cpp
    A libc/src/math/generic/atan.cpp
    M libc/src/math/generic/atan2.cpp
    A libc/src/math/generic/atan2f128.cpp
    A libc/src/math/generic/atan_utils.h
    M libc/src/math/generic/cbrtf.cpp
    M libc/src/math/generic/coshf16.cpp
    A libc/src/math/generic/fmaf16.cpp
    A libc/src/math/generic/hypotf16.cpp
    M libc/src/math/generic/sinhf16.cpp
    A libc/src/math/hypotf16.h
    M libc/src/sched/CMakeLists.txt
    M libc/src/sched/linux/CMakeLists.txt
    M libc/src/sched/linux/sched_getcpucount.cpp
    A libc/src/sched/linux/sched_getcpuisset.cpp
    A libc/src/sched/linux/sched_setcpuset.cpp
    A libc/src/sched/linux/sched_setcpuzero.cpp
    A libc/src/sched/sched_getcpuisset.h
    A libc/src/sched/sched_setcpuset.h
    A libc/src/sched/sched_setcpuzero.h
    M libc/src/search/CMakeLists.txt
    M libc/src/search/lfind.cpp
    A libc/src/search/lsearch.cpp
    A libc/src/search/lsearch.h
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/baremetal/CMakeLists.txt
    M libc/src/stdio/baremetal/getchar.cpp
    A libc/src/stdio/baremetal/scanf.cpp
    A libc/src/stdio/baremetal/scanf_internal.h
    A libc/src/stdio/baremetal/vscanf.cpp
    R libc/src/stdio/fscanf.cpp
    M libc/src/stdio/generic/CMakeLists.txt
    A libc/src/stdio/generic/fscanf.cpp
    A libc/src/stdio/generic/scanf.cpp
    A libc/src/stdio/generic/vfscanf.cpp
    A libc/src/stdio/generic/vscanf.cpp
    R libc/src/stdio/scanf.cpp
    M libc/src/stdio/scanf_core/CMakeLists.txt
    M libc/src/stdio/scanf_core/vfscanf_internal.h
    R libc/src/stdio/vfscanf.cpp
    R libc/src/stdio/vscanf.cpp
    M libc/src/stdlib/CMakeLists.txt
    A libc/src/stdlib/memalignment.cpp
    A libc/src/stdlib/memalignment.h
    M libc/src/time/mktime.cpp
    M libc/src/time/time_utils.cpp
    M libc/src/time/time_utils.h
    M libc/test/UnitTest/CMakeLists.txt
    A libc/test/UnitTest/ErrnoCheckingTest.h
    M libc/test/UnitTest/ErrnoSetterMatcher.h
    M libc/test/UnitTest/Test.h
    M libc/test/UnitTest/ZxTest.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/atomic_test.cpp
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/FmaTest.h
    M libc/test/src/math/HypotTest.h
    A libc/test/src/math/acoshf16_test.cpp
    A libc/test/src/math/asinhf16_test.cpp
    A libc/test/src/math/atan2f128_test.cpp
    A libc/test/src/math/atan_test.cpp
    M libc/test/src/math/exhaustive/CMakeLists.txt
    A libc/test/src/math/exhaustive/hypotf16_test.cpp
    M libc/test/src/math/exhaustive/hypotf_test.cpp
    A libc/test/src/math/fmaf16_test.cpp
    A libc/test/src/math/hypotf16_test.cpp
    M libc/test/src/math/performance_testing/CMakeLists.txt
    A libc/test/src/math/performance_testing/hypotf16_perf.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/FmaTest.h
    A libc/test/src/math/smoke/acoshf16_test.cpp
    A libc/test/src/math/smoke/asinhf16_test.cpp
    A libc/test/src/math/smoke/atan2f128_test.cpp
    A libc/test/src/math/smoke/atan_test.cpp
    A libc/test/src/math/smoke/fmaf16_test.cpp
    A libc/test/src/math/smoke/hypotf16_test.cpp
    M libc/test/src/search/CMakeLists.txt
    A libc/test/src/search/lsearch_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/memalignment_test.cpp
    M libc/test/src/sys/epoll/linux/CMakeLists.txt
    M libc/test/src/sys/epoll/linux/epoll_create1_test.cpp
    M libc/test/src/sys/epoll/linux/epoll_create_test.cpp
    M libc/test/src/sys/epoll/linux/epoll_ctl_test.cpp
    M libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
    M libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
    M libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    M libc/test/src/sys/socket/linux/bind_test.cpp
    M libc/test/src/sys/socket/linux/send_recv_test.cpp
    M libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
    M libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
    M libc/test/src/sys/socket/linux/socket_test.cpp
    M libc/test/src/sys/socket/linux/socketpair_test.cpp
    M libc/test/src/time/CMakeLists.txt
    M libc/test/src/time/mktime_test.cpp
    M libc/test/src/unistd/CMakeLists.txt
    M libc/test/src/unistd/access_test.cpp
    M libc/test/src/unistd/chdir_test.cpp
    M libc/test/src/unistd/dup2_test.cpp
    M libc/test/src/unistd/dup3_test.cpp
    M libc/test/src/unistd/dup_test.cpp
    M libc/test/src/unistd/fchdir_test.cpp
    M libc/test/src/unistd/fpathconf_test.cpp
    M libc/test/src/unistd/ftruncate_test.cpp
    M libc/test/src/unistd/getentropy_test.cpp
    M libc/test/src/unistd/getsid_test.cpp
    M libc/test/src/unistd/isatty_test.cpp
    M libc/test/src/unistd/link_test.cpp
    M libc/test/src/unistd/linkat_test.cpp
    M libc/test/src/unistd/lseek_test.cpp
    M libc/test/src/unistd/pathconf_test.cpp
    M libc/test/src/unistd/pipe2_test.cpp
    M libc/test/src/unistd/pipe_test.cpp
    M libc/test/src/unistd/pread_pwrite_test.cpp
    M libc/test/src/unistd/read_write_test.cpp
    M libc/test/src/unistd/readlink_test.cpp
    M libc/test/src/unistd/readlinkat_test.cpp
    M libc/test/src/unistd/rmdir_test.cpp
    M libc/test/src/unistd/symlink_test.cpp
    M libc/test/src/unistd/symlinkat_test.cpp
    M libc/test/src/unistd/syscall_test.cpp
    M libc/test/src/unistd/truncate_test.cpp
    M libc/test/src/unistd/unlink_test.cpp
    M libc/test/src/unistd/unlinkat_test.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    A libc/utils/docgen/dirent.yaml
    A libc/utils/docgen/sys/utsname.yaml
    R libc/utils/gpu/CMakeLists.txt
    R libc/utils/gpu/loader/CMakeLists.txt
    R libc/utils/gpu/loader/amdgpu/CMakeLists.txt
    R libc/utils/gpu/loader/nvptx/CMakeLists.txt
    M libc/utils/hdrgen/hdrgen/header.py
    M libclc/CMakeLists.txt
    M libclc/amdgcn-amdhsa/lib/workitem/get_global_size.cl
    M libclc/amdgcn-amdhsa/lib/workitem/get_local_size.cl
    M libclc/amdgcn-amdhsa/lib/workitem/get_num_groups.cl
    M libclc/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
    M libclc/amdgcn/lib/math/fmax.cl
    M libclc/amdgcn/lib/math/fmin.cl
    M libclc/amdgcn/lib/mem_fence/fence.cl
    M libclc/amdgcn/lib/synchronization/barrier.cl
    M libclc/amdgcn/lib/workitem/get_global_offset.cl
    M libclc/amdgcn/lib/workitem/get_global_size.cl
    M libclc/amdgcn/lib/workitem/get_group_id.cl
    M libclc/amdgcn/lib/workitem/get_local_id.cl
    M libclc/amdgcn/lib/workitem/get_local_size.cl
    M libclc/amdgcn/lib/workitem/get_num_groups.cl
    M libclc/amdgcn/lib/workitem/get_work_dim.cl
    M libclc/amdgpu/lib/SOURCES
    M libclc/amdgpu/lib/math/half_exp.cl
    M libclc/amdgpu/lib/math/half_exp10.cl
    M libclc/amdgpu/lib/math/half_exp2.cl
    M libclc/amdgpu/lib/math/half_log.cl
    M libclc/amdgpu/lib/math/half_log10.cl
    M libclc/amdgpu/lib/math/half_log2.cl
    M libclc/amdgpu/lib/math/half_native_unary.inc
    M libclc/amdgpu/lib/math/half_recip.cl
    M libclc/amdgpu/lib/math/half_rsqrt.cl
    M libclc/amdgpu/lib/math/half_sqrt.cl
    R libclc/amdgpu/lib/math/native_exp.cl
    R libclc/amdgpu/lib/math/native_exp.inc
    R libclc/amdgpu/lib/math/native_log.cl
    R libclc/amdgpu/lib/math/native_log.inc
    R libclc/amdgpu/lib/math/native_log10.cl
    R libclc/amdgpu/lib/math/native_log10.inc
    M libclc/amdgpu/lib/shared/vload_half_helpers.ll
    M libclc/amdgpu/lib/shared/vstore_half_helpers.ll
    M libclc/clc/include/clc/clc_as_type.h
    M libclc/clc/include/clc/clc_convert.h
    M libclc/clc/include/clc/clcfunc.h
    M libclc/clc/include/clc/clcmacro.h
    M libclc/clc/include/clc/clctypes.h
    M libclc/clc/include/clc/common/clc_degrees.h
    M libclc/clc/include/clc/common/clc_radians.h
    M libclc/clc/include/clc/common/clc_sign.h
    M libclc/clc/include/clc/common/clc_smoothstep.h
    M libclc/clc/include/clc/common/clc_smoothstep.inc
    M libclc/clc/include/clc/float/definitions.h
    M libclc/clc/include/clc/geometric/clc_dot.h
    M libclc/clc/include/clc/geometric/clc_dot.inc
    M libclc/clc/include/clc/geometric/floatn.inc
    M libclc/clc/include/clc/integer/clc_abs.h
    M libclc/clc/include/clc/integer/clc_abs.inc
    M libclc/clc/include/clc/integer/clc_abs_diff.h
    M libclc/clc/include/clc/integer/clc_abs_diff.inc
    M libclc/clc/include/clc/integer/clc_add_sat.h
    M libclc/clc/include/clc/integer/clc_clz.h
    M libclc/clc/include/clc/integer/clc_hadd.h
    M libclc/clc/include/clc/integer/clc_mad24.h
    M libclc/clc/include/clc/integer/clc_mad_hi.h
    M libclc/clc/include/clc/integer/clc_mad_sat.h
    M libclc/clc/include/clc/integer/clc_mul24.h
    M libclc/clc/include/clc/integer/clc_mul_hi.h
    M libclc/clc/include/clc/integer/clc_popcount.h
    M libclc/clc/include/clc/integer/clc_rhadd.h
    M libclc/clc/include/clc/integer/clc_rotate.h
    M libclc/clc/include/clc/integer/clc_sub_sat.h
    M libclc/clc/include/clc/integer/clc_upsample.h
    M libclc/clc/include/clc/integer/definitions.h
    M libclc/clc/include/clc/integer/gentype.inc
    M libclc/clc/include/clc/integer/gentype24.inc
    M libclc/clc/include/clc/internal/clc.h
    M libclc/clc/include/clc/internal/math/clc_sw_fma.h
    A libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
    M libclc/clc/include/clc/math/binary_decl_with_scalar_second_arg.inc
    A libclc/clc/include/clc/math/binary_def_via_fp32.inc
    A libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
    A libclc/clc/include/clc/math/clc_acos.h
    A libclc/clc/include/clc/math/clc_acosh.h
    A libclc/clc/include/clc/math/clc_acospi.h
    A libclc/clc/include/clc/math/clc_asin.h
    A libclc/clc/include/clc/math/clc_asinh.h
    A libclc/clc/include/clc/math/clc_asinpi.h
    A libclc/clc/include/clc/math/clc_atan.h
    A libclc/clc/include/clc/math/clc_atan2.h
    A libclc/clc/include/clc/math/clc_atan2pi.h
    A libclc/clc/include/clc/math/clc_atanh.h
    A libclc/clc/include/clc/math/clc_atanpi.h
    M libclc/clc/include/clc/math/clc_ceil.h
    M libclc/clc/include/clc/math/clc_copysign.h
    A libclc/clc/include/clc/math/clc_cospi.h
    A libclc/clc/include/clc/math/clc_ep_log.h
    A libclc/clc/include/clc/math/clc_ep_log.inc
    A libclc/clc/include/clc/math/clc_exp.h
    A libclc/clc/include/clc/math/clc_exp10.h
    A libclc/clc/include/clc/math/clc_exp2.h
    A libclc/clc/include/clc/math/clc_exp_helper.h
    A libclc/clc/include/clc/math/clc_exp_helper.inc
    A libclc/clc/include/clc/math/clc_expm1.h
    M libclc/clc/include/clc/math/clc_fabs.h
    M libclc/clc/include/clc/math/clc_floor.h
    M libclc/clc/include/clc/math/clc_fma.h
    A libclc/clc/include/clc/math/clc_fmod.h
    M libclc/clc/include/clc/math/clc_frexp.h
    M libclc/clc/include/clc/math/clc_hypot.h
    M libclc/clc/include/clc/math/clc_ldexp.h
    M libclc/clc/include/clc/math/clc_ldexp.inc
    M libclc/clc/include/clc/math/clc_log.h
    M libclc/clc/include/clc/math/clc_log10.h
    A libclc/clc/include/clc/math/clc_log1p.h
    M libclc/clc/include/clc/math/clc_log2.h
    M libclc/clc/include/clc/math/clc_mad.h
    M libclc/clc/include/clc/math/clc_modf.h
    M libclc/clc/include/clc/math/clc_nan.h
    M libclc/clc/include/clc/math/clc_nan.inc
    A libclc/clc/include/clc/math/clc_native_cos.h
    A libclc/clc/include/clc/math/clc_native_divide.h
    A libclc/clc/include/clc/math/clc_native_exp.h
    A libclc/clc/include/clc/math/clc_native_exp2.h
    A libclc/clc/include/clc/math/clc_native_log.h
    A libclc/clc/include/clc/math/clc_native_log10.h
    A libclc/clc/include/clc/math/clc_native_log2.h
    A libclc/clc/include/clc/math/clc_native_recip.h
    A libclc/clc/include/clc/math/clc_native_rsqrt.h
    A libclc/clc/include/clc/math/clc_native_sin.h
    A libclc/clc/include/clc/math/clc_native_sqrt.h
    M libclc/clc/include/clc/math/clc_nextafter.h
    A libclc/clc/include/clc/math/clc_pow.h
    A libclc/clc/include/clc/math/clc_pown.h
    A libclc/clc/include/clc/math/clc_powr.h
    A libclc/clc/include/clc/math/clc_remainder.h
    A libclc/clc/include/clc/math/clc_remquo.h
    M libclc/clc/include/clc/math/clc_rint.h
    A libclc/clc/include/clc/math/clc_rootn.h
    M libclc/clc/include/clc/math/clc_round.h
    M libclc/clc/include/clc/math/clc_rsqrt.h
    A libclc/clc/include/clc/math/clc_sincos_helpers.h
    A libclc/clc/include/clc/math/clc_sincos_helpers.inc
    A libclc/clc/include/clc/math/clc_sincos_piby4.h
    A libclc/clc/include/clc/math/clc_sincos_piby4.inc
    A libclc/clc/include/clc/math/clc_sinpi.h
    M libclc/clc/include/clc/math/clc_sqrt.h
    M libclc/clc/include/clc/math/clc_subnormal_config.h
    A libclc/clc/include/clc/math/clc_tanpi.h
    M libclc/clc/include/clc/math/clc_trunc.h
    M libclc/clc/include/clc/math/gentype.inc
    M libclc/clc/include/clc/math/math.h
    A libclc/clc/include/clc/math/remquo_decl.inc
    M libclc/clc/include/clc/math/tables.h
    M libclc/clc/include/clc/math/unary_builtin.inc
    M libclc/clc/include/clc/math/unary_decl.inc
    M libclc/clc/include/clc/math/unary_decl_with_int_ptr.inc
    M libclc/clc/include/clc/math/unary_decl_with_ptr.inc
    M libclc/clc/include/clc/math/unary_def_with_int_ptr.inc
    M libclc/clc/include/clc/math/unary_def_with_ptr.inc
    R libclc/clc/include/clc/math/unary_intrin.inc
    M libclc/clc/include/clc/relational/binary_decl.inc
    M libclc/clc/include/clc/relational/clc_all.h
    M libclc/clc/include/clc/relational/clc_any.h
    M libclc/clc/include/clc/relational/clc_bitselect.h
    M libclc/clc/include/clc/relational/clc_bitselect.inc
    M libclc/clc/include/clc/relational/clc_isequal.h
    M libclc/clc/include/clc/relational/clc_isfinite.h
    M libclc/clc/include/clc/relational/clc_isgreater.h
    M libclc/clc/include/clc/relational/clc_isgreaterequal.h
    M libclc/clc/include/clc/relational/clc_isinf.h
    M libclc/clc/include/clc/relational/clc_isless.h
    M libclc/clc/include/clc/relational/clc_islessequal.h
    M libclc/clc/include/clc/relational/clc_islessgreater.h
    M libclc/clc/include/clc/relational/clc_isnan.h
    M libclc/clc/include/clc/relational/clc_isnormal.h
    M libclc/clc/include/clc/relational/clc_isnotequal.h
    M libclc/clc/include/clc/relational/clc_isordered.h
    M libclc/clc/include/clc/relational/clc_isunordered.h
    M libclc/clc/include/clc/relational/clc_select.h
    M libclc/clc/include/clc/relational/clc_select_decl.inc
    M libclc/clc/include/clc/relational/clc_select_impl.inc
    M libclc/clc/include/clc/relational/clc_signbit.h
    M libclc/clc/include/clc/relational/floatn.inc
    M libclc/clc/include/clc/relational/relational.h
    M libclc/clc/include/clc/relational/unary_decl.inc
    M libclc/clc/include/clc/shared/binary_decl.inc
    M libclc/clc/include/clc/shared/binary_def.inc
    M libclc/clc/include/clc/shared/clc_clamp.h
    M libclc/clc/include/clc/shared/clc_clamp.inc
    M libclc/clc/include/clc/shared/clc_max.h
    M libclc/clc/include/clc/shared/clc_max.inc
    M libclc/clc/include/clc/shared/clc_min.h
    M libclc/clc/include/clc/shared/clc_min.inc
    M libclc/clc/include/clc/shared/ternary_decl.inc
    M libclc/clc/include/clc/shared/ternary_def.inc
    M libclc/clc/include/clc/shared/unary_decl.inc
    M libclc/clc/include/clc/shared/unary_def.inc
    M libclc/clc/include/clc/utils.h
    M libclc/clc/lib/amdgcn/math/clc_ldexp_override.cl
    M libclc/clc/lib/amdgpu/SOURCES
    A libclc/clc/lib/amdgpu/math/clc_native_exp.cl
    A libclc/clc/lib/amdgpu/math/clc_native_exp.inc
    A libclc/clc/lib/amdgpu/math/clc_native_exp2.cl
    A libclc/clc/lib/amdgpu/math/clc_native_log10.cl
    A libclc/clc/lib/amdgpu/math/clc_native_log10.inc
    M libclc/clc/lib/amdgpu/math/clc_sqrt_fp64.cl
    M libclc/clc/lib/clspv/math/clc_sw_fma.cl
    M libclc/clc/lib/generic/SOURCES
    M libclc/clc/lib/generic/common/clc_degrees.cl
    M libclc/clc/lib/generic/common/clc_radians.cl
    M libclc/clc/lib/generic/common/clc_sign.cl
    M libclc/clc/lib/generic/common/clc_sign.inc
    M libclc/clc/lib/generic/common/clc_smoothstep.cl
    M libclc/clc/lib/generic/geometric/clc_dot.cl
    M libclc/clc/lib/generic/integer/clc_abs.cl
    M libclc/clc/lib/generic/integer/clc_abs.inc
    M libclc/clc/lib/generic/integer/clc_abs_diff.cl
    M libclc/clc/lib/generic/integer/clc_abs_diff.inc
    M libclc/clc/lib/generic/integer/clc_add_sat.cl
    M libclc/clc/lib/generic/integer/clc_clz.cl
    M libclc/clc/lib/generic/integer/clc_hadd.cl
    M libclc/clc/lib/generic/integer/clc_hadd.inc
    M libclc/clc/lib/generic/integer/clc_mad24.cl
    M libclc/clc/lib/generic/integer/clc_mad24.inc
    M libclc/clc/lib/generic/integer/clc_mad_sat.cl
    M libclc/clc/lib/generic/integer/clc_mul24.cl
    M libclc/clc/lib/generic/integer/clc_mul24.inc
    M libclc/clc/lib/generic/integer/clc_mul_hi.cl
    M libclc/clc/lib/generic/integer/clc_popcount.cl
    M libclc/clc/lib/generic/integer/clc_rhadd.cl
    M libclc/clc/lib/generic/integer/clc_rhadd.inc
    M libclc/clc/lib/generic/integer/clc_rotate.cl
    M libclc/clc/lib/generic/integer/clc_rotate.inc
    M libclc/clc/lib/generic/integer/clc_sub_sat.cl
    M libclc/clc/lib/generic/integer/clc_upsample.cl
    A libclc/clc/lib/generic/math/clc_acos.cl
    A libclc/clc/lib/generic/math/clc_acos.inc
    A libclc/clc/lib/generic/math/clc_acosh.cl
    A libclc/clc/lib/generic/math/clc_acosh.inc
    A libclc/clc/lib/generic/math/clc_acospi.cl
    A libclc/clc/lib/generic/math/clc_acospi.inc
    A libclc/clc/lib/generic/math/clc_asin.cl
    A libclc/clc/lib/generic/math/clc_asin.inc
    A libclc/clc/lib/generic/math/clc_asinh.cl
    A libclc/clc/lib/generic/math/clc_asinh.inc
    A libclc/clc/lib/generic/math/clc_asinpi.cl
    A libclc/clc/lib/generic/math/clc_asinpi.inc
    A libclc/clc/lib/generic/math/clc_atan.cl
    A libclc/clc/lib/generic/math/clc_atan.inc
    A libclc/clc/lib/generic/math/clc_atan2.cl
    A libclc/clc/lib/generic/math/clc_atan2.inc
    A libclc/clc/lib/generic/math/clc_atan2pi.cl
    A libclc/clc/lib/generic/math/clc_atan2pi.inc
    A libclc/clc/lib/generic/math/clc_atanh.cl
    A libclc/clc/lib/generic/math/clc_atanh.inc
    A libclc/clc/lib/generic/math/clc_atanpi.cl
    A libclc/clc/lib/generic/math/clc_atanpi.inc
    M libclc/clc/lib/generic/math/clc_ceil.cl
    M libclc/clc/lib/generic/math/clc_copysign.cl
    A libclc/clc/lib/generic/math/clc_cospi.cl
    A libclc/clc/lib/generic/math/clc_cospi.inc
    A libclc/clc/lib/generic/math/clc_ep_log.cl
    A libclc/clc/lib/generic/math/clc_ep_log.inc
    A libclc/clc/lib/generic/math/clc_exp.cl
    A libclc/clc/lib/generic/math/clc_exp.inc
    A libclc/clc/lib/generic/math/clc_exp10.cl
    A libclc/clc/lib/generic/math/clc_exp10.inc
    A libclc/clc/lib/generic/math/clc_exp2.cl
    A libclc/clc/lib/generic/math/clc_exp2.inc
    A libclc/clc/lib/generic/math/clc_exp_helper.cl
    A libclc/clc/lib/generic/math/clc_exp_helper.inc
    A libclc/clc/lib/generic/math/clc_expm1.cl
    A libclc/clc/lib/generic/math/clc_expm1.inc
    M libclc/clc/lib/generic/math/clc_fabs.cl
    M libclc/clc/lib/generic/math/clc_floor.cl
    M libclc/clc/lib/generic/math/clc_fma.cl
    M libclc/clc/lib/generic/math/clc_fma.inc
    A libclc/clc/lib/generic/math/clc_fmod.cl
    M libclc/clc/lib/generic/math/clc_frexp.cl
    M libclc/clc/lib/generic/math/clc_frexp.inc
    M libclc/clc/lib/generic/math/clc_hypot.cl
    M libclc/clc/lib/generic/math/clc_hypot.inc
    M libclc/clc/lib/generic/math/clc_ldexp.cl
    M libclc/clc/lib/generic/math/clc_log.cl
    M libclc/clc/lib/generic/math/clc_log10.cl
    A libclc/clc/lib/generic/math/clc_log1p.cl
    A libclc/clc/lib/generic/math/clc_log1p.inc
    M libclc/clc/lib/generic/math/clc_log2.cl
    M libclc/clc/lib/generic/math/clc_log_base.h
    M libclc/clc/lib/generic/math/clc_mad.cl
    M libclc/clc/lib/generic/math/clc_mad.inc
    M libclc/clc/lib/generic/math/clc_modf.cl
    M libclc/clc/lib/generic/math/clc_modf.inc
    M libclc/clc/lib/generic/math/clc_nan.cl
    M libclc/clc/lib/generic/math/clc_nan.inc
    A libclc/clc/lib/generic/math/clc_native_cos.cl
    A libclc/clc/lib/generic/math/clc_native_divide.cl
    A libclc/clc/lib/generic/math/clc_native_divide.inc
    A libclc/clc/lib/generic/math/clc_native_exp.cl
    A libclc/clc/lib/generic/math/clc_native_exp2.cl
    A libclc/clc/lib/generic/math/clc_native_log.cl
    A libclc/clc/lib/generic/math/clc_native_log10.cl
    A libclc/clc/lib/generic/math/clc_native_log2.cl
    A libclc/clc/lib/generic/math/clc_native_recip.cl
    A libclc/clc/lib/generic/math/clc_native_recip.inc
    A libclc/clc/lib/generic/math/clc_native_rsqrt.cl
    A libclc/clc/lib/generic/math/clc_native_rsqrt.inc
    A libclc/clc/lib/generic/math/clc_native_sin.cl
    A libclc/clc/lib/generic/math/clc_native_sqrt.cl
    M libclc/clc/lib/generic/math/clc_nextafter.cl
    A libclc/clc/lib/generic/math/clc_pow.cl
    A libclc/clc/lib/generic/math/clc_pow.inc
    A libclc/clc/lib/generic/math/clc_pown.cl
    A libclc/clc/lib/generic/math/clc_pown.inc
    A libclc/clc/lib/generic/math/clc_powr.cl
    A libclc/clc/lib/generic/math/clc_powr.inc
    A libclc/clc/lib/generic/math/clc_remainder.cl
    A libclc/clc/lib/generic/math/clc_remquo.cl
    M libclc/clc/lib/generic/math/clc_rint.cl
    A libclc/clc/lib/generic/math/clc_rootn.cl
    A libclc/clc/lib/generic/math/clc_rootn.inc
    M libclc/clc/lib/generic/math/clc_round.cl
    M libclc/clc/lib/generic/math/clc_rsqrt.cl
    M libclc/clc/lib/generic/math/clc_rsqrt.inc
    A libclc/clc/lib/generic/math/clc_sincos_helpers.cl
    A libclc/clc/lib/generic/math/clc_sincos_helpers.inc
    A libclc/clc/lib/generic/math/clc_sinpi.cl
    A libclc/clc/lib/generic/math/clc_sinpi.inc
    M libclc/clc/lib/generic/math/clc_sqrt.cl
    M libclc/clc/lib/generic/math/clc_sqrt.inc
    M libclc/clc/lib/generic/math/clc_sw_fma.cl
    A libclc/clc/lib/generic/math/clc_tables.cl
    A libclc/clc/lib/generic/math/clc_tanpi.cl
    A libclc/clc/lib/generic/math/clc_tanpi.inc
    M libclc/clc/lib/generic/math/clc_trunc.cl
    M libclc/clc/lib/generic/relational/clc_all.cl
    M libclc/clc/lib/generic/relational/clc_any.cl
    M libclc/clc/lib/generic/relational/clc_bitselect.cl
    M libclc/clc/lib/generic/relational/clc_bitselect.inc
    M libclc/clc/lib/generic/relational/clc_isequal.cl
    M libclc/clc/lib/generic/relational/clc_isfinite.cl
    M libclc/clc/lib/generic/relational/clc_isgreater.cl
    M libclc/clc/lib/generic/relational/clc_isgreaterequal.cl
    M libclc/clc/lib/generic/relational/clc_isinf.cl
    M libclc/clc/lib/generic/relational/clc_isless.cl
    M libclc/clc/lib/generic/relational/clc_islessequal.cl
    M libclc/clc/lib/generic/relational/clc_islessgreater.cl
    M libclc/clc/lib/generic/relational/clc_isnan.cl
    M libclc/clc/lib/generic/relational/clc_isnormal.cl
    M libclc/clc/lib/generic/relational/clc_isnotequal.cl
    M libclc/clc/lib/generic/relational/clc_isordered.cl
    M libclc/clc/lib/generic/relational/clc_isunordered.cl
    M libclc/clc/lib/generic/relational/clc_select.cl
    M libclc/clc/lib/generic/relational/clc_signbit.cl
    M libclc/clc/lib/generic/shared/clc_clamp.cl
    M libclc/clc/lib/generic/shared/clc_clamp.inc
    M libclc/clc/lib/generic/shared/clc_max.cl
    M libclc/clc/lib/generic/shared/clc_max.inc
    M libclc/clc/lib/generic/shared/clc_min.cl
    M libclc/clc/lib/generic/shared/clc_min.inc
    M libclc/clc/lib/r600/SOURCES
    A libclc/clc/lib/r600/math/clc_native_rsqrt.cl
    M libclc/clc/lib/r600/math/clc_rsqrt_override.cl
    M libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
    M libclc/clspv/lib/SOURCES
    M libclc/clspv/lib/math/fma.cl
    M libclc/clspv/lib/shared/vstore_half.cl
    M libclc/clspv/lib/shared/vstore_half.inc
    M libclc/clspv/lib/subnormal_config.cl
    M libclc/cmake/modules/AddLibclc.cmake
    M libclc/generic/include/clc/as_type.h
    M libclc/generic/include/clc/async/async_work_group_copy.h
    M libclc/generic/include/clc/async/async_work_group_copy.inc
    M libclc/generic/include/clc/async/async_work_group_strided_copy.h
    M libclc/generic/include/clc/async/async_work_group_strided_copy.inc
    M libclc/generic/include/clc/async/gentype.inc
    M libclc/generic/include/clc/async/prefetch.h
    M libclc/generic/include/clc/async/prefetch.inc
    M libclc/generic/include/clc/async/wait_group_events.h
    M libclc/generic/include/clc/atom_decl_int32.inc
    M libclc/generic/include/clc/atom_decl_int64.inc
    M libclc/generic/include/clc/atomic/atomic_add.h
    M libclc/generic/include/clc/atomic/atomic_and.h
    M libclc/generic/include/clc/atomic/atomic_cmpxchg.h
    M libclc/generic/include/clc/atomic/atomic_dec.h
    M libclc/generic/include/clc/atomic/atomic_decl.inc
    M libclc/generic/include/clc/atomic/atomic_inc.h
    M libclc/generic/include/clc/atomic/atomic_max.h
    M libclc/generic/include/clc/atomic/atomic_min.h
    M libclc/generic/include/clc/atomic/atomic_or.h
    M libclc/generic/include/clc/atomic/atomic_sub.h
    M libclc/generic/include/clc/atomic/atomic_xchg.h
    M libclc/generic/include/clc/atomic/atomic_xor.h
    M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
    M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
    M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
    M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
    M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
    M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
    M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
    M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
    M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
    M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
    M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
    M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
    M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
    M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
    M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
    M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
    M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
    M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
    M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
    M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
    M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
    M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
    M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
    M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
    M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
    M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
    M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
    M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
    M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
    M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
    M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
    M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
    M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
    M libclc/generic/include/clc/clc.h
    M libclc/generic/include/clc/clcmacros.h
    M libclc/generic/include/clc/common/degrees.h
    M libclc/generic/include/clc/common/degrees.inc
    M libclc/generic/include/clc/common/mix.h
    M libclc/generic/include/clc/common/mix.inc
    M libclc/generic/include/clc/common/radians.h
    M libclc/generic/include/clc/common/radians.inc
    M libclc/generic/include/clc/common/sign.h
    M libclc/generic/include/clc/common/smoothstep.h
    M libclc/generic/include/clc/common/smoothstep.inc
    M libclc/generic/include/clc/common/step.h
    M libclc/generic/include/clc/common/step.inc
    M libclc/generic/include/clc/convert.h
    M libclc/generic/include/clc/explicit_fence/explicit_memory_fence.h
    M libclc/generic/include/clc/geometric/cross.h
    M libclc/generic/include/clc/geometric/distance.h
    M libclc/generic/include/clc/geometric/distance.inc
    M libclc/generic/include/clc/geometric/dot.h
    M libclc/generic/include/clc/geometric/dot.inc
    M libclc/generic/include/clc/geometric/fast_distance.h
    M libclc/generic/include/clc/geometric/fast_distance.inc
    M libclc/generic/include/clc/geometric/fast_length.h
    M libclc/generic/include/clc/geometric/fast_length.inc
    M libclc/generic/include/clc/geometric/fast_normalize.h
    M libclc/generic/include/clc/geometric/fast_normalize.inc
    M libclc/generic/include/clc/geometric/length.h
    M libclc/generic/include/clc/geometric/length.inc
    M libclc/generic/include/clc/geometric/normalize.h
    M libclc/generic/include/clc/geometric/normalize.inc
    M libclc/generic/include/clc/image/image.h
    M libclc/generic/include/clc/image/image_defines.h
    M libclc/generic/include/clc/integer/abs.h
    M libclc/generic/include/clc/integer/abs.inc
    M libclc/generic/include/clc/integer/abs_diff.h
    M libclc/generic/include/clc/integer/abs_diff.inc
    M libclc/generic/include/clc/integer/add_sat.h
    M libclc/generic/include/clc/integer/add_sat.inc
    M libclc/generic/include/clc/integer/clz.h
    M libclc/generic/include/clc/integer/hadd.h
    M libclc/generic/include/clc/integer/integer-gentype.inc
    M libclc/generic/include/clc/integer/mad24.h
    M libclc/generic/include/clc/integer/mad_hi.h
    M libclc/generic/include/clc/integer/mad_sat.h
    M libclc/generic/include/clc/integer/mad_sat.inc
    M libclc/generic/include/clc/integer/mul24.h
    M libclc/generic/include/clc/integer/mul_hi.h
    M libclc/generic/include/clc/integer/popcount.h
    M libclc/generic/include/clc/integer/rhadd.h
    M libclc/generic/include/clc/integer/rotate.h
    M libclc/generic/include/clc/integer/rotate.inc
    M libclc/generic/include/clc/integer/sub_sat.h
    M libclc/generic/include/clc/integer/sub_sat.inc
    M libclc/generic/include/clc/integer/unary.inc
    M libclc/generic/include/clc/integer/upsample.h
    M libclc/generic/include/clc/math/acos.h
    M libclc/generic/include/clc/math/acosh.h
    M libclc/generic/include/clc/math/acospi.h
    M libclc/generic/include/clc/math/asin.h
    M libclc/generic/include/clc/math/asinh.h
    M libclc/generic/include/clc/math/asinpi.h
    M libclc/generic/include/clc/math/atan.h
    M libclc/generic/include/clc/math/atan2.h
    M libclc/generic/include/clc/math/atan2pi.h
    M libclc/generic/include/clc/math/atanh.h
    M libclc/generic/include/clc/math/atanpi.h
    M libclc/generic/include/clc/math/binary_decl_tt.inc
    M libclc/generic/include/clc/math/cbrt.h
    M libclc/generic/include/clc/math/ceil.h
    M libclc/generic/include/clc/math/copysign.h
    M libclc/generic/include/clc/math/cos.h
    M libclc/generic/include/clc/math/cosh.h
    M libclc/generic/include/clc/math/cospi.h
    M libclc/generic/include/clc/math/erf.h
    M libclc/generic/include/clc/math/erfc.h
    M libclc/generic/include/clc/math/exp.h
    M libclc/generic/include/clc/math/exp10.h
    M libclc/generic/include/clc/math/exp2.h
    M libclc/generic/include/clc/math/expm1.h
    M libclc/generic/include/clc/math/fabs.h
    M libclc/generic/include/clc/math/fdim.h
    M libclc/generic/include/clc/math/floor.h
    M libclc/generic/include/clc/math/fma.h
    M libclc/generic/include/clc/math/fmax.h
    M libclc/generic/include/clc/math/fmin.h
    M libclc/generic/include/clc/math/fmod.h
    M libclc/generic/include/clc/math/fract.h
    M libclc/generic/include/clc/math/fract.inc
    M libclc/generic/include/clc/math/frexp.h
    M libclc/generic/include/clc/math/frexp.inc
    M libclc/generic/include/clc/math/half_cos.h
    M libclc/generic/include/clc/math/half_divide.h
    M libclc/generic/include/clc/math/half_exp.h
    M libclc/generic/include/clc/math/half_exp10.h
    M libclc/generic/include/clc/math/half_exp2.h
    M libclc/generic/include/clc/math/half_log.h
    M libclc/generic/include/clc/math/half_log10.h
    M libclc/generic/include/clc/math/half_log2.h
    M libclc/generic/include/clc/math/half_powr.h
    M libclc/generic/include/clc/math/half_recip.h
    M libclc/generic/include/clc/math/half_rsqrt.h
    M libclc/generic/include/clc/math/half_sin.h
    M libclc/generic/include/clc/math/half_sqrt.h
    M libclc/generic/include/clc/math/half_tan.h
    M libclc/generic/include/clc/math/hypot.h
    M libclc/generic/include/clc/math/ilogb.h
    M libclc/generic/include/clc/math/ilogb.inc
    M libclc/generic/include/clc/math/ldexp.h
    M libclc/generic/include/clc/math/ldexp.inc
    M libclc/generic/include/clc/math/lgamma.h
    M libclc/generic/include/clc/math/lgamma_r.h
    M libclc/generic/include/clc/math/lgamma_r.inc
    M libclc/generic/include/clc/math/log.h
    M libclc/generic/include/clc/math/log10.h
    M libclc/generic/include/clc/math/log1p.h
    M libclc/generic/include/clc/math/log2.h
    M libclc/generic/include/clc/math/logb.h
    M libclc/generic/include/clc/math/mad.h
    M libclc/generic/include/clc/math/maxmag.h
    M libclc/generic/include/clc/math/minmag.h
    M libclc/generic/include/clc/math/modf.h
    M libclc/generic/include/clc/math/nan.h
    M libclc/generic/include/clc/math/nan.inc
    M libclc/generic/include/clc/math/native_cos.h
    M libclc/generic/include/clc/math/native_divide.h
    M libclc/generic/include/clc/math/native_exp.h
    M libclc/generic/include/clc/math/native_exp10.h
    M libclc/generic/include/clc/math/native_exp2.h
    M libclc/generic/include/clc/math/native_log.h
    M libclc/generic/include/clc/math/native_log10.h
    M libclc/generic/include/clc/math/native_log2.h
    M libclc/generic/include/clc/math/native_powr.h
    M libclc/generic/include/clc/math/native_recip.h
    M libclc/generic/include/clc/math/native_rsqrt.h
    M libclc/generic/include/clc/math/native_sin.h
    M libclc/generic/include/clc/math/native_sqrt.h
    M libclc/generic/include/clc/math/native_tan.h
    M libclc/generic/include/clc/math/nextafter.h
    M libclc/generic/include/clc/math/pow.h
    M libclc/generic/include/clc/math/pown.h
    R libclc/generic/include/clc/math/pown.inc
    M libclc/generic/include/clc/math/powr.h
    M libclc/generic/include/clc/math/remainder.h
    M libclc/generic/include/clc/math/remquo.h
    R libclc/generic/include/clc/math/remquo.inc
    M libclc/generic/include/clc/math/rint.h
    M libclc/generic/include/clc/math/rootn.h
    R libclc/generic/include/clc/math/rootn.inc
    M libclc/generic/include/clc/math/round.h
    M libclc/generic/include/clc/math/rsqrt.h
    M libclc/generic/include/clc/math/sin.h
    M libclc/generic/include/clc/math/sincos.h
    M libclc/generic/include/clc/math/sincos.inc
    M libclc/generic/include/clc/math/sinh.h
    M libclc/generic/include/clc/math/sinpi.h
    M libclc/generic/include/clc/math/sqrt.h
    M libclc/generic/include/clc/math/tan.h
    M libclc/generic/include/clc/math/tanh.h
    M libclc/generic/include/clc/math/tanpi.h
    M libclc/generic/include/clc/math/tgamma.h
    M libclc/generic/include/clc/math/trunc.h
    M libclc/generic/include/clc/misc/shuffle.h
    M libclc/generic/include/clc/misc/shuffle2.h
    M libclc/generic/include/clc/relational/all.h
    M libclc/generic/include/clc/relational/any.h
    M libclc/generic/include/clc/relational/bitselect.h
    M libclc/generic/include/clc/relational/bitselect.inc
    M libclc/generic/include/clc/relational/isequal.h
    M libclc/generic/include/clc/relational/isfinite.h
    M libclc/generic/include/clc/relational/isgreater.h
    M libclc/generic/include/clc/relational/isgreaterequal.h
    M libclc/generic/include/clc/relational/isinf.h
    M libclc/generic/include/clc/relational/isless.h
    M libclc/generic/include/clc/relational/islessequal.h
    M libclc/generic/include/clc/relational/islessgreater.h
    M libclc/generic/include/clc/relational/isnan.h
    M libclc/generic/include/clc/relational/isnormal.h
    M libclc/generic/include/clc/relational/isnotequal.h
    M libclc/generic/include/clc/relational/isordered.h
    M libclc/generic/include/clc/relational/isunordered.h
    M libclc/generic/include/clc/relational/select.h
    M libclc/generic/include/clc/relational/signbit.h
    M libclc/generic/include/clc/shared/clamp.h
    M libclc/generic/include/clc/shared/clamp.inc
    M libclc/generic/include/clc/shared/max.h
    M libclc/generic/include/clc/shared/max.inc
    M libclc/generic/include/clc/shared/min.h
    M libclc/generic/include/clc/shared/min.inc
    M libclc/generic/include/clc/shared/vload.h
    M libclc/generic/include/clc/shared/vstore.h
    M libclc/generic/include/clc/synchronization/barrier.h
    M libclc/generic/include/clc/synchronization/cl_mem_fence_flags.h
    M libclc/generic/include/clc/workitem/get_global_id.h
    M libclc/generic/include/clc/workitem/get_global_offset.h
    M libclc/generic/include/clc/workitem/get_global_size.h
    M libclc/generic/include/clc/workitem/get_group_id.h
    M libclc/generic/include/clc/workitem/get_local_id.h
    M libclc/generic/include/clc/workitem/get_local_size.h
    M libclc/generic/include/clc/workitem/get_num_groups.h
    M libclc/generic/include/clc/workitem/get_work_dim.h
    R libclc/generic/include/math/clc_exp10.h
    R libclc/generic/include/math/clc_fmod.h
    R libclc/generic/include/math/clc_pow.h
    R libclc/generic/include/math/clc_pown.h
    R libclc/generic/include/math/clc_pown.inc
    R libclc/generic/include/math/clc_powr.h
    R libclc/generic/include/math/clc_remainder.h
    R libclc/generic/include/math/clc_remquo.h
    R libclc/generic/include/math/clc_rootn.h
    R libclc/generic/include/math/clc_rootn.inc
    M libclc/generic/include/math/clc_tan.h
    R libclc/generic/include/math/clc_tanpi.h
    M libclc/generic/lib/SOURCES
    M libclc/generic/lib/async/async_work_group_copy.cl
    M libclc/generic/lib/async/async_work_group_copy.inc
    M libclc/generic/lib/async/async_work_group_strided_copy.cl
    M libclc/generic/lib/async/async_work_group_strided_copy.inc
    M libclc/generic/lib/async/prefetch.cl
    M libclc/generic/lib/async/prefetch.inc
    M libclc/generic/lib/async/wait_group_events.cl
    M libclc/generic/lib/atom_int32_binary.inc
    M libclc/generic/lib/atomic/atomic_add.cl
    M libclc/generic/lib/atomic/atomic_and.cl
    M libclc/generic/lib/atomic/atomic_cmpxchg.cl
    M libclc/generic/lib/atomic/atomic_dec.cl
    M libclc/generic/lib/atomic/atomic_inc.cl
    M libclc/generic/lib/atomic/atomic_max.cl
    M libclc/generic/lib/atomic/atomic_min.cl
    M libclc/generic/lib/atomic/atomic_or.cl
    M libclc/generic/lib/atomic/atomic_sub.cl
    M libclc/generic/lib/atomic/atomic_xchg.cl
    M libclc/generic/lib/atomic/atomic_xor.cl
    M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
    M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
    M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
    M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
    M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
    M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
    M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
    M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
    M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
    M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
    M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
    M libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
    M libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
    M libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
    M libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
    M libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
    M libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
    M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
    M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
    M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
    M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
    M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
    M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
    M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
    M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
    M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
    M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
    M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
    M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
    M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
    M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
    M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
    M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl
    R libclc/generic/lib/clc_unary.inc
    M libclc/generic/lib/common/degrees.cl
    M libclc/generic/lib/common/mix.cl
    M libclc/generic/lib/common/mix.inc
    M libclc/generic/lib/common/radians.cl
    M libclc/generic/lib/common/sign.cl
    M libclc/generic/lib/common/smoothstep.cl
    M libclc/generic/lib/common/step.cl
    M libclc/generic/lib/gen_convert.py
    M libclc/generic/lib/geometric/cross.cl
    M libclc/generic/lib/geometric/distance.cl
    M libclc/generic/lib/geometric/distance.inc
    M libclc/generic/lib/geometric/dot.cl
    M libclc/generic/lib/geometric/fast_distance.cl
    M libclc/generic/lib/geometric/fast_distance.inc
    M libclc/generic/lib/geometric/fast_length.cl
    M libclc/generic/lib/geometric/fast_normalize.cl
    M libclc/generic/lib/geometric/fast_normalize.inc
    M libclc/generic/lib/geometric/length.cl
    M libclc/generic/lib/geometric/normalize.cl
    M libclc/generic/lib/integer/abs.cl
    M libclc/generic/lib/integer/abs.inc
    M libclc/generic/lib/integer/abs_diff.cl
    M libclc/generic/lib/integer/abs_diff.inc
    M libclc/generic/lib/integer/add_sat.cl
    M libclc/generic/lib/integer/clz.cl
    M libclc/generic/lib/integer/hadd.cl
    M libclc/generic/lib/integer/mad24.cl
    M libclc/generic/lib/integer/mad_hi.cl
    M libclc/generic/lib/integer/mad_sat.cl
    M libclc/generic/lib/integer/mul24.cl
    M libclc/generic/lib/integer/mul_hi.cl
    M libclc/generic/lib/integer/popcount.cl
    M libclc/generic/lib/integer/rhadd.cl
    M libclc/generic/lib/integer/rotate.cl
    M libclc/generic/lib/integer/sub_sat.cl
    M libclc/generic/lib/integer/upsample.cl
    M libclc/generic/lib/math/acos.cl
    M libclc/generic/lib/math/acosh.cl
    M libclc/generic/lib/math/acospi.cl
    M libclc/generic/lib/math/asin.cl
    M libclc/generic/lib/math/asinh.cl
    M libclc/generic/lib/math/asinpi.cl
    M libclc/generic/lib/math/atan.cl
    M libclc/generic/lib/math/atan2.cl
    M libclc/generic/lib/math/atan2pi.cl
    M libclc/generic/lib/math/atanh.cl
    M libclc/generic/lib/math/atanpi.cl
    R libclc/generic/lib/math/binary_impl.inc
    M libclc/generic/lib/math/cbrt.cl
    M libclc/generic/lib/math/ceil.cl
    R libclc/generic/lib/math/clc_exp10.cl
    R libclc/generic/lib/math/clc_fmod.cl
    R libclc/generic/lib/math/clc_pow.cl
    R libclc/generic/lib/math/clc_pown.cl
    R libclc/generic/lib/math/clc_powr.cl
    R libclc/generic/lib/math/clc_remainder.cl
    R libclc/generic/lib/math/clc_remquo.cl
    R libclc/generic/lib/math/clc_rootn.cl
    R libclc/generic/lib/math/clc_sw_binary.inc
    M libclc/generic/lib/math/clc_sw_unary.inc
    M libclc/generic/lib/math/clc_tan.cl
    R libclc/generic/lib/math/clc_tanpi.cl
    M libclc/generic/lib/math/copysign.cl
    M libclc/generic/lib/math/cos.cl
    A libclc/generic/lib/math/cos.inc
    M libclc/generic/lib/math/cosh.cl
    M libclc/generic/lib/math/cospi.cl
    R libclc/generic/lib/math/ep_log.cl
    R libclc/generic/lib/math/ep_log.h
    M libclc/generic/lib/math/erf.cl
    M libclc/generic/lib/math/erfc.cl
    M libclc/generic/lib/math/exp.cl
    M libclc/generic/lib/math/exp10.cl
    M libclc/generic/lib/math/exp2.cl
    R libclc/generic/lib/math/exp_helper.cl
    R libclc/generic/lib/math/exp_helper.h
    M libclc/generic/lib/math/expm1.cl
    M libclc/generic/lib/math/fabs.cl
    M libclc/generic/lib/math/fdim.cl
    M libclc/generic/lib/math/fdim.inc
    M libclc/generic/lib/math/floor.cl
    M libclc/generic/lib/math/fma.cl
    M libclc/generic/lib/math/fmax.cl
    M libclc/generic/lib/math/fmax.inc
    M libclc/generic/lib/math/fmin.cl
    M libclc/generic/lib/math/fmin.inc
    M libclc/generic/lib/math/fmod.cl
    M libclc/generic/lib/math/fract.cl
    M libclc/generic/lib/math/fract.inc
    M libclc/generic/lib/math/frexp.cl
    M libclc/generic/lib/math/half_binary.inc
    M libclc/generic/lib/math/half_cos.cl
    M libclc/generic/lib/math/half_divide.cl
    M libclc/generic/lib/math/half_exp.cl
    M libclc/generic/lib/math/half_exp10.cl
    M libclc/generic/lib/math/half_exp2.cl
    M libclc/generic/lib/math/half_log.cl
    M libclc/generic/lib/math/half_log10.cl
    M libclc/generic/lib/math/half_log2.cl
    M libclc/generic/lib/math/half_powr.cl
    M libclc/generic/lib/math/half_recip.cl
    M libclc/generic/lib/math/half_rsqrt.cl
    M libclc/generic/lib/math/half_sin.cl
    M libclc/generic/lib/math/half_sqrt.cl
    M libclc/generic/lib/math/half_tan.cl
    M libclc/generic/lib/math/half_unary.inc
    M libclc/generic/lib/math/hypot.cl
    M libclc/generic/lib/math/ilogb.cl
    M libclc/generic/lib/math/ldexp.cl
    M libclc/generic/lib/math/ldexp.inc
    M libclc/generic/lib/math/lgamma.cl
    M libclc/generic/lib/math/lgamma_r.cl
    M libclc/generic/lib/math/lgamma_r.inc
    M libclc/generic/lib/math/log.cl
    M libclc/generic/lib/math/log10.cl
    M libclc/generic/lib/math/log1p.cl
    M libclc/generic/lib/math/log2.cl
    M libclc/generic/lib/math/logb.cl
    M libclc/generic/lib/math/mad.cl
    M libclc/generic/lib/math/maxmag.cl
    M libclc/generic/lib/math/maxmag.inc
    M libclc/generic/lib/math/minmag.cl
    M libclc/generic/lib/math/minmag.inc
    M libclc/generic/lib/math/modf.cl
    M libclc/generic/lib/math/nan.cl
    M libclc/generic/lib/math/nan.inc
    M libclc/generic/lib/math/native_cos.cl
    M libclc/generic/lib/math/native_divide.cl
    R libclc/generic/lib/math/native_divide.inc
    M libclc/generic/lib/math/native_exp.cl
    M libclc/generic/lib/math/native_exp10.cl
    M libclc/generic/lib/math/native_exp10.inc
    M libclc/generic/lib/math/native_exp2.cl
    M libclc/generic/lib/math/native_log.cl
    M libclc/generic/lib/math/native_log10.cl
    M libclc/generic/lib/math/native_log2.cl
    M libclc/generic/lib/math/native_powr.cl
    M libclc/generic/lib/math/native_powr.inc
    M libclc/generic/lib/math/native_recip.cl
    R libclc/generic/lib/math/native_recip.inc
    M libclc/generic/lib/math/native_rsqrt.cl
    R libclc/generic/lib/math/native_rsqrt.inc
    M libclc/generic/lib/math/native_sin.cl
    M libclc/generic/lib/math/native_sqrt.cl
    M libclc/generic/lib/math/native_tan.cl
    M libclc/generic/lib/math/native_tan.inc
    R libclc/generic/lib/math/native_unary_intrinsic.inc
    M libclc/generic/lib/math/nextafter.cl
    M libclc/generic/lib/math/pow.cl
    M libclc/generic/lib/math/pown.cl
    R libclc/generic/lib/math/pown.inc
    M libclc/generic/lib/math/powr.cl
    M libclc/generic/lib/math/remainder.cl
    M libclc/generic/lib/math/remquo.cl
    M libclc/generic/lib/math/remquo.inc
    M libclc/generic/lib/math/rint.cl
    M libclc/generic/lib/math/rootn.cl
    R libclc/generic/lib/math/rootn.inc
    M libclc/generic/lib/math/round.cl
    M libclc/generic/lib/math/rsqrt.cl
    M libclc/generic/lib/math/sin.cl
    A libclc/generic/lib/math/sin.inc
    M libclc/generic/lib/math/sincos.cl
    M libclc/generic/lib/math/sincos.inc
    R libclc/generic/lib/math/sincosD_piby4.h
    M libclc/generic/lib/math/sincos_helpers.cl
    M libclc/generic/lib/math/sincos_helpers.h
    R libclc/generic/lib/math/sincospiF_piby4.h
    M libclc/generic/lib/math/sinh.cl
    M libclc/generic/lib/math/sinpi.cl
    M libclc/generic/lib/math/sqrt.cl
    M libclc/generic/lib/math/tables.cl
    M libclc/generic/lib/math/tan.cl
    M libclc/generic/lib/math/tanh.cl
    M libclc/generic/lib/math/tanpi.cl
    M libclc/generic/lib/math/tgamma.cl
    M libclc/generic/lib/math/trunc.cl
    M libclc/generic/lib/misc/shuffle.cl
    M libclc/generic/lib/misc/shuffle2.cl
    M libclc/generic/lib/relational/all.cl
    M libclc/generic/lib/relational/any.cl
    M libclc/generic/lib/relational/binary_def.inc
    M libclc/generic/lib/relational/bitselect.cl
    M libclc/generic/lib/relational/bitselect.inc
    M libclc/generic/lib/relational/isequal.cl
    M libclc/generic/lib/relational/isfinite.cl
    M libclc/generic/lib/relational/isgreater.cl
    M libclc/generic/lib/relational/isgreaterequal.cl
    M libclc/generic/lib/relational/isinf.cl
    M libclc/generic/lib/relational/isless.cl
    M libclc/generic/lib/relational/islessequal.cl
    M libclc/generic/lib/relational/islessgreater.cl
    M libclc/generic/lib/relational/isnan.cl
    M libclc/generic/lib/relational/isnormal.cl
    M libclc/generic/lib/relational/isnotequal.cl
    M libclc/generic/lib/relational/isordered.cl
    M libclc/generic/lib/relational/isunordered.cl
    M libclc/generic/lib/relational/select.cl
    M libclc/generic/lib/relational/signbit.cl
    M libclc/generic/lib/relational/unary_def.inc
    M libclc/generic/lib/shared/clamp.cl
    M libclc/generic/lib/shared/clamp.inc
    M libclc/generic/lib/shared/max.cl
    M libclc/generic/lib/shared/max.inc
    M libclc/generic/lib/shared/min.cl
    M libclc/generic/lib/shared/min.inc
    M libclc/generic/lib/shared/vload.cl
    M libclc/generic/lib/shared/vload_half.inc
    M libclc/generic/lib/shared/vstore.cl
    M libclc/generic/lib/shared/vstore_half.inc
    M libclc/generic/lib/subnormal_config.cl
    M libclc/generic/lib/subnormal_disable.ll
    M libclc/generic/lib/subnormal_helper_func.ll
    M libclc/generic/lib/subnormal_use_default.ll
    M libclc/generic/lib/workitem/get_global_id.cl
    M libclc/generic/lib/workitem/get_global_size.cl
    M libclc/ptx-nvidiacl/lib/mem_fence/fence.cl
    M libclc/ptx-nvidiacl/lib/synchronization/barrier.cl
    M libclc/ptx-nvidiacl/lib/workitem/get_global_id.cl
    M libclc/ptx-nvidiacl/lib/workitem/get_group_id.cl
    M libclc/ptx-nvidiacl/lib/workitem/get_local_id.cl
    M libclc/ptx-nvidiacl/lib/workitem/get_local_size.cl
    M libclc/ptx-nvidiacl/lib/workitem/get_num_groups.cl
    M libclc/ptx/lib/shared/vload_half_helpers.ll
    M libclc/ptx/lib/shared/vstore_half_helpers.ll
    M libclc/r600/lib/SOURCES
    M libclc/r600/lib/image/get_image_attributes_impl.ll
    M libclc/r600/lib/image/get_image_channel_data_type.cl
    M libclc/r600/lib/image/get_image_channel_order.cl
    M libclc/r600/lib/image/get_image_depth.cl
    M libclc/r600/lib/image/get_image_dim.cl
    M libclc/r600/lib/image/get_image_height.cl
    M libclc/r600/lib/image/get_image_width.cl
    M libclc/r600/lib/image/read_image_impl.ll
    M libclc/r600/lib/image/read_imagef.cl
    M libclc/r600/lib/image/read_imagei.cl
    M libclc/r600/lib/image/read_imageui.cl
    M libclc/r600/lib/image/write_image_impl.ll
    M libclc/r600/lib/image/write_imagef.cl
    M libclc/r600/lib/image/write_imagei.cl
    M libclc/r600/lib/image/write_imageui.cl
    M libclc/r600/lib/math/fmax.cl
    M libclc/r600/lib/math/fmin.cl
    R libclc/r600/lib/math/native_rsqrt.cl
    M libclc/r600/lib/synchronization/barrier.cl
    M libclc/r600/lib/workitem/get_global_offset.cl
    M libclc/r600/lib/workitem/get_global_size.cl
    M libclc/r600/lib/workitem/get_group_id.cl
    M libclc/r600/lib/workitem/get_local_id.cl
    M libclc/r600/lib/workitem/get_local_size.cl
    M libclc/r600/lib/workitem/get_num_groups.cl
    M libclc/r600/lib/workitem/get_work_dim.cl
    M libclc/spirv/lib/SOURCES
    M libclc/spirv/lib/math/fma.cl
    M libclc/spirv/lib/subnormal_config.cl
    M libclc/test/add_sat.cl
    M libclc/test/as_type.cl
    M libclc/test/convert.cl
    M libclc/test/cos.cl
    M libclc/test/cross.cl
    M libclc/test/fabs.cl
    M libclc/test/get_group_id.cl
    M libclc/test/rsqrt.cl
    M libclc/test/subsat.cl
    M libclc/utils/prepare-builtins.cpp
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/AMDGPU.cmake
    A libcxx/cmake/caches/Generic-modules-cxx17-lsv.cmake
    R libcxx/cmake/caches/Generic-modules-lsv.cmake
    M libcxx/docs/CodingGuidelines.rst
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/docs/Status/Cxx17Issues.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/TestingLibcxx.rst
    M libcxx/docs/UserDocumentation.rst
    M libcxx/docs/index.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/copy_backward.h
    M libcxx/include/__algorithm/count.h
    M libcxx/include/__algorithm/equal.h
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__algorithm/min_element.h
    M libcxx/include/__algorithm/ranges_inplace_merge.h
    M libcxx/include/__algorithm/ranges_max.h
    M libcxx/include/__algorithm/ranges_max_element.h
    M libcxx/include/__algorithm/ranges_min.h
    M libcxx/include/__algorithm/ranges_min_element.h
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__bit_reference
    M libcxx/include/__chrono/convert_to_tm.h
    M libcxx/include/__compare/common_comparison_category.h
    M libcxx/include/__compare/compare_three_way_result.h
    M libcxx/include/__config
    M libcxx/include/__configuration/availability.h
    M libcxx/include/__configuration/compiler.h
    M libcxx/include/__cstddef/byte.h
    M libcxx/include/__exception/exception.h
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__exception/nested_exception.h
    M libcxx/include/__exception/operations.h
    M libcxx/include/__exception/terminate.h
    M libcxx/include/__filesystem/operations.h
    M libcxx/include/__flat_map/flat_map.h
    A libcxx/include/__flat_set/flat_set.h
    A libcxx/include/__flat_set/ra_iterator.h
    M libcxx/include/__functional/binary_function.h
    M libcxx/include/__functional/bind.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/include/__functional/unary_function.h
    M libcxx/include/__functional/weak_result_type.h
    M libcxx/include/__fwd/bit_reference.h
    M libcxx/include/__fwd/byte.h
    M libcxx/include/__fwd/functional.h
    A libcxx/include/__fwd/map.h
    A libcxx/include/__fwd/set.h
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/include/__iterator/concepts.h
    M libcxx/include/__iterator/iter_move.h
    M libcxx/include/__iterator/iterator_traits.h
    M libcxx/include/__math/traits.h
    M libcxx/include/__mdspan/extents.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/include/__new/align_val_t.h
    M libcxx/include/__new/destroying_delete_t.h
    M libcxx/include/__new/exceptions.h
    M libcxx/include/__new/new_handler.h
    M libcxx/include/__new/nothrow_t.h
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/enable_view.h
    M libcxx/include/__ranges/repeat_view.h
    M libcxx/include/__ranges/reverse_view.h
    M libcxx/include/__ranges/subrange.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/transform_view.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__system_error/error_category.h
    M libcxx/include/__tree
    M libcxx/include/__tuple/make_tuple_types.h
    M libcxx/include/__tuple/tuple_size.h
    M libcxx/include/__type_traits/add_lvalue_reference.h
    M libcxx/include/__type_traits/add_pointer.h
    M libcxx/include/__type_traits/add_rvalue_reference.h
    M libcxx/include/__type_traits/common_reference.h
    M libcxx/include/__type_traits/common_type.h
    M libcxx/include/__type_traits/decay.h
    M libcxx/include/__type_traits/desugars_to.h
    M libcxx/include/__type_traits/is_referenceable.h
    M libcxx/include/__type_traits/strip_signature.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/__vector/comparison.h
    M libcxx/include/__vector/container_traits.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/algorithm
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/bitset
    M libcxx/include/chrono
    M libcxx/include/complex
    M libcxx/include/deque
    M libcxx/include/experimental/__simd/declaration.h
    A libcxx/include/flat_set
    M libcxx/include/map
    M libcxx/include/module.modulemap
    M libcxx/include/set
    M libcxx/include/tuple
    M libcxx/include/typeinfo
    M libcxx/include/utility
    M libcxx/include/variant
    M libcxx/include/version
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    M libcxx/modules/std.compat.cppm.in
    M libcxx/modules/std.cppm.in
    M libcxx/modules/std/flat_set.inc
    M libcxx/src/functional.cpp
    M libcxx/test/benchmarks/GenerateInput.h
    R libcxx/test/benchmarks/algorithms/algorithms.partition_point.bench.cpp
    R libcxx/test/benchmarks/algorithms/count.bench.cpp
    R libcxx/test/benchmarks/algorithms/equal.bench.cpp
    R libcxx/test/benchmarks/algorithms/find.bench.cpp
    R libcxx/test/benchmarks/algorithms/for_each.bench.cpp
    R libcxx/test/benchmarks/algorithms/mismatch.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/adjacent_find.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/any_all_none_of.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/contains.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/contains_subrange.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/count.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/ends_with.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/equal.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/find.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/find_end.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/find_first_of.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/find_last.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/fold.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/is_permutation.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/mismatch.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/search.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/search_n.bench.cpp
    A libcxx/test/benchmarks/algorithms/nonmodifying/starts_with.bench.cpp
    A libcxx/test/benchmarks/algorithms/partitions/is_partitioned.bench.cpp
    A libcxx/test/benchmarks/algorithms/partitions/partition.bench.cpp
    A libcxx/test/benchmarks/algorithms/partitions/partition_copy.bench.cpp
    A libcxx/test/benchmarks/algorithms/partitions/partition_point.bench.cpp
    A libcxx/test/benchmarks/algorithms/partitions/stable_partition.bench.cpp
    R libcxx/test/benchmarks/algorithms/ranges_contains.bench.cpp
    R libcxx/test/benchmarks/algorithms/ranges_ends_with.bench.cpp
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
    A libcxx/test/libcxx/algorithms/vectorization.compile.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
    A libcxx/test/libcxx/containers/container.adaptors/flat.set/assert.sorted_unique.pass.cpp
    A libcxx/test/libcxx/containers/container.adaptors/flat.set/iterator.compile.pass.cpp
    A libcxx/test/libcxx/diagnostics/flat_map.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/flat_multimap.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/flat_set.nodiscard.verify.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    A libcxx/test/libcxx/type_traits/desugars_to.compile.pass.cpp
    A libcxx/test/libcxx/utilities/function.objects/refwrap/desugars_to.compile.pass.cpp
    A libcxx/test/libcxx/utilities/meta/is_referenceable.compile.pass.cpp
    R libcxx/test/libcxx/utilities/meta/is_referenceable.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
    M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
    M libcxx/test/std/algorithms/robust_against_adl_on_new.pass.cpp
    M libcxx/test/std/algorithms/robust_against_proxy_iterators_lifetime_bugs.pass.cpp
    M libcxx/test/std/algorithms/robust_re_difference_type.compile.pass.cpp
    R libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.verify.cpp
    R libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/empty.verify.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.capacity/empty.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.capacity/max_size.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.capacity/size.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/alloc.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/assign_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/compare.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/containers.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/copy.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/copy_alloc.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/copy_assign.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/deduct.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/deduct.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/deduct_pmr.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/default.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/dtor_noexcept.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move_alloc.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move_assign.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/pmr.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/range.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/sorted_container.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/sorted_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/sorted_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.erasure/erase_if.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.erasure/erase_if_exceptions.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/iterator.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/iterator_comparison.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/iterator_concept_conformance.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/range_concept_conformance.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/reverse_iterator.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/clear.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/emplace.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/emplace_hint.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_key.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_key_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/extract.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_cv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_iter_cv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_iter_rv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_range.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_rv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_sorted_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_sorted_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/replace.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/swap_exception.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/swap_free.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/swap_member.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.observers/comp.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/contains.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/contains_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/count.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/count_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/equal_range.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/equal_range_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/find.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/find_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/lower_bound.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/lower_bound_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/upper_bound.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/upper_bound_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
    A libcxx/test/std/containers/container.adaptors/flat.set/incomplete_type.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/op_compare.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/types.compile.pass.cpp
    M libcxx/test/std/containers/sequences/array/assert.iterators.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue_pred.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue_pred.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/assign_copy.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/assign_move.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/copy.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/copy_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/max_size.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/move.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/move_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/assert.push_back.invalidation.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/ctor.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/tested_elsewhere.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/types.pass.cpp
    M libcxx/test/std/numerics/c.math/signbit.pass.cpp
    M libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp
    M libcxx/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp
    M libcxx/test/std/ranges/range.req/range.view/view.compile.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.gps/types.compile.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.tai/types.compile.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.tai_time.pass.cpp
    M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/types.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/ranges_construct_at.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/objc_support.compile.pass.mm

  Log Message:
  -----------
  Merge branch 'main' into users/mordante/operator_hijacking_clang-tidy


Compare: https://github.com/llvm/llvm-project/compare/bc68ee10bf7f...710398f3f864

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